当系统将数据写入缓存时,它必须在某个时刻将该数据写入后备存储。
为什么呢?我的课程说明并不能证明这一点。是否有任何组件,但处理器对缓存中的内容感兴趣?显然这种镜像甚至不是很紧急,因为我们可以推迟写作......
此写入的时间由所谓的写入策略控制。
有两种基本的写作方法:
...
回写(或后写):最初,只对缓存进行写入。对后备存储的写入被推迟,直到包含数据的缓存块即将被新内容修改/替换。
所以它被推迟,直到即将被替换?这有什么意义 - 你正在镜像你知道即将改变的信息!当添加块时,为什么不这样做?
答案 0 :(得分:1)
让我们假设我们正在讨论CPU缓存。实际上,以下规则适用于所有类型的回写高速缓存(例如数据库等)。
缓存的一个目标是使用时间局部性:少量内存地址经常写入(" hot"地址),而所有其他地址都是& #34;冷&#34 ;.例如" hot"地址是程序的堆栈,因为每次程序进入函数时,参数都会被复制到堆栈中,每次程序存在函数时,都会从中删除参数。因此,不断重用相同的堆栈地址。在这种情况下直接使用RAM会非常慢(RAM延迟约为200个CPU周期,L1缓存延迟仅为~4个周期)。这就是为什么当执行写操作时,它只修改缓存条目,并且此缓存条目也标记为"脏"。当以下事件之一发生时,此缓存条目将在稍后与RAM同步: