【微机原理】存储器的扩展

套路:

(1)解决位拓展。

    (1.1)计算位拓展中每组芯片内含多少片芯片。

    具体方法为:每组芯片数量=拓展目标位数/单片芯片位数。

    例如:将1K*4拓展成1K*8,则位拓展的每一组,需要8/4=2片芯片。

    (1.2)多个存储芯片为一组,使用相同的地址表示这一组芯片。当选择这个地址进行读写时,这一组芯片内的所有芯片都进行读写。

【微机原理】存储器的扩展_第1张图片

本题就进行位拓展,8/4=2,要完成位拓展,需要使用2片芯片。两片芯片的数据引线分别接入了CPU的D7-D4、D3-D0。

(2)解决字扩展。

    (2.1)计算出要字拓展的芯片组数。

    一般来说,通过字拓展,多片存储芯片都会构成一个8位的存储器,保存一个字节的数据。

    字拓展所需要用到的芯片组数=目标存储器的存储单元数/字拓展后的存储器的单元数

    如8K*8要拓展成16K*8的存储器,则需要2个字拓展芯片组,每个字拓展芯片组有一位芯片(8/8=1)。

    如1K*4拓展成2K*8的存储器,则2/1=2,需要2个字拓展芯片组,每个字拓展芯片组的个数为2个(8/4=2)。

    (2.2)每2个8位存储器构成一个16位的字存储器,一个存储器为奇存储器,存放奇字节,一个存储器为偶存储器,存放偶字节。

    其中高位片选信号地址相同。在全部译码法,局部译码法下,一般通过译码器译码的3个输入编码口接入高位地址线,输出口接到存储器的CS#使能端。高位地址选中则使能该字存储器。在线选法下,一条高位地址信号接入一个字存储器。

    一个字存储器内部包含了2个字节存储器,奇存储器和偶存储器, 用A0、BHE#来选择。

例题:使用8K*8构成16K*8的存储器。并画图。

【微机原理】存储器的扩展_第2张图片

 

16/8=2,计算得到使用2组芯片,每组芯片的个数为1。(8/8=1)

每组芯片存储一个字节(8位),2组芯片刚好构成一个字存储器,存储16位。由于不存在其他的字存储器,所以不需要高位地址信号作为片选信号。片内寻址信号由A1-A13给出。而奇存储器,偶存储器的选择信号由BHE#,A0给出。

    当BHE#=0,A0=1,访问奇字节存储器。

    当BHE#=1,A0=0,访问偶字节存储器。

    当BHE#=0,A0=0,则访问16位的字存储器。

 

例题2:用部分译码法使2片8K*8芯片组成16K*8位存储器,并画图。

【微机原理】存储器的扩展_第3张图片

(1)需要2组芯片作为位拓展,每组芯片的个数为1个。

(2)每组芯片保存一个字节,2组芯片组成一个字存储器,保存16位数据,并可通过A0、BHE#拆分成偶存储器、奇存储器。

(3)A13-A1用于存储器片内寻址。

(4)A16-A14作为片选信号,用于选择字存储器。本题只有1个字存储器。因此译码器的输出口只引出1条,接入了同组的2个存储器芯片中。

(4)A0、BHE#用于选择偶存储器(A0=0,BHE=1)、奇存储器(A0=1,BHE=0)、字存储器(A0=0,BHE=0)。这两个信号通过与译码器输出的结果相或,共同决定存储器芯片的选择。

 

你可能感兴趣的:(微机原理)