第一节半导体存储器的分类第二节读写存储器RAM第三节只读存储器ROM第四节存储器空间的分配和使用第五节存储器的新技术•微机拥有不同类型的存储部件•由上至下容量越来越大,但速度越来越慢寄存器堆高速缓存主存储器联机外存储器脱机外存储器快慢小大容量速度CPU内核图1半导体存储器件的分类•一、RAM的分类•1、双极型(Bipolar)RAM双极型RAM的集成度低,单片容量小,功耗大,成本高,因此,仅用于某些高性能微处理器系统中作为高速缓冲存储器,如CACHE•2、MOS型RAMMOS型RAM具有功耗低、集成度高、单片容量大的特点,但存取速度则较慢。MOS型RAM又可以分为静态RAM(StaticRAM)和动态RAM(DynamicRAM)两种•二、ROM的分类ROM器件的功能是只许读出,不许写入,一旦有了信息,就不能轻易改变,也不会在掉电时丢失,所以它只能用在不需要经常对信息进行修改和写入的地方。•根据其中信息的存储方法,ROM可以分为4种:–掩膜ROM–可编程ROM(ProgrammableROM)–可擦除、可编程ROM(ErasablePROM)–可电擦除的、可编程ROM(ElectricallyErasablePROM)•一、静态RAM(一)六管静态存储电路图2静态RAM存储单元电路Q7Q8(二)静态RAM器件的组成静态RAM器件可分成三个部分,分别是存储单元阵列、地址译码器和读/写控制与数据驱动/缓冲。一个典型的静态RAM的示意图如右图所示。右图是一个1K×1位的静态RAM器件的组成框图。该器件总共可以寻址1024个单元,每个单元只存储一位数据。若存储容量较小,可以将该RAM芯片的单元阵列直接排成所需要位数的形式,每一条行选择线(X选择线)代表一个字节,每一条列选择线(Y选择线)代表字节的一个位,故通常把行选择线称为字线,而列选择线称为位线。–(三)静态RAM的例子•1、Intel6116是CMOS静态RAM芯片,属双列直插式、24引脚封装。它的存储容量为2K×8位,其引脚及功能框图如下图所示。方框图引脚图•数据的读出或写入将由片选信号CS、写允许信号WE以及数据输出允许信号OE一起控制。•在写入时,地址线A0~A10送来的地址信号经译码后选中某个存储单元(共有8个存储位)。此时控制信号的状态为:CS=0,OE=1,WE=0,芯片即进行写入操作:左边的8个三态门打开,从D0~D7端输入的数据经三态门和输入数据控制电路,再写入到存储单元的8个存储位中。读出时,地址选中某个存储单元的方法和写入时一样。但是,控制信号的状态应为:CS=0,OE=0,WE=1,打开右边的8个三态门,被选中的单元其8位数据经I/O电路和三态门送到D0~D7输出。2、Intel2114是一个容量为1024×4位的静态RAM,Intel2114是一个容量为1024×4位的静态RAM其引脚和逻辑符号如下图所示。引脚图逻辑符号(四)静态RAM与CPU的连接进行静态RAM存储器模块与CPU的连接电路设计时,需要考虑下面几个问题:1、CPU总线的负载能力2、时序匹配问题3、存储器的地址分配和片选问题4、控制信号的连接–右图所示为2K字的读写存储器子系统。两片2128组成2K字数据存储器。在该系统中,存储芯片选用静态RAM2128(2K×8位)。该存储子系统接成最小组态,由两片2128构成2K字的数据存储器模块。8086可以通过程序从存储器中读取字节、字和双字数据。–注:8086有16根数据线可以同时传送16位数据(字操作,使用AD0~AD15),也可以只传送8位数据(字节操作,使用AD0~AD7或AD8~AD15)。仅A0为低电平时,CPU使用AD0~AD7,这是偶地址字节操作;仅为低电平时,CPU使用AD8~AD15,这是奇地址字节操作。若和A0同时为低电平时,CPU对AD0~AD15操作,即从偶地址读写一个字,是字操作;如果字地址为奇地址,则需要两次访问存储器。如下表所示BHEA0编码含义BHEA0操作总线使用情况000110从偶地址开始读/写一个字从奇地址开始读/写一个字节从偶地址开始读/写一个字节AD15---AD0AD15---AD8AD7---AD00110从奇地址开始读/写一个字AD15---AD8(低字节)AD7---AD0(高字节)•将输入的一组二进制编码变换为一个特定的控制信号,即:将输入的一组高位地址信号通过变换,产生一个有效的控制信号,用于选中某一个存储器芯片,从而确定该存储器芯片在内存中的地址范围。•用全部的高位地址信号作为译码信号,使得存储器芯片的每一个单元都占据一个唯一的内存地址。存储器芯片译码器低位地址高位地址全部地址片选信号•6264芯片的地址范围:F0000H~F1FFFH111100000……00~111100011……11A19A18A17A16A15A14A13&≥1#CS1A12~A0D7~D0高位地址线全部参加译码6264A12-A0D7-D0#OE#WE部分地址译码•用部分高位地址信号(而不是全部)作为译码信号,使得被选中得存储器芯片占有几组不同的地址范围。•下例使用高5位地址作为译码信号,从而使被选中芯片的每个单元都占有两个地址,即这两个地址都指向同一个单元。•同一物理存储器占用两组地址:F0000H~F1FFFHB0000H~B1FFFHA18不参与译码A19A17A16A15A14A13&≥1到6264CS1[应用举例]•选择使用74LS138译码器构成译码电路Y0#G1Y1#G2AY2#G2BY3#Y4#AY5#BY6#CY7#片选信号输出译码允许信号地址信号(接到不同的存储体上)74LS138逻辑图:74LS138的真值表:(注意:输出低电平有效)可以看出,当译码允许信号有效时,Yi是输入A、B、C的函数,即Y=f(A,B,C)11111111XXX其他值0111111111110010111111110100110111111011001110111110010011110111011100111110110101001111110100110011111110000100Y7Y6Y5Y4Y3Y2Y1Y0CBAG1G2AG2B一个静态RAM模块设计的例子。后一页图为模块的接口。模块的总容量为16K字节,选用的存储器件是8片Intel6116芯片,单片容量为2K×8位。假定CPU选8086,而且工作在最大组态,因而,存储器件阵列必须分为高字节库部分和低字节库部分。高字节库的寻址由BHE控制,低字节库的寻址则由A0控制。假设系统原来已经配备128K字节的RAM存储器,其物理地址从0000H开始,而所要设计的16K字节RAM模块作为对原有存储器的扩展,其物理地址与原有RAM存储器地址相连接。因此,16K字节模块的地址空间范围是:20000H~23FFFH。可见,该模块内的任一个单元地址的高6位,即A19~A14,应为001000。16K字节模块与CPU总线的接口另一个例子用Intel2114芯片组成2KRAM系统的例子,系统总线为8088CPU总线,即20根地址线,8根数据线及其他控制线。21141K×4位/片大小的芯片,故组成2K的RAM系统需要4片,两片为一组,每组大小为1K字节。规定扩展模块的物理地址要从4C000H开始,那么存储模块的物理地址范围则是4C000H~4C7ffH。连接图如下图所示。高密度低功耗内存储器的主要器件二、动态RAM1、单管动态基本存储电路由T1管和寄生电容Cs组成。写入时,使字选线上为高电平,Q1管导通,待写入的信息由位线D(数据线)存入Cs。读出时,同样使字选线为高电平,T1管导通,则存储在Cs上的信息通过T1管送到位线D上,再通过放大,即可得到存储信息。2、动态RAM的例子Intel2118芯片Intel2118芯片是采用HMOS工艺制作的16K×1位的DRAM芯片,使用单管动态基本存储电路,单一+5V电源供电,最大的工作/维护功耗为150/11mW,所有的输入、输出引脚都与TTL电平相容。Intel2118的结构框图如下图所示。•2118内部结构把16K×1位的存储体安排成128×128矩阵,采用双译码方式,行译码需要7根地址线,列译码也需要7根地址线,表面上16K的存储器实现寻址则需要14根地址线,但是2118对外仅有7条地址线可以使用,其巧妙在于2118内部使用选通线RAS和CAS来解决地址引脚复用问题。CAS列地址选通RAS行地址选通11621531441351261171089NcDinWERASA2A1A0GNDVccCASDoutA6A3A4A5A72164引脚图是64K×1位DRAM芯片,读/写周期为300ns,存取时间为150ns,仍采用16条引脚的双列直插式封装,芯片内部的65536个存储单元被分为四组。由于内部这种分组排列,且再生时四组的同一行同时刷新,于是在2ms的刷新周期里需要再生的行数仍为128,再生地址仍为7位(A6~A0)。再生期间,A7的状态对再生不产生任何影响。16位地址是分时锁存的。芯片内部结构如下图所示:•一、掩膜式ROM–掩模式ROM中信息是厂家根据用户给定的程序或数据对芯片图形掩模进行两次光刻而确定的。这类ROM可由二极管。双极性晶体管和MOS型晶体管构成,每个存储单元只用一个耦合元件,集成度高,MOS型ROM功耗小,但是速度较慢,微型计算机系统中用的ROM主要是这种类型。双极性ROM速度比MOS型快,但功耗大,只用在速度要求较高的系统中。•下图是一个简化了的4×4位MOS型ROM,它有A1和A0两条地址选择线,译码后有四种状态,可选中4个单元,每个单元又有4个输出。图15掩膜式ROM表示图图16掩模式ROM内容译码器A0A1D3D2D1D0•二、可编程ROM–为了克服上述掩模式MOSROM芯片不能修改内容的缺点,设计了一种可编程的只读存储器PROM(ProgrammableROM),用户在使用前可以根据自己的需要编制ROM中的程序。•熔丝式PROM的存储电路如右图所示,这种PROM采用可熔金属丝串联在三极管的发射极上,熔丝可以使用镍铬丝或多晶硅制成。图17熔丝式PROM存储单元•三、可编程、可擦除ROM–实现EPROM的技术式浮栅雪崩注入式技术,信息存储由电荷分布决定,MOS管的栅极被SiO2包围,称为浮置栅,控制栅连到字线。平时浮置栅上没有电荷,若控制栅上加正向电压使管子导通,则ROM存储信息为1。–EPROM的存储单元电路原理图如右图所示。(一)Intel2716芯片•Intel2716是16K(2K×8位)的EPROM,它在5V的单电源下正常工作,其存储时间为450ns图19Intel2716引脚图–右图为2716结构框图,图中有11条地址线,其中7条用于X译码,产生128条行选择线,4条用于Y译码,产生16条列选择线。因为2716有8位数据输出,故有8个Y译码器,地址选择线并联在一起,产生8位输出数据,组成128×128的存储矩阵。2716的工作方式引脚方式PD/PGMCSVppVcc输出状态读低低+5V+5V输出未选中无关高+5V+5V高阻功率下降高无关+5V+5V高阻编程由低到高脉冲高+25V+5V输入程序检验低低+25V+5V输出程序阻止低高+25V+5V高阻•(二)2764–Intel2764就是一片高集成度的EPROM芯片,它的容量为8K×8位,最大的读出时间范围是200~450ns,引脚数与2716相同,都是24引脚。2764与2716不同的地方除了容量以外,还有其8种的工作方式。引脚方式PGMCSOEA9VPPVCC输出状态读高低低无关+5V+5V输出输出禁止高低高无关+5V+5V高阻功率下降无关无关无关无关+5V+5V高阻程序阻止无关高无关无关+25V+5V高阻编程低低高无关+25V+5V输入Intel编程低低高无关+25V+5V输入程序检验高低低无关+25V+5V输出Intel标识符高低低高+5V+5V编码2764的工作方式27128的单片容量为16K×8位,存取时间为250ns,使用单一