存储系统PPT课件

上传人:枫** 文档编号:579551886 上传时间:2024-08-26 格式:PPT 页数:161 大小:3.92MB
返回 下载 相关 举报
存储系统PPT课件_第1页
第1页 / 共161页
存储系统PPT课件_第2页
第2页 / 共161页
存储系统PPT课件_第3页
第3页 / 共161页
存储系统PPT课件_第4页
第4页 / 共161页
存储系统PPT课件_第5页
第5页 / 共161页
点击查看更多>>
资源描述

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

1、第四章第四章 存储系统存储系统本章主要内容:本章主要内容:存储系统的组成存储系统的组成存储单体的工作原理存储单体的工作原理(动态和静态动态和静态)如何由存储单体构成存储器如何由存储单体构成存储器存储器的扩充存储器的扩充(含不连续地址空间的存储器扩充含不连续地址空间的存储器扩充)如果提高存储系统的访问速度如果提高存储系统的访问速度- 高速存储器高速存储器(Cache)回答为什么要使用模块化程序设计(不用回答为什么要使用模块化程序设计(不用Goto语句)语句)虚拟存储器虚拟存储器(解决内存容量不足的问题解决内存容量不足的问题)外存储外存储(磁盘存储磁盘存储)网络存储网络存储 本章学时本章学时 12

2、 141一、存储器的概述一、存储器的概述1、存储器的分类、存储器的分类 : 从不同的角度进行从不同的角度进行1)按存储介质分:按存储介质分: 半导体半导体 磁性材料磁性材料 光光 纸纸2)按存储方式分:按存储方式分: 随机存储器:可按地址访问且访问时随机存储器:可按地址访问且访问时 间与单元的物理位置无关间与单元的物理位置无关 顺序存储器顺序存储器 :存储时间与单元的物理:存储时间与单元的物理 位置有关位置有关 磁盘是半顺序和半随机设备磁盘是半顺序和半随机设备 3)按读写方式分按读写方式分: RAM : Random Access Memory ROM : Read Only Memory2永

3、久性:永久性: 与是否断电无关与是否断电无关非永久性:断电后信息消失非永久性:断电后信息消失4)按信息的可保存性按信息的可保存性5) 按在计算机系统中所起的作用按在计算机系统中所起的作用:控制存储器控制存储器(CM or CS) CPU中的中的CacheCPU 外面的外面的 Cache主存主存辅存辅存32、计算机中存储系统的分级结构、计算机中存储系统的分级结构1)分级结构的提出分级结构的提出人们的追求人们的追求:大容量、快速度、低价格大容量、快速度、低价格2)分级结构分级结构CPUCACHE主存主存辅助存储器辅助存储器最后的效果最后的效果(左向右看左向右看):Cache的速度,辅存的容量和价格

4、的速度,辅存的容量和价格43)存储分级的理论基础存储分级的理论基础 !程序的局部性原理程序的局部性原理 , 又包括又包括:时间局部性:时间局部性: 现在被访问的指令在不久的将来还将再次现在被访问的指令在不久的将来还将再次 被访问。被访问。 12345时间局部性的程序结构体现:时间局部性的程序结构体现:循环循环空间局部性:空间局部性: 现在访问指令现在访问指令2 ,下一次访问的指令在,下一次访问的指令在2的附近。的附近。空间局部性的程序结构体现:空间局部性的程序结构体现: 顺序顺序53、主存的常用技术指标、主存的常用技术指标存储容量指标:存储器所能存储的二进制信息的位数存储容量指标:存储器所能存

5、储的二进制信息的位数.速度指标:速度指标: (1)存取时间存取时间(存储器访问时间存储器访问时间) 启动存取操作到操作完成所经历的时间启动存取操作到操作完成所经历的时间 (2)存储周期存储周期(读写周期读写周期): 对存储器进行连续两次存取操作所需的最短时间间隔。存储器在对存储器进行连续两次存取操作所需的最短时间间隔。存储器在一次存取操作后需要一定的恢复时间一次存取操作后需要一定的恢复时间.因此因此,该时间一般大于存取时间该时间一般大于存取时间. (3)存储器带宽:存储器带宽: 单位时间内存储器所存取的信息位,也称存储器的数据传输率单位时间内存储器所存取的信息位,也称存储器的数据传输率.即存储

6、器总线宽度即存储器总线宽度/存储周期存储周期, 单位为位单位为位/ 秒秒6 二、随机存储器二、随机存储器1、SRAM - Static Random Access Memory1)基本存储单元基本存储单元 - 存放一位二进制信息的电路存放一位二进制信息的电路2)SRAM存储单元结构及其工作原理存储单元结构及其工作原理工作管:工作管:T1、 T2负载管:负载管: T3、 T4门控管:门控管: T5、 T6 T7、 T8Source: 源极源极 Drain:漏极:漏极Gate: 栅极栅极衬底一般与衬底一般与S极相连,与极相连,与G极之间绝缘,大多数情极之间绝缘,大多数情况下况下S和和D可互换可互换

7、7写过程写过程行选通行选通 T5、 T6 通通A与与 D 连通连通列选通列选通 T7、 T8 通通 B与与 D 连通连通写写1的过程的过程D=1 A= 1 T2 通通B=0 T1 截止截止D=0 B= 0 T1截止截止A=1 T2通通此时此时, T1、T2形成了稳态,形成了稳态,A=1、B=0写写0的过程的过程D=0 A= 0 T2截止截止B=1 T1通通D=1 B= 1 T1 通通A=0 T2 截止截止此时,此时, T1、T2形成了稳态,形成了稳态,B=1、A=0即:六管静态存储单元是以即:六管静态存储单元是以T1和和T2构成的稳定互锁态保存信息构成的稳定互锁态保存信息8读过程读过程行选通行

8、选通 T5、 T6 通通A与与 D 连通连通列选通列选通 T7、 T8 通通 B与与 D 连通连通读读1的过程的过程若原来保存的是若原来保存的是1 ,则此时,则此时,D=1、D=0,D和和D外接一个读出放大器,放外接一个读出放大器,放大器中的电流从大器中的电流从D流向流向D ,表示读出为,表示读出为1读读0的过程的过程若原来保存的是若原来保存的是0 ,则此时,则此时,D=0、D=1,D和和D外接一个读出放大器,放外接一个读出放大器,放大器中的电流从大器中的电流从D 流向流向 D ,表示读出为,表示读出为0读出的内容是通过外接在读出的内容是通过外接在D和和D之间电流放大器中的电流的之间电流放大器

9、中的电流的方向来判断的方向来判断的9 对于存储器而言,除了读、写状态外,还有什么状态对于存储器而言,除了读、写状态外,还有什么状态 ?保持状态保持状态a.此时此时X和和Y地址地址(行选和列选行选和列选)都处于浮空状态。都处于浮空状态。b.原保持的信息,使原保持的信息,使T1、T2 处处于稳定的互锁状态,无论是于稳定的互锁状态,无论是保存的保存的1或或0,两只工作管总,两只工作管总有一只要饱和导通。有一只要饱和导通。c.工作管导通所需要的工作电工作管导通所需要的工作电流将由负载管流将由负载管T3或或T4承担。承担。103) SRAM存储器的组成存储器的组成11由上图知由上图知,SRAM存储器由下

10、列部件构成存储器由下列部件构成: 存储体存储体: 存储单元的集合存储单元的集合 地址译码器地址译码器:把二进制表示的地址:把二进制表示的地址 转换成输出电位,转换成输出电位, 驱驱 动相应的读动相应的读 写电路写电路, 选择所需的存储单元。选择所需的存储单元。 驱动器驱动器: I/O电路电路: 控制选中单元的读控制选中单元的读/写和信号放大。写和信号放大。 片选与读片选与读/写控制电路写控制电路: 用于存储器的扩展。用于存储器的扩展。 输出驱动电路输出驱动电路: 用于多片输出的互连或与双向数用于多片输出的互连或与双向数 据总线的连接。据总线的连接。124)双译码结构分析双译码结构分析什么是双译

11、码什么是双译码?将来自将来自CPU的地址线分行和列分别送到两个移码器进行移码的地址线分行和列分别送到两个移码器进行移码.双双译译码码的优点的优点能够大大减少移码输出线能够大大减少移码输出线以以 12 位地址为例进行说明位地址为例进行说明:单单译译码时码时,12 位地址位地址译译码输出的状态线为码输出的状态线为212=4096根根双双译译码时码时,设分为设分为 X译译码和码和 Y译译码码 , 各输入各输入 6 位位 则则译译码输出的状态线总数为码输出的状态线总数为 26 + 26 =128 根根显然显然 , 地址线的位数越多地址线的位数越多 , 采用双译码的效果越明显。采用双译码的效果越明显。对

12、于小容量的存储器,可以采用单译码;对于大容量的存储器,对于小容量的存储器,可以采用单译码;对于大容量的存储器,则必须采用双译码。则必须采用双译码。 135)译码结构与存储器中存储单元的组织译码结构与存储器中存储单元的组织采用不同的采用不同的译译码结构,与存储体当中存储单元的排列有关码结构,与存储体当中存储单元的排列有关回顾存储单元的结构,其中有行、列地址,只有两者都选中,回顾存储单元的结构,其中有行、列地址,只有两者都选中,该单元才会被选中。该单元才会被选中。单单译译码的存储器组织:码的存储器组织:存储单元存储单元存储单元存储单元存储单元存储单元存储单元存储单元译 码器双双译译码器的组织:码器

13、的组织:X译译码码器器Y译码器译码器存储单元存储单元存储单元存储单元存储单元存储单元存储单元存储单元14MN =16 1的存储器的内部结构的存储器的内部结构X移移码码器器Y 移移 码码 器器D015X译译码码器器 Y 译译 码码 器器MN =16 4的存储器的内部结构的存储器的内部结构D3D2D1D0166)静态存储器距离静态存储器距离6116读出逻辑:读出逻辑:CS=0.OE=0,WE=1写入逻辑:写入逻辑:CS=0.OE=1,WE=0高阻:高阻:CS1172、动态存储器、动态存储器 - DRAM构成构成 工作管:工作管: T1、 T2 门控管:门控管: T5 、 T6、 T7、 T8 信息

14、的保存:分布电容信息的保存:分布电容C1、C2上的电荷上的电荷 写操作:基本步骤同六管静态单元写操作:基本步骤同六管静态单元 写写1 A=1 对对C2充电,充电,T2导通导通 B=0 对对C1放电,放电,T1截止截止 18A=0 对对C2放电,放电,T2截止截止 B=1 对对C1充电,充电,T1导通导通 写写0读操作读操作通过通过T9 T10给给D线和线和D线上的线上的分布电容分布电容CD、CD预充电预充电其结果是使上述两电容均达到电源电压其结果是使上述两电容均达到电源电压读出信息:读出信息: X有效有效 T5、T6 通通 Y有效有效 T7、T8 通通 若原存若原存1则则CD 上的电荷经上的电

15、荷经T2泄漏泄漏 D =0而而CD只向只向C2微充电微充电 D=1 有有D到到D的电流,即读出的为的电流,即读出的为“1”19若原来存放的为若原来存放的为0 ,则读出的过程正好相反。,则读出的过程正好相反。 还需要什么状态?还需要什么状态? 刷新操作刷新操作 需要刷新的原因:需要刷新的原因: 保存信息的电容保存信息的电容C1、C2上的电荷维持的时间有限上的电荷维持的时间有限(一般一般2ms)。刷新原理:对刷新原理:对C1、C2充电充电 只给字线只给字线 T5、T6导通导通 CD对对C2充电充电 或或CD对对C1充电。充电。即刷新是按即刷新是按行行进行,因此,必须知道动态存储器的内部行列结构。进

16、行,因此,必须知道动态存储器的内部行列结构。一次刷新是一次不完全的读操作。刷新地址由刷新计数器给出。一次刷新是一次不完全的读操作。刷新地址由刷新计数器给出。20三种刷新方式(设刷新周期为三种刷新方式(设刷新周期为2ms,存储矩阵采用,存储矩阵采用128128结结构,存储体的读构,存储体的读/写周期为写周期为0. 5 s )集中式刷新:集中式刷新: 将将2ms的读写周期分成的读写周期分成2000/0.5 = 4000个读写时间段。前面个读写时间段。前面4000-128=3872个读写时间段用于读个读写时间段用于读/写,后面写,后面128个读写时间个读写时间段用于刷新,在此阶段,不允许进行读写操作

17、,故称为死时间段用于刷新,在此阶段,不允许进行读写操作,故称为死时间. 3872个读写周期个读写周期 128个刷新周期个刷新周期采用集中刷新的存储器平均读写周期采用集中刷新的存储器平均读写周期T= 2ms / (4000 128 ) = 0.5165 s21分散刷新分散刷新将每一个存储周期分成两部分,前一部分为读将每一个存储周期分成两部分,前一部分为读/写时间段,写时间段,后一部分为刷新时间段,对于本例的实际则是存储器的读写后一部分为刷新时间段,对于本例的实际则是存储器的读写周期变成了周期变成了1 s,其中前,其中前 0. 5 s为读为读/写时间,写时间,0. 5 s为刷新时为刷新时间。间。

18、2000个读写周期个读写周期 T= 1 s22异步刷新异步刷新是集中刷新和分散刷新的结合,将是集中刷新和分散刷新的结合,将2ms分成分成128个时间段,个时间段,每段的时间为每段的时间为 2000 / 128 = 15. 5 s,再将每段时间分成两,再将每段时间分成两部分,其中前面的部分,其中前面的15 s用于读写,最后的用于读写,最后的0. 5 s用于刷新。用于刷新。15.5 s15.5 sT= 2ms / (4000 128 ) = 0.5165 s23三种刷新方式的比较:三种刷新方式的比较:集中刷新:用于高速存储器中,但存在死时间集中刷新:用于高速存储器中,但存在死时间分散刷新:虽然不存

19、在死时间,但大大降低了存储体分散刷新:虽然不存在死时间,但大大降低了存储体 的速度的速度异步刷新:异步刷新: 既不存在死时间,也保持了存储体的高速特性既不存在死时间,也保持了存储体的高速特性关于动态存储器刷新的几点说明:关于动态存储器刷新的几点说明:不同材料不同生产工艺的动态存储器的刷新周期不同,常见的有不同材料不同生产工艺的动态存储器的刷新周期不同,常见的有2ms 、4ms、 8ms,刷新时间间隔不能超过刷新周期。,刷新时间间隔不能超过刷新周期。要知道存储体的行、列结构,即行移码器输出的线数,因为,刷要知道存储体的行、列结构,即行移码器输出的线数,因为,刷新是按照行进行的。当存储器是由若干单

20、体构成时,以新是按照行进行的。当存储器是由若干单体构成时,以单体的容单体的容量为计算的依据量为计算的依据,同时考虑,同时考虑双译码的原则双译码的原则。 如由如由256K的存储体构成的存储体构成2M的存储器。行为的存储器。行为29,若由,若由512K的单体的单体构成,则行可以是构成,则行可以是29或或210,但要说明。,但要说明。刷新地址是由专门的器件刷新地址是由专门的器件- 刷新地址计数器给出的。刷新地址计数器给出的。24 动动态存储器举例态存储器举例25 64K 1 存储体存储体 :需位地址,由需位地址,由 4 个个 128 128 的存储阵列构成;的存储阵列构成; 地址锁存器地址锁存器:

21、2164A 采用双译码方式,受封装限制,采用双译码方式,受封装限制, 16 位地址信息通位地址信息通过同一组引脚分两次送入,故在芯片内部需要能保存过同一组引脚分两次送入,故在芯片内部需要能保存 8 位地址信息的地位地址信息的地址锁存器;址锁存器; 1/4I/O 门电路:门电路: 由行、列地址信号的最高位控制,能从相应的由行、列地址信号的最高位控制,能从相应的 4 个存个存储矩阵中选择一个进行输入输出操作;储矩阵中选择一个进行输入输出操作; 数据输入缓冲器数据输入缓冲器 用以暂存输入的数据;用以暂存输入的数据; 数据输出缓冲器数据输出缓冲器 用以暂存要输出的数据;用以暂存要输出的数据; 26 行

22、、列时钟缓冲器:行、列时钟缓冲器: 用以协调行、列地址的选通信号;用以协调行、列地址的选通信号; 写允许时钟缓冲器:写允许时钟缓冲器: 用以控制芯片的数据传送方向;用以控制芯片的数据传送方向; 128 读出放大器:读出放大器: 4 个个 128 读出放大器接收由行地址选通的读出放大器接收由行地址选通的 4 128 个存储单元的信息,经放大后,再个存储单元的信息,经放大后,再写回写回原存储单元原存储单元,实现刷新实现刷新. 1/128 行、列译码器:行、列译码器: 分别用来接收分别用来接收 7 位的行、列地址,经译码后,位的行、列地址,经译码后,从从 128 128 个存储单元中选择一个确定的存

23、储单元,以便对其进行读个存储单元中选择一个确定的存储单元,以便对其进行读 / 写操作。写操作。 27:行地址选通信号输入引脚,低电平有效,行地址选通信号输入引脚,低电平有效,兼作芯片选择兼作芯片选择信号。信号。当为低电平时,表明芯片当前接收的是行地址;当为低电平时,表明芯片当前接收的是行地址; RASCAS:列地址选通信号输入引脚,低电平有效,表明当前正:列地址选通信号输入引脚,低电平有效,表明当前正在接收的是列地址在接收的是列地址 ( 此时此时 行选择行选择 应保持为低电平应保持为低电平 ) 28SRAM和DRAM的主要区别种类种类SRAMDRAM访问速度访问速度快快慢慢刷新电路刷新电路不需

24、要不需要需要需要使用场合使用场合高速缓存、嵌高速缓存、嵌入式系统入式系统系统微机内存系统微机内存价格价格高高低低293、只读存储器、只读存储器 相对相对RAM而言,只能读,不能而言,只能读,不能写写 ,芯片上没有,芯片上没有R/W 引脚引脚 具有不易失性具有不易失性 有不同的类型有不同的类型30 1)掩膜式的)掩膜式的ROM312)一次编程一次编程 - PROM (熔丝工艺(熔丝工艺)1 1 1 11 0 1 0323)多次可编写程多次可编写程 可根据用户的需要可根据用户的需要,修改修改ROM中的内容中的内容 ?根据修改的方式不同根据修改的方式不同,又可分为不同的类型又可分为不同的类型: El

25、ectrically-Erasable Programmable Read-Only Memory (E2PROM )电可擦除电可擦除ROM 可在线读和在线写可在线读和在线写,但断电后其中的内容不丢失但断电后其中的内容不丢失reprogrammable read-only memory (RPROM ) 用光用光(紫外线紫外线)来擦除来擦除ROM中的内容中的内容 33四、信息存储及存储器编址四、信息存储及存储器编址1)存储字长与数据字长的概念)存储字长与数据字长的概念 存储字长:主存的一个存储单元所包含的二进制位数存储字长:主存的一个存储单元所包含的二进制位数 数据字长数据字长(字长字长):计

26、算机一次能处理的二进制数的位数:计算机一次能处理的二进制数的位数2)目前大多数计算机的主存采用按字节编址目前大多数计算机的主存采用按字节编址,而计算机的字长又包而计算机的字长又包含多个字节含多个字节,如如16位字长、位字长、32位字长和位字长和64位字长,所包含的字节数位字长,所包含的字节数分别为分别为2、4、8。343)大端大端(big-endian)和小端和小端(little-endian)数据存放方式数据存放方式 big-endian:最高字节最高字节地址地址(最左边最左边)作为作为字地址字地址 (正常存放方式正常存放方式)MSBLSB0 1 2 3字节地址字节地址4 5 6 7字地址字

27、地址04 little-endian:最低字节最低字节地址地址(最右边最右边)作为作为字地址字地址MSBLSB0 1 2 3字节地址字节地址4 5 6 7字地址字地址04 68000 采用大端采用大端,Intel采用小端,采用小端,ARM两者都支持两者都支持 (兼容性问题兼容性问题)354)大端大端(big-endian)和小端和小端(little-endian)数据存放方式数据存放方式 应用举例应用举例设某程序执行前设某程序执行前r0 =0x 11223344执行下列指令:执行下列指令:r1=0x100 STR r0, r1 LDRB r2 ,r1执行后:执行后:小端模式下:小端模式下:r2

28、=0x44大端模式下:大端模式下:r2=0x1136)字节编址的存储器按边界对齐数据存放方法字节编址的存储器按边界对齐数据存放方法 若数据字长若数据字长32位,存储字长位,存储字长64位。则半字长位。则半字长16位,双字长位,双字长64位位 边界对齐的数据存放如下图所示。边界对齐的数据存放如下图所示。 双字数据的起始地址的最末三位为双字数据的起始地址的最末三位为000(8字节的整数倍)字节的整数倍),表示表示访问一个访问一个64位字长的字位字长的字,如果要访问其中的某字节或半字则用低如果要访问其中的某字节或半字则用低三位中的部分位来选择三位中的部分位来选择. 单字数据的起始地址的最末二位为单字

29、数据的起始地址的最末二位为00(4字节的整数倍)字节的整数倍) 半字数据的起始地址的最末一位为半字数据的起始地址的最末一位为0(字节的整数倍)(字节的整数倍)字节字节半字半字双字双字单字单字半字半字半字半字字节字节64位位371、SRAM存储器与存储器与CPU的连接及扩展的连接及扩展1)需要连接的线需要连接的线地址线、数据线、读地址线、数据线、读 / 写控制线、片选信号写控制线、片选信号2)存储器扩展的种类存储器扩展的种类 位扩展位扩展 :当数据位不足时当数据位不足时字扩展字扩展 :当容量不足时当容量不足时 字位同时扩展:字位同时扩展:当数据位和存储体的容量均不足时使用当数据位和存储体的容量均

30、不足时使用五、存储器扩展及综合应用五、存储器扩展及综合应用383)位扩展位扩展 数据位不够时位扩展数据位不够时位扩展 所需芯片数量所需芯片数量: K= 数据线位数数据线位数/ 存储体存储体数据位数据位 本例中本例中K=8/1=8 所有芯片的片选为低所有芯片的片选为低; CPU访问存储器时访问存储器时,其发其发出的地址和控制信号同出的地址和控制信号同时传给时传给8个存储芯片个存储芯片,选中选中每个芯片的同一个单元每个芯片的同一个单元.R/WCS=0394)字扩展字扩展 容量不够时字扩展容量不够时字扩展 所需芯片数量所需芯片数量:L= 主存容量主存容量/ 存储体容量存储体容量 或或: L= 2 C

31、PU地址线数地址线数-存储体地址线数存储体地址线数 本例中本例中L=64/16=4 片选产生办法片选产生办法: 线选法线选法全译码法全译码法部分译码法部分译码法. 来自来自CPU多余地址译码输出多余地址译码输出CPU每次只能选中一个存储芯每次只能选中一个存储芯片中的某个单元片中的某个单元.405)字扩展时计算不同存储体的地址范围字扩展时计算不同存储体的地址范围体号体号 地址范围地址范围16进制值进制值A15A14 A13 A00000 0, 0 0 0 0 ,0 0 0 0, 0 0 0 0 0000H 03FFFH001 1, 1 1 1 1, 1 1 1 1, 1 1 1 11010 0

32、,0 0 0 0 ,0 0 0 0, 0 0 0 004000H07FFFH011 1 ,1 1 1 1 ,1 1 1 1, 1 1 1 12100 0, 0 0 0 0 ,0 0 0 0, 0 0 0 08000H0BFFFH101 1 ,1 1 1 1, 1 1 1 1, 1 1 1 13110 0, 0 0 0 0 ,0 0 0 0, 0 0 0 00CFFFH0FFFFH111 1, 1 1 1 1 ,1 1 1 1 ,1 1 1 1416)字位同时扩展字位同时扩展当用户所需要的存储器的容量和数据位均大于存储体当用户所需要的存储器的容量和数据位均大于存储体的容量和数据位时,采用字位同时

33、扩展。的容量和数据位时,采用字位同时扩展。所需要的存储体的数量所需要的存储体的数量P = K L = 存储器的容量存储器的容量 数据位数据位存储芯片的容量存储芯片的容量 数据位数据位7) 字位同时扩展举例字位同时扩展举例引例、用引例、用256K 32位的存储体构造位的存储体构造 2M 32位的存储器位的存储器,并完成与并完成与CPU的连接的连接解解: 所需要的存储体的片数为所需要的存储体的片数为 P =2 1024K256K= 8片片42分析:分析: 访问访问2M字字存储空间需要地址线:存储空间需要地址线:21根根256K的存储体的地址线数:的存储体的地址线数:18根根多余多余3根送片根送片选

34、移码选移码由于是由于是32位数据位数据 ,是,是8的的4倍,为保证按字边界对齐,需倍,为保证按字边界对齐,需A1A0 = 0043例例1、用、用256K 8位的存储体构造位的存储体构造 2M 32位的存储器位的存储器,并完成与并完成与CPU的连接的连接分析:分析:1)本例与引例有何不同本例与引例有何不同 是字位同时扩展是字位同时扩展,( 256K 32位位 V 256K 8位位)2)本例与引例有何联系,这种联系对解答本题有何启示?本例与引例有何联系,这种联系对解答本题有何启示? 最后存储器的容量相同,都是最后存储器的容量相同,都是2M 启示:启示: 如果先用如果先用 256K 8位的存储体构造

35、成位的存储体构造成256K 32位的存储体位的存储体 则其余的解题方法同引例则其余的解题方法同引例44所需要的存储体的片数为所需要的存储体的片数为 P =2 1024K 32256K 8= 32先用先用4片片256K X 8位的存储体构成位的存储体构成 256K X 32的存储体的存储体45再用引例中的方法即可,如下图所示。再用引例中的方法即可,如下图所示。46本题也可以直接表示成如下图所示的结构本题也可以直接表示成如下图所示的结构。47例例3 某计算机的主存地址空间中,从地址某计算机的主存地址空间中,从地址000016 到到 3FFF16 为为ROM存储区域,从存储区域,从400016到到5

36、FFF16为保留地址区域,暂时不为保留地址区域,暂时不用,从用,从600016到到FFFF16为为RAM地址区域。地址区域。RAM的控制信号为的控制信号为CS#和和WE#,CPU的地址线为的地址线为A15A0,数据线为,数据线为D7D0,控制,控制信号有信号有R/W#和访存请求和访存请求MREQ#,要求:,要求:(1) 如果如果ROM和和RAM存储器芯片都采用存储器芯片都采用8K1的芯片,试画出的芯片,试画出存储器与存储器与CPU的连接图。的连接图。488K 1 40K 8(1) 分析分析地址空间分布分析:地址空间分布分析:0000H 3FFFH (16K) : ROM 011 1111 11

37、11 1111 000 0000 0000 0000 = 11 1111 1111 11114000H 5FFFH ( 8K) : 保留区保留区6000H FFFFH (40K) : RAM区区(FFFFH- 6000H=1001,1111,1111,1111=215+8K)。)。需要需要ROM和和RAM的片数量的片数量 需要需要ROM的数量为:的数量为:16K 88K 1= 16片片需要需要RAM的数量为:的数量为:= 40片片49 RAM和和ROM均需要进行字均需要进行字/位同时扩展位同时扩展扩展扩展 译码线的选择译码线的选择 参加参加译译码的线数为码的线数为 16 - log 2 819

38、2 = 16 13 = 3根根 则则译译码器的输出有码器的输出有8根,每根输出选中根,每根输出选中64K / 8 =8K的存储的存储 单元,总共选中单元,总共选中64K个单元。个单元。 由于中间有由于中间有8K的保留区(的保留区( 4000H 5FFFH ),故),故译译码码器的第器的第3个输出轮空个输出轮空具体的连接方案如下图所表示具体的连接方案如下图所表示50每个片选译码线选择每个片选译码线选择8K的存储空间的存储空间51(2) 如果如果ROM存储器芯片采用存储器芯片采用8K8的芯片,的芯片,RAM存储器芯片采用存储器芯片采用4K8的芯片,试画出存储器与的芯片,试画出存储器与CPU的连接图

39、。的连接图。地址空间分布分析:地址空间分布分析: 0000H 3FFFH (16K) : ROM4000H 5FFFH ( 8K)) : 保留区保留区6000H FFFFH (40K) : RAM区区需要需要ROM和和RAM的片数量的片数量 需要需要ROM的数量为:的数量为:16K 88K 8= 2需要需要RAM的数量为的数量为 :40K 84K 8= 10扩展扩展 ROM和和RAM均只需要进行字扩展均只需要进行字扩展52如何选择译码输入如何选择译码输入 ?以大容量的为目标以大容量的为目标(8k单体单体),先将容量小的进行扩充成中先将容量小的进行扩充成中间模块间模块,使容量和位数与大容量的相同

40、。剩余的地址线再使容量和位数与大容量的相同。剩余的地址线再作为译码器的输入作为译码器的输入此时送入译码器的输入地址线的数量为:此时送入译码器的输入地址线的数量为: 16 13 =3 根根 共产生共产生8个译码输出线,每根译码输出线选择的内存个译码输出线,每根译码输出线选择的内存空间范围是:空间范围是: 64K/8 = 8K53 每个片选译码线选择每个片选译码线选择8K的存储空间的存储空间54 每个片选译码线选择每个片选译码线选择8K的存储空间的存储空间55如以小容量的为目标如以小容量的为目标(4K的单体的单体) 此时送入译码器的输入地址线的数量为:此时送入译码器的输入地址线的数量为: 16 1

41、2 = 4 根根 共产生共产生16个译码输出线,每根译码输出线选择的内存个译码输出线,每根译码输出线选择的内存空间范围是:空间范围是: 64K/16 = 4K显然,为了留出显然,为了留出8K的保留区,必须预留出的保留区,必须预留出2根片选信号根片选信号56以小容量的为目标以小容量的为目标, 每个片选译码输出选择每个片选译码输出选择4K的存储范围的存储范围57(3) 如果如果ROM存储器芯片采用存储器芯片采用16K8的芯片,的芯片,RAM存储器存储器芯片采用芯片采用8K8的芯片,试画出存储器与的芯片,试画出存储器与CPU的连接图。的连接图。地址空间分布分析同前地址空间分布分析同前需要需要ROM和

42、和RAM的片数量的片数量 需要需要ROM的数量为:的数量为:16K 816K 8= 1需要需要RAM的数量为:的数量为:40K 88K 8= 5扩展扩展 片选移码可以有两种选择方式片选移码可以有两种选择方式1)以)以16K单体为目标,每个片选译码线选择单体为目标,每个片选译码线选择16K的存储空间的存储空间 注意:注意: 保留区只有保留区只有8K,不能使用一完整的译码输出线,不能使用一完整的译码输出线58以以16K单体为目标,每个片选译码线选择单体为目标,每个片选译码线选择16K的存储空间的存储空间 59以以8K的单体为目标,每个片选译码线选择的单体为目标,每个片选译码线选择8K的存储空间的存

43、储空间60例例4 CPU的地址总线共有的地址总线共有A15 A0,双向数据总线,双向数据总线8根根(D7 D0), 控制总线中与主存有关的信号是控制总线中与主存有关的信号是MREQ,R/W。主存地址空间分配如下:主存地址空间分配如下:0 8191 : 为系统程序区,由为系统程序区,由ROM组成组成 8192 - 32767 : 为用户程序区,为用户程序区, 最后最后2K : 地址空间为系统程序工作区。地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器供选用:上述地址为十进制,按字节编址。现有如下存储器供选用:EPROM : 8K x 8位(控制端仅有位(控制端仅有CS)SR

44、AM : 16K x 1、2K x 8、 4K x 8、 8K x 8 设计该存储器的,并与设计该存储器的,并与CPU相连。相连。61 解:先画出主存地址空间分布图和分析移码器的处理解:先画出主存地址空间分布图和分析移码器的处理8K(EPROM)24K(SRAM)30K(空空)2K(SRAM)选用的芯片选用的芯片: EPROM : 8Kx8 1片片 SRAM : 8K x 8 3片片 2K x 8 1片片 译码器的译码器的处理处理64K内存需要地址线:内存需要地址线: 16根根8K的存储体需要地址线:的存储体需要地址线:13根根译码器的输入线译码器的输入线 : 3根根每个输出选择每个输出选择8

45、K 保留区和保留区和2K容量特殊容量特殊 62画图分析画图分析 63体号体号 地址范围地址范围16进制值进制值A15A14A13 A12 A0R O M 10000 0 0 0 0 0 0 0 0 0 0 0 0 0000H 01FFFH0001 1 1 1 1 1 1 1 1 1 1 1 1 RAM10010 0 0 0 0 0 0 0 0 0 0 0 0 02000H03FFFH0011 1 1 1 1 1 1 1 1 1 1 1 1 RAM20100 0 0 0 0 0 0 0 0 0 0 0 0 04000H05FFFH0101 1 1 1 1 1 1 1 1 1 1 1 1 RAM3

46、0110 0 0 0 0 0 0 0 0 0 0 0 0 06000H07FFFH0111 1 1 1 1 1 1 1 1 1 1 1 1 RAM41000 0 0 0 0 0 0 0 0 0 0 0 0 08000H09FFFH1001 1 1 1 1 1 1 1 1 1 1 1 1 RAM51010 0 0 0 0 0 0 0 0 0 0 0 0 A000HBFFFH1011 1 1 1 1 1 1 1 1 1 1 1 1 RAM61100 0 0 0 0 0 0 0 0 0 0 0 0 C000HDFFFH1101 1 1 1 1 1 1 1 1 1 1 1 1 RAM71110 0 0

47、 0 0 0 0 0 0 0 0 0 0 E000HFFFFH1111 1 1 1 1 1 1 1 1 1 1 1 1 64体号体号 地址范围地址范围16进制值进制值A15A14A13 A12A11A10 A0RAM7111000 0 0 0 0 0 0 0 0 0 0E000HE7FFH1 1 1 1 1 1 1 1 1 1 1111010 0 0 0 0 0 0 0 0 0 0E8FFH0EFFFH1 1 1 1 1 1 1 1 1 1 1111100 0 0 0 0 0 0 0 0 0 0F000HF7FFH1 1 1 1 1 1 1 1 1 1 1111110 0 0 0 0 0 0

48、0 0 0 0F800HFFFFH1 1 1 1 1 1 1 1 1 1 1可见,只有当可见,只有当A12 A11= 11的时,才能选中最后的的时,才能选中最后的2K原方案中,当地址为原方案中,当地址为E000HE7FFH、E8FFH0EFFFH和和F000HF7FFH也能选中也能选中RAM3,这与题意不相符合。,这与题意不相符合。因此,对因此,对RAM4的片选还要做修改的片选还要做修改65 3:8译译码器码器 OE# MREQ# R/W# CPU D7D0 CE 8K8 (RAM2) WE* D CE 8K8 (ROM1) D CE 8K8 (RAM1) D CE 8K8 (RAM3) WE

49、* D CE 2K8 (RAM7) WE* D A10 A0 A11 A12 A13 A15 & & 166五、高速存储器五、高速存储器1、问题的提出、问题的提出 (1)CPU和主存速度上存在差异和主存速度上存在差异 (2)一个一个CPU周期内需要多个存储字周期内需要多个存储字60%/yr.DRAM7%/yr.110100100019801981198319841985198619871988198919901991199219931994199519961997199819992000DRAMCPU1982Processor-MemoryPerformance Gap:(grows 50%

50、/ year)Performance“Moores Law”672、几种解决问题的方法、几种解决问题的方法 (1)主存采用更高速的材料,缩短读写时间;或增加存储器字长主存采用更高速的材料,缩短读写时间;或增加存储器字长 (2)采用并行操作的双端口存储器采用并行操作的双端口存储器 (3)在在CPU和主存间插入高速缓冲存储器和主存间插入高速缓冲存储器(Cache) (4)在每个存储周期中存取几个字在每个存储周期中存取几个字683、双端口存储器、双端口存储器构造及工作原理:构造及工作原理: 具有相互独立的两组读具有相互独立的两组读/写控写控制电路制电路, 正常情况下各自独正常情况下各自独立进行读立进

51、行读/写写 左右读左右读/写不同单元时不发生写不同单元时不发生冲突冲突 左右同时存取同一个单元时左右同时存取同一个单元时,发发生读写冲突生读写冲突.此时此时,由判断逻由判断逻辑来延时一个读写控制器的辑来延时一个读写控制器的工作并设该端口工作并设该端口.BUSY=0.694、多体交叉存储器、多体交叉存储器1)多体交叉存储器的工作原理多体交叉存储器的工作原理结构分析及工作原理结构分析及工作原理:增加了存储器控制部件增加了存储器控制部件 总线宽度不变总线宽度不变 四个存储器的容量相同四个存储器的容量相同,各各有自己的读有自己的读写线路、地址写线路、地址寄存器、数据寄存器。寄存器、数据寄存器。 各模块

52、的读写过程将重叠各模块的读写过程将重叠进行,对于每个模块而言,进行,对于每个模块而言,读写时间不变,但对读写时间不变,但对CPU而言,在一个存储周期内而言,在一个存储周期内连续访问四个模块。连续访问四个模块。 是一种并行存储器结构是一种并行存储器结构702)多体交叉存储器的定量分析多体交叉存储器的定量分析设模块存取周期为设模块存取周期为 T ,总线传送周期,总线传送周期为为 ,交叉模块数,交叉模块数为为m , 实现流水线方实现流水线方式存取,必须满足式存取,必须满足的条件是:的条件是: T = m 即每个模块启动后即每个模块启动后经过经过 时间的延时,时间的延时,就可以启动下一个就可以启动下一

53、个模块。模块。右图为右图为 m=4 时,时,CPU以流水方式访以流水方式访问各个存储器的示问各个存储器的示意图:意图:M0M1M2M3W0W1W2W30123连续读连续读m 个字的时间个字的时间: t1 = T + (m 1) 不采用多体交叉时读不采用多体交叉时读m 个字的时间个字的时间: t1 = Tm 713)顺序访问方式顺序访问方式顺序访问方式的特点顺序访问方式的特点: 相邻的地址在同一存储相邻的地址在同一存储体内体内不同存储体中的地址不不同存储体中的地址不相邻相邻实现简单实现简单 :用地址的高位用地址的高位移码作为片选信号移码作为片选信号不能在一个存储周期内不能在一个存储周期内存取多个

54、字存取多个字实现方法:实现方法: 将字扩展时多余的高将字扩展时多余的高位地址送片选译码输入。位地址送片选译码输入。724) 交叉方式交叉方式交叉方式的特点交叉方式的特点:相邻地址分布在不同存储体中相邻地址分布在不同存储体中同一存储体中的地址不相邻同一存储体中的地址不相邻实现方法:实现方法: 字扩展时,用低位地址作为多余字扩展时,用低位地址作为多余地址送入片选译码输入地址送入片选译码输入四片的地址通项公式分别为四片的地址通项公式分别为:4i +0 、4i+1、4i + 2、4i+3能在一个存储周期内存取多个字能在一个存储周期内存取多个字735)相联存储器相联存储器(1)什么是相联存储器什么是相联

55、存储器(2)按内容访问的存储器。按内容访问的存储器。(3)(2) 相联存储器的基本原理相联存储器的基本原理职工职工号号 姓名姓名出生出生年月年月工资工资800张明张明1940.22000540王芳王芳1960.12235920李萍李萍1942.52367750赵虹赵虹1967.66775610周进周进1980.72708物理地址物理地址n n+1 n+2 n+3 n+4 按地址访问的不足:按地址访问的不足:a: 地址地址n+3和和750号职工号职工的记录之间没有任何逻的记录之间没有任何逻辑上的关系辑上的关系 b: 要输出职工号为要输出职工号为750的职工的基本信息的职工的基本信息 ,必,必须有

56、下列判断:须有下列判断: if an.职工号职工号= 75074 (3)相联存储器的组成相联存储器的组成: 检索寄存器:存放检索字,与检索寄存器:存放检索字,与相联存储器存储体等宽相联存储器存储体等宽 屏蔽寄存器:屏蔽寄存器: 存放屏蔽码,以存放屏蔽码,以确定检索寄存器参与检索的位数确定检索寄存器参与检索的位数 比较线路:将检索项与从存储比较线路:将检索项与从存储器中读出的内容逐位比较,如果器中读出的内容逐位比较,如果相同,就将符合寄存器的相应位相同,就将符合寄存器的相应位置置1(体现按内容访问体现按内容访问) 符合寄存器:存放每次比较的符合寄存器:存放每次比较的结果,位数等于存储器的单元数,

57、结果,位数等于存储器的单元数,内容由比较电路的比较结果修改,内容由比较电路的比较结果修改,相符为相符为1 代码寄存器:代码寄存器: 读读/写的缓冲写的缓冲 存储体存储体75(4)相联存储器的特点及应用场合相联存储器的特点及应用场合 特点特点 能实现快速查询能实现快速查询应用场合应用场合 虚拟存储器中的段表、页面、段页表,以及在高速缓冲虚拟存储器中的段表、页面、段页表,以及在高速缓冲 存储器中存放的检索标志存储器中存放的检索标志.76六、六、cache存储器存储器1、 cache的基本原理的基本原理(1)cache的的功能功能:(2)缓解快速缓解快速CPU与慢速的主存之间的速度差异与慢速的主存之

58、间的速度差异(3)(2) cache的原理的原理:(4) 局部性原理局部性原理(5)(3) 在存储系统中的视图在存储系统中的视图CPU cachecache主存主存辅存辅存cache77(4)cache的原理图的原理图CPU与与Cache之间交换信息的基本之间交换信息的基本单位是单位是字字,而而Cache与主存之间信息与主存之间信息交换的单位是交换的单位是块块。 Cache的一个块包含若干个字。的一个块包含若干个字。CPU访问主存时,先根据该主存地访问主存时,先根据该主存地址到址到Cache中查找,如果查找成功中查找,如果查找成功(命中命中),则直接从,则直接从Cache中读取,反中读取,反之

59、之(不命中不命中)CPU访问主存,同时将访问主存,同时将该字所在的块送入该字所在的块送入Cache ,并在,并在CAM中登记相关信息中登记相关信息CAM是相联存储器是相联存储器当不命中时当不命中时,存在页面调度的问题存在页面调度的问题,常用的算法有常用的算法有LRU78 2、主存与、主存与Cache之间的映射方式之间的映射方式地址映射:将主存地址变换成地址映射:将主存地址变换成Cache地址的方法地址的方法地址映射的作用地址映射的作用 : CPU访问主存时,主存地址变换成访问主存时,主存地址变换成Cache地址,从而查找地址,从而查找Cache。地址映射的实现:地址映射的实现: 硬件实现,对软

60、件人员硬件实现,对软件人员 (包括程序员和系统程序员包括程序员和系统程序员) 透明透明三种地址映射方法:三种地址映射方法: 全相联、直接相联、组相联全相联、直接相联、组相联791)全相联映射方式全相联映射方式主存分块,主存分块, Cache分行,两者的容量相分行,两者的容量相同,即包含相同数量的字同,即包含相同数量的字图中主存被分成图中主存被分成256块,块, Cache被分成被分成8行。行。算法:主存的每一块可以映射到算法:主存的每一块可以映射到Cache的任意一行的任意一行映射时,主存的一个块被拷贝到映射时,主存的一个块被拷贝到Cache的某一行的某一行,其中其中,主存块地址被填写到主存块

61、地址被填写到Cache的标记部分的标记部分(相联存储器相联存储器),块中的,块中的内容存放到内容存放到Cache存储体中。存储体中。举例:举例: 设每块设每块4个字,则主存的大小为个字,则主存的大小为1024个字,其中第个字,其中第61个字的主存地址为:个字的主存地址为: 00001111 01 (块号(块号 块内地址)块内地址)则将则将00001111填入填入Cache某行某行的标记,的标记,该块的该块的4个字填入该行的个字填入该行的Cache存储体存储体内存内存80检索过程检索过程举例:举例: CPU要读内存地址为:要读内存地址为: 00001111 10则将前则将前8位位00001111

62、送入比送入比较器,同时较器,同时Cache的所有行的所有行的标记字段也同时送入该的标记字段也同时送入该比较器,如果某行命中,比较器,如果某行命中,则选通内存地址的剩余部则选通内存地址的剩余部分,并由它选择分,并由它选择Cache中相中相应字,本例中选择该块内应字,本例中选择该块内的第的第2个字。个字。若若CPU访问内存地址为:访问内存地址为: 00001110 01 则不命中则不命中81全相联映射的特点全相联映射的特点 优点:优点: Cache的利用率高,只要的利用率高,只要Cache中还有空行,就不需进行中还有空行,就不需进行页面调度。页面调度。缺点:缺点: 比较电路相对复杂比较电路相对复杂

63、使用场合:使用场合: 适合小容量的适合小容量的Cache中使用中使用822)直接映射直接映射主存按主存按Cache容量容量分区,区内分块;分区,区内分块;Cache分行,主存块的容量和分行,主存块的容量和Cache行的容量相同行的容量相同对于如图所示的情况对于如图所示的情况,分区数为分区数为32算法:算法:i =j mod 8 (i 是是Cache行号,行号,j是是主存主存块号块号)是一种多对一的映射是一种多对一的映射映射时,数据所在映射时,数据所在主存区号主存区号被填写被填写到到Cache某行的某行的标记标记部分,内容存放部分,内容存放到到Cache相应行的存储体中。相应行的存储体中。举例:

64、举例: 设每块设每块4个字,则主存的大小个字,则主存的大小为为1024个字,其中第个字,其中第61个字的主存地个字的主存地址为:址为: 00001 111 01 (在在1区、区、7 块中)块中)则将则将00001填入填入Cache的第的第1112行的行的标记部分,该块的标记部分,该块的4个字填入该行的个字填入该行的Cache存储体存储体83直接映射的检索直接映射的检索举例:举例: CPU要读内存要读内存地址为:地址为: 00001 111 11则将前则将前5位位00001与与Cache的的 第第7行标记的内行标记的内容送入比较器,若命中,容送入比较器,若命中,选择选择Cache第第7行内的第行

65、内的第3个字。个字。 若CPU读内存地址:读内存地址: 00010 111 01它是第它是第93个字,个字,B23块。块。此次访问将不会命中,此次访问将不会命中,将发生页面调度。将发生页面调度。84直接映射的特点:直接映射的特点: 优点:优点: 硬件简单、控制容易硬件简单、控制容易 缺点:缺点: 冲突率高,页面调度频繁,容易产生抖动冲突率高,页面调度频繁,容易产生抖动适用场合:适用场合: 适用于大容量适用于大容量Cache的场合,当的场合,当Cache的行增加后,与的行增加后,与Cache的同一行相对的主存的块数就相对减少,从而减少的同一行相对的主存的块数就相对减少,从而减少了冲突率了冲突率8

66、53)组相联映射)组相联映射1主存分块;主存分块;Cache分行,两者容分行,两者容量相同。量相同。Cache分组,每组中的分组,每组中的行数相同,主存分组,每组中的行数相同,主存分组,每组中的块块的数量同的数量同Cache的的组组数量数量(每组每组中包含中包含k行称为行称为k路组相联路组相联)对于如图所示的情况对于如图所示的情况,主存分组主存分组数为数为64(=256/4),故标记需要故标记需要6位位算法:算法: i =j mod 4(i 是是Cache组组号,号,j是主存块号是主存块号)是一种多对是一种多对一的映射,但是一的映射,但是j块映射到块映射到Cache i 组中的哪一组中的哪一行

67、行则采用全相联映则采用全相联映射实现射实现 映射时,主存块所在的组号被映射时,主存块所在的组号被填写到填写到Cache特定组特定组、任意行任意行的的标记中,数据存放到相应行的标记中,数据存放到相应行的Cache存储体中。存储体中。86举例:举例: 设每块设每块4个字,则主存个字,则主存的大小为的大小为1024个字,其中第个字,其中第61个字的主存地址为:个字的主存地址为: 000011 11 01 (主存主存3组中第组中第3块、块、 即即 B15块中块中)则将则将000011填入填入Cache的第的第3组组某行的标记部分,该块的某行的标记部分,该块的4个字个字填入该行的填入该行的Cache存储

68、体存储体又如第又如第93个字的主存地址为个字的主存地址为: 000101 11 01 也将分配到也将分配到Cache第第3组某行组某行87组相联映射的检索组相联映射的检索举例:举例: CPU要读内存地址要读内存地址为:为: 000011 11 11则将前则将前6位位000011与与Cache的的 第第3组中所有行标记的内容组中所有行标记的内容送入比较器,若命中,选择送入比较器,若命中,选择Cache第第3组中命中行内的第组中命中行内的第3个字。个字。若若CPU要访问的地址为:要访问的地址为: 000011 10 11则不命中则不命中88K路组相联的概念路组相联的概念每组中包含行每组中包含行Ca

69、che894)组相联映射)组相联映射2 Cache分组,组内分块。分组,组内分块。 以以Cache的的行数行数为基准对主存为基准对主存分区,区内组的分布同分区,区内组的分布同Cache的组分布。的组分布。 如图所示的如图所示的Cache有有8行,共行,共分四组,每组分四组,每组2行;主存分行;主存分32区,每区分区,每区分4组,每组组,每组2行。行。 映射时,主存区号、区内组映射时,主存区号、区内组号和组内块号被填写到号和组内块号被填写到Cache特定组特定组的的任意行任意行的标记中,内的标记中,内容存放到容存放到Cache相同组号任一相同组号任一存储体行中。存储体行中。90举例:举例: 设每

70、块设每块4个字,则主存个字,则主存的大小为的大小为1024个字,其中第个字,其中第61个字的主存地址为:个字的主存地址为: 00001 11 1 01 (主存主存1区区3组组1块块 即即 B15块中块中)则将则将00001111填入填入Cache的第的第3组组某行某行的标记部分,该块的的标记部分,该块的4个个字填入该行的字填入该行的Cache存储体存储体又如第又如第93个字的主存地址为个字的主存地址为: 00010 11 1 01 也将分配到第也将分配到第3组的某行组的某行91组相联映射组相联映射2的检索的检索举例:举例: CPU要读内存地址为:要读内存地址为: 00001 11 1 11则将

71、前则将前8位位00001111与与Cache的的 第第3组中所有行标记的内容送入比组中所有行标记的内容送入比较器,若命中,选择较器,若命中,选择Cache第第3组命中块中的第组命中块中的第3个字。个字。若若CPU要访问的地址为:要访问的地址为: 00001 11 0 11 则不命中则不命中92组相联映射的特点:组相联映射的特点: 前两者的优点前两者的优点5)映射方式的地址抽象)映射方式的地址抽象主存地址主存地址块地址块地址块内偏移块内偏移TagIndex块内偏移块内偏移Tag=主存块号,无主存块号,无Index全全Tag=主存区号,区内组,组内块主存区号,区内组,组内块Index=Cache组

72、号组号Tag=主存区号主存区号,Index =Cache行行直直Tag=主存组号,主存组号,Index=Cache组号组号组组Tag Index作用?作用?93饭碗?饭碗?现实生活中的现实生活中的Cache !使用饭碗可以解决什么问题?使用饭碗可以解决什么问题?946)替换算法)替换算法(1)LFU算法算法 - 最不经常使用算法最不经常使用算法(Least Frequently Used ) 该算法将一段时间内使用次数最少的行调出。故每行设置一该算法将一段时间内使用次数最少的行调出。故每行设置一个计数器,新调入的行计数值为个计数器,新调入的行计数值为0 ,每被访问一次,计数值加,每被访问一次,

73、计数值加1 ,当需要发生页面调度时,比较各行计数器的值,将最小者,当需要发生页面调度时,比较各行计数器的值,将最小者调出。调出。95举例举例 1 1 2 3 2 3 4 52111 11201120301121301121311131401121315010 96缺点:缺点:对新鲜数据保护不够对新鲜数据保护不够(2)LRU - 最近最少用算法最近最少用算法(Least recently used ) 该算法将一段时间内最长时间没有被使用的行调出。故该算法将一段时间内最长时间没有被使用的行调出。故每行设置一个计时器,新调入的和命中行计数值为每行设置一个计时器,新调入的和命中行计数值为0 ,同,同

74、时其他各行的计数器值加时其他各行的计数器值加1 ,当需要发生页面调度时,比,当需要发生页面调度时,比较各行计数器的值,将最大者调出。较各行计数器的值,将最大者调出。97 1 1 2 3 2 3 4 5LRU举例举例10 1120122130132031142130152231405023324110 98如果出现了下列情况如果出现了下列情况(LRU)11 2010 213012112010223113402332504110335142112052431221533012345123上述现象称为抖动,出现的原因是用户的程序足局性不好上述现象称为抖动,出现的原因是用户的程序足局性不好 在这种情况

75、下,在这种情况下,Cache的作用得不到发挥。的作用得不到发挥。要充分发挥计算机硬件的高速特性,要求用户的程序满要充分发挥计算机硬件的高速特性,要求用户的程序满足一定的要求!足一定的要求!以便实现硬件与软件的完美结合!以便实现硬件与软件的完美结合!997) 比较三种映射方法中的比较三种映射方法中的LRU全相联全相联 每次改变和被比较的是每次改变和被比较的是Cache所有行的计数值所有行的计数值直接相联直接相联 不用不用LRU,只要有冲突就直接替换原只要有冲突就直接替换原Cache行中行中 的页面,因的页面,因为是多对一的关系为是多对一的关系组相联组相联 页面调入时页面调入时,只是相关组内的计数

76、器的计数值会只是相关组内的计数器的计数值会发生变化发生变化,且比较时也是比较相关组内所有且比较时也是比较相关组内所有Cache行的计数行的计数器的值器的值.100a)几个相关的概念几个相关的概念 Cache脏位或修改位脏位或修改位(Dirty bit)表示Cache中的数据是否被修改过,当Cache中某块数据被CPU修改(写)时将该位置1,一般用于Cache的的写回策略,即表示Cache中的数据被更新,而主存中的数据未被更新。中的数据被更新,而主存中的数据未被更新。 Cache有效位有效位(Valid bit) 用来表示是否有不经过Cache的主存数据更新的主存数据更新(如如DMA操作操作),

77、当有当有这种主存数据更新时这种主存数据更新时,有效位修改成有效位修改成0,表示主存的数据被更新表示主存的数据被更新,而而Cache中的数据无效中的数据无效.8) CACHE的一致性问题的一致性问题101b)Cache的结构的结构TagDataValid(1)Dirty(1)102问题的提出:问题的提出: 正常情况下正常情况下, Cache是主存的副本,但经过一段时间后,可是主存的副本,但经过一段时间后,可能会出现两者内容不一致的情况,导致这种不一致的情况有:能会出现两者内容不一致的情况,导致这种不一致的情况有:CPU将将Cache某单元的内容修改某单元的内容修改成了成了X,而主存相关单元的内容

78、,而主存相关单元的内容还是还是X,当外设读取,当外设读取X对应单元的对应单元的数值时,就会发生不一致错误。数值时,就会发生不一致错误。c)Cache的一致性的一致性主存主存cacheCPUXXI/O(1)情况情况1103解决问题的方法解决问题的方法(a)写直达法写直达法(WT - Write through): CPU在执行写操作时,必须把数据同时写入在执行写操作时,必须把数据同时写入Cache和主存。和主存。(b)写回法写回法(WB- Write Back): CPU写写Cache命中时,数据只写向命中时,数据只写向Cache,不写主存,同时修,不写主存,同时修改改Cache中数据的脏位或修

79、改位,供其它读内存的设备参考。中数据的脏位或修改位,供其它读内存的设备参考。 104主存主存cacheCPUXXI/O外设将主存某单元的内容修改外设将主存某单元的内容修改成了成了X,而主存该单元的内容,而主存该单元的内容在修改前被读入到在修改前被读入到Cache,还是保,还是保存原来的存原来的X,当再次读取该,当再次读取该值时,就会发生不一致错误。值时,就会发生不一致错误。(2)情况情况2解决问题的方法解决问题的方法当外设修改主存单元内容时,将当外设修改主存单元内容时,将ache对应位置的有效标致位置无效即可对应位置的有效标致位置无效即可105主存主存cacheCPU1XX 或或X(3)情况情

80、况3CPU2X.106习题课习题课直接直接组相联组相联107例例1 采用组相联映射方式的采用组相联映射方式的Cache中,主存由中,主存由B0 B7共共8块组成,块组成,Cache有有2组,每组组,每组2块,每块的大小为块,每块的大小为8B,采用,采用LFU替换算法,在程替换算法,在程序执行过程中,依次访问主存地址的块流为序执行过程中,依次访问主存地址的块流为B6、B2、B1、B4、B6、B6、B0、B4、B5、B7、B3。1.写出写出Cache和主存地址格式,并标出各部分的长度和主存地址格式,并标出各部分的长度 2 画出主存与画出主存与Cache之间各块的映象对应关系之间各块的映象对应关系

81、3 3 采用采用LFU算法画出块的替换过程并计算算法画出块的替换过程并计算Cache的块命中率的块命中率解:主存的容量为:解:主存的容量为: 8*8=64B Cache的容量为:的容量为:2*2*8 = 32B由组相联的映射方法:由组相联的映射方法: 主存分组,组内分块,块内分字,主存分组,组内分块,块内分字, Cache分组,组内分行,行内分字。分组,组内分行,行内分字。1) 主存和主存和Cache的地址格式及其每部分的长度如下:的地址格式及其每部分的长度如下:主存组号主存组号组内块号组内块号 块内字号块内字号 2 1 3主存地址格式主存地址格式Cache组号组号组内行号组内行号 块内字号块

82、内字号 1 1 3Cache地址格式地址格式1082)Cache与主存之间的对应关系如下图所示与主存之间的对应关系如下图所示主存块主存块号及二号及二进制值进制值0123456700 000 101 001 110 010 111 011 1Cache 组号组号1 030B360B610B1 50170061602014000400B7B5B4B0B6B6B4B2C0C13)利用利用FLU算法进行替换算法的映射全过程算法进行替换算法的映射全过程命中率命中率= 1/11109例例2.局部性分析。局部性分析。以下程序以下程序A和和B中,哪一个对数组中,哪一个对数组A20482048引用的空间局部性更

83、引用的空间局部性更好?时间局部性呢?变量好?时间局部性呢?变量sum的空间局部性和时间局部性如何?对的空间局部性和时间局部性如何?对于指令来说,于指令来说,for循环体的空间局部性和时间局部性如何?循环体的空间局部性和时间局部性如何?110程序段程序段A的时间局部性和空间局部性分析的时间局部性和空间局部性分析(1)数组数组A:访问顺序为访问顺序为A00, A01 , A02047;与存放顺序一致,故与存放顺序一致,故空间局部性好空间局部性好!但每个但每个Aij只被访问一次,故只被访问一次,故时间局部性差时间局部性差!(2)变量变量sum:单个变量不考虑空间局部性;:单个变量不考虑空间局部性;每

84、次循环都要访问每次循环都要访问sum,所以其时间局部性较好!,所以其时间局部性较好!(3)for循环体:循环体内指令按序连续存放,所以空间局部性好!循环体:循环体内指令按序连续存放,所以空间局部性好!循环体被连续重复执行循环体被连续重复执行2048x2048次,所以时间局部性好!次,所以时间局部性好!111程序段程序段B的时间局部性和空间局部性分析的时间局部性和空间局部性分析(1)变量变量sum:(同程序:(同程序A )(2)for循环体:(同程序循环体:(同程序A)(3)数组数组A:访问顺序为:访问顺序为A00 A20470;与存放顺序不一致,每次跳过与存放顺序不一致,每次跳过2048个单元

85、,若主存与个单元,若主存与Cache之间交之间交换信息的块单位小于换信息的块单位小于2KB,则没有空间局部性!,则没有空间局部性!(每个数组变量只被访问一次,没有时间局部性,(每个数组变量只被访问一次,没有时间局部性,同程序同程序A)112例例3 假定主存和假定主存和Cache之间采用直接映射方式,块大小为之间采用直接映射方式,块大小为16B。Cache的数据区容量为的数据区容量为64KB,主存地址为,主存地址为32位,按字节编址,数据字长位,按字节编址,数据字长32位。要求:说明主存地址如何划分,访存过程的硬件实现位。要求:说明主存地址如何划分,访存过程的硬件实现,并计算并计算Cache有多

86、少行?容量多大?有多少行?容量多大?(1)计算机字长计算机字长32位,每块大小为位,每块大小为16B,按字节编址。,按字节编址。 则一块包含则一块包含4个字,故需要个字,故需要2位表示选择一块内的哪个字,而一个位表示选择一块内的哪个字,而一个字字32位又包含位又包含4个字节,故用个字节,故用2位表示一个位表示一个32位字中的哪个字节。位字中的哪个字节。 (也可直接理解成需要也可直接理解成需要4位来表示选择哪个字节位来表示选择哪个字节) Cache 分成的行数为:分成的行数为: 64KB/16B = 4096块,块, 则用于选择则用于选择Cache行的索引字段位数为行的索引字段位数为12位位 则

87、标记字段的位数为(表示主存的不同分区)则标记字段的位数为(表示主存的不同分区) 32- 12 -(2+2) = 16位位硬件访问过程如下图所示硬件访问过程如下图所示113114(2)计算计算Cache的容量的容量4096 (1+16 +128)= 580Kbits115例例4 设某机内存容量为设某机内存容量为16MB,Cache的容量的容量16KB,每块每块8个字个字,每个字每个字32位位.设计一个四路组相联映象设计一个四路组相联映象(即即Cache内每组包含内每组包含4个字块个字块)的的Cache组织方式组织方式(方式方式1), 要求要求:1)画出主存地址字段中各字段的位数画出主存地址字段中

88、各字段的位数2)设设Cache的初态为空的初态为空,CPU依次从主存第依次从主存第0,1,2,.99号地址单元读出号地址单元读出100个字个字(主存一次读出一个字主存一次读出一个字),并重复此次序读并重复此次序读8次次,问命中率为多少问命中率为多少?3)若若Cache的速度是主存速度的的速度是主存速度的6倍倍,问有问有Cache和无和无Cache相比相比,存储存储系统的速度提高了多少倍系统的速度提高了多少倍解解:1) 每块每块 8*32位位= 32B块内地址块内地址5位位Cache行数行数: 16KB/32B = 512行行Cache的组数为的组数为: 512/4 =128组组则主存每组中包含

89、的块数为则主存每组中包含的块数为128块,组内块地址为块,组内块地址为: 7位位主存组地址为主存组地址为 :24 -5-7 =12位位116主存组地址主存组地址组内块地址组内块地址块内字地址块内字地址12752) 先画出先画出Cache的基本结构的基本结构.0组组一个字块,包含一个字块,包含8个个字,每个字字,每个字32位位1170781516232431323940474855566364717279808788959610307323964719610381540477279162348558087243156638895C0C1C2C3C4C5C6C7C8C9C10C11C12C13C1

90、4C15.Z0Z1Z2Z3ZnK0K1K2K3K4 (0 组组).K13按按组组相相联联映映射射方方式式1的的映映射射关关系系1180781516232431323940474855566364717279808788959610307815162324313239404748555663647172798087889596103104111112119120127C0C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15.Z0Z1Z2Z3 主存主存100个单元只需分个单元只需分13块块(4组组)就可调度完成就可调度完成,而而Cache有有128组组,因此因此,访问主存前访问

91、主存前100号单元号单元不会发生页面调度不会发生页面调度ZnK0K1K2K3K4.K13 初始状态为空初始状态为空,每块第每块第一个字不命中一个字不命中,后面后面7个个均命中均命中 100号单元对应号单元对应13块块,第一轮访问第一轮访问13次不命中次不命中,后七轮访问均命中后七轮访问均命中 命中率为命中率为:(100*8-13)/(8*100)=98.375%按按组组相相联联映映射射方方式式2的的映映射射关关系系1193)由题意由题意,设主存存取周期为设主存存取周期为6t,Cache的存取周期为的存取周期为t则没有则没有Cache的访问时间为的访问时间为:Tnc = 800*6t = 480

92、0t则有则有Cache的访问时间为的访问时间为:Tc = 13*6t +(800-13)*t = 865t则采用则采用Cache后的访问速度是没有后的访问速度是没有Cache访问速度的访问速度的5.5倍倍( 4800t/865t)提高的倍数为提高的倍数为5.5 -1 = 4.5倍倍120补充作业补充作业:某计算机采用直接映象某计算机采用直接映象Cache, 已知主存的容量为已知主存的容量为4MB, Cache的容量为的容量为4096B,字块长度为字块长度为8个字个字(每字每字32位位).1)画出反映主存与画出反映主存与Cache映象关系的主存地址各字段分配框图映象关系的主存地址各字段分配框图2

93、)设设Cache的初态为空的初态为空,CPU依次从主存第依次从主存第0,1,2,.99号读出号读出100个字个字(主存一次读出一个字主存一次读出一个字),并重复此次序读并重复此次序读8次次,问命中率为多问命中率为多少少?3)若若Cache的速度是主存速度的的速度是主存速度的6北北,问有问有Cache和无和无Cache相比相比,存储系统的速度提高了多少倍存储系统的速度提高了多少倍121七、虚拟存储器七、虚拟存储器1)问题的提出问题的提出: 如果目标程序比主存空间大,程序能运行吗如果目标程序比主存空间大,程序能运行吗?2)虚拟存储器虚拟存储器 虚拟存储器是一个大容量存储器的逻辑模型,该模型描述的虚

94、拟存储器是一个大容量存储器的逻辑模型,该模型描述的存储器的大小取决于辅存空间。在存储体系中处于主存存储器的大小取决于辅存空间。在存储体系中处于主存 -辅存层次。辅存层次。3)虚拟存储器提出的目的虚拟存储器提出的目的允许多个程序间有效地共享主存;消除小而受限的主存容量对编程造允许多个程序间有效地共享主存;消除小而受限的主存容量对编程造成的障碍。成的障碍。4)虚拟存储器的优点虚拟存储器的优点: 提供更为有效的管理存储设备的方法提供更为有效的管理存储设备的方法 主存空间的大小对程序员透明,用户可以使用比主存空间大主存空间的大小对程序员透明,用户可以使用比主存空间大 的程序地址空间的程序地址空间122

95、5)虚拟地址与物理地址虚拟地址与物理地址虚拟地址:虚拟地址:是程序的逻辑地址,由编译程序生成,所对应的虚拟地址是程序的逻辑地址,由编译程序生成,所对应的虚拟地址空间的大小受到辅存容量的限制。空间的大小受到辅存容量的限制。物理地址:物理地址:主存的地址,其空间受主存的地址,其空间受CPU地址线数的限制地址线数的限制当程序由辅存调入到主存时将发生虚拟地址到物理地址当程序由辅存调入到主存时将发生虚拟地址到物理地址的转换。的转换。123 6)虚拟存储器和高速缓冲存储器的比较虚拟存储器和高速缓冲存储器的比较使用的目的不同使用的目的不同: Cache是为了缓解快速的是为了缓解快速的CPU与慢速的主存之间的

96、速度差异。与慢速的主存之间的速度差异。虚拟存储器虽然也大大地减少了慢速辅存对虚拟存储器虽然也大大地减少了慢速辅存对CPU性能的影响,但性能的影响,但其主要功能是解决主存容量不足的问题。其主要功能是解决主存容量不足的问题。交换的信息单位不同:交换的信息单位不同:Cache - 主存之间信息交换的基本单位是定长的块;而主存主存之间信息交换的基本单位是定长的块;而主存-辅辅存间交换信息的基本单位随虚拟存储器类型的不同而不同,如有存间交换信息的基本单位随虚拟存储器类型的不同而不同,如有 段、页、段页段、页、段页CPU cachecache主存主存辅存辅存cache124 Cache主存在命中失效时,一

97、方面信息从主存调入主存在命中失效时,一方面信息从主存调入Cache,同时通过同时通过CPU和主存之间的专用通道调入和主存之间的专用通道调入CPU;而对于虚;而对于虚拟存储器而言,由于拟存储器而言,由于CPU和辅存之间不存在专用通道,所和辅存之间不存在专用通道,所以,只有当信息调入主存后,以,只有当信息调入主存后,CPU才能通过主存来读信息。才能通过主存来读信息。CPU cachecache主存主存辅存辅存cache命中失效的处理方式不同:命中失效的处理方式不同:125高速缓冲存储器的地址映射和替换策略高速缓冲存储器的地址映射和替换策略全由硬件全由硬件实现,实现,对程序员和系统程序员透明。对程序

98、员和系统程序员透明。虚拟存储系统的地址映射和和替换由操作系统加部分硬虚拟存储系统的地址映射和和替换由操作系统加部分硬件实现,其算法对程序员透明,但对系统程序员不透明。件实现,其算法对程序员透明,但对系统程序员不透明。透明程度不同透明程度不同CPU cachecache主存主存辅存辅存cache1267)三种类型的虚拟存储器三种类型的虚拟存储器段式:段式: 按程序的自然段作为主存和辅存之间交换的信息单位。按程序的自然段作为主存和辅存之间交换的信息单位。 使用段表来登记段的调入情况,段表是主存的一部分。使用段表来登记段的调入情况,段表是主存的一部分。 优点:优点: 保护了用户程序自身的相对独立性。

99、保护了用户程序自身的相对独立性。 缺点:缺点: 管理复杂,且容易造成主存的碎片管理复杂,且容易造成主存的碎片 127页式页式 将程序分成固定长度的页作为主存和辅存之间交换的将程序分成固定长度的页作为主存和辅存之间交换的信息单位。信息单位。 使用页表来登记页的调入情况,页表是主存的一部分。使用页表来登记页的调入情况,页表是主存的一部分。 优点:优点: 管理方便,主存空间浪费少管理方便,主存空间浪费少 缺点:缺点: 破坏了原程序自身的相对独立性。破坏了原程序自身的相对独立性。128 段页式段页式 对对程序段分成固定长度的页,页作为主存和辅存之间程序段分成固定长度的页,页作为主存和辅存之间交换的信息

100、单位。但共享和保护按段进行。交换的信息单位。但共享和保护按段进行。 使用段表和页表来登记段和页的调入情况。使用段表和页表来登记段和页的调入情况。 优点:优点: 管理方便,主存空间浪费少,保持原程序自身的相管理方便,主存空间浪费少,保持原程序自身的相 对独立性。对独立性。1297、存储保护、存储保护问题提出:问题提出:共享主存的环境下,要防止由于某道程序出错而影响其它共享主存的环境下,要防止由于某道程序出错而影响其它用户或破坏系统,以及一个非授权用户对其它数据的访问。用户或破坏系统,以及一个非授权用户对其它数据的访问。解决问题的方法:解决问题的方法: 存储保护存储保护实现方法:实现方法: 采用硬

101、件实现。采用硬件实现。1308.页式虚拟存储器页式虚拟存储器(1)基本概念基本概念页表页表记录虚拟空间记录虚拟空间和物理空间的映射关系和物理空间的映射关系131(2)页式虚拟存储逻辑地址划分页式虚拟存储逻辑地址划分虚拟页号虚拟页号页偏移量页偏移量虚拟地址虚拟地址与物理页大小相关与物理页大小相关与页表项数相关与页表项数相关 若主存页大小为若主存页大小为4K,虚存大小为,虚存大小为4GB,则:,则:页内偏移量为:页内偏移量为:12位位虚拟页号为:虚拟页号为:32-12 =20位,对应的页表有位,对应的页表有1024*1024项项页表的位置页表的位置:主存主存内内(!)页表是页表项页表是页表项PTE

102、(Page Table Entry)的集合的集合 132(3)页表的结构及虚拟存储器访问流程页表的结构及虚拟存储器访问流程01页表寄存器页表寄存器虚拟页号虚拟页号页偏移量页偏移量物理页号物理页号页偏移量页偏移量访问主存访问主存典型页表中有装入位、修改(典型页表中有装入位、修改(Dirt)位、替换控制位、)位、替换控制位、访问权限位、禁止缓存位、实页号访问权限位、禁止缓存位、实页号.133 应用举例应用举例在下图所示的虚拟页式存储页表中,假定页面大小为在下图所示的虚拟页式存储页表中,假定页面大小为1024B,求对,求对应于虚拟地址应于虚拟地址2050和和3080的主存地址。(最大物理空间为的主存

103、地址。(最大物理空间为64KB)10000101000110100011100001000123页表页表(2050)10 = 2048 + 2 = ( 10 0000000010 )2虚页号为虚页号为2,查页表可得到物理页号为查页表可得到物理页号为000111,则对应的物理地址为则对应的物理地址为:000111 0000000010虚存虚存3080号单元对应的物理地址为号单元对应的物理地址为:000100 0000001000 1341:处理器生成一个虚拟地址,并把它传送给处理器生成一个虚拟地址,并把它传送给MMU(存储管理单元存储管理单元);2:MMU生成页表项地址生成页表项地址PTEA,查

104、找页表,查找页表(存在于高速缓存存在于高速缓存/主存中主存中),以获得页表项以获得页表项PTE;3:向向MMU返回返回PTE;4:MMU利用返回利用返回PTE中的中的PPN(物理页号物理页号)构造物理地址,并利用该物构造物理地址,并利用该物理地址访问高速缓存理地址访问高速缓存/主存;主存;5:CPU从高速缓存从高速缓存/主存读取所请求的数据。主存读取所请求的数据。(4)页面命中和缺页的操作流程页面命中和缺页的操作流程 1351:处理器生成一个虚拟地址,并把它传送给处理器生成一个虚拟地址,并把它传送给MMU;2:MMU生成页表项地址生成页表项地址PTEA,查找页表,获得页表项,查找页表,获得页表

105、项PTE;3:向向MMU返回返回PTE;4:PTE中有效位为零中有效位为零(无效无效),MMU触发触发缺页异常缺页异常, CPU调用缺页异常处理程序;调用缺页异常处理程序;5:如果该页面被修改,缺页处理程序将其换出到磁盘;如果该页面被修改,缺页处理程序将其换出到磁盘;6:缺页处理程序调入新的页面,并更新页表;缺页处理程序调入新的页面,并更新页表;7:缺页处理程序返回到原来的进程,缺页处理程序返回到原来的进程,CPU将导致缺页的指令重新发给将导致缺页的指令重新发给MMU ,并重,并重新启动该指令新启动该指令。因为此时该虚拟页已经调入主存,因此,重新访问时该页将命中。因为此时该虚拟页已经调入主存,

106、因此,重新访问时该页将命中。执行流程又回到了图(执行流程又回到了图(a)。)。136(5)TLB的概念及结构的概念及结构 根据局部性原理,可增加一个小容量、高速的存储部件存放当前访根据局部性原理,可增加一个小容量、高速的存储部件存放当前访问的地址变换条目,该存储部件称为问的地址变换条目,该存储部件称为TLB(地址转换后备缓冲器地址转换后备缓冲器)。 TLB的结构和页表的结构类似,也是的结构和页表的结构类似,也是PTE的集合。为了实现对的集合。为了实现对TLB的快速访问,类似于的快速访问,类似于Cache中的映射方法,对来自于中的映射方法,对来自于CPU的的虚页号进行逻辑划分,虚页号进行逻辑划分

107、,得到相应的标记和索引字段。得到相应的标记和索引字段。其中索引字其中索引字段的位数取决于段的位数取决于TLB的分组数的分组数 。 由于页表存储在内存中,查表过程需付出很大的代价。由于页表存储在内存中,查表过程需付出很大的代价。(分析分析)PPO: 页偏移地址页偏移地址137因为用因为用TLBI定位定位PTE,因此,因此,TLB中只需中只需Tag增加增加TLB后后,CPU访问时将先在访问时将先在TLB中查找需要的地址变换条目,若不中查找需要的地址变换条目,若不存在,才从内存中的页表中查询,并把相应的结果添加到存在,才从内存中的页表中查询,并把相应的结果添加到TLB中,更中,更新它的内容。新它的内

108、容。138(6)包含包含Cache和和TLB的存储层次访问的存储层次访问存储器系统页大小为存储器系统页大小为4K,地址空间为地址空间为32位位,假设物理假设物理地址长度与虚拟地址相同地址长度与虚拟地址相同,TLB包含包含64个表项个表项,采用采用全相联全相联.计算机字长计算机字长32位位,主存块大小为主存块大小为4B.Cache采采用直接映像,数据区容量用直接映像,数据区容量为为64KB,包含包含1位有效位位有效位.abcdefgb=12 a= 20c=20e= 14f= 2d=16g=16H?H=20139(7)包含TLB Cache和虚存的存储层次140八、外存储器八、外存储器1、磁表面存

109、储器的工作原理:、磁表面存储器的工作原理: 在磁性材料上存储信息的存储方式称为磁表面存储器在磁性材料上存储信息的存储方式称为磁表面存储器磁头在磁表面存储信息的原理图磁头在磁表面存储信息的原理图141 利用磁性材料剩磁的两种磁化方向利用磁性材料剩磁的两种磁化方向(S-N N-S)和矩形磁和矩形磁滞回线特性来工作。滞回线特性来工作。 写入信息时,根据写入信息的不同写入信息时,根据写入信息的不同(0或或1),向磁头线圈输,向磁头线圈输入不同方向的电流并在磁性材料上形成不同磁化状态。入不同方向的电流并在磁性材料上形成不同磁化状态。 读取信息时,保留在磁性材料上的剩磁强度表现出的不读取信息时,保留在磁性

110、材料上的剩磁强度表现出的不同磁化状态,在磁头的线圈中感应出不同方向的电流,由同磁化状态,在磁头的线圈中感应出不同方向的电流,由此,判断出读出的信息是此,判断出读出的信息是1还是还是0。工作原理:工作原理:1422、磁性存储设备的磁记录方式、磁性存储设备的磁记录方式将待写入的二进信息变换成输入磁头的写电流脉冲序列,并形成将待写入的二进信息变换成输入磁头的写电流脉冲序列,并形成不同写入电流波形的方式称为记录方式不同写入电流波形的方式称为记录方式常见的磁记录方式常见的磁记录方式不不归归零零I0I0&1翻转翻转调调I的相位的相位调调I的频率,交界的频率,交界处处I变向,变向,f1=2f0I在在 2个个

111、0的位周期开始处的位周期开始处翻转。翻转。1在位周期中翻转在位周期中翻转143磁记录方式的评价:磁记录方式的评价:评价指标:评价指标:编码效率、自同步能力、检读分辨率、抗干编码效率、自同步能力、检读分辨率、抗干 扰扰能力、信道带宽、编码能力、信道带宽、编码/译码电路的复杂性等译码电路的复杂性等a)不同的记录方式具有不同的特定,应用于不同的存储场合不同的记录方式具有不同的特定,应用于不同的存储场合b)NRZ0具有较好的抗干扰性具有较好的抗干扰性c)PM也具有较强的抗干扰性,且具有良好的自同步能力也具有较强的抗干扰性,且具有良好的自同步能力(每每位中间都存在跳变位中间都存在跳变),常用于磁带存储器

112、。,常用于磁带存储器。d)FM记录密度高,具有自同步能力,常用于单密度磁盘记录密度高,具有自同步能力,常用于单密度磁盘;e)MFM记录密度进一步提高,常用于双密度磁盘记录密度进一步提高,常用于双密度磁盘;144在纵向磁记录的装置中,信息的记录密度有一定的限制,当密度达到在纵向磁记录的装置中,信息的记录密度有一定的限制,当密度达到15.5Gbits/cm2的时候,磁化方向在温度的影响下自身可能产生不稳定的时候,磁化方向在温度的影响下自身可能产生不稳定的现象的现象 .纵向磁记录方式纵向磁记录方式垂直磁记录方式垂直磁记录方式http:/www.tuc.nrao.edu/jcheng/magweb/m

113、chapter6.htm1453、磁盘存储器的结构与工作原理、磁盘存储器的结构与工作原理1) 磁盘数据的读写利用磁头和盘片来实现磁盘数据的读写利用磁头和盘片来实现2)磁盘存储器的逻辑结构磁盘存储器的逻辑结构 磁道、扇区、柱面磁道、扇区、柱面3)磁盘存储器的读写过程磁盘存储器的读写过程写过程:写过程: 定位定位(查磁道、找扇区查磁道、找扇区),根据写入的二进制数据转换成相应根据写入的二进制数据转换成相应的磁记录方式并输入到磁头线圈,产生不同的磁化状态。的磁记录方式并输入到磁头线圈,产生不同的磁化状态。读过程读过程 定位定位(查磁道、找扇区查磁道、找扇区), 根据盘面保存的不同的磁化状态根据盘面保

114、存的不同的磁化状态在磁头的线圈中产生不同方向的电路,经放大、鉴别和整在磁头的线圈中产生不同方向的电路,经放大、鉴别和整形后还原成数字信息形后还原成数字信息1464)硬盘存储器的基本结构硬盘存储器的基本结构1475)硬盘的分类硬盘的分类IDE硬盘硬盘:通过电缆与:通过电缆与IDE( Integrated Drive Electronics )接接 口相连接。集成驱动器即控制器与盘体集成在口相连接。集成驱动器即控制器与盘体集成在 一起的硬盘驱动器一起的硬盘驱动器 SCSI磁盘磁盘:通过电缆与:通过电缆与SCSI(Small Computer System Interface )卡卡 相连接相连接S

115、ATA磁盘磁盘:通过:通过SATA(Serial Advanced Technology Attachment :串行高级技术附件 )连接线与连接线与 SATA卡相连接卡相连接光纤通道磁盘光纤通道磁盘:通过光纤与主机相连接:通过光纤与主机相连接移动硬盘移动硬盘:通过通过USB口与主机相连口与主机相连148a. 存储密度:存储密度:分为分为道密度道密度、位密度位密度、面密度面密度。道密度:沿磁盘半径方向单位长度上的磁道数。道道密度:沿磁盘半径方向单位长度上的磁道数。道/英寸。英寸。位密度:位密度: 沿磁道方向单位长度记录的二进制位数。位沿磁道方向单位长度记录的二进制位数。位/英寸。英寸。面密度:

116、道密度与位密度的乘积。面密度:道密度与位密度的乘积。b. 存储容量:存储容量: 一个磁盘所能存储的字节总数。一个磁盘所能存储的字节总数。c. 数据传输率:数据传输率: 磁盘在单位时间内向主机传送的字节数。(磁盘在单位时间内向主机传送的字节数。(考虑缓存考虑缓存)4、硬盘的技术指标、硬盘的技术指标149 S=nN(n为磁盘的转速,为磁盘的转速,N为磁道容量,单位为字节)为磁道容量,单位为字节) = D V(D为位密度,为位密度,V为磁盘旋转的线速度)为磁盘旋转的线速度)可见,提高磁盘的转速,有利于提高磁盘的数据传输率。可见,提高磁盘的转速,有利于提高磁盘的数据传输率。d. 平均存取时间:平均存取

117、时间:从发出读写操作到找到正确位置并开始读写信息所用的时间。从发出读写操作到找到正确位置并开始读写信息所用的时间。比较与比较与存储器的存取时间存储器的存取时间概念的不同点概念的不同点?该过程由两个过程组成。该过程由两个过程组成。寻道:寻道:等待等待表示磁盘速度的公式有:表示磁盘速度的公式有:150寻道时间和等待时间均随机变化,一般用下列方法表示:寻道时间和等待时间均随机变化,一般用下列方法表示:寻道时间:寻道时间: 一般取一般取10 20ms等待时间:等待时间:与磁盘的转速有关,用磁盘旋转与磁盘的转速有关,用磁盘旋转一周一周所用时间的所用时间的一半一半表示。表示。5400转磁盘的平均等待时间为

118、:转磁盘的平均等待时间为:11/2 = 5.5 ms 7200转磁盘的平均等待时间为:转磁盘的平均等待时间为:8/2 = 4 ms 10000转磁盘的平均等待时间为:转磁盘的平均等待时间为:6/2 = 3 ms磁盘的平均存取时间磁盘的平均存取时间 = 平均寻道时间平均寻道时间 + 平均等待时间平均等待时间1515)硬盘应用举例硬盘应用举例例例1 磁磁盘盘组组有有6片片磁磁盘盘,每每片片有有两两个个记记录录面面,最最上上和和最最下下两两个个面面不不用用。存存储储区区域域内内径径22cm,外外径径33cm,道道密密度度为为40道道/cm,内层位密度,内层位密度400位位/cm,转速,转速2400

119、r/min。问。问: (1) 共有多少柱面共有多少柱面?(2) 盘组总存储容量是多少盘组总存储容量是多少?(3) 数据传输率为多少数据传输率为多少?解 (1) 有有效效存存储储区区域域半半径径R=(33-22)/2=5.5cm。因因道道密密度度=40道道/cm,所以共有,所以共有40道道/cm5.5cm=220道,即道,即220个柱面。个柱面。152(2) 内磁道周长为内磁道周长为2R=23.1411cm=69.08cm,因此,因此, 每道信息量每道信息量=400位位/cm69.08cm=27632位位=3454字节字节 每面信息量每面信息量=3454字节字节220=759880字节字节 盘组

120、总容量盘组总容量=759880字节字节10=7598800字节字节(3) 磁磁盘盘数数据据传传输输率率Dr=rN。其其中中,N为为每每条条磁磁道道容容量量,N=3454字节字节;n为磁盘转速,为磁盘转速,n=2400r/60 s=40 r/s。因此,。因此,Dr=nN=403454字节字节=13816字节字节/s例例1 磁盘组有磁盘组有6片磁盘,每片有两个记录面,最上和最下两片磁盘,每片有两个记录面,最上和最下两个面不用。存储区域内径个面不用。存储区域内径22cm,外径,外径33cm,道密度为,道密度为40道道/cm,内层位密度,内层位密度400位位/cm,转速,转速2400 r/min。15

121、35、网络存储、网络存储1)传统基于服务器存储技术模型传统基于服务器存储技术模型存存 储储设备设备服服务务器器网网络络用用户户 通过将磁盘阵列、磁带机、磁带库、光盘塔等存储产品通过将磁盘阵列、磁带机、磁带库、光盘塔等存储产品通过通过IDE或或SCSI总线连接至某一特定的主机,存储设备只能总线连接至某一特定的主机,存储设备只能被该主机直接访问和控制,其他主机需要访问存储设备中的被该主机直接访问和控制,其他主机需要访问存储设备中的数据时,必须经过该服务器的存储和转发,从而形成一个数据时,必须经过该服务器的存储和转发,从而形成一个“以服务器为中心以服务器为中心”的存储结构的存储结构 1542)上述上

122、述DAS存储结构的缺点存储结构的缺点服务器的负荷较重,效率低下,实时性差,服务器中存储服务器的负荷较重,效率低下,实时性差,服务器中存储I/O、网络、网络I/O以及以及CPU和内存容易成为系统瓶颈。和内存容易成为系统瓶颈。 没有独立的操作系统,不能提供没有独立的操作系统,不能提供跨平台跨平台的文件共享的文件共享不适合大型网络系统中对存储设备的高吞吐率、高可靠性、不适合大型网络系统中对存储设备的高吞吐率、高可靠性、易管理和可扩展性的需求。易管理和可扩展性的需求。存存 储储设备设备服服务务器器网网络络用用户户1553)网络存储技术网络存储技术 的服务模型的服务模型 网络存储网络存储 设备设备 服务

123、服务 器器 网网 络络 用用 户户存储系统不再通过存储系统不再通过I/O总线附属于某个特定的服务器或客户总线附属于某个特定的服务器或客户机,而是通过网络接口与网络相连,由用户通过网络访问机,而是通过网络接口与网络相连,由用户通过网络访问 特点:特点:可扩展性好,数据不再通过服务器内存转发,直接在客户机可扩展性好,数据不再通过服务器内存转发,直接在客户机和存储设备之间传送,服务器仅起控制和管理的作用,因而和存储设备之间传送,服务器仅起控制和管理的作用,因而具有更快的响应速度具有更快的响应速度 1564)三种常见的网络存储技术三种常见的网络存储技术SAN: Storage Area Network

124、 存储区域网络存储区域网络NAS: Network Attached Storage 附网存储附网存储 iSCSI IP on SCSI 157一个专用的一个专用的基于光纤基于光纤通道的存储网络通道的存储网络块级块级访问访问/SCSI/SCSI协议互操作性协议互操作性高性能高性能不受限制的可扩展性不受限制的可扩展性同构数据共享同构数据共享在在IP网络中网络中进行访问的进行访问的基于文件基于文件的存储设备的存储设备文件级访问文件级访问中高性能中高性能跨平台文件共享跨平台文件共享可扩展性可扩展性 & 性能存在上限性能存在上限易于使用、管理易于使用、管理快速、简单的部署快速、简单的部署TCP/IPN

125、ASSAN光纤通道光纤通道在在IP网络网络进行访问的进行访问的基于块基于块的存储设备的存储设备通过网络进行访问的存储通过网络进行访问的存储中高性能中高性能支持块级访问支持块级访问用于创建基于用于创建基于IP的的SANTCP/IPiSCSI1586、NRAM-Network RAM利用网络上其它计算机多余的内存构建一个网络利用网络上其它计算机多余的内存构建一个网络RAM,作为本机内存和外存之间的一个中间层作为本机内存和外存之间的一个中间层,用于存放中间结果用于存放中间结果和作为虚拟内存和作为虚拟内存HostDiskNetworkRAMRAMRAMNRAM实现的客观条件实现的客观条件大容量的本机大

126、容量的本机RAM高速的互联网高速的互联网分布式分布式OS159CPU cachecache主存主存辅存辅存cache7、考虑辅存后的计算机存储系统数据流图、考虑辅存后的计算机存储系统数据流图页页块块字字160 存储器的分类存储器的分类存储单元的工作原理存储单元的工作原理 (六管静态单元和四管动态单元)(六管静态单元和四管动态单元)存储器的扩充:存储器的扩充: 字扩展、位扩展、字位同时扩展、地址范围的分析、字扩展、位扩展、字位同时扩展、地址范围的分析、非连续地址范围的存储器扩展、非连续地址范围的存储器扩展、ROM和和RAM混合存储器扩展混合存储器扩展动态存储器的刷新动态存储器的刷新 需要知道内部译码结构,刷新是按行进行的,刷新地址有刷需要知道内部译码结构,刷新是按行进行的,刷新地址有刷新计数确定。三种刷新方式新计数确定。三种刷新方式存储体系(三级体系,两级结构)存储体系(三级体系,两级结构)高速存储器、高速存储器、CACHE的工作原理及映射方式的工作原理及映射方式虚拟存储器技术虚拟存储器技术磁盘的工作原理和网络存储技术磁盘的工作原理和网络存储技术本章小结本章小结161

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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