关于RAM,架构的指针大小

时间:2013-03-11 17:12:21

标签: pointers architecture size ram

有很多问题决定了指针的大小。 基本上可以说这是处理器架构,

  

x86 - > 4字节指针

     

x64 - > 8字节指针

我也看到有人说这是系统总线负责,但其他人否认。假设架构告诉我指针的大小是什么。

要处理4GB的RAM,需要4,294,967,296个映射,大小为4字节的指针可以处理4,294,967,296个内存位置。

要处理8GB的RAM,需要8,589,934,592个映射,大小为4个字节的指针不能解决所有可能的值。 所以这就是为什么我在x86架构上不能有超过4GB的RAM?

1 个答案:

答案 0 :(得分:2)

RAM的数量不受架构限制(32位或64位)。架构只决定操作系统及其上运行的程序可以一次解决多少内存。在32位计算机上,即具有32位宽内存总线的计算机上,操作系统和程序只能“看到”4 GB的内存。但这并不意味着只有4 GB的RAM。如果制造商已提供,则可以使用16 GB或4x4 GB的RAM。在这种情况下,将有2个“隐藏”地址线,并且还有硬编码逻辑来决定这2行的电平,从而选择任何可用的4 GB RAM - 00 01 10 11。这些“隐藏”地址位不被软件层使用,因此对于这些层,它们只能使用4字节指针。这些“隐藏”地址行的数量决定了你可以扩展RAM的程度。

这只是一个例子。这取决于供应商,他们如何决定提供额外的RAM。