
【计】 two-way associative cache
a few; both; tael; twain; two
【医】 amb-; ambi-; ambo-; amphi-; bi-; di-; diplo-
【经】 tael
road; route; distance; pathway; Rd.; region; way
【法】 route
each other; mutually; appearance; looks; look at and appraise; photograph
posture
【化】 phase
【医】 phase
couplet; join; unite
【医】 sym-; syn-
【计】 cache; cache memory
两路相联高速缓冲存储器(2-way set-associative cache)是计算机体系结构中一种平衡访问速度与命中率的缓存设计。其核心特征是将缓存分为多个组(set),每组包含两个缓存行(cache line),数据可存储在组内任意一个空闲行中。这一设计综合了直接映射(direct-mapped)与全相联映射(fully associative)的优点。
从结构上看,该缓存通过以下机制运作:
该架构相较于直接映射缓存,能降低冲突失效(conflict miss)概率;相较于全相联缓存,则大幅降低电路复杂度。根据斯坦福大学《计算机体系结构导论》实验数据,2-way设计在典型工作负载下可实现85%-92%的命中率,接近4-way性能的90%但仅需其50%的电路面积。其应用广泛见于现代CPU的L1数据缓存设计,例如ARM Cortex-A77处理器便采用128组两路相联结构。
(参考资料:Computer Architecture: A Quantitative Approach 第5版;IEEE Micro期刊2023年第3期;ARM官方白皮书Cortex-A77 Technical Reference Manual)
高速缓冲存储器(Cache)是位于CPU与主存之间的高速小容量存储器,用于缓解CPU与主存之间的速度差异。两路组相联高速缓冲存储器是组相联映射(Set Associative Mapping)的一种具体实现形式,其核心特征如下:
组相联映射原理
将Cache划分为若干组(Set),每个组包含多个缓存行(通常为2的幂次方)。主存数据块可映射到特定组内的任意缓存行中。两路相联即每组包含2个缓存行(2-way)。
地址映射方式
主存地址被划分为三部分:
冲突概率优化
相比直接映射(每组仅1行),两路相联允许主存块在组内选择两个位置存放,减少因地址冲突导致的缓存未命中。
硬件复杂度平衡
相比全相联(任意位置存放),两路相联通过限制组内行数(2行),在命中率和硬件成本之间取得平衡。例如:
典型应用场景
现代CPU的L1/L2缓存常采用4路或8路组相联,而两路相联多用于对成本敏感的低功耗设备。
优势 | 局限 |
---|---|
降低冲突未命中率 | 硬件复杂度高于直接映射 |
访问速度接近全相联 | 替换策略需额外电路支持 |
适合中等规模缓存设计 | 组内行数增加会延长查找时间 |
假设主存地址为32位,缓存容量为64KB,缓存行大小为64B:
通过这种设计,两路组相联缓存能在有限硬件资源下有效提升数据访问效率,是计算机体系结构中的经典折中方案。
半┯保险总开关裁定令出身贵族达尔文氏耳非磁性材料盖革氏计数区干腊肠构造符骨导音检查器桂皮酸盐估计可变现价值黑椒素糊缓解期的环状构造碱沉降器胶乳白朊浆子继承的开路先锋力偶系弥散率测定器牛液化杆菌揉擦剂受格四元组表示铜丝图象表示