高速缓存根据每组不同的高速行数,分为下面三种。分别是,每组一行,每组多行,只有一组(也就是一组里面包含了缓存器的所有行。)
1:直接映射高速缓存。
2:组相联高速缓存。
3:全相联高速缓存。
1:将数据通过模运算直接映射到高速缓存上。这存在很多问题,比如当程序访问大小为 2 的幂次的数组时,直接映射高速缓存通常会出现将两个数组下标相同的数据映射到同一个位置,从而导致缓存块的抖动。
2:将高速缓存分组,通过模运算会得到高速缓存组数个映射位置,这时可以挑选缓存相应位置上为空的位置来存放新数据。
3:随机映射,寻址的时候就便利所有的。