1.01k likes | 1.24k Views
第五章 存储系统. 存储器是记忆信息的实体,是数字计算机数据存储、信息处理、自动连续执行程序的重要基础。 一般来说,计算机系统采用多级存储器体系结构,即由容量、速度和价格各不相同的存储器构成存储系统。 设计一个容量大、速度快、成本低的存储系统是计算机发展的一个基本要求。 本章重点讨论主存储器的工作原理、组成方式以及用半导体存储芯片构成主存储器的一般原则和方法,并介绍高速缓冲存储器和虚拟存储器的基本原理。. 本章主要内容. 主要内容 存储系统概述 随机存储器( SRAM 、 DRAM )和只读存储器( ROM ) 主存储器的构成 提高主存速度的技术
E N D
第五章 存储系统 • 存储器是记忆信息的实体,是数字计算机数据存储、信息处理、自动连续执行程序的重要基础。 • 一般来说,计算机系统采用多级存储器体系结构,即由容量、速度和价格各不相同的存储器构成存储系统。 • 设计一个容量大、速度快、成本低的存储系统是计算机发展的一个基本要求。 • 本章重点讨论主存储器的工作原理、组成方式以及用半导体存储芯片构成主存储器的一般原则和方法,并介绍高速缓冲存储器和虚拟存储器的基本原理。
本章主要内容 主要内容 • 存储系统概述 • 随机存储器(SRAM、DRAM)和只读存储器(ROM) • 主存储器的构成 • 提高主存速度的技术 • 高速缓冲存储器Cache • 虚拟存储器
一、存储器概述 存储器是计算机系统的重要组成部分,是计算机系统中的记忆设备,用来存放程序和数据。 二进制代码位是存储器中的最小存储单位,称为一个存储位或存储元。由若干个存储元组成一个存储单元,由若干存储单元组成一个存储器。 存储器和存储系统是两个不同的概念。存储系统是由容量、速度和价格各不相同的存储器构成。
1、存储器分类 • 按存储介质分: • 半导体存储器 • 磁表面存储器 • 光存储器 • 按读写功能分: • 只读存储器(ROM) • 随机读写存储器(RAM) • 按存取方式分: • 随机存储器 • 顺序存储器 • 半顺序存储器 • 按信息可保存性分: • 易失性存储器 • 非易失性存储器
2、存储器的层次结构 • 计算机对存储器的要求是容量大、速度快、成本低。但在一个存储器中同时满足这三方面的要求是困难的. • 解决办法:把不同容量、不同速度的存储器,按一定的体系结构组织起来,形成多级存储系统。 • 通常采用三级存储系统,由高速缓冲存储器(cache)、主存储器和外存储器构成。cache和主存储器合称内存储器。 • 这种多层次结构已成为现代计算机的典型存储结构。
各级存储器的作用 • 高速缓冲存储器(cache) 一个高速、小容量、半导体存储器,位于主存和CPU之间,用来存放正在执行的程序段和数据。 • 主存储器 计算机系统中的主要存储器,用来存放计算机运行期间所需要的程序和数据,它能和CPU、cache交换指令和数据。 • 辅助存储器 用来存放当前暂不参与运行的程序和数据以及一些需要永久性保存的信息。特点是存储容量大、位成本低,但存取速度慢。CPU不能直接访问。
多级存储系统的效果 • 三级存储系统可分为两个层次:cache—主存层次和主存—外存层次(称为虚拟存储器)。 • 各级存储器的职能各不相同。cache主要强调快速存取,解决主存的存取速度和CPU的运算速度之间匹配问题;外存主要强调大的存储容量,以满足海量数据的存储要求;主存则要求选取适当的存储容量和存取速度,来容纳系统的核心软件和较多的用户程序。 • 多级存储系统的效果:速度接近最快的那个存储器,容量接近最大的那个存储器,位价格接近最便宜的那个存储器。
3、主存储器的组织 • 主存由存储体、地址译码驱动电路、I/O和读写电路组成。 字节编址的计算机既能 字节寻址也能字寻址… 字地址的安排有两种: 大端方案和小端方案 • 在主存中,存放一个机器字的存储单元,称为字存储单元,相应的单元地址叫字地址。而存放一个字节的单元,称为字节存储单元,相应的地址叫字节地址。如果可编址的最小单位是字单元,则该计算机称为按字寻址的计算机;如果可编址的最小单位是字节,则该计算机称为按字节寻址的计算机。
4、主存储器的技术指标 • 存储容量:存储器中可以容纳的存储单元的总数称为该存储器的存储容量。存储容量越大,能存储的信息越多。存储容量常用字数或字节数来表示。 • 存取时间:启动一次存储器操作到完成该操作所经历的时间。存取时间越小,存取速度越快。 • 存取周期:进行一次完整的主存读写操作所需要的全部时间,即连续两次读写操作之间所需要的最短时间。存取周期含内部状态恢复时间,略大于存取时间. • 存储器带宽:单位时间内存储器所存取的信息量,它以字/秒、字节/秒、位/秒为单位来表示,带宽是衡量存储器数据传输速率的重要指标。
二、随机存储器: SRAM存储器 目前使用最多的随机存储器是半导体存储器。根据存储信息的原理不同,又分为静态随机存储器(SRAM)和动态随机存储器(DRAM)。半导体存储器优点是存取速度快、体积小、可靠性高;其缺点是断电后存储器中存储的信息随即丢失。 以下介绍静态随机存储器SRAM。
1、存储元的读写原理 存储元是存储器中的最小存储单位,它的基本作用是存储一位二进制信息(0或1)。作为存储元的材料或者电路,必须具备以下基本功能: • 具备两种稳定状态 • 两种稳定状态经外部信号控制可以相互转换(状态写入) • 通过控制可以得到其中的信息(状态读出) • 无外部原因作用,其中的信息能长期保存 存储元可以由各种材料制成,但最常见的由MOS电路组成。其中,SRAM存储元是用双稳态触发器存储信息的。
六管静态存储元电路 • 静态MOS存储元由T1、T2、T3、T4管组成的双稳态触发器保存信息,而且因为T3、T4管给T1、T2管供电,能长期保存信息不变。掉电后,原来的信息也就随即消失。 • T1、T2管为工作管 T3、T4管为负载管 T5、T6、T7、T8为控制管
A点低 B点高 T1导通 A点低 B点高T2截止 A点高 B点低 T1截止 A点高 B点低T2导通 状态0 状态1 六管静态存储元工作原理(一) • 状态保持(X、Y译码线至少有一个为低电平)
“1” 写“1”: 左位线加高电平 A点高T2导通 右位线加低电平 B点低T1截止 写“0”: 左位线加低电平 A点低T2截止 右位线加高电平 B点高T1导通 “0” 六管静态存储元工作原理(二) • 写入(X、Y译码线为高电平,T5、T6、T7、T8导通)
“1” 读“1”: A点高、T2导通 B点低、T1截止 读“0”: A点低、T2截止 B点高、T1导通 VCC经T3、5、7使 左位线流过电流 “0” VCC经T4、6、8使 右位线流过电流 六管静态存储元工作原理(三) • 读出(X、Y译码线为高电平,T5、T6、T7、T8导通)
2、SRAM存储器的组成 SRAM存储器由存储体、读写电路、地址译码电路、控制电路组成。
SRAM存储器的组成(续一) • 存储体:存储体是存储单元的集合。 在大容量存储器中,往往把各个字的同一位组织在一个集成芯片中。例如,芯片有4096×1位,则表示该芯片具有4096个字的同一位。 • 地址译码器:地址译码器有两种:单译码和双译码。 • 单译码:地址译码器只有一个,译码器的每个输出对应一个字。当地址线数较多时,译码器将变得复杂而庞大,成本上升。 • 双译码:在双译码方式中,地址译码器分成X方向和Y方向两个译码器。两个译码器交叉译码的结果,使译码选择结果没有减少,而选择线数大幅度下降。 • 例如:芯片的4096个字排成64×64的矩阵,需要12根地址线。低6位作为X译码器的输入,高6位作为Y译码器的输入,两译码器输出各64根,总共需要128根。
SRAM存储器的组成(续二) • 驱动器:在双译码结构中,一条X选择线要控制所有挂接的存储单元,上述为64个电路,负载很大。为此,在译码器输出后需要加驱动器,来驱动X选择线上的所有存储元电路。 • I/O电路:它处于数据线和被选中的单元之间,用来控制被选中单元的读出或写入,并具有放大信号的作用。 • 片选与读/写控制:一片集成电路的容量是有限的,要组成一个大容量的存储器,需要将多块芯片连接起来使用。某个地址只用到某个(某些)芯片,需要进行选择控制。只有当片选信号有效时才能选中某一片。至于是读还是写,取决于CPU发出的命令。 • 输出驱动电路:为了扩展存储器的容量,经常需要将几个芯片的数据线并联在一起;另外,存储器的读出数据或写入数据都放在双向的数据总线上,这就要用到三态输出缓冲器。
3、SRAM存储芯片 • SRAM存储芯片有多种型号,引脚组成如下: • 地址线:与存储芯片的单元数有关 • 数据线:与存储芯片的字长有关 • 片选线CS:SRAM必须有,用于芯片选择 • 读/写控制信号WE • 电源线、地线 • 存储芯片的地址范围是其地址线从全“0”到全“1”的所有编码。 例1、某SRAM芯片,其存储容量为16K×8位,问: ①该芯片引出线的最小数目应为多少? ②存储器芯片的地址范围是多少? 解:① 16K=214,所以地址线14位,而字长8位对应8位数据线,加 上片选信号CS、读/写控制信号WE、电源线和地线,该芯片 引出线的最小数目为26。 ② 存储器芯片的地址范围为0000H—3FFFH。
4、SRAM的读写时序:读周期 • 读周期:在读周期内,地址输入信息不允许改变,片选信号CS在地址有效之后变为有效,使芯片被选中。最后在数据线上得到读出信号。读写控制信号WE在读周期中保持高电平。
SRAM的读写时序:写周期 • 写周期:写周期与读周期相似,但除了要加地址和片选信号外,还要加一个低电平有效的写入脉冲WE,并提供写入数据。
5、存储器的扩展 目前生产的存储器芯片的容量是有限的,它在字数或字长方面与实际存储器的要求都有差距,所以需要在字方向和位方向进行扩展才能满足实际存储器的容量要求。 存储器扩展通常采用位扩展法、字扩展法、或者字位同时扩展法。
位扩展法 • 当构成内存的存储器芯片的字长小于内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求。也就是说,因字的位数不够而扩展数据输出线的数目. • 位扩展特点: • 位扩展法只加大字长(增加数据输出线的数目) • 存储器的字数和芯片的字数一致(存储器的单元数不变) • 对芯片无片选要求,访问时芯片被全部被选中(同时选中) • 除数据线外,把其它同类线并联在一起。
位扩展法举例 其它线并联 • 例、使用8K×1的RAM芯片,组成8K×8的存储器,可采用如图所示的位扩展法进行扩展。 对应连接
字扩展法 • 字扩展是指在字长不变的情况下,增加存储单元数。也就是,因总的字数不够而扩展地址输入线的数目。 • 字扩展的特点 • 仅在字方向上扩展,而位数不变。 • 连线方法: • 每个芯片的地址线、数据线、控制线并联 • 片选信号分别引出,从而使各芯片占据不同的地址范围。
字扩展法举例 • 例、使用16K×8的SRAM芯片组成64K×8的存储器。 需要芯片数计算:64÷16=4片。 由于64K=216,需要16条地址线;8位数据需要8条数据线。其中,16K=214,每片的16K寻址需要14条地址线,剩余2条地址线通过2:4译码后,做4个片选信号。
字和位同时扩展法 • 当构成一个容量较大的存储器时,往往会出现这样的情况,存储芯片的位数和字数都不能满足存储器的要求,需要在字方向和位方向上同时扩展。 • 例如,要求用m×n的芯片组成容量为M×N的存储器,共需要(M/m)×(N/n)个存储芯片。不过为了降低成本、减轻系统负载、缩小存储器模块尺寸,一般应尽量选择集成度高的芯片来构成实际使用的存储器。 • 我们将在存储器设计中详细介绍这种扩展技术。
MREQ CS CS WE WE WE CS WE CS 举例: 1K×4芯片扩展为4KB存储器 译 码 器 CS3 A11~A10 CS2 CS1 CS0 A9~A0 … … A9~A0 A9~A0 2114 2114 CPU … … A9~A0 A9~A0 2114 D3~D0 2114 D3~D0 WR D7~D4 D7~D4 D7~D0
6、CPU和主存的连接 • 存储器同CPU连接时,需要完成包括地址线、数据线以及控制线在内的连接。 • 片选信号对SRAM和ROM是必须的,所以需要产生存储芯片的片选信号。通常,片选信号是通过高位地址译码产生的,字选信号(选择存储单元)是由低位地址线提供的。 • 举例来说,在微电子学院找一个同学,比较好的办法是首先要找到他的班级,相当于“片选”;再从班中找到这个同学,相当于“字选”。若把学号看作地址,往往班级编号在前面,产生“片选”信号;而学生序号在后,用于产生“字选”信号。
CPU和主存的连接(续) • 片选信号的译码分为线选法、全译法以及部分译码法。 • 线选法:用除片内寻址外的高位地址线直接(或取反)分别接到各个存储芯片的片选端。当某地址线为“0”时,就选中对应的存储芯片。线选法不需要译码器,但会导致地址空间的不连续 。 • 全译法:除片内寻址外的全部高位地址都作为地址译码器的输入,译码器的输出作为各芯片的片选信号。地址范围唯一确定,连续、不重叠 。 • 部分译码法:用除片内寻址外的高位地址的一部分来译码,产生片选信号。部分译码法会产生多个地址对应一个存储单元的现象,地址重叠。
三、随机存储器: DRAM存储器 • 动态随机存储器DRAM是利用电容存储电荷的特性来存储数据的,通常定义电容充电至高电平为1,放电至低电平为0。 • 电容电荷会逐渐漏掉,要使保存的信息不变,就需要每隔一段时间对电容补充电荷,即需要刷新。 • 采用电容存储电荷方式存储信息,一,不需要双稳态电路,可以简化电路,提高存储器芯片的存储容量;二,电路间隔性充电,可降低功耗。这两点都使存储芯片集成度提高、成本下降。
1、四管存储元的读写原理 在六管静态存储元电路中,栅极存在一定的电容,所以在去掉负载管T3、T4之后,仍能存储信息。这是因为MOS管栅极电阻很高,漏电流很小,在一定时间内,这些电荷还能够维持得住。这就为动态存储元利用栅极电容存储信息提供了基础。去掉负载管后,就形成了四管存储元结构。
用于4K以下芯片 四管动态存储元电路 • 去掉负载管T3、T4之后,T1、 T2管不再构成双稳态触发器。 T1、T2管为工作管 T5、T6、T7、T8为控制管 • 两个稳态: C1有电荷、C2无电荷为“0” C1无电荷、C2有电荷为“1”
四管动态存储元工作原理 • 保持状态(X、Y线至少一个为低电平) • 写入状态(X、Y线高电平,T5678导通)
四管动态存储元工作原理(续) • 读出状态(X、Y线高电平,T5678导通;预充信号为高,T9、10导通) • 刷新(X线高电平,T5、6导通;预充信号高,T9、10导通)
用于4K以上芯片 2、单管动态存储元工作 • 为了进一步简化结构,提高集成度,采用单管动态存储元。它只有一个电容和一个MOS管。电容C用来存储电荷,MOS管V用来控制读写。 • 保持状态:字线加低电平,V断开,电容C基本上无放电回路,从而维持电容的“0”、“1”状态。 • 写入状态:字线加高电平,V导通。写入0时,位线W加低电平,电容C通过控制管对位线W放电,呈现低电平状态;写入1时,位线W加高电平,位线W通过控制管V对电容C充电,呈现高电平。 • 读出状态:字线加高电平,V导通。若原来存储1,C上有电荷,经控制管V在位线上产生电流,读出1;若原来存储0,C上无电荷,在位线上不产生电流,读出0。 • 刷新:单管存储元的读出操作会使C上的电荷发生变化,属于破坏性读出,需要读后重写,也叫再生。刷新过程由外围电路自动完成。
3、DRAM的特点 由动态存储元构成DRAM存储芯片。DRAM芯片的容量都比较大,如2164 DRAM芯片容量为64K×1。DRAM芯片具有以下特点: • DRAM中的数据输入线(DIN)与数据输出线(DOUT)是分开的,且有各自的锁存器。 • 地址线引脚只引出一半,行地址选通信号RAS和列地址选通信号CAS在时间上错开进行地址复用,内部有两个锁存器,分别接收行地址和列地址。 • 有WE控制信号,没有CS片选信号,扩展时用RAS信号代替CS(RAS为行选通信号、非行地址线)。 • 刷新是DRAM最突出的特点,有刷新电路,地址线也作刷新用,而且只用行地址线。SRAM不需要刷新。
关于DRAM引脚举例 例2、某一动态RAM芯片,容量64K×1,除电源线、接地线、刷新线外,该芯片的最小引脚数目是多少? 解: 64K=216,由于地址线引脚只有地址线数一半,所以为8条;数据输入线与数据输出线是分开的,所以数据线引脚为2条;它有读写控制信号WE 1条,而没有片选信号;芯片有行选通信号RAS和列选通信号CAS,共2条。所以,除电源线、接地线和刷新线外,该芯片的最小引脚数目为8+2+1+2=13条。
4、DRAM的刷新 • DRAM存储元是依靠栅极电容来存储信息的,电容的绝缘电阻不是无穷大,因而电荷会泄漏掉,如同流沙漏斗一样。通常MOS管栅极电容上的电荷只能保持几毫秒。 • 为了维持DRAM记忆单元存储的信息,每隔一定时间必须对所有记忆单元的电容补充电荷,这个过程叫刷新。一般来说,DRAM的刷新间隔为2ms~4ms,主要取决于MOS管栅极电容上电荷泄漏的速度。 • DRAM存储器全部刷新一遍所需的时间,如2ms,称为刷新间隔;而刷新一行所需的时间称为刷新周期,刷新周期在时间上等于存取周期。
① 刷新控制 • 无论是由刷新控制逻辑产生地址逐行刷新,还是芯片内部自动刷新,都不依赖外部访问,刷新对CPU是透明的. • 刷新通常是一行一行进行的,每一行中各记忆单元同时被刷新,故刷新操作仅需要行地址,不需要列地址。 • 刷新操作类似于读操作,但又有区别。刷新操作仅给栅极电容补充电荷,不需要信息输出。 • 所有芯片同时被刷新。在考虑刷新问题时,应当从单个芯片的存储容量着手,而不是从整个存储器容量着手。
② 刷新方式 常用的刷新方式有三种:集中方式、分散方式和异步方式。 集中刷新方式:在允许的最大刷新间隔内(如2ms),前一段时间进行读写操作或保持,后一段时间集中进行刷新。在刷新操作期间,停止读写操作。刷新时间=存储矩阵行数×存取周期。 例如,对32×32存储矩阵的芯片刷新(1024字),共需要32个刷新周期。假设存取周期为0.5 s,则在2ms内可以安排4000个存取周期,其中用前3968个周期进行读写操作或保持,用后32个周期集中安排为刷新周期。 集中刷新方式的优点是读写期间不受刷新的影响,但主要缺点是在刷新期间不能访存,这段时间称为“死区”。
刷新方式(续一) 分散刷新方式:把系统的一个存取周期分为两部分,前半部分时间进行读写操作或保持,后半部分时间用来进行刷新操作。在一个系统的存取周期内刷新存储矩阵中的一行。 如果存储芯片的存取周期为0.5 s,则系统的存取周期应为1 s。仍以前述32×32矩阵为例,整个存储芯片刷新一遍需要32 s。 分散刷新方式的优点是没有死区,但加大了系统的存取周期,降低了整机的速度;刷新过于频繁,没有充分利用允许的最大刷新间隔。
刷新方式(续二) 异步刷新方式:把集中刷新和分散刷新结合起来,便形成了异步刷新方式。异步刷新先用刷新的行数把最大刷新间隔进行分割,然后再将已分割的每段时间分为两部分,前一大段时间用于读写操作或保持,后一小段时间用于刷新(先分散、后集中)。 对于32×32的存储矩阵,在2ms内需要将32行刷新一遍,所以相邻两行的刷新间隔=2ms/32=62.5 s。(刷新间隔分为32个时段) 异步刷新方式既能充分利用最大刷新间隔时间,减少了刷新次数,又能保持系统的高速性。这种方法虽然也有“死区”,但很小。所以是一种比较实用的刷新方式。
5、DRAM的读写时序 读周期:在读周期中,行地址必须在RAS有效之前有效,列地址也必须在CAS有效之前有效,且在CAS到来之前,WE必须为高电平,并保持到CAS脉冲结束之后。
DRAM的读写时序(续) 写周期:在写周期中,当WE有效之后,输入的数据必须保持到CAS变为低电平之后。 在RAS、CAS和WE全部有效时,数据被写入存储器。
6、DRAM与SRAM的比较 • 每片DRAM的存储容量大约是SRAM的4倍 • DRAM的价格大约是SRAM的1/4 • DRAM所需功率大约只有SRAM的1/6 • DRAM由于使用动态元件,速度比SRAM低 • DRAM需要刷新,不仅浪费时间,而且需要刷新电路 • DRAM一般用作主存储器,而SRAM用作高速缓冲存储器(cache)。
四、只读存储器ROM • RAM为随机存储器,当掉电时,所存储的内容立即消失。而只读存储器ROM,即使掉电,所存储的内容也不会丢失。 • ROM构成主存储器时,和RAM统一编址,一般ROM用来存放系统程序。
1、ROM的分类 ROM分为以下几类: • 掩模式只读存储器(ROM) • 一次编程ROM(PROM) • 多次编程ROM(EPROM) • 闪速存储器(Flash Memory)
只读存储器(一) • 掩模式只读存储器(ROM) 掩模式ROM由芯片制造商在制造时写入内容,以后只能读出而不能写入。它的基本存储原理是以元件的“有或无”来表示存储元的信息(“1”或“0”),可以用二极管或晶体管作为元件,其存储的内容不会改变。 优点可靠性高、集成度高、形成批量后价格便宜,缺点是对制造商依赖性太大,灵活性差。 • 一次编程ROM(PROM) PROM可由用户根据需要来确定ROM中的内容,常见的熔丝式PROM以熔丝的接通和断开来表示所存的信息(“1”或“0”)。刚出厂的产品,其熔丝全部接通;使用前,用户根据需要断开某些单元的熔丝(写入)。断开后的熔丝是不能再接通的,所以是一次性写入的存储器。双极型PROM除熔丝式PROM外,还有PN结击穿型PROM,都只能进行一次性写入。