【计算机组成原理】cache和主存的映射

一、三种映射模式

1、直接映射

直接映射的地址结构:

标记 chache行号 块内地址

直接映射模式:
在这里插入图片描述

2、组相联映射

组相连映射的地址结构:

标记 chache组号 块内地址

在这里插入图片描述

3、全相联映射

全相联映射的地址结构:

标记 块内地址

在这里插入图片描述
全相联就比较牛逼了,核心思想是,主存块随便往cache里面装,每一块怎么映射呢?答案是不需要映射。全相联采用昂贵的按内容寻址的相联存储器(按照标记内容去寻址),不需要费脑子去映射。但也导致它被考到的频率最低。。如果cache已经装了n块,主存再传一个块过来,无论其地址多少,只要cache还有位置就放在n+1块。

二、cache每行(块)里面的东西

有效位 脏位 替换控制位 标记位 数据

有效位:恒存在,永远占一位
脏位:只有写回法会有,详情见下面的cache写策略
替换控制位:对于n路组相联,LRU需要 l o g 2 n log_2{n} log2n位(每组的组内地址长度),具体参考《操作系统》中替换算法。
标记位:和主存中的标记位时一回事,标记位的存在将主存块和cache块联系在一起。
数据:虽然看上去俺是最短的,其实俺占的空间是最最最最最最多的。。。前面的都是为俺服务滴!

三、cache写策略

1、全写法(cache命中)

用户往cache写东西同时往主存写东西,二者同时访问。

2、写回法(cache命中)

用户先往cache写东西写完cache里面的东西再往主存传,脏位就是为了看当前cache是不是处于已经被用户写但还没有被传主存状态的一个标志位。

3、写分配法(cache不命中)

先从主存调一块到cache,然后再写。。。

4、非写分配法(cache不命中)

直接写到主存。
其中,非写分配法+全写法
写分配法+写回法
记忆:非全(非全日制)

扫描二维码关注公众号,回复: 12716197 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_39529891/article/details/107993402
今日推荐