64 位处理器是否比 32 位处理器“更快”,仅仅因为它们是 64 位的?

64 位处理器是否比 32 位处理器“更快”,仅仅因为它们是 64 位的?

我思考过为什么有人说“32 位已经过时了”,因为如果不进行削减,你的 RAM 就会受到限制,例如聚丙烯酰胺凝胶电泳。首先假设下列因素对处理器本身的速度有影响:

  1. 微架构设计,包括缓存大小、微代码的实现(如果适用)、数据/地址总线和寄存器连接,当然还有设计原则或结构。

  2. 时钟速度本身

  3. 总线速度,例如 FSB 速度(前端总线)及相关速度。

  4. 特殊功能,如并行性、“超线程”、“计算单元”、使用协处理器或后台处理器卸载工作、多核环境等。

假设(我们知道所有这些因素都会影响速度)处理器是 32 位的,那么仅仅是由于位宽、内存寻址、大小等的增加,64 位处理器就能使其速度更快吗?

基本上,如果有两个相同的处理器,64 位处理器在机器代码解码、获取、访问内存、MMIO、计算等方面的速度是否会比之前的 32 位克隆更快?

答案1

显然,对于任何需要大量内存或涉及大量大于 2/4 亿的数字的应用程序,64 位是一个巨大的优势。对于程序指令和整数计算(这是通用计算的重要组成部分)而言,64 位并没有内在优势。因为,老实说,谁需要计算超过 2/4 亿的数字或跟踪超过 32 位地址空间的 RAM 呢。

但为什么我们会看到如此快的速度呢?聪明的编译器。编译器总是在学习新技巧。比如,为什么要循环并求 100 个 32 位整数之和,而你可以添加 50 个空转换的 64 位数字,然后将该“64 位”数字的每个部分的 32 位相加。

但是,对您的问题回答“是!”的主要因素是 64 位处理器对主内存具有更宽的数据路径访问。

有关基准测试和对一种架构的差异的讨论以及与其他架构的比较,请参阅:

http://zsmith.co/

答案2

只是因为...不。

具有更宽寄存器大小的处理器可以在同一时钟周期内移动和处理更多的位。

然而,这一事实与时钟速度无关。并不是计算机能完成的所有任务都能从移动更多位数中获益。

相关内容