作者:被撑死的猫。。。 | 来源:互联网 | 2023-08-28 09:23
8、Cache写策略思维导图存在的问题Cache写策略写回法全写法写分配法非写分配法多级Cache思维导图存在的问题Cache写策略写回法先修改Cache中的数据,然
思维导图

存在的问题

Cache写策略

写回法

先修改Cache中的数据,然后通过脏位判断是否被修改过;若修改过写会主存,没修改过不必写会
CPU----->Cache------>主存
全写法

1、CPU往Cache写数据的同时也往主存中写数据,一直保存数据一致
2、由于CPU往主存中写数据很慢,所以需要一个写缓冲队列;
3、当往Cache1和Cache3写数据时,会按照某种方式往写缓冲中写一份,然后CPU可以继续做其他事情,写缓冲中的数据由专门的硬件电路写入主存
4、当写频繁时,有可能出现写缓冲满的情况,这时CPU会因为写缓冲饱和而发生阻塞
写分配法

1、未命中,则先将数据从主存调入Cache,然后在对Cache进行写,最后用写回法将Cache中的数据写会主存
非写分配法

CPU直接写入主存,不与Cache交互
多级Cache
