这是我似乎无法理解的事情。几乎每个现代处理器每秒都能执行比其频率更多的指令。
我可以理解为什么较低级别的处理器可以执行比其频率更少的 IPS。例如,ATmega328在 16 MHZ 下执行大约 16 MIPS(或者至少我被告知是这样),而Z80在 4 MHz 下执行 0.5 MIPS。但是 Pentium 4 Extreme 可以在仅 3.2 GHz 的情况下执行超过 9 GIPS。这大约是每个时钟周期三个指令!
这是如何完成的,为什么不在较小的处理器中实现,例如AVR微控制器?
我从这里找到了我的所有信息,除了 ATmega328 。
Mok*_*bai 23
这是由于现代处理器的功能组合。
导致高 IPS 的第一件事是现代处理器具有多个可以独立运行的执行单元。在下图(从维基百科借来的:Intel Core Microarchitecture)中,您可以在底部看到有八个执行单元(以黄色显示)可以同时执行指令。并非所有这些单元都可以确保相同类型的指令,但其中至少有 5 个可以执行 ALU 操作,并且有 3 个支持 SSE 的单元。
将其与长指令流水线相结合,可以有效地堆叠指令,为这些单元准备好执行指令(无序,如有必要),意味着现代处理器可以在任何给定时间运行大量指令。
每条指令可能需要几个时钟周期来执行,但如果您可以有效地并行执行它们,那么您就可以以处理器复杂性和热输出为代价大幅提升 IPS。
保持这些大型管道充满指令还需要一个可以预填充指令和数据的大型缓存。这会影响芯片的尺寸以及处理器产生的热量。
在较小的处理器上不这样做的原因是,它大大增加了处理核心周围所需的控制逻辑量,以及所需的空间量和产生的热量。如果您想要一个小型、低功耗、高响应的处理器,那么您需要一个较短的管道,而没有太多围绕实际功能核心的“额外”东西。因此,通常他们最小化缓存,将其限制为处理指令所需的每种类型的单元中的一种,并降低每个部分的复杂性。
它们可以使小型处理器与大型处理器一样复杂并实现类似的性能,但功耗和冷却要求将呈指数级增加。
归档时间: |
|
查看次数: |
3501 次 |
最近记录: |