如果32位系统有一种黑科技能够支持大内存,还有必要用64位系统吗?

虽然pae确实可以让32位用大内存,但依然有必要用64位。因为只有 64 位才能完整的用到 CPU 的性能,并不仅仅只是访问大内存。

以 x86_64 的这个架构为例子吧。

x86_64 有 16 个 64 位通用寄存器。总共 1024 比特。

x86 32位 有 8 个 32 位通用寄存器。总共 256 比特。

这意味着,当你的操作系统是 64 位操作系统,程序是 64 位程序时。可以使用的寄存器尺寸为 32 位的 4 倍。

类似的例子还有很多,有很多指令是 64 位专用的扩展,你使用 32 位系统,32 位程序,就没法用到这些扩展。

实际上,arm平台也是一样的。首先 64 位的处理器,寄存器是 64 位,你用 32 位程序就有一半的寄存器闲置无法使用。。。另外还有很多指令,是仅 64 位使用的,32 位程序无法使用。

根据早年间的统计,用 32 位程序,相当于性能上平均打折 11%。不过这是平均水平,对于不同的程序,这个差异很大。有的程序可能64跟32区别不大,有的可能64效率高几倍。

所以结论是有必要。因为只有新架构才会开放新的指令,才能完整的用上 CPU 的性能。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值