语境:英特尔和 AMD 长期以来一直是 CPU 行业的激烈竞争对手。最近,AMD 似乎已经成功制造出单核 IPC 高于英特尔的处理器(例如 Ryzen 5000 系列)。
假设我们有以下场景(这些数字显然只是为了演示)
工作量:1000 条指令执行 X
英特尔 CPU IPC:10,但英特尔 CPU 擅长执行指令 X(<- 这可能吗?)
AMD CPU IPC:20
AMD CPU 是否总是能更快地完成这些工作负载?或者,具有较低 IPC 的 CPU 实际上是否能比具有较高 IPC 的 CPU 更快地完成某些工作负载如果组成工作负载的指令在给定的 CPU 上运行得更快?
或者 CPU 指令在 Intel/AMD CPU 上的运行速度是否相同?
答案1
底层架构完全取决于制造商,并且很可能确实存在对一个制造商比对另一个制造商更有效的说明。
但一般来说,如果存在性能差异,差异也不会很大,毕竟两家公司都有非常聪明的工程师,而且这种差异很可能会被对另一个团队有益的其他指令所淹没。
AMD 可以简单地将更多执行单元放入核心中以提高 IPC。“核心”是现代 CPU 中可以同时执行不同指令的单元集合。
如果你对现代 CPU 的总体架构感兴趣,我推荐 Wikichip。他们有很多关于现代 CPU 功能块的精彩信息。Zen2例如有一个框图显示了核心功能的总体情况。
答案2
这可能会产生影响,但可能非常接近,可能不会使速度翻倍,因此在您的场景中,amd 可能会更快,此外 ipc 是每周期指令数,因此如果时钟速度更高,影响可能会更大,而且很少有工作负载会是一条指令