我有时候看到一些指令只需要不到一个时钟周期的时间,这是怎么可能的?还是说这个值是在流水线和乱序执行时才能实现的?
我有时候看到一些指令只需要不到一个时钟周期的时间,这是怎么可能的?还是说这个值是在流水线和乱序执行时才能实现的?
来自http://en.wikibooks.org/wiki/Microprocessor_Design/Performance_Metrics
(...)历史上,早期的计算机在执行即使是最简单的指令时都使用了许多时钟周期。在RISC革命期间,许多设计师专注于将这个因素降低到似乎最小的每条指令1个时钟周期。本书稍后将讨论一些使用的技术。从那时起,使用超标量执行和多核计算等技术的CPU使这一因素进一步降低。这样的CPU平均可以使用不到1个时钟周期完成一条指令。
“CPI”是一个吞吐量度量标准,用于说明在给定数量的时钟周期内(平均)完成了多少条指令。如果一个CPU平均每个时钟周期可以完成2条指令(CPI为0.5),则可能具有20级流水线,这必然会导致指令获取到完成该指令之间的20个时钟周期延迟。我们在计算CPI时忽略这20个时钟周期。(...)