半导体存储器概述
- 内存储器均为半导体存储器,外存储器有些为磁盘存储器
- 半导体存储器由能够表示二进制数 “0” 和“1”的、具有记忆功能的半导体器件组成
- 能存放一位二进制数的半导体器件称为一个存储元
- 若干存储元构成一个存储单元
-
半导体存储器的分类
随机存取存储器 (RAM)
主要特点
- 可以随时读 / 写
- 掉电后信息丢失 (需要后备电源)
- 静态随机存取存储器 (SRAM):存储元以静态触发器电路 (双稳态电路) 为基础
- 动态随机存取存储器 (DRAM):存储元为电容
- 同步动态随机存取存储器 (SDRAM):
只读存储器 (ROM)
- 主要特点
- 可以随时读,但不能随机写
- 掉电后信息不丢失 (无需后备电源)
- 掩膜 ROM:将所有的数据通过光刻的方式刻写在芯片上,不可改写
- 一次性可写 ROM:只允许写入一次
- EPROM:(Erasable Programmable Read-Only Memory):可擦除可编程只读存储器,一旦编程完成后,EPROM 只能用强紫外线照射来擦除
- EEPROM:(Electrically Erasable Programmable read only memory):带电可擦可编程只读存储器,可以在电脑上或专用设备上擦除已有信息,重新编程
-
半导体存储器的技术指标
存储容量:存储单元个数 × 每单元的二进制位数
- 存取时间:实现一次读 / 写所需要的时间
- 存取周期:连续启动两次独立的存储器所需间隔的最小时间
-
存储单元编址
图中有三个芯片
- 地址总线传输的高位为片选地址,用于选择芯片
- 地址总线传输的低位为片内地址,用于选择片上的存储单元
译码电路作用
SRAM:存储元为双稳态电路,存储信息稳定
- DRAM:存储元为电容
- 高电平:电容满电荷,为了防止电荷泄漏,所以定期充电
- 低电平:电容无电荷,为了防止电荷堆积,所以定期放电
- 8K=213,13 根地址线,8K 个存储单元
- 8b=23,3 根数据线,每个存储单元中存 8 个 bit
- CS1 为低电平,CS2 为高电平,该芯片才能工作
- 写操作时序
- 重点在译码电路
物理地址的高位作为片选信号,输入译码电路,产生一个有效的输出信号,用于选中某一个存储器芯片
全地址译码
全地址译码:用全部的高位地址信号作为译码信号,使得存储器芯片的每一个单元都占据一个唯一的内存地址
【例】全地址译码写出地址范围的二进制表示
- 确定各高位地址状态
- 由于 SRAM6264 为存储容量为 8K×8b,所以地址线 13 根,用于选择片内的存储单元,也叫片内信号;剩下的高 7 位用于选择存储器芯片,也叫片选信号
- 设计译码器:如下图
- 与非门要是输出为 0,则输入必须全为 1
-
部分地址译码
部分地址译码:用部分高位地址信号(而不是全部)作为译码信号,使得被选中存储器芯片占有几组不同的地址范围
【例】部分地址译码 A18 可以是 0,也可以是 1
-
只读存储器 (ROM)
下面介绍的三种 ROM,可以读写,但写有条件
-
EPROM
可多次编程写入;
- 掉电后内容不丢失;
- 内容的擦除需用紫外线擦除器
- ROM 需要先擦除,再写
- RAM 可以直接写
- EPROM 芯片用盖子隔离紫外线,具有较高的稳定性,数据不易改变,常用作程序存储器,存放相应的控制程序
-
EEPROM
可在线编程写入
- 掉电后内容不丢失
- 电可擦除
- READY 高电平,才可以写
- 可通过程序实现对芯片的读写
- 仅当 READY / #BUSY=1 时才能进行 “写” 操作
- “写” 操作的三种方法:效率依次提高
- 根据参数定时写入
- 通过判断 READY / #BUSY 端的状态进行写入
- 仅当该端为高电平时才可写入下一个字节
- 中断控制方式
- 当 READY / #BUSY 端为高电平时,该高电平可作为中断请求信号
【例】EEPROM 芯片译码电路设计和软件编程写操作
- 读写信号 #MEMW 和 #MEMR,作为输入信号,输入译码电路
- 保证当读写信号有效时,存储芯片才工作
- 循环 8k 个存储单元,都写入 66H
- 前两句:将段基地址 3E00H 写入 DS 数据段寄存器
- 第三句,将第一个存储单元的地址 0000H 写入 SI 源变址寄存器
第四句,将 8k=213=8192D,写入 CX 计数寄存器,作为循环变量
闪速存储器 (Flash)
通过向内部控制寄存器写入命令的方法来控制芯片的工作方式
- 通过读状态寄存器的值,获取芯片当前工作状态
- 与 SRAM 的区别:
- 在进行写入和擦除操作时需要 12V 编程电压
- 与普通 EEPROM 的区别:
- 通过读状态寄存器的内容确定能不能写操作,而普通 EEPROM 是通过接口去读取 READY 端的状态来确定能不能写操作
- 提高写命令字的方式控制其处于何种工作方式