全相联缓存
概念
全相联缓存(Fully Associative Cache)中所有行组成一个组(即 S=1),每个地址可以映射到任何一行。
访问过程
- 没有组索引——地址中只有 tag 和 块偏移
- 将地址的 tag 与所有行的 tag 进行比较 3.如果任何一行匹配且 命中** 4.否则 不命中**
优缺点
| 优点 | 缺点 |
|---|---|
| 无冲突不命中 | 需要比较所有行的 tag |
| 空间利用率最高 | 硬件实现复杂、速度慢 |
| 替换策略灵活 | 不适合大容量缓存 |
应用场景
全相联缓存主要用于小容量但需要避免冲突的场景:
- TLB(Translation Lookaside Buffer,快表)— 虚拟地址到物理地址的映射缓存
- 处理器的小型专用缓存
- 容量通常较小(几十到几百行)
与直接映射对比
-直接映射:组索引决定唯一位置 冲突不命中 -全相联:任意位置 无冲突,但搜索成本高
- 是折中方案
全相联可以看作是 E = 总行数的组相联。
相关笔记:
链接到
- 上一个知识点:6.14 组相联缓存
- 下一个知识点:6.16 缓存写操作