并行计算机架构中的缓存技术详解
1. 不同类型的缓存映射方式
在并行计算机架构中,缓存映射方式是提升系统性能的关键因素之一。常见的缓存映射方式有全相联缓存、组相联缓存等。
1.1 全相联缓存
全相联缓存允许每个内存块放置在缓存的任意位置,克服了直接映射缓存的局限性。在全相联缓存中,内存地址可划分为块地址(最左边的 s 位)和字地址(最右边的 w 位),整个块地址用作标签并与缓存块一起存储,以便识别存储的内存块。
| 地址部分 | 位数 |
|---|---|
| 标签 | s |
| 字地址 | w |
要检查给定的内存块是否存储在缓存中,需要搜索缓存中的所有条目,因为内存块可以存储在缓存的任意位置。全相联缓存的优点是在将内存块加载到缓存时具有更高的灵活性,但缺点也很明显,每次内存访问都需要考虑所有缓存位置,这需要使用单独的比较器进行并行搜索,显著增加了硬件开销,并且每个缓存块存储的标签比直接映射缓存大得多。因此,全相联映射仅适用于位置数量较少的缓存。
1.2 组相联缓存
组相联缓存是直接映射缓存和全相联缓存之间的折衷方案。缓存被划分为 v 个组 S0, …, Sv - 1,每个组由 k = m / v 个块组成。内存块 Bj 映射到缓存中的一个唯一组,在该组内,内存块可以放置在该组的任何缓存块中。 </
超级会员免费看
订阅专栏 解锁全文
1564

被折叠的 条评论
为什么被折叠?



