第七章 存储系统

上传人:我*** 文档编号:135388485 上传时间:2020-06-15 格式:PPT 页数:138 大小:1.56MB
返回 下载 相关 举报
第七章 存储系统_第1页
第1页 / 共138页
第七章 存储系统_第2页
第2页 / 共138页
第七章 存储系统_第3页
第3页 / 共138页
第七章 存储系统_第4页
第4页 / 共138页
第七章 存储系统_第5页
第5页 / 共138页
点击查看更多>>
资源描述

《第七章 存储系统》由会员分享,可在线阅读,更多相关《第七章 存储系统(138页珍藏版)》请在金锄头文库上搜索。

1、 计算机组成原理 课程组 计算机组成与结构 本科生课程教学 计算机组成与结构 本课程主要讲授计算机系统的硬件和软件构成方法 包括硬件系统中运算器 控制器 存储器 输入设备和输出设备和总线系统的构成原理等 并与当代先进的计算机技术相结合 是计算机科学与技术本科专业核心课程 本课程着重计算机系统组成与结构方面的教学和研究 计算机结构定义为系统程序员所能见到的计算机硬件特性 计算机组成是指计算机硬件的具体实现 第七章存储系统 存储系统的层次结构高速缓冲存储器虚拟存储器相联存储器存储保护 7 1存储系统的层次结构 一 存储系统的分类从不同的角度和观点 可将存储系统分为不同的类型 1 按存储介质分磁表面

2、存储器 用磁性材料做成的存储器半导体存储器 用半导体器件组成的存储器光存储器 用感光材料做成的存储器2 按存储方式分随机存储器 任何存储单元的内容都能被随机存取 且存取时间和存储单元的物理位置无关顺序存储器 只能按某种顺序来存取 存取时间和存储单元的物理位置有关 7 1存储系统的层次结构 3 按存储器的读写功能分 ROM RAM4 按信息的可保存性分 非永久记忆 永久记忆5 按在计算机系统中的作用分 主存 辅存 高速缓存 控制存储器 7 1存储系统的层次结构 二 存储系统层次结构计算机系统对存储器的要求是 容量大 速度快 成本低 但由于各类存储器各具其特点 即半导体存储器速度快 成本较高 磁表

3、面存储器容量大 成本低但速度慢 无法与CPU高速处理信息的能力相匹配 因此 在计算机系统中 通常采用三级存储器结构 即使用高速缓冲存储器 主存储器和外存储器组成的结构 CPU能直接访问的存储器称为内存储器 它包括高速缓冲存储器和主存储器 CPU不能直接访问外存储器 外存储器的信息必须调入内存储器后才能为CPU进行处理 7 1存储系统的层次结构 Cache 主存 辅存三级存储层次如图所示 其中Cache容量最小 辅存容量最大 各层次中存放的内容都可以在下一层次中找到 这种多层次结构已成为现代计算机的典型存储结构 7 1存储系统的层次结构 主 辅存层次满足了存储器的大容量和低成本需求 在速度方面

4、计算机的主存和CPU一直保持了大约一个数量级的差距 显然这个差距限制了CPU速度潜力的发挥 为了弥合这个差距 必须进一步从计算机系统结构上去研究 设置高速缓冲存储器 cache 是解决存取速度的重要方法 在CPU和主存中间设置高速缓冲存储器 构成高速缓存 cache 主存层次 要求cache在速度上能跟得上CPU的要求 7 1存储系统的层次结构 从CPU的角度看 cache 主存层次的速度接近于cache 容量与每位价格则接近于主存 因此 解决了速度与成本之间的矛盾 上述主存 辅存和cache 主存这两种存储层次 现代大多数计算机同时采用这两种存储层次 构成cache 主存 辅存三级存储层次

5、与CPU之间的关系如下图所示 7 1存储系统的层次结构 7 1存储系统的层次结构 寄存器微处理器内部的存储单元高速缓存 Cache 完全用硬件实现主存储器的速度提高主存储器存放当前运行程序和数据 采用半导体存储器构成辅助存储器磁记录或光记录方式磁盘或光盘形式存放可读可写或只读内容以外设方式连接和访问 虚拟存储器 7 1存储系统的层次结构 其中cache容量最小 辅存容量最大 各层次中存放的内容都可以在下一层次中找到 这种多层次结构已成为现代计算机的典型存储结构 7 2高速缓冲存储器 Cache 一 Cache存储器工作原理对大量的典型程序的运行情况的分析结果表明 在一个较短的时间间隔内 地址往

6、往集中在存储器逻辑地址空间的很小范围内 程序地址的分布本来就是连续的 再加上循环程序段和子程序段要重复执行多次 因此 对程序地址的访问就自然地具有相对集中的倾向 数据分布的这种集中倾向不如指令明显 但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中 这种对局部范围的存储器地址频繁访问 而对此范围以外的地址则访问甚少的现象就称为程序访问的局部性 7 2高速缓冲存储器 Cache 根据局部性原理 可以在主存和CPU之间设置一个高速的容量相对较小的存储器 如果当前正在执行的程序和数据存放在这个存储器中 当程序运行时 不必从主存储器取指令和取数据 而访问这个高速存储器即可 所以提高了程序

7、运行速度 这个存储器称作高速缓冲存储器 cache cache存储器介于CPU和主存之间 它的工作速度数倍于主存 全部功能由硬件实现 并且对程序员是透明的 7 2高速缓冲存储器 Cache CPU与cache之间的数据交换以字 字节 为单位Cache与主存间的数据传送以数据块为单位一个块 Block 由若干字组成Cache的基本结构如图7 2所示 7 2高速缓冲存储器 Cache 7 2高速缓冲存储器 Cache Cache的数据块称为行 线Line 槽Slot 用Li表示 其中i 0 1 m 1 共有m 2r行主存的数据块称为块 Block 用Bj表示 其中j 0 1 n 1 共有n 2s块

8、行与块是等长的 包含k 2w个主存字字是CPU每次访问存储器时可存取的最小单位Cache由数据存储器和标签存储器组成数据存储器 高速缓存主存数据标签存储器 保存数据所在主存的地址信息 7 2高速缓冲存储器 Cache 设主存有2n个单元 地址码为n位 将主存分块 block 每块有B个字节 则共分成M 2n B块 cache也由同样大小的块组成 由于其容量小 所以块的数目小得多 主存中只有一小部分块的内容可存放在cache中 在cache中 每一块外加有一个标记 指明它是主存的哪一块的副本 所以该标记的内容相当于主存中块的编号 设主存地址为n位 且n m b 则可得出 主存的块数M 2m 块内

9、字节数B 2b cache地址码为 c b 位 cache的块数为2c 块内字节数与主存相同 7 2高速缓冲存储器 Cache 主存与Cache之间地址关系如下 7 2高速缓冲存储器 Cache 当CPU发出读请求时 将主存地址m位 或m位中的一部分 与cache某块的标记相比较 根据其比较结果是否相等而区分出两种情况 当比较结果相等时 说明需要的数已在cache中 那么直接访问cache就行了 在CPU与cache之间 通常一次传送一个字 当比较结果不相等时 说明需要的数据尚未调入cache 那么就要把该数据所在的整个字块从主存一次调进来 前一种情况称为访问cache命中 后一种情况称为访问

10、cache不命中 7 2高速缓冲存储器 Cache 高速命中 Hit 微处理器读取主存的内容已包含在Cache中 可以直接读取Cache 不用访问主存 高速失效 Miss 缺失 未命中 微处理器读取主存的内容不在Cache中 需要访问主存读取一个数据块 Cache的读操作 7 2高速缓冲存储器 Cache Cache的容量和块的大小是影响Cache的效率的重要因素 通常用 命中率 来测量Cache的效率 命中率 HitRate 高速命中的概率 Cache 主存系统的平均访问时间ta ta htc 1 h tmtc 命中时的cache访问时间tm 未命中时的主存访问时间 h 命中率Nc cach

11、e完成存取的总次数Nm 主存完成存取的总次数 7 2高速缓冲存储器 Cache Cache的访问效率e 设r tm tc表示主存慢于Cache的倍率 7 2高速缓冲存储器 Cache 例 CPU执行一段程序时 Cache完成存取的次数为1900次 主存完成存取的次数为100次 已知Cache存取周期为50ns 主存存取周期为250ns 求Cache 主存系统的效率和平均访问时间 解 h Nc Nc Nm 1900 1900 100 0 95r tm tc 250ns 50ns 5e 1 r 1 r h 1 5 1 5 0 95 83 3 ta tc e 50ns 0 833 60ns或者 ta

12、 h tc 1 h tm 60ns 7 2高速缓冲存储器 Cache 二 Cache存储器的组织1 地址映像为了把信息放到Cache存储器中 必须应用某种函数把主存地址映像到Cache 称作地址映像 在信息按照这种映像关系装入Cache后 执行程序时 应将主存地址变换成Cache地址 这个变换过程叫做地址变换 7 2高速缓冲存储器 Cache Cache通过地址映射 mapping 的方法确定主存块与Cache行之间的对应关系 确定一个主存块应该存放到哪个Cache行中 几种基本地址映像方式如下 全相联映射 fullyassociativemapping 可以将一个主存块存储到任意一个Cach

13、e行直接映射 directmapping 将一个主存块存储到唯一的一个Cache行组相联映射 setassociativemapping 可以将一个主存块存储到唯一的一个Cache组中任意一个行 7 2高速缓冲存储器 Cache 1 直接映像在直接映像方式中 映像函数可定为 j imod2c其中 j是Cache的字块号 i是主存的字块号 在这种映像方式中 主存的第0块 第2c块 第2c 1块 只能映像到Cache的第0块 而主存的第l块 第2c 1块 第2c 1 1块 只能映像到Cache的第l块 在直接映像方式中 主存和Cache中字块的对应关系如图7 3所示 7 2高速缓冲存储器 Cach

14、e 7 2高速缓冲存储器 Cache 例 设主存容量1MB 高缓容量16KB 块的大小为512字节 1 分析Cache地址格式 2 写出主存地址格式 3 计算块表的容量为多大 4 画出直接方式地址映像及变换示意图 5 主存地址为CDE8FH的单元在cache中的什么位置 解答 1 Cache容量16KB 16KB 214 所以Cache地址为14位 块的大小为512字节 所以块内地址为9位 块地址为5位 7 2高速缓冲存储器 Cache Cache地址格式为 13980块地址块内地址 2 主存容量1MB 1MB 220 所以主存地址为20位 块的大小为512字节 所以块内地址为9位 块地址为5

15、位 块标记为6位 主存地址格式为 191413980块标记块地址块内地址 3 Cache的每一块在块表中有一项 Cache的块地址为5位 所以块表的单元数为25 块表中存放的是块标记 由于块标记为6位 所以块表的字长为6位 故块表的容量为 25字 6位 7 2高速缓冲存储器 Cache 4 直接方式地址映像及变换示意图如图所示 7 2高速缓冲存储器 Cache 5 因为cache容量为16KB 214B 块长为512B 所以cache有16 1024 512 32个块 因为CDE8FH 1100 1101 1110 1000 1111所以块号 1100 1101 111块内地址 0 1000

16、1111在直接映射方式下 主存中的第i块映射到cache中第imod25个块中 1100 1101 111mod32 01111 所以 地址CDE8F的单元在cache中的地址为01111 010001111 7 2高速缓冲存储器 Cache 直接映像的优点是实现简单 只需利用主存地址按某些字段直接判断 即可确定所需字块是否已在cache存储器中 直接映像方式的缺点是不够灵活 即主存的2t个字块只能对应惟一的cache存储器字块 因此 即使cache存储器别的许多地址空着也不能占用 这使得cache存储空间得不到充分利用 并降低了命中率 7 2高速缓冲存储器 Cache 2 全相联映像全相联映像方式是最灵活但成本最高的一种方式 如图7 4所示 它允许主存中的每一个字块映像到Cache存储器的任何一个字块位置上 也允许从确实已被占满的Cache存储器中替换出任何一个旧字块 这是一个理想的方案 但实际上由于它的成本太高而不能采用 不只是它的标记位数从m c位增加到m位 与直接映像相比 使Cache标记容量加大 主要问题是在访问Cache时 需要和Cache的全部标记进行 比较 才能判断出所

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号