微机原理与接口技术第3章,存储器
微型计算机原理与接口技术 第三章存储器 存储器系统的设计目标 尽可能快的存取速度 尽可能大的存储容量 尽可能低的单位成本 价格 位 存储器是用来存放程序和数据 是冯诺依曼计算机结构的重要组成部分 重点是存储器与CPU接口的基本技术 本章需解决的主要问题 存储器如何存储信息 在实际应用中如何用存储芯片组成具有一定容量的存储器 存储器是计算机系统中的记忆设备 用来存放程序和数据 更确切地说 存储器是存放二进制编码信息的硬件设备 根据存储材料的性能及使用方法的不同 存储器有各种不同的分类方法 构成存储器的存储介质 目前主要采用半导体器件和磁性材料 存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元 它可存储一个二进制代码 由若干个存储元组成一个存储单元 然后再由许多存储单元组成一个存储器 3 1存储器概述 3 1 1存储器分类 1 按存储介质分类 半导体存储器 用半导体器件组成的存储器 磁表面存储器 用磁性材料做成的存储器 随机存储器 任何存储单元的内容都能被随机存取 且存取时间和存储单元的物理位置无关 顺序存储器 只能按某种顺序来存取 存取时间和存储单元的物理位置有关 2 按存取方式分类 3 按存储器的读写功能分类 只读存储器 ROM 存储的内容是固定不变的 只能读出而不能写入的半导体存储器 随机读写存储器 RAM 既能读出又能写入的半导体存储器 非永久记忆的存储器 断电后信息即消失的存储器 永久记忆性存储器 断电后仍能保存信息的存储器 4 按信息的可保存性分类 内存 主存储器或主存 外存 辅助存储器或辅存 3 高速缓存 Cache 存放CPU在当前一段时间内多次使用的程序和数据 1 主存 内存 主要存放CPU当前要使用的程序和数据 2 辅存 外存 存放大量的后备程序和数据 5 按在计算机系统中的作用分类 在某一段时间内 CPU频繁访问某一局部的存储器区域 而对此范围外的地址则较少访问的现象就是程序的局部性原理 3 1 2存储器的分级结构 为了解决存储器速度与价格之间的矛盾 出现了存储器的层次结构 cache是介于CPU和主存之间的小容量存储器 存取速度比主存快 它能高速地向CPU提供指令和数据 加快程序的执行速度 它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术 cache的功能 Flash演示 1 高速缓冲存储器 CPU主存之间的数据传输都必须经过Cache控制器 Cache控制器将来自CPU的数据读写请求 转向Cache存储器 如果数据在Cache中 则CPU对Cache进行操作 称为一次命中 命中时 CPU从Cache中读写数据 则CPU与Cache达到同步 使用cache的必要性 若数据不在Cache中 则CPU对主存操作 称为一次失败 失败时 CPU必须在其机器周期中插入等待周期 根据程序的局部性原理 在主存和CPU之间设置Cache 把正在执行的指令地址附近的一部分指令和数据从主存转入Cache中 供CPU在一段时间内使用 是完全可行的 使用Cache的可行性 这种对局部范围内的存储器地址频繁访问 而对范围以外的地址访问甚少的现象称为程序访问的局部性 同样 数据访问也存在局部性 对大量的典型程序的运行情况分析结果表明 在一个较短的时间内 由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内 指令是顺序执行的 即执行完当前指令后 紧接着执行存储地址相邻的下一条指令 因此指令地址的分布是连续的 遇到转移或调用指令 在完成转移和调用后 又进入顺序执行方式 指令地址连续分布的特点 加上循环程序段和子程序段的重复执行 对这些地址的访问自然具有时间上集中分布的倾向 这有利于对存储器实现层次结构 存储器的层次结构是基于程序的局部性原理的 对大量典型程序运行情况的统计分析得出的结论是 CPU对某些地址的访问在短时间间隔内出现集中分布的倾向 Cache 主存和外存构成存储系统的三级存储体系结构 增大容量 降低价格 Cache引入主要解决存取速度 外存引入主要解决容量要求 CPU内的寄存器 Cache 主存 外存都可以存储信息 它们各有自己的特点和用途 它们的容量从小到大 而存取速度是从快到慢 价格与功耗从高到低 主存储器 内存 是计算机系统的主要存储器 用来存放计算机运行期间的大量程序和数据 2 主存储器 程序执行过程中的中间结果保存在内存中 程序最终运行结果需要长期保存时 又从内存调入外存中 通常 用户程序执行前都存放在外存储器中 当要执行时 由操作系统将其从外存调入内存 并把其中即将要执行的部分同时调入cache中 外存储器为大容量辅助存储器 通常用来存放系统程序和大型数据文件或数据库 外存储器具有存储容量大 位成本低的优点 满足计算机的大容量存储要求 目前主要使用磁带存储器 磁盘存储器和光盘存储器 3 外存储器 表3 1存储器的用途和特点 3 1 3存储器的主要性能指标 字节数若主存按字节编址 即每个存储单元有8位 1KB 1024B1MB 1KB 1KB 1024 1024B 单元数 位数若主存按字编址 即每个存储单元存放一个字 字长超过8位 例如 机器字长32位 其存储容量为4MB 若按字编址 那么它的存储容量可表示为1MW 二 存储器的主要性能指标 2 存取时间 存取时间 访问时间 是指从启动一次存储器操作到完成该操作所经历的时间 存取周期 又称读写周期或访问周期连续启动两次独立的存储器操作所需的最短时间间隔 上页 下页 返回 上页 下页 返回 存取时间与存取周期的关系 例如 ROM存取时间通常为几百ns RAM存取时间通常为几十ns到一百多ns 双极性RAM存取时间通常为10 20ns 平均故障间隔时间 MTBF 即两次故障之间的平均时间间隔 EPROM重写次数在数千到10万次之间 ROM数据保存时限是20年到100多年 3 可靠性 存储器的性能包括以上几个方面 但是成本也占很大的比重 因此 常以性能价格比来衡量 即高性能 低价格 4 性能价格比 3 1 4存储器的组成与读 写过程 主存的组成主要包括地址译码器 存储体 读 写控制逻辑电路及输入 输出缓冲器 主存储器由大量存储器芯片按照一定的规则组合而成 主存储器 挂 在总线上 芯片自然也就 挂 在总线上 存储体是由半导体介质按照一定结构组成的存储单元的集合 其每一个存储单元中包含若干并行读写的记忆元件 即若干二进制数据位 为便于制造和读写控制 这个存储信息的集合体常组成二至三维的阵列 所以又称存储体为存储矩阵 它是存储芯片的核心部件 主存储器的其他组成部分 可以理解为其服务的外围电路 1 存储体 存储二进制信息的矩阵 由多个基本存储单元组成 每个存储单元可有0与1两种状态 即存储1bit信息 也可存储4位 8位信息等 在构成存储器时 一般以字节为单位 而存储器芯片有1位片 4位片和8位片 存储体 用来存储信息 它由存储单元组成 采用二维矩阵的连接方式 n为地址线条数 N为存储单元数 即 若n 10 N 2n 1024 2 地址译码器 2n N 作用 是根据输入的地址选择所要访问的存储单元 设计方案有两种 单译码 适用于小容量存储器 双译码 地址译码器只有一个 译码器的输出选择对应的一个字 2 地址译码器 1 单译码 例如 16 1存储体 有4位地址输入 输出为16个 分别对应16个存储单元 1 单译码 地址译码器 存储单元 存储单元 存储单元 A0 A1 A2 A3 字0 字1 字16 0000 0001 1111 2 双译码 采用两个地址译码器 分别产生行选通信号和列选通信号 行选通信号和列选通信号同时有效时的单元被选中 例1 16 1存储体 采用双译码 例2 1024 1存储体 采用双译码 假定X方向有M根选择线 Y方向有N根选择线 则存储矩阵为M N 在每个X Y选择线的交叉点有一个存储单元 存储矩阵4 4 16 1位 是指16个字的同一位 若用8个同样的存储矩阵 则可组成16个字 字长8位的存储体 例 4 4存储矩阵的结构 存储体地址译码器读写控制电路I O电路 例2 1024 1存储体 采用双译码 两者相比 双译码时地址驱动线的数目减少到单译码的1 16 例 已知某存储器芯片为1K 8 试比较内部采用两种不同地址译码方式时使用译码驱动线的多少 解 芯片为1K 8 即地址输入线数目n 10 则单译码方式地址译码驱动线数目 2n 210 1024 双译码方式取X向 Y向各n 2 5位译码 X向 Y向 地址译码驱动线数目 2n 2 25 32 双译码方式地址译码驱动线数目 2n 2 2n 2 32 32 64 控制逻辑电路接收来自CPU的时钟与读 写信号 根据地址译码的结果 控制存储器指定单元中的数据读出或者写入 控制数据的输出 或者把数据线上的数据写入到主存的指定单元中 3 读 写控制逻辑电路 4 输入 输出缓冲器 首先将地址送地址总线 经译码选中某一存储单元 同时 需写入的数据经数据总线送三态输入缓冲器 当写信号有效时 由内部控制逻辑电路控制 将外部数据线上的数据写入到所选中的存储单元中 存储器的读 写过程 首先将地址送到地址总线 经译码选中某一存储单元 当读信号有效时 所选中单元中的数据读出 经三态输出缓冲器送到外部数据总线上 1 存储器读操作 2 存储器写操作 半导体存储器 随机存取存储器 RAM 只读存储器 ROM 双极型RAMMOS型RAM 3 2随机存取存储器RAM 一 静态RAM SRAM SRAM 依靠双稳态电路内部交叉反馈的机制存储信息 特点 不断电信息可以长时间保存 不需要刷新 外围电路简单 功耗大 速度快 作Cache 1 基本存储元 1 存储元 存储1位二进制代码信息的器件 最小的存储单位 一 静态RAM SRAM 存储元基本功能 具有两种稳定状态 两种稳定状态经外部信号可以相互转换 经控制 能读出其中的信息 无外部原因 其中的信息能长期保存 2 组成电路由6个场效应管组成 T1 T2 T3 T4组成的双稳态触发器 能长期保持信息的状态不变 是因为电源通过T3 T4不断供给T1或T2电流 3 SRAM的基本存储电路 T1 T2为工作管 T3 T4为负载管 T5 T6为控制管 T1 T3 MOS反相器T2 T4 MOS反相器 两个MOS反相器交叉耦合成触发器 3 SRAM的基本存储电路 定义 两个稳态 T1导通 T2截止为1态T1截止 T2导通为0态 4 典型SRAM芯片 上页 下页 返回 二 动态RAM DRAM 1 单管DRAM基本存储电路 写入 字选择线为1 T管导通 写入信息 由数据线存入电容C中 读出 字选择线为 1 存储在电容C上的电荷通过T输出到数据线上 通过读出放大器即可得到存储信息 1 单管DRAM基本存储电路 刷新 定期向电容补充电荷原因 DRAM依靠电容电荷存储信息 平时无电源供电 时间一长电容电荷会泄漏掉 需要定期向电容补充电荷 以保持信息不变 3 典型DRAM芯片 2 DRAM的刷新方式 周期性地对动态存储器进行读出 放大 再写回 ROM中的信息在使用时是不被改变的 即只能读出 不能写入 写入是有条件的 故一般只能存放固定程序和常量 如监控程序 BIOS程序等 3 3只读存储器ROM ROM芯片的种类很多 有掩膜ROM 可编程ROM PROM 可擦除可编程ROM EPROM 电可擦除可编程ROM EEPROM 等 1 掩膜只读存储ROM 掩膜ROM是厂家根据用户的要求采用掩膜技术把程序和数据在制作集成电路时就已写入完成 一旦制造完毕 存储器的内容就被固定下来 用户不能修改 若要修改 就只能重新设计掩膜 2 可编程只读存储器PROM PROM存储矩阵内所有字线与位线的交叉处均连接有二极管或三极管 即出厂时 存储单元的内容是全 1 或全 0 使用时 用户根据自己的需要 将某些位的内容改写 烧断熔丝 即可 但只能改写一次 PROM基本存储电路 2 可编程只读存储器PROM 可编程只读存储器出厂时各单元内容全为0 用户可用专门的PROM写入器将信息写入 这种写