cache基本原理及常用计算公式

请添加图片描述

这里写目录标题

    • cache基本原理
      • 1. cache的功能
      • 2. cache的基本原理
      • cache的命中率h
      • cache/主存系统的平均访问时间ta
      • cache的访问效率e
    • 例题

请添加图片描述

cache基本原理

1. cache的功能

cache 是一种高速缓冲存储器,是为了解决CPU 和主存之间速度不匹配而采用的一项重要技术。其原理基于程序运行中具有的空间局部性和时间局部性特征。
cache是介于CPU和主存之间的小容量存储器,但存取速度比主存快,容量远小于主存。cache能高速地向CPU提供指令和数据,从而加快了程序的执行速度。从功能上看,它是主存的缓冲存储器,由高速的SRAM 组成。为追求高速,包括管理在内的全部功能出硬件实现,因而对程序员是透明的

2. cache的基本原理

cache除包含SRAM外,还要有控制逻辑。若cache在CPU芯片外,它的控制逻辑一般与主存控制逻辑合成在一起,称为主存/chace控制器;若cache在CPU内,则由CPU提供它的控制逻辑。
CPU与cache之间的数据交换是以为单位,而cache与主存之间的数据交换是以为单位。一个块由若干字组成,是定长的。当CPU读取内存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在cache中,若是,则 cache 命中,此字立即传送给 CPU;若非,则 cache 缺失(未命中),用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到 cache 中。

cache的命中率h

从 CPU来看,增加cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。为了达到这个目的,在所有的存储器访问中由cache 满足 CPU 需要的部分应占很高的比例,即cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。
在这里插入图片描述
cache命中率=cache 完成存取的总次数/(cache 完成存取的总次数+主存完成存取的总次数)
在这里插入图片描述

cache/主存系统的平均访问时间ta

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

cache的访问效率e

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

例题

1,CPU 执行一段程序时,cache 完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。
解:
cache命中率=cache 完成存取的总次数/(cache 完成存取的总次数+主存完成存取的总次数)
有已知的命中率h为:
h=1900(1900+100)=0.95
r=250ns/50ns=5
e=1/(r+(1-r)h)=1/(5+(1-5)0.95)=83.3% (本人认为这似乎便麻烦了,没有直接算来的快)
ta=tc/e=50ns/0.833=60ns
直接算:
ta=h
tc+(1-h)tm=0.95x50ns+(1-0.95)x250ns=60ns
e=tc/ta=50ns/60ns=83.3%
这多简单,还省事。
2,已知cache 存储周期40ns,主存存储周期200ns,cache/主存系统平均访问时间为50ns,求 cache的命中率是多少?
提示:
在这里插入图片描述
利用此公式倒推即可得出命中率,剩下的就由自己算吧!~

请添加图片描述
感兴趣的宝子给点个👍支持一下吧😊😊😊
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值