1、第四章 存储系统4.1 存储器概述,4.1.1 存储器的发展一、存储器件的变化第一台电子计算机ENIAC用的是电子管触发器;此后经历过:汞延迟线磁带磁鼓磁芯(1951年始)半导体(1968年IBM 360/85首次将其用作cache;1971年IBM 370/145首次将其用作主存,取代了磁芯)。磁盘,光盘,纳米存储。主存的重要作用及主存器件发展史总结图表:,主存的重要作用图示,外设 主 外设 存,输入的数据,要输出的数据,程序,中间数据,控制器,运算器,指令,数据,主存器件发展史总结表:,存储器的容量进化,Bit(b) Byte (B) KiloByte (KB) MegaByte (MB)
2、 GigaByte(GB) TeraByte (TB) PetaByte(PB) ExaByte (EB) ZetaByte(ZB) YottaByte (YB) NonaByte(NB) DoggaByte (DB),二、存储体系结构的发展,1、由主-辅二级结构发展到多层次存储体系结构。2、主存由单体发展到多体交叉(并行)。3、采用了虚拟存储技术。3.1.2 评价存储器性能的主要指标一、存储容量 能存放二进制位的总量。一般主存和辅存分别考查。常以字节B(Byte)为单位(MB、GB)。二、存取时间和存取周期1、存取时间(Memory Access Time):孤立地考察某一次R/W 操作所需
3、要的时间,以TA表示。,2、存储周期(Memory Circle Time):是指连续访存中必须间隔所需的最少时间,以TM 表示。TMTA。,三、频带宽度Bm:Bm=W/TM(位/秒)其中 W每次R/W 数据的宽度,一般等于Memory字长。TM存储周期。按此定义Bm也被叫做存储器的数据传输率。四、价格:以每位价格来衡量。P=C/SC存储芯片价格,S存储芯片容量(bits)。容量越大、速度越快,价格就越高。3.1.3 存储器分类一、按存储介质分1、半导体存储器,利用触发器的双稳态或MOS管栅极有无电荷来表示二进制的0/1。,2、磁表面存储器:利用两种不同的剩磁状态表示二进制0/1。常见有磁带、
4、磁盘两种。3、光及磁光存储器(1)利用激光在非磁性介质上写入和读出信息,也称第一代光存储(技术)(Optical Memory)。(2)利用激光在磁记录介质上存储信息,也称第二代光存储(技术)(Megnetooptical Memory)。二、按工作方式分1、随机存取存储器RAM(Random Access Memory)按地址码编址,地址译码线对应唯一确定的存储单元(1位、1字节、1字),按照给定地址可以随时访问,(R/W)任何存储单元,且访问时间与存储单元的物理位置无关。速度较快,TM为ns级。常用作cache和主存。,2、只读存储器ROM(Read Only Memory)也是按地址译码
5、访问,但只能随机读取,不能随机写入。又分为MROM、PROM、EPROM和Flash ROM几类。3、直接存取存储器DAS(Direct Access Storage)信息所在地址按控制字编码形式给出,然后以字符、记录形式成块存取。存取时间与信息所在物理位置有关。容量大,寻址较慢,便宜。磁盘。4、串行存取存储器SAM(Serial Access Memory)以记录、字节形式成块、成组存取信息。地址以块号和块间间隔给出,要顺序找到块号,再依次存取。磁带。,4.1.4 多层次存储体系结构一、为什么要用多层次存储体系结构,主存的速度总落后于CPU的需要,主存的容量总落后于软件的需要。二、多层次存储
6、结构系统的一般形式 CPU,寄存器组,cache,主存,辅存,1、通用寄存器(组):速度近于CPU,少量连续计算时存放部分数据及中间结果,通过减少主存访问而提高系统速度。,2、Cache-主存层次(1)什么是cache:高速缓冲存储器,高缓。是在CPU和主存之间的小容量快速存储器,速度与CPU相当。依据程序运行的局部性,把主存中部分信息映射到cache中,CPU与之打交道,如此弥补了主存在速度上的不足。(2)Cache与CPU、主存的关系(工作原理)(3)Cache的物理构成:一般为SRAM即静态RAM(Static);而主存一般为DRAM即动态RAM(Dynamic)。SRAM较快,约为DR
7、AM的35倍,但功耗大,集成度低,价格高。(4)目前PC系统中一般设有一级缓存和二级缓存,L1 cache做在CPU内部,叫内部cache,速度最快,容量较小,常在几十KB。L2 cache又叫外部或片外cache。,3、主-辅层次(1)构成:主存和辅存。(2)作用:解决主存容量不足的问题。(3)虚拟存储器(Virtual Memory):虚存。是建立在主-辅物理结构基础之上,由附加的硬件装置及操作系统的存储管理软件组成的一种存储体系。它将主存和辅存地址空间统一编址,用户在这个空间里编程,如同拥有一个容量很大的内存。三、小结多层次存储系统设计得当的话,会使用户感到拥有了cache的速度、辅存的
8、容量,而且无论cache还是虚存对应用程序员都是透明的。,4.2 随机读写存储器RAM4.2.1 SRAM存储器 一、SRAM的基本存储元,又叫记忆元件、存储元,指存放一个二进制位(0/1)的电路。对于SRAM而言,电路为触发器结构。1、六管SRAM的电路构成(教材P.73图3.2)2、该电路工作原理设T1截止T2导通即A点高电平B点低电平表示“1”,T2截止T1导通即A点低电平B点高电平表示“0”。,X地址译码线 Vcc T3 T4 T5 A B T6 T1 T2 D DT7 T8(I/O) 接Y地址译码 线 (I/O),4.2 随机读写存储器RAM4.2.1 SRAM存储器 一、SRAM的
9、基本存储元,(1)写入:首先译码选中。写“1”:在I/O线加高电位,I/O线加低电位。写完成后译码线上高电位信号撤消,电路进入保持状态。(2)读出:首先译码选中。原来存放的“0”或“1”以不同电位值传到I/O线上。读完成后和写一样进入保持状态。(3)(存储)保持状态,X地址译码线 Vcc T3 T4 T5 A B T6 T1 T2 D DT7 T8(I/O) 接Y地址译码 线 (I/O),二、SRAM存储器基本组成,地址线 数据线 读写控制信号,存储体阵列,I/O电路及R/W控制电路,地址译码驱动,1、存储体阵列:见下图,注意其中几个常用概念(1)记忆元件(2)存储单元(3)字线(4)位线(5
10、)存储芯片规格。,字线0 。字线1 。 。 。 。 。 。 。字线m 位线0 位线1 位线2 位线 n,0,1,2,n-1,0,1,2,n-1,0,1,2,n-1,2、地址译码驱动系统,(1)地址译码器的功能:把CPU给定的地址码翻译成能驱动指定存储单元的控制信息。(n-2)(2)简单译码器电路(3)“驱动”的含义。(4)地址译码系统的设计一维和二维地址译码方案及选择 例:1K X 4位RAM的地址译码方案。,A0 字线w00 字线W01 A1 字线W10 字线W11 A0 A0 A1 A1,&,&,&,&,地址译码系统的设计例子:1K X 4位 RAM。,一维地址译码方案:存储体阵列的每一个
11、存储单元由一条字线驱动。也叫单译码结构。例中用此方案共需字线条数为:1024条二维地址译码方案:从CPU来的地址线分成两部分,分别进入X(横向)地址译码器和Y(纵向)地址译码器,由二者同时有效的字线交叉选中一个存储单元。例中将1K X 4 RAM 的10条地址线中6条(A0A5)用在横向,4条(A6A9)用在纵向,则共产生字线条数为:64+16=80条1K X 4 位RAM 二维地址译码的图示:,X地址译码器,I/O,I/O,I/O,I/O,Y地址译码器,3 I/O电路:不同存储芯片的I/O电路具体形式可能不同。4 R/W控制电路。(以上四部分封装在一起成为一片SRAM),三、SRAM 芯片实
12、例Intel 2114请看教材P.76图3.5。该图的几点说明:1、2114芯片引脚数目2、地址线的横向、纵向安排3、写入的读出的控制四、存储器与CPU的连接(RAM芯片的扩展、RAM芯片的组织、由RAM芯片构成主存)用较小容量的现成RAM芯片构成机器所需的大容量内存,同时完成RAM芯片与CPU的正确连接。,位扩展,1 使用8K X 1的RAM存储芯片组成8K X 4的存储器。,地址总线,字扩展,2 用8K X 4 的芯片组成32K X 4的存储器。,(一)扩展方法的实例:现有2114即1K X 4RAM芯片,要构成8K X 16位主存,应该用多少片2114?画出扩展、连接图。,A0A9 R/
13、W 2114(1#)CS D3 D2 D1 D0,A0A9R/W 2114(4#)CSD3 D2 D1 D0,首先计算用多少片2114:(8K X 16)/(1K X 4)=32片然后进行位扩展:把1K X 4扩成1K X 16,用16/4=4片A9 CSA0D15D12,最后进行字扩展:1K字8K字,用上面位扩展得到的1KX16位单元共8K/1K=8个,即总共用2114位8X4=32片。见下图:,A12 Y7A11A10 Y0A9A0D15D12D3D0R/W,3/8译码器,A0A9R/W1#CSD3.D0,A0A9R/W4#CSD3D0,A0A9R/W29#CSD3D0,A0A9R/W32
14、#CSD3D0,(二)补充资料:主存设计过程的三个阶段,1、系统设计从计算机系统的角度,提出对存储器主要技术指标、功能及结构形式等的要求,如容量、字长、存储周期、总线宽度、控制方式、检纠错能力、环境温度、可靠性等要求。还要确定存储器类型和外电路形式。2、逻辑设计按地址空间的分配选择合适的RAM、ROM芯片与CPU相连。其中还要考虑到逻辑电路的输入/输出系数,信号的传输与衰减,等等。3、工艺设计落实于生产。问:前例RAM的扩展属于以上三个阶段中的哪一个?,五、存储器的读写周期(时序图)P.78图3.8,TRC TA地址 TCOCS TCX数据输出 TOTD,4.2.2 DRAM存储器,一、静态R
15、AM与动态RAM静态RAM:(如前所述的六管SRAM)记忆元件电路能在很低的频率乃至直流的情况下工作,在没有外界信号作用时,触发器的状态可以长久保持不变,即信息不会丢失。动态RAM:利用MOS管栅极电容上充积的电荷来存储信息的记忆元件电路中,由于有漏电阻的存在,电容上的电荷不可能长久保存,需要周期地对电容充电,以补充泄漏的电荷。这类电路是在动态的情况下工作,故名Dynamic RAM(DRAM)。二、为什么提出动态存储单元SRAM单元电路能长久保持信息,不需刷新,工作稳定可靠。,但它也有缺点:功耗大,集成度低。DRAM单元电路恰好克服了这种缺点。DRAM的出现是半导体存储技术的一大进步。,三、
16、DRAM记忆元件电路之一:单管DRAM1、电路组成:一只MOS晶体管T和一个电容C。C是特作的MOS电容,物理上与T在一起(作在T的源极的一侧),特点是电容值极小,充电快,又能较长时间地维持电荷。2、工作原理(1)保持:C上有电荷表示存储“1”,反之为“0”。,字线W TC CD D (位线),保持状态字线为低电位,T关闭,切断了C的通路,使所充电荷不能放掉。但电容总有一定的漏电阻,见下图。刷新的原因。,(2)写入:字线的正驱动脉冲打开T。写“1”:在D线加高电位;写“0”:在D线加低电位。(3)读出:字线的正驱动脉冲打开T。原存“1”:电荷经T使D线电位升高;原存“0”:D线电位将降低。可见
17、单管DRAM为“破坏性读出“电路,即信息读出后要立即恢复,否则已丢掉。,字线W TC R CD D (位线),四、DRAM的刷新(刷新、再生Refresh),1、刷新:在利用电容上的电荷来存储信息的动态半导体存储器中,由于漏电使电容上的电荷衰减,需要定期地重新进行存储,这个过程称为刷新。2、刷新周期:对整个DRAM必须在一定的时间间隔内完成一次全部单元内容的刷新,否则会出现信息错误。从整个DRAM上一次刷新结束到下一次刷新完为止的时间间隔叫刷新周期。3、刷新方式(刷新的控制方式)请看P.84图3.14(例中TM=0.5s,刷新周期为2ms)。三种方式的小结:(1)第二种方式即分散方式的主要缺点
18、。,(2)第一种与第三种方式即集中方式与异步方式的比较。(3)刷新优先于访存,但不能打断访存周期。刷新期间不允许访存。,4.3 只读存储器和闪速存储器4.3.1 只读存储器ROM一、MROM全固定、掩模型ROM 1、概念解释M:Mask即掩模版。半导体IC的制作要经过一系列工序外延、氧化、光刻、扩散、蒸发、检测、封装等。各种元件尺寸和元件间连接都靠光刻工艺完成,而光刻是通过掩模版曝光刻出图形来。所以,制作 ROM时,可根据使用的具体需要,在制作mask时将信息(Program)编排进去。光刻成的ROM,所存信息与mask完全一致,不可改变。故名全固定ROM。,2、MROM特点:适合大批量生产已
19、成型的产品。小量生产则成本上升(mask制作工艺复杂,周期长)。,3、MROM例图(32字X8位):有MOS管处为“1”。 VC A0 0 W0A1 1 W1A4 31 W31 D0 D1 D7,地址译码器,二、一次可编程的ROMPROM(Programmable),何为PROM:制造者生产ROM时为全“0”或全“1”出厂。用户可以根据需要用专门的写入器(编程器)写入信息。一旦写入,不可更改。PROM的两种类型1、结击穿(结破坏)型2、熔(断)丝型三、可擦除可编程ROMEPROM(Erasable PROM)光擦,电擦等。具体种类较多。满足灵活性需要。但两次改写之间仍是只读的。而且可改写的次数
20、也是有限的。,四、ROM、RAM与CPU的连接:按照指定的地址空间分配,正确选择所给各种存储器芯片及其它片子、门电路等,将对应的地址线、数据线、控制线连接起来,构成较完整的处理器与存储器的相连系统。,例一:教材P.93例3。首先要详细了解题意。作为此类设计常用芯片,介绍74LS138译码器:(1)74138的逻辑符号 G1 Y7 其中,G1,G2A,G2B为输入控制端; G2A C,B,A为译码输入端; G2B Y7Y0为译码输出端。 C B A Y0(2)74138的真值表:,解题的步骤:1、完整列出二进制表示的地址空间分配情况。 A15 A14 A13 A12 A11 A10 A9 A8
21、A7 A6 A5 A4 A3 A2 A1 A0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,解题步骤:2、根据空间分配和题意确定存储芯片类型及数量,同时确定74138的输入、输出端如何使用。,(1)前8K选用一片8KX8的EPROM即可,用74138的Y0输出
22、进行该片的选片(即A15A14A13=000);(2)相邻24K选用8KX8的SRAM三片即可,用74138中Y1、Y2、Y3分别选三片中的一片(即A15A14A13=001、010、011);(3)末2K用一片2KX8的SRAM即可,在74138的Y7输出有效的基础上再加入A12、A11同时为1的条件用一个非门和一个与门逻辑就可以实现。解题步骤:3、作出连接图。请看教材P.94图3.24。,例之二:设CPU共有16根地址线,8根数据线,并用MREQ作访存控制信号(低电平有效),用R/W作读写控制信号(高电平为读,低电平为写),现有下列芯片及各种门电路(自定),如图。画出CPU与存储器的连接图
23、。要求:,(1)存储芯片地址空间分配为:最大4K空间为系统程序区,相邻的4K为系统程序工作区,最小16K为用户程序区;(2)指出选用的存储芯片类型及数量;(3)详细画出片选逻辑。步骤1、地址空间分配:强调必须用二进制完整列出,否则无法正确选片。,AmA0 Ak.Ao DnDo Dn.Do2KX8 位 1KX4位8KX8 位 2KX8位32KX8位 8KX8位 16KX1位 4KX4位,Cs ROMRD,Cs RAMWE,74LS138,A15A14A13A12A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24、1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0,1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,中间有40K的空白未用地
25、址空间,步骤2、确定芯片的类型和数量。除了74138译码器与门电路之外要选:,(1)4K的系统程序区用两片2K X 8位的ROM,片选用74138的Y7输出加进A12、A11组合分别为11和10(各对应一片)的条件,可以用简单门电路实现。(2)相邻4K的系统程序工作区用4K X 4位的RAM进行位扩展即可。片选用74138的Y7输出加进A12=0的条件即可。(3)最小16K用户程序区用两片8K X 8位的RAM,两片的片选分别用74138的Y1、Y0输出端。步骤3、作出连接图,MREQA15A14A13A12A11A10A9A0D7D0R/W,Y7G1 G2A G2B C B A Y1 Y0,
26、8KX8RAM,8KX8RAM,2KX8ROM,2KX8ROM,4KX4RAM,4KX4RAM,或,非,或,或,非,4.4 高速存储器4.4.1 双端口存储器:端口指读写口。,地址地址,地址寄存器,地址寄存器,译码器,译码器,存储体,4.4.2 多模块交叉(多体交叉)存储器一、并行主存系统,用w片字长1的芯片可以扩展成W位字长的存储器,一般把这种扩展叫存储芯片的并联组织。各个芯片同时工作,在一个Tm内读出一个W位的字,获得Bm=W/Tm的频宽同理可进一步把n个W位字长的同容量存储器并成一个更大的存储器以获得Bm=n X W/Tm的频宽。这样组织的主存系统叫并行主存系统。作用:加快从主存读出信息
27、到CPU的速度,以解决主存和CPU之间速度不匹配的问题。二、并行主存系统的两种组成方式单体多字方式与多体并行方式多个存储体组成并行存储系统时要再外加地址寄存及地址译码逻辑;单体多字和多体并行即因此而有别。,1、单体多字方式:并行的存储器共用一套地址寄存及译码线路。一个地址驱动n个存储器,一次可读写沿n个存储器顺序排列的n个字,故称单体多字方式。,。 CPU,M0,M1,Mn-1,地址译码,地址寄存,W位,W位,W位,2、多体并行方式:n个并行的存储体具有各自的地址寄存器的地址译码、驱动、读写等电路,形成可同时工作又独立编址的同容量n个分存储体(模块),称为多体并行(或多模块存储)方式。,W位
28、W位 W位 CPU给地址,M0,译码,地址寄存,M1,Mn-1,并行访问存储器实质,把m字w位的存储器改变成m/n字n*w位的存储器。把地址码分成两部分,一部分选址,一部分选择数据。,三、多体交叉存储器的工作原理1、多体交叉编址首先说明线性编址的含义:即连续编址。线性地址在多模块中有两种安排方式:,顺序方式:线性地址按模块走,第一块排完再排第二块.。交叉方式:线性地址逐模块走,所有块编一个单元,再回到第一块.。并行主存系统中常用的是这种方式。(以上两种方式图解见教材P.101图3.29。)多体交叉地址编号主要规则:地址序号连续的两个存储单元依次分布在相邻的两个模块中。地址交叉排列的目的:获得比
29、单体多字方式更高的频宽。,高位交叉访问存储器(书上所说的顺序方式),主要目的:扩大存储容量。实现方法:地址码高位区分存储体号,低位体内寻址。,低位交叉访问存储器(书上所说的交叉方式),主要目的:提高存储器的访问速度。实现方法:用地址码的低位区分存储体号,高位体内寻址,并采用分时启动方式。多体交叉存储体分时工作原理:无论多体存储器中有几个分体,CPU与主存之间数据通路仍是一个W位。n个W位如何在一个存储周期Tm中读出?一般采用分时启动分体的分时读出法。,低位交叉地址编码形式,例:设有4体交叉的存储器,分时即每隔1/4Tm启动一个分体。要点:存储器读出虽用一个Tm,一旦读出后在主存CPU的总线上传
30、递的速度以及处理的速度要比读内存快得多。,M3M2M1M0 1/4 2/4 3/4 1 2 t(Tm),3、多体交叉存储器的组成:下图。存控的作用组织多体并行工作,实现分时流水读出,管理信息流动次序和方向。,IO处理器,CPU,M0,M1,M2,M3,总 线 控 制,IOP,地址,地址,地址,地址,存 储 器 控 制 器,例题1 书上P102 例4,注意:书中例题的前提是:调用的地址是连续的。,例题2,Star-100巨型机存储系统采用并行和交叉结合的方式工作,有32个存储体低位交叉,每次并行读写512位,存储周期为1280ns,处理机字长32位,计算它的频带宽度和峰值速度。,解: 因为:n=32, w=512 Tm=1280ns Bm=nw/Tm =32*512b/1280ns=400Mw/s 所以:T=2.5ns 与Tm相比,峰值速度提高512倍。,4.4.3相联存储器(CAMContent Access Memory),一、相联存储器的实质按内容访问的存储器。“内容”指存储单元中一个子段。二、相联存储器的用途主要在cache的地址变换及虚存的管理中需要快速查找的场合使用。三、相联存储器的组成教材P.105图3.34,自学了解。,