高速缓冲存储器 Cache

在这里插入图片描述

命中率(Hit Rate):在任一时刻,CPU能从Cache中可靠获取数据的几率。
h = N c N c + N m h = \frac{N_c}{N_c + N_m} h=Nc+NmNc

丢失率(Miss Rate):所要访问的信息不在Cache中的比率。

工作原理

程序访问的局部性:

工作过程:CPU经常存取的数据、指令,被自动地从内存放进Cache,形成主存部分内容的副本。CPU会首先到副本中读取或写入数据,只有当Cache中没有所需数据或Cache已满无法写入,才对内存进行读写。空闲时,Cache会与内存交换数据,更新其中的副本。

基本结构

(1)Cache存储器

(2)Cache控制器

① 主存地址寄存器

② 主存-Cache地址变换机构

③ 替换控制

主存与Cache的地址映射

(1)全相联映射

在这里插入图片描述

在这里插入图片描述

(2)直接映射

在这里插入图片描述

在这里插入图片描述

(3)组相联映射

在这里插入图片描述

在这里插入图片描述

Cache的基本操作

(1) 读取结构

① 贯穿读出式(Look Through)

  • 工作过程:Cache档在主存之前,CPU对内存的所有数据请求,都首先到Cache,由Cache自行查找。如果命中,则切断CPU对内存的请求,并将数据送出;如果不命中,便将请求传送给主存

  • 优点:降低了CPU对主存的请求次数。

  • 缺点:延迟了CPU对主存的访问时间。

② 旁路读出式(Look Aside)

  • 工作过程:CPU发出数据请求,把请求同时送给Cache和主存。Cache速度快,先反映,如果命中了,Cache在将数据返回给CPU的同时并中断CPU对内存的请求;如果没在Cache命中,Cache便不做任何操作,由CPU访问主存。

  • 优点:消除了CPU对主存的访问时间的延时。

  • 缺点:CPU主动对主存访问,占用了一部分总线时间。

(2) 更新策略

① 写通法(Write Through)

  • 工作过程:CPU在向Cache写入的同时,也写入主存。

  • 优点:操作简单;维护了Cache与主存的内容一致性。

  • 缺点:由于主存的速度慢,降低了系统的写速度;并占用了总线时间。

② 写回法(Write Back)

  • 工作过程:当CPU对Cache写命令时,只修改Cache的内容,不利己写入主存,只有在该数据块被替换出Cache时,才将他写回主存。Cache中的每个数据块都设置了“修改标志位”,该数据块被修改过便为1,未被修改过则为0,当数据块被换出时,若标志位为1则将该数据块写入主存,否则弃之不顾。

  • 优点:由于每次不访问内存,减少了主存访问次数,提高了系统效率。

  • 缺点:存在Cache与主存数据不一致的隐患。

③ 写一次法(Write Once)

(3) 替换策略

① 近期最少使用替换策略(Least Recently Used,LRU)

② 最不经常使用替换策略(Least Frequently Used,LFU)

③ 随机替换策略(RAND)

④ 先进先出策略(FIFO)

性能

(1) 引起Cache脱靶的主要原因

程序被首次执行时,主存块尚不在Cache中

Cache容量太小,不能在执行过程中,将所需的指令和数据全部调入Cache,

(2) 提高Cache性能的方法

  • 增大Cache容量来降低不命中率。

  • 通过Cache的结构设计减少不命中率。

  • 通过预取计数提高命中率。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值