计算机组成原理第四章

24
计计计计计计计计计计 计计计计 计计计计计计计计计计计 计计

description

计算机组成原理第四章. 知识点三:高速缓存存储系统. 主讲教师:吴非. 问题引入. 如何解决 CPU 和主存性能不平衡的问题?. 学习建议.  系统观: 与计算机的系统组织联系在一起,理解运算器、控制器、存储器的数据传输机制,计算机性能除了与 CPU 有关外, 更多的需要考虑 CPU 和主存之间带宽平衡问题。 构造观: 理解 cache 存储系统的原理和几种实现方式的异同,对性能的影响。. 1. 解决 CPU 与主存带宽不平衡的方法. 主存采用更高速的材料,缩短读写时间; 增加字长,在每个存储周期中存取多个字; 采用双端口存储器; - PowerPoint PPT Presentation

Transcript of 计算机组成原理第四章

Page 1: 计算机组成原理第四章

计算机组成原理第四章

知识点三:高速缓存存储系统

主讲教师:吴非

Page 2: 计算机组成原理第四章

问题引入如何解决 CPU 和主存性能不平衡的问题? 学习建议

系统观:与计算机的系统组织联系在一起,理解运算器、控制器、存储器的数据传输机制,计算机性能除了与CPU 有关外, 更多的需要考虑 CPU 和主存之间带宽平衡问题。

构造观:理解 cache 存储系统的原理和几种实现方式的异同,对性能的影响。

Page 3: 计算机组成原理第四章

1. 解决 CPU 与主存带宽不平衡的方法 主存采用更高速的材料,缩短读写时间; 增加字长,在每个存储周期中存取多个字; 采用双端口存储器; 将主存划分为多个模块,多模块并行; 在 CPU 和主存间插入高速缓冲存储器

(Cache) 。

Page 4: 计算机组成原理第四章

2. 多体交叉存储器

高位交叉, 扩展容量 低位交叉, 提高速度

Page 5: 计算机组成原理第四章

3. Cache 基本思想和组织方式 程序局部性原理例 . 以下程序 A 和 B 中,哪一个对数组 A[2048][2048] 访问

的空间局部性更好?时间局部性呢?

Page 6: 计算机组成原理第四章

数组 A :访问顺序为 A[0][0], …,

A[0][2047]; 与存放顺序一致,故空间局部性好!但每个 A[i][j] 只被访问一次,故时间局部性差!

Page 7: 计算机组成原理第四章

数组 A :访问顺序为 A[0][0] - A[2047]

[0]; 与存放顺序不一致,每次跳过2048 个单元,若主存与 Cache 之间交换信息的块小于 2KB ,则没有空间局部性!

(每个数组变量只被访问一次,没有时间局部性,同程序 A )

Page 8: 计算机组成原理第四章

3. Cache 基本思想和组织方式 Cache 的结构

数据存储体 标记存储体 有效位

有效位( valid

标记存储体

数据存储体

Cache的行

Page 9: 计算机组成原理第四章

3. Cache 基本思想和组织方式 应用于 cache 的主存地址格式

块地址(标记,索引) + 块内偏移 索引是作为 Cache 存储体的地址指示器 标记作为判断 CPU 要访问的内容是否在 Cache

中的依据

主存块地址标记 索引 块内偏移地址

Page 10: 计算机组成原理第四章

3. Cache 基本思想和组织方式 Cache 的组织和访问

交换单位: cache 和主存(块), cache 和 CPU (字) 命中:数据在 cache ,反之,不命中 不命中, 页面替换调度

相联存储器

快存

地址总线

Cache

数据总线

CPU 主存命中 未命中

管理逻辑

Page 11: 计算机组成原理第四章

3. Cache 基本思想和组织方式 采用相联存储器

按内容进行访问的存储器 采用( Key , Value )检索方法 相联存储器构成 存储体、检索寄存器、屏蔽寄存器、符合寄存器、

比较线路、代码寄存器、控制线路

Page 12: 计算机组成原理第四章

4.Cache 与主存地址映射方法 地址映射的概念 地址映射方法

全相联 (fully-associated) 直接相联 (direct mapped) 组相联 (set-associated)

Page 13: 计算机组成原理第四章

4.Cache 与主存地址映射方法 全相联映射方式 主存分块, Cache 分行 算法:主存的每一块可以映射

到 Cache 的任意一行 举例: 设每块 4 个字,其中

第 3DH 个字的主存地址为: 00001111 01 (块号 块内

地址) 则将 00001111 填入

Cache 某行的标记,该块的4 个字填入该行的 Cache 存储体

主存

Page 14: 计算机组成原理第四章

全相联映射的检索例: CPU 要读内存地址

为:

00001111 10

判断是否发生命中

4.Cache 与主存地址映射方法

Page 15: 计算机组成原理第四章

4.Cache 与主存地址映射方法 直接相连映射方式 主存分区,区内分块; Cache 分

行, 算法: i =j mod n(i 是

Cache 行号, j是主存块号, n是 cache包含的块数 )

举例: 设每块 4 个字,其中第3DH 个字的主存地址为: 00001 111 01 ( 在 1 区、 7 块中)

则将 00001 填入 Cache 的第 [111]2行的标记部分,该块的4 个字填入该行的 Cache 存储体

Page 16: 计算机组成原理第四章

4.Cache 与主存地址映射方法 直接相联映射检索 例: CPU 读内存地址

为:

00001 111

11

判断是否命中主存区号(标识)

区内块号(索引)

块内 偏移

Page 17: 计算机组成原理第四章

组相联映射方式 Cache 、主存分组;主存分块;

Cache 分行, 算法: i =j mod n(i 是

Cache 组号, j是主存块号, n是 cache包含的组数 ) ,

举例: 设每块 4 个字,其中第3DH 个字的主存地址为:

000011 11 01 则将 000011 填入 Cache 的

第 3 组某行的标记部分,该块的 4 个字填入该行的 Cache存储体

4.Cache 与主存地址映射方法

Page 18: 计算机组成原理第四章

组联映射的检索例: CPU 读内存地址: 000011 11 11

判断是否命中

K路组相联定义Cache 中每组包含的行数

4.Cache 与主存地址映射方法

区内块号(索引)

块内 偏移

主存区号(标识)

Page 19: 计算机组成原理第四章

5. 替换算法 替换策略

先进先出法

最近最不经常使用方法 ---LFU (程序局部性好)

近期最少使用法 --- LRU (程序局部性好)

随机替换法

Page 20: 计算机组成原理第四章

5. 替换算法—举例说明t

22 11 22 19 7 16 4 3

载入 载入 命中 载入 载入 替换 替换 替换

0

1

2

3

220 221

110

222

113

191

223

11

192

71

41

162

19

7370

160

22

161

72

193

111

22220 221

112

190

40

30

载入 载入 命中 载入 命中 载入 替换 替换命中

22 11 22 19 11 16 4 3 t

0

1

2

3

220 22

11

221

11

19

221

111

19

222

111

4

16

111

16

222

111

16

19

11

22221 221

11

19 4

3

2222

111

16

19

222

LRU

LFU

Page 21: 计算机组成原理第四章

6. Cache 一致性问题 几个概念

Cache脏位或修改位(Dirty bit) : 表示cache 数据是否被修改过

Cache 有效位 (Valid bit) : 判断 cache 数据与主存数据是否一致,如果是, 则有效

cache数据一致性问题

磁带,光盘磁盘

Cache 高速缓存主存

CPU 寄存器

Page 22: 计算机组成原理第四章

6. Cache 一致性问题 写策略

写回法 (write back) : 只写 cache 写穿法 (write through) : 写命中时,同时写

cache 和主存 写不命中处理方法 写分配( write-allocate ):写 cache 写不分配( not-write-allocate ) : 不写

cache

Page 23: 计算机组成原理第四章

7. Cache 性能评价方法 命中率

h=Nc /(Nc+Nm)

平均访问时间Ta=hTc +(1-h)Tm

Memory

( Tm,Nm,Sm,Cm)

Cache( Tc,Nc,Sc,Cc)

Page 24: 计算机组成原理第四章

知识点三 回顾 cache 基本原理

相联存储器

三种地址映射方式

替换算法

写一致性问题解决方法

Cache 性能评价方法