局部性原理及性能分析

本文主要介绍缓存的局部性原理以及性能分析

在这里插入图片描述

局部性原理

  • 空间局部性:在最近的未来,要使用的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的或者是连续的
  • 时间局部性:在最近的未来,要使用的信息,很可能是现在正在使用的信息
    在这里插入图片描述

上图是假设CPU从主存的存取数据的时间是1000ns,而CPU内部执行加法运算只需要5ns,那么可以得出图示的执行时间就是(取数据时间+存数据时间+加法运算时间)*次数= (1000+1000+5)*1000 = 2005us
如果引入高速缓存的来当作媒介,即 在主存和CPU中间加入了高速缓存cache,那么CPU与cache之间的存取时间也是5ns,以每次从主存中拿10个int值到cache中为例,则需要的总时间=(向主存中取数据时间+向cache取数据+加法时间+向cache存数据时间)*次数=(1000+5+5+5)*10 = 115us,由此可以看出性能提高了一个数量级
在实际的操作中与评估中,计算机不可能只进行类似的简单的运算,因此引入了下面的洗呢性能分析模型

性能分析

相关概念

  • 命中率:CPU要访问的信息已经在cache中的比例。设一个程序执行期间,cache的总命中次数为Nc,访问主存的总次数是Nm,则H=Nc/Nc
    +Nm
  • 缺失率:M = 1-H
  • 平均访问时间:设tc为命中cache的访问时间,tm为未命中时的访问时间,则系统的平均访问时间=命中率访问cache时间+缺失率访问主存时间,即:Ta = Htc+Mtm
    在这里插入图片描述

下面是一个性能分析的例题

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

micro_cloud_fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值