为什么没有人开发128位的操作系统?

EvaLongoria


其实现在已经有了128位的操作系统,只不过没有投入市场使用而已。目前市场上主流的操作系统就是64位,之所以不使用128位的操作系统其实也有很多理由,我们来看下:

对于操作系统而言,位数越大需要投入的成本就越大。但是成本往往是很多企业都做不到的。毕竟在科技程度上,能有一丝进展就是很大的成功。更别说从64位直接过渡到128位了,所以,为了不浪费成本一直以来使用的都是64位的操作系统。

64位操作系统刚刚出现没几年,从现在的电脑市场情况来看,他的能力完全可以撑起通用的电脑配置。我们在生活中常用的电脑系统基本上都是64位的,少数还在用32位,既然现在这两个位数的系统已经足够使用,为什么还要舍近求远去追求128位呢?实在是没有理由。

最后就是128位系统需要的配套产品,128位系统需要什么呢?需要更大的内存,需要更大的硬件支持。对于用户来讲,虽然电脑是做到了升级,可是这样的成本并不是值得推荐的。毕竟64位已经用不完,完了去追求一个下大成本的128位操作系统。何必呢?简直是自己跟自己过不去。

因此,128位的操作系统现在仅仅只能用在局部需要它的电脑上,我们经常用到的电脑实在是没有必要使用。毕竟64位就已经足够了,追求128位的实在是有点浪费资源,怎么想都感觉不值当。


环球科技视界


大多数人没有意识到的是128位处理器已经存在。它们也存在了几十年。256位和512位处理器也是如此。问题是它们在现代计算机中并没有真正的通用作用,因为它就像使用大型气动锤在墙上放一个小钉子来悬挂图片。这太过分了。

除了作为Nvidia GTX 280的显卡外,AMD Radeon R9 290和各种Tesla产品都使用512位内存总线的处理器。因此,硬件已经存在,英特尔还在其x86指令集中引入了一些512位指令。因此,我们今天拥有的硬件应该足够好,可以一直到512位。

那么为什么没有128位操作系统呢?嗯,这对于通用用途来说太过分了。这是因为位数适用于向其他硬件组件发送和接收数据。每个处理器都有多个引脚和每个时钟周期,每个引脚可以发送或接收一个比特。8位处理器可以在每个时钟周期发送或接收一个字节。64位处理器可以一次发送8个字节。如果您要发送大量数字,但是为了充分利用这一点,您需要将各种数据打包在一起,或者通常会发送大量0位数,这是切实可行的。并且发送打包数据意味着另一方需要再次打开它。(打包意味着使用64位,您可以在每个时钟周期发送8个字节的不同值或4个字或2个DWord值。)

它也用于存储器地址,而32位将限制为4 GB可直接寻址的内存,64位处理器可达18 Exabytes。那是很多记忆!而使用128位,它甚至可以获得更多。

所以主要的限制基本上是内存大小,因为64位系统对每个人来说仍然绰绰有余。大多数计算机不会计算非常大的数字也是有问题的。对于图形而言,由于图形CPU需要进行非常复杂的计算,因此具有大量位是很重要的,并且它对于加密目的也可能是实用的。但是更多的位通常不会有太大的改进。

此外,更多位也意味着更多引脚。毕竟,数据需要来回发送。但只要你不需要大量内存,32位和64位系统之间几乎没有任何性能提升。现代操作系统成为64位的唯一原因是因为我们需要超过4 GB的RAM。

那么,128位操作系统呢?好吧,理论上它们已经存在,因为你基本上必须重新编译任何现有的操作系统以获得更大的位数。通常意味着指针将从64位变为128位。由于大多数操作系统都是用标准C编写的,除非一些白痴硬编码代码中的指针大小,否则这应该不是问题。(或其他值。)通过对附加汇编代码的一些更改,将FreeBSD或Linux转换为128位甚至更多位应该不是一个很大的挑战。

只是因为没有太大的收获......

那么,128位操作系统是否可行?那么,如果CPU可以处理128位的数据总线并且具有128位寄存器,那么肯定。不过,它仍然可以拥有40位地址总线。您只需要一个编译器,使用处理器可能具有的额外128位指令重新编译128位硬件。最有可能的是,它甚至不需要更多指令,而只是一个单独的代码,表明使用的是128位寄存器而不是64位寄存器。但寄存器的数量通常也限制在非常低的数量。不确定我们是否会看到超过256个可能的寄存器,因此寄存器ID也适合单个字节。但是,如果要将硬编码值添加到128位寄存器,则可能会有些挑战。那么整个操作码会有点长。但大多数计算机指令,

是的,这会让你再次感到困惑。但是位数都与需要发送的数据量有关。如果数据可以串行模式发送,那么1位就足够了。您的PCI-E x1卡实际上是这样通信的!USB设备也是如此。有时,您需要发送更多数据,以便增加位数。对于指令,你有足够的空间有16位,一般8位应该已经足够了。对于地址,有40位,足以在内存中达到1 TiB。而对于图形,512位可能甚至不足以满足最高端用途。尽管如此,当你考虑现有的许多比特币矿工都使用GPU进行计算时(因为GPU有很多内核和kick-ass数据总线),有一些形式的操作系统可以用于高位系统,但是它通常是定制的。在具有512位数据总线的GPU上创建比特币矿工并将代码限制为32位或64位是不切实际的。但它是一个操作系统吗?


世界科技最前沿


首先,128位的操作系统是为谁服务的?它一次能访问128bit的数据,那么一定需要硬件来支持,就像我们之前比较老的32位CPU不能装在64位的Windows上一样,所以这个问题实际上是为什么没有128位的CPU?

在民用市场,我们看到的都是x86(电脑)或ARM(手机)处理器,最多也就是64位的处理器,没有看到128位的,那是因为距离用完64位地址空间还有很长的路要走。还是先来看看之前CPU的地址总线和它们能访问的内存大小。

• 8位CPU具有16位至20位的地址总线 / 最多访问1MB内存

• 16位CPU具有20+位地址总线 / 最多访问1MB内存

• 32位CPU是有32-36位地址总线 / 最多访问64GB内存

• 64位CPU通常具有40+位地址总线,通常小于64位 / 可访问数百TB内存

这是一个有趣的现象,并不是CPU位宽就等同于它的地址总线位宽,比如32位CPU实际可能寻址64GB的内存,所以下次有人说你这个是32位的,只能用4GB内存,可以纠正下,真正限制这个4GB大小的是32位的操作系统。

在PC上64位处理器中,地址总线为48位,能寻址256TB(2^48)内存,可我们还经常在讨论16GB的内存到底有没有必要呢,那256TB=256000GB,这个到底有多大真没什么概念,真想不到民用怎么才能用完。反正我们不太可能在单个处理器上看到这么多的内存。大多数使用海量存储器的现代系统都是分布式存储器架构,具有大量协作处理器,每个处理器都有自己的RAM和独立的地址空间,所以实际上不可能用到那么大的内存。

好吧,在1981年,伟大的比尔盖茨说过“对于任何人来说,640KB内存都足够了”,我们还是乐观预估下。毕竟扩大地址空间虽然没有太多价值,但增加每条指令执行的计算宽度还是有价值的,计算宽度的增加会增加计算逻辑与支持/控制逻辑的比率。支持/控制逻辑有它自己的增长压力,更加复杂的分支预测器,更复杂的缓存,更宽的总线以增加内存带宽,缓存一致性机制等等,可能128位的CPU就有价值了。在一些超级计算机上,已经有开始使用128位以上的存储器地址,能在硬件上实现128位浮点运算。

128位CPU可能意味着一些不同的事情发生,未来可期。

1971年,第一个4位CPU

1年后,1972年,8位CPU出现

5年后,1977年,16位CPU诞生

8年后,1985年,32位CPU发布

18年后,2003年,64位CPU登场

2050年会有128位CPU吗?


超能网


开发128位操作系统并没有什么好处。128位,甚至更高的结构对于某些要求大量数学运算的操作当然有好处,比如制图、密码,或是复杂的系统建模,但是,现在的问题主要针对操作系统。

目前最大的问题是,32位的操作系统最大可寻址内存是4GB。但是,我们不一定非要64位的结构和操作系统解决这个问题。事实上,40位的结构,其可寻址内存就可以达到1TB,这在未来一段时间内都是绰绰有余的。

你要知道,每在结构中增加一位,你能获得的可寻址内存就会翻番。其地址数量就是某个特定位数能构成的所有组合的数量。举个例子:

1位只有两种组合:1和0;

2位有4种组合:00,01,10,11;

3位总共有8种组合:000, 001, 010, 011, 100, 101, 110,或111。

所以从32位晋升到64位,其组合数就从4,294,967,296增加到18,446,744,073,709,551,616,这绝对超出需求了。而且,骤增的不只有可寻址内存,你看看下面的表格就明白了:

64位已经花了我们很长时间。现在,就当娱乐一下,我们来看看128位会给我们带来多少组合:

340,282,366,920,938,463,463,374,607,431,770,000,000

而64位只有:

18,446,744,073,709,551,616

所以说,开发128位操作系统就是杀鸡用牛刀,说是资源过度浪费都不足以表达开发128位的浪费。


小鸽子看世界


在64位硬件还没有普及的时候,微软之类的厂商都只能用32位系统的集群模拟64位环境做开发,模拟出来的环境运行速度慢,开发速度也就恼火,然而64位硬件05年就开始普及了,十多年过去了现在绝大多数app仍旧是原生32位的,联想甚至还巨资收购了ibm的32位机的服务器软硬件…

为什么这样?因为对于绝大多数的软件来说,64位系统相对32位系统只有一个好处,就是可以寻址超过4g内存,而绝大多数个人计算机跑的应用在4g内存下运行一点问题都没有,所以即使硬件厂商狂推,软件跟不上,也推广不开来。

所以有没有人开发128位系统呢?肯定有,但是离普及还远得很,起码等到内存降价到1元10g以前我觉得不大可能…


坐等水军集团招募


为什么没有人开发128位的操作系统?

这是一个很有趣的问题,因为回答这个问题需要一些想象力。128位操作系统的开发是离不开128位CPU的,所以,请允许我畅想一下,什么时候会出现128位CPU。

128位CPU的开发条件

咱们先明确一下什么是128位CPU。这样的CPU要满足下面两个条件

  • 寄存器的大小为128位
  • 地址空间的大小达到128位

使用128位寄存器的CPU已经有了。比如,因特尔酷睿系列SIMD的输入输出寄存器。所以第一个条件已经满足了,128位CPU的出现条件就剩下内存空间是否需要128位寻址了。也就是说,如果目前主流的64位CPU无法满足内存空间的寻址需求时,就要使用128位CPU了。

128位CPU的寻址空间

64位CPU的寻址空间的上限为16EB(Exabyte),约172亿GB(Gigabyte)。128位CPU的寻址空间上限约为2800亿YB(Yottabyte),约天文数字GB(因数太大不会算了)。



128位CPU的推测

2018年现在电脑的标配内存大概是8GB左右,到达上限还需要将内存增大23亿倍。感觉不太可能了吧。不过35年前,也就是80年代的时候,电脑的内存标配只有64KB跟那个时候相比,现在的内存空间增长了13万倍。按照这个趋势我预计70年后,电脑的内存将达到EB的级别,到那时候,64位CPU就该升级到128位了。如果还要问会出现256位CPU吗?那应该是200年以后的事了,谁知道呢。



或许您觉得没有必要用这么大的内存。想想看4k高清的视频文件动辄就有几十GB大小,而几年前在标清的年代这个视频最多数百MB,短短数年视频文件的大小已经增加了数万倍,需求的增长速度要比内存的增加速度还要快得多。我觉得不会等到70年才开发出128位CPU,可能在50年甚至更短的时间里就会出现。


日冲信息 黄


32bit os 需要升级到64bit最大的原因是内存寻址范围只有4G,64bit cpu的内存寻址范围已经很大,因此在内存上,目前需求不迫切。

运算能力上,128bit的CPU确实可以一次计算更多更大的数据,但是一旦需要计算大数,那128bit cpu也是不够的,现在所谓大数是指1024bit,2048bit这些大数,还是不能通过寄存器直接计算,反正对大数计算提升不大,那就目前来讲上128bit必要性就不大。

通常,128bit也意味着地址长度也是128bit,这样,CPU的片上cache的占用就得比64bit要多,当然这里可以通过设计去优化,但整体来说,片上cache增大,成本也跟随增大。


小x全栈工程师


欢迎关注我,一个程序员老司机,和你分享编程、运营、需求等等经验和趣事。

128位的OS是否可以开发

以前是32位的操作系统,现在是64位的操作系统,也就是说,128位的操作系统是可以开发的,那么为什么在市场上我们看不到128位的操作系统呢?这主要是由于硬件的原因。

一台普通电脑最贵的是什么?

一台电脑最贵的部分应该是CPU、显卡,如果显卡显存越大那么价格就越贵,同理CPU也是,看看市场上的支持64位的CPU价格,我们就能够想象CPU的宝贵,从64位到128位操作系统,从科技观点来说,不是增加了2倍,而是增加了很多很多倍,换句话说,如果要制造出满足128位的CPU,除了对硬件的要求提高以为,其他很多方面都会有很大的变化,那么自然而然CPU的成本就非常非常高了,试想一下,如果让你花几万块钱为了买一个CPU,你会吗?答案肯定是很多人都不愿意。

总结

这种操作系统是可以做出来的,但是购买的人非常少,所以可行性分析通不过。


web互联网


首先是没有支持128位的硬件,128位的操作系统需要128位的处理器支持才行,其次是现在没有必要上128位,用不到。我先来科普下这个计算机的位(bit)操作,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度,64位处理器就是64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。

处理器的位数变化主要有两个好处,可以计算更大的整数、内存地址可以更大(也就是支持更大的内存)。比如从32位处理器到64位处理器,单次可计算的整数范围从2的32次方变为2的64次方,可以支持的内存也变大了,32位处理器可以支持4GB(2的32次方)内存,而64位处理器支持的内存空间变为2的64次方,现在还没有这么大的内存。

如果你不懂,说的再形象一点,处理器要计算一个东西,需要指令和数据,数据在哪呢?一般是需要从内存读取,存储了那么多的数据怎么读取呢?一个国家有那么多人快递怎么找到你的呢?城市+小区+楼号+门牌号,计算机也是差不多的原理,给每个数据编一个地址,然后按照这个地址去读取。这个地址能有多大呢?就是内存的大小,32位处理器只能读取4GB的地址空间,64位处理器就是2的64次方的空间。64位的处理器支持的空间就已经够我们用了,128位显然现在是用不到的。


没有硬件的支持,128位的系统自然也就没有了,有了128位的系统还要有128位的内存,还要有支持128位的软件,不然也没什么意义。从32位的操作系统win95诞生到64位的普及用了大概20年,现在还有很多32位的系统,128位,你真的用得到?其实也不是完全没有,IBM的system 370有部分的128位处理能力,系统就是IBM自己的系统。


萌哈科技


冯诺依曼计算机架构中,计算机性能核心取决于CPU的计算性能和CPU与内存之间的数据吞吐能力。理论上位宽越大(CPU一个时钟周期内可以存取的数据量,和可以处理的数据量),计算机性能越高。但是,现在的CPU设计,位宽加大,成本和功耗也加大,提高频率恐怕也不容易。所以,需要权衡。至于可访问内存容量,其实理论上可以和CPU位宽无关(哪怕是8位CPU理论上也可以寻址无穷无尽的地址空间),但那需要CPU内部复杂运算和其他部件的支持。而32位CPU直接提供32个地址引脚直连内存,可以迅速访问4G物理内存中的任意一个字节。对于64位也是如此。但目前Intel的64位CPU实际上只有48个地址引脚,所以实际可寻址物理内存空间为256T。


分享到:


相關文章: