The Properties of Computer Memory

Learn about the architecture of a processor and computer memory.

We'll cover the following

Accessing memory

C++ treats memory as a sequence of cells. The size of each cell is 1 byte, and each cell has an address. Accessing a byte in memory by its address is a constant-time operation, O(1)O(1), in other words, it's independent of the total number of memory cells. On a 32-bit machine, we can theoretically address 2322^{32} bytes, that is, around 4 GB, which restricts the amount of memory a process is allowed to use at once. On a 64-bit machine, we can theoretically address 2642^{64} bytes, which is so big that there is hardly any risk of running out of addresses.

The following figure shows a sequence of memory cells laid out in memory. Each cell contains 8 bits. The hexadecimal numbers are the addresses of the memory cells:

Get hands-on with 1400+ tech skills courses.