1、第五章存储器 存储器的类型随机存储器RAM只读存储器ROM存储器的设计 地址分配 学习目标 1 存储器的类型 随机存储器RAM 只读存储器ROM2 存储器的设计 地址分配3 外设的地址分配4 给定接线图写出存储器地址 给定地址要求画出接线图 重点内容1 存储器的类型2 存储系统的设计 5 1存储器分类 硬盘 IDE SCSI ATA光盘 CD ROMFLASH U盘 1 存储器组织 一个基本存储电路只能存储一个二进制位 存储器有不同的数据线宽度 1位数据线 如 811816K 1 DRAM 4位数据线 如 21141K 4 SRAM 8位数据线 如 61162K 8 SRAM 每8位作为一个存
2、储体 16位数据总线需2个存储体 32位数据线需4个存储体 2 外围电路以地址号来选择不同的存储单元 电路中要有地址译码器 I O电路 片选控制端CS 输出缓冲器等外围电路 5 2随机存取存储器RAM 一 静态随机存取存储器 SRAM 1 静态RAM的构成 单元电路 6个MOS管组成双稳态触发器 存储一位二进制数 0 或 1 只要不掉电 0 或 1 状态一直保持 除非重新写入新数据 不需要刷新 集成度低 成本高 Q1 Q2组成一个触发器Q3 Q4作为负载电阻Q5 Q6作为控制门 写入时 由I O线输入 若I O 1 使Q2导通 Q1截止 A 1 B 0 读出时 A B点信号由Q5 Q6送出到I
3、 O线上 若A 1 B 0 则I O 1 存储矩阵 存储器以存储单元为基本单位构成矩阵 存储单元的数据线有1位 4位 8位 可以同时写入 读出1位 4位 8位二进制数 地址译码器 不同存储单元通过不同地址码来区别 地址译码器包括行译码与列译码 三态数据缓冲器与控制逻辑所有存储单元的数据线对应并联形成存储器的内部数据总线 可有1位 4位 8位 内部数据总线通过三态数据缓冲器与外部数据总线连接 数据缓冲器受片选信号控制 当片选信号无效时 缓冲器关闭 外部数据总线与片内总线之间处于高阻状态 数据无法写入或读出 数据写入操作需要在写信号有效时完成 数据读出操作需要在读信号有效时完成 2 静态RAM的例
4、子 6264 数据总线 D7 D0 存储单元为字节结构 地址总线 A12 A0 共8k个单元 总容量为8k 8 1 动态RAM的构成 依靠电容存储电荷来决定存储信息是 0 还是 1 由于电容漏电 需要定时重写数据 称为刷新操作 故外围电路复杂 集成度高 功耗低 价格低 二 动态随机存取存储器 DRAM 动态基本存储电路数据以电荷形式存于电容器上 三极管作为开关 1 写入时 行选择线为1 Q导通 C充电 2 读出时 行选择线为1 电容C上电荷通过Q送到数据线上 经放大 送出 3 需刷新 在读写操作时 片选信号必须都有效 读操作 在片选信号与OE都有效时 由地址码所选中存储单元的内容出现在外部数据
5、总线上 写操作 在片选信号与WE信号都有效时 外部数总线上的内容送到由地址码所选中存储单元 通常在WE负脉冲的上升沿存入单元中 三 存储器的工作时序 5 3只读存储器ROM 一 掩膜型ROM掩膜型ROM中的信息是芯片生产厂家根据用户给定的数据对芯片图形掩膜进行光刻确定的 出厂后数据不能更改 MOS型ROM速度慢 功耗小 而双极型ROM速度快 功耗大 费用主要决定于掩膜的费用 单个芯片的成本很小 因此适宜于大批量生产 二 可编程ROM PROM PROM中的信息在出厂后允许更改一次 可由用户决定 PROM由二极管矩阵组成 用可熔金属丝连接存储单元发射极 金属丝熔断为 0 连接状态为 1 出厂时都
6、是连着的 编程时 用大电流把金属丝熔断 从而把 1 改为 0 一旦烧断 金属丝不能恢复 故只能编程一次 三 可擦除可编程ROM EPROM 1 EPROM工作原理出厂时所有数据都是 1 状态 用高电压 大电流可把 1 状态改写为 0 状态 称之为 编程 操作 通过紫外线照射 可把数据 0 恢复为 1 状态 称之为 擦除 可以进行多次 编程 擦除 操作 2 EPROM的例子 2764 数据总线 D7 D0 存储单元为字节结构 地址总线 A12 A0 共8k个单元 总容量为8k 8 四 电可擦除可编程ROM EEPROM 片内集成升压电路 外部只需 5V电源 在系统在线读写 寿命达10万次 三种操
7、作读出 编程 写入 字节写入 页写方式擦除 整片单元都写为FF 四 电可擦除可编程ROM EEPROM 并行接口串行接口 I2C SPI 闪存 FlashMemory 集成度很高 采用单管单元 速度快 多线程重写 寿命长 NOR闪存 随机读取NAND闪存 连续读取 U盘 0 几个问题 1 CPU总线的负载能力一个存储器系统 通常由多片存储器芯片组成 需加驱动器 5 4CPU与存储器连接 2 CPU的时序与存储器的存取速度之间的配合问题 1 首先要弄清楚CPU的操作时序 2 然后 选择满足CPU操作时序的存储器芯片 其中最重要的是存储器的存取速度 3 地址信号连接 把CPU的地址总线分为不变与可
8、变两部分 不变地址 访问所有存储单元保持不变的地址信号 不变地址一般是高位地址 可变地址 访问不同的存储单元时 其值会改变的地址信号 可变地址分为片间寻址和片内寻址两部分 片间寻址 用于指定多个芯片中的某一片 作用于存储器芯片的片选信号 片内寻址 用于指定同一个芯片内部的不同存储单元 多个芯片的片内寻址信号通常相同 片内寻址用地址数量决定于存储器芯片的地址数 从高到低 不变地址 片间寻址 片内寻址 4 控制信号的连接 8086CPU的与存储器有关的信号 M IO 存储器与I O端口的区别RD 写操作有效 接存储器的OEWR 读操作有效 接存储器的WEBHE 8086的高位数据有效 5 数据信号
9、的连接 8086有16位外部数据总线 8088有8位外部数据总线 而存储器的数据总线有1位 4位 8位之分 一 存储器地址选择 例1 用1K 8的RAM芯片 组成4K 8的RAM系统 CPU寻址空间64KB 16条地址线 解 1 确定芯片组数 4K 8 1K 8 4片 2 片内译码 1K 210 低位10条地址线 3 片选信号的处理方式 线选法 全译码 部分译码 1 线选法每个片选信号与一条高位地址线直接连接 电路简单 地址不连续 地址存在重叠 线选法地址空间 基本地址空间 A15A14 00 线选法地址空间 重叠地址空间1 A15A14 01 线选法地址空间 重叠地址空间2 A15A14 1
10、0 线选法地址空间 重叠地址空间3 A15A14 11 两个基本概念 地址重叠 由于存在没有使用到的地址信号 其值等于 0 或等于 1 都不影响存储单元的选择 导致同一个单元针对这些地址信号等于 0 或者等于 1 而对应不同的地址码 即多个地址码对应同一个物理的存储单元 地址不连续 由于在同一个时刻只有一个片选信号有效 导致用于片选的地址码在数值上不连续 使得不同存储器芯片的地址码在数值上不连续 2 全译码选择方式所有高位地址经译码器后控制片选信号 电路复杂 地址连续 不存在重叠 D7 D0A0 A9CS A10 A15 6 64译码器 全译码地址空间 74LS138译码器 3 部分译码选择方
11、式选择部分高位地址经译码器后控制片选信号 电路适中 地址连续 存在重叠空间 片选译码电路 A10 A11 A12 A13 A14 部分译码地址空间 基本地址空间 A15 0 部分译码地址空间 重叠地址空间 A15 1当A15由0变为1时 相当于把原地址范围对应加上8000H即可 所以各个芯片的重叠空间为 1 A000H A3FFH2 A400H A7FFH3 A800H ABFFH4 AC00H AFFFH 例 按规定地址范围设计译码电路用1k 8的芯片构成4k 8的存储器 设计16位地址部分译码电路 要求地址范围 7000H 7FFFH 分析 芯片个数 4k 8 1k 8 4不变地址 A15
12、A14A13A12 0111 接译码器控制信号或输入信号可变地址 A11 A0 000H FFFH 其中 片内寻址 A9 A0 接芯片内的地址信号片间寻址 A11A10 接译码器输入信号 A10 A11 A12 A13 A14 A15 二 存储器的数据线及控制线的连接 存储器的数据线一般为8位 8088有8位外部数据总线 可以直接与存储器的数据线对接 8086有16位外部数据总线 采用分体结构 连接低8位数据线的存储器为偶存储体 当A0 0时该存储体工作 连接高8位数据线的存储器为奇存储体 当BHE 0时该存储体工作 1 数据信号的连接 对8088系统 IO M 高电平访问外设 低电平访问存储
13、器 该信号控制存储器片选 BHE 8088的该信号无效 A0 A0信号参与存储器的片内寻址 2 控制信号的连接 2 控制信号的连接 例5 4 用4k 8的EEPROM芯片2732 8k 8的RAM芯片6264 译码器74LS138构成8k字ROM和8k字RAM的存储器系统 最小模式系统 计算芯片数量 2732 8k 16 4k 8 2 2 4 6264 8k 16 8k 8 1 2 2 连接数据线 1 3 2732的D7 D0作低8位数据 为偶存储体 2 4 2732的D7 D0作高8位数据 为奇存储体 1 6264的D7 D0作低8位数据 作为偶存储体 2 6264的D7 D0作高8位数据
14、作为奇存储体 D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A12OEWECS1CS2 D7 D0A0 A12OEWECS1CS2 存储器片内寻址2732 4k单元 12根地址 A1 A12 6264 8k单元 13根地址 A1 A13 综合后 选择A1 A13作为存储器片内寻址 D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A12OEWECS1CS2 D7 D0A0 A12OEWECS1CS2 存储
15、器片选信号存储器片选信号由存储体选择信号 片间寻址地址线 与存储器访问信号共同决定 所有片选信号只在存储器访问信号有效时才有效 对8086而言其M IO 1 8088的IO M 0 该信号常接74LS138译码器的控制信号 所有偶存储体的片选信号只在A0 0时有效所有奇存储体的片选信号只在BHE 0时有效 D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A11OECS D7 D0A0 A12OEWECS2CS1 D7 D0A0 A12OEWECS2CS1 A0 VCC VCC A14 A15 A16 A17 A18 A B C G
16、1 A13 各芯片地址范围 基本地址A19 01 2732 00000H 01FFFH中的偶地址2 2732 00000H 01FFFH中的奇地址3 2732 02000H 03FFFH中的偶地址4 2732 02000H 03FFFH中的奇地址1 6264 04000H 07FFFH中的偶地址2 6264 04000H 07FFFH中的奇地址重叠地址如何 高档计算机的存储体 每个存储体提供8位数据 08位CPU需1个存储体16位CPU需2个存储体 BHEA032位CPU需4个存储体 BH3BH2BH1BH064位CPU需8个存储体 BH7 BH0 用1k 1的片子组成1k 8的存储器 需8个
17、芯片地址线 210 1024 需10根数据线 8根控制线 WR A9 A0 D7 D0 WR WE CPU系统 二 只读存储器 EPROM 典型芯片Intel2716 2K 8 教材p123 1 芯片特性数据线 8条地址线 11条控制线 读允许OE片选控制 CE2 接口方法 P126 图6 12 例 用EPROM2716 2K 8 为某8位CPU设计一个16KB的ROM存储器 1 确定芯片组数 每片2716存储容量为2KB 16KB需要8片 2 片内译码 3 8个片选信号的译码 用74LS138 4 CPU的总线与存储器的连接数据线8条片上11条地址线直接与CPU的低位地址线连接控制线 读RD
18、 M A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 01100000000000000000 60000H 11111111111 607FFH 01100000100000000000 60800H 11111111111 60FFFH 分析 高位地址线状态 A19A18A17A16A15A14 011000 片内寻址 片选信号 三 静态随机存储器 SRAM 典型芯片Intel2114 1K 4 1 芯片特性数据线 4条地址线 10条控制线 读写允许WR 片选控制 CE2 接口方法 P127 例 用1k 4的片子2114组成2k 8的存储器 需4个芯片地址线 211 2048 需11根 片内10根 片选1根 数据线 8根控制线 IO M和WR 若要将存储器地址布置在2400H开始的的单元 片选信号如何接线 分析 A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A000100100000000001111111111第一组地址 2400H 27FFH 译码器输出的第9个信号作片选00101000000000001111111111第二组地址 2800H 2BFFH 译码器输出的第10个信号作片选 片内寻址