概述第5章存储器组织半导体存贮器(RAM、ROM)存储器与CPU的连接外存储器简介随着大规模、超大规模集成电路技术的发展,半导体存储器的发展和更新日新月异。各种存取时间短、容量大、功耗低、价格便宜的器件不断涌现,为用户构成不同规模的存储系统带来了极大的方便。把各种不同存储容量和存储速度的存储器,按照一定的体系结构方式组织起来,使所存放的程序和数据按层次分布在各种存储器中,称为存储体系。微机存储系统的层次结构如图5-1所示。5.1存储器概述在本章中重点讲解主存储器的构成及工作原理,辅助存储器只作简单介绍。速度快容量小速度慢容量大中的寄存器内部Cache外部Cache主存储器辅助存储器大容量辅助存储器图5-1微机存储系统的层次结构CPU速度快容量小速度慢容量大中的寄存器内部Cache外部Cache主存储器辅助存储器大容量辅助存储器图5-1微机存储系统的层次结构CPU5.1.1存储器的分类1.根据存储器是设在主机内部还是外部,可分为:内部存储器(主存储器)外部存储器(辅助存储器)内存用来存储当前运行所需要的程序和数据,以便直接与CPU交换信息。相对外存而言,它容量小,存取速度快,价格较高;外存存放当前暂不参与运行和永久保存的一些程序和数据,在CPU需要处理时再成批地与内存交换。它容量大,价格较低,但存取速度慢。2.按照构成存储器材料的不同,可分为:半导体存储器、磁存储器、光存储器等半导体存储器RAMROM双极型MOS型SRAM(静态)DRAM(动态)掩膜ROMPROMEPROMEEPROMRAM随机读写存储器(RandomAccessMemory)ROM只读存储器(ReadOnlyMemory)它的内容可读出、写入或改写。主要用于存放各种现场的输入、输出数据,中间计算结果,以及用作堆栈等。内容只可读出不可写入。最大优点是所存信息可长期保存,断电时,ROM中的信息不会消失。主要用于存放固定的程序和数据,通常用它存放系统引导程序、系统表格等相对固定不变的资源。Cache高速缓冲存储器CPU高速缓存控制器高速SRAM主存储器Cache是位于CPU和主存(DRAM)之间规模较小、速度很高的静态存储器(SRAM)。在Cache中通常存放CPU当前用的最多的程序和数据,使CPU能以最高的速度工作。设置高速缓冲存储器是高档微型计算机中最常用的一种方法,目前一般也将它们或它们的一部分制作在CPU芯片中。5.1.2存储器的性能指标1、存储容量用某一芯片有多少个存储单元,每个存储单元存储多少个二进制位来表示,是以bit为单位的。存储容量=存储单元数×数据线位数2、存取时间即存/取芯片中某一个单元的数据所需要的时间。3、其它指标可靠性、功耗、集成度、价格等6264芯片容量为8k×8bit138[例1]①512×4②1K×4③2K×1④8K×8说明94104111138[例2]欲组成16K×8的存储器,需存储器2114(1K×4)多少片?1K×416K×81K×8解:所需芯片数应为(8/4)×(16K/1K)=2×16=32(片)总结:单片容量n×m,要求存储容量为N×M时⑴先要构成一个芯片组,所需芯片数为M/m;⑵此时组成N×M容量存储器所需芯片组数为N/n;则所需芯片总数应为(M/m)×(N/n),即问题1、现有1024×1bit静态RAM芯片,欲组成64K×8bit存储容量的存储器,试求需要多少片RAM芯片?多少芯片组?多少根片内地址选择线?多少根芯片选择线?2、设有一个具有14位地址和8位字长的存储器,问:①该存储器能存储多少位的信息?②如果存储器由1K×1bit的静态RAM芯片组成,需多少芯片?答案:512片64组10根6根答案:128Kbit128片1010110001001010000011011011011000000000000000000001110110101111111111111K×81010110001001010000011011011011000000000000000000001110110101111111111111K×8……………………50H3AH00HD9H00011011两根地址线译码芯片选择线根数的计算:①当剩余的高位地址线根数不少于所需芯片数时,可采用线选法,即一个芯片用一根地址线选中即可。②当剩余的高位地址线根数少于所需芯片数时,只能采用译码法,即一个芯片用若干根高位地址线译码的一个输出来选中。如下图所示。2K×81010110001001010000010011011011000000000000000000000010110110101101111111111001000110100011010001101110110011111111111110000000000100000000011110110101101……………………000H~3FFH400H~7FFH静态随机读写存储器SRAM(6264)随机读写存储器(RAM)动态随机读写存储器DRAM(2116)只读存储器(ROM)EPROM(2764)EEPROM(2864)5.2半导体存储器目前,微型计算机的主存普遍采用半导体存储器。从存取方式看,半导体存储器分为以下两类:半导体存储器的组成DB半导体存储器由地址寄存器,译码电路、存储体、读/写控制电路、数据寄存器、控制逻辑等6个部分组成。AB地址寄存器MAR地址译码器存储体M读写驱动器数据寄存器MDR……控制逻辑启动片选读/写图5-2存储器的基本组成一、62648K×8bit的SRAM芯片12345678910111213141516171819202122232425262728NC地+5VA12A11A10A7A6A5A4A3A2A1A0A8A9D0D1D2D3D4D5D6D7CS1CS2WEOEA0~A12:地址线决定该芯片有8K个存储单元,在使用时常接总线的低位地址D0~D7:双向数据线决定芯片中每个存储单元存储了多少二进制位,使用时与总线的数据线相连。OE输出允许信号线只有当OE=0时,才允许芯片将某单元的数据送到数据线上。WE写允许信号线WE=0时,允许将数据写入芯片:WE=1时,允许芯片的数据读出。1、引脚62645.2.1随机读写存储器(RAM)CS1、CS2:片选信号线只有当CS1=0,CS2=1时,该芯片才被选中。使用时常利用选片信号将芯片放在所需要的地址范围上。WECS1CS2OED0~D70011写入1010读出011010三态(高阻)表5.16264的工作方式2、工作过程写入数据:在芯片的A12~A0上加上要写入单元的地址;在D7~D0上加上要写入的数据;使CS1和CS2同时有效;在WE上加上有效的低电平,OE无效高电平。A12~A0CS1CS2WED7~D0二、216464K×1bit的DRAM芯片12345678910111213141516NCDINDOUTWERASCAS地+5VA7A5A4A3A6A0A1A2A7~A0:地址引线(复用)CPU对DRAM芯片寻址的地址信号分成行地址和列地址,分时由芯片上的地址线先后送入芯片内部进行锁存、译码而选中要寻址的单元。DIN、DOUT:数据线RAS、CAS:分别是行地址锁存信号和列地址锁存信号。WE:写允许信号1、引脚21642、工作过程读出数据:RASCAS行地址列地址WE=1DOUT有效数据刷新将动态存储器所存放的每一bit信息读出并照原样写入原单元的过程称为动态存储器的刷新。刷新过程行地址循环一遍,可将整个芯片的所有地址单元刷新一遍。行地址RASCAS=1三、27648K×8bit的EPROM芯片12345678910111213141516171819202122232425262728VPP地A12A11A10A7A6A5A4A3A2A1A0A8A9D0D1D2D3D4D5D6D7CENCPGMOE1、引脚2764VCC(+5V)D0~D7:双向数据线芯片工作过程中,D0~D7为数据输出线;当对芯片编程时,由此8条线输入要编程的数据。CE:输入信号当CE有效时,能选中该芯片使其工作。PGM:编程脉冲输入端当对EPROM编程时,由此加入编程脉冲;读时PGM为1。5.2.2只读存储器(ROM)一、掩膜ROM二、可编程的PROM2、工作过程2764在使用时,仅用于将其存储的内容读出。有效地址地址CEOED0~D7有效数据3、EPROM的编程⑴擦除⑵编程标准编程快速编程通常用紫外线对其窗口进行照射即可将所存内容擦除,之后又可以用电的方法对其重新编程,写入新的内容。---早期的EPROM使用,太慢又不安全---现在的EPROM使用,快速且安全12345678910111213141516171819202122232425262728地A12A11A10A7A6A5A4A3A2A1A0A8A9D0D1D2D3D4D5D6D7CENCWEOE98C64VCC四、EEPROM芯片8K×8bit的NMC98C64AREADY/BUSY5.3存储器与CPU的连接5.3.1存储器与CPU连接应注意的问题存储器与CPU连接时,需根据微机系统存储容量和地址范围的要求,选择合适的存储器芯片,利用容量有限的存储器芯片组成所需的存储器系统。应考虑以下问题:▲CPU总线的负载能力▲CPU与存储器时序、速度之间的配合▲存储器的地址分配▲控制信号的连接片内译码的地址线直接与地址总线的低位地址线相连存储器芯片的数据线若与CPU的数据线相等,则对应相连即可。若少于,则应将2片、4片…存储器芯片的数据线分别与CPU的数据线相连芯片写允许和输出允许线分别与CPU的MEMW和MEMR引脚相连利用CPU的高位地址信号和控制信号译码形成片选信号存储器与CPU连接时主要是通过三组总线进行,所以按以下原则进行地址线、数据线和控制线的连接:1.位扩展加大字长[例]用8个16K×1bit芯片组成16K×8bit的存储器。……A0A13…D0D1D2D716K×1CSCSCSCSWEWEWEWE16K×1D0D1D2D7将多片存储器的地址、片选、读/写端相应并联,数据端单独引出。5.3.2存储器容量扩充2.字扩展扩大容量[例]用4个16K×4bit芯片组成64K×4bit的存储器。CSWECSWECSWECSWE16K×416K×416K×416K×4…A0A13………WED0D1D2D3译码器A14A150123D0~D3D0~D3D0~D3D0~D33.字位同时扩展一个由2114(1K×4bit)芯片组成的存储器(容量为4K×8bit)与CPU的连接方式CPUA9~A0A11~A10D3~D0A9~A0WECS2114D7~D4A9~A0WECS2114D3~D0A9~A0WECS2114D7~D4A9~A0WECS2114MREQWRD7~D0○○……○○○○译码器○5.3.3存储器接口的设计存储器片选控制方法:常用的片选控制方法有线选法、全译码法、部分译码法等几种。(1)线选法线选法除了将低位地址线直接接片内地址线外,余下的高位地址线则分别作为各个存储器芯片的片选控制信号,如图下所示:RAM2KBRAM2KBRAM2KBCSCSCSCSCSA11A12A13A14A15D0--D7A0--A10数据总线地址总线线选法片选控制的原理图(3)(4)(5)RAM2KBRAM2KB(1)(2)A15A14A13A12A11A10------------A0地址范围01111007800H01111117FFFH1011100B800H1011111BFFFH1101100C800H1101111CFFFH1110100E800H1110111EFFFH1111000F000H1111011F7FFH}}}}}存储器5地址范围存储器4地址范围存储器3地址范围存储器2地址范围存储器1地址范围存储器地址的形成线选法的优点是连接简单,选择芯片无需专门的译码电路。线选法的缺点是地址不连续,使可寻址的地址范围减少,即寻址能力的利用率太低,使大量地址