计算机组成原理笔记——高速缓冲存储器

概述
使用原因:避免CPU空等现象。
在这里插入图片描述
程序访问的局部性原理:
程序访问的局部性是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。它们倾向于引用的数据项邻近于其他最近引用过的数据项,或者邻近于最近自我引用过的数据项。局部性通常有两种形式:时间局部性和空间局部性。

Cache的工作原理
在这里插入图片描述
命中和不命中
缓存有C块,主存有M块。M>>C
命中 主存块调入缓存
主存块与缓存块建立了对应关系
用标记记录与某缓存块建立了对应关系的主存块号

未命中 主存块未调入缓存

Cache的命中率
CPU欲访问的信息在Cache中的比率
命中率与Cache的容量和块长有关

例题:假设CPU执行某段程序时,共访问Cache命中2000次,访问主存50次。求Cache-主存系统的命中率。
命中率=2000/(2000+50)=0.97

一般每块可取4~8个字,块长取一个存取周期内从主存调出的信息长度

Cache-主存系统的效率
效率e与命中率有关
在这里插入图片描述
在这里插入图片描述
将主存地址映射到缓存中定位称为地址映射,将主存地址变换成缓存地址称为地址变换,当新的主存块需要调入缓存中,而它的可用位置又被占用时,需根据替换算法解决调入问题。

Cache读操作
在这里插入图片描述
Cache写操作
Cache和主存的一致性
写直达法
写操作时数据既写入Cache又写入主存。
写操作时间就是访问主存的时间,Cache退出时,不需要对主存执行写操作,更新策略比较容易实现。
写回法
写操作时只把数据写入Cache而不写入主存,当Cache数据被替换出去时才写回主存。
Cache退出时,被替换的块需写回主存,增加了Cache的复杂性。

Cache的改进

增加Cache的级数
片载(片内)Cache
片外Cache

统一缓存和分立缓存
指令Cache 数据Cache

Cache-主存的地址映射

直接映射
只能映射到固定的Cache块。结构简单,速度快。
在这里插入图片描述
每个缓存块i可以和若干个主存块对应
每个主存块j只能和一个缓存块对应
i = j mod C
不灵活,Cache利用率低,但是速度快。

全相联映射
在这里插入图片描述
主存中任意一块可以映射到缓存中的任一块,只要还有空闲的。
主存字块标记t+c位要存储到标记中,比较时长度比较长。
成本高,速度慢,但是Cache利用率高。

组相联映射
在这里插入图片描述
主存中的第0块可以放到缓存中第0组的任意一个位置。
速度快,Cache利用率高。

缓存的地址映射中,全相联映射比较多的采用“按内容寻址”的相联存储器来实现。

替换算法
如果Cache都被占用,需要有一个块被替换出来。要选择一个块退出。

先进先出算法
近期最少使用算法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值