第五章 存储器教材_第1页
第五章 存储器教材_第2页
第五章 存储器教材_第3页
第五章 存储器教材_第4页
第五章 存储器教材_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章存储器

5.1存储器的分类

5.2随机存取存储器RAM

5.3只读存储器ROM

5.4Cache和SBSRAM5.5内存条和EDODRAM、SDRAM、RDRAM

5.6存储器与8086/8088CPU之间的连接5.7存储器与80386/80486和PentiumCPU之间的连接

5.8存储器容量与地址编号之间的关系5.1存储器的分类5.1.1几种不同的分类方法

1.按层次结构划分为了缓解对存储器3个要求之间的矛盾,当代微机广泛采用CPU内部寄存器-高速缓冲存储器Cache-主存储器(内存条)-外存(辅助存储器)4级结构,如图5-1所示。Cache容量小,一般为几百KB~几MB,集成在CPU内。主存储器(内存条)容量较大,当前一般为16~512MB,用SDRAM、DDRSDRAM、RDRAM等组成。外存容量大,如40GB硬盘,用磁介质做成。Cache和主存又统称为内存。图5-1存储器的层次结构

2.按存储介质划分按存储介质,存储器可划分为半导体存储器、磁介质存储器等。磁介质存储器又可分为磁表面存储器(包括软盘、硬盘、磁盘、磁鼓)、磁芯存储器等。

3.按功能划分

内存可分为随机存取存储器RAM(RandomAccessMemory)和只读存储器ROM(ReadOnlyMemory)两类。每一类又分为若干种,如图5-2所示。图5-2内部存储器的分类

外存可分为顺序存取存储器SAM(SequentialAccessMemory)和直接存取存储器DAM(DirectAccessMemory)两类。SAM的操作是将信息以文件的形式按先后次序存放。读/写不同地址的存储单元内容,所需的时间不同。磁带的读取就属于SAM方式,容量虽大,价格也低,但速度太慢。DAM的操作特征是读/写数据代码时,先确定存储器中的一个小区,如磁盘上的一个磁道,然后在这个磁道上顺序搜索,直到目标地址。存取不同地址单元的内容,所用的时间也不一样。磁盘的读取就属于DAM方式。5.1.2RAM的操作特点随机存取存储器RAM又叫读写存储器,其操作特点为:

(1)CPU对RAM中的每一单元能读出又能写入。

(2)读/写过程先寻找存储单元的地址再读/写内容。

(3)读/写时间与存储单元的物理地址无关。

(4)失电后信息丢失。现已开发出带电池芯片的RAM,称为非易失性RAM(NVRAM),做到失电后信息不丢失。

(5)作Cache和主存用。

制造RAM的半导体器件按工艺不同有双极型和MOS型之分。双极型元件因集电极电流过大导致功耗大、与高集成度相矛盾而被弃用。现在普遍使用的是MOS器件,其优点是栅流为零且漏极电流小,便于高度集成化。MOS型RAM又分为静态RAM(StaticRAM,简称SRAM)和动态RAM(DynamicRAM)两种,前者一般作Cache用,后者一般作主存用。组成SRAM的基本存储电路为六管MOS双稳态触发器电路,集成度低,功耗较大,读出是非破坏性的。组成DRAM的基本存储电路为一个MOS管和一个电容,集成度高,功耗小,读出是破坏性的,因为读出时电容上的电荷将流至信号线。即使不读出,电容上的电荷也会在10-3~10-6s后自动泄漏,从而引起二进制信息的变化。为此,DRAM必须刷新。所谓“刷新”,是指给那些有电荷的电容定期补充电荷,维持电容内存放的二进制数不变(通常设电容上有电荷代表0,无电荷代表1)。刷新需要刷新电路,对刷新电路的基本要求是:读出信息时要刷新;不读出信息为防泄漏也需要刷新;对有电荷的电容才能补充电荷;对无电荷的电容不能补充电荷。典型值为10-3s刷新一遍。5.1.3ROM的操作特点只读存储器ROM的操作特点如下:

(1)ROM中存放的信息在制造时或使用前就已经写入,使用时不能改变。

(2)使用时只能读出不能写入,读出时先寻找存储单元地址再读内容。

(3)失电时存储信息不会丢失,因此用于存放固定不变的程序,如微机的监控管理程序、汇编程序、各种常数函数表等。ROM通常使用MOS工艺集成。按操作功能不同又可分为掩膜ROM(MaskProgramROM)、可编程只读存储器(ProgramableROM)、光可擦除可编程存储器EPROM(ErasableProgramableROM)、电可擦除可编程存储器E2PROM(ElectricallyErasablePROM)、闪速存储器FlashMemory。掩膜ROM由生产厂家按照事先设计好的线路生产,制成后只能读不能写,适于批量生产,成本低,用途固定,不适于研究开发。PROM由生产厂家生产但不写入任何信息,由用户根据自己的设计写入,每个PROM芯片只能写一次,写入后不能更改。EPROM是一种用户能够根据自己的需要写入,又能把写入的内容擦除进行改写,且能多次改写的只读存储器,擦除的方法是用紫外线光照5~15分钟。由于擦除需一定条件,因此写好后作ROM使用。E2PROM使用电擦除,只要在不同的引脚加不同的电压就可以实现全片或字节的擦除与重写,且能在线进行,因此它可以作非易失性RAM使用,比EPROM方便得多,但其价高、集成度不如EPROM。FlashMemory是一种可取代E2PROM的快速电擦除非易失性ROM,且可作非易失性RAM使用。它的结构和E2PROM相同,但擦除和写入速度极快,整体擦除约需1s,而E2PROM需15~20min。编程写入时,以FlashMemory28F256(32KB×8)为例,整个芯片编程只需0.5s,且擦除次数可达10万次。5.2随机存取存储器RAM5.2.1SRAM1.六管静态存储电路

SRAM的基本电路采用六管静态存储电路,如图5-3所示。每个电路用双稳态触发器的两个状态存储一位二进制数。其中反相器T1、T2组成相互交叉连接的双稳态触发器。若T1截止T2导通,则有A=1且B=0;若T1导通T2截止,则有A=0且B=1。T3、T4分别是T1、T2的负载,T5、T6、T7、T8是控制管。图5-3六管静态存储电路

基本单元有两条选择线。当行选X=1且列选Y=1时,T5、T6、T7、T8导通,则I/O=D=A,I/O=D=B。由A和B反相得知,I/O和I/O也是反相的,这时就可以进行读/写。如果用反相器将I/O和端相连,则存储电路对外有3条引线:数据线I/O、行选择线X和列选择线Y。当写入时,写入信号自I/O端进入,例如要写入“1”,则I/O为“1”,I/O为“0”,当X=1且Y=1时,I/O和A相连使A=1,I/O和B相连使B=0,无论双稳态触发器原来为什么状态,都会强迫T1截止、T2导通。当“1”已经写入双稳态触发器后,如果去掉选择线,例如使X=0,则T5

、T6

截止而将I/O、与A、B断开;

或者使Y=0,则T7

、T8截止而将I/O、I/O与A、B断开。触发器虽然与外界数据线断开了,但因双稳态触发器状态不变,“1”信号被保存。当有新的信号写入时,才会随新的信号变化。要把信息读出,同时要使X=Y=1,则要T7、T8全部导通,A、B分别与I/O、I/O相连,存储电路的状态信号送至I/O和I/O线上。读出时可在I/O和I/O端接一个差动放大器,由电流流动的实际方向判定输出信息是“0”还是“1”;也可以用I/O上有无电流来判断是“0”还是“1”。双稳态触发器的存在使读出是非破坏性的。2.SRAM的矩阵结构

1)存储体和地址译码器现以存储容量为1K×1位SRAM为例,结构图如图5-4所示。它有1024个基本电路,排列成32×32的矩阵。行线32条,编号为X0~X31,由行地址线5条(编号A0~A4)经地址译码器选择;列线32条,编号为Y0~Y31,由列地址线5条(编号A5~A9)经地址译码器选择。当A0~A9上出现一组二进制数时,将有一个存储单元被选中。图5-41K×1位静态RAM结构图X线5/32地址译码器输出32根行选择线,每一根行选择线挂有32个基本电路的行选择端。当输入有A4~A0的一组5位二进制数时,译码器有1根输出线为1,其余为0。输出的这根行线用来给该行的32个基本电路提供X=1的行选信号。与此同时,Y线5/32地址译码器也有类似的动作。32根列选择线Y0~Y31中的每一根挂有32个基本电路的列选择端。当输入有A9~A5的一组5位二进制数时,列线译码器有1根输出线为1,其余为0。输出的这根列线给该列的32个基本电路提供Y=1的列选信号。只有行选X=1和列选Y=1的那个基本电路被选中,该电路双稳态触发器的输出端才和I/O接通,其余所有基本电路的输出都与I/O断开。例如,若存储器输入地址信号为0000110000B,则因A4~A0=10000B,故有X0=X1=…=X30=0,X31=1;因A9~A5=00001B,故有Y0=Y2=Y3=…=Y31=0,Y1=1。位于X31和Y1交叉处的基本电路被选中,能够进行读/写操作。图5-51K×1SRAM

如果要组成8位字长的存储体,例如2K×8位,则也使用矩阵排法。它的16384个基本电路排成128×128的矩阵,11条地址线分成行选7条、列选4条。行线地址译码器输出128条,选择X0~X127中的1行;列线地址译码器输出16线,选择Y0~Y15中的1列。列按8位分组,每一行的128个基本电路被分成16组,每组8个基本电路。当有1列被选中有效时,该列128×8个基本电路的列端Y均为1。当11位地址信息出现在译码器输出端时,行选择线和列选择线同时为1的8个基本电路被选中。每个基本电路有1条数据线,共有8条数据线能和外界交换数据。图5-6画出了2 K字×8位/字的存储器电路图。

采用矩阵排法的译码器是一种行/列双译码结构,其优点是可以节省译码和驱动电路,32行×32列的地址译码输出线仅32+32=64根。存储体还有一种排法为直接排法。采用直接排法必然采用单译码电路,如图5-7所示。当只使用1个译码器时,地址译码输出线将有1024根,每根输出线代表1只驱动管,可见存储体普遍采用矩阵结构。但是在电路中画出存储器时,常画成较直观的直接排列。图5-62K×8SRAM图5-71K×1SRAM直接排法图5-8译出X0的或非门电路2)I/O缓冲和控制门电路图5-9I/O缓冲和控制门3.SRAM实例

SRAM的种类很多,主要有Intel21、61、64等系列,区别在于组织结构和密度。按数据线划分,有1位、4位和8位之分。64K位SRAM就有64K×1、64×4、64K×8三种标准结构。系统设计中用得较多的是8位芯片,如2KB(2128,6116)、4KB(6132,6232)、8KB(6164,6264,3264,7164)、32KB(61256,71256,5C256)、64KB(64C512,74512)等,它们的引脚如图5-10所示。图5-102KB、4KB、8KBSRAM引脚图Intel2114是一片1K×4位的SRAM芯片,它的引脚和内部结构如图5-11所示。存储体上共有4096个6管双稳态触发器,排成64×64阵。10根地址线中的6根A3~A8用于行选,产生64条行选线;另外4根A0~A2、A9用于列选,产生16条列选线。每根列选线控制一组4位,一起进行读/写操作。控制线有2条:CS和WE。WE=0时选中本芯片。=0时写有效;WE=1时读有效。数据线有4根,一组4位的每一位有1根。所有组的I/O0、I/O1、I/O2、I/O3分别连在一起,共连成4路I/O电路并接入4路I/O三态门,引出4条I/O线(D0~D3)与外部数据总线相连。图5-11Intel2114引脚和结构Intel6116是2 KBCMOSSRAM存储芯片,24引脚双列直插封装,其内部结构和逻辑符号如图5-12所示。内部存储体为128×128矩阵结构(因2 KB=128×128位)。地址线有11根,即A0~A10,其中行地址线7根,列地址线4根,每根列地址线控制一组8位一起进行读/写操作。各组的8位形成8路I/O电路并引出8根数据线I/O0~I/O7。I/O缓冲和控制电路受CE(芯片允许,低电平有效)、WE(低电平写有效,高电平读有效)、OE(输出允许,低电平有效)的控制。每次读/写都能完成8位二进制信息的操作。图5-12Intel6116芯片结构及逻辑符号5.2.2DRAM1.单管动态存储电路单管动态存储电路如图5-13所示,由一个电容C和一个管子T1组成,有1条字选线、1条数据线,数据线上存在着分布电容CD。图5-13单管动态存储电路

写入过程为:字选线为1,T1导通,写入信号从数据线经T1存入C;读出过程为:字选线为1,T1导通,电荷C上的电荷经T1流入数据线,只要在数据线上设置读出放大器就能可靠地获得存储信息。集成时要把电容C做得比分布电容CD小,这样可以节省面积。2.DRAM的刷新结构现以Intel2164A为例说明DRAM的内部结构。该芯片存储容量64K×1位,内有65 536个单管动态基本电路,为便于刷新,划分成4个128×128位的存储矩阵。其内部结构图如图5-14所示。芯片采用16脚双列直插封装,和其它许多集成电路芯片比,引脚较少。图5-15是引脚、逻辑符号和地址分时输入示意图。图5-14Inetl2164A内部结构图5-15Inetl2164A引脚、逻辑符号和地址分时输入16条地址线被分成行地址和列地址两部分,每一部分8条。芯片的地址引线只有8条,分别设有行地址和列地址锁存器,通过多路开关的转换,由行地址选通信号RAS(RowAddressStrobe)把8条地址线上先出现的地址送至行地址锁存器;再由列地址选通信号CAS(ColumnAddressStrobe)把8条地址线上后出现的地址送至列地址锁存器。显然,为了从8条地址线上获得16位地址信息,行列地址选通和行列地址信息要同步。若RAS=0、CAS=1,则A0~A7上地址信息经行译码锁存为A0~A7信号;若RAS=1、CAS=0,则A0~A7上地址信息经列译码锁存为A8~A15信号;RAS和CAS不能同时为0。

芯片内部的4个128×128位矩阵被两个列译码器分开,每边各2个128×128位矩阵。行、列地址的最高位A7和A15用于选择4个矩阵中的1个。余下的7位地址A0~A6经译码后产生128个行选择信号,用于选择128×128位矩阵中的1行。由于每个128×128位矩阵都有1个自己的读出放大器,因此被选中的1行中,128个基本电路中存放的信息都会被选送到128个读出放大器中,在那里进行鉴别、锁存或刷新。锁存在行地址锁存器中的7位行地址会同时加到4个矩阵上,即每个矩阵都有1行被选中,每次总共可以选中4行。刷新也使用A0~A6,每次有4个128×128位矩阵的1行被选中,可选中4行。

锁存在列地址锁存器中的7位列地址A14~A8用于在128×128位矩阵中选中1列。和行地址相交,将有4个单元选中。经过1/4I/O门电路选中1个单元,这个单元就用于读/写。1/4I/O门电路同样受A15和A7的控制。数据输入线DIN和数据输出线DOUT分开设置,有锁存功能,由WE信号端控制。WE=0时写有效,数据从DIN输入;WE=1时读有效,数据从DOUT输出。WE是该芯片惟一的控制端,没有片选信号端。表5-1Intel2164A的引脚3.刷新过程半导体材料受温度的影响很大。当温度升高时,电容上的漏电更为严重,比如温度每升高10℃,漏电流将增加1倍。电容上的电荷能够维持的时间大约为2ms,因此必须在2ms内把所有基本电路刷新一遍,给那些原来有电荷的电容及时充电。刷新过程有两个明显的特征:其一是刷新总线周期与写总线周期相同,只是存储器不再和数据总线相连;其二是刷新按行进行,1个刷新总线周期内刷新1行,全部刷完128×128位矩阵结构的存储体需128次。

Intel2164ADRAM内部采用了4个128×128位矩阵结构,在使用行地址A0~A6时,4个128×128位矩阵中的某1行同时被选中,因此2164A也只需要刷新128次就可刷完,同采用1个128×128位矩阵的存储器刷新次数完全相同。1K×1位DRAM芯片内部存储体采用32×32位矩阵结构,使用5条地址线进行写操作与刷新操作。5位行地址出现的时候,可以选中1行。全部刷完需32次。存储器通常由多片存储芯片连接组成,例如使用1K×1位DRAM芯片组成4K×8位存储器,需芯片32片。为了实现8位二进制数的存取,通常将芯片分成4组,每组8片。存储器12条地址线中的A11和A10用于选择4组中的1组,片内地址A9~A0和R/W控制信号完成对8个基本电路的读/写操作。刷新命令将4组全部选中,片内5位行地址信号将选中32×32位矩阵中的1行。因此整个存储器的刷新次数与单个芯片的刷新次数相同,在2ms内刷新32次。

DRAM的刷新方式有定时集中刷新、分散刷新两种。

定期实施刷新的方式称为定时集中刷新。这种方式的特点是把一个刷新间隔(如2ms)分做两段使用,第1段时间用于读/写操作,第2段时间(如8~20μs)专门用于对所有基本存储电路刷新。对刷新间隔的要求是把信息保存在允许的时间范围内不能发生变化。由于CPU执行读/写周期时不刷新,执行刷新周期时不读/写,因此这种刷新方式存在的问题是CPU等待刷新而不能读/写的时间过长,直接影响了系统工作速度。例如64×64位矩阵,刷新间隔为2ms,读/写周期为0.4μs,共有5000个周期。其中刷新周期64个,需时25.6μs;读/写周期4936个,需时1975.4μs。CPU将在25.6μs内不能进行读/写操作,浪费了CPU的时间。集中刷新如图5-16(a)所示。

分散刷新如图5-16(b)所示。它避免了集中一段时间专门刷新操作,把刷新操作分散在读/写周期后进行。执行1次读/写周期刷新1次。如果1个读/写周期为0.4μs,1个刷新周期也为0.4μs,那么刷新间隔仅0.8μs,对于64×64位矩阵,只需51.2μs就可以刷64行,即将整个存储体刷新一遍。这种方式的缺点是在2 ms内频繁地对存储器进行了多次刷新。图5-16(c)是另一种分散刷新方式,它把刷新周期安排在存储器读/写周期内,安排在访问存储器总线空闲的时候进行。当CPU访问存储单元和刷新存储单元发生冲突的时候,刷新理应有较高的优先级,否则不及时刷新,访问将发生错误。刷新控制器用于解决它们之间的竞争,解决的方法有3种,如图5-17所示。图5-16集中刷新和分散刷新

图5-17刷新方法

(a)非同步刷新方法;(b)同步刷新方法;(c)半同步刷新方法(1)非同步刷新方法:刷新操作和访问存储器操作是相互独立的两件事,彼此无关。刷新控制器用于在两个要求同时出现时,优先安排刷新。为此,读/写周期需要的时间将延长。

(2)同步刷新方法:在每一个指令周期中,利用CPU不访问存储器的时间间隔内刷新,从而去掉了专门用于刷新的时间,有利于提高存取速度,线路也较为简单,使用较多。

(3)半同步刷新方法:利用时钟脉冲上升沿同步处理CPU的读/写操作,在下降沿同步定时刷新。5.3只读存储器ROM5.3.1掩膜ROM

掩膜ROM由生产厂家按照预定的设计内容制造,可以使用二极管、双极型晶体管或MOS管构成,工作原理相同。图5-18给出了一个行列复合译码的16×1位ROM结构,对于一组A0~A3的地址输入,最终只有1根行线、1根列线有效,它们相交处如果制造有MOS管,则从数据线输出“0”,否则输出“1”。行地址译码器输出用作字选线,列地址译码器输出用作控制三态门。片选信号用作三态门控制端。图中按16个1位字0101001111101000设计制造。使用8个16×1位阵列,能形成16×8位ROM。地址线并联连接,依旧为4根;数据线单独引出,形成8根D0~D7;片选连在一起,形成1条端。图5-1816×1位ROM5.3.2EPROM

上世纪70年代初期开发出的EPROM存储芯片,集成度高、价格低廉、可由用户改写,适于研究工作中使用。它的一种基本存储电路如图5-19所示。从结构图看,和P沟通增强型MOS管相比,在源极和漏极之间是一个由多晶硅生成的浮空栅极。二进制数的存放规则是浮空栅极上无电荷代表“1”(或“0”);浮空栅极上有电荷代表“0”(或“1”)。生产厂家制造时,浮空多晶硅栅上全无电荷,预示着全为1(或0)。用户使用前要先写入。写入方法是:写0(或1)时在漏源两极间加编程电压25 V和宽度50 ms的编程脉冲,硅栅上积累电荷变成0(或1);写1(或0)时不加编程电压,保持原出厂状态不变。图5-19EPROM基本存储电路EPROM存储芯片上方有1个石英玻璃窗口用于受光照擦除。当紫外线通过窗口照到浮空多晶硅栅时,被绝缘的硅栅电荷将变成光电流泄漏掉,又回到原始状态可以重新被写。擦除过程和紫外线强度有密切关系,如果是日常阳光照射或荧光灯照射,浮空栅上的电荷泄漏约需3年。在强烈阳光的直射下,可持续将近一个星期。倘若使用2537A紫外线灯(功率12 000 μW/cm2),接近窗口直射Intel2716这一类EPROM,约20分钟左右就可以擦除完。为防止泄漏丢失数据,不擦除时应当在照射窗口处贴上不透光的保护膜。

Intel2716是一个2KB的EPROM芯片,使用NMOS工艺制成,24脚双列直插封装,规则电源+5V,编程电源+25V。其内部结构、引脚如图5-20所示。图5-20Intel2716内部结构与引脚24条引脚分配如下:地址线11条,A0~A10,用于寻址片内2KB存储单元。7条用于行译码,选择128行中的1行;4条用于列译码,选择16组中的1组,每组有8位同时被读出。数据线8条,O0~O7,读出时用作输出线,编程时用作输入线。逻辑符号中画成单向总线,信息流向向外。控制线5条,分别为输出允许OE、芯片允许CE、工作电压VCC(+5V)、编程电源VPP、地GND。表5-22716的工作方式图5-21Intel27系列EPROM引脚排列5.3.3E2PROM

组成E2PROM的基本存储电路和EPROM的基本存储电路类似,不同的是E2PROM的漏极上增加了1只隧道二极管,在外电场作用下,能够使浮空栅上的电荷流向漏极,实现擦除;反之也可以将电荷充进浮空栅。由于浮空多晶硅栅累积和泄放电荷的方法不同,因此存储体操作上的显著差别是E2PROM可以以字节为单位或以整片为单位在线改写。

常见的E2PROM芯片有Intel公司的2816、2816A、2817、2817A和2864A等,其部分性能如表5-3所示。这些芯片的一些共同应用特征如下:

(1)工作电压和擦除电压均为+5V。

(2)编程写入时自动先擦除,不需要单独设置擦除操作,因而硬件电路无特殊要求。

(3)引脚信号与RAM、EPROM兼容,能方便地在不同种类存储器之间传送数据。(4)E2PROM既可以像EPROM那样作程序存储器使用,也可以像RAM那样作数据存储器使用。作为程序存储器,允许按程序存储器连接方法编址;作为数据存储器,允许按数据存储器连接方式或I/O端口编址;

(5)编程写入(含擦除)时间为ms级,读出时间仅为ns级。在实际操作中要保证有足够长的写入时间。表5-3常用E2PROM的部分性能图5-222816A/2817A的引脚表5-42816A/2817A引脚功能表5-52816A的工作方式表5-62817A的工作方式2816/2816A在引脚上与2716/6116兼容,引脚数为24脚。2816在单一+5 V电源下边擦除边写入,由于写入时间较长,既可以在6116RAM插座上用数据传送方式写入,又可以在2716EPROM的编程器插座上用写入2716的方式写入。写完后可直接取代2716EPROM。Intel2864A是8K×8位E2PROM芯片,读出时间为200~350ns,字节编程写入时间为10~20ns,维持电流为60mA。其引脚图和操作方式分别如图5-23和表5-7所示。Intel2864A使用28脚双列直插封装,有地址线13条、数据线8条、控制线及电源线5条、2条空脚。图5-23Intel2864A的引脚表5-72864A的操作方式13条地址线A0~A12用于选择8K字中一个存储单元。8条数据线I/O0~I/O7在CPU正常操作中用作读出字节数据;在编程写入时用作传送要写入存储单元的数据。3条控制线的编码决定了2864A的4种操作方式。当片选信号CE为高电平时,无论OE和WE是什么电平,芯片都将与外电路断开,I/O0~I/O7呈高阻状态,芯片处于“维持不变”的状态。

当CE和OE都为低电平有效时,若WE高电平,则CPU处于“读出”操作或“数据查询”操作,8位二进制代码从I/O0~I/O7送至CPU的数据总线,让CPU读出数据。“读出”是指CPU在读操作指令指挥下,从存储单元之中取出数据并送往CPU内部寄存器的全过程。“数据查询”也是一种读方式,和“读出”不同的是:它用软件程序检查写入操作过程中的“页存储”周期是否已经完成。两种不同的“读”方式用不同指令区分开。当CE和WE都为低电平有效时,如果OE为高电平,则芯片处于写入方式。写入方式分为字节写入和页面写入两种。“字节写入”时以字节为单位编程写入,“页面写入”时以页为单位进行。5.3.4FlashMemoryFlash存储器是Intel公司上世纪80年代末期推出的一种新型存储器,整体电擦除时间约为1 s,每字节编程写入速度为10~100μs,比EPROM快一个数量级,比E2PROM快3个数量级(E2PROM整体擦除约需15~20分钟),擦除次数可达10万次,形成Flash存储器的CMOS器件功耗低,最大工作电流为30 mA。其在工作中具有极强的抗干扰能力,甚至允许电源发生10%的波动。Flash存储器的基本存储电路由一只CMOS管构成,如图5-24所示。依旧使用浮空栅极FG上有无电荷代表0和1。栅极为字线,漏极为位线,源极为源线。擦除原理为:在字线栅极上加高电平,源、漏之间形成导电沟道,浮空栅极上有感应电荷,这种稳定状态代表0或1;如果字线栅极上无高电平,源、漏间没有导电沟道,浮空栅极上无感应电荷,这种稳定状态代表1或0。状态转换过程十分简单,如果有导电沟道存在,则浮空栅极上有感应电荷,这时只需撤走源、漏之间电压,而在源栅之间加一正向电压,导电沟道即消失,浮空栅上的感应电荷也消失。据测定,正常使用情况下,浮空栅上编程的电荷可以保持100年而不丢失。

表5-8列出了Flash存储器与DRAM之间的对比,除读取速度略低于DRAM外,Flash其余各项指标均优于DRAM。常用的Flash存储器有28F256 (32K×8)、28F512 (64K×8)、28F010 (128K×8)、28F020 (256K×8)、28F004 (4M位)、28F008 (8M位)、28F016 (16M位)、28F032 (32M位)等。使用时带电插拔、即插即用,十分方便。运行环境仅为Windows98/ME/2000/XP以及Linux2.4操作系统,符合USB1.1标准。图5-24Flash基本存储电路表5-8Flash与DRAM比较5.4Cache和SBSRAM80486已把Cache集成在CPU内。Pentium机开始使用2级Cache。第1级由SRAM集成在CPU内,能和CPU内部寄存器有几乎相同的存取速度;第2级在CPU外,通常使用SBSRAM组成。SBSRAM是同步突发静态随机存储器的简称。它的基本存储电路、存储体矩阵结构、地址译码电路都和普通SRAM相同。此外,它增加了同步突发控制逻辑、片内地址计数器、总线控制逻辑等功能电路。其内部结构如图5-25所示。图5-25SBSRAM内部结构SBSRAM由5个功能部件组成,它们是:

(1)存储体、地址译码和数据I/O部件,其中存储体用于存放代码,地址译码电路用于选择存储单元,数据I/O用于传送并缓冲出入存储单元的数据;

(2)片内地址寄存器用于接收并暂存CPU地址总线上的地址信号,送往地址译码器;

(3)2位突发地址计数器,用于统计突发地址的次数,可记录4次;

(4)同步突发控制逻辑,在输入时钟脉冲的统一指挥下,产生自动定时同步信号,选择突发模式(是线性突发还是交替突发),启动突发周期,在芯片内产生连续的突发地址;(5)总线控制逻辑,完成与CPU三总线的连接控制,选择写入方式(按字节写入还是总线全宽写入),从地址总线上输入同步地址。

SBSRAM之所以能够高速存取,是因为它采用了时钟脉冲统一指挥下的、能记录4次突发的2级流水线结构。普通RAM地址信号出现在地址总线上、寻址存储单元、对存储单元实施读/写操作是一个串行顺序依次执行的过程。而SBSRAM的各功能部件能并行工作,从而大大加快了数据的存取。

SBSRAM通常采用100脚的TQFP封装,使用3个片选信号,便于扩展。以存储容量为256K×18位的存储芯片为例,地址线有18条(A0~A17),数据线也有18条(I/O0~I/O17)。5.5内存条和EDODRAM、SDRAM、RDRAM图5-26普通DRAM读操作周期时序图图5-27EDODRAM读操作周期时序图SDRAM的内部结构有3个明显的特征:

(1)普通DRAM的读/写操作依次异步进行:CPU输出地址信息和控制信息,行地址译码锁存,列地址译码锁存,选中存储单元,读/写数据缓冲并进入数据总线,完成读/写。而SDRAM的读/写操作虽然也离不开上述步骤,但它的各项动作均受系统时钟的控制,在同步时钟脉冲的指挥下实现并行操作。

(2)每一种SDRAM芯片内部有若干组完全相同的存储体,如日立公司产的SDRAM就含有4组×2MB/组的存储体,4组存储体能够同时或者独立操作,各组之间既可串行也可交替操作。

(3)该芯片支持自动刷新和自我刷新两种刷新方式,刷新时间为64ms,共需4096个刷新周期。其内部结构如图5-28所示。图5-284组SDRAMRDRAM是突发存取的高速动态随机存储器RambusDRAM的简称,它是继SDRAM之后存取速度更高的新型存储器,由美国Rambus公司开发,其内部结构和对外接口都和DRAM完全不同。目前RDRAM的芯片容量一般为64MB/72MB或128MB/144MB。其存取速度高的原因是在结构上采取了独立的控制总线和数据总线对行/列进行单独控制,使总线利用率达95%以上。RDRAM数据传输率可达1.6GBaud(波特),带宽极大。而它对工作环境的要求较低,整个芯片甚至于可以在2.5V的低压环境下工作。

当代微机的内存配置已从早期的640KB发展到256MB/512MB。大容量的单片存储芯片已广为使用。为了安装维护方便,系统主板上相应都配置有专用于插入内存的插座,内存也只需做成条形盲插在插座上就能使用。一般的奔腾机配有72线或168线插座,前者可用于插入EDODRAM内存条,后者可用于插入SDAM或EDODRAM内存条,并且带有USB1.1接口,用于带电插取FlashMemory。5.6存储器与8086/8088CPU之间的连接

在微型计算机中,存储器是由1片或几片存储器芯片组成的。生产厂家提供给用户的是不同容量的RAM或ROM芯片,要正确地把它们和CPU连接,才能构成一个微机整体。存储器和CPU的连接表现为三组总线的正确连接,现分别叙述如下:

(1)地址线的连接。CPU的地址线通常多于存储器芯片的地址线数,多余的CPU地址线要经过地址译码器产生芯片选择信号,把组成1个存储器的多个芯片区分开,同时也把RAM和ROM区分开,让它们各自有自己的地址空间。为此,需要将芯片事先分组,每组所有芯片的片选信号输入端CS(或CE)要连成1根线,接选片地址译码器的1条输出。这样CPU在进行存储器操作时,通过地址信号可以把1组的所有芯片同时选中。

片选地址译码器的译码方法有3种,分别是全译码法、部分译码法和线选法。不同的译码法使得存储器芯片有不同的地址空间。使用全译码法,每个存储单元的地址是惟一的;使用部分译码法和线选法,将给存储芯片带来地址重叠区。

(2)数据线的连接。当芯片的数据线和CPU的数据线相同时,所有芯片的数据线全部一对一地挂在CPU的数据总线上;如果芯片的数据线少于CPU的数据线,则每组的芯片数据线要分别接CPU数据线的高位或低位。(3)控制线的连接。CPU对存储器的存取操作,一般要使用以下几根控制线:M/(对8086)、、、READY等,它们按照控制的实际要求接到存储器的相应位置。存储器的控制输入线,除片选信号CS(或CE)接片选地址译码器输出外,其余常和CPU的控制线直接相连或接地。5.6.1存储器与8088CPU之间的连接

1.片选地址译码方法

【例5-1】使用16K×8位ROM芯片组成64K×8位存储器,CPU使用8088。解

(1)组成存储器需要芯片数=存储器容量/芯片容量=64K×8/16K×8=4片。

(2)芯片分组数=存储器存储单元数/芯片存储单元数=64K/16K=4组,共有4条接片选地址译码器输出。

(3)每组芯片数=存储器每单元位数/芯片每单元位数=8/8=1片/组,每组1个芯片的数据线接CPU的数据线。(4)三组总线接法。数据线、控制线对接。对地址总线,由于CPU的地址线多于存储芯片和存储器的地址线,因此多余的地址线接片选地址译码器,有三种不同的处理方法。①全译码法。CPU的20根地址线中A0~A13接芯片,A14~A19接片选地址译码器输入,如表5-9所示。片选地址译码器为6∶64的译码器,从译码器输出的64根线中取出4根接4个CS,有很多种选取方法,需要看内存空间的地址分配。如果要求64KB存储器位于1MB空间的地址范围为10000H~1FFFFH,则地址分配如表5-10所示。表5-9三组总线连接(全译码法)表5-10存储器地址空间分配

对芯片1,因芯片选择A19A18…A14=000100B=4,所以该片CS接Y4。同理,芯片2、3、4的分别接。存储器与CPU的连接如图5-29所示。这种地址译码方法称为全译码法,特征是CPU所有地址线A0~A19都参加译码,其中A0~A13用于芯片片内存储单元的行列地址译码,A14~A19用于片外地址译码。显然用于片外地址译码的地址线数等于CPU的地址线数减去芯片的地址线数。图5-2964KB存储器与8088连接②部分译码法。CPU的一部分地址线参加译码,由于有4条CS需接译码器输出,因此输入端只需2根地址线,可以任意选取,选用的地址线不同,芯片所占存储空间也不同。此外,还将出现地址重叠区。例如选择A14

、A15两条地址线,CPU的20条地址线分配和2/4片选译码器如表5-11和图5-30所示。表5-11CPU20条地址线接法(部分译码法)图5-30部分译码法和2/4译码逻辑关系

各芯片地址分配为:芯片1:XXXX0000000000000000B~XXXX0011111111111111B

芯片2:XXXX0100000000000000B~XXXX0111111111111111B

芯片3:XXXX1000000000000000B~XXXX1011111111111111B

芯片4:XXXX1100000000000000B~XXXX1111111111111111B

每个芯片占16KB地址范围,但在1MB内出现有16个64KB地址范围,这种现象称为地址重叠,例如10000H和20000H就表示同一单元的地址。③线选法。表5-12给出了CPU地址总线的线选法连接特征,使用CPU的4条地址线,经反相后接4条CS,这种译码法称为线选法。选用的4条线不同,芯片的地址也不相同。例如选用A14~A17作片外地址选择,如图5-31所示,由于A18、A19空,因此将出现地址重叠区。各芯片的存储空间地址分配为(也可选择其它地址线,地址分配将不同):表5-12CPU20条地址线接法(线选法)图5-31线选法芯片1:XX000100000000000000B~XX000111111111111111B芯片2:XX001000000000000000B~XX001011111111111111B芯片3:XX010000000000000000B~XX010011111111111111B

芯片4:XX100100000000000000B~XX100011111111111111B表5-13三种译码法的特征

【例5-2】使用Intel6116(2K×8)SRAM芯片组成16 K×8存储器,设起始地址为40000H,CPU用8088,使用全译码法译码设计译码器。解因16K-1=3FFFH,所以16KB存储器位于1 MB空间内的40000H~43FFFH处,见图5-32。需芯片数8片;芯片分8组,每组1片;CPU地址线A0~A10接芯片,A11~A19接地址译码器。9∶512译码器的输入输出特性见表5-14,它与8088CPU的连接如图5-33所示。图5-3216KB存储器地址表5-149∶512译码器的输入输出特性2.集成译码器图5-3474LS138译码器表5-1574LS138译码器真值表

【例5-3】使用图5-35的SRAM存储芯片构成存储空间为B6000H~B6BFFH的存储器,译码器使用74LS138,CPU使用8088。图5-35SRAM芯片

解芯片容量为1K×4位。存储器容量3KB从存储空间范围计算得来。需芯片6片;芯片分3组,有3条CS线需接片选地址译码器74LS138的输出;每组芯片数2片,数据线分接CPU数据线高低4位。片选地址译码器设计依据存储空间地址分配。选择A12、A11、A10接74LS138的C、B、A,A13接G1,A14~A19接G2A,G2B由M/IO控制。连接图如图5-36所示。图5-363KBSRAM与8088的连接3.控制线的连接

EPROM通常有两条控制线(或)和,用于片选,用于允许数据输出。的接法有两种:一种直接接地;还有一种是接CPU的(读输出,低电平有效)。后一种接法使得只有在CPU发出读命令时,才能从输出端读出EPROM的数据。E2PROM中的2816有3条控制线、和,2817还多出1条RDY/。除了、接法与EPROM相同外,接入CPU的脚,允许在线改写功能;RDY/状态信号接至CPU的INTR,作提出中断申请使用。SRAM通常有3条控制线、 和,接片选地址译码器输出,接地或, 接。

5.数据线的连接数据线虽是双向总线,但由于ROM、PROM、EPROM和E2PROM在正常工作时只读出不写入,因此应画成单向总线5.DRAM与8088的连接

DRAM没有CE片选线,使用RAS、CAS兼作片选,读写控制使用WE。由于行列地址分时锁存,因此在用芯片连成存储器并接入CPU的三组总线时,必须要有RAS、CAS产生电路和行、列地址形成电路。

IBMPCXT微机的主CPU是8088,它的RAM子系统由36片4164DRAM组成,分成4组,每组9片,其中8片形成字节,1片用作奇偶校验。4164DRAM芯片的容量为64K×1位,每个芯片的片内地址线为16条,采用行列译码后,引脚上只有8条地址线。(1)RAS和CAS产生电路:4组芯片需要4组行列地址选通信号,分别为和,产生电路如图5-37所示。该电路由两级地址译码器构成。第一级地址译码器24S10(U44)是一个28×4位的ROM,功能是为第二级译码器提供二进制输入信号和门控信号。24S10的8条地址线A7~A0分别接入E2-2、E2-4、SW-4、SW-3、CPU的地址线A19~A16。当8条地址线上出现地址信号时,将选中24S10ROM中一个存储单元,如果24S10的输出控制端S2S1=00,则该单元的内容(4位二进数)将出现在数据线Q3~Q0上。E2-4、E2-2恒为“1”;SW-4、SW-3是系统板上RAM的配置情况。Q3的输出没有被使用;Q2Q1作为两位二进制数输出到第二级地址译码器;Q0作为门控信号送到第二级。图5-37和信号产生电路表5-16E2-4、E2-2均为1时的SW-4、SW-3与芯片配置24S10ROM中有关单元的内容事先写入。根据SW-4、SW-3及CPU的A19~A16(即24S10的A5~A0)取值不同,写入的内容有所不同。系统板上到底装有多少组DRAM,由系统配置开关SW的第4位SW-4和第3位SW-3决定。本例中SW-4和SW-3为11,因此要求输出24S10ROM的输入输出连逻辑关系为:A3~A0分别为0000、0001、0010和0011时,Q2Q1分别为00、01、10、11,且Q0总为1。在没有配DRAM处,Q0总为0。由此得到按第二级译码要求写出的24S10ROM中Q2Q1Q0值,如表5-17所示。表5-1724S10ROM事先写入的数据Q2Q1Q0值(2)行列地址形成电路:图5-3874LS158原理图图5-39行列地址形成电路4164DRAM内部排成4×128×128矩阵,当RAS有效时,使用地址线A0~A6对每个矩阵的1行刷新,一次可刷4×128行,全部刷完需128次。如果要求2ms内刷新一遍,则刷一次需时2ms/128=15.625μs,PCXT机中选用15μs。15μs的定时由可编程定时/计数器接口芯片8253实现。5.6.2存储器与8086CPU之间的连接

【例5-4】图5-40给出了8086CPU与EPROM2732(4K×8)、SRAM6116(2K×8)的实际连接图,图中EPROM为32KB,SRAM为16KB。所需EPROM芯片8片;每组芯片数2片,每组2片的CE分别接BHE和A0;芯片分组数=4组。图5-408086CPU与EPROM273

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论