64位机器理论上到底能放多少内存

本文由 极客范 - Kroderia 翻译自 Jason Fitzpatrick。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

img_52928e4236f97

大部分从32位系统升级到64位的人,主要是为了突破4GB内存的限制。到底进入64位之后,你的内存容量能达到多大呢?

今天的问答来自SuperUser——Stack Exchange的分支。这是一个社区驱动型的Q&A网站。图片由Petr Kratochvil提供。

问题

SuperUser的读者KingNestor想知道64位能跑多少内存:在关于计算机架构的书中,我发现x86,32位CPU的程序计数器(指令地址寄存器)是32位的。

因此,它可以寻址2^32字节,也就是4GB。也因此,大部分32位机器的内存限制是4GB(忽略PAE)。

那到底64位机器理论上可以寻址2^64字节,也就是16EB内存,对吗?

你说EB?唔,不要这么贪心,有个1,2TB就很满足了~

回答

关于这个问题的探究,那是一个有趣的,理论与实践的结果。Matt Ball马上就来了一个理论上的答案:

理论上是16, 800, 000TB(就是16EB)。实际上,要塞下那么多内存,你的电脑有点太小了。 (查阅维基百科

Conrad Dean插了一脚,他表示以今天的技术,不可能达到(64位)理论上的内存上限。

补充Matt Ball的回答。目前我从特别的在线零售店能找到的,最大容量的内存条是32GB。组成1TB就需要32条。每条内存大概是半英寸宽,那么你在主板上就要16英寸的空间来放这1TB的商用内存。要到16, 800, 000TB,那就是4, 242.42英里的主板。从洛杉矶到纽约大约是2141英里。这块主板要来回一趟才能装下那么多内存。

明显这达不到。

如果我们不像大部分主板那样,把所有内存放在一行上,而是并排放。我想说,每条内存是6英寸长,算上半英寸的宽,你需要6平方英寸来放12条内存。设这是一个”内存块“,那就是384GB内存。跑到上限需要44, 800, 000块,麻烦点算下,那就是6693×6694的矩形,或者说是13, 386×13, 388英尺。如果西雅图人没意见,那就可以把整个地方遮蔽起来。

最后,David Schwartz提出,即便是CPU架构都很难达到理论上限。

实际上不存在x86 64位处理器能达到。它们的缓存中没有足够的特征字节,地址总线也不够宽……46位(8TB)是大部分现代x86CPU的上限。

还有其它要补充的不?留下你的评论。想读其它Stack Exchange科技迷的回答?来这看完整的讨论。



原文链接: Jason Fitzpatrick 翻译: 极客范 - Kroderia

译文链接: http://www.geekfan.net/4345/

[ 转载请保留原文出处、译者和译文链接。]

6 评论

  1. 伽达默尔  /  2013 年 12 月 11 日, 下午 1:27 回复

    真有这么多数据,内存访问的代价肯定也更高了。而且,我们真有那么多数据需要放到内存里吗? 这么艰巨的任务只有交给所谓的“量子计算机”了。

    Thumb up 0 Thumb down 0

  2. 管惜月  /  2013 年 12 月 11 日, 下午 6:32 回复

    Hidden due to low comment rating. Click here to see.

    Poorly-rated. Like or Dislike: Thumb up 0 Thumb down 4

    • Kroderia  /  2014 年 1 月 22 日, 下午 4:57 回复

      Am I right in assuming that a 64bit machine could theoretically address 2^64 bytes, or 16 exabytes of ram?!
      以上是原文

      Thumb up 0 Thumb down 0

    • Kroderia  /  2014 年 1 月 22 日, 下午 5:01 回复

      不过168, 000, 000TB这个是有问题, 原文是16.8Million, 多了个0的, 我记得之前发布的时候已经改回来了的, 可能被转过来的时候复制了旧的.

      Thumb up 0 Thumb down 0

    • 红山果  /  2014 年 1 月 24 日, 上午 8:48 回复

      每个内存地址里都是8位能放一个字节,本身就是byte了,不用再去除以8了。

      Thumb up 0 Thumb down 1

  3. Cmr  /  2014 年 4 月 10 日, 上午 10:32 回复

    对微软这个坑爹内存消耗大户来说,16EB的内存是远远不够的。

    Thumb up 1 Thumb down 1

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">