The relationship between the maximum memory and CPU supported by the computer, and the maximum memory cpu supported

Source: Internet
Author: User

The relationship between the maximum memory and CPU supported by the computer, and the maximum memory cpu supported

When using a computer, the maximum supported memory is determined by the operating system and hardware.

In terms of hardware, the number of CPU address bus determines the IP address range of the CPU in the computer. The address corresponding to the address bus is called as the physical address. Assume that the CPU has 32-bit address bus (generally, the 32-bit CPU address bus is 32-bit, and some 32-bit CPU address bus is 36-bit, for example, if it is used as the CPU of the server, the addressable physical address range is 232 = 4 GB, the 32-bit CPU and 64-bit CPU usually refer to the data width that the CPU can process at a time, that is, the bit width, not the number of Address Bus ). Since the emergence of a 64-bit CPU, 64-bit data can be processed at a time, generally, the address bus uses 36 or 40 BITs (that is, the physical address space that the CPU can address is 64 GB or 1 T ). When the CPU accesses any other part, it requires an address, just like a courier who sends a parcel. Without an address, he does not know where to deliver it. For example, to read data from a memory unit, the CPU must know the actual physical address of the memory unit to read. Similarly, reading data from memory units on the memory stick also requires the physical address of the memory unit. In other words, the CPU must know its physical address when accessing any storage unit.

The maximum memory that a user can access when using a computer is determined not only by the number of digits in the CPU address bus, but also by the operating system. In fact, when a user uses a computer, the address accessed by the process is a logical address, not a real physical address. The logical address is provided by the operating system, when executing commands, the CPU must first convert the logic address of the command to the physical address to read or write data to the corresponding storage unit (note that the logical address and physical address are one-to-one).

For a 32-bit windows operating system, the logical address encoding uses 32-bit addresses. Therefore, the logical address addressing range provided by the operating system is 4 GB, in intel x86 architecture, the Memory ing technology (Memory-Mapped I/O, MMIO) is used ), that is to say, a part of the 4 GB logical address should be divided into physical addresses mapped to bios rom, CPU registers, and I/O devices, the space in the logical address that can be mapped to the physical address of the memory stick is certainly no more than 4 GB. You can see the figure below:

  

Therefore, when we install a 32-bit windows operating system, even if we buy a 4 GB memory, the actual access to the operating system must be less than 4 GB, usually about GB. If the number of bits in the address bus is not 32, for example, 20, the CPU can address 1 MB of physical address space, in this case, even if the operating system supports 4 GB logical address space and the memory stick is 4 GB, the space that can be accessed by users will not exceed 1 MB (of course, the virtual memory technology is not considered here ), therefore, the maximum memory space that a user can access is determined by the hardware and the operating system.

For 64-bit operating systems, the logical address encoding uses 40 BITs and supports a maximum of 1 TB of logical address space. Consider a situation where the CPU is 64-bit, the address bus bit is 40 bits, the operating system is also 64 bits, and the logical address encoding uses the address bit is also 40 bits, if the memory size is 64 GB, can all 64 GB memory be used? The answer is not necessarily because the memory controller is located in the North Bridge (usually in the CPU ), the actual connection address line of the Memory Controller determines the memory capacity that can be supported. That is to say, if the actual connection address line between the memory controller and the memory slot is not 40 bits, it is impossible to fully utilize the storage space of 64 GB memory. Of course, you can hardly consider the memory controller issue, because most memory controllers currently use at least 40-bit address bus.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.