深度 RISC 流水线中的缓存未命中损失

stu*_*ips 2 caching pipeline cpu-architecture

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

是否是因为如果在管道的后期发生未命中,则停顿时间会更长?或者是因为管道中的指令太多了?

Jan*_*ray 5

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

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

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

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

当uA1发生高速缓存未命中时,它会停止100 ns,例如50个时钟周期,例如50个发布槽。当uA2发生高速缓存未命中时,它会停止100 ns,例如100个时钟周期,例如100个发布槽。

这里,高速缓存未命中损失(以未命中的指令发布槽表示)在更深的流水线处理器中是两倍。