cache写策略

cache写策略

写命中

全写法

当cpu对cache写命中时,必须把数据同时写入cache和主存,一般使用写缓冲

cpu不会一直在写入数据,当cpu去做其他事情的时候,会有一个控制电路,把数据从写缓冲逐一写入到主存

使用写缓冲,cpu写的速度很快,如果写操作不频繁,则效果很好,如果写操作很频繁,则可能会因为写缓冲饱和而发生阻塞

回写法

当cpu对cache命中时,之修改cache内容,不立刻写入主存,只有当此块被换出时才协写回主存

结合上一张的内容,也就是只有这个块被淘汰了,才会将数据写回到主存

因此,我们需要新增一个叫做脏位的标识,用于表示cache块是否被修改过

回写法会减少访问次数,但是存在数据不一致的安全隐患

写不命中

写分配法

当cpu对cache写不命中时,把主存中的块,掉入cache ,在cache中进行修改,通常搭配写回法使用

非写分配法

当cpu对cache写不命中时,只写入主存,不掉入cache,配合全写法使用

多级cache

现代计算机一般都使用多级cache结构

各级cache之间采用全写法和非写分配法

cache和主存之间用写回法和写分配法

计算cache容量

数据部分:cache总行数xcache行的数据部分位数

控制算法位:(有效位+替换算法位+脏位+tag标记位)xcache总行数

m路组相联,意味着每次标记同时和m行中保存的标记为比较,所以比较器需要m个

posted @ 2025-09-12 17:27  是我,米老鼠  阅读(13)  评论(0)    收藏  举报