内存Cache直接映射、全相联映射和组相联映射
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存Cache直接映射、全相联映射和组相联映射相关的知识,希望对你有一定的参考价值。
参考技术A 1. 直接映射---- 一个内存地址能被映射到的Cache line是固定的。就如每个人的停车位是固定分配好的,可以直接找到。缺点是:因为人多车位少,很可能几个人争用同一个车位,导致Cache 淘汰换出频繁 ,需要频繁的从主存读取数据到Cache,这个代价也较高。
2. 全相联映射
---- 主存中的一个地址可被映射进任意cache line,问题是:当寻找一个地址是否已经被cache时,需要遍历每一个cache line来寻找,这个代价很高。就像停车位可以大家随便停一样,停的时候简单,找车的时候需要一个一个停车位的找了。
主存中任何一块都可以映射到Cache中的任何一块位置上。
全相联映射方式 比较灵活 ,主存的各块可以映射到Cache的任一块中,Cache的利用率高,块冲突概率低,只要淘汰Cache中的某一块,即可调入主存的任一块。但是,由于Cache比较电路的设计和实现比较困难,这种方式只适合于 小容量 Cache采用。
3. 组相联映射
---- 组相联映射实际上是直接映射和全相联映射的折中方案,其组织结构如图(3)所示。
主存和Cache都 分组 ,主存中一个 组内的块数 与Cache中的 分组数 相同,组间采用直接映射,组内采用全相联映射。也就是说,将Cache分成2^u组,每组包含2^v块,主存块存放到哪个组是固定的,至于存到该组哪一块则是灵活的。即主存的某块只能映射到Cache的特定组中的任意一块。主存的某块b与Cache的组k之间满足以下关系:k=b%(2^u).
计算机组成原理存储系统综合实验
以上是关于内存Cache直接映射、全相联映射和组相联映射的主要内容,如果未能解决你的问题,请参考以下文章
Cache与主存之间的全相联映射,直接映射和组相联映射的区别