10.3 存储器分体与容量扩展
第 10.2 节选择了单个存储芯片。完整的 8086 存储系统还要把字节宽芯片连接到 16 位数据总线,并在单个芯片的宽度或深度不足时组合多个封装。
偶地址分体与奇地址分体匹配 8086 数据总线
存储器是按字节寻址(byte-addressable)的:每个地址标识一个字节。但 8086 一次最多传送 16 位,因此通常把存储器分成两个字节宽的分体(bank):
- 偶地址低位分体连接 D7…D0,由低电平 A0 选中。
- 奇地址高位分体连接 D15…D8,由低电平有效的
/BHE(高字节允许,bus high enable)选中。
由于 A0 用来帮助选择分体,共享分体地址通路从 A1 而不是 A0 开始。其中低位选择芯片内的位置,高位参与片选译码。A19…A1 的同一个值标识一对相邻字节:低位分体保存偶地址字节,高位分体保存紧随其后的奇地址字节。
| A0 | /BHE | 被选中的分体 | 典型传送 |
|---|---|---|---|
| 0 | 1 | 仅低位 | 偶地址处的字节 |
| 1 | 0 | 仅高位 | 奇地址处的字节 |
| 0 | 0 | 两者 | 从偶地址开始的字 |
| 1 | 1 | 均不选 | 没有存储字节被选中 |
对齐字(aligned word)从偶地址开始。两个字节共用一个分体地址,因此处理器可以在一个总线周期内同时选择两个分体。从奇地址开始的字是未对齐(unaligned)的:低字节位于一个分体地址的高位分体中,而高字节位于下一个分体地址的低位分体中,所以需要两个总线周期。
正在绘制图表…
正在加载交互实验...
正在加载概念检查...
正在加载本节练习...
并联芯片增加宽度,分组增加深度
存储芯片通常用深度 × 宽度描述。8 Ki × 8 芯片有 8 Ki 个可寻址位置,每个位置保存 8 位。目标存储阵列可能在任一维度上超过单个芯片。
- 把芯片并联可增加宽度。它们共享地址和控制信号,但连接不同的数据通道。
- 增加分别片选的芯片组可增加深度。低地址位选择每组内的位置,译码器使用高位确保每次只使能一个组。
假设要用 8 Ki × 8 芯片构建 32 Ki × 16 存储器:
每组包含两个并联芯片,组成 16 位字宽;四个经过译码的芯片组提供所需深度。同一组内的两个宽度芯片可以共享片选,因为它们的输出占据不同数据通道;四个深度组则绝不能同时被选中。
正在绘制图表…
正在加载交互实验...
正在加载概念检查...
正在加载本节练习...
分体和芯片组说明了硬件组织方式。第 10.4 节将这些芯片组放入一张互不重叠的地址地图,并预览为何经常使用的存储内容会被复制到缓存。