我们的处理器基于时钟执行指令。因此,4 GHz 处理器每秒执行 40 亿次周期。提高处理器的时钟频率非常困难。如果超过 5 GHz,处理器很可能会过热或出现其他故障。
那么,我们如何才能提高速度呢?现代处理器可以同时执行多条指令。这有时被称为超标量执行。大多数处理器每周期可以处理 4 条或更多指令。苹果最新的处理器每周期可以轻松处理 8 条以上的指令。
然而,执行的指令数量取决于指令本身。有些指令开销较小(例如加法),有些指令开销较大(例如整数除法)。指令开销越小,每个周期可以执行的指令就越多。
处理器有多个执行单元。如果四个执行单元能够执行加法,那么每个周期可以执行 4 次加法。执行单元越多,每个周期可以执行的指令就越多。
通常,x86-64 处理器(Intel/AMD)每个周期最多只能执行一条乘法指令,这使得乘法运算相对于加法运算来说成本相对较高。相比之下,最近的 Apple 处理器每个周期可以执行两次乘法运算。
最新的 AMD 处理器 (Zen 5) 拥有三个能够执行乘法的执行单元,在某些情况下,每个周期可能可以执行 3 次乘法。仅基于执行单元,Zen 5 处理器理论上每个周期可以执行 3 次加法和 3 次乘法。
但这还不是全部。我只统计了通用 64 位寄存器上的常规乘法运算。Zen 5 拥有四个用于 512 位寄存器的执行单元,其中两个可以执行乘法运算。这些 512 位寄存器允许我们通过在每个寄存器中打包多个值来同时执行多个乘法运算。
一般来说,我们的通用处理器正在变得越来越宽:它们每个周期可以执行更多指令。这并非唯一可能的设计。事实上,这些更宽的处理器需要更多的晶体管。相反,你可以用这些晶体管来构建更多的处理器。这正是许多人所期望的:他们期望我们的计算机能够包含更多的通用处理器。
像 AMD Zen 5 这样的处理器设计确实非常出色。这不仅仅是增加执行单元那么简单。你必须将数据传输到这些单元,对计算进行排序,并处理分支。
对于程序员来说,这意味着即使您没有明确使用并行性,无论如何,您的代码都会在后台以并行方式执行。
原文: https://lemire.me/blog/2025/09/01/processors-are-getting-wider/