0%

3.5.3-Cache与主存的映射方式

💡 TIP

相关链接|

image-20241226111710525

⚠️ WARNING

注意!

无论一个主存块是多大的,系统均按字寻址

如果一个主存块的大小不是一个字节,则题目给出的地址最后几位一定有块内地址

全相联映射

image-20241226111947501

💡 TIP

提高了命中率,只要cache没有满,就可以存

直接映射

image-20241226113021569

块号末尾三位,反应了应该存放在Cache块中的哪个位置

实际在cache存放标记时,也只需要存放前面19位,末尾三位与块号直接对应,无需存放。

image-20241226113503748

💡 TIP

相关例题

image-20250101172625852

image-20250101172645834

解题方略

在做该类型的题目时,可以先将题目给出的主存地址化为二进制,不能偷懒!,不要觉得扣着算更快!,先化成二进制在计算更加直观,在打草稿时也更好记录,自然可以做的更快。

另外,要注意给出的地址中后几位往往包含块内地址块内地址,是不参与映射运算的

所以在做题目时,要先看看块内地址是几位,如果块大小不是16整数倍字节,扣扣做题方式可就非常了,因为不好扣了\哭笑 \手动狗头,所以还是规范一下做这类题目时还是把地址化化,好歹化成二进制好算,又不是计网,爆炸级的位数要分段算。

image-20250101174233630

image-20250101174253290

盖亚!,怎么说129号单元也带块内地址啊!

绷绷绷🖥️🦐

组相联映射

image-20241226113753352

💡 TIP

关于题目中说的 X路组相联映射

即,每组X块

例如,二路组相联映射方式,即每组2块

💡 TIP

相关例题

image-20250101182338250

image-20250101182405816

还是扯上比较器了,基础课和课本里都没有

比较器用于并行的比较分组中所有Cache行的Tag标记与欲访问物理地址的Tag标记位

即,一个分组中一个Cache块和一个比较器相连

在找的时候,首先根据主存块号直接就可以确定组号,然后就要解决主存块到底存在这个分组中哪个Cache块,然后为了加快查找速度,所以设计了这个比较器。

估计是这样的:用一个与门把对应位连起来,然后输出1就是相同,输出0就是不相同

最后在一起与一下就是当前Cache块是否匹配了。

总结

image-20241226113823483


(完)