高速缓冲器(cache)基本概念

高速缓冲器(cache)基本概念

1. 问题提出

一是由于i/o设备与cpu之间会争访内存,导致降低cpu的效率,则可以在cpu与主存之间加上一级缓存.二是,因为摩尔定律的原因cpu的速度远远高于主存的速度,再加上存储体系的原因,越快速度的存储器成本越高,就需要一个高速缓存来解决主存与cpu速度不匹配的问题

cache出现使cpu不直接访问主存而存取信息.根据程序访问的局部性原理,将近期cpu访问的数据提前从主存送至cache,则可以在一段时间内cpu只需访问cache,就解决了容量与速度的矛盾

2. cache的工作原理

cache-主存结构:

主存中由2n个可编址的字构成,每个字由惟一的n位地址构成。但是由于cache的大小远小于2n,但为了能与主存映射,将主存与cache进行分块处理,每块内包含若干个字(也就是存储字),cache与主存的块大小相同(即字数相同)。其中主存中每个字地址被分为两段:高m位作为块号,可得2m=M,M则为块数。低b位位块内地址(第几个字)那么2b=B,B则为每块中的字数(注意字数主存与cache相同)。

cache中高c位为块数,2^c=C,且因为cache容量远小于主存,则cache地址位数远小于主存,且主存与cache的块内字数必须相同,则可得出C<<M,后b位同主存。

名词整理:

M 主存块数

C cache块数

B 块长(块内字数)

在这里插入图片描述

cache命中:

在任意时刻主存中有一些块在cache中方,当cpu欲读取某字时候,有且仅有两种情况:1.所需的字已在cache中,可直接访问cache,称命中。2.所需的字不在cache内,此情况时将字所在的主存整个字块一次调入cache中(已知cache与主存中按字块去传送),称未命中。且程主存块与缓存块建立对应关系。

缓存块数远小于主存块数,故每个缓存块不可能只对应一个主存块,故每个缓存块需要一个标记,来表示当前块是哪一个主存块,cpu读取信息时,只需将高m位与标记进行比较即可知道是否命中.

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值