15年的时间,硬件配置已经出现了几何级的增长,不过不知道为什么电脑系统和手机系统一直停留在64位?128位系统为什么一直不出现?
没有128位的操作系统的原因是没有128位的cpu,所以这个问题就直接变成了为什么没人开发128位的通用cpu了。
是不是从来没有过128位的处理器呢,答案是否。专业尤其是图形领域使用超过64bit的值还是有的。
处理器bit位宽作用主要是为了提升寻址能力,寻址可以简单理解为cpu通过一个寄存器的值来决定自己在内存中操作什么位置的数据,那么这个值越大能直接访问的范围就越大。比如32位操作系统只能访问4g内存,这就是位宽限制导致的。可以使用变通的方法来访问更多的内存哈,但是那样就降低了运行效率。各位知道当前64位cpu已经可以直接寻址18.45EB(近似等于18后面加6个零的TB,大家现在用的内存是几十到一百g,也就是0.1TB,现在主流硬盘容量是3、4TB)的数据了,而当前我们还完全没有必要用这么大的内存,所以64位够用很久(基本这一条就够了)。
第二个是运算能力,实际上高bit的cpu寄存器保存的值的范围更大。当前64位处理器所能处理的数值满足人类绝大多数需要。不满足的那部分以前也是靠几个数一起实现的,这种场景太少了。结果就是当前64位处理器绝大多数运算场景下一次取值就够了,再大也没有任何意义,不能提升运算速度。
两个最大的优点完全用不上,缺点就不说了,手机码字眼睛累,通过上面的内容大家就可以得出结论,当前需求下128位cpu并不能获得比64位更大的优势,那么没有优点的东西是不会有人生产的,估计64位系统还会存在很长一段时间。
xx位处理器,包括xx位指令,以及xx位的寄存器,还有xx位的寻址能力,不过都是属于早期的,现在界限都不明显,以前32位机还有40位寻址能力呢,现在x86-64的确是有64位寄存器。
实际上,128位指令,各位都在使用,Intel的的的SIMD就是128的,处理器内部也有128位寄存器给SIMD、SSE等指令使用的。
之前学过皮毛汇编,记得无非就是 指令(32位),数据(8~32位),数据(8~32位),这样的,后来接触的RISC指令,很多指令就是[指令段,数据段](32位~64位)这样的整齐指令,可能更便于系统的分配执行吧,所以即使有128位的这样的“指令”,实际上是包含了数据的,这样的计算机,也不能完全称作128位机。(仅为皮毛,非计算机专业人士,错了就错了,我就不要脸的不认,你能把我咋地?)