【Cache缓存】两路组相连和全相连 - 详解
2025-12-03 14:19 tlnshuju 阅读(24) 评论(0) 收藏 举报目录
两路组相连缓存(Two-way set associative cache)
两路组相连缓存(Two-way set associative cache)
将cache平均分成2份,每份32 Bytes。如下图所示。就是假设64 Bytes cache size,cache line size是8 Bytes。将cache平均分成多份,每一份就是一路(way)。因此,两路组相连缓存就

cache被分成2路,每路包含4行cache line。将所有index一样的cache line组合在一起称之为组 (set)。
例如,上图中一个组有两个cache line,总共4个组。大家依然假设从地址0x0654地址读取一个字节数据。由于cache line size是8 Bytes,因此offset需3 bits,这和之前直接映射缓存一样。不一样的地方是index,在两路组相连缓存中,index只需要2 bits,因为一路只有4行cache line。上面的例子根据index找到第2行cache line(从0开始计算),第2行对应2个cache line,分别对应way 0和way 1。因此index也允许称作set index(组索引)。先根据index找到set,然后将组内的所有cache line对应的tag取出来和地址中的tag部分对比,如果其中一个相等就意味着命中。
因此,两路组相连缓存较直接映射
浙公网安备 33010602011771号