1.直接映射
直接映射是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。cache的行号i和主存的块号j有如下函数关系:
i=j mod m
m为cache中的总行数
注意画红方框中的符合代表含义
优点: 结构简单、查找速度快
缺点: Cache的利用率较低
2.全相联映射
主存中的任一块可以映射到缓存中的 任一块
优点: Cache的利用率较高。
缺点: Cache-内存的寻址比较复杂,电路实现比较繁琐。
3.组相联映射(重点)
组相联映射方式是前两种方式的折中方案,它适度地兼顾了二者的优点又尽量避免二者的缺点。这种方式将cache分成u组,每组v行。主存块存放到哪个组是固定的,取决于主存块在主存区中是第几块。至于存到改组哪一行是灵活的,即有如下函数关系:
m=u*v
组号 q = j mod u
下面用一个例题来看组相联映射方式