第 16 讲:随机存储器 RAM 与容量扩展
RAM 的“随机”不是随机写数据,而是任意地址都能被直接选中,访问时间不依赖它排在第几个。
先读懂容量记号
一个 位的存储器表示:
- 有 个可寻址的字;
- 每个字宽 位;
- 总存储位数为 。
若 ,需要 根地址线;需要 根数据输入/输出线。比如 :
所以需要 10 根地址线,每次读写 8 位,总容量为 8192 bit,即 1 KiB。
地址线决定“选哪个字”,数据线决定“一次搬几位”,不要混淆。
RAM 的基本结构
一块 RAM 通常包括:
- 存储单元组成的矩阵;
- 行、列地址译码;
- 读出放大器和写入电路;
- 数据输入输出缓冲;
- 片选
CS、读写控制R/W等控制端。
只有片选有效时,芯片才响应地址和读写信号;未被选中的芯片通常让数据口进入高阻态,才能共享总线。
SRAM:用稳态保存一位
SRAM 单元建立在双稳态锁存结构上,并加入访问晶体管。字线选中某一行,互补位线负责读出或写入。
- 只要供电存在,锁存状态可以一直保持;
- 不需要周期刷新;
- 速度快;
- 单元晶体管较多,面积和功耗通常更大,密度较低。
“静态”只表示不用刷新,不表示断电后还能保存。课程中的 RAM 都是易失性存储器。
DRAM:用电荷保存一位
DRAM 利用 MOS 栅极电容上的电荷表示数据。课程以三管动态单元说明读、写和刷新:
- 写入:选通写字线,把位线电平送到存储电容;
- 读出:位线先预充,再选通读通路,根据存储电荷是否使晶体管导通来改变位线;
- 刷新:电荷会泄漏,必须周期性读出并重新写回。
DRAM 单元少、密度高,但控制复杂,读出还可能破坏原电荷,因此实际系统需要感放和刷新控制。
位扩展:字数够,字长不够
若现有芯片为 ,目标为 ,需要 8 片并联:
- 所有地址线并接;
CS、读写控制并接;- 每片各负责数据字的一位。
扩展后字数不变,字长相加:
字扩展:字长够,字数不够
若现有芯片为 ,目标为 ,需要 4 片:
- 低 8 位地址 同时接到四片内部地址;
- 高 2 位地址 经 2-4 译码器产生四路片选;
- 数据线和读写控制并接;
- 每个时刻只有一片被选中。
地址分区为:
| 选中芯片 | 十进制地址范围 | |
|---|---|---|
| 00 | 0 | 0–255 |
| 01 | 1 | 256–511 |
| 10 | 2 | 512–767 |
| 11 | 3 | 768–1023 |
高位地址不是送进每片的存储阵列,而是决定“哪一片拥有当前地址”。
同时做字、位扩展
目标容量除以单片容量,可以先分别计算:
总片数为两者乘积。先把若干片并成一个所需字长的“组”,再用高位地址选择不同组,图会最清楚。
地址译码题的检查表
- 容量单位是 bit、Byte 还是 word;
- 地址线数量是否满足 ;
- 数据线宽度是否等于字长;
- 高位地址译码后是否保证只选中一个芯片组;
- 低位地址是否接到所有芯片;
- 未选中器件的数据端是否高阻;
- 地址范围首尾是否连续且没有重叠。