微机系统的存储器(二)存储器的组织和扩展

0. 前言

译码方式:

  1. 线译码方式:仅用一个高位地址线作为片选信号。
  2. 部分译码方式:只用一部分高位地址线参与译码工作,因此未参与译码的地址线对译码结果没有任何影响,该方式应用较为广泛。
  3. 全译码方式:系统所有地址线全部参与译码工作,因此任何地址线的变化都会影响译码结果,由全译码得到的地址空间是唯一的。

地址译码的实现方法:

  1. 采用门电路
  2. 采用译码器
  3. 采用PLD(Programmable Array Logic 可编程逻辑阵列)

各种存储器芯片容量都是有限的,当实际操作系统需要更大存储容量时,就必须采用多片构成更大容量的存储器模块,这就是所谓的存储器扩展。主要有位扩展(字长的扩展)、字扩展(存储单元数的扩展)和字位全扩展三种方法,下面举例说明。

1. 位扩展

位扩展是让数据位数增加,但是存储单元的个数不变(地址线的条数不增加),如下图所示。

  • 芯片的地址线全部并联且与地址总线相应的地址线相连接;
  • 片选信号并联,接地址译码器的输出端(这里直接用了CPU的M/IO管脚);
  • 芯片的数据线分高低部分,分别与数据总线相应位连接(这里由于是1位扩展到8位所以不用分高低位)。
    在这里插入图片描述

2. 字扩展

字扩展是存储单元数的扩展,要增加地址线的条数,而与数据线无关,如下图所示。

  • 由2K的芯片构成8K的模块,需要四块;相应的,需要多出两根地址线来选择这四块芯片。所以芯片固有地址线并联到地址总线的相应地址线上(A10-A0),扩展地址线(A11-A12)接译码器的输入端产生译码器的输出,用来作为四个芯片的片选信号。
  • 芯片的读写控制信号连接总线上的存储器控制信号。
    在这里插入图片描述

3. 字位全扩展

实际上就是前面两种扩展的组合,在确定所需要的芯片数后,先进行位扩展,然后将位扩展后的模块作为整体进行字扩展。举个例子:

例1:用1K×4位SRAM构成4K×8位的SRAM存储器模块,存储器空间为从08000H开始。

  1. 首先确定可寻址空间的范围。 内存空间大小为扩展后的模块大小:4K×8位=4KB;由于首地址是08000H,所以末地址是08000H + 4K - 1 = 08FFFH(默认按字节寻址)。这样我们就可以写出首地址和末地址了,如下图:
    在这里插入图片描述
  2. 其次确定所需要的芯片数量。 位扩展要2块,字扩展需要4块,所以需要8块(应该不用解释为啥不是6块了吧QAQ)。原来1K的芯片固有10根地址线用来寻址,字扩展后存储单元增加,所以需要增加2根地址线;所以把地址分为三部分,第一部分是芯片本身的地址线,第二部分是扩展地址线,第三部分是由地址范围决定的固定不变的地址,一般用来做译码器的使能信号。
  3. 画出图来就是下面这样。 解释一下:左边的A9-A0就是上述的芯片本身的10根地址线;A11-A10是扩展地址线接译码器,译码结果作为片选信号;上图中第一部分的固定地址线作为译码器的使能信号;D7-D0八根线分别接一组位扩展芯片的高低位;WR就是平平无奇的写控制信号。
    在这里插入图片描述

例2 用4K×8位SRAM构成16K×16位的SRAM存储器模块,存储器空间为从08000H开始。

这个题和例1本质区别在于位扩展由8位扩到了16位,在8086的场景下需要BHE(Byte High Enable)和A0配合控制信号进行高低字节的选中。

  1. 算地址空间。 08000H~0FFFFH。
  2. 算需要几个芯片。 需要8块芯片,进行字位全扩展。总共需要14根地址线(16K),固有地址线12根,所以扩展地址线2根,留下来A0做低位选通,所以剩余的A19-A15做译码器使能信号。
  3. 画个图。先借用一下百度文库。
    在这里插入图片描述

例3 设计一个16位存储器模块,使用SRAM芯片,地址范围为200000H~21FFFFH

  1. 算需要多少芯片。 由地址范围得出存储空间大小为:21FFFFH - 200000H + 1 = 2 17 2^{17} 217B (一定搞清楚这里是字节数,而接下来算规格需要用位做单位);然后得出存储模块规格为:64K × \times × 16位,所以用两片62512(64K × \times × 8位)进行位扩展。
  2. 再研究一下怎么接线。 62512固有地址线有16根,不需要进行字扩展所以不用扩展地址线;拿出一位A0用来选中低八位;高位全拿来选通。具体连线如下图,很像8086/80286的16位存储器组织,特点是如果要一次读取一个字的信息,数据必须存于偶地址开始的两个单元,否则将增加一次总线操作(此时BHE为低电平有效,A0为0即偶地址)。
    在这里插入图片描述

写完了哈哈哈哈哈哈哈哈哈哈哈快乐。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值