1微型计算机原理及其应用——第五章:存储器芯片的扩展及其与系统总线的连接2第五章:存储器及其接口——存储器芯片的扩展与连接存储器的系统结构一般情况下,一个存储器系统由以下几部分组成。1.基本存储单元:一个基本存储单元可以存放一位二进制信息,其内部具有两个稳定的且相互对立的状态,并能够在外部对其状态进行识别和改变。不同类型的基本存储单元,决定了由其所组成的存储器件的类型不同。2.存储体:一个基本存储单元只能保存一位二进制信息,若要存放M×N个二进制信息,就需要用M×N个基本存储单元,它们按一定的规则排列起来,由这些基本存储单元所构成的阵列称为存储体或存储矩阵。3.地址译码器:由于存储器系统是由许多存储单元构成的,每个存储单元一般存放8位二进制信息,为了加以区分,我们必须首先为这些存储单元编号,即分配给这些存储单元不同的地址。地址译码器的作用就是用来接受CPU送来的地址信号并对它进行译码,选择与此地址码相对应的存储单元,以便对该单元进行读/写操作。存储器地址译码有两种方式,通常称为单译码与双译码。单译码:单译码方式又称字结构,适用于小容量存储器。双译码:双译码结构中,将地址译码器分成两部分,即行译码器(又叫X译码器)和列译码器(又叫Y译码器)。X译码器输出行地址选择信号,Y译码器输出列地址选择信号,行列选择线交叉处即为所选中的单元。3第五章:存储器及其接口——存储器芯片的扩展与连接存储器的系统结构4.片选与读/写控制电路:片选信号用以实现芯片的选择。对于一个芯片来讲,只有当片选信号有效时,才能对其进行读/写操作。片选信号一般由地址译码器的输出及一些控制信号来形成,而读/写控制电路则用来控制对芯片的读/写操作。5.I/O电路:I/O电路位于系统数据总线与被选中的存储单元之间,用来控制信息的读出与写入,必要时,还可包含对I/O信号的驱动及放大处理功能。6.集电极开路或三态输出缓冲器:为了扩充存储器系统的容量,常常需要将几片RAM芯片的数据线并联使用或与双向的数据线相连,这就要用到集电极开路或三态输出缓冲器。7.其它外围电路:对不同类型的存储器系统,有时,还专门需要一些特殊的外围电路,如动态RAM中的预充电及刷新操作控制电路等,这也是存储器系统的重要组成部分。4第五章:存储器及其接口——存储器芯片的扩展与连接存储器的系统结构CPU时序/控制控制信号存储体MB读写驱动器MDR地址译码器MARN位数据总线M位地址总线5第五章:存储器及其接口——存储器芯片的扩展与连接存储器的系统结构32×32=1024存储单元驱动器X译码器地址反向器I/O电路Y译码器地址反向器控制电路输出驱动12321232输入输出321231读/写选片1A0A2A3A4A5A6A7A8A9A3212316第五章:存储器及其接口——存储器芯片的扩展与连接基本存储器芯片模型在微型系统中,CPU对存储器进行读写操作,首先要由地址总线给出地址信号,选择要进行读/写操作的存储单元,然后通过控制总线发出相应的读/写控制信号,最后才能在数据总线上进行数据交换。所以,存储器芯片与CPU之间的连接,实质上就是其与系统总线的连接,包括(1)地址线的连接;(2)数据线的连接;(3)控制线的连接。7第五章:存储器及其接口——存储器芯片的扩展与连接基本存储器芯片模型1.地址线的位数:从图中可看出地址线的位数决定了芯片内可寻址的单元数目,如Intel2114(1K×4)有10条地址线,则可寻址的单元数为1024个;Intel2116(16K×1)有14条地址线,则可寻址的单元数为16K个。2.数据线的根数:RAM芯片的数据线多数为1条,静态RAM芯片一般有4条和8条。若为1条数据线,则称为位片存贮芯片;若有4条数据线,则该芯片可作为数据的低4位或高4位;若有8条数据线,则该芯片正好作为一个字节数,其引脚已指定相应数据位的名称。3.控制线:RAM芯片的控制引脚信号一般有:芯片选择信号、读/写控制信号,对动态RAM(DRAM)还有行、列地址选通信号。8第五章:存储器及其接口——存储器芯片的扩展与连接基本存储器芯片模型存储芯片型号存储容量地址线数据线2101(1K×1B)1024×1BA0~A9D02114(1K×4B)1024×4BA0~A9D0~D34118(1K×8B)1024×8BA0~A9D0~D76116(2K×8B)2048×8BA0~A10D0~D76232(4K×8B)4×1024×8BA0~A11D0~D76264(8K×8B)8×1024×8BA0~A12D0~D761256(32K×8B)32×1024×8BA0~A14D0~D72732(4K×8B)4×1024×8BA0~A11D0~D79第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接在实际应用中,进行存储器与CPU的连接需要考虑以下几个问题:①CPU的总线负载能力;②CPU与存储器之间的速度匹配;③存储器地址分配和片选;④控制信号的连接。(1)控制线的连接:即如何用CPU的存储器读写信号同存储器芯片的控制信号线连接,以实现对存储器的读写操作。简单系统:CPU读写信号与存储器芯片的读写信号直接相连。复杂系统:CPU读写信号和其它信号组合后与存储器芯片的读写信号直接相连。CPU读信号最终和存储器的读信号相连,CPU写信号最终和存储器的写信号相连。10第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接(2)数据线的连接:若一个芯片内的存储单元是8位,则它自身就作为一组,其引脚D0~D7可以和系统数据总线D0~D7或D8~D15直接相连。若一组芯片(4个或8个)才能组成8位存储单元的结构,则组内不同芯片应与不同的数据总线相连。61168086D7D0I/O8I/O12164(0)8086D7D0DIN(DOUT)2164(6)DIN(DOUT)2164(7)DIN(DOUT)D611第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接——存储器芯片分组位扩展(加大字长)[例]用8个16K×1bit芯片组成16K×8bit的存储器。……A0A13…D0D1D2D716K×1CSCSCSCSWEWEWEWE16K×1D0D1D2D712第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接(3)地址线的连接:将用以“字选”的低位地址总线直接与存贮芯片的地址引脚相连,将用以“片选”的高位地址总线送入译码器。可以根据所选用的半导体存储器芯片地址线的多少,把CPU的地址线分为芯片外(指存储器芯片)地址和芯片内的地址,片外地址经地址译码器译码后输出。作为存储器芯片的片选信号,用来选中CPU所要访问的存储器芯片。片内地址线直接接到所要访问的存储器芯片的地址引脚,用来直接选中该芯片中的一个存储单元。对4K×8b的2732而言,片外地址线为A19~A12,片内地址线为A11~A0;对2K×8b的6116而言,片外地址线为A19~A11,片内地址线为A10~A0。27328086译码器A19~A12A11~A0A11~A061168086译码器A19~A11A10~A0A10~A013第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接字扩展(扩大地址)CSWECSWECSWECSWE16K×416K×416K×416K×4…A0A13………WED0D1D2D3译码器A14A15123D0~D3D0~D3D0~D3D0~D314第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接组成一个存储系统通常是由多个存储芯片组成。CPU每次访问内存只能对一个存储单元进行读或写,这个单元位于某个芯片中或一组芯片中。因此,首先要找到这个或这组芯片,这就是所谓的片选问题。换句话说,就是每当CPU访问内存,如何产生相应芯片的片选信号。指定一个存贮单元是由CPU给出的地址来决定的,硬件寻址的方法是将地址总线分成两部分。一部分直接送入芯片进行“片内地址译码”,确定片内单元的位置;另一部分送入译码器进行“片外地址译码”产生片选信号。通常我们有三种片选方法:线选法、全译码法、部分译码法。15第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接——线选法在剩余的高位地址总线中,任选一位作为片选信号直接与存贮芯片的CS引脚相连,这种方式就称为线选法。其特点是无需译码器,但有较多的地址重叠区。该方法适用于存储器容量不大,所使用的存储芯片数量不多,而CPU寻址空间远远大于存储器容量。(1)1KBCS(2)1KBCS(3)1KBCS(4)1KBCSA10A11A13A11A0~A916第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接——线选法例5-1:用5片Intel6116(2K×8)组成10K×8位的存储器系统。求每块芯片的地址范围。RAM2KBRAM2KBRAM2KBCSCSCSCSCSA11A12A13A14A15D0--D7A0--A10数据总线地址总线(3)(4)(5)RAM2KBRAM2KB(1)(2)17第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接——线选法A15A14A13A12A11A10------------A0地址范围01111007800H01111117FFFH1011100B800H1011111BFFFH1101100C800H1101111CFFFH1110100E800H1110111EFFFH1111000F000H1111011F7FFH}}}}}存储器5地址范围存储器4地址范围存储器3地址范围存储器2地址范围存储器1地址范围18第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接——线选法A19A18A17A16A15A14A13A12A11A10------------A0地址范围?????????0111100?7800H?????????0111111?7FFFH?????????1011100?B800H?????????1011111?BFFFH?????????1101100?C800H?????????1101111?CFFFH?????????1110100?E800H?????????1110111?EFFFH?????????1111000?F000H?????????1111011?F7FFH19第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接——全译码法除去与存储芯片直接相连的低位地址总线之外,将剩余的地址总线全部送入“片外地址译码器”中进行译码的方法就称为全译码法。其特点是物理地址与实际存储单元一一对应,但译码电路复杂。8KB(2)CS8KB(1)CS8KB(8)CS3-8译码器A0~A12A13~A15Y0Y1Y720第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接——全译码法例5-2:用16片Intel6232(4K×8)组成64K×8位的存储器系统。求每块芯片的地址范围。4KB(1)4KB(2)4KB(16)译码器CSCSCSY0Y1Y15A0---A11地址总线数据总线D0---D7A15--A12....…….21第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接——全译码法A15A14A13A12A11A10---------A0地址范围0000000Y10000H--0FFFH0001000Y21000H--1FFFH0010000Y32000H--2FFFH1101000Y14D000H--DFFFH1110000Y15E000H--EFFFH1111000Y16F000H--FFFFH存储器1地址范围存储器2地址范围存储器3地址范围存储器14地址范围存储器15地址范围存储器16地址范围22第五章:存储器及其接口——存储器芯片的扩展与连接存储器芯片与CPU的连接—