块内地址:是指你要访问这个块内的哪个字节

主存按照cache的容量先来分区,然后每个区的内部按照与cache相同的规则来分组,然后每个组的内部跟按照与cache相同的规则来分块。

<>练习

【例一】

【例二】
根据题目给的条件进行的分析过程:

组相联中,查目录表的目的是我们确定了主存的某区某组某块装到了cache的某组里去了,但是装到哪一块去了,我们并不知道,需要查目录表才能得知。所以最后
cache中对应的地址是主存地址中的组号+目录表中得到的cache组内块号+主存地址的块内地址进行拼接

【例三】

如果今后遇见需要算目录表存储容量的题目,记住:上题中目录表高位的行号(对应cache的块号)是不需要存储的(例如:组相联中组号和cache组内块号都不需要算进容量里),因为cache有多少行(块)目录表就有对应的几行(块),以例三为例,左下方的目录表的容量为:(13bit+2bit+1bit)*行数
其中,13bit为主存区号的位数,2bit为主存组内块号的位数,1bit为有效位,行数就是cache的块数


当然,如果题目中提到了写回法或者替换策略,则在计算目录表的容量时,每行还需要考虑修改位数或者计数器的位数。有效位是必须要考虑的!!!然鹅,上面例题为了更加理解地址映射和地址变换的过程,均简化了目录表,也就是均未提及~~

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信