高速缓冲存储器Cache的映射方式

存储系统的层次结构

为了解决容量,速度,价格之间的矛盾,把各种不同存储容量,不同存取速度,不同价格的存储器,按照一定的体系结构组织起来,使得所存放的程序和数据按照层次分布在各个存储器中,形成多层次的存储系统
在这里插入图片描述

  • 从整体看,Cache——主存层次的存取速度接近于Cache的存取速度,但容量接近于主存
  • 解决了高速的和低成本之间的矛盾
  • 这个层次完全由硬件实现,对用户是透明的
  • 在这里插入图片描述

高速缓存存储器的工作原理

程序的局部性原理:时间局部性和空间局部性

程序访问的局部性原理
时间局部性原理:当前正在使用的数据或指令在不久的将来还会被使用,那么当前正在使用的指令或数据,我们应该放到Cache,将来在使用的时候,就直接从Cache中取出
空间局部性原理:当前正在使用的数据或指令在不久的将来,相邻的指令或数据可能被用到,我们就把当前正在使用的数据或指令从内存中放到Cache,同时还需要把相邻的指令和数据也放入到Cache中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Cache地址映射(映像)方式

  • 地址映射:应用某种函数把主存地址映射为Cache地址,称为地址映射
  • 全相联映射
  • 直接映射
  • 组相联映射
    为了后续方便学习,我们先进行假定
    在这里插入图片描述

全相联映射

CPU和Cache进行交互,但是Cache里面的内容是从主存放进来的
在这里插入图片描述
在这里插入图片描述
低五位的地址指明在块内的地址
高四位的地址指明在哪一块,也就是块号,在0号块,1号块…
Cache里面的tag(标记)表名的是块号,也就是记录对应主存所在块号,占4位,2^4=16
如果我们要比较Cache是否命中,由于全相联是任意放的,利用率高,但是我们需要逐行比较是否命中,效率低
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

直接映射

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

组相联映射

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_52797170/article/details/125427600