前言
与主存容量相比,cache的容量很小,为了把主存块放到cache处,必须应用某种方法把主存地址定位到cache中,称作地址映射。
地址映射分为:全相联映射、直接映射、组相联映射
上图:
一、全相联映射
优点:存放位置更灵活,命中率更高
将主存中的块随机映射到cache中的行,那么我们该如何区分cache中每一行对应主存中的那一块呢?
这就需要将块地址储存在cache中的标记部分,并在最前面加上有效位,来区分某一行是否被访问
二、直接映射
优点:比较器电路简单,硬件投资少
直接映射通过对主存块号进行函数处理,再将其存放在cache中的相对应的位置上,相比于全相联映射,我们可以发现,cache上相对应的位置下标与组地址可以相互表示,因此,这几个位置可以不储存,也就等于cache字块地址。
三、组相联映射
组相联是前两种方案的折中,先对cache进行分组,主存中的块储存到cache中的组是固定的,储存到cache中的块是随机的。内存地址由标记处、组号、字地址组成。