690 likes | 900 Views
第 5 章. 存 储 器. 中国科学技术大学 何克东. 5.1 存储器分类. 磁带 磁盘 光盘 闪存. 磁表面存储器. 外部存储器. 存储器. 静态 RAM ( SRAM ) 动态 RAM ( DRAM ) 非易失 RAM(NVRAM ). 随机存取存储器 ( RAM ). 内部存储器 ( 半导体存储器 ). 掩膜式 ROM 一次性可编程 ROM ( PROM ) 紫外线擦除可编程 ROM(EPROM ) 电擦除可编程 ROM ( EEPROM ). 只读存储器 ( ROM ). 闪 存
E N D
第 5 章 存 储 器 中国科学技术大学 何克东
5.1 存储器分类 磁带 磁盘 光盘 闪存 磁表面存储器 外部存储器 存储器 静态RAM(SRAM) 动态RAM(DRAM) 非易失RAM(NVRAM) 随机存取存储器 (RAM) 内部存储器 (半导体存储器) 掩膜式ROM 一次性可编程ROM(PROM) 紫外线擦除可编程ROM(EPROM) 电擦除可编程ROM(EEPROM) 只读存储器 (ROM)
闪 存 闪速存储器(Flash Memory)亦称快擦写存储器,是一种20世纪80年代才由INTEL公司推出,近年发展最快,前景看好的新型存储芯片。它的主要特点是既可在不加电的情况下长期保存信息,具有非易失性,又能在线进行快速擦除与重写,兼具有EEPROM和SRAM的优点。其集成度与位价格己接近EPROM,是代替EPROM和EEPROM的理想器件,也是未来小型磁盘的替代品(电子盘),将广泛应用于笔记本计算机和便携式电子与通信设备中。
固态硬盘(SSDSolid State Disk或Solid State Drive), 也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘。固态硬盘的接口规范和定义、功能及使 用方法上与普通硬盘的相同,在产品外形和尺寸上也与普通硬盘一致。 优点: ▲防震抗摔性好 ▲数据存储速度快 ▲功耗低 ▲重量轻 ▲无噪音 缺点: ▲价格高 ▲容量小
半导体存储器的分类 • 按制造工艺 • 双极型:速度快、集成度低、功耗大 • MOS型:速度慢、集成度高、功耗低 • 按使用属性 • 随机存取存储器RAM:可读可写、断电丢失 • 只读存储器ROM:正常只读、断电不丢失
地 址 寄 存 地 址 译 码 读 写 电 路 数 据 寄 存 存储体 AB DB 控制电路 OE WE CS 半导体存储器芯片的结构 ① 存储体 • 存储器芯片的主要部分,用来存储信息 ② 地址译码电路 • 根据输入的地址编码来选中芯片内某个特定的存储单元 ③片选和读写控制逻辑 • 选中存储芯片,控制读写操作
①存储体 • 每个存储单元具有一个唯一的地址,可存储1位(位片结构)或多位(字片结构)二进制数据 • 存储容量与地址、数据线个数有关: 芯片的存储容量 =存储单元数×存储单元的位数=2M×N M:芯片的地址线根数 N:芯片的数据线根数 1KB 210×8
0 0 存储单元 1 A2 A1 A0 行译码 A5 A4 A3 A2 A1 A0 1 译码器 64个单元 7 64个单元 0 1 7 列译码 63 双译码 A3A4A5 单译码 ②地址译码电路 • 单译码结构(线形译码) • 双译码结构(复合译码) • 双译码可简化芯片设计 • 主要采用的译码结构
③片选和读写控制逻辑 • 片选端CS或CE • 有效时,可以对该芯片进行读写操作 • 输出OE • 控制读操作。有效时,芯片内数据输出 • 该控制端对应系统的读控制线 • 写WE • 控制写操作。有效时,数据进入芯片中 • 该控制端对应系统的写控制线
一、静态RAM(SRAM) • SRAM的基本存储单元是触发器电路 • 每个基本存储单元存储二进制数一位 • 许多个基本存储单元形成行列存储矩阵 • SRAM一般采用“字结构”存储矩阵: • 每个存储单元存放多位(4、8、16等) • 每个存储单元具有一个地址 • 无需“刷新”
1 0 0 1 静态存储电路
二、动态RAM(DRAM) • 集成度高,功耗低 • 具有易失性,必须刷新 • 破坏性读出,必须读后重写 • 读后重写,刷新均经由刷新放大器进行
DRAM接口逻辑图 • 地址多路复用器: 把来自CPU的地址转换成行地址和列地址分两次送出给DRAM。 • 刷新定时器: 提供周期性刷新DRAM芯片所需的定时功能。 • 刷新地址计数器 :提供只用RAS不用CAS的刷新操作所需的刷新地址。 • 仲裁器:来自CPU的访问存储器的请求和来自刷新定时器的刷新请求同时产生时要由仲裁器对两者的优先权进行判决。 • 控制信号发生器(定时发生器)提供行地址选通信号RAS、列地址选通信号CAS、写允许信号WE和刷新地址计数器的计数输人信号,以满足对DRAM进行正常访问和刷新的要求。 • 总线收发器(I/O数据缓冲器):为DRAM的输入、输出数据提供I/O缓冲
64K×1 256K×1
EDO(Extended Data Output RAM)--扩充数据输出随机存储器 SDRAM(Synchronous DRAM)--同步动态随机存储器 RDRAM(Rambus DRAM)--存储器总线式动态随机存储器 DDR内存(DDR SDRAM):即双倍速率SDRAM(Dual Date Rate SDRAM),其最大特点便是能在时钟触发沿的上、下沿都能进行数据传输(SDRAM仅能在上升沿传输数据),所以相对于SDRAM来说能将内存的传输速率提高一倍。 DDR2是英特尔极力推动的新一代内存,DDR2构建在DDR的基础上,通过增加4位预取机制使得在核心频率不变的条件下将数据带宽提升4倍, 高频率、高带宽是DDR2最大的优点。
四、高速缓冲存储器 计算机存储系统层次关系
Cache是一个速度等于或接近于上级的小容量存储器,由于主存与辅存之间的Cache未普遍应用,这里的Cache主要指CPU与主存之间的Cache,它用于保存下级存储器刚才被存取过的指令或数据及其邻近小范围的指令或数据。它的目标是,以较小的硬件投资,利用程序存取行为的局部性,使以后的多次访问在cache有很高的命中率,从而大大减少实际访问下级存储器的频度。Cache是一个速度等于或接近于上级的小容量存储器,由于主存与辅存之间的Cache未普遍应用,这里的Cache主要指CPU与主存之间的Cache,它用于保存下级存储器刚才被存取过的指令或数据及其邻近小范围的指令或数据。它的目标是,以较小的硬件投资,利用程序存取行为的局部性,使以后的多次访问在cache有很高的命中率,从而大大减少实际访问下级存储器的频度。 虽然cache成本稍贵,但实际的平均存取速度却有了很大程度的提高。cache技术是改善计算机系统性能的一个重要手段。
主存地址 主存中页号 主存中页内地址 不命中 主 存 储 器 (M2) 已装不进 地址映象变换机构 还可以装入 Cache 替换 策略 命中 Cache中页号 Cache中页内地址 Cache地址 Cache存储器(M1) 访问主存 替换Cache 访问主存 装入Cache 数据总线 Cache的结构原理图
数据在主存储器中的地址 主存储器 映射的数据 CACHE 的结构 存储器的平均存取周期=Cache命中率×Cache存取周期+(1-Cache命中率)×处理机存取周期 例:某系统中,处理器的存取周期为40ns,Cache的存取周期是1us,Cache命中率是 0.5,处理机的的存储器平均存取周期是多少?解:代入公式 0.5×1×103+(1-0.5)×40=500+20=520ns=0.52us
CACHE要解决的问题 • 命中率 • 数据更新 • 替换
一.映射方式 这里的“映射”,其物理含义就是位置对应关系,即将CPU给出字的主存地址变换成可能含有此字的cache行位置,使用cache的动力在于它的高速,因此也要求这个地址变换过程尽可能地快,故此过程是以硬件完成的。这带来的另一好处是cache的透明性,除了程序运行速度提高之外,用户包括系统软件编制人员,丝毫未感觉到cache的存在。 cache的存储器按与主存交换数据块的大小划分成行(line),用Li表示,其中i=0,1,2,…,m-1,共有m 行,主存的块用Bj表示,其中j = 0,1,2,…,n-1,共有n块。行与块是等长,设每个块(行)由k个连续的字(这里的“字”是指可存取的最小单位)组成。
全相联、直接映射、组相联 1. 全相联映射(fully associative-mapping) 常简称为相联映射,这种方式是将主存的一个块区映象到Cache的任何一个地方,极其灵活;但这也带来查找困难,对于一个指定的内存地址必须将其块号与cache所有行的标记同时关联比较。
2.直接映射方式 直接映射(direct mapping)方式是把主存的一个区块只能拷贝到cache的一个特定位置上去。块号j与保存此块的Cache行i有如下关系: i=j MOD m (m是cache行数) 12 MOD 8=4 对频繁交替访问主存,就会经常不命中。 28 MOD 8=4
页号 页号
3.组相联映射方式 上述两种映射方式的优缺点正好相反。从存放位置的灵活性以及命中率来看,全相联映射方式要好;就比较电路简单以及硬件投资少来看,直接映射方式要优。若有一种方式能适度地兼有两者优点又尽量避免两者缺点就太好了,这个折衷方案就是组相联映射方式(Set-associative mapping)。 Cache分成若干组,每个组中有若干区块。主存的一个区块拷贝到cache的某个对应组中,但在这个组中的位置是任意的。 12 MOD 4=0 命中率比直接映象方式稍高,但标记占用较多SRAM,控制比较复杂。目前计算机中常采用双路或四路组相联方式。
二、数据更新 • 通写式:CACHE中的数据一经修改,立即写入主存。 • 回写法:只在数据被替换时,才将数据写回主存。
三.替换策略 • 最不经常使用(LFU)算法 将一段时间内被访次数最少的那行数据换出。为此,每行设置一个计数器,新行建立后从0开始计数,每访问一次被访行的计数器增1。当需要替换时,对这些特定行的计数值进行比较,将计数最小的行换出,同时将这些特定行的计数器都清零。(刚建立的数据会被换出)
近期最少使用(LRU)算法 LRU (Least Recent1y Used)算法是将近期内长久未被访问过的行换出。为此每行也是设置一个计数器,但它们是cache每命中一次,命中行计数器清零,其它各行计数器增1,因此它是未访问次数计数器。当需要替换时,比较各特定行的计数值,将计数值最大的行换出。这种算法显然保护了刚拷贝进新数据的行,符合cache工作原理,因而使cache有较高的命中率。 • 随机替换
5.3 只读存储器ROM • 掩膜ROM:信息制作在芯片中,不可更改 • PROM:允许一次编程,此后不可更改 • EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程 • EEPROM(E2PROM):采用加电方法在线进行擦除和编程,也可多次擦写 • Flash Memory(闪存):能够快速擦写的EEPROM,但只能按块(Block)擦除
EPROM • 顶部开有一个圆形的石英窗口,用于紫外线透过擦除原有信息 • 一般使用专门的编程器(烧写器)编程 • 编程后,应该贴上不透光封条 • 出厂未编程前,每个基本存储单元都是信息 “1” • 编程就是将某些单元写入信息0
CPU CACHE 主存(内存) 辅存(外存) 存储器层次结构 Cache-主存 提高速度 主存-辅存 增加容量
虚拟存储系统简介 • 主存-辅存这一层次的发展,形成了虚拟存储系统。 • 随着系统程序和应用程序要求主存容量越来越大,出现虚拟存储系统。虚拟存储系统是建立在主存和辅存物理结构基础上,由硬件和操作系统存储管理软件组成的一种存储体系。它将主存和辅存看成一个庞大的存储体系,用户不必考虑内存的大小,只需按自己的实际需要去做就可以了。 主存 硬盘 内存 虚存
5.4 半导体存储器与CPU的连接 • 这是本章的重点内容 • SRAM、EPROM与CPU的连接 • 译码方法同样适合I/O端口
存储芯片与CPU的连接 1. 存储芯片的数据线 2. 存储芯片的地址线 3. 存储芯片的片选端 4. 存储芯片的读写控制线
CPU的总线负载能力 注意问题 • CPU的总线驱动能力有限 • 单向传送的地址和控制总线,可采用三态锁存器和三态单向驱动器等来加以锁存和驱动 • 双向传送的数据总线,可以采用三态双向驱动器来加以驱动
存储芯片与CPU总线时序的配合 • 分析存储器的存取速度是否满足CPU总线时序的要求 • 如果不能满足: • 考虑更换存储芯片 • 总线周期中插入等待状态TW
存储芯片地址线的连接 • 芯片的地址线通常应全部与系统的低位地址总线相连 • 寻址时,这部分地址的译码是在存储芯片内完成的,我们称为“片内译码” • 系统地址现的高位参与“片选” • 控制信号的连接 M/IO、RD、WR、ALE、READY、WAIT、DT/R、DEN
A9 ~ A0 范围(16进制) 0000000000 0000000001 0000000010 … 1111111101 1111111110 1111111111 全0 全1 000H 001H 002H … 3FDH 3FEH 3FFH 片内译码 存储芯片 A9~A0
译码和译码器 • 译码:将某个特定的“编码输入”翻译为唯一“有效输出”的过程 • 译码电路可以使用门电路组合逻辑 • 译码电路更多的是采用集成译码器 • 常用的2:4译码器: 74LS139 • 常用的3:8译码器: 74LS138 • 常用的4:16译码器:74LS154
一、存储器的地址选择 • 线性选择方式 • 全译码选择方式 • 部分译码选择方式
(1)线性选择方式 • 线选译码:只用少数几根高位地址线进行芯片的译码,且每根负责选中一个芯片(组) • 虽构成简单,但地址空间严重浪费 • 会出现地址重复(一个存储单元对应多个存储地址)