6.4.4 高速缓存的写策略
2025年09月26日
6.4.4 高速缓存的写策略
在Cache与主存储器之间保持一致性是很重要的。按照存储层次的要求,Cache内容应该是主存部分内容的一个副本,但是当执行写操作时,Cache控制器判断其地址是否定位在Cache中。如果在,CPU 的数据就会写到Cache中。对于如何和主存的内容保持一致,Cache控制器有以下几种主要的写策略。
1.写直通方式(write through)
任一从CPU 发出的写信号送到Cache的同时,也送到主存,以保证主存的数据能同步地更新。它的优点是操作简单,但由于主存的速度相对较慢,所以这种方式降低了系统的写速度并占用了部分总线时间。
2.写回方式(write back)
为了尽量减少对主存的访问次数,克服写直通方式中每次数据写入都要访问主存,从而导致系统写速度降低并占用总线时间的弊病,就有了写回方式。它的工作原理是:数据一般只写到Cache,而不写入主存,从而使写入的速度加快。只有当此数据块被换出时才写回主存。写Cache和写主存分开进行可明显减少写主存次数,但这样有可能出现Cache中的数据得到更新而对应主存中的数据却没有变(即数据不同步)的隐患,此时可在Cache中设置一个标志地址及数据陈旧的信息。
3.失效(invalidation)
当系统中存在其他微处理器或DMA(直接存储器存取)操作的系统部件时,主存储器即成为共享存储器。它们中的任何一方对主存储器都有可能覆盖写入。此时Cache控制器必须通报有关的Cache,它们的数据由于主存储器已被修改而成为无效,这种操作就称为Cache失效。