字扩展、位扩展和字位扩展以及片选控制方法

0 存储器扩展

  1. 单片存储器芯片容量有限,无法满足日常需求,所以要对其扩展
  2. 一条内存条上有多个存储芯片,一块主板又可以插多条内存条
    在这里插入图片描述

1 位扩展

1.1 扩展方式

  1. 字数不变,增加位数
  2. 地址线、控制线并联,增加数据线

1.2 举例

例:2 K * 8 bit 扩容为 2 K * 32 bit 的存储体

  1. 1 K = 1024
  2. 2 * 1024 * 32 bit / 2 * 1024 * 8 bit = 4,需要 4 片
  3. log2(2 * 1024) = 11,需要 11 根地址线
  4. 32 bit,需要 32 根数据线

2 字扩展

2.1 扩展方式

  1. 位数不变,增加字数
  2. 数据线、控制线与部分地址线并联,剩下地址线通过译码器获得片选信号,选择芯片

2.2 举例

例:2 K * 8 bit 扩容为 8K * 8 bit 的存储体

  1. 1 K = 1024
  2. 8 * 1024 * 8 bit / 2 * 1024 * 8 bit = 4,需要4片
  3. 4片存储芯片,所以要是用最少2位二进制来标志,选择 2-4 译码器,2 根地址线通过译码器获得片选信号
  4. log2(2 * 1024) = 11,需要 11 根地址线
  5. 11 + 2 = 13,一共使用 13 根地址线
  6. 8 bit,8 根数据线

3 字位扩展

同时字扩展与位扩展

4 片选控制方法

  1. 内存通过字扩展时,需要区分使用的是那片内存芯片
  2. 这时需要由 片选信号 决定使用哪块芯片进行控制
  3. 片选控制是由 地址线 进行实现的

4.1 全译码法

  1. 实现
    1. 全部 地址线参与译码
    2. 高位接译码器形成译码信号 -> 选择使用存储体的哪块存储 芯片
    3. 低位直接与存储芯片引脚相连 -> 选择使用存储芯片的哪块存储 单元

  2. 在这里插入图片描述
    1. 如图,如果该 CPU 地址线只有 13 根,那么就是全译码法,因为地址线都参与了译码
    2. 但此时如果你的 CPU 地址线是 20 根,这时就是部分译码,如何变成全译码呢?你只需要将多出的地址线接入 EN

4.2 部分译码法

  1. 实现
    1. 部分 地址线参与译码
    2. 高位接译码器形成译码信号
    3. 低位直接与存储芯片引脚相连
  2. 例:上面的例子

4.3 线选法

  1. 实现:不使用译码器,直接通过地址线进行片选信号控制

  2. 在这里插入图片描述

4.4 片选控制方法总结

  1. 线选法不需要使用额外的电路,但是会使用更多的地址线
  2. 全译码能保证地址唯一,存储地址连续
  3. 线选法和部分译码法,会出现地址重叠问题,因为未参与片选信号的地址线可以任意取值
  4. 译码法只能选中其中一个片,而线选法可以选中多个
  • 14
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值