Cache的原理与地址映像机制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主存和缓存的编址
主存储器 主存块号
标记
Cache
缓存块号
字块 0 字块 1
0 0 1
字块 0
字块 1
……
……
1
~
2 -1
n位
m
~
字块 M-1
2c-1
~ ~
c位
~ ~
字块 C-1
m位
主存块号 M块
b位
块内地址 B个字
b位
缓存块号 块内地址 C块 B个字
二、地址映像机制
地址映像机制
AC = f ( A M )
Cache原理 与地址映像机制
重点
Cache的工作原理 Cache的基本结构 地址映像机制 替换策略
一、Cache的工作原理
1. 问题的提出
CPU 和主存(DRAM)的速度差异
避免 CPU “空等” 现象
程序访问的局部性原理
时间局部性
空间局部性
一、Cache的工作原理
1. 问题的提出
CPU 和主存(DRAM)的速度差异
tc × 100% 则 e= h × tc+ (1-h)× tm
3. Cache 的 读 操作
开始 CPU发出访问地址 是 命中? 否 Cache满? 否 访问Cache 取出信息送CPU 访问主存 取出信息送CPU 将新的主存块 调入Cache中 执行替换算法 腾出空位

结束
4. Cache 的基本结构
并行查找
硬件: 相联存储器 单体多字存储器
二、地址映像机制
练习
某计算机cache采用4路组相联映像, 已知cache容量为16KB,主存容量为 2MB,每个字块有8个字,每个字32位。 (1)主存地址多少位,各字段如何划分? (2)设cache起始为空,CPU从主存单元 地址0开始依次读出101个字,并重复此次 序读11次,求命中率。 (3)若cache速度是主存的5倍,问采用 cache比不采用cache速度提高多少?

二、地址映像机制
3. 组相联
特点:
主存地址块映射到Cache的固定组中 的任意块 直接映像和全相联映像的折衷
二、地址映像机制
3. 组相联
若主存第i 块映象第k 组,则:
k=i mod(Q) (Q为Cache的组数) 设Q=2q,则当表示为二进制数时,k实 际上就是i 的低 q 位: i: k q位
字块2c+1-1
字块2c+1
… …
c位
m位
b位
字块2m-1
不命中
二、地址映像机制
1. 直接相联
特点:
主存地址块映射到Cache的固定块
j=i mod (M )
实现简单 空间利用率低,冲突概率高
二、地址映像机制
2. 全相联
Cache 存储器 m = t+c
标记 标记 字块0 字块1 …
主存储器
常用的地址映像方式 直接映像方式
全相联映像方式
组相联映像方式
二、地址映像机制
1. 直接相联
t位 Cache存储体 0 标记 * 1 标记
比较器(t位) 主存储体
字块 0 字块 1
字块0 字块1


字块2c-1
2c-1
标记 字块
2c-1
字块2c
字块2c +1
=
有效位=1? 是 命中 否
≠ 主存地址 Cache 主存字 字块 块标记 字块地址 内地址 t位
标记 标记 字块 0 字块 2 标记 标记 字块 1 字块 3
主存储器
字块0
字块1 字块2c-r - 1 字块2c-r
字块2c-r + 1
0
1





2 -1
c-r
标记 字块 2c-2 主存地址
标记 字块 2c-1 字块内地址 b位

主存字块标记
组地址
q = c-r 位 s=t+r 位 m位
字块2c-r+1 字块2m-1
避免 CPU “空等” 现象
CPU 缓存
容量小 速度高
主存
容量大 速度低


2. Cache的命中率
命中
主存块 调入 缓存 主存块与缓存块 建立 了对应关系
标记记录 与某缓存块建立了对应关系的 主存块号 未命中
主存块 未调入 缓存
主存块与缓存块 未建立 对应关系
命中率
CPU 欲访问的信息在 Cache 中的 比率
二、地址映像机制
3. 组相联
n 路组相联:每组中有n 个块(n=M/G )
n 称为相联度。
相联度越高,Cache空间的利用率就越高,
块冲突概率就越低,命中率也就越高。
全相联 直接映象 组相联
n (路数) M 1 1<n<M G (组数) 1 M 1<G<M
二、地址映像机制
4. 查找方法
基于目录表的查找
二、地址映像机制
4. 查找方法
基于目录表的查找
只需查找候选位置 所对应的目录表项
二、地址映像机制
4. 查找方法
并行查找 顺序查找
二、地址映像机制
4. 查找方法
顺序查找
主候选位置 (MRU块)
二、地址映像机制
4. 查找方法
并行查找
硬件: 相联存储器 单体多字存储器
二、地址映像机制
4. 查找方法
命中率 与 Cache 的 容量 与 块长 有关 H
C
命中率
CPU 欲访问的信息在 Cache 中的 比率
命中率 与 Cache 的 容量 与 块长 有关
H 1 容量大
容量小 BC
Cache –主存系统的效率
效率 e 与 命中率 有关
访问 Cache 的时间 e= × 100% 平均访问时间
设 Cache 命中率 为 h,访问 Cache 的时间为 tc , 访问 主存 的时间为 tm
地址总线
由CPU完成
访问主存 替换Cache
主存块号
块号
块内地址
Cache Cache 替换机构 替换机构

可装进?

命中?
主存Cache 地址映像 变换机构

访问主存装入Cache 是 是 Cache地址 直接通路 块号 块内地址
CPU

Cache存储体
Cache 存储体
数据总线
二、地址映射机制
字块0
字块1 … 字块2c-1
标记
字块2c-1

主存地址
主存字块标记 字块内地址
字块2m-1
m=t+c位
b位
二、地址映像机制
2. 全相联
特点:
主存地址块映射到Cache的任意块 空间利用率高,冲突概率低 实现复杂
wenku.baidu.com、地址映像机制
3. 组相联

Cache 共 Q 组,每组内两块(r = 1)
相关文档
最新文档