Support for three outstanding data cache misses?
请问这句话是什么意思呢?
这是cache硬件设计细节的参数,能减少pipeline停顿,增加L1 cache回填的带宽。
当L1 cache miss之后,cache控制逻辑会访问下级memory进行回填,这往往非常耗时,并且cache会block住后续的pipeline对cache的访问,从而使得memory访问延迟直接对pipeline可见。CPU支持3个outstanding cache miss,表示CPU可以在cache miss的情况下继续接受pipeline对cache的访问,直到第3次cache miss才会block pipeline。此时总共有3条cacheline在进行回填,相比于1 outstanding cache miss,cache回填带宽增加3倍。
William, 感谢详细的回答!
我有一个问题请教。如果l1 cache的回填需要等3个cache misses,那引起第一次cache miss的load需要等到第三次引起cache miss的load回填后才能拿到数据吗?这似乎有些问题,因为有可能永远都不出现第三次的cache miss load。
不是,3次cache miss和回填是相互独立的。1条cache line回填之后,触发这次cache miss的指令就拿到数据可以执行了。
OK, 大概理解了。多谢。