我正在阅读计算机体系结构书籍,我发现在 x86、32 位 CPU 中,程序计数器是 32 位。
因此,它可以寻址的字节数是 2^32 字节,即 4GB。因此,我认为大多数 32 位计算机将 RAM 数量限制为 4GB(忽略 PAE)是有道理的。
我是否正确地假设 64 位机器理论上可以寻址 2^64 字节,或 16艾字节的 公羊嗎?!
答案1
理论上:1680 万 TB。实际上:你的计算机机箱太小,无法容纳所有 RAM。
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
答案2
为了补充 Matt Ball 的回答,我目前在某家在线零售商那里能找到的最大内存条是 32GB。要达到 1TB 的容量,需要 32 个这样的内存条。每条内存条大约有半英寸长,这就意味着主板上专门有 16 英寸的空间用于存储 1TB 的商用内存。要达到 1680 万 TB 的容量,主板需要 4,242.42 英里。从洛杉矶到纽约的距离约为 2141 英里,因此主板需要横跨整个国家再返回才能容纳这么多的内存。
显然这是不切实际的。
我们不把 RAM 像大多数主板那样排成一排,而是并排摆放。我想说的是,平均一根 RAM 大约有六英寸长,所以如果我们留出半英寸的宽度,那么你可以在一个 6 英寸的正方形中放一个由 12 根 RAM 组成的正方形。我们把这个正方形称为 RAM 方块。一个 RAM 方块可以容纳 384GB 的 RAM。要达到 384GB 方块所需的 1680 万 TB 容量,需要 4480 万块方块。我们来算一下,然后对其求平方根,得出这个结论:这将适合一个 6693 x 6694 方块,或者 13,386 x 13,388 英尺的正方形,这足够接近 2.5 平方英里,足以将西雅图市中心笼罩在阴影中,好像他们还没有足够多的东西可以抱怨似的。
答案3
确实如此 - 理论上,进程可以寻址 2^64 字节内存。但正如您所指出的,有办法绕过这个限制。
答案4
你说得对。你可以寻址最多 16 EB 的 RAM。现在……操作系统是否能处理它又是另一个问题了……