为什么不能使用多字块缓存写分配?

时间:2011-11-11 11:24:08

标签: caching mips

从我的计算机组织讲座权力点:

  

多字模块注意事项

     

...
  写未命中(D $)
  不能使用write标签,新的一个数据字   阻止,并且三个单词分配或将以“乱码”块结束   在缓存中(例如,对于4个字块,来自旧的新的if数据)   块),所以必须首先从内存中取出块并支付停顿   时间

我不明白为什么不呢?当数据被驱逐没有问题时,我仍然可以设置一个脏位并将所有单词写入较低级别?怎么会乱糟糟的东西?

1 个答案:

答案 0 :(得分:2)

当缓存块包含多个单词时, 可以使用write allocate。讲座只是说在执行写入分配时必须将高速缓存行中的所有单词从内存读入高速缓存块,然后在读取单词后,您将把数据从CPU写入高速缓存块。这意味着在可缓存写入上的高速缓存未命中的情况下,管道在从存储器读取数据所花费的时间内停止。

这可能比没有写入分配或写入缓存的缓存更慢。在这两种情况下,写入数据存储在待写入的缓冲区中以写入存储器,并且管道不会停止等待存储器访问完成。