About
The physical address space is the total number of uniquely-addressable physical address (memory locations) at a physical level (ie in the ram) and not logical (ie virtual)
This is the total processor’s physical address space and is linear.
Articles Related
Type
There is two memory model where a memory address maps into the physical address space:
- The flat model where the physical address space and linear address space are the same
- The segmented model where the physical address space is split into segment creating a logical address space for each segment
CPU
- Intel 64 architecture supports physical address space greater than 64 GBytes;
- The actual physical address size of IA-32 processors is implementation specific. In 64-bit mode, there is architectural support for 64-bit linear address space. However, processors supporting Intel 64 architecture may implement less than 64-bits (see Section 3.3.7.1). The linear address space is mapped into the processor physical address space through the PAE paging mechanism.
Maximum Size
The maximum size of the physical memory is limited by:
- the width of the address bus
- the unit of storage of an address. ie if an address store:
- a byte (most common)
- or a word
Calculation Example:
CPU word size | Address bus size | Number of memory locations | Memory Storage by location | Addressable memory space |
---|---|---|---|---|
32 bit | 32-bit | <math>2^{32} = 4,294,967,296</math> | 1 byte | <math>4,294,967,296/1024/1024/1024 = 4</math> GB |
64-bit (8 bytes) | 64-bit | <math>2^{64}</math> | 1 byte | <math>2^{64}/1024/1024/1024=17,179,869,184</math> Gb. It is a 11-digit number in Gb |
8-bit | 20-bit (e.g. Intel 8086) | <math>2^{20} = 1,048,576</math> | 1 byte | 1 Mib |
36-bit | 18-bit | <math>2^{18} = 262,144</math> | 1 word | <math>262,144 . 36 = 1,179,648 bytes = 1152 KB = 1,... MiB</math> |
32-bit computers use some workarounds to be able to address more than 4Gb of Ram by adding:
- extra registers
- and extra bits into the addressing portion.
This, however, still does not allow for processes to be able to freely address more than 4Gb of RAM.