1、第三章存储器及其接口 存储器概述半导体存储器内存的管理存储器接口技术主存储器接口高速缓冲存储器接口 3 1概述存储器 计算机中存放指令和数据的设备 要求 容量大 速度快 成本低但这三者在同一个存储器中不可兼得解决 采用分级存储器结构 通常将存储器分为高速缓冲存储器 主存储器和外存存储器三级 三级存储器的结构示意图 微型计算机接口技术 第3章存储器及其接口 3 2半导体存储器半导体存储器的分类制作工艺可分为 双极型 MOS型存取方式可分为 SAM RAM ROM MOS型 ROM E2PROM 电可擦PROM 掩膜ROM PROM 可编程ROM EPROM 紫外线可擦PROM RAM 双极型 S
2、AM型 半导体存储器 第3章存储器及其接口 3 2半导体存储器1 RAM 易失性存储器 随时可以读写SRAM静态随机存取存储器 特点 状态稳定 不需要刷新 速度快 驱动电路简单缺点 功耗大 集成度低 成本高 第3章存储器及其接口 RAM由地址译码器 存储矩阵和读写控制电路三部分组成 它能对任意一个地址单元进行读写操作 SRAM存储单元为R S触发器 如六管CMOS静态存储单元 SRAM存储器组成 SRAM存储器芯片实例 Intel2114 64 64存储矩阵 A3 A4 A5 A6 A7 A8 A0 A1 A2 A9 I O1 I O2 I O3 I O4 CS WE Vcc GND 1 64
3、 16 1 行选择 列I O控制 列选择 输入数据控制 是一个1K 4位的SRAM4096个六管存储元电路排成了64 64的矩阵地址线A3 A8用于行译码 A0 A1 A2 A9用于列译码 每根列选择线同时连接4位 片选 低电平有效 CS和WE通过三态门控制数据的输入和输出 读写控制 低电平为写 高电平为读 DRAM动态随机存取存储器优点 集成度高 功耗低缺点 最易失性 需刷新把几片DRAM安置在一个称作 内存条 的印刷电路板上 通过主板上的标准插件与总线相连 第3章存储器及其接口 DRAM由动态存储单元 三管 单管动态存储单元 构成存储矩阵 它是利用栅电容C或集成电容CS来暂存信号的 2 R
4、OM 只读存储器PROM ProgrammableROM EPROM ErasableProgrammableROM E2PROM ElectricallyEeasable 第3章存储器及其接口 3 快擦写存储器 Flashmemory 与普通的E2PROM的物理结构基本相同 4 FRAM FerroelectricRAM 铁电存储器非易失性的RAM存储器读写速度快 无限次 的擦写功耗远远低于其他非易失性存储器 3 3内存的管理80X86物理存储器的基本存储单元为1字节 最大物理空间为232B 4GB Pentium以上处理器的最大物理地址空间为64GB 多字节数据的存放规则是低字节进入低地址
5、 高字节进入高地址 且低字节的地址是多字节数据的访问地址 第3章存储器及其接口 CPU不同的工作方式 就有不同的物理存储器寻址法 16位微机的内存管理只有一种方式 实地址方式 32位微机的内存管理有 实地址方式 虚地址保护方式 V86 虚拟8086 方式 是一种模拟仿真8086方式 寻址过程和实地址方式相同 微型计算机接口技术 第3章存储器及其接口 1 实地址方式每个存储单元的地址 可以用20位物理地址表达 也可以用 段基址 偏移量 表示 20位物理地址 16位段基址 10H 16位偏移量32位地址线中只有20位地址线A19 A0起作用 所以最大物理空间只有220B 1MB地址编号 00000
6、H FFFFFH 4G的其它空间没有作用 段地址仍然为16的倍数 每个段的最大地址空间为64KB 段寄存器的值是段的起始地址 说明 实地址方式下仅使用了1MB地址空间 并不等于物理存储器只有1MB 2 保护虚地址模式 1 80X8632位地址线都能寻址 物理存储器的最大寻址空间为232B 4GB 第3章存储器及其接口 2 寻址方式 先生成线性地址 再生成物理地址 两个地址都采用段基址 偏移量的方法 3 由于段寄存器只有16位 在生成线性地址时 32位段基址只能放在存储器中 为此引入 描述符 Descriptor 的概念 生成线性地址由MMU的分段部件完成 段基址和偏移量都是32位32位线性地址
7、 32位段基址 32位偏移量生成物理地址由MMU的分页部件完成 基址是20位的页基址 偏移量12位32位物理地址 20位页基址 1000H 12位偏移量 第3章存储器及其接口 2 保护虚地址模式 描述符 Descriptor 描述符 是一种存放在内存条中的数据结构 一个描述符由64位二进制组成 其中包含32位段基址 8K 8192 个描述符集合成一个 描述符表 从描述符表中寻址一个描述符需要13位地址 通常16位选择符 即段寄存器 的D15 D3专门用于存放13位地址信号 称 段号索引ID 32位线性地址的生成 先把16位选择符装入段寄存器 相应电路根据13位段号索引值确定出8192个描述符中
8、的一个 然后把描述符的64位内容装入段描述符寄存器 最后从段描述符寄存器中取出32位段基址与32位偏移量相加 第3章存储器及其接口 保护虚地址方式下的32位物理地址形成 段地址可达32位 其值可以不是16的倍数 每个段的容量可达4G 段寄存器的值不是段地址 而是段描述符在段描述符表中的相对地址 是描述符在描述符表中的索引 3 存储器管理技术 分段和分页分段 完成逻辑地址到线性地址的转换对存储器段内某个字或字节进行访问 程序中必须给出逻辑地址 段选择符和偏移量 第3章存储器及其接口 3 存储器管理技术 分段和分页分页 多用于虚拟存储器管理分页 Why 在cpu中设置分页机制是由计算机的实际系统决
9、定的 如 内存条仅512M 1G等 实际配置的物理存储器与系统能寻址的4G线性空间少 在把46位的虚拟地址转换成32位线性地址时 这32位的线性地址未必恰好有合适的内存支持 分段利用描述符把虚拟地址转换位线性地址 分页利用页目录和页表将线性地址转换为物理地址 第3章存储器及其接口 处理器将线性地址空间划分为固定大小的页面 在内存中建立一个页目录和一套页表 用于保存页面的映射信息 虚拟存储器和物理存储器都被划分成同样尺寸的页 通常是4KB 第3章存储器及其接口 分段 实质是把虚拟空间和线性空间划分成若干个段 虚拟空间的每一个段都可以映射到线性空间的对应段上 分页 实质是把线性空间和物理空间都划分
10、成若干个页 线性空间中任何一页都可以映射到物理空间的任何一页 第3章存储器及其接口 3 4存储器接口技术1 连接方法地址线的连接 cpu的地址线经过地址译码器产生芯片的片选信号 1个存储器的多个芯片区分开 RAM和ROM区分开 数据线的连接 2 存储器地址译码法片选控制译码器 对高位地址译码后产生存储器芯片片选信号片内地址译码电路 对低位地址译码实现片内存储单元的寻址线选法 CPU寻址空间远大于存储器容量时 用高位地址直接作为存储器芯片的片选信号 每根地址线选通一块芯片 线选结构示意图 第3章存储器及其接口 例题3 1使用16K 8位ROM芯片组成64K 8位存储器 CPU使用8088 方法一
11、 线选法 第3章存储器及其接口 第3章存储器及其接口 2 存储器地址译码法全译码法 除了将低位地址总线直接与各芯片的地址线相连之外 其余高位地址总线全部经译码后作为各芯片的片选信号 三总线连接 例题3 1使用16K 8位ROM芯片组成64K 8位存储器 CPU使用8088 方法二 全译码法 第3章存储器及其接口 第3章存储器及其接口 例题3 1使用16K 8位ROM芯片组成64K 8位存储器 CPU使用8088 方法三 部分译码法 AB 20根A0 A13 接芯片A14 A15 接片选地址译码器输入A16 A19 空 部分译码法 将高位地址线中的一部分进行译码 产生片选信号 用于不需要全部地址
12、空间的寻址能力 但采用线选法时地址线又不够用的情况 第3章存储器及其接口 三种译码法的特征比较 思考题 使用6116 2K 8 SRAM芯片组成16K 8存储器 设起始地址为40000H CPU用8088 使用全译码设计译码器 以Intel2716 2K 8位 芯片为例与8位CPU的连接方法 低位地址线 数据线直接相连 工作电源VCC直接与 5V电源相连 编程电源通常由开关控制 CE 和OE 信号分别由CPU高位地址总线和控制总线译码后产生 通常采用下图所示的3种方法 第3章存储器及其接口 3 5主存储器接口 EPROM与CPU的接口 Intel2716芯片与CPU的连接方法 第3章存储器及其
13、接口 例题 教材P125 用2716EPROM芯片为8位微处理器设计一个16KB的ROM存储器 第3章存储器及其接口 第3章存储器及其接口 3 5主存储器接口 例题3 3使用下图所示的SRAM存储芯片构成存储空间为B6000H B6BFFH的存储器 译码器使用74LS138 CPU使用8088 分析 B6000H B6BFFH 3KB芯片容量为1K 4 因此所需芯片6片 芯片分3组 每组芯片数为2片 2 SRAM与CPU的接口 第3章存储器及其接口 第3章存储器及其接口 注意 DRAM没有CS信号 其它控制线和数据线接法与EPROM SRAM基本相同 DRAM和CPU相连时 其地址线需要通过R
14、AS和CAS产生电路和行列地址形成电路在与地址总线相连 总结 第3章存储器及其接口 例题3 4要给地址总线为16位的某8位微机设计一个容量为12KB的存储器 要求ROM区为8KB 从0000H开始 采用2716芯片 2KB 8 RAM区为4KB 从2000H开始 采用6116芯片 2KB 8 试画出设计的存储器系统的连线图 分析 第3章存储器及其接口 第3章存储器及其接口 思考题1 1 对由8K 8位 RAM组成的存贮器系统 若某组的起始地址为08000H 则其末地址为H 2 用2K 4位的存贮芯片组成6K 8位的存储器 需用该片 思考题2 下图是一个未完成的译码器与RAM的电路图 1 若RA
15、M1 RAM2的地址为D000H D7FFH 请按要求完成图中所标识的引脚连线 2 请写出RAM3的地址空间 第3章存储器及其接口 第3章存储器及其接口 3 6高速缓冲存储器接口在引入高速缓冲存储器的系统中 内存由两级存储构成 一级是采用高速静态RAM芯片组成的小容量存储器 即Cache 另一级是用廉价的动态RAM芯片组成的大容量主存储器 1 Cache原理和cache的映射 1 原理 程序运行的所有信息存放在主存储器内 而高速缓冲存储器中存放的是当前使用最多的程序代码和数据 即主存中部分内容的副本 CPU访问存储器时 首先在Cache中寻找 若寻找成功 通常称为 命中 则直接对Cache操作
16、 若寻找失败 则对主存储器进行操作 并将有关内容置入Cache 第3章存储器及其接口 引入Cache是存储器速度与价格折衷的最佳方法 第3章存储器及其接口 开始 接收CPU发出的读数地址 包含该地址的块在Cache中 CPU访问指定地址主存储器 为主存数据块分配Cache行 指定地址数据块读入CPU 指定地址数据块装入Cache行 N Y CPU从Cache中取得指定地址内容 结束 Cache的读操作 第3章存储器及其接口 2 映射全相联 主存中的每一页面映像到cache中的任何一个页面位置 直接 不同段中页号相同的内容只能一个复制到缓存中去 分组相联 前两者的折中 3 置换 或替换 算法当Cache访问不命中 需要访问主存并讲主存数据块装入Cache时 某一行Cache行中原来的数据讲被替换 FIFO 先进先出 算法LRU 最近最少使用 算法