zl程序教程

您现在的位置是:首页 >  其它

当前栏目

32Cache写策略

策略
2023-09-27 14:22:14 时间

Cache写策略:因为Cache中的内容是主存块副本,当对Cache的内容进行更新时,就需选用写操作策略使得Cache内容和主存内容保持一致。
对于Cache写命中,有两种写操作策略:全写法和写回法
1、 全写法:当CPU对Cache写命中时,必须把数据同时写入Cache和主存。当某个块需要替换时,不必把这一块写回主存,将新调入的块直接覆盖即可。优点:实现简单,能随时保持主存数据的正确性。缺点:增加了访存次数,降低了Cache效率。
写缓冲:为减少全写法直接写入主存的时间损耗,在Cache和主存之间加一个写缓冲。CPU同时写数据到Cache和写缓冲中,写缓冲再控制将内容写入主存。写缓冲是一个FIFO队列,写缓冲可以解决速度不匹配问题。频繁写入时,会使写缓冲饱和溢出
在这里插入图片描述

2、写回法:当CPU对Cache写命中时,只修改Cache的内容而不立即写入主存,只有当此块被换出时才写回主存。这种方法减少了访存次数,但存在不一致隐患。采用这种策略时,每个Cache行必须设置一个标志位,以此反应此块是否被CPU修改过。
3、全写法和写回发都对应于Cache写命中的情况。
对于Cache写不命中,也有两种处理方法:
3.1、写分配法:加载主存中的块到Cache中,然后更新这个Cache块。师徒;利用程序空间局部性,但是缺点是每次不命中都需要从内存中读取一个块。
3.2非写分配法;只写入主存不进行调块

在这里插入图片描述
在这里插入图片描述