计算机组成原理期末考试:Cache的写操作策略(通俗易懂)

更多期末复习笔记欢迎访问我的博客Miuuu · 语雀​​​​​​​​​​​​​​

Cache的写操作说的就是:你想把从图书馆(主存)借回来放在宿舍书架上(Cache)的书(副本)进行改动后,图书馆的书(原本)也要进行改动且与你在宿舍对副本改完之后的版本一致。(你自己就是CPU,你说了算,你要怎么改,无论副本原本都要按你的改)

由于Cache的内容只是主存部分内容的副本,他应当与主存内容保持一致。而CPU对Cache的写入更改了Cache的内容。如何与主存内容保持一致,可选用如下三种写操作策略:

(1):写回法:

            CPU写Cache命中时,只修改Cache的内容,而不立刻写入主存(只在宿舍改副本,不去图书馆改原本),只有当该行被替换出时才写回主存(要还这本书回图书馆时才去图书馆改原本)。

        此方法使得Cache真正在CPU——主存之间在读/写两方面都起到高速缓存的作用。对一个Cache行的多次写命中都在Cache中(宿舍)快速完成,只是需要替换时才写回速度较慢的主存,减少了访问主存(图书馆)的次数。

       用写回法,还要给每个cache行(每本书)配置一个修改位,以反映此行是否被CPU修改过(这本书是否被你改过),当这本书从书架被换出时,根据修改位是0/1,判断要不要写回主存(去图书馆修改原本)       (这本副本书没改过那肯定不用去图书馆改原本)

        若CPU写Cache未命中(要改的书不在书架上),将主存要改的那块整个复制到Cache后对其(副本)进行修改(去图书馆借书回来在宿舍改,改的还是副本,图书馆的原本不会一起变)。该书发生替换操作时才在图书馆把原本也改了。

这种方法(写回法),写Cache与写主存异步进行,可以显著减少写主存的次数(减少跑图书馆的次数),但存在不一致性的隐患

(2):全写法:

       当写Cache命中(要改的书在宿舍书架上),Cache与主存同时发生修改(在宿舍改完副本立刻跑去图书馆改原本),故此方法较好地维护了Cache与主存内容(副本与原本)的一致性。

       当写Cache未命中(要改的书没有从图书馆借回宿舍),则直接向主存进行写入(直接去图书馆改原本),此时是否将改过的主存块取到Cache(是否把改过的书借回宿舍),可借可不借。

(3):写一次法: (前两种的结合)

写命中和写未命中的处理方法与写回法(第一种)基本相同,只是第一次写命中时要同时写入主存(第一次发现要改的书在宿舍书架时,在宿舍改完副本立刻去图书馆改原本)。第一次发生后,CPU在总线上启动一个存储写周期。后面的时间与写回法完全一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值