【计算机系统结构】 存储体系
2017-04-19 19:41
399 查看
一、存储器的层次结构
1.1 存储层次的性能参数
(1)存储层次的平均每位价格 C
假设存储器M的容量、访问时间、每位价格为S,T,C,则存储层次的平均每位价格C
(2)命中率 H 和不命中率 F
(3)平均访存时间 T
二、“Cache-主存”和“主存-辅存”层次
2.1 Cache-主存
2.2 主存-辅存
2.3 比较
三、Cache基本工作原理和结构
3.1 Cache的基本结构
3.2 Cache的工作过程
3.3 映像规则
(1)全相联映像
(2)直接映像
(3)组相联映像
3
4000
.4 替换策略
(1)随机法
(2)先进先出(FIFO)
(3)最近最少使用法(LRU)
3.5 写策略
(1)写直达法(WT)
(2)写回法(WB)
3.6 数据Cache、指令Cache及混合Cache
3.7 Cache性能分析
(1)平均访问时间
(2)程序执行时间
在考虑存储器对系统性能影响时,可以将系统性能描述为
如果读、写失效率以及读、写失效开销相差不大
3.8 Cache优化
(1)8种降低失效率方法
(2)5种减少失效开销方法
(3)4种减少命中时间方法
3.9 降低Cache失效率的方法
(1)失效的原因
(2)增加Cache块大小
(3)提高相联度
(4)增加Cache的容量
(5)Victim Cache
1.1 存储层次的性能参数
(1)存储层次的平均每位价格 C
假设存储器M的容量、访问时间、每位价格为S,T,C,则存储层次的平均每位价格C
(2)命中率 H 和不命中率 F
命中率是指CPU在访问存储系统时,在存储器M中找到所需信息的概率。 不命中率=1-命中率。
(3)平均访存时间 T
二、“Cache-主存”和“主存-辅存”层次
2.1 Cache-主存
2.2 主存-辅存
2.3 比较
三、Cache基本工作原理和结构
3.1 Cache的基本结构
在带Cache的存储器中, CPU的访存地址被分割成两部分: ① 块地址(块框架地址、块号):用于查找该块在Cache中的位置。 ② 块内位移(块内偏移量):用于确定所访问的数据在块中的位置。
3.2 Cache的工作过程
(1)当CPU需要进行访存时,首先给出主存实地址。 (2)地址映像变换机构接收到主存实地址后,根据块号判定所访问的信息字是否在Cache中。 若在,通过地址变换机构变换为Cache块地址,在根据块内地址,对Cache进行存取。 若不在,则通知访问Cache块失效。然后通过CPU与主存之间的直接数据通路访问主存,将被访问字直接送给CPU, 并将包含该字的新块装入Cache。若Cache已满,则通过替换策略实现机构,调出某一Cache块,然后装入所需的块。
3.3 映像规则
(1)全相联映像
全相联映像是指主存中的任一块可以被放置到Cache中的任意一个位置。
(2)直接映像
直接映像是指主存中的每一块只能被放置到Cache中唯一的一个位置。
(3)组相联映像
组相联映像是指主存中的每一块可以被放置到Cache中固定的一个组中的任何一个位置。
3
4000
.4 替换策略
(1)随机法
随机选择被替换的块。
(2)先进先出(FIFO)
选择最早调入的块作为被替换的块。
(3)最近最少使用法(LRU)
选择近期最少被访问的块作为被替换的块。
3.5 写策略
(1)写直达法(WT)
在执行“写”操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。
(2)写回法(WB)
在执行“写”操作时,只把信息写入Cache中相应的块,该块只有在被替换时,才被写回主存。
3.6 数据Cache、指令Cache及混合Cache
数据Cache :存放数据的Cache 。 指令Cache:存放指令的Cache。 混合Cache:既存放数据又存放指令Cache。 对数据的访问有读操作和写操作,对指令的访问仅是读操作。所以数据Cache需要进行写操作,而指令Cache则不需要进行写操作。 读入指令Cache的指令在块替换出去时不需将Cache中的指令写回主存,而读入数据Cache的数据,在进行块替换时,通常需要写回主存。 对相同的容量,指令Cache的命中率比数据Cache的高。 将混合Cache分离成指令Cache和数据Cache有助于提高Cache的命中率。
3.7 Cache性能分析
(1)平均访问时间
平均访问时间=命中时间+失效率×失效开销 平均访存时间=指令所占的百分比×(指令命中时间+指令失效率×失效开销)+数据所占的百分比×(数据命中时间+数据失效率×失效开销)
(2)程序执行时间
在考虑存储器对系统性能影响时,可以将系统性能描述为
CPU时间=(CPU执行周期数+存储器停顿周期数)×时钟周期时间 存储器停顿周期数 = “读”的次数 × 读失效率 × 读失效开销 + “写”的次数 × 写失效率 × 写失效开销
如果读、写失效率以及读、写失效开销相差不大
存储器停顿周期数 = 访存次数 × 失效率 × 失效开销 CPU时间 = IC × [CPIexe + 访存次数 / 指令数 × 失效率 × 失效开销] × 时钟周期时间
3.8 Cache优化
(1)8种降低失效率方法
增加Cache块大小 提高相联度 增加Cache的容量 Victim Cache 伪相联映像Cache 硬件预取 编译器控制的预取 编译器优化
(2)5种减少失效开销方法
读失效优于写 写缓冲合并 请求字处理技术 非阻塞Cache技术 采用两级Cache
(3)4种减少命中时间方法
容量小、结构简单的Cache 虚拟Cache Cache 访问流水化 Trace Cache
3.9 降低Cache失效率的方法
(1)失效的原因
1)强制性失效:当第一次访问一个块时,该快不在Cache中,需从下一级存储器中调入Cache,这就是强制性失效。 2)容量失效:如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又重新被访问,就是发生失效, 这种失效称为容量失效。 3)冲突失效:在组相联或直接映像Cache中,若太多的块映像到同一组中,则会出现该组中的某个块被别的块替换、然 后又被重新访问的情况,这样就发生了冲突失效。
(2)增加Cache块大小
(3)提高相联度
(4)增加Cache的容量
(5)Victim Cache
相关文章推荐
- 中国计算机学会CCF推荐国际学术会议和期刊目录-计算机体系结构/并行与分布计算/存储系统
- 中国计算机学会CCF推荐国际学术会议和期刊目录-计算机体系结构/并行与分布计算/存储系统
- 中国计算机学会CCF推荐国际学术会议和期刊目录-计算机体系结构/并行与分布计算/存储系统
- 计算机系统结构 存储体系
- 7、深入理解计算机系统笔记:存储器层次结构,存储技术(2)
- 【计算机体系结构】存储--快照技术
- 计算机系统 (五)存储设备层次结构
- 【转帖】计算机体系结构——存储体系
- 计算机组成第二周:指令系统体系结构
- 深入理解计算机系统:存储结构
- 计算机系统层次存储结构
- 计算机常识——软件系统体系结构
- 深入理解计算机系统 1.6 存储设备形成层次结构
- 浅谈大数据背景下的计算机体系结构存储层次结构研究
- 计算机系统体系结构
- 计算机系统要素:第五章 计算机体系结构
- 【计算机体系结构】存储--远程镜像技术
- 浅谈大数据背景下的计算机体系结构存储层次结构研究
- 【计算机体系结构】存储-理解RAID条带话的概念
- 计算机体系结构2_系统编程手册