22、缓存层次结构全解析:原理、策略与性能评估

缓存层次结构全解析:原理、策略与性能评估

1. 全关联缓存

全关联缓存的结构与组关联缓存有很大不同。在全关联缓存中,一个内存块可以映射到任何缓存行,因此块地址的任何位都不会限制在缓存中的搜索范围。目录中的缓存标签就是整个块地址。为了在缓存中找到该块,必须同时并行检查所有目录项。

1.1 访问步骤

读取或写入访问分两步进行:
- 第一步,将块地址标签(即块地址)与目录中存储的所有标签进行匹配。为此,目录由内容可寻址存储器(CAM)构成。RAM 和 CAM 的区别在于,RAM 通过地址访问,而 CAM 通过其某个字段的内容(这里是块地址)访问。标签总线线路贯穿整个目录,总线上的值会与目录中每个标签存储的值并行比较。
- 第二步,如果一个比较器检测到匹配,数据存储器中的行线将被激活,然后返回相应的数据。需要注意的是,搜索目录和匹配标签不能像组关联缓存那样与获取数据并行进行。而且,目录访问(包括信号在目录中传播和逻辑比较的 CAM 访问)比 RAM 访问(包括地址解码)慢。

1.2 优缺点

全关联缓存的目录每个条目都需要一个比较器,因此其密度低于 RAM。不过,由于内存块到缓存行的映射完全灵活,其命中率应该比组关联缓存更好。因此,在热点集冲突可能影响性能的情况下,全关联映射更适合小型缓存。全关联缓存可以看作是只有一个包含整个缓存的组的组关联缓存。

2. 替换策略

当访问一个内存块而该块不在缓存中时,会触发缓存未命中,并选择一个牺牲块在缓存中进行替换。牺牲块必须位于缺失块地址映射到的缓存行之一中。

2.1 不同缓存的替换情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值