计算机体系结构量化研究方法(第五版)学习笔记——缓存一致性
主要内容
1、缓存一致性的问题来源
2、存储器一致性的概念
3、一致性的基本实现方案
问题由来
大型、多级缓存可以充分降低处理器对存储带宽的需求。
采用对称共享存储器的计算机通常支持对共享数据与专用数据的缓存。
多处理器之间的通信基本上是通过读写共享数据实现。为了降低访问延迟和所需要的存储器带宽,会在多个缓存中复制共享值,这也就引入了一个问题——多处理器缓存一致性。
问题的根源在于每个处理器都认为自己是可以对数据进行读写的,并且存在多份数据,一个处理器对数据进行修改后,其他处理器如果“不知道”的话,会延续使用最开始缓存的数据。(原书中的描述为:既拥有全局状态,又拥有本地状态,因此会产生一致性的问题)
一致性概念
如果存储器系统满足以下条件,则可以称之为是一致的:
1、处理器P读取位置X,在此之前是由P对X进行写入,在P执行的这一写入与读取操作之间,没有其他处理器对位置X执行写入操作,此读取操作总是返回P写入的值;
2、一个处理器向位置X执行写入操作之后,另一个处理器读取该位置,如果读写操作间隔时间足够长,而且在两次访问之间没有其他处理器向X写入,则该操作返回写入值;
3、对同一位置执行的写入操作被串行化,在所有的处理器看来,任意两个处理器对相同位置执行的两次写入操作看起来是相同的操作。
一致性模型确定了向同一个存储器位置的读写行为
一致性的基本实现方案
目录式——特定物理存储块的共享状态保存的位置称为目录。其中,在SMP中可以使用一个集中目录,在DSM中,使用分布式目录,但是更为复杂。
监听式——如果一个缓存拥有某一个物理存储块中的数据副本,它就可以跟踪该块的共享状态,而不是把共享状态保存在同一个目录中。在SMP中,所有缓存可以通过某种广播介质访问,所有缓存控制器都监听这一个介质,已确定自己是否拥有该总线或交换访问上所请求块的副本。
参考文献
《计算机体系结构量化研究方法(第五版)》第五章