This article was reprinted with permission from Superpower.com.
Today we give everyone a popular science, that is Is the memory addressability related to the CPU's bit width?
the answer is No relationship.
This problem has been rumored by many people. It has been a long time. It is indeed necessary to talk about it.
The CPU's addressability is related to its address bus bit width. The CPU bit width we usually refer to is the data bus bit width. It has no relationship with the half width of the address bus bit width. Naturally, it has nothing to do with the addressing capability. .
In simple terms, the CPU bit width refers to the number of bits that the CPU can process within one clock cycle. For example, the 8086 CPU is 16-bit, and can process 2 bytes (16 bits) at a time. The 80386 CPU is 32 bits. Processing 4 bytes at a time, the current CPU is basically 64 bits, and it can handle 8 bytes at a time.
Our Windows operating system is also divided into 32-bit and 64-bit, mainly optimized for the CPU bit width above, such as 32-bit CPU can not use 64-bit Windows (because the CPU can only handle 32bit, and operate The system gives you instructions to deal with 64bit), but the 64-bit CPU can run 32-bit Windows, but also can run 64-bit Windows.
What is the ghost of the address bus width of the CPU?
Intel's explanation is that Physical Address Extensions (PAE) is a feature that allows 32-bit processors to access a physical address space larger than 4 gigabytes.
The above image is a screenshot of the Intel Xeon E5-2698 v3, which is specifically described as extending the physical address. The main idea is that this is to allow 32-bit processors to use more than 4 GB of memory.
This PAE is the address bus width of the CPU. On the 8086 16-bit CPU, the address bus width is 20 bits, which is just 1MB, and the PAE of the 80286 is 24 bits. In the Pentium II (32-bit CPU), the PAE becomes 36 bits. Supports 64GB of addressing.
After the appearance of 64-bit CPUs, the address bus width is generally 36 bits or 40 bits, and the physical address space they address is 64GB or 1T.
What is the relationship between the address bus and the data bus? The address bus is used for positioning, and the data bus is used for transmission. That is, when the CPU needs to read data from or write data to the memory, it uses the address bus to specify the physical address of the memory block that it needs to access, and then goes through the data bus. send data.
So, the CPU's bit width is not related to the addressability. The 16-bit CPU's address bus can be 20 bits wide. The 32-bit CPU's address bus can be 36 bits. The 64-bit CPU's address bus width can be 40-bit. So next time you must not say 32-bit CPU can only address 2^32 (4GB).
What is the relationship between the operating system's bit width and addressing capability? This is actually true. When we use a computer, we are actually dealing with logical addresses. The 32-bit operating system's logical address range is only 2^32=4GB. .
So no matter what kind of CPU you use, it only supports 4GB of memory, but This is a pan of the operating system. It does not mean that a 32-bit CPU can only address 4 GB of space. It may be easy to cause illusions here, be sure to return the CPU to innocence.