1、高速缓存存储结构<?xml:namespace prefix = o />
注:set(组)
组索引位告诉我们这个字必须存储在那个组中;然后A中t个标记位告诉我们这个组中的那一行(if any)包含这个字;当且仅当设置了有效位并且该行的标记位与地址A中的标记位相匹配时,组中的这一行包含这个字;确定行后,b个块偏移位给出了在B个字节的数据块中的字偏移。
2、直接映射高速缓存
每个组只有一行(E = 1)的高速缓存被称为直接映射高速缓存(direct-mapped cache)。
高速缓存确定一个请求是否命中,然后抽取出被请求的字的过程,分为三步:组选择,行匹配,字抽取。
如果把高速缓存看作一个关于组的一维数组,那么这些组索引就是一个到这个数组的索引。如果我们把块看作一个字节的数组,而字节偏移是这个数组的一个索引。
用中间位做索引是为了提高缓存利用率。
<Computer Systems:A Programmer's Perspective>