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

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张图片
    1. 如图,如果该CPU地址线只有13根,那么就是全译码法,因为地址线都参与了译码
    2. 但此时如果你的CPU地址线是20根,这时就是部分译码,如何变成全译码呢?你只需要将多出的地址线接入 EN

4.2 部分译码法

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

4.3 线选法

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

  2. 字扩展、位扩展和字位扩展以及片选控制方法_第2张图片

4.4 片选控制方法总结

  1. 片选法不需要使用额外的电路,但是会使用更多的地址线
  2. 全译码能保证地址唯一,存储地址连续
  3. 片选法和部分译码法,会出现地址重叠问题,因为未参与片选信号的地址线可以任意取值

你可能感兴趣的:(计算机硬件,电脑硬件)