第3章体系结构

上传人:今*** 文档编号:112055344 上传时间:2019-11-04 格式:PPT 页数:243 大小:3.58MB
返回 下载 相关 举报
第3章体系结构_第1页
第1页 / 共243页
第3章体系结构_第2页
第2页 / 共243页
第3章体系结构_第3页
第3页 / 共243页
第3章体系结构_第4页
第4页 / 共243页
第3章体系结构_第5页
第5页 / 共243页
点击查看更多>>
资源描述

《第3章体系结构》由会员分享,可在线阅读,更多相关《第3章体系结构(243页珍藏版)》请在金锄头文库上搜索。

1、第三章 存储系统 现代计算机系统都以存 储器为中心 在计算机运行过程中, 存储器是各种信息存储 和交换的中心 3.1 存储系统原理 3.2 虚拟存储器 3.3 高速缓冲存储器 3.4 存储器的保护 主存储器 取指令 读操作数 写结果 I/O 数 据 3.1 存储系统原理 3.1.1 存储系统的定义 3.1.2 存储器的层次结构 3.1.3 频带平衡 3.1.4 并行存储器 3.1.1 存储系统的定义 存储器 存储系统 1 存储容量 2 单位容量的平均价格 3 存储系统的速度 存储器 计算机中有多种存储器:主存储器、Cache、通用 寄存器、磁盘存储器、磁带存储器、光盘存储器等 材料工艺: SR

2、AM 、 DRAM 、磁表面、激光 访问方式:直接译码、相联(按内容寻址)访问等 存储器的主要性能指标:速度(时延)、带宽、容量 、价格,其中最重要的是速度和带宽 速度:访问周期(连续两次存储器请求的最小之间 间隔)和访问时间(发出访问请求到完成访问的时间) 带宽:MB/s 容量:字节(B)、千字节(KB)、兆字节(MB)和千兆 字节(GB)等 价格:单位容量的价格,如$C(美分)/bit SRAM为静态随机存储器,通过触发器存储数据, 存储周期比DRAM快8-16倍,价格也贵8-16倍,主要 作为Cache用,主要关注速度和容量。 DRAM主要作为内存,利用电容存储数据,需要刷 新,主要关注

3、容量和价格,同样的集成度,容量能达 到SRAM的4-8倍,由于其容量大,为减少地址线个 数,一般分为行列地址分2次数出。 常见的内存条上一般包括4-16个DRAM芯片,98前 ,其容量按照摩尔定律增长,98年后,需求减少,每 2年增长一倍。 传统DRAM使用异步接口,需要额外的通信开销, SDRAM则增加了一个时钟信号,称为同步DRAM。 DDR内存则在上升和下降沿都传送数据,达到了双 倍的数据传输速度 存储系统 存储系统的定义:把两个或两个以上速度、容量和 价格各不相同的存储器用硬件、软件、或软件与硬 件相结合的方法连接起来,称为一个存储系统。 存储系统的目的是组织好速度、容量和价格均不相

4、同的存储器。 使这个存储器的速度接近速度最快的那个存储器 存储容量与容量最大的那个存储器相等 单位容量的价格接近最便宜的那个存储器。 T min(T1, T2, , Tn), 用存储周期表示 S = max(S1, S2, , Sn), 用MB或GB表示 C min(C1, C2, , Cn), 用每位的价格表示 M1 (T1, S1, C1) M2 (T2, S2, C2) Mn (Tn, Sn, Cn) 这个系统对应用程序员透明,从应用程序员的角度 看,它是一个存储器。 存储系 统 Cache存储系统虚拟存储系统 组成由Cache和主存储器构成 由主存储器和磁盘存储器构 成 主要目 的 提

5、高存储器速度扩大存储器容量 特点从系统程序员的角度 看,速度接近Cache 的速度存储容量是主 存的容量,每位价格接 近主存储器 从应用程序员的角度看 ,速度接近主存储器的 速度,存储容量是虚拟 地址空间每位价格接近 磁盘存储器 计算机中的两种存储系统 Cache存储系统只对M2存储 器进行编址,M1存储器只在 内部编址,存储系统的容量等 于M2存储器的容量。 虚拟存储系统另外设计一个 容量很大的逻辑地址空间, M1和M2的地址映射到这个抽 象的地址空间。 1 存储容量 M1 (S1, C1 , T1) M2 (S2, C2 , T2) 计算公式: S2S1时, CC2, S2与S1不能相差太

6、大 否则很难调度 2 单位容量的平均价格 M1 (S1, C1 , T1) M2 (S2, C2 , T2) 访问周期 提高存储系统速度的两条途径 采用预取技术提高命中率 存储器停顿周期数 3 存储系统的速度 这里的访问周期指的是存储系统的访问周期(组成 原理中所说的存取时间、存取周期是指针对存储器 的),对存储系统来说,存储周期、存取周期、存 取时间,和访问周期都是一个概念 命中率定义:在M1存储器中访问到的概率 N1: M1的访问次数 N2: M2的访问次数 访问周期与命中率的关系: T=HT1+(1-H)T2 当命中率H1时,TT1 访问周期 存储系统的访问效率: 存储系统的访问效率主要

7、与命中率和两级存储器的 速度之比有关 假设T2=5T1 ,在命中率H为0.9和0.99两种情况下 ,分别计算存储系统的访问效率。 解: 当H=0.9时, e1=1/(0.9+5(1-0.9)=0.72 当H=0.99时, e2=1/(0.99+5(1-0.99)=0.96 提高存储系统速度的两条途径 一是提高命中率H 二是两个存储器的速度不要相差太大 Cache存储系统: Cache与主存储器速度相差2个数量级,要 保证高的存储效率,需要极高的命中率 一般通过两级、三级Cache来提高命中率 虚拟存储系统: 寻址时间长,两级存储器的速度相差得特别悬殊 T2/T1105,但数据传输速率较快,依靠

8、大量的预取 提高命中率 磁盘在物理上是以块为单位(每块512个字节)访问的 ,在逻辑上通常以1KB以上为单位访问。 虽然磁盘存储器的寻址时间很长,但当磁头找到要 访问的数据块之后,数据的传输速率还是相当高的 。 当不命中时,把要使用的一大批程序和数据都调入 主存储器,使得在以后的几万次,乃至几十万次以 上对存储系统的访问,都能在主存储器中命中。 在虚拟存储系统中,两级存储器的速度相差特别悬 殊T2=105T1。要使访问效率e=0.9,问需要有多高的 命中率? 解: 得: H=0.999998888877777.0.999999 例 采用预取技术提高命中率 方法:不命中时,把M2存储器中相邻几个

9、单元组 成的一个数据块都取出来送入M1存储器中。 计算公式: 其中: q H是采用预取技术后的命中率; q H是原来的命中率; q n为数据块大小与数据重复使用次数的乘积 采用预取技术之后,缺失率(不命中率)降低n倍 在一个Cache存储系统中,当Cache的块大小为一 个字时,命中率H=0.8;假设数据的重复利用率为5 ,块大小为4个字时,Cache存储系统的命中率是多 少?假设T2=5T1,分别计算访问效率。 解:n=4x5=20 采用预取技术后, 命中率提高到: Cache块为1个字大时, H=0.8, 访问效率为: Cache块为4个字大时, H=0.99, 访问效率为: 在一个虚拟存

10、储系统中,T2=105 T1,原来的命中 率只有0.8,如果访问磁盘存储器的数据块大小为 4K字,并要求访问效率不低于0.9,计算数据在主 存储器中的重复利用率至少为多少? 解: 假设数据在主存储器中的重复利用率为m,根 据前面的给出关系: 解方程组得m=44,即数据在主存储器中的重复 利用率至少为44次。 存储器停顿周期数 通常将处理器暂停工作,等待一次存储器访问的周 期数称为存储器停顿周期数(memory stall cycles) 利用处理器性能公式,可得: CPU执行时间=(CPU时钟周期数+存储器停顿周期数)时钟周期时间 存储器停顿周期数由缺失次数和每次缺失代价决定: 存储器停顿周期

11、数=缺失次数缺失代价 =存储器访问次数缺失率缺失代价 =指令数(存储器访问次数指令数)缺失率缺失代价 =指令数每条指令访存次数缺失率缺失代价 访存时,读写的缺失率是不同的,进一步可得: 存储器停顿周期数=指令数每条指令读次数读缺失率读缺失代 价+指令数每条指令写次数写缺失率写缺失代价 假定有一台RISC计算机,如果访存操作都能在 Cache命中,其CPI等于1.0,load和store指令占 50%,缺失代价为25个时钟周期,缺失率为2%, 比较一下全部命中和实际情况的性能。 全部命中时: CPU执行时间=指令数1.0时钟周期 实际情况下,存储器停顿周期数 =指令数每条指令访存次数缺失率缺失代

12、价 =指令数(1+0.5)0.0225=指令数0.75 实际情况下,CPU执行时间 =(CPU时钟周期数+存储器停顿周期数)时钟周期 =(指令数1.0 +指令数0.75)时钟周期 = 1.75指令数时钟周期 全命中情况是实际情况下性能的1.75倍 假定上例中的缺失率以另外一种形式给出,为每 千条指令缺失30次,计算一下存储器停顿周期数。 存储器停顿周期数为 =指令数(缺失次数指令数)缺失代价 =指令数/1000(缺失次数(指令数/1000)缺失代价 =指令数/10003025 =指令数0.75 结果是一样的 3.1.2 存储器的层次结构 访问速度越来越快 通用寄存器堆 指令和数据缓冲 Cach

13、e (SRAM) 主存储器(DRAM) 联机外部存储器 脱机外部存储器 每位的价格越来越便宜 存储容量越来越大 CPU 内部 各种存储器的主要性能特性 存储器和处理器性能增长曲线 从上图看到,CPU与主存储器的速度差距越来越大 存储器性能增长年均7% 处理器性能80-86年均增长25%,86-04年均增长 52%,04以后年均增长20% 今后,CPU与主存储器的速度差距会更大 从CPU的角度,希望各层次存储器的工作速度向上 靠拢,存储容量、价格向下靠拢 研究存储系统的目的就是要找出解决这一问题的办 法。 研究存储系统的目的 3.1.3 频带平衡 现代计算机系统都以存储器为中心,存储器的访 问速

14、度影响整个计算机系统的性能 计算机中各级存储器频带应该达到平衡,解决存 储器频带平衡主要有以下方法: 多个存储器并行工作:并行访问、交叉访问 设置各种缓冲存储器:预取指令缓冲栈、操作 数先行缓冲栈、运算结果后行缓冲栈、通用寄存 器 采用存储系统:多级Cache存储系统 例如,某台速度为500MIPS的计算机系统, 主存储 器的各种访问源的频带宽度如下: CPU取指令: 500MW/s CPU取操作数和保存运算结果:1000MW/s 各种输入输出设备访问存储器:50MW/s 三项相加,要求存储器的频带宽度不低于 1550MW/s, 访问周期不大于0.64ns 实际上当时的主存储器的工作周期为10

15、ns左右, 两 者相差15多倍。 3.1.4 并行存储器 并行访问存储器 交叉访问存储器 高位交叉访问存储器 低位交叉访问存储器 无访问冲突并行存储器 并行访问存储器 数据寄存器 MBR 存储体 (m字 X w位) 地址寄存器 MAR 一般存储器 多路选择器 MBR 存储体(m/n字 X nw位) MAR 并行访问存储器 并行访问增大了存储器的字长,一个存储周期内 能访问更多的机器字 方法:把m个字w位的存储器改变成为m/n个字 nw位的存储器 逻辑实现:把地址码分成两个部分 一部分作为存储器的地址 另一部分负责选择数据 并行访问存储器主要缺点是需要处理访问冲突。 并行访问主要有以下4种访问冲

16、突: 取指令冲突:转移发生时,其后同时取出的指令 无用 读操作数冲突:同时取出的多个操作数,不一定 都有用 写数据冲突:n个机器字(nw位)作为一个存储字 同时写回存储器,写单字要先读 读写冲突:要读出的机器字和要写入的机器字同 在一个存储字时,无法在一个存储周期内完成 这4种冲突中,第1种冲突的概率比较小,因为程 序在大多数情况下是顺序执行的。 第2种冲突的概率比较大:操作数的随机性比程序 要大 第3和4种冲突,解决起来有一定困难,需要专门 进行控制。 分析发生这些冲突的原因,从存储器本身看,主 要是因为地址寄存器和控制逻辑只有一套。如有n 个独立的地址寄存器和n套读写控制逻辑,上述第3 和第4种冲突就自

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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