深度RISC流水线中的缓存未命中惩罚

时间:2011-05-11 10:46:32

标签: caching cpu-architecture pipeline

为什么在深度流水线处理器中缓存未命中损失更大?

是否因为如果在管道的某个晚期发生错失,停滞期会更长?或者因为管道中有太多的指令?

1 个答案:

答案 0 :(得分:4)

通常,您实施更深的管道以减少每个管道阶段的循环时间。

考虑两个有序的单一问题流水线处理器微体系结构。

uA1具有5级流水线和2 ns循环时间。 uA2具有10级流水线和1 ns周期时间。

完全缓存未命中必须(至少)从DRAM加载整个缓存行。 假设需要100 ns,包括行激活,行字的突发读取和行预充电。

当uA1进行高速缓存未命中时,它会停止100 ns,例如50个时钟周期,例如50个问题槽。 当uA2进行高速缓存未命中时,它会停止100 ns,例如, 100个时钟周期,例如100个问题插槽。

这里的缓存未命中惩罚(在错过的指令发布槽中表示)是更深层次流水线处理器中的两倍。