高速缓存概述

目录

 

1.存储器的层次结构 

2.cache概述

3.Cache的映射方式


1.存储器的层次结构 

高速缓存概述

数据总是在相邻两层之间进行复制传送,为什么这种结构有效?

程序的空间局部性和时间局部性。刚访问过的单元不久可能还会被访问,刚刚访问过单元的附近单元可能会被访问。

高速缓存概述

2.cache概述

程序具有访问局部性特征的原因

  • 指令:指令按序存放,地址连续,循环程序段或子程序段重复执行
  • 数据:连续存放,数组元素重复、按序访问

高速缓存概述高速缓存概述

 

  • 如何分块?
  • 主存块和Cache之间如何映射?
  • Cache已满时,怎么办?
  • 写数据时怎样保证Cache和MM的一致性?
  • 如何根据主存地址访问到cache中的数据?
    ......

     

3.Cache的映射方式

  • 直接(Direct) :每个主存块映射到Cache的固定行
  • 全相联(Full Associate) :每个主存块映射到Cache的任一行
  • 组相联(Set Associate) :每个主存块映射到Cache固定组中任一行

①直接映射:

主存和Cache之间直接映射,块大小为16B。Cache的数据区容量为64KB,主存地址为32位,按字节编址。

 

高速缓存概述高速缓存概述

硬件实现的:一条指令执行的过程,取指令和取操作数。

容量4Kx(1+16)+64Kx8=580Kbits=72.5KB,
数据占64KB/72.5KB = 88.3%
 

特点:

  • 容易实现,命中时间短
  • 无需考虑淘汰(替换)问题
  • 但不够灵活, Cache存储空间得不到充分利用,命中率低
     

②全相联

高速缓存概述高速缓存概述

特点:

  • 冲突缺失概率为0
  • 命中时间长
  • 比较器长,tag长,开销成本大

③组相联

高速缓存概述高速缓存概述