2.52k likes | 2.72k Views
第 4 章 存储系统. ● 存储器 是计算机系统的重要组成部分,用它来存放程序和数据。. 有了存储器,计算机就具有记忆能力,因而能自动地进行操作。. ● 存储系统 由存放程序和数据的各类存储设备及有关的软件所构成。. 4.1 存储器概述 4.1.1 存储器的主要性能指标. ◆ 评价存储器特性的主要标准是 大容量 、 高速度 和 低价格 。. 存储器的容量指它能存放的二进制位数或字(字节)数;. 存储器的速度可用访问时间、存储周期或频宽来描述。. ▲ 访问时间一般用读出时间 T A 及写入时间 T W 来描述。.
E N D
第4章 存储系统 ● 存储器是计算机系统的重要组成部分,用它来存放程序和数据。 有了存储器,计算机就具有记忆能力,因而能自动地进行操作。 ● 存储系统由存放程序和数据的各类存储设备及有关的软件所构成。
4.1 存储器概述4.1.1 存储器的主要性能指标 ◆ 评价存储器特性的主要标准是大容量、高速度和低价格。 存储器的容量指它能存放的二进制位数或字(字节)数; 存储器的速度可用访问时间、存储周期或频宽来描述。
▲ 访问时间一般用读出时间TA及写入时间TW 来描述。 TA是从存储器接到读命令以后至信息被送到 数据总线上所需的时间。 TW是将一个字写入存储器所需的时间。 ▲ 存取周期是存储器进行一次完整的读写操作所需要的全部时间; 存储器进行连续读写操作所允许的最短间隔时间。 存取周期用TM表示,它直接关系到计算机的运算速度。 一般有 TM >TA 、TM >TW ,TM的单位常采用微秒或毫微秒。
▲ 存储器的频宽B表示存储器被连续访问时, 可以提供的数据传送速率; 常用每秒钟传送信息的位数(或字节数) 来衡量。 ▲ 存储器的价格可用总价格C或每位价格c来表示,若存储器按位计算的容量为S; 则:c=C/S
4.1.2 存储器分类 1. 按存储元件分类 存储元件必须具有两个截然不同的物理状态, 才能被用来表示二进制代码“0和1”。 半导体存储器 磁性材料存储器 光介质存储器
2. 按存取方式分类 (1) 顺序存取存储器(SAM) 这类存储器的特点是信息顺序存放或读出,其存取时间取决于信息存放位置。 它不按字单元编址,而以记录块为单位编址。 磁带存储器就是一种顺序存储器,它的最大优点是存储容量大,缺点则是存取速度慢。
(2) 随机存取存储器(RAM) 这类存储器的特点是CPU或I/O设备在任一 时刻都可按地址访问其任一个存储单元, 而且访问时间与地址无关,都是一个存取周期。 半导体存储器一般属于这类存储器。 (3) 直接存取存储器(DAM) 此类存储器的存取方式介于RAM和SAM之间,先选取需要存取信息所在的区域,然后用顺序方式存取。 磁盘就是先寻找信息所在的扇区,然后再顺序存取信息,此类存储器的容量也比较大,速度则介于SAM和RAM之中,主要用作辅存。
(4) 只读存储器(ROM) 在正常读写操作下,这类存储器的内容 只能读出而不能写入。 有的ROM位于主存中特定区域(如IBM-PC机中ROM BIOS)其访问方式和RAM一样按地址访问; 也有的ROM用作辅存,采用顺序访问方式,例如CDROM。
3. 按存储器在计算机中的功能分类 (1) 高速缓冲存储器(Cache) 目前由双极型半导体组成,构成计算机系统中的一个高速小容量存储器。 其存取速度能接近CPU的工作速度,用来临时存放指令和数据。 (2) 主存储器 主存储器是计算机系统中的重要部件,用来存放计算机运行时的大量程序和数据,主存储器目前一般用MOS半导体存储器构成。
CPU能够直接访问的存储器称内存储器, 高速缓存和主存都是内存储器。 (3) 辅助存储器 辅助存储器又称外存储器。 外存储器主要由磁表面存储器组成,光存储器应用已很广泛,渐渐成为一种重要的辅助存储器。 外存储器的内容需要调入主存后才能被CPU访问。 外存储器的特点是容量大,所以可存放大量的程序和数据。
4.1.3 存储器结构 1. 存储系统的层次结构 ▲ 存储系统的层次结构就是把各种不同容量和不同存取速度的存储器按一定的结构有机地组织在一起; 程序和数据按不同的层次存放在各级存储器中,而整个存储系统具有较好的速度、容量和价格等方面的综合性能指标。 ▲ 由二类存储器构成的存储系统层次结构
(1) “高速缓存—主存”层次 这个层次主要解决存储器的速度问题。 在CPU与主存之间再增设一级存储器, 称高速缓冲存储器(Cache)。 Cache是一种采用和CPU工艺相类似的半导体器件构成的存储装置,其速度可与CPU相匹配,但容量较小,只能存放一小段程序和数据。 CPU访问内存时,将地址码同时送到Cache和主存,若在Cache中找到相应内容,称访问“命中”,信息就从Cache中读取; 否则CPU就以较慢的速度从主存中读取(称访问“不命中”)。此时一般要进行Cache和主存的信息交换。
(2) “主存—辅存”层次 这个层次主要解决存储器的容量问题。 把正在被CPU使用的“活动”的程序和数据放在主存中,其余信息则存放在容量大、但速度较慢的辅存中。 具有“主存—辅存”层次的存储系统是一个既具有主存的存取速度又具有辅存的大容量低成本特点的一个存储器总体。
2. 多体交叉存取 ▲ 把主存分为若干容量相同、能独立地由CPU进行存取的存储体。 在不提高各存储体存取速度的前提下,通过CPU与各存储体的并行交叉存取操作,提高整个主存储器的频宽。 设有m个体,地址为 0,m,…… km 的存储单元位于0号存储体中;地址为 1,m+1,…… km+1 的存储单元位于1号存储体中;……;地址为m-1,2m-1, …… (k+1)m-1 的存储单元位于m-1号存储体中。
T M 读写命令0 读写命令1 读写命令2 读写命令3 (a) CPU依次向各体发出读写命令 (b) CPU访问各存储体的时间 图4.3 多体交叉存储器的访问 ▲ CPU访问M0~ M3的时间安排 尽管每个存储体的存储周期为TM,但CPU每隔1/4TM就可以读出或写入一个数据。
4.2 半导体读写存储器 双极型RAM ■ 半导体RAM 动态RAM MOS型RAM 静态RAM
4.2.2 半导体RAM芯片 1. 静态MOS存储器芯片 (1)芯片组成: 存储体 读写电路 地址译码 控制电路
① 存储体(存储矩阵) 存储体是存储单元的集合。在容量较大的 存储器中往往把各个字的同一位组织在一 个集成片中; 图4.8中的芯片是4096*1位,由这样的8个芯片可组成4096字节的存储器。 4096个存储单元排成64*64的矩阵。由X选择线(行选择线)和Y选择线(列选择线)来选择所需用的单元。
② 地址译码器 地址译码器把用二进制表示的地址转换 为译码输入线上的高电位,以便驱动相应 的读写电路。 ▲ 两种地址译码方式: 一种是单译码方式,适用于小容量存储器; ☉地址译码器只有一个,其输出叫字选线,选择某个字的所有位。 ☉地址输入线n=4,经地址译码器译码后,产生16个字选线,分别对应16个地址。
另一种是双译码方式,适用于容量较大 的存储器。 ☉地址译码器分为X和Y两个译码器。每一 个译码器有n/2个输入端,可以译出2 n/2个 状态,两译码器交叉译码的结果,可产生 2 n/2 × 2 n/2个输出状态。 ☉图4.9是采用双译码结构的4096×1的存储单元矩阵;对4096个单元选址,需要12根地址线:A0—A11。
X 0 0,0 0,1 0,63 X 1 1,0 1,1 1,63 ... X ... ... ... ... X 地 63 址 63,0 63,1 译 63,63 码 I/O控制 y y y ... 63 0 1 Y地址译码 图4.9 双地址译码存储结构
③ 驱动器 一条X方向的选择线要控制在其上的各个存储单元的字选线,负载较大,要在译码器输出后加驱动器。 ④ I/O控制 它处于数据总线和被选用的单元之间,用以控制被选中的单元读出或写入,并具有放大信息的作用。 ⑤ 片选控制 将一定数量的芯片按一定方式连接成一个完整的存储器;芯片外的地址译码器产生片选控制信号,选中要访问的存储字所在的芯片。 ⑥ 读/写控制 根据CPU给出的信号是读命令还是写命令,控制被选中存储单元的读写。
1 28 Vcc WE 2 27 A A 14 12 3 26 A A 13 7 4 25 A A 8 6 5 24 A A 9 5 6 23 A A 11 4 7 22 OE A 3 8 21 A A 10 2 9 20 CE A 1 10 19 I/O A 7 0 11 18 I/O I/O 6 0 12 17 I/O I/O 5 1 13 16 I/O I/O 4 2 14 15 I/O GND 3 图4.10 M62256 (2) 静态MOS存储器芯片实例(62256 SRAM) ▲该芯片容量为32K×8 ▲ 62256 SRAM芯片引脚 地址引脚:A0—A14 数据引脚:I/O0—I/O7 片选:CE低有效 读/写控制:WE,低电平时为写入控制;高电平时为读出控制。
(3) 存储容量的扩展 ① 位扩展 用若干片位数较少的存储器芯片构成具有给定字长的存储器,而存储器的字数与芯片上的字数相同。 用8片 4096×1位的芯片构成4K字节的存储器;如图4.11所示。 ② 字扩展 字扩展是容量的扩充,位数不变。 用4组 16K×8的存储器构成 64K×8的存储器(图4.12)。
A 2:4 15 地址总线 A 译码 14 A -A 0 11 CPU 中央 CE CE CE CE A -A D 13 0 处理器 16KX8 16KX8 16KX8 16KX8 0 (CPU) WE WE WE WE WE D -D 0 7 D 数据总线 7 图4.11 位扩展示意图 图4.12 字扩展示意图
(4) 静态RAM芯片与CPU连接 ▲ 要考虑和解决的几个问题: CPU的负载能力: ☉当存储芯片较多时,在CPU与存储芯片之间,要增加必要的缓冲和驱动电路。 速度匹配问题: ☉存储器与CPU的速度相比,还是有很大差距; 多片存储芯片的选通: ☉增加外部译码电路,产生片选信号;
读/写控制信号: ☉CPU的读/写控制信号不一定与存储芯片 引脚定义的控制信号相符,所以有时要 增加某些附加线路来实现正确的控制。 (5) 静态存储芯片的读/写周期 要保证正确地读/写,必须注意CPU时序与存储器读/写周期的配合。
2. 动态RAM芯片 (1) 芯片举例(图4.14) 绝大多数产品都采用一位输入输出,如:256K×1、1M×1、4M×1等。 而且它的行地址和列地址通过相同的管脚分先后两次输入,这样地址引脚数可减少一半。 当RAS低电平时输入行地址,CAS低电平时输入列地址。
Vcc 1 24 Vss D1 2 23 D4 A8 1 16 Vss D2 3 22 D3 Din 2 15 CAS WE 4 21 CAS WE 3 14 Dout RAS 5 20 OE Nc 6 19 A9 RAS 4 13 A6 A0 5 12 A3 A10 7 18 A8 A0 8 17 A7 A2 6 11 A4 A1 7 10 A5 A1 9 16 A6 VDD 8 9 A7 A2 10 15 A5 A3 11 14 A4 Vcc 12 13 Vss (a) 256×1 DRAM芯片 (b) 4M×4 DRAM芯片 图 4.14 两种 DRAM芯片
(2)动态RAM芯片的读写和再生(刷新)时序 ① 读周期: 实现读操作,各信号的时间关系应符合下面的要求。 ☉ 行地址必须在RAS信号有效之前送到芯片的地址输入端。 ☉ CAS信号应滞后RAS一段时间,并滞后于列地址送到芯片地址输入端的时间。 ☉ RAS、CAS应有足够的宽度。 ☉ WE信号为高,并在CAS有效之前建立。
② 写周期: RAS与CAS之间的关系,以及它们与地址 信息之间的关系和读周期相同。 WE信号为低,并在CAS信号有效之前建立。 写数据必须在CAS有效之前出现在Din端。 ③ 刷新: 动态RAM的存储阵列中所有的存储电容必须周期地重新充电,这一过程称“刷新”。 “刷新”可以采用“读出”的方法进行。
▲ 只送RAS信号的一种“刷新”方法 芯片中一行的所有元素被选中并进行“读出”操作。根据读出内容对各单元进行“重写”;即完成补充充电。 由于没有列地址和CAS信号,各单元的数据读写彼此隔离,并且不会送到读出电路。 对256*256的存储体,256次刷新操作可刷新整个存储体。也可分为4个128*128并行连接,只需128次刷新。 DRAM控制电路还向所有芯片提供刷新时的行地址。每产生一行,这个地址自动加一,如此周而复始。
(3) 刷新方式 ▲ 一次刷新的时间间隔称刷新周期,一般为2ms; ▲ 常用的刷新方式有四种: 集中式刷新、分散式刷新、异步刷新和透明刷新。 ① 集中式刷新(图4.16 (a)) 整个刷新间隔内,前一段时间用于正常的读/写操作。而在后一段时间停止读/写操作,逐行进行刷新。 将128×128存储器刷新一遍,设读写周期为0.5μs,刷新间隔为2ms;前3072个读写周期用来进行正常的读/写操作, 而后128个读写周期用来进行刷新操作。 该方式会出现读/写操作死区
... ... 1 2 3 3072 3073 3999 t t M R 读/写 再生 读/写 再生 ……读/写 再生 正常读写 刷新操作 (3072次) (128次) 存储周期 (a) 集中式刷新 (b) 分散式刷新 图4.16 两种刷新方式 ② 分散式刷新(图4.16 (b)) 一个存储周期的时间分为两段,前一段时间tM用于正常的读/写操作,后一段时间tR用于刷新操作。 假定读/写操作和刷新操作的时间都为0.5μs,则一个存储周期为1μs。在2ms时间内进行2000次刷新操作,只能进行2000次读/写操作。
③ 异步刷新 上述两种方式结合起来构成异步刷新。 以128行为例,在2ms时间内必须轮流对 每一行刷新一次,即每隔15.5μs刷新一行。 前15μs可以进行CPU的读/写操作,而最后0.5μs完成刷新操作。目前用得较多。 ④ 透明刷新(或称稳含式刷新) CPU在取指周期后的译码时间内,插入刷新操作。 有单独的刷新控制器,刷新由单独的时钟、行计数与译码独立完成;高档微机中大部分采用这种方式。
(5) 新型DRAM芯片 DRAM具有存储密度大、功耗小、成本低等优点,由于它需要定时刷新,对其工作速度有较大影响。 ① EDRAM(Enhanced DRAM)(图4.18) EDRAM 在动态芯片上集成了一个小容量SRAM缓冲器,可以存放前一次读出的一整行元素内容,共2048位(512个4位组)。 刷新可以和读写并行操作,使芯片不能读写的时间减至最低程度。此外,从SRAM缓冲器读出数据的通路与写入数据的通路各自独立。
② SDRAM(Syncnronous DRAM) 传统DRAM与处理机之间采用异步方式交换数据。 SDRAM的读写和处理机一样受系统时钟控制,将处理机或其它主设备发出的地址和控制信息锁存起来,经一定数量的时钟周期后,给出响应。 SDRAM采用成组传送的工作方式,对顺序访问那些与第一次访问的信息在同一行(ROW)的数据时特别有用。 SDRAM内部采用双存储体结构,极大地改善了片内存取的并行性; 设有SDRAM的工作方式寄存器。
4. 3 半导体只读存储器 ■ 根据只读存储器的工艺,可分为: ROM PROM EPROM EEPROM(E2PROM)
4.3.1 掩膜只读存储器(masked ROM) ◆ 掩膜ROM存储的信息由生产厂家在掩膜 工艺过程中“写入”,用户不能修改。 ◆ 掩膜ROM也有双极型和MOS型两种 ▲ 双极型ROM(图4.20) 译码器向某字选线送出“选中”(高)电位时,被选中的字的各位同时向各自的位线送“读出”结果。 结果为“0”或“1”,取决于该位的三极管发射极是否与相应的位线连通,连通则读出“1”,反之读出“0”。
▲ MOS型 ROM (图4.21) 工作原理与双极型相仿。 ▲ 存储矩阵可采用单译码结构,也可采用双译码结构。
4.3.2 可编程ROM(PROM) ◆ 这类ROM允许用户用特定的编程器 向ROM中写入数据,写入后,不能修改。 ◆ 有P-N结破坏型和熔丝烧断型两种 1. P—N结破坏型PROM(图4.22) 写入时,字线加电压E。若写“1”,则位线D加负压,将反向偏置的二极管击穿;若写“0”,位线上不加负压,P—N结不烧穿。
2. 熔丝烧断型(图4.23) 写入时,在字线和位线向加高电压,使熔丝烧断,烧断存0,不烧断存1。
4.3.3可擦除和编程的ROM(EPROM) ◆ 采用浮栅雪崩注入MOS存储器FAMOS(floating gate avalanche injection mos)。
1. FAMOS EPROM的写入 ▲ 漏极上加正高压(20—30V),浮动栅上带有足够多的正电荷,电位可达+10V左右,好象浮动栅上接有10V电源一样,使FAMOS管处于导通状态。 ▲ 写入完毕后,撤消D极上的高压,由于Sio2层的绝缘性很好(1014~1015 ),注入浮栅的电荷无泻放回路而保留在浮栅上。
2.FAMOS型EPROM的读出 ▲ 若TD(FAMOS)管栅极带有正电荷,读出“0”。 ▲ 若TD栅极不带电荷,读出“1”。
3. FAMOS芯片中信息的抹除 ▲ 用紫外线或X射线照射,使能量大的光子与浮栅上的电荷发生能量交换和转移,使空穴获得足够大的能量,通过Sio2层返回衬底,浮栅不再带电。 ▲ 把EPROM芯片上的石英窗口对着紫外线灯,距离3cm远,照射8—20分钟,可抹除芯片上全部信息。
Vpp 1 28 Vc c 2 27 A A 14 12 3 26 A A 13 7 4 25 A A 8 6 5 24 A A 9 5 6 23 A A 11 4 7 22 OE A 3 8 21 A A 10 2 9 20 CE A 1 A 10 19 D7 0 D 0 11 18 D6 12 D1 17 D5 D2 13 16 D4 GND 14 15 D3 图4.26 I27256 引脚图 ◆ EPROM芯片27256(32K×8)