1、第三章 存储系统,3.1 存储器芯片 3.2 存储系统的构成 3.3 高速缓存 3.4 虚拟存储器,3.1 存储器芯片 3.1.1 静态存储器(SRAM),静态存储器芯片,3.1.2 动态存储器,动态存储器芯片,存储器芯片的控制信号,3.1.3 只读存储器,单元阵列,熔丝式ROM(PROM),可擦写ROMEPROM,MOS晶体管与EPROM单元的两种工作状态,3.1.4 电可擦写ROM EEPROM及Flash存储器,3.1.5 相联存储器 框图,相联存储器单元结构,相联存储器阵列的构成,相联存储器访问实例,3.1.6 动态存储器芯片类型,SRAM时序,读周期: 地址有效CS有效数据输出CS复
2、位地址撤销写周期: 地址有效CS有效数据有效CS复位(数据输入)地址撤销,DRAM时序(一),读周期: 行地址有效行地址选通列地址有效列地址选通数据输出行选通、列选通及地址撤销,DRAM时序(二),写周期: 行地址有效行地址选通列地址、数据有效列地址选通数据输入行选通、列选通及地址撤销,DRAM时序(三),刷新周期: RAS only:刷新行地址有效RAS有效刷新行地址和RAS撤销 CAS befor RAS:CAS有效RAS有效CAS撤销RAS撤销 hidden:(在访存周期中)RAS撤销RAS有效,DRAM时序(四),刷新周期: RAS only:刷新行地址有效RAS有效刷新行地址和RAS
3、撤销 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(页:单元行),EDO DRAM,EDRAM 缓存型 四位元型,SDRAM采用统一时钟,重叠访问,Rambus DRAM采用新的接口,用消息传递的异步通信协议,内存条,双列存储器模块(DIMM),3.2 存储器的基本组织,字扩
4、展,字位扩展,例3-1 设有若干片1M8位的SRAM芯片,采用字扩展方法构成4MB的存储器,问 (1) 需要多少片RAM芯片? (2) 该存储器需要多少地址位? (3) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ和R/W#。 (4) 给出地址译码器的逻辑表达式。,解:(1) 需要4M/1M = 4片SRAM芯片; (2) 需要22条地址线 (3) 译码器的输出信号逻辑表达式为:,例3-2 设有若干片256K8位的SRAM芯片,问: (1) 采用字扩展方法构成2048KB的存储器需要多少片SRAM芯片? (2) 该存储器需要多少字节地址位? (3)
5、 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。 (4) 写出译码器逻辑表达式。,解:(1) 该存储器需要2048K/256K = 8片SRAM芯片;(2) 需要21条地址线,因为221=2048K,其中高3位用于芯片选择,低18位作为每个存储器芯片的地址输入。(3) 该存储器与CPU连接的结构图如下。,例3-2 设有若干片256K8位的SRAM芯片,问: (1) 采用字扩展方法构成2048KB的存储器需要多少片SRAM芯片? (2) 该存储器需要多少字节地址位? (3) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、
6、数据信号、控制信号MREQ#和R/W#。 (4) 写出译码器逻辑表达式。,例3-3 设有若干片256K8位的SRAM芯片,问: (1) 如何构成2048K32位的存储器? (2) 需要多少片RAM芯片? (3) 该存储器需要多少字节地址位? (4) 画出该存储器与CPU连接的结构图,设CPU的接口信号有地址信号、数据信号、控制信号MREQ#和R/W#。,解:采用字位扩展的方法。需要32片SRAM芯片。,例4 某计算机的主存地址空间中,从地址000016到3FFF16为ROM存储区域,从400016到5FFF16为保留地址区域,暂时不用,从600016到FFFF16为RAM地址区域。RAM的控制
7、信号为CS#和WE#,CPU的地址线为A15A0,数据线为8位的线路D7D0,控制信号有读写控制R/W#和访存请求MREQ#,要求: (1) 画出地址译码方案 (2) 如果ROM和RAM存储器芯片都采用8K1的芯片,试画出存储器与CPU的连接图。 (3) 如果ROM存储器芯片采用8K8的芯片,RAM存储器芯片采用4K8的芯片,试画出存储器与CPU的连接图。 (4) 如果ROM存储器芯片采用16K8的芯片,RAM存储器芯片采用8K8的芯片,试画出存储器与CPU的连接图。,(1) 画出地址译码方案,解:(1),(2) 如果ROM和RAM存储器芯片都采用8K1的芯片,试画出存储器与CPU的连接图。,
8、解: (2) 8KB的存储区域可以用8片存储器芯片构成一组实现。8K1的存储器芯片的地址线需要13条,即A120。,(3) 如果ROM存储器芯片采用8K8的芯片,RAM存储器芯片采用4K8的芯片,试画出存储器与CPU的连接图。,解:(3),(4) 如果ROM存储器芯片采用16K8的芯片,RAM存储器芯片采用8K8的芯片,试画出存储器与CPU的连接图。,解:(4),习题:2,宽字存储器,多体交叉存储器,3.3 高速缓存,速度指标 周期时间 访问时间 吞吐率(带宽) 访存局部性 时间局部性 空间局部性 层次化结构 cache 主存 辅存,3.3.1 高速缓存的功能与基本原理,基本概念 命中、命中率
9、、失效、失效率、块、命中访问时间、失效访问时间(miss penalty) 设计问题 地址映象 替换策略 更新策略 容量,3.3.2 地址映象与变换 1. 直接映象,1. 直接映象(续),块地址的概念 存储容量、块数、块容量与地址格式中区号、块号、块内地址位数的关系。,访问cache,1. 直接映象(续),例3-3 设有一个cache的容量为2K字,每个块为16字,求 (1) 该cache可容纳多少个块? (2) 如果主存的容量是256K字,则有多少个块? (3) 主存的地址有多少位?cache地址有多少位? (4) 在直接映象方式下,主存中的第i块映象到cache中哪一个块中? (5) 进行
10、地址映象时,存储器的地址分成哪几段?各段分别有多少位?,解:(1) cache中有2048/16=128个块。 (2) 主存有256K/16=16384个块。 (3) cache容量为2K=211字,所以cache字地址为11位。 (4) 主存中的第i块映象到cache中第 i mod 128个块中。 (5) 存储器的字地址分成三段:区号、块号、块内字地址。区号的长度为18-11=7位,块号为7位。块内字地址为4位。,2. 全相联映像,2. 全相联映像(续),N = 区内块数,阴影区表示查找范围,2. 全相联映像(续),3. 组相联映像,n路组相联:组内有n块,3. 组相联映像(续),N =
11、区内块数,阴影区表示查找范围,根据组号在块表中寻找组,组内相联查找。,3. 组相联映像(续),例:设有8个块,分成2个组,3. 组相联映像(续),例:设有8个块,分成4个组,三、替换策略及更新策略,替换策略: 随机法 先进先出法 近期最少使用法(近期最久未使用法),三、替换策略及更新策略(续) 先进先出替换策略,三、替换策略及更新策略(续) 近期最久未使用替换策略,三、替换策略及更新策略(续) 2. 颠簸现象,三、替换策略及更新策略(续) 3. 更新策略,cache命中时 写直达法 写回法 cache失效时 按写分配法 不按写分配法,四、cache的性能和类型(续) Cache的相联性与失效率
12、,增加cache后的CPU执行时间:,习题:3、4、10、11、12,3.4 虚拟存储器,虚拟存储器的作用: 分隔地址空间 解决主存的容量问题 程序的重定位,3.4.1 页式虚拟存储器,页、页框架、基号、页表、虚页号,页式虚拟存储器(续),与块表的区别:基号,表长,查找方式,装入位问题:页表过长,例3-11 在一个采用页式管理的虚拟存储器中,假设程序的地址空间由4个页面组成,第0个页面映象到内存的第2个页框架,第1个页面映象到内存的第6个页框架,第2个页面映象到内存的第7个页框架,第3个页面映象到外存。画出地址映象方式。,解:,例3-12 一个有32位程序地址空间,页面容量为1KB,主存的容量
13、为8MB的存储系统,问: (1) 虚页号字段有多少位?页表将有多少行? (2) 页表的每一行有多少位?页表的容量有多少字节?,解:(1) 页表的长度为222 =4M行。 (2) 主存的容量为8MB=223B,主存中页框架的数量有223 / 210 = 213个。页表中主存页号字段是13位长,加上其它信息将超过16位。设页表的每一项为16位,页表的容量为4M2 = 8MB。,例3-13 一个虚拟存储器有8个页面,页面大小为1024字,内存有4个页面框架。页表的内容为: 虚页号 实页号 0 3 1 1 2 - 3 - 4 2 5 - 6 0 7 - 对应于虚拟地址4098的主存地址是什么?,解:4
14、0981024 = 42,所以虚页号为4,页内地址为2。从表中查得实页号为2,实际地址为21024 + 2 = 2050。,3.4.2段式虚拟存储器,段表:段基址、段长、装入位、访问方式,例3-14 在一个段映象的虚拟存储器中,假设程序地址空间有三个段,段的长度分别为1K、2K和1K,其中第0段映象到内存中以6000为起始地址的位置,第1段映象到内存中以3000为起始地址的位置,第2段映象到内存中以1000为起始地址的位置。画出地址映象关系以及地址映象方法。,解:,3.4.3段页式虚拟存储器,3.4.4虚拟存储器管理,虚存设计的关键: 1. 页面失效问题 2. 地址变换速度 解决方法:快表TL
15、B段表和页表的cache 根据基号、段号、页号对快表进行全相联查找 引用位TLB替换标志,OS定期清除 浊位数据修改标志,TLB的查找,六、虚存系统中的cache,快表与cache的关系: 先查快表,用实地址访问cache实地址cache 快表和cache同时查找,用虚地址访问cache虚地址cache,1. 实地址cache 如果cache的容量小于页的容量,则快表可以与cache访问并行,特点:适合于CPU片外cache,不同应用程序的地址空间映象到不同的物理地址。 问题:多个进程竞争cache,性能不稳定,2. 虚地址cache a. 虚地址虚标记 b. 虚地址实标记,特点:速度高,性能确定 问题:应用程序间共享使用cache,一个物理地址可能映像到两个虚拟地址上,