CPU 执行程序的秘密,藏在了这 15 张图里( 七 )


总结最后我们再来回答开头的问题 。
64 位相比 32 位 CPU 的优势在哪吗?64 位 CPU 的计算性能一定比 32 位 CPU 高很多吗?
64 位相比 32 位 CPU 的优势主要体现在两个方面:

  • 64 位 CPU 可以一次计算超过 32 位的数字 , 而 32 位 CPU 如果要计算超过 32 位的数字 , 要分多步骤进行计算 , 效率就没那么高 , 但是大部分应用程序很少会计算那么大的数字 , 所以只有运算大数字的时候 , 64 位 CPU 的优势才能体现出来 , 否则和 32 位 CPU 的计算性能相差不大 。
  • 64 位 CPU 可以寻址更大的内存空间 , 32 位 CPU 最大的寻址地址是 4G , 即使你加了 8G 大小的内存 , 也还是只能寻址到 4G , 而 64 位 CPU 最大寻址地址是 2^64 , 远超于 32 位 CPU 最大寻址地址的 2^32 。
你知道软件的 32 位和 64 位之间的区别吗?再来 32 位的操作系统可以运行在 64 位的电脑上吗?64 位的操作系统可以运行在 32 位的电脑上吗?如果不行 , 原因是什么?
64 位和 32 位软件 , 实际上代表指令是 64 位还是 32 位的:
  • 如果 32 位指令在 64 位机器上执行 , 需要一套兼容机制 , 就可以做到兼容运行了 。 但是如果 64 位指令在 32 位机器上执行 , 就比较困难了 , 因为 32 位的寄存器存不下 64 位的指令;
  • 操作系统其实也是一种程序 , 我们也会看到操作系统会分成 32 位操作系统、64 位操作系统 , 其代表意义就是操作系统中程序的指令是多少位 , 比如 64 位操作系统 , 指令也就是 64 位 , 因此不能装在 32 位机器上 。
总之 , 硬件的 64 位和 32 位指的是 CPU 的位宽 , 软件的 64 位和 32 位指的是指令的位宽 。
CPU 执行程序的秘密,藏在了这 15 张图里文章插图
CPU 执行程序的秘密,藏在了这 15 张图里文章插图
CPU 执行程序的秘密,藏在了这 15 张图里文章插图
点分享
CPU 执行程序的秘密,藏在了这 15 张图里文章插图
CPU 执行程序的秘密,藏在了这 15 张图里文章插图


推荐阅读