资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,5.4 存储器与,CPU,的连接,数据线,IO/M,高位地址,CPU,(,子系统),WR,低位地址,RAM,CS,WE,芯片地址,ROM,CS,芯片地址,译,码,器,AB,DB,5.4.1 存储器与,CPU,连接应考虑的问题,1存储器类型选择,RAM,最大的特点是其存储的信息可以在程序中用读写指令随机读写,但掉电时信息丢失。所以,RAM,一般用于存储用户的调试程序(或程序存储器中的用户区)、程序的中间运算结果及掉电时无需保护(存)的,I/O,数据及参数等。,ROM,中的内容掉电不易失,但不能随机写入,故一般用于存储系统程序(监控程序)和无需在线修改的参数等。,2,CPU,总线的负载能力,通常,CPU,总线的直流负载能力(也称驱动能力)为一个,TTL,器件或20个,MOS,器件,。,因存储器基本上是,MOS,电路,直流负载很小,所以在小型系统中,CPU,可直接与存储器芯片连接。,而当,CPU,总线上需挂接的器件超过上述负载时,就应考虑在其总线与挂接的器件间加接缓冲器或驱动器,以增加,CPU,的负载能力。常用的驱动器和缓冲器有单向的74,LS244,以及,Intel8282、8283,等,用于单向传输的地址总线和控制总线的驱动;对双向传输的数据总线通常采用数据收发器74,LS245,或,Intel8286、8287,等实现驱动。,3,存储器的地址分配和片选问题,内存通常分为,RAM,和,ROM,两大部分,而,RAM,又分为系统区,(,即机器的监控程序或操作系统占用的区域,),和用户区,所以内存的,地址分配,是一个重要的问题。,存储器芯片单片的容量有限,由多片存储器芯片组成一个存储器系统,,,要求正确解决,片选问题,。,4,CPU,的时序和存储器的存取速度之间的配合问题,CPU,在取指令和读写操作,、,存储器芯片,读/写都,有,相应,的固定时序。,选用存储芯片时,必须考虑它的存取时间与,CPU,的固定时序之间的匹配问题,即时序配合问题。,5.4.2 存储器容量的扩充,当一片存储器芯片的容量不能满足系统要求时,需多片组合以扩充位数或单元数。这就是所谓的存储器容量扩充。,字扩充,:扩充存储器的存储单元,如果把存储器视为一个矩阵,这字扩充就是行扩充,位扩充,:扩充存储器的一个单元的位数,也就是矩阵的列扩充。,下面以,SRAM 6264,为例说明存储器容量扩充的方法,,ROM,的处理方法与之相同。,1,位(并联)扩充,用,2,片,8,K,8,位的,6264,扩充形成,8,K,16,位的芯片组,:,除了数据线外,对应相连,2,字(串联)扩充,用4片8,K8,位芯片6264构成32,K8,位的存储芯片组:,这32,K,单元的地址范围在4个芯片中的分配如下表所示:,4片存储器内部的地址(,A,12,A,0,),都是相同(重复)的,但增加了,A,14,、A,13,后,它们对外的地址就是连续(不重复)的了,故称地址线,A,12,A,0,实现片内寻址,,A,14,、A,13,实现片间寻址。,再扩充单元数:将这8个芯片组组合成8,K8,位存储区。显然,8,K,存储单元需要13根地址线(2,13,=8,K),,比原来每片的10根地址线多了3根,可用38译码器芯片74,LS138,3,位和字同时(串并联)扩充,当存储器的位数和单元数都需要扩充时,如用16片1,K4,位芯片构成8,K8,位存储区:,先扩充位数:每2个芯片(24位=8位)一组,构成8个1,K8,位芯片组;,138译码器,C B A Y,7,Y,6,Y,5,Y,4,Y,3,Y,2,Y,1,Y,0,1 1 1 1 1 1 1 1,0 0 0,1 1 1 1 1 1,1 0,0 0 0,1 1 1 1 1 1 0 1,1 1 1,0 1 1 1 1 1,1 1,G,1,Y7,G,2A,Y6,G,2B,Y5,Y4,138 Y3,C Y2,B,Y1,A,Y0,1 0 0,=1 0 0,使能输入端,0#,A,9,A,0,D,3,D,0,CS,2#,A,9,A,0,D,3,D,0,CS,4#,A,9,A,0,D,3,D,0,CS,6#,A,9,A,0,D,3,D,0,CS,1#,A,9,A,0,D,3,D,0,CS,3#,A,9,A,0,D,3,D,0,CS,5#,A,9,A,0,D,3,D,0,CS,7#,A,9,A,0,D,3,D,0,CS,D,3,D,0,D,7,D,4,A,9,A,0,138,A,10,A,11,A,12,将,CPU,的,A,12,A,10,对应接至,74,LS138,的,C,、,B,、,A,,,而,8,个输出引脚对应接至,8,个存储芯片组的片选信号端,,A,12,A,10,的组合就可分别选中,8,个存储芯片组中的一组。存储单元的地址范围分配如表所示。,存储器容量的扩充关键是,存储单元地址的分配和片选信号的处理,,其基本原则是:,地址安排不要重叠,也不要断档,最好是连续的,,这样,存储器容量和,CPU,地址资源的利用率最高,也便于编程。,5.4.3 片选译码方式,片选信号的译码方式有,全译码,、,部分译码,和,线选,三种。,1,全译码方式,CPU,的地址线除低位地址线用于存储器芯片的,片内寻址,外,剩下的高位地址线全部用于存储器芯片的,片间寻址,(经译码器产生片选信号),例:,CPU,的20位地址线采用全译码方式:,低位地址线,A,12,A,0,接至各存储器芯片的地址线,用作片内寻址,剩下的高位地址,A,19,A,13,通过译码器接至各存储器芯片的片选端,用作片间寻址。,全译码方式充分发挥了,CPU,的寻址能力(不浪费存储地址空间),存储器芯片中的每一个单元都有一个唯一确定的地址,不会出现部分译码方式和线选方式中的地址重叠、地址不连续现象;,但,译码电路较复杂,需要的元器件也较多,。,2,部分译码方式,CPU,的高位地址线中只有一部分用于存储器芯片的片间寻址。,只用2条高位地址线,A,14,、A,13,作为译码输入,仍可产生4个芯片的片选信号,其地址分配如下。,虽然4片存储器芯片的基本地址分别为00000,H01FFFH、02000H03FFFH、04000H05FFFH、06000H07FFFH,,但其余高位地址线的任意组合也可能会重复选中这些存储器芯片,如,CPU,地址00000,H,和08000,H、10000H,等均选中0#芯片的0000,H,存储单元,这就是,地址重叠现象,。,00000,H,和08000,H、10000H,00000,H0000 000,0,0000 0000 0000,08000,H0000 100,0,0000 0000 0000,10000H0001 000,0,0000 0000 0000,3,线选方式,直接用高位地址线作为存储器芯片的片选信号,无需译码器,此译码方式称为线选。,只用,A,13,产生两个片选信号,则0#、1#存储器芯片的基本地址分别为00000,H01FFFH、02000H03FFFH,,但其余高位地址线的任意组合也可能会重复选中这两片存储器芯片,如,CPU,地址01000,H,和06000,H、12000H,等均选中1#芯片的0000,H,存储单元。,5.4.4 存储器连接举例,在微机系统中,为能支持各种数据宽度操作,存储器模块一般都按字节编址,,以字节为单位构成,。对于不同总线宽度的微机系统,其中的存储器连接方式是不同的。下面介绍16位和32位微机系统中的存储器连接。,1.,16,位微机系统中的存储器,16位微机系统需要用两个字节组成一个整字,即占用两个字节地址组成一个字地址,故必须将8位存储器安排成两组存储体:即,高位存储体和低位存储体,,高位存储体的8位数据线连接微机系统的高8位数据线,D,15,D,8,,,其,地址码为奇数,(也称奇存储体);低位存储体的8位数据线连接微机系统的低8位数据线,D,7,D,0,,,其,地址码为偶数,(也称偶存储体)。,CPU,有20根地址线,A,19,A,0,,16,位数据总线,D,15,D,0,,,可直接寻址1,M,字节的内存地址空间。因此,,,将1,M,字节的存储器地址空间分成两个512,K,字节的存储体:,CPU,的,A,0,和,BHE,同时为,0,时,同时选中偶存储体和奇,存储体,可进行,16,位的数据访问;,A,0,=0,,BHE,=1,时,选中偶存储体,可进行低,8,位的数据访问;,A,0,=1,,BHE,=0,时,选中奇存储体,可进行高,8,位的数据访问;,A,0,和,BHE,同时为,1,时,不作存储器访问。,特点:,8086系统对存贮器的操作既可以16位,也可以8位。,当进行16位数据读写时:,若数据是对准的(从偶地址开始安排数据),则只需要1个总线周期完成;,若数据未对准(从奇地址开始安排数据),则需要2个总线周期完成。,而进行8位数据读写时,每次均要1个总线周期。,例如:,有数据定义如下:,DATASEGMENT,DAT1DW1234H;,数据对准,DAT2DB20H;,DAT3DW2000H;,数据未对准,DATAENDS,执行:,MOV AX,DAT1;,需要1个总线周期,执行:,MOV AX,DAT3;,需要2个总线周期,2,32,位微机系统中的存储器,32,位微机系统需要用,4,个字节组成一个整字(,32,位),即占用,4,个字节地址组成一个字地址,:,地址线,A,0,和,A,1,通过,CPU,内部编码产生字节选通信号,5,.,4,.,5,存储器模块(,Memory Module,),存储器模块,(俗称内存条)就是高集成度,RAM,模块,它将多片高容量,DRAM,芯片装配在条状印刷线路板上,加上相应的控制电路,线路板配有标准单或双边沿连接插脚,可直接插入微机主板上的存储器插座。,微机系统常用的模块按数据字长不同,可分为三种:,(,1,),30,线,SIMM,(,Single In,line Memory Module,,,单列直插存储器模块)内存条:,8+1,位(其中的,1,位为奇偶校验位),多用于,80386,以下系统,内存条容量有,256,KB,、,512KB,、,1MB,、,2MB,、,4MB,等。,(2)72线,SIMM,内存条:,32+4位(其中每8位配1位奇偶校验位),多用于80486系统,内存条容量有4,MB、8MB、16MB、32MB,等。,(,3,),168,线,DIMM,(,Dual In,line Memory Module,,,双列直插存储器模块)内存条:,64+8,位(其中每,8,位配,1,位奇偶校验位),主要用于,Pentium,以上机型(,PC66,、,PC100,、,PC133,等),内存条容量有,8,MB,、,16MB,、,32MB,、,64MB,、,128MB,、,256MB,等。,Pentium,以上微机主要采用168线同步动态随机存储器,SDRAM,模块。,在微机的主板上,往往标有存储库“,BANK0、BANK1、BANK2、”,等字样,不同的主板存储库(,BANK),的数量是不一样的。,一般来说,每个,BANK,包含2个,SIMM,插槽,这就要求内存条要成对使用,而且两条内存条的容量、速度等参数应相同(最好是同一厂家生产的同一规格的内存条),否则存储器无效,甚至会造成死机现象。,有些内存条也可以单条使用(1个,BANK,中只含1个,SIMM,插槽或1个,DIMM,插槽),这主要取决于内存条中字节的组织结构。,
展开阅读全文