现实世界中的应用程序是否需要128位平面地址空间?


32

这有点“一个兆字节对于任何人都足够”,但是...

64位平面地址空间所提供的空间比32位地址空间多出多达43亿十亿倍。那是17,179,869,184 GiB。

显然,从8位到16位的转换非常快(我以80年代少年时期的方式查看事物,而忽略了所有那些大型机和小型机,因为它们无法运行Elite端口)。从16位到32位的转换花费了更长的时间,而32位实际上持续了一段时间。

现在我们有64位,是否愚蠢地说“ 17,179,869,184 GiB对任何人都足够”?

这是一个程序员的问题,因为我确实牢记编程观点。即使某天的计算机上看似无限的工作内存,也并不意味着应用程序将需要看似无限的平面地址空间。

基本上,我们程序员可以松一口气说:“好吧,不管整数或浮点数可以做什么,至少我不必担心指针会增长吗?”。


11
大型强子对撞机每天产生多少数据?
彼得·泰勒

7
8位处理器实际上具有16位地址空间-因此“快速过渡” :-)
Neil Butterworth

1
为了提供一些背景信息,一个128位的地址空间提供的地址数量与可观测的宇宙中存在的恒星或我们银河系中一半的原子(在几个数量级内)一样多。
Rein Henrichs

5
@Rein:换句话说,还不够。我们如何才能模拟一个宇宙,而这个记忆地址不足以仅容纳我们自己的银河系中一半原子。amiright
quentin-

7
我认为这很容易回答。星际迷航Holodeck。说够了。
Dunk

Answers:


27

我认为在可预见的将来我们不会拥有超过2 ^ 64字节RAM的机器,但这并不是所有地址空间都有用的。

出于某些目的,将其他内容映射到地址空间很有用,文件是一个重要的示例。因此,在可预见的将来,将超过2 ^ 64字节的任何类型的存储连接到计算机是否合理?

我不得不说是。那里必须有超过2 ^ 64字节的存储空间,因为只有1700万人拥有TB的硬盘。几年前,我们已经拥有多个PB数据库,而2 ^ 64仅约17,000 PB。

我认为在未来的几十年中,我们可能会使用大于2 ^ 64的地址空间。


4
这使我想到了平面寻址以寻址互联网上可用的任何存储字节。我想我听说了一些有关操作系统的信息,这些操作系统提供了系统上所有存储的统一寻址方式(无需将文件映射到内存中-它们已经存在)。将IP地址作为内存地址的一部分肯定需要超过64位-IPv6仅需要128位即可。地址空间中将有大量的冗余,但这仍然有意义。
Steve314 2011年

2
是。如果将所有驱动器和文件映射到地址空间,将简化工作。如果您仅具有指向整个文件的指针,则与处理磁盘上的文件有关的大量代码会更简单。对于这种情况,segment:offset体系结构将是理想的选择。
罗伦·佩希特尔

假设所有大容量存储设备的每个字节都可以直接寻址。
vartec

2
@ steve314:您正在考虑由IBM S / 38率先提出的单层商店概念。有趣的东西,但是我认为很难将其与当今的系统集成。
TMN

1
@TMN:好吧,IBM i(又名i5 / OS,又名OS / 400)仍在使用它,并且可以说仍然是“当今的系统”之一。
约阿希姆·绍尔

16

除非计算机开始使用甚至在实验室中尚不存在的突破性技术,否则使用当前的硅技术在物理上不可能拥有超过2 64个可寻址空间。该技术已达到物理极限。速度(GHz)极限已经在几年前达到了。小型化极限也非常接近。目前生产中最先进的技术是20nm,在实验室中是4nm,由7个原子构成的晶体管。

只是从一个角度看,新技术的开发需要花费多长时间:当前的计算机基于1925年发明的晶体管,而当前的硅技术可以追溯到1954年。


至于替代技术:

  • 光学计算 -可以提高计算速度,但不能解决存储的小型化问题;
  • 量子计算 -要完全使用它,将需要全新的编程范例,因此,如果指针是64位或128位,那么您的担心就很少了。小型化也受到相同的物理限制。
  • DNA计算 -这些是概念验证玩具,旨在解决一类特殊问题。在现实生活中使用是不可行的。要获得在普通PC上在一秒钟内即可完成的计算,则需要使用大小相当于太平洋和数千年的DNA储罐。由于它是自然的生物过程,因此没有办法使其小型化或加速。

4
因此,基本上,您是说不会再有技术突破了?我们将永远停留在硅技术上。诸如量子计算或DNA计算机之类的全新事物将永远留在研究中。你真相信那事儿?
nikie 2011年

2
@nikie:量子计算机不是魔术。他们仍然使用原子。它们仍然受到物理的限制。DNA计算机?你是认真的吗???仅仅是概念证明,这是完全没有用的。
vartec

4
@Thor:好吧,2011年将人类送上月球在身体上也是不可能的。
vartec

7
为什么是-1?该摘要具有一定的扎实基础。2 ^ 64是非常非常大的数字。它不是2 ^ 32 * 2,它要大很多,而2 ^ 128却很疯狂。仅花费大量时间就可以了for(unsigned __int128 i=0; i<2^128; i++){}。使用当前技术,很少使用128位整数。除了可能返回不受保护的地址空间外,因为即使您随机写入随机地址,也很难做到在128位地址空间中意外踩踏其他应用程序内存。
编码员

2
@nikie:量子计算机与该讨论无关,因为在量子计算机上使用当前的内存模型(此处是主题)会破坏其全部目的。哦,是的,DNA计算机将永远无法实际使用。这就像使用元胞自动机作为执行模型的基础。
back2dos

15

Thorbjoern链接的超级计算机具有大约2 ^ 47 B的物理内存。
假设摩尔定律适用于超级计算机的内存,那么它将在短短34年内成为2 ^ 64 B的物理内存。这就像“ OMG,我们将生活着看到!!!!”。也许。确实,这令人着迷。但同样无关紧要。

问题是,我需要128位地址空间来使用2 ^ 65 B的物理内存吗?
答案是否定的。我需要128位地址空间来通过单个进程寻址2 ^ 65 B的虚拟内存。

您的问题的关键点:“现实世界中的应用程序是否需要 128位平面地址空间?”。“ Need ”,不是绝对的,您可以花更少的钱就能完成地址空间的映射(而不是平坦的);但是那样就不会有“固定的128位地址空间”。

例如,假设您要为地球上的原子分配一个物理内存地址(出于某种原因,主要是为了提供这个简单的示例),从零开始并继续计数(完成后再找我)。现在,其他人希望在Kepler-10c(距离568口)上做同样的事情。

您不希望发生地址冲突,因此其他人在可用的平面内存空间中分配了一个高内存地址,这使您,他们和下一个人可以直接寻址,而无需映射内存。如果您不打算这样做,或者在内存与其地址之间不存在一对一的关系(您愿意实现稀疏数组),那么可以使用64位或更少的内存。

每当有人提出“ X的Y量就足够 ”的建议时,这种预测通常都是短暂的。

所以问题是:我们将有多久使用2 ^ 65 B的内存的单个进程。我希望永远不会。

我们这个时代的最大问题是单个CPU的处理能力受到限制。原子的大小定义了大小的限制,对于给定的大小,时钟速率也有限制,光速是光速的大小,光速是关于磁场变化的信息在我们宇宙中传播的速度。
实际上,几年前就达到了极限,我们的时钟频率已经低于以前的水平。CPU功能将不再线性扩展。现在,通过无序执行,分支预测,更大的缓存,更多的操作码,向量操作以及其他功能,可以提高性能。进行了架构优化
一个重要的想法是并行化。并行化的问题是,它无法扩展。如果您在20年前编写了慢速代码,那么10年前它的运行速度要快得多。如果您现在编写慢速代码,它将在10年内变得越来越快。

使用2 ^ 65 B内存的进程是最大愚蠢的标志。这表明没有进行架构优化。为了合理地处理这些数据,您需要大约一千万个内核,其中大多数会花费时间等待某些资源可用,因为实际上获取资源的那些内核正在完全不同的计算机上通过以太网使用物理内存。处理大型复杂问题的关键是将它们分解为小型简单问题,而不是构建越来越大,越来越复杂的系统。在处理大量数据时,您需要水平分区。

但是即使假设这种疯狂应该继续下去,请放心128位足够了

  • 地球大约有8.87e + 49个原子即我们拥有的2 ^ 166个原子
  • 假设持有一位要花费2 ^ 20个原子。这也包括所有的布线,塑料和电源。您不能只是将晶体管扔进盒子里并称其为计算机。因此2 ^ 20似乎相当乐观。
  • 要用完128位地址空间,我们需要2 ^ 133位,所以我们需要2 ^ 152个原子。假设原子在地球上的分布均匀,让我们看看要获得它们必须吸收多少外壳:

    let
       q  := ratio of atoms needed to atoms present = 2^-14
       Vc := volume of the crust to be used
       Ve := volume of the earth
       re := the radius of the earth = 6.38e6
       tc := the required thickness of the crust
       k  := 0.75*pi
    thus
                                 Vc / Ve = q 
       (k*re^3 - k*(re-tc)^3) / (k*re^3) = q
                    1 - ((re-tc) / re)^3 = q        
                              (re-tc)/re = root3(1-q)
                                      tc = re * (1 - root3(1-q))
                                      tc = 6.38e6 * (1 - (1 - 2^-14)^(1/3))
                                      tc = 129.804073
    

    因此,您需要在整个表面上拍摄130米(包括80%的水,沙子或冰覆盖)。这不会发生。即使假设您可以将其挖掘(大声笑),并且所有这些问题都适合加工成芯片,那么您将在哪里获得能量?


8
另一方面,您将需要一台非常大型的计算机来对整个星球进行露天开采以进行环境影响评估,这样也许它就可以证明自己的合理性(在这里有点希区徒步旅行者)
Martin Beckett

2
一位= 10 ^ 6原子。整个地球= 10 ^ 50原子。整个宇宙= 10 ^ 80个原子。指数表示法很棒!:-)
Konamiman

2
关键不是要用完整个128位地址空间,而是要用完64位地址空间。那么在什么时候我们需要一个超出64位的额外寻址位呢?2 ^ 65字节需要多少物理空间(分子)?
David R Tribble,2015年

1
因此,您是说物理128位内存架构需要行星级制造能力
Indolering '16

已经设计出单原子晶体管。您如何获得每个位数2 ^ 20(约一百万)个原子?en.wikipedia.org/wiki/5_nanometer
JimmyJames

8

好吧,我们肯定可以使用很大的地址空间。

想象一下:

  1. 地址空间不限于一台计算机。相反,地址在通用地址空间中唯一地标识存储单元。因此,您可以拥有指向世界上任何计算机上的存储单元的指针。需要有一些协议才能启用从远程内存中的读取功能,但这是一个实现细节。:-)

  2. 存储器是一次写入,多次读取,即,您只能将数据写入一次存储器地址。对于可变值,您必须在每次更改时分配新的内存。我们的程序员已经开始看到不可变性和事务性内存的优点,因此甚至不允许内存覆盖的硬件设计可能也不是不可能的。

结合这两个想法,您将需要一个巨大的地址空间。


为什么要寻址世界上每台计算机的每个字节?(我假设您不是国家安全局。)
David R Tribble,2015年

因为我们将建立世界范围内的蜂巢AI霸主,以使我们当然获得救赎!
萨拉

7

能力越强的计算机,就要求处理它们的问题越复杂。

在top500.org上列出的最大的超级计算机是http://www.top500.org/system/10587,它具有约220 Tb RAM和180000个内核。换句话说,这就是“现实生活中的应用程序”可以在此平台上使用的功能。

今天的计算机与10到15年前的超级计算机一样强大(即使计算能力可能隐藏在您的图形卡中)。

因此,如果保持当前趋势,则在10-15年内将100作为内存的因素将意味着64位地址空间将在大约100年内成为限制因素(因为log(100,000,000)/ log(100)约为6)。


注意:数学未经验证,可能还很不正确。

17
就像从1800年代开始的预测一样,如果交通量如此之多,整个城市都会被马粪覆盖:-P
vartec

1
这些天220 GB的容量已不多了。有具有256 GB RAM的服务器。180000个核心?现在,这就是:)。我只是指出这一点,因为OP主要关注的是RAM大小。
陶Szelei

1
@vartec,仅表明盲目外推可能无效。这里也是一样。

6
塔玛斯是对的:在您提供的链接中,它指出“ 229376 GB”,这更像是220 TB。另外,假设每个内核有4MB L2缓存,则18万个内核已经具有720 GB L2缓存;)
back2dos

5

整个主题读起来很有趣,对和反对这个观点都有很强的见解。

这里的东西..

我从这个问题中了解到,它与技术无关,不受时间限制。因此,硅,量子计算机或“无限猴子小贩”算盘的当前发展实际上是无关紧要的。

尽管back2dos的答案很好地说明了这个数字表示的绝对大小,但计算和外推也很有趣。所以让我们一起工作。

放眼未来,人类不再局限于它的小星球,开发了一种现实的运输方式,可以实现远距离运输,并且社会结构(经济,政治等)已经发展到超越了几代人。跨越法老的项目已经变得司空见惯。让我们着眼于这个遥不可及的未来愿景的两个方面,如果一个人希望花时间来解释每个细节,我敢肯定,可以通过对当前技术进行一系列合理的改进来使所有这些合理化。换句话说,一个合理的,尽管不太可能的未来……无论如何……

第一个称为Colossus的项目是该第一台电子计算机的内存,因为它是第一台行星计算机。巨像兄弟会确实找到了一种捕捉小行星的方法,并将其转换为可工作的计算机。最近在Kuyper带中发现,该带特别富含可溶同位素,使其具有能源自主性,他们利用探针,机器人等使建造过程完全自主,从而使计算机系统能够自我修复和自我构建。在这种情况下,可以想象2 ^ 64地址空间在这个项目中会有所局限,因为他们希望获得一个连续的地址空间以轻松地移植已经在进行中的另一个项目中已经存在的应用程序。

另一个项目更像是网络实验,而不是物理系统,但它很快证明需要更大的地址空间。540年前,一个年轻的黑客在玩弄创建巨型僵尸网络的想法。互联网已经扩展,以融合动力方面的重大进展为基础,将太阳系周围的新生殖民地包括在内。他的想法基本上是在网络上散布很少的机器人,但是有效载荷注定要提供一个统一的虚拟机,假设它具有所有机器人的全部力量,就可以编写代码。在编译器和部署上付出了巨大的努力,试图优化滞后和复杂的算法,这些算法旨在考虑基础媒体固有的不可靠性。专门针对这种新语言写了一种语言“ 相反,我们的黑客创建了一家保护伞公司,并将计算能力出售给出价最高的人。他去世后,他将这个僵尸网络和所有技术捐赠给了基金会。到那时,僵尸网络已经运行了64年,并且在相当一段时间之前已经超过2 ^ 64地址空间,这打破了1000年前的观念,即我们永远不需要更大的地址空间。如今,2 ^ 128已成为规范,将用于巨像,但已经计划将其扩展为2 ^ 256。相反,我们的黑客创建了一家保护伞公司,并将计算能力出售给出价最高的人。他去世后,他将这个僵尸网络和所有技术捐赠给了基金会。到那时,僵尸网络已经运行了64年,并且在相当一段时间之前已经超过2 ^ 64地址空间,这打破了1000年前的观念,即我们永远不需要更大的地址空间。如今,2 ^ 128已成为规范,将用于巨像,但已经计划将其扩展为2 ^ 256。

我可能会想出更多可能的情况,这些情况说明了是的……很可能,不,几乎可以肯定的是,有一天我们将需要比这个更大的地址空间。

话虽如此,但我不认为我会为此松口气,如果您的应用程序需要一定的地址空间才能正常工作,那么很可能它将驻留在满足其需求的VM中...

因此...简短答案...

是的,最有可能

当问题出现时,为什么不处理这个问题呢?就我个人而言,我从来没有在程序中做任何假设,因此也不会感到惊讶。


2
在您的虚拟示例中,我对细节方面的工作感到很高兴。你在某个地方写短篇小说吗?
Christopher Bibbs

2

地址位置相对于地址宽度具有对数成本,因此我们可以根据相关参数考虑上限:

地球上的沙粒的64位 = 7.5x10 ^ 18 可观测的宇宙中的恒星的
128位 = 10 ^ 24 地球中的粒子的
256位 = 10 ^ 50
512位(可观测的宇宙中的粒子)= 10 ^ 82
1024可观宇宙中立方木板长度的 = 4.65×10 ^ 185

  • 为哈希,安全性和索引引入的稀疏性

6.6106 ...×10 ^ 122位(可观察的宇宙中可能的粒子配置)= 10 ^(10 ^ 122)

我们可以假设可能的配置为最大的物理可能的可构造内存地址的上限。


要计算n个地址所需的宽度,请将其键入Wolfram alpha:2 ^ ceil(log2(log2(n)))
Timothy Swan

1
没错,拥有高度冗余的地址空间可能会很有用,因为大多数地址根本不引用任何内容,例如在哈希等方面,但是我认为有人甚至建议将URL编码为机器虚拟地址(而不仅仅是一个因此,实际上,将来某些虚拟寻址方案的浪费/冗余程度没有上限。当然,并不是将数据编码为地址(而不是在必要时在可能受保护的表中查找数据)听起来像是个好主意。
Steve314 '17

0

好吧,我认为未来几年您可能会松一口气。如果您看一下硬件创新的速度,可以发现在过去几年中没有发生重大突破。频率为2.x GHz的CPU已经存在了一段时间,如今处理能力的任何增长都来自在芯片上封装更多的内核。驱动器容量仍在增加,但与10年前不同。

我认为我们当前的技术正在接近物理的极限。

这对未来意味着什么?我认为,为了在信息处理领域取得新的飞跃,必须使用全新的技术。这些技术可能会使用“软件”,尽管可能与今天的环境完全不同。谁知道他们具有或可以提供什么地址空间要求?还是地址空间在该技术中是否甚至是一个有意义的概念?

因此,暂时不要退休。


cpu速度是与内存大小有些不同的概念。

我不确定您是否可以得出这样的结论:由于处理器速度在过去几年中并未大幅提高,与接近物理极限无关。事实上,近几年来,多核CPU一直风行一时,这可能是CPU制造商将钱花在如何最好地利用所有这些处理器上,而不是花钱进行时钟改进。即使是大公司,其研发资金也受到限制。IMO的驱动器容量仍在快速增长。刚刚看到了一个140美元的3 TB驱动器。
Dunk

0

是的,会有。(游戏?人工智能相关的东西?)

不过,更合适的问题可能是它是否对典型的程序员有用。考虑一下Ruby如何自动将数字从FixNum转换为BigNum,并在需要时将其转换回去。如果其他语言(至少是动态语言)最终没有做同样的事情,我会感到惊讶。


1
哦耶。是的 我想玩一款非常酷的游戏,必须使用128位算法!
Chani

1
永远的Nukem公爵Rev 2.0吗?还是《劲爆足球2025》?
John R. Strohm

0

存储这么多的信息是一回事,而对它有用的事情则是另一回事。从我的角度来看,除非有处理能力来使用它,否则我认为不需要此存储。也许缓存巨大的数据库是一回事,但是对于数字处理,我认为我们首先需要处理器。


0

应用程序会需要那么多内存吗?很有可能。诸如天气预报,一般的物理模拟或密码学之类的应用程序可能总是会受益于更多的内存和更多的处理能力。谁知道50-100年后的杀手级应用会是什么?全息显示器?每个可能包含100个字符的密码的Rainbow表?

从物理上讲可以代表那么多内存吗?绝对有可能。例如,一个100量子位的量子计算机可以表示与经典2 ^ 100位计算机相同数量的状态。多地址空间的2 ^ 67位,我们现在有。(我知道,一台100量子位的量子计算机听起来像科幻小说。我不相信有可能建造一台量子计算机。但是,另一方面,对于将要使用的任何技术,也可能会有相同的说法50或距现在100年。)

但是我严重怀疑“统一地址空间”将成为当时的主要问题。也许到那时我们将开发量子算法,而“地址空间”的概念没有多大意义。即使计算机保持“经典”状态,我们也可能不得不处理数量惊人的处理单元,并在其中附加了不一致的内存。


“ 100量子位量子计算机可以表示与经典2 ^ 100比特计算机相同数量的状态。” 量子位不是真的工作方式。100位计算机可以表示与100位计算机相同数量的状态。区别在于100量子位计算机可以同时表示所有这些状态的叠加。关于量子位的另一件事是,当您阅读它们时,您只会得到一个答案,而且将是完全随机的。
JimmyJames

@JimmyJames:是的。因此,如果您要表示一台100量子位的量子计算机在经典计算机中某个时刻所具有的相同信息(例如,对其进行仿真),则需要的方式超过100位。这就是我所说的。(或者是,无论如何。)
nikie

同样,这不是它的工作方式。2位寄存器可以表示4个值。一个2位的寄存器可以代表4个值。它们都能够代表相同的值范围。qubit寄存器可以同时代表所有4个寄存器。就是这样。
JimmyJames

@JimmyJames:这就像说一个2位的“经典”寄存器可以表示2个值,但是同时。这样考虑:如果要在经典计算机中模拟量子计算机,则在任何时候t都需要多少位存储2量子位量子计算机的完整状态?
妮基·朱尼(Nikie)2013年

我明白了,但我想念的是,您无法从量子位中检索特定值。也就是说,给定一个叠加的量子位,当读取该量子位时,您将得到1或0,但由于
不相干

0

如果每个存储位置都有一个全局唯一地址,将会发生什么?

  • 网络协议可能变得更加简单。
  • 分布式对象将很有趣- 所有对象都可以存在于同一内存空间中。
  • 也许我们将切换为“一次写入”的内存,并将时间作为地址结构的一部分。您可以阅读过去存在的对象。
  • 所有二级存储都可以直接寻址。再见FILEfopen()等等。
  • 您可能因为写了错误的指针并弄乱了别人的机器而被捕。
  • 在参加第一门CS课之前,必须对学生进行筛查:很少有人可以承受Total Perspective Vortex

0

只是在这里“大声思考”,但是在我看来,一个人可以用一台128位计算机上的剩余64位来做有趣的语义事情。cf. IP的工作方式。

我敢肯定,人们会想到类似这样的有趣用途。:)有人知道PS3将其128位地址用于什么吗?当然,您不会浪费所有这些额外的内存(我所说的只是实际地址的内存,而不是那些地址指向的内存)。地址作为数据。您甚至可以在地址本身中编码一个分支……即0x [ifAddress] [elseAddress]多核系统也可以从这种类型的分段中受益。还有...


0

有什么理由超越64位架构吗?(18,446,744,073,709,551,615字节的可寻址内存)

使用关于将前缀用于与数字电子和计算相关的测量单位的二进制倍数的IEEE 1541-2002标准,我们看到:

1字节= 8位,1千字节= 1024字节,1兆字节= 1024 KB,1千兆字节= 1024 MB,1 TB = 1024 GB,1 PB = 1024 TB,1 EB = 1024 PB

以此类推,例如Zettabyte,Yottabyte,Xenottabyte,Shilentnobyte,Domegemegrottettebyte,Icosebyte和Monoicosebyte。

截至2016年,地球驱动器的总存储量估计约为2500艾字节。

64位寄存器可以直接访问15艾字节的内存。一个128位的寄存器可以直接访问3.40282367×10 ^ 35 Zettabytes。或295,147,905,247,928,000个单字节。

因此,我们可以看到一个128位寄存器可以很好地访问地球的所有内存,互联网上发送的所有内容,口语或书写的每个单词,每个电影等等,而且还有相当长的一段时间。

因此,答案是肯定的,尚待确定一个框架,该框架可以指向曾经或将来的任何数字事物


0

我能找到的关于人均大脑神经元数量的最佳估计约为860亿。通常,我们无法直接将RAM与神经元进行比较,但是在神经网络中您可以做到。它占用许多地址来表示神经元或突触的状态。因此,我将大肆宣传,说我们正在研究数万亿个地址,以创建可与人脑媲美的神经网络。因此,如果能够做到这一点,我不明白为什么这样做不会做得更多。这样的网络可能会考虑的问题种类将超出我们的理解能力,以及为什么它们需要如此之大才能做到。


0

它是地址空间。假设我们更改了C标准,因此不允许realloc更改所使用的指针。我今天可以分配2 ^ 33个内存块(Mac上需要192GB的RAM,80亿乘以8字节指针和16字节分配的空间,所以我现在不能这样做,但是我可以购买一台可以执行此操作的Mac而不需要新的抵押贷款)。

而且我可以重新分配任何这些指针以容纳2 ^ 33个字节。但是,同时没有很多:-)如果realloc不允许移动指针,并且允许2 ^ 33字节,则原始指针必须相隔2 ^ 33字节,这意味着需要2 ^ 66字节的内存。


-1

当然,我认为没有理由为什么将来不再需要那么多空间。如果您考虑开发游戏,那么制作游戏的逼真度或复杂度没有限制,对吗?(图形的详细信息/使用的多边形数量以及定义对象交互作用和行为的算法)?

谁知道,在10年后,我们可能会玩10TB游戏,最低要求为12GB内存和8核处理器。:P


没有细节限制。但是硅是有极限的。
比利·奥尼尔

-1

20年前,地球上的人口减少了20亿,大多数计算机系统具有可寻址内存,可以以千字节为单位进行测量。今天,世界人口以同样的速度增长,计算机用户的数量每年呈指数增长。

确实,很少有系统需要完整的64字节地址空间。但是,某些系统每天存储TB级的信息。由于计算机用户和互联网速度的提高,这已经成为可能。HTTP发明仅23年之后,我们已经可以支持10 GB / s的互联网速度。以这样的速度,我认为在50年内不期望达到1 TB / s或更高的互联网速度将是愚蠢的。当我们所有人都可以这么快地移动数据时,将有更多的数据要存储,而将有更多的人来存储该数据,几乎不可避免的是,将需要再次广泛地过渡到128位系统,最终是256位系统。 512位。


您在所有方面都是正确的,但是您错过了我的观点。计算行业不到100年的历史,如果它能像过去的几十年一样继续发展,那么假设我们在这一点上已经达到了极限,这不仅是愚蠢的做法,而且对需求无知未来。地址空间并不是我们需要64位体系结构的唯一原因。指令集可能会变得如此之大,以至于128位宽的指针更有效且更可取。另一个好处是切换到更高位架构所提供的CPU注册表空间。
安德鲁·卡茨

我不知道为什么要写下所有这些评论-心情不好是我最好的借口。但是,反对票不是我的。
Steve314

-1

是的,应用程序不会填充虚拟空间的每个字节。地址空间布局随机化将获得最大的好处。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.