Cache的访问策略--一图胜千言

本文收集了网络常见的cache访问策略讲解的图片。通过图片,可以锻炼我们的观察能力,提高我们的读图和绘图能力,发展我们的大脑!一起来看图!

一次内存访问的完整过程:

直接映射(模运算,1个Cache对应等差主存)

主存中的一个块只能映射到Cache的某一特定块中去

会出现cache颠簸的现象。例如result[i] = data1[i] + data2[i];

int *data1 =  0x40

int *data2 = 0x80

int *result = 0x00

全相联映射(多对多映射)

主存中任何一块都可以映射到Cache中的任何一块位置上。

组相联映射

主存和Cache都分组,主存中一个组内的块数与Cache中的分组数相

同,组间采用直接映射,组内采用全相联映射

4.1 直接映射优缺点

优点: 硬件实现简单,成本低.

缺点: 灵活性差。每个主存块只有一个固定的行可以存放,因此即便cache中有大量空闲cache line可用,某个cache line上的data仍可能被替换出去。如果cache容量比较小,则非常容易发生冲突,频繁替换(cache trashing),效率大大降低。

适用范围:直接映射方式一般用于大容量的cache中。

4.2 全相联映射优缺点

优点: 全相联映射方式比较灵活,主存的地址可以映射到Cache的任一cache line中,Cache的利用率高,cache line冲突概率低。

缺点: 硬件成本高,Cache比较电路的设计和实现比较困难。

适用范围:只适合于小容量Cache。

4.3 组相联映射优缺点

优点:cache line的冲突概率比较低,比较的硬件电路比全相联方式简单些,而且空间利用率比直接映射方式要高。

缺点:实现难度和造价要比直接映射方式高。

适用范围:绝大部分cache都采用这种折中方案。

参考文章:

  1. 1.巧妙的停车场比喻

图解直接映射(Direct mapped)、全相联(Fully-associative)和组相联(Set-associative)cache缓存基本原理_直接映射全相联映射组相联映射-优快云博客

  1. 2.带颜色的彩图

cache全相连、组相连、直接映射 - kiss0 - 博客园 (cnblogs.com)

  1. 3.硬核的一次内存访问来源

Cache直接映射、组相连映射以及全相连映射(转载) - east1203 - 博客园 (cnblogs.com)

  1. 4.访问量最高,但是图片清晰度最低的文章

cache地址映射,全相连、直接、组相联_全相连、直接相连,组相连-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值