第一节 存储器的构成 第二节 存储系统的构成 第三节 Cache 第四节 虚拟存储器 第三章 存储系统 第一节 存储器的构成 第二节 存储系统的构成 第三节 Cache 第四节 虚拟存储器
第一节 存储器的构成 一、存储器芯片
静态存储器芯片
动态存储单元
动态存储器芯片
只读存储器
熔丝阵列
熔丝式ROM(PROM)
可擦写ROM——EPROM
MOS晶体管与EPROM单元的两种工作状态
电可擦写ROM——EEPROM及Flash存储器
相联存储器——框图
相联存储器——单元结构
相联存储器——阵列的构成
相联存储器——访问实例
二、存储器的基本组织
字扩展
字位扩展
存储器芯片的控制信号
SRAM时序 读周期: 写周期: 地址有效CS有效数据输出CS复位地址撤销
DRAM时序(一) 读周期: 行地址有效行地址选通列地址有效列地址选通数据输出行选通、列选通及地址撤销
DRAM时序(二) 写周期: 行地址有效行地址选通列地址、数据有效列地址选通数据输入行选通、列选通及地址撤销
DRAM时序(三) 刷新周期: RAS only:刷新行地址有效RAS有效刷新行地址和RAS撤销 CAS befor RAS:CAS有效RAS有效CAS撤销RAS撤销 hidden:(在访存周期中)RAS撤销RAS有效
DRAM时序(四) 刷新周期: RAS only:刷新行地址有效RAS有效刷新行地址和RAS撤销 CAS befor RAS:CAS有效RAS有效CAS撤销RAS撤销 hidden:(在访存周期中)RAS撤销RAS有效
DRAM时序(五) 刷新周期: RAS only:刷新行地址有效RAS有效刷新行地址和RAS撤销 CAS befor RAS:CAS有效RAS有效CAS撤销RAS撤销 hidden:(在访存周期中)RAS撤销RAS有效
例1 设有32片256K×1位的SRAM芯片,问:. (1) 采用位扩展方法可构成多大容量的存储器?. (2) 该存储器需要多少字节地址位? 例1 设有32片256K×1位的SRAM芯片,问: (1) 采用位扩展方法可构成多大容量的存储器? (2) 该存储器需要多少字节地址位? (3) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。 解:32片256K×1位的SRAM芯片可构成256K×32位的存储器。 如果采用32位的字编址方式,则需要18条地址线,因为218=256K。 因为存储容量为256K×32=1024KB,所以CPU访存最高地址位为A19。
例2 设有若干片256K×8位的SRAM芯片,问: (1) 采用字扩展方法构成2048KB的存储器需要多少片SRAM芯片? (2) 该存储器需要多少字节地址位? (3) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。 (4) 写出译码器逻辑表达式。 解:(1) 该存储器需要2048K/256K = 8片SRAM芯片; (2) 需要21条地址线,因为221=2048K,其中高3位用于芯片选择,低18位作为每个存储器芯片的地址输入。 (3) 该存储器与CPU连接的结构图如下。
例2 设有若干片256K×8位的SRAM芯片,问: (1) 采用字扩展方法构成2048KB的存储器需要多少片SRAM芯片? (2) 该存储器需要多少字节地址位? (3) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。 (4) 写出译码器逻辑表达式。
例3 设有若干片256K×8位的SRAM芯片,问:. (1) 如何构成2048K×32位的存储器?. (2) 需要多少片RAM芯片? 例3 设有若干片256K×8位的SRAM芯片,问: (1) 如何构成2048K×32位的存储器? (2) 需要多少片RAM芯片? (3) 该存储器需要多少字节地址位? (4) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。 解:采用字位扩展的方法。需要32片SRAM芯片。
例4 某计算机的主存地址空间中,从地址000016到3FFF16为ROM存储区域,从400016到5FFF16为保留地址区域,暂时不用,从600016到FFFF16为RAM地址区域。RAM的控制信号为CS#和WE#,CPU的地址线为A15~A0,数据线为8位的线路D7~D0,控制信号有读写控制R/W#和访存请求MREQ#,要求: (1) 画出地址译码方案 (2) 如果ROM和RAM存储器芯片都采用8K×1的芯片,试画出存储器与CPU的连接图。 (3) 如果ROM存储器芯片采用8K×8的芯片,RAM存储器芯片采用4K×8的芯片,试画出存储器与CPU的连接图。 (4) 如果ROM存储器芯片采用16K×8的芯片,RAM存储器芯片采用8K×8的芯片,试画出存储器与CPU的连接图。
(1) 画出地址译码方案 解:(1)
(2) 如果ROM和RAM存储器芯片都采用8K×1的芯片,试画出存储器与CPU的连接图。 解: (2) 8KB的存储区域可以用8片存储器芯片构成一组实现。8K×1的存储器芯片的地址线需要13条,即A12~0。
(3) 如果ROM存储器芯片采用8K×8的芯片,RAM存储器芯片采用4K×8的芯片,试画出存储器与CPU的连接图。 解:(3)
(4) 如果ROM存储器芯片采用16K×8的芯片,RAM存储器芯片采用8K×8的芯片,试画出存储器与CPU的连接图。 解:(4) 习题:2
第二节 存储系统的构成 一、提高速度的技术 速度指标 周期时间 访问时间 吞吐率(带宽) 1. 芯片技术 2. 结构技术
芯片技术 快速页式DRAM(页:单元行) EDO DRAM EDRAM SDRAM——采用统一时钟,重叠访问 Rambus DRAM 缓存型 四位元型 SDRAM——采用统一时钟,重叠访问 Rambus DRAM ——采用新的接口,用消息传递的异步通信协议
快速页式DRAM
EDO DRAM
结构技术(一) 增加数据宽度 多体交叉
结构技术(二) 增加数据宽度 多体交叉
二、层次化存储系统 访存局部性 时间局部性 空间局部性 层次化结构 cache 主存 辅存
第三节 Cache 一、基本原理 基本概念 设计问题 命中、命中率、失效、失效率、块、命中访问时间、失效访问时间(miss penalty) 地址映象 替换策略 更新策略 容量
二、地址映象与变换 1. 直接映象
1. 直接映象(续) 块地址的概念 存储容量、块数、块容量与地址格式中区号、块号、块内地址位数的关系。
1. 直接映象(续)
2. 全相联映像
2. 全相联映像(续) N = 区内块数,阴影区表示查找范围
2. 全相联映像(续)
3. 组相联映像 n路组相联:组内有n块
3. 组相联映像(续) N = 区内块数,阴影区表示查找范围,根据组号在块表中寻找组,组内相联查找。
3. 组相联映像(续) 例:设有8个块,分成2个组
三、替换策略及更新策略 替换策略: 随机法 先进先出法 近期最少使用法(近期最久未使用法)
三、替换策略及更新策略(续) 先进先出替换策略
三、替换策略及更新策略(续) 近期最久未使用替换策略
三、替换策略及更新策略(续) 2. 颠簸现象
三、替换策略及更新策略(续) 3. 更新策略 cache命中时 写直达法 写回法 cache失效时 按写分配法 不按写分配法
四、cache的性能和类型 cache的命中率与cache容量的关系
四、cache的性能和类型(续) —— 块容量与命中率
四、cache的性能和类型(续) —— 地址映象与命中率
四、cache的性能和类型(续) —— Cache的相联性与失效率 更新策略与命中率(定量分析公式) 增加cache后的CPU执行时间: 习题:3、4、10、11、12
第四节 虚拟存储器 一、基本概念 虚拟存储器的作用: 分隔地址空间 解决主存的容量问题 程序的重定位
二、页式虚拟存储器 页、页框架、基号、页表、虚页号
二、页式虚拟存储器(续) 与块表的区别:基号,表长,查找方式,装入位 问题:页表过长
三、段式虚拟存储器 段表:段基址、段长、装入位、访问方式
四、段页式虚拟存储器
五、虚存管理策略 虚存设计的关键: 解决方法:快表TLB——段表和页表的cache 习题:18 1. 页面失效问题 2. 地址变换速度 根据基号、段号、页号对快表进行全相联查找 引用位——TLB替换标志,OS定期清除 浊位——数据修改标志 习题:18
TLB的查找
六、虚存系统中的cache 快表与cache的关系: 先查快表,用实地址访问cache——实地址cache
1. 实地址cache ——如果cache的容量小于页的容量,则快表可以与cache访问并行 特点:适合于CPU片外cache,不同应用程序的地址空间映象到不同的物理地址。 问题:多个进程竞争cache,性能不稳定
2. 虚地址cache a. 虚地址虚标记 b. 虚地址实标记 特点:速度高,性能确定 问题:应用程序间共享使用cache,一个物理地址可能映像到两个虚拟地址上
第五节 存储保护 一、区域保护 页表和段表保护 键保护 环保护 二、访问方式保护 只读 可写 可执行