计算机组成原理 第 4 章 存储器系统.ppt_第1页
计算机组成原理 第 4 章 存储器系统.ppt_第2页
计算机组成原理 第 4 章 存储器系统.ppt_第3页
计算机组成原理 第 4 章 存储器系统.ppt_第4页
计算机组成原理 第 4 章 存储器系统.ppt_第5页
已阅读5页,还剩302页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 3 15 第8版2012 09 1 第四章存储器系统 2020 3 15 2 本章学习内容存储器的分类及主要技术指标存储系统的层次结构半导体存储器的工作原理存储器与CPU的连接辅助存储器的工作原理Cache的工作原理并行存储系统 2020 3 15 3 4 1存储器概述 存储器 计算机的存储部件 用于存放程序和数据 计算机发展的重要问题之一 就是如何设计容量大 速度快 价格低的存储器 2020 3 15 4 4 1 1存储器分类 1 按与CPU的连接和功能分类 1 主存储器CPU能够直接访问的存储器 用于存放当前运行的程序和数据 主存储器设在主机内部 所以又称内存储器 简称内存或主存 2020 3 15 5 2 辅助存储器 为解决主存容量不足而设置的存储器 用于存放当前不参加运行的程序和数据 当需要运行程序和数据时 将它们成批调入内存供CPU使用 CPU不能直接访问辅助存储器 辅助存储器属于外部设备 所以又称为外存储器 简称外存或辅存 2020 3 15 6 3 高速缓冲存储器 Cache Cache是一种介于主存与CPU之间用于解决CPU与主存间速度匹配问题的高速小容量的存储器 Cache用于存放CPU立即要运行或刚使用过的程序和数据 2020 3 15 7 2 按存取方式分类 1 随机存取存储器 RAM RAM存储器中任何单元的内容均可按其地址随机地读取或写入 且存取时间与单元的物理位置无关 RAM主要用于组成主存 2 只读存储器 ROM ROM存储器中任何单元的内容只能随机地读出而不能随便写入和修改 ROM可以作为主存的一部分 用于存放不变的程序和数据 与RAM分享相同的主存空间 ROM还可以用作其它固定存储器 如存放微程序的控制存储器 存放字符点阵图案的字符发生器等 2020 3 15 8 3 顺序存取存储器 SAM SAM存储器所存信息的排列 寻址和读写操作均是按顺序进行的 并且存取时间与信息在存储器中的物理位置有关 如磁带存储器 信息通常是以文件或数据块形式按顺序存放 信息在载体上没有唯一对应的地址 完全按顺序存放或读取 4 直接存取存储器 DAM DAM是介于RAM和SAM之间的存储器 也称半顺序存储器 典型的DAM就是磁盘 当对磁盘进行信息存取时 先进行寻道 属于随机方式 然后在磁道中寻找扇区 属于顺序方式 2020 3 15 9 3 按存储介质分类 存储介质 具有两个稳定物理状态 可用来记忆二进制代码的物质或物理器件 目前 构成存储器的存储介质主要是半导体器件和磁性材料 1 磁存储器磁存储器就是采用磁性材料制成的存储器 磁存储器是利用磁性材料的的两个不同剩磁状态存放二进制代码 0 和 1 早期有磁芯存储器 现多为磁表面存储器 如磁盘 磁带等 2020 3 15 10 磁芯存储器 2020 3 15 11 3 5英寸软盘 2020 3 15 12 硬盘 2020 3 15 13 2 半导体存储器 半导体存储器是用半导体器件组成的存储器 根据制造工艺不同 可分为双极型和MOS型 2020 3 15 14 U盘 2020 3 15 15 3 光存储器 利用光学原理制成的存储器 它是通过能量高度集中的激光束照在基体表面引起物理的或化学的变化 记忆二进制信息 如光盘存储器 2020 3 15 16 光盘和光驱 2020 3 15 17 1 易失性存储器电源掉电后 信息自动丢失 如半导体RAM 2 非易失性存储器电源掉电后 信息仍能继续保存 如ROM 磁盘 光盘等 4 按信息的可保存性分类 2020 3 15 18 4 1 2主存储器的组成和基本操作 2020 3 15 19 存储元件 存储元 存储位 能够存储一位二进制信息的物理器件 如一个双稳态半导体电路 一个CMOS晶体管或一个磁性材料的存储元等 存储元是存储器中最小的存储单位 作为存储元的条件 有两个稳定状态 即可以存储 0 1 在外界的激励下 能够进入要求的状态 即可以写入 0 1 能够识别器件当前的状态 即可以读出所存的 0 1 2020 3 15 20 六管静态RAM基本存储元电路 2020 3 15 21 单管DRAM基本存储元电路 2020 3 15 22 存储单元 由一组存储元件组成 可以同时进行读写 存储体 存储阵列 把大量存储单元电路按一定形式排列起来 即构成存储体 存储体一般都排列成阵列形式 所以又称存储阵列 存储单元的地址 存储体中每个存储单元被赋予的一个唯一的编号 存储单元的地址用于区别不同的存储单元 要对某一存储单元进行存取操作 必须首先给出被访问的存储单元的地址 因为地址是用二进制进行编码的 所以又称为地址码 2020 3 15 23 存储单元的编址编址单位 存储器中可寻址的最小单位 按字节编址 相邻的两个单元是两个字节 按字编址 相邻的两个单元是两个字 例如一个32位字长的按字节寻址计算机 一个存储器字中包含四个可单独寻址的字节单元 当需要访问一个字 即同时访问4个字节时 可以按地址的整数边界进行存取 即每个字的编址中最低2位的二进制数必须是 00 这样可以由地址的低两位来区分不同的字节 2020 3 15 24 2020 3 15 25 地址寄存器 用于存放所要访问的存储单元的地址 要对某一单元进行存取操作 首先应通过地址总线将被访问单元地址存放到地址寄存器中 地址译码与驱动电路 用于对地址寄存器中的地址进行译码 通过对应的地址选择线到存储阵列中找到所要访问的存储单元 并提供驱动信号驱动其完成指定的存取操作 读写电路 根据CPU发出的读写控制命令 控制对存储单元的读写 数据寄存器 暂存需要写入或读出的数据 数据寄存器是存储器与计算机其它功能部件联系的桥梁 2020 3 15 26 时序控制电路 用于接收来自CPU的读写控制信号 产生存储器操作所需的各种时序控制信号 控制存储器完成指定的操作 如果存储器采用异步控制方式 当一个存取操作完成后 该控制电路还应给出存储器操作完成 MFC 信号 2020 3 15 27 2 主存与CPU的连接及主存的操作 主存储器用于存放CPU正在运行的程序和数据 主存与CPU之间通过总线进行连接 2020 3 15 28 主存的操作过程 MAR 地址寄存器MDR 数据寄存器 2020 3 15 29 同步控制方式 数据传送在固定的时间间隔内完成 即在一个存取周期内完成 异步控制方式 数据传送的时间不固定 存储器在完成读 写操作后 需向CPU回送 存储器功能完成 信号 MFC 表示一次数据传送完成 目前多数计算机采用同步方式控制CPU与主存之间的数据传送 由于异步控制方式允许不同速度的设备进行信息交换 所以多用于CPU与外设的数据传送中 CPU与主存之间的数据传送控制方式 2020 3 15 30 4 1 3半导体存储器的主要性能指标 衡量主存的性能指标主要有 1 存储容量 存储器所能存储的二进制信息总量 存储容量的表示 用存储单元数与每个单元的位数的乘积表示 如 512k 16位 表示主存有512k个单元 每个单元为16位 在以字节为编址单位的机器中 常用字节表示存储容量 例如4MB 16MB分别表示主存可容纳4兆个字节 MB 信息和16兆个字节信息 2020 3 15 31 容量与存储器地址线的关系1K 210需要10根地址线1M 220需要20根地址线256M 228需要28根地址线2G 231需要31根地址线 2020 3 15 32 2 速度 由于主存的速度慢于CPU速度 所以主存速度直接影响着CPU执行指令的速度 因此 速度是主存的一项重要技术指标 访问时间 取数时间tA 从启动一次存储器存取操作到完成该操作所需的全部时间 即从存储器接到CPU发出的读 写命令和地址信号到数据读入MDR 从MDR写入MEM所需的时间 读出时间 从存储器接到有效地址开始到产生有效输出所需的时间 写入时间 从存储器接到有效地址开始到数据写入被选中单元为止所需的时间 2020 3 15 33 与tA相关的参数 tCA 指从加载到存储器芯片上的 引脚上的选片信号有效开始 直到读取的数据或指令在存储器芯片的数据引脚上可以使用为止的时间间隔 tOE 指从读 OE 信号有效开始 直到读取的数据或指令在存储器芯片的数据引脚上可以使用为止的时间间隔 2020 3 15 34 存取周期 存储周期 读写周期TM 对存储器连续进行两次存取操作所需要的最小时间间隔 由于存储器进行一次存取操作后 需有一定的恢复时间 所以存储周期TM大于访问时间tA 半导体存储器的存取周期tMTM tA 一定的恢复时间MOS型存储器的TM约100ns双极型TTL存储器的TM约10ns 2020 3 15 35 带宽是指存储器单位时间内所存取的二进制信息的位数 带宽也称存储器数据传输率 频宽Bm带宽等于存储器总线宽度除以存取周期 W 存储器总线的宽度 对于单体存储器 W就是数据总线的根数 带宽的单位 兆字节 秒 3 带宽 2020 3 15 36 提高存储器速度的途径 采用高速器件 减少存取周期TM 如引入Cache 提高总线宽度W 如采用多体交叉存储方式 采用双端口存储器 加长存储器字长 2020 3 15 37 4 价格 存储器的价格常用每位的价格来衡量 设存储器容量为S位 总价格为C总 每位价格为cc C总 SC总不仅包含存储器组件本身的价格 也包括为该存储器操作服务的外围电路的价格 存储器的总价格与存储容量成正比 与存储周期成反比 2020 3 15 38 4 可靠性 存储器的刷新可能会影响可靠性 存储器可靠性的衡量指标 主存的平均无故障时间MTBF MTBF越长 可靠性越高 除上述几个指标外 功耗也是影响存储器性能的因素之一 2020 3 15 39 容量 速度 价格三个指标是相互矛盾 相互制约的 高速的存储器往往价格也高 因而容量也不可能很大 为了较好地解决存储器容量 速度与价格之间的矛盾 在现代计算机系统中 通常都是通过辅助软 硬件 将不同容量 不同速度 不同价格的多种类型的存储器组织成统一的整体 即构成存储器系统的多级层次结构 4 1 4存储器系统的层次结构 2020 3 15 40 存储器层次结构 辅助软硬件 辅助硬件 2020 3 15 41 按层次结构自上而下 访问时间逐渐增长寄存器的访问时间是几个纳秒高速缓存的访问时间是寄存器访问时间的几倍主存储器的访问时间是几十个纳秒磁盘的访问时间最少10ms以上磁带和光盘的访问时间以秒来计量 2020 3 15 42 存储容量逐渐增大寄存器约几十到几百字节Cache约几百到几M字节主存在几十MB到几GB之间磁盘的容量为几十GB到几TB磁带和光盘一般脱机存放 其容量只受限于用户的预算 2020 3 15 43 存储器每位的价格逐渐降低例如主存的价格约每兆字节几角磁盘的价格是每兆字节几分或更低磁带的价格是每G字节几元或更低 2020 3 15 44 Cache 主存层次主要解决速度问题通过辅助硬件 把主存和Cache构成统一整体 使它具有接近Cache的速度 主存的容量和接近于主存的平均价格 主存 辅存层次主要解决容量问题大量的信息存放在大容量的辅助存储器中 当需要使用这些信息时 借助辅助软 硬件 自动地以页或段为单位成批调入主存中 2020 3 15 45 4 2半导体存储器 4 2 1半导体存储器的分类 2020 3 15 46 4 2 2随机存取存储器的结构及工作原理 1 半导体存储器芯片结构及实例存储器组件把存储体及其外围电路 包括地址译码与驱动电路 读写放大电路及时序控制电路等 集成在一块硅片上 称为存储器组件 存储器芯片存储器组件经过各种形式的封装后 通过引脚引出地址线 数据线 控制线及电源与地线等 制成存储器芯片 2020 3 15 47 存储器芯片 2020 3 15 48 存储器芯片一般做成双列直插形式 有若干引脚引出地址线 数据线 控制线及电源与地线等 半导体存储器芯片一般有两种结构 字片式结构和位片式结构 2020 3 15 49 1 字片式结构的存储器芯片 2020 3 15 50 单译码方式 一维译码 访存地址仅进行一个方向译码的方式 每个存储单元电路接出一根字线和两根位线 存储阵列的每一行组成一个存储单元 存放一个8位的二进制字 一行中所有单元电路的字线联在一起 接到地址译码器的对应输出端 6位访存地址经地址译码器译码选中某一输出端有效时 与该输出端相联的一行中的每个单元电路同时进行读写操作 实现一个字的同时读 写 2020 3 15 51 64字 8位的存储体中共有64个字 每个字为8位 排成64 8的阵列 存储芯片共需6根地址线 8根数据线 一次可读出一个字节 存储体中所有存储单元的相同位组成一列 一列中所有单元电路的两根位线分别连在一起 并使用一个读 写放大电路 读 写放大电路与双向数据线相连 2020 3 15 52 读 写控制线R W 控制存储芯片的读 写操作 片选控制线CS CS为低电平时 选中芯片工作 CS为高电平时 芯片不被选中 2020 3 15 53 字片式结构存储器芯片 由于采用单译码方案 有多少个存储字 就有多少个译码驱动电路 所需译码驱动电路多 双译码方式 二维译码 采用行列译码的方式 位于选中的行和列的交叉处的存储单元被唯一选中 采用双译码方式的存储芯片即位片式结构存储器芯片 2020 3 15 54 2 位片式结构的存储器芯片 2020 3 15 55 4K 1位的位片式存储器芯片中有4096个存储单元电路 排列成64 64的阵列 4096个单元需12位地址 将12位地址分为6位行地址和6位列地址 对于给定的访存地址 经行 列译码后 选中一根行地址选择线和列地址选择线有效 行地址选择线选中一行中的64个存储电路进行读写操作 列地址选择线用于选择64个多路转接开关 控制各列是否能与读 写电路的接通 每个多路转接开关由两个MOS管组成 控制一列中的64个存储电路的位线与读 写电路的接通 2020 3 15 56 当选中存储芯片工作时 首先给定访存地址 并给出片选信号CS和读写信号R W6行列地址 被选的行 列选择线的交叉处的存储电路被唯一地选中 读出或写入一位二进制信息 采用双译码方案 对于4096个字只需128个译码驱动电路 而若采用单译码方案 4096个字将需4096个译码驱动电路 2020 3 15 57 3 Intel2114芯片 Intel2114是1K 4位的静态MOS存储器芯片 采用N MOS工艺制作 双列直插式封装 共18个引脚 A9 A0 10根地址线 用于寻址1024个存储单元I O4 I O1 4根双向数据线CS 片选信号线WE 读 写控制线 5V 5V电源线GND 地线 2020 3 15 58 三态门 X0 X63 Y0 Y15 2020 3 15 59 2114芯片由存储体 地址缓冲器 地址译码器 读 写控制电路及三态输入输出缓冲器组成 存储体中共有4096个六管存储单元电路 排列成64 64阵列 地址译码采用二维译码结构 10位地址码分成两组 A8 A3作为6位行地址 经行地址译码器驱动64根行选择线 A2 A0及A9作为4位列地址 经列地址译码器驱动16根列选择线 每根列选择线同时选中64列中的4列 控制4个转接电路 控制被选中的4列存储电路的位线与I O电路的接通 被选的行选择线与列选择线的交叉处的4个存储电路 就是所要访问的存储字 4个存储电路对应一个字的4位 2020 3 15 60 在存储体内部的阵列结构中 存储器的读 写操作由片选信号CS与读 写控制信号WE控制 CS为高电平时 输入与输出的三态门均关闭 不能与外部的数据总线交换信息 CS为低电平时 芯片被选中工作 若WE为低电平 则打开4个输入三态门 数据总线上的信息被写入被选的存储单元 若WE为高电平 打开4个输出三态门 从被选的存储单元中读出信息并送到数据总线上 2020 3 15 61 2114的读 写周期 在与CPU连接时 CPU的控制信号与存储器的读 写周期之间的配合问题是非常重要的 对于已知的RAM存储片 读写周期是已知的 读周期读出时间 tA 从给出有效地址后 经过译码 驱动电路的延迟 到读出选中单元的内容 再经过I O电路延迟后 在外部数据总线上稳定出现所读数据信息所需的时间 片选到数据输出延迟时间 tCO 从CS给出并有效 低电平 到存储器读出的数据稳定地送到外部数据总线上所需要的时间 2020 3 15 62 读周期 tRC 存储芯片进行两次连续读操作时所必须间隔的时间 tRC tACPU访问存储器读数据时 从给出地址有效起 只有经过tA长的时间才能在数据总线上可靠的获得数据 而连续的读数操作必须保留间隔时间tRC 否则存储器无法正常工作 CPU的读数操作就失效 2020 3 15 63 2020 3 15 64 写周期要使数据总线上的信息能够可靠地写入存储器 必须要求片选CS和写命令WE信号都为低 其相 与 的宽度至少应为tW写数时间 tW 片选CS和写命令WE信号均为低的时间 滞后时间 tAW 在有效写入数据出现前 RAM的数据线上存在着前一时刻的数据DOUT 故在地址线发生变化后 CS WE均需滞后tAW才能有效 以避免将无效数据写入到RAM中 写恢复时间 tWR WE变为高电平后 需再经过tWR时间 地址信号才允许改变 为了保证有效数据的可靠地写入 地址有效的时间至少应为tAW tW tWR 2020 3 15 65 写周期 tWC 对芯片进行连续两次写操作的最小间隔时间 tWC tAW tW tWR为保证数据可靠写入 CPU送至RAM的写入数据DIN必须在CS WE失效前的tDW时刻出现 并延续一段时间tDH 此刻地址线仍有效 tWR tDH 2020 3 15 66 tAW 滞后时间 2020 3 15 67 例如某SRAM的写入时序图 其中R W是读 写命令控制线 当R W线为低电平时 存储器按给定地址把数据线上的数据写入存储器 指出图中写入时序中的错误 并画出正确的写入时序图 2020 3 15 68 解释 写入存储器的时序信号必须同步 通常 当R W线加负脉冲时 地址线和数据线的电平必须是稳定的 当R W线达到低电平时 数据立即被存储 因此 当R W线处于低电平时 如果数据线改变了数值 那么存储器将存储新的数据 同样 当R W线处于低电平时地址线如果发生了变化 那么同样数据将存储到新的地址 或 2020 3 15 69 4 TMS4116芯片 TMS4116是由单管动态MOS存储单元电路构成的动态RAM芯片 容量为16k 1位 16k的存储器应有14根地址线 为了节省引脚 该芯片只使用7根地址线A6 A0 采用分时复用技术 分两次把14位地址送入芯片 行地址选通信号RAS 用于将低7位地址A6 A0打入行地址缓冲器锁存 列地址选通信号CAS 用于将高7位地址A13 A7 打入列地址缓冲器锁存 2020 3 15 70 TMS4116的外部引脚 2020 3 15 71 TMS4116的内部逻辑结构 2020 3 15 72 16k 1位共16384个单管MOS存储单元电路 排列成128 128的阵列 并将其分为两组 每组为64行 128列 每根行选择线控制128个存储电路的字线 列选择线控制读出再生放大器与I O缓冲器的接通 控制数据的读出或写入 每一根列选择线控制一个读出再生放大器 128列共有128个读生再生放大器 一列中的128个存储电路分为两组 每64个存储电路为一组 两组存储电路的位线分别接入读出再生放大器的两端 2020 3 15 73 TMS4116的存储阵列结构 2020 3 15 74 行地址经行地址译码选中某一根行线有效 接通此行上的128个存储电路中的MOS管 使电容所存信息分别送到128个读出再生放大器放大 同时 经放大后的信息又回送到原电路进行重写 使信息再生 列地址经列地址译码选中某根列线有效 接通相应的列控制门 将该列上读出放大器输出的信息送入I O缓冲器 经数据输出寄存器通过数据输出引脚DOUT输出到系统数据总线上 TMS4116的读出 2020 3 15 75 TMS4116的写入 首先将要写入的信息通过数据输入引脚DIN经由数据输入寄存器 I O缓冲器送入被选列的读出再生放大器中 然后再写入行 列同时被选中的存储单元 为写允许控制线为高电平 读出 为低电平 写入 TMS4116芯片没有专门设置选片信号 一般用信号兼做选片控制信号 只有当有效 低电平 时 芯片才工作 2020 3 15 76 TMS4116的刷新 当某个存储单元被选中进行读 写操作时 该单元所在行的其余127个存储电路也将自动进行一次读出再生操作 即完成一次刷新操作 TMS4116的刷新是按行进行的 每次只加行地址 不加列地址 即可实现被选行上的所有存储电路的刷新 即一次可以刷新128个存储单元电路 2020 3 15 77 TMS4116的读出再生放大器电路 2020 3 15 78 放大器由T1 T2 T3 T4组成 T6 T7与Cs是两个预选单元 由XW1与XW2控制 读写前 先使两个预选单元中的电容Cs预充电到0与1电平的中间值 并使控制信号 1 0 2 1 使T3 T4截止 T5导通 使读出放大器两端Wl W2处于相同电位 2020 3 15 79 读出先使 2 0 T5截止 放大器处于不稳定平衡状态 这时使 1 1 T3 T4导通 T1 T2 T3 T4构成双稳态触发器 其稳定状态取决于W1 W2两点电位 设选中的行选择线处于读出放大器右侧 如行65 同时使处于读出放大器另一侧的预选单元选择线有效 如XW1 1 这样 在放大器两侧的位线W1和W2上将有不同电位 预选单元侧具有0与1电平的中间值被选行侧具有所存信息的电平值0或1 2020 3 15 80 若选中存储电路原存 1 则W2电位高于W1的电位 使T1导通 T2截止 因而W2端输出高电平 经I O缓冲器输出 1 信息 并且W2的高电平使被选存储电路的电容充电 实现信息再生 若选中存储电路原存 0 则W2电位低于W1的电位 使T1截止 T2导通 因而W2端输出低电平 经I O缓冲器输出 0 信息 并回送到原电路 使信息再生 2020 3 15 81 写入在T3 T4开始导通的同时 将待写信息加到W2上 写1 W2加高电平 将被选电路的存储电容充电为有电荷 实现写 1 写0 W2为低电平 使被选电路的存储电容放电为无电荷 实现写 0 2020 3 15 82 TMS4116芯片的读 写周期时序 在读周期中 行地址必须在RAS有效前有效 列地址必须在CAS有效前有效 并且在CAS到来之前 WE必须为高电平 并保持到CAS结束之后 在写周期中 当WE有效之后 所加的DIN信号必须保持到CAS变为低电平之后 RAS CAS和WE全部有效时 将DIN数据写入被选的存储单元 2020 3 15 83 读周期 列选通下降沿触发 2020 3 15 84 写周期 列选通下降沿触发 2020 3 15 85 5 动态存储器的刷新方式 因为电容电荷的泄放会引起信息的丢失 所以动态MOS存储器每隔一定时间需进行一次刷新操作 刷新的间隔时间主要由电容电荷泄放速度决定 刷新最大周期 刷新最大间隔 设存储电容为C 其两端电压为u 电荷Q C u 则泄漏电流I为 2020 3 15 86 所以泄漏时间为 u 电容两端的电压变化I 泄露电流C 存储电容例如设某动态MOS元件的C 0 2pf 当I 0 1nA 电压变化 u 1V时 信息将丢失 则泄漏时间 t为 说明该动态MOS元件每隔2ms必须刷新一次 t就是刷新最大周期 刷新最大间隔 2020 3 15 87 动态存储器芯片的刷新均是按行刷新 例如 对于16K的4116芯片 存储体排成128 128阵列 刷新时 共需要刷新128行 每次由刷新地址计数器给出刷新的行地址 每刷新一行 刷新地址计数器加1 2020 3 15 88 动态存储器的刷新方式当主存需要刷新时 CPU不能访存 所以要尽可能让刷新时间少占用CPU时间 A 集中式刷新按照存储器芯片容量的大小集中安排刷新操作的时间段 在此时间段内对芯片内所有的存储单元电路执行刷新操作 CPU的 死区 在刷新操作期间 禁止CPU对存储器进行正常读 写的访问操作 称这段时间为CPU的 死区 2020 3 15 89 例如 设16k 1位芯片的存储矩阵为128 128 存储器的刷新最大周期为2ms 存储器的存取周期为500ns 一次刷新操作可同时刷新128个存储单元电路 因为存储矩阵为128 128 所以对芯片内的所有存储单元电路全部刷新一遍需要128个存取周期 因此在2ms内 必须留出128个周期专用于刷新 因为存储器的存取周期为500ns 所以在2ms内需要有500 128 64 s专门用于刷新操作 其余1936 s可用于正常的存储器读写操作 2020 3 15 90 集中式刷新的优点系统的存取周期不受刷新工作的影响 读写操作和刷新工作在最大刷新周期内分开进行 控制简单 集中式刷新的缺点在 死区 内CPU必须停止访存操作 CPU利用率低 2020 3 15 91 B 分散式刷新定义系统对存储器的存取周期是存储器本身的存取周期的两倍 再把系统的存取周期平均分为两个操作阶段 前一个阶段用于对存储器的正常访问 后一个阶段用于刷新操作 每次刷新一行 分散式刷新的优点 没有 死区 每一系统周期都可进行读 写操作 分散式刷新的缺点 没有充分利用所允许的最大刷新间隔 2ms 且刷新过于频繁 人为降低了存储器的速度 2020 3 15 92 以128 128阵列 存取周期为500ns的存储器芯片为例 采用分散式刷新时 系统总线周期为存取周期的两倍 即1 s 这样每隔128 s就可以将存储器全部刷新一遍 2020 3 15 93 C 异步式刷新异步式刷新是前两种刷新方式的折衷 其思想是充分利用最大刷新间隔 每隔一段时间刷新一行 以128 128阵列 存取周期为500ns 刷新最大周期为2ms的存储器芯片为例 因为要求在2ms内将所有128行都刷新一遍 所以只要每隔2ms 128 15 6 s的时间刷新一行即可 取两次刷新的间隔时间为周期的整数 可使存储器每隔15 5 s执行刷新操作一次 一次刷新一行 这样在15 5 s中 前15 s即30个存取周期用于读 写操作 后0 5 s用于刷新 2020 3 15 94 异步式刷新既充分利用了2ms的最大刷新间隔 保持了存储系统的高速性 又大大缩短了主机的 死区 所以是一种最常用的刷新方式 2020 3 15 95 D 透明式刷新利用CPU不访存操作时主存的空闲时间进行刷新 透明式刷新方式的优点 完全消除了 死区 透明式刷新方式的缺点 较难控制何时能够进行刷新 刷新控制电路极其复杂 2020 3 15 96 4 2 4半导体存储器的组成 由于一块存储器芯片的容量总是有限的 因此一个存储器总是由一定数量的存储器芯片构成 要组成一个主存储器 需要考虑的问题 如何选择芯片根据存取速度 存储容量 电源电压 功耗及成本等方面的要求进行芯片的选择 所需的芯片数量 2020 3 15 97 例 用2114芯片组成32K 8位的存储器 所需2114芯片数为 如何把许多芯片连接起来 要考虑地址 数据和控制信号线的连接 通常存储器芯片在单元数和位数方面都与实际存储器要求有很大差距 所以需要在字方向和位方向两个方面进行扩展 2020 3 15 98 1 位扩展 当芯片的单元数满足存储器单元数的要求 但单元中的位数不满足要求时 需要进行位扩展 位扩展 只进行位数扩展 加大字长 采用位扩展时 芯片的单元数 字数 与存储器的单元数是一致的 位扩展的连接方式 将所有存储器芯片的地址线 片选信号线和读 写控制线均对应的并接在一起 连接到地址和控制总线的对应位上 将各芯片的数据线单独列出 分别接到数据总线的对应位 2020 3 15 99 例 用2114存储器芯片构成1K 8位的存储器 2114为1K 4位的芯片 现存储器要求容量为1K 8位 单元数满足 位数不满足 需要1K 8 1K 4 2片2114来构成存储器 1K 8位的存储器共需8根数据线D7 D0 两片2114各自的4根数据线分别用于连接D7 D4和D3 D0 2114本身具有10根地址线 称为片内地址线 与存储器要求的10根地址线一致 所以只要将他们并接起来即可 电路中CPU的读 写控制线 R W 与2114的WE信号并接 MREQ为CPU的访存请求信号 作为2114的片选信号连接到CS上 2020 3 15 100 存储器位扩展举例 2020 3 15 101 2 字扩展 当芯片单元中的的位数满足存储器位数的要求 但芯片的单元数不满足存储器单元数要求时 需要进行字扩展 字扩展 仅是单元数 字数 扩展 而位数不变 采用字扩展时 芯片单元中的位数与存储器的数据位数是一致的 2020 3 15 102 字扩展的连接方式 将所有芯片的地址线 数据线 读 写控制线均对应地并接在一起 连接到地址 数据 控制总线的对应位上 由片选信号区分被选芯片 片选信号 通常由高位地址经译码进行控制 高位地址 存储器总地址减去芯片内部寻址的地址得到的地址 2020 3 15 103 例 用16K 8位的存储器芯片构成64K 8位的存储器 16K 8位的芯片 可以满足64K 8位的存储器数据位的要求 但不满足单元数的要求 需要4片16K 8位的芯片采用字扩充方式来构成存储器 64K 8位的存储器需要16位地址线A15 A0 而16K 8位的芯片的片内地址线为14根 所以用16位地址线中的低14位A13 A0进行片内寻址 高两位地址A15 A14用于选择芯片 即选片寻址 2020 3 15 104 设存储器从0000H开始连续编址 则四块芯片的地址分配 第一片地址范围为 0000H 3FFFH第二片地址范围为 4000H 7FFFH第三片地址范围为 8000H BFFFH第四片地址范围为 C000H FFFFH 2020 3 15 105 片内地址 片选地址 2020 3 15 106 2020 3 15 107 3 字和位同时扩展 当芯片的单元数和单元的数据位均不满足存储器的要求时需要进行字和位的同时扩展 字和位同时扩展 按位扩展和字扩展的方法分别在位方向和字方向进行扩展 2020 3 15 108 所有芯片的片内地址线 读 写控制线均对应地并接在一起 连接到地址和控制总线的对应位上 同一地址区域内 不同芯片的片选信号连在一起 接到片选译码器的同一输出端 不同地址区域内内 各组芯片的片选信号分别接到片选译码器的不同输出端 不同地址区域内 同一位芯片的数据线对应地并接在一起 连接到数据总线的对应位上 不同位芯片的数据线分别连接到数据总线的不同位上 字和位同时扩展的连接方式 2020 3 15 109 例4 4 用2114芯片组成4K 8位存储器需用8片2114芯片构成4K 8位存储器 8片芯片排成4行 2列 每行按位扩展方法连接 每列按字扩展方法连接 存储器地址线A11 A0 芯片片内地址A9 A0 高两位地址A11 A10用于选片寻址 存储器数据线D7 D0 芯片数据线I O3 I O0 两片芯片的数据线一同构成存储器的8位数据线 2020 3 15 110 2020 3 15 111 2020 3 15 112 例 某微机系统有16根地址线 8根数据线 地址空间安排为 16K系统程序存储区 用ROM芯片 安排在地址最低区 接着留出16K的设备地址空间 其后的32K作为用户程序区 采用RAM芯片 给定芯片如下 请画出连线图 给出各存储区的地址范围 ROM D7 D0 A13 A0 RAM D7 D0 A13 A0 2020 3 15 113 ROM区 16K 8位 需1片16K 8位ROM芯片RAM区 32K 8位 需2片16K 8位RAM芯片I O区 16K 8位 主存不应使用 2020 3 15 114 ROM A13 A0 RAM D7 D0 A15 A14 RAM 地址译码器 2020 3 15 115 地址分配与片选的关系 当存储器存储容量大于芯片容量时需要利用片选信号进行扩容 产生片选信号的三种方法 1 线选法将芯片片内地址以外的高位地址直接 或经反相器 分别接到各存储器芯片的CS引脚 特点 无需外加逻辑电路 但仅适用于芯片较少的场合 2020 3 15 116 例 系统有15根地址线 用4片2K 8的芯片构成8K 8的存储器 采用线选法 各芯片地址 2020 3 15 117 2 全译码法将芯片片内地址以外的高位地址全部接到译码器的输入端 将译码器的输出作为片选信号 特点 芯片的地址范围确定 连续 无重叠存储区 对译码电路要求较高 2020 3 15 118 例 系统有15根地址线 用4片2K 8的芯片构成8K 8的存储器 采用全译码法 各芯片地址 2020 3 15 119 3 部分译码法将芯片片内地址以外的高位地址部分地与译码器相连 将译码器的输出作为片选信号 特点 对译码电路要求相对较低 但存在重叠存储区 2020 3 15 120 例 系统有15根地址线 用4片2K 8的芯片构成8K 8的存储器 采用部分译码法 各芯片地址 2020 3 15 121 重复地址 A14A13 00 01 10 110000H 07FFH 2000H 27FFH 4000H 47FFH 6000H 67FFH0800H 0FFFH 2800H 2FFFH 4800H 4FFFH 6800H 6FFFH1000H 17FFH 3000H 37FFH 5000H 57FFH 7000H 77FFH1800H 17FFH 3800H 3FFFH 5800H 5FFFH 7800H 7FFFH 2020 3 15 122 4 多种数据位输出的组织问题 多种数据的传输是指存储器按照CPU的指令要求 与CPU间分别传输8位 16位 32位或64位数据的情况 此时 CPU要增加控制信号 控制存储器传输不同位数的数据 2020 3 15 123 整数边界存储 当计算机具有多种信息长度 8位 16位 32位等 则应当按存储周期的最大信息传输量为界 Bm为界 保证数据都能在一个存储周期内存取完毕 例如 设计算机字长为32位 一个存储周期内可传输8位 16位 32位 64位等不同长度信息 那么1个8位 2个16位 2个32位 1个64位等信息的存储地址应如何给出呢 2020 3 15 124 无边界规定 0000H 0008H 0010H 64位 存储周期 0020H 64 8 16 16 32 32 32 16 64 0018H 2020 3 15 125 无边界规定时存在的问题 若地址分配不合理 则会出现两个周期才能将数据传送完毕的情况 如上图的第1个16位 第2个32位和64位都需两个存储周期才能完成访问 无边界规定有可能造成系统访存速度的下降 2020 3 15 126 采用整数边界 0000H 0008H 0010H 64位 存储周期 0020H 0018H 8 16 16 32 32 64 2020 3 15 127 整数边界地址安排 8位 1个字节 地址码最低位为任意值XXXXXB16位 半字 地址码最低1位为0XXXX0B32位 单字 地址码最低2位为00XXX00B64位 双字 地址码最低3位为000XX000B 2020 3 15 128 采用整数边界存在的问题 浪费空间随着半导体存储器的扩容 以空间换取速度势在必行 2020 3 15 129 例 请用2K 8bit的SRAM设计一个8K 16bit的存储器 要求 存储器可以分别被控制访问8位和16位数据 控制位数的信号B由CPU提供 当B 0时访问16位数据 当B 1时访问8位数据 存储芯片地址按交叉方式编址 画出存储器与CPU的连接原理图 条件 SRAM芯片除地址 数据线外 控制信号有 低电平有效 高电平读 低电平写 CPU提供的控制信号有 低电平有效 高电平读 低电平写 等 2020 3 15 130 地址线的安排 因为需要访问8位数据 所以将16位数据分为高8位和低8位 分别用奇存储体和偶存储体存放 即访问16位数据时实际需要访问两个存储体 而访问8位数据时只需访问一个存储体 因此在地址线中需要有1位用于区分奇 偶存储体 由于8K 16bit的存储空间需要13根地址线 再加一根地址线用于选择奇 偶存储体 共14根地址线 这样存储空间实际变成了8K 2 8bit 相当于214 8bit 2020 3 15 131 为了符合整数边界的要求 规定一个16位的单元必须由一个A0 1和一个A0 0的存储单元构成 即系统采用低位交叉方式编址 而一个16位的数据必须存放在高位地址相同 低位分别为A0 1和A0 0的两个单元中 规定14根地址线中 A0与B组合用于控制8位 16位数据的存取 由于每个SRAM芯片容量是2K 所以A11 A1用于片内地址 A13 A12用于2 4译码 得到4组译码信号 与A0 B组成每个芯片的片选信号 2020 3 15 132 逻辑表达式 2020 3 15 133 Peven A0Podd A0 B 2 4译码器 Y0 Y1 Y2 Y3 A13 A12 2020 3 15 134 CS1 Y0 PoddCS0 Y0 PevenCS3 Y1 PoddCS2 Y1 PevenCS5 Y2 PoddCS4 Y2 PevenCS7 Y3 PoddCS6 Y3 Peven 每个芯片的片选信号 2020 3 15 135 2020 3 15 136 2020 3 15 137 4 4高速缓冲存储器 Cache 4 4 1Cache在存储体系中的地位和作用高速缓冲存储器是位于主存与CPU之间的高速小容量存储器 用来存放程序中当前最活跃的程序和数据 Cache的容量比主存小得多 采用Cache的主要目的提高存储器的平均访问速度 从而使存储器的速度与CPU的速度相匹配 2020 3 15 138 CPU在一个较短的时间间隔内 由程序产生的地址往往簇聚在一个很小的区域内 如果把这一局部区域的程序和数据从主存复制到Cache中 使CPU能够高速地在Cache中读取指令和数据 就可大大提高CPU的访存速度 程序局部性原理 2020 3 15 139 2020 3 15 140 Cache是按块进行管理的Cache和主存均被分割成大小相同的块 信息以块为单位调入Cache Cache中数据块的大小一般为几个 几百个字节 主存中的数据块可称为 块 black Cache中数据块可称为 行 line 或 槽 slot 2020 3 15 141 主存 主存块号 块A 1 块1 块0 块C 1 块0 Cache Cache块号 B个字 2020 3 15 142 主存 主存块号 块A 1 块1 块0 块C 1 块0 Cache Cache块号 块1 2020 3 15 143 主存容量 A B个字Cache容量 C B个字设A 2a B 2b C 2c主存地址 Cache地址 a位 b位 a b位 c位 b位 c b位 2020 3 15 144 Cache的命中 根据程序局部性原理 可将包含CPU马上要访问内容的主存块调入Cache块中 当CPU欲访问某主存字时的两种情况 所需内容已在Cache中 称为CPU访问Cache命中 CPU可直接访问Cache 所需内容不在Cache中 称为CPU访问Cache不命中 失败 CPU需访问主存获得所需内容 并将包含所需内容的主存块调入Cache中 以备下次访问 2020 3 15 145 Cache命中率 Cache命中率 CPU要访问的内容在Cache中的比率 设在一个程序执行期间 访问Cache的总命中次数为Nc 访问主存的次数为Nm CPU访问Cache的命中率为H 则有 2020 3 15 146 Cache 主存系统的访问时间 设Tc为Cache命中时的访问时间 Tm为Cache不命中时的主存访问时间 1 H为不命中率 Ta为Cache 主存系统的平均访问时间 则有 Ta HTc 1 H Tm 2020 3 15 147 带Cache存储系统的加速比Sp Cache 主存系统的访问效率e 2020 3 15 148 例 设CPU执行某程序时共访问Cache命中2000次 访问主存50次 已知cache的存取周期为50ns 主存的存取周期为200ns 求该Cache 主存系统的命中率 平均访问时间和访问效率 解 Cache的命中率 H 2000 2000 50 0 97平均访问时间 ta 0 97 50 1 0 97 200 54 5ns访问效率 2020 3 15 149 利用目前的大规模集成电路技术和生产工艺 人们可以在CPU芯片内部放置一定容量的高速缓冲存储器 Cache 一级 L1 Cache CPU芯片内部的高速缓冲存储器 二级 L2 Cache CPU外部由SRAM构成的高速缓冲存储器 目前最新的CPU内部已经可以放置二级乃至三级Cache 2020 3 15 150 4 4 2Cache的基本结构及工作原理 2020 3 15 151 Cache存储阵列由高速存储器构成 用于存放主存信息的副本 容量小于主存 但编址方式 物理单元长度均与主存相同 地址映像变换机构用于实现主存地址与Cache地址转换的部件 一般由相联存储器组成 用以记录主存内容存入Cache时两者地址的对应关系 替换策略实现机构根据一定的算法 用硬件实现块的替换 1 Cache的基本结构 2020 3 15 152 在带Cache的存储器中 CPU的访存地址被分割成两部分 块地址 块框架地址 块号 用于查找该块在Cache中的位置 块内偏移量 块内位移 用于确定所访问的数据在块中的位置 块号 块内偏移量 2020 3 15 153 当CPU需要进行访存时 首先给出主存实地址 2 Cache的工作过程 地址映像变换机构接收到主存实地址后 根据块号判定所访问的信息字是否在Cache中 若在 Cache命中 通过地址变换机构将主存块号变换为Cache块地址 再根据块内偏移量 对Cache进行存取 若不在 Cache不命中 则通知访问Cache块失效 然后通过CPU与主存之间的直接数据通路访问主存 将被访问字直接送给CPU 并将包含该字的新块装入Cache 若Cache巳满 则通过替换策略实现机构 调出某一Cache块 然后装入所需的块 2020 3 15 154 Cache的存在对程序员是透明的 在处理机每次访问存储器时 系统自动将地址转换成Cache中的地址 提高Cache的访问速度的方法 Cache的地址变换和数据块的替换算法均用硬件实现 在物理位置上让Cache尽量靠近CPU 以减少CPU与Cache之间的传输延迟 如将Cache集成在CPU芯片内 为了加速调块 一般将每个数据块的容量规定为并行主存系统一个存储周期所能访问到的字数 2020 3 15 155 4 4 3Cache的地址映像方式 因为CPU以主存地址访问Cache 所以必须把访存时必须把主存地址变换为Cache的实际地址 地址变换取决于地址的映像方式 就是主存信息按什么规则装入Cache 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论