微型计算机存储器系统结构.ppt_第1页
微型计算机存储器系统结构.ppt_第2页
微型计算机存储器系统结构.ppt_第3页
微型计算机存储器系统结构.ppt_第4页
微型计算机存储器系统结构.ppt_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

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

文档简介

第5章微型计算机存储器系统结构 通过本章的学习 使学生掌握微型计算机中存储器的基本概念 存储器的系统组成以及高速缓冲存储器技术了解半导体存储器的主要性能指标 半导体存储器的分类 教学目的和教学要求 重点 SRAM和DRAM的组成原理高速缓冲存储器的组成原理微型计算机中存储器的组成结构难点 存储器与CPU的连接及内存条的组成高速缓冲存储器的工作原理 本章重点 难点 5 1存储器概述 5 1 1存储器的分类一 存储器基本概念存储器由大量的记忆单元组成 记忆单元是一种具有两个稳定状态的物理器件 可用来表示二进制的0和1 这种物理器件一般由半导体器件或磁性材料等构成 由若干个最基本的存储单元存储一个字 字长有4位 8位 16位以及32位等 在微机中 存储器一律按8位二进制数 一个字节 编址 习惯上把一个地址所寻址的8位二进制数称为一个存储单元存储器容量一般都很大 无论内存还是外存 均以字节为单元 常用的有210字节 1KB 220字节 1024KB 1MB 230字节 1024MB 1GB 240字节 1024GB 1TB存储器的容量与微机的地址线有关 微机中存储器的层次 1 内存内存或主存 也称半导体存储器 用于存放当前计算机正在执行或经常要使用的程序或数据 CPU可直接从内存中读取指令并执行 还可直接从内存中存取数据 内存一般由快速的存储器件构成 它与CPU交换数据的速度很快 在共享存储器的多处理机系统中 内存中数据可以共享 并可实现多处理机间的通信 二 内存和外存 一般是由磁性材料以及运用激光技术等实现的存储器 分为硬磁盘 软磁盘 光盘等 外存容量很大 但存取速度很慢 通常使用DMA技术和IOP技术来实现内存与外存之间的数据直接传送 2 外存或辅存 按工艺结构分类双极型和金属氧化物型存储器按存储器原理分类静态存储器SRAM和动态存储器DRAM按数据传输的宽度分类并行I O的存储器 串行I O的存储器按存取方式分类随机存取存储器RAM 只读存储器ROM 三 半导体存储器分类 图5 1半导体存储器的分类 详细展开 注意对比 读写存储器RAM 只读存储器ROM 掩膜ROM 信息制作在芯片中 不可更改PROM 允许一次编程 此后不可更改EPROM 用紫外光擦除 擦除后可编程 并允许用户多次擦除和编程EEPROM E2PROM 采用加电方法在线进行擦除和编程 也可多次擦写FlashMemory 闪存 能够快速擦写的EEPROM 但只能按块 Block 擦除 5 1 2半导体存储器的主要性能指标 存储容量微机存储器的容量是指存储器所能容纳的最大字节数存取周期存取周期是指存储器从接收到地址 到实现一次完整的读出和写入数据的时间 也称为存取时间 是存储器进行连续读和写操作所允许的最短时间间隔 易失性指存储器的供电电源断开后 存储器中的内容是否丢失功耗半导体存储器在额定工作电压下 外部电源保证它正常工作的前提下所提供的最大电功率称之为功耗可靠性指它抵抗干扰 正确完成读 写数据的性能 5 2半导体存储器 5 2 1存储器中地址译码的两种方式 一 存储器芯片逻辑图 存储体存储器芯片的主要部分 用来存储信息 地址译码电路根据输入的地址编码来选中芯片内某个特定的存储单元 片选和读写控制逻辑选中存储芯片 控制读写操作 存储体 每个存储单元具有一个唯一的地址 可存储1位 位片结构 或多位 字片结构 二进制数据存储容量与地址 数据线个数有关 芯片的存储容量 2M N 存储单元数 存储单元的位数M 芯片的地址线根数N 芯片的数据线根数 地址译码电路 单译码结构双译码结构双译码可简化芯片设计主要采用的译码结构 片选和读写控制逻辑 片选端CS 或CE 有效时 可以对该芯片进行读写操作输出OE 控制读操作 有效时 芯片内数据输出该控制端对应系统的读控制线写WE WR 和RD 控制写操作 有效时 数据进入芯片中该控制端对应系统的写控制线 表5 1存储器芯片的工作方式 二 存储器芯片的存储矩阵与地址译码的两种方式 1 单译码方式 双译码结构存储器示意图如图5 4所示 2 双译码方式 比较图5 3和图5 4可以看出 外部地址线与数据线分别都是11位和8位 而且都是每次只能访问一个字节 内部存储阵列中所存储的二进制总信息也相等不同之处是 单译码结构只需要一个译码电路 译码输出选择线2048根 而双译码结构需要2个译码电路 译码输出选择线64 32 96根 相比之下 采用双译码结构其译码输出选择线大大减少 所以 许多SRAM及ROM存储芯片都采用双译码结构 在32位微机中也都采用双译码方式 存储器芯片的I O控制逻辑如图5 5所示 三 存储器芯片的I O控制逻辑 5 2 2静态随机存取存储器SRAM 静态随机存取存储器SRAM的基本存储单元一般由六管静态存储电路构成 集成度较低 功耗较大 无需刷新电路 由于存取速度快 一般用作高档微机中的高速缓冲存储器 Intel6264的引脚图和内部结构框图如图5 6和图5 7所示 表5 2Intel6264的工作方式 图5 8SARM读时序 tRC 读周期时间tAA 地址有效到数据出现到外部数据线上的时间tOR OE 结束后地址应保持的时间tRP 读信号有效的时间tOE OE 有效到数据出现在外部数据线上的时间 tCW 片号信号有效的宽度tACE CE 有效到数据出现在外部数据线上的时间tRH 地址无效后数据应保持的时间tOH OE 结束后数据应保持的时间 TWC 写周期时间tAW 地址有效到片选信号失效的间隔时间TWB 写信号撤销后地址应保持的时间TCW 片选信号有效宽度TAS 地址有效到WE 最早有效时间 tWP 写信号有效时间TWHZ 写信号有效到写入数据有效所允许的最大时间TDW 写信号结束之前写入数据有效的最小时间TDH 写信号结束之后写入数据应保持的时间 图5 9SRAM写时序 5 2 3只读存储器ROM 一 掩膜式只读存储器ROM由MOS管组成掩膜式只读存储器的结构图如图5 10所示 掩膜式ROM图中的存储阵列及位线上的公用负载管均由NMOS场效应管组成 采用单译码方式 每根译码输出选择线可以选中一个字 字长4位 共有4个字 所有的字只能读出 不能写入 存储阵列中的基本存储单元仅由一只MOS管构成 或缺省 凡有MOS管处表示存储0 反之为1 显然 字0到字3所存储的信息分别为 0001 0010 0011及0100 这种存储阵列的内容一旦制造好后 只能读出 不能写入 用户是无法改写的 可编程只读存储器PROM工作原理是存储阵列除了三极管之外 还有熔点较低的连线 熔断丝 串接在每只存储三极管的某一电极上 例如发射极 编程之前 存储信息全为0 或全为1 编程写入时 外加比工作电压高的编程电压 根据需要使某些存储三极管通电 由于此时电流比正常工作电流大 于是熔断丝熔断开路 一旦开路之后就无法恢复连通状态 所以只能编程一次 如果把开路的三极管存储的信息当作0 反之 存储的信息就为1 二 可编程只读存储器PROM 1 EPROM的基本存储电路如图5 11所示 三 可擦除可编程只读存储器EPROM FAMOS管与MOS管结构相似 它是在N型半导体基片上生长出两个高浓度的P型区 通过欧姆接触分别引出漏极D和源极S 在漏源之间的SiO2绝缘层中 包围了一多晶硅材料 与四周无直接电气连接 称之为浮置栅极 在对其编程时 在漏源之间加上编程电压 高于工作电压 时 会产生雪崩击穿现象 获得能量的电子会穿过SiO2注入到多晶硅中 编程结束后 在漏源之间相对感应出的正电荷导电沟道将会保持下来 如果将漏源之间感应出正电荷导电沟道的MOS管表示存入0 反之 浮置栅不带负电 即漏源之间无正电荷导电沟道的MOS管表示存入1状态 2 EPROM芯片举例 Intel2764的引脚与内部结构图如图5 12所示 在EPROM芯片的上方 有一圆形石英窗 从而允许紫外线穿过透明的圆形石英窗而照射到半导体芯片上 将它放在紫外线光源下一般照射10分钟左右 EPROM中的内容就被抹掉 即所有浮置栅MOS管的漏源处于断开状态 然后 才能对它进行编程输入 Intel2764内部有256 256存储阵列 采用双译码方式 用于寻址8KB存储单元 并有输出缓冲器 具有28脚双列直插式封装 其中A12 A0是地址线 O7 O0是8根地址线 CE 是片选 OE 是输出允许信号 二者均为低电平有效 Vcc是电源电压 工作电压 5V VPP是编程电压 在编程时接12 25V电压 注意 一定要根据2764芯片上实际标注的电压值外加编程电压 PGM 是编程控制端 EPROM 顶部开有一个圆形的石英窗口 用于紫外线透过擦除原有信息一般使用专门的编程器 烧写器 进行编程编程后 应该贴上不透光封条出厂未编程前 每个基本存储单元都是信息1编程就是将某些单元写入信息0 四 电擦除只读存储器EEPROM 1 EEPROM基本存储电路如图5 13所示 EEPROM基本存储电路如图5 13所示 与EPROM相比 它是在EPROM基本存储单元电路的浮置栅MOS管T1上面再生成一个浮置栅MOS管T2 将T2浮置栅引出一个电极 使该电极接某一电压VG2 若VG2为正电压 T1浮置栅极与漏极之间产生一个隧道效应 使电子注入T1浮置栅极 于是T1的漏源接通 便实现了对该位的写入编程 若VG2加负电压 迫使T1管多晶硅体上的自由电子返回到衬底 复合正电荷 使T1的漏源处于断开状态 便实现了擦除操作 一旦擦除后又可重新写入数据 EEPROM 用加电方法 进行在线 无需拔下 直接在电路中 擦写 擦除和编程一次完成 有字节擦写 块擦写和整片擦写方法并行EEPROM 多位同时进行串行EEPROM 只有一位数据线 2 EEPROM芯片举例 EEPROM芯片2864A 存储容量为8K 828个引脚 13根地址线A12 A08根数据线I O7 I O0片选CE 读写OE WE CE 是片选 OE 是输出允许 WE 是写入允许 2864需在输入端加21V电压信号才能进行编程 改写 而2864A仅需要 5V或TTL电压信号就可以进行改写 所以适合于在线编程操作 电源电压VCC加 5V 最大电流160mA 2864内部结构图与2764类似 主要差别是存储阵列是8K 8位的EEPROM 而不是8K 8位的EPROM存储阵列 第一种是按字节为单位进行擦除和写入 擦除和写入是同一种操作 即都是写入 只不过擦除是固定写 1 而已 在擦除时 输入的数据是TTL高电平 在以字节为单位进行擦除和写入时 CE 为低电平 OE 为高电平 从WE 端加入编程脉冲 幅度因型号而异 2864为21V 2864A为 5V 编程脉冲宽度为5ms左右 注意 EEPROM在进行字节改写之前自动对所要写入的字节单元进行擦除 CPU只需要像写普通RAM一样写其中某一字节 但一定要等到5ms之后 CPU才能接着对EEPROM进行下一次写入操作 因而 以字节为单元写入是常用的一种简便方式 第二种方式是页面写入方式 页面写入在2864内部设有16字节的页缓冲器 整个2864分为512页 写入操作时 首先把待写入数据写入到页缓冲器中 然后 在内部定时电路的控制下把页缓冲器中的所有数据写入到EEPROM中所指定的存储单元 显然 相对字节写入方式 第二种方式的效率高 写入速度快 特点1 使内部存储信息在不加电的情况下保持10年左右2 可以用比较快的速度将信息擦除以后重写 反复擦写达几十万次 可以实现分块擦除和重写 也可以按字节擦除与重写 还具有非易失性 可靠性能好 速度快以及容量大等许多优点 五 闪烁存储器 FlashMemory 闪烁存储器也称快速擦写存储器 实际上闪烁存储器属于EEPROM类型 又称FlashROM 性能优于普通EEPROM 它是Intel公司率先推出的一种新型存储器 在Pentium机主板上 用128KB或256KB的FlashROM存放BIOS 取代了EPROM和EEPROM 因此现在称BIOS为FlashBIOS 它的基本存储单元电路如图5 15所示 与EEPROM类似 主要还是由T1和T2两只浮置栅MOS管构成 T1MOS管浮置栅介质很薄 作为隧道氧化层 与EEPROM相同 在T2浮置栅引出的电极上加正电压时 使电子进入T1MOS管的浮置栅 T1的漏源形成导通沟道 读出操作与EPROM芯片的读出操作相同 即首先对位线上预充电电容充满电荷 当行选线为高电平时 此存储单元电路被选中 如果T1管漏源之间已形成导通沟道 则电容上存储电荷通过T3 T1形成回路放电 位线上输出0V 若T1的漏源之间未有形成导通沟道 则在位线上输出高电平 即电容两端已充满电荷所形成的高电位 擦除的方法是在T1MOS管的源极加正电压 利用T1管浮置栅与源极之间的隧道效应 把注入在浮置栅 多晶硅 的负电荷吸引到源极 在图5 15中 当VPP接通高电压时 T4管导通 T5管漏极上所外加的VCC通过T4 T5管加到所有存储单元中的T1管 实现了全片擦除或分块擦除 这就是实现块擦除的基本原理 5 2 4动态随机存储器DRAM DRAM的基本存储单元是单个场效应管及其极间电容必须配备 读出再生放大电路 进行刷新每次同时对一行的存储单元进行刷新每个基本存储单元存储二进制数一位许多个基本存储单元形成行列存储矩阵DRAM一般采用 位结构 存储体 每个存储单元存放一位需要8个存储芯片构成一个字节单元每个字节存储单元具有一个地址 1 单元存储电路及刷新放大器 一 基本存储单元电路及存储阵列 写入操作首先由正脉冲信号 使T5导通 平衡触发器 接着T5管关断 行 列选通信号为有效高电平 T6 T0两管导通 若I O数据线上输入逻辑0电平 则T1管截止 由T1 T3所构成的反相器则以高电平通过T0存入C中 对电容C充电 相反 若I O输入线以逻辑1电平作为输入 则经T1反相后以逻辑0电平存入C中 若原C中有电荷 则会形成一个放电回路 泄放掉电容C中存储的电荷 从以上分析可知 该存储单元电路将输入逻辑信号反相后存入C中 读出操作与写入操作的开始条件相同 此时T6 T0两管导通 如果电容C中有电荷即为高电平 经T0管后传送到T2的栅极 在T2漏极输出一个原先存入的低电平 此低电平可反过来使T1可靠截止 于是T1 T3组成的反相器输出一个标准的高电平经T0又对C充电 因而 读出操作既实现了正确读出 又实现了再生 刷新 刷新操作刷新操作也称为再生操作 实现刷新一般采用 仅行地址有效 法进行刷新 此时 列地址处于无效状态 由行地址有效选中DRAM中某一行 将此行中存入的所有二进制信息全部实现一次读操作 从上述读操作过程可知 读操作既可以实现读又可实现再生 因为此时列地址无效 读访问到的所有二进制信息并不会输出到外部I O数据线上去 2 DRAM的电路结构 DRAM芯片414256 41L4256 二 DRAM举例 由于DRAM存储单元电路比SRAM简单得多 因此 DRAM存储器集成度相对高得多 而且省电 因此常被用作微型计算机的主存储器 目前常用的DRAM芯片有4164 64k 1 41256 41L4256 256k 4 41464 64k 4 以及414256 256k 4 等类型 存储器阵列是512 512 4位 256K 4位 由于行 列地址译码输出选择线各有512根 则行 列地址译码器各有9位地址线作输入 两个行 列地址译码器分别对应一个行 列地址缓冲器 两个9位地址缓冲器有三个作用 一是它们分时寄存CPU送来的高低9位地址 二是产生9位地址的反变量 三是具有驱动作用 以满足行 列地址译码器的需要 在DRAM控制器的作用下 DRAM控制器将CPU发出的访问DRAM的地址分时送给DRAM芯片414256 首先行地址锁存信号有效 将CPU发出的高9位地址经A8 A0在1 时钟发生器的同步作用下锁存于行地址缓冲器中 然后 列地址锁存信号有效 将低9位地址也经A8 A0在2 时钟发生器的同步作用下锁存于列地址缓冲器中 增强型DRAM EnhancedDRAM 增强型DRAM EnhancedDRAM 增强型DRAM简称为EDRAM 它是在DRAM芯片上集成了一个小容量的SRAM作为内部高速缓冲存储器 Cache 从而使DRAM的存取速度大为提高 如图5 19所示是1M 4位EDRAM芯片的结构图 该EDRAM芯片的存储阵列是2048 512 4位 1M 4位 共有2048行和512列 每次选中4位二进制数进行读或写操作 访问1M 4位的EDRAM芯片需要20位内存地址 但芯片引脚设有11位地址输入 当EDRAM被第一次读访问时 首先有效 内存地址高11位经A10 A0同时送入内部行地址锁存器和最后读出行地址锁存器中 行地址锁存器中的11位行地址经行译码器译码后 指定DRAM阵列中的某一行 将此行中数据 512 4位 全部读取到512 4位的SRAM中 即映射到Cache中 在列地址锁存信号的作用下 内存地址的低9位地址经A10 A0中9位地址线输入 保存到9位列地址锁存器中 经列地址译码后 选中Cache中4个存储单元 在读命令信号有效时 将选中的四位二进制数从芯片的数据线D3 D0读出 在下一次读访问时 首先输入的11位行地址立即与最后读出行地址锁存器的内容进行比较 若两地址相符合 说明要读出的四位二进制数在SRAM中 访问Cache命令 则由输入的列地址从SRAM中选择指定的四位二进制数并读出 若两地址不符合 则访问Cache未命中 则需要从DRAM阵列中读出新的一行存入SRAM中 并从中读出由列地址指出的四位二进制数 还要将当前的11位行地址保存到最后读出行地址锁存器中去 如果CPU连续访问DRAM阵列中某一行 共有512 4位二进制信息 除第1次必须将此行内容由DRAM阵列中传送到SRAM中外 其他511次只需从SRAM中读取指定的4位二进制信息 势必能大大提高CPU访问EDRAM的速度 这种EDRAM的结构还有2个特点 由于使用了高速缓存技术 访问Cache命中率很高 在读SRAM期间可同时对DRAM阵列进行刷新 由于芯片内部四位二进制数的输出路径与输入路径是分开的 所以在写操作完成的同时允许启动同一行的读操作 这是本章的重点内容SRAM EPROM与CPU的连接译码方法同样适合I O端口 5 3微型计算机中存储器的系统组成 5 3 1存储器芯片与CPU连接 存储芯片的数据线存储芯片的地址线存储芯片的片选端存储芯片的读写控制线 1 CPU总线的负载能力CPU的地址 数据及控制总线的直流负载一般能带1个或几个TTL负载 半导体存储器基本上是由MOS器件组成 直流负载很小 一般在很小的计算机系统中 例如单片机应用系统 CPU可以直接与存储器芯片相连接 除此之外 为了减轻CPU的负载 增强系统的可靠性 一般要采用总线驱动隔离措施 对于数据总线要采用双向驱动 对于地址总线与控制总线则要加上单向驱动 将驱动器的输出连至存储器或其他电路 一 几点考虑 2 CPU的时序与存储器存取速度之间的配合 高速CPU与低速存储器之间的速度如果不匹配 应在CPU访问存储器的周期内插入等待脉冲TW 3 存储器结构的选定 由于CPU的数据线有8 16 32 64位等几类 相应存储器的结构分为单体 2体 4体 8体等 存储器结构的选定是指CPU与存储器连接时 存储器是单体结构还是多体结构 4 片选信号及行 列地址产生机制 由于存储器芯片的容量是有限的 微机中存储器的总容量一般远大于存储器芯片的容量 因此 存储器往往由多片存储器芯片组成 在CPU与存储器芯片之间必须设有片选择译码电路 一般由CPU的高位地址译码产生片选 而低位地址送给存储器芯片的地址输入端 以提供存储芯片内部的行 列地址 5 DRAM控制器 它是CPU和DRAM芯片之间的接口电路 目前已生产出不同型号的集成芯片 它将CPU的信号变换成适合DRAM芯片的信号 不同的计算机系统有不同的DRAM控制器 存储芯片数据线的处理 若芯片的数据线正好8根 一次可从芯片中访问到8位数据全部数据线与系统的8位数据总线相连若芯片的数据线不足8根 一次不能从一个芯片中访问到8位数据利用多个芯片扩充数据位这个扩充方式简称 位扩充 位扩充 多个位扩充的存储芯片的数据线连接于系统数据总线的不同位数其它连接都一样这些芯片应被看作是一个整体常被称为 芯片组 存储芯片地址线的连接 芯片的地址线通常应全部与系统的低位地址总线相连寻址时 这部分地址的译码是在存储芯片内完成的 我们称为 片内译码 片内译码 A9 A0 存储芯片 存储芯片片选端的译码 存储系统常需利用多个存储芯片扩充容量也就是扩充了存储器地址范围进行 地址扩充 需要利用存储芯片的片选端对多个存储芯片 组 进行寻址这个寻址方法 主要通过将存储芯片的片选端与系统的高位地址线相关联来实现这种扩充简称为 地址扩充 或 字扩充 地址扩充 字扩充 二 8088系统与存储器的连接 三 8086系统与存储器的连接 8086CPU的存储器组织采用2体结构 把1MB存储器分为2个512KB的存储体 即分为偶地址库与奇地址库 简称偶字库和奇字库 各512KB 仅当A0 0时 访问偶地址库中一个字节 仅当时 访问奇地址库中一个字节 当二者均为0时 访问偶地址的一个字 根据8086存储器组织 在图5 21中 由U1与U2两片74LS138三一八译码器 分别产生奇偶地址库的片选信号 U1的与U2的是同一地址范围内偶地址片选与奇地址片选 由U1的选中1 存储器芯片 其数据线接至8086系统数据线上的D7 D0 由U2的选中2 存储器芯片 其数据线接至8086系统数据线上的D15 D8 至于U1和U2的 的连接及工作机制均与相同 16个片选的地址范围示于表5 8中 5 3 232位微机系统的内存组织 386 486CPU外部的数据线为32位 Pentium微处理器外部的数据线是64位 分别与存储器传送32位和64位的数据 其内存组织的原理基本相同 一 32位外部数据总线的内存组织 1 内存组织 2 1M 4位EDRAM模块组成 该EDRAM模块共有4个存储体 每个存储体由2片2048 512 4位EDRAM芯片组成 便构成了1M 8位的存储容量 从左到右 4个存储体的8位数据线依次接到系统数据总线上的D31 D24 D23 D16 D15 D8 D7 D0 由4个列选线CAS3 CAS0分别选中每个存储体 而CAS3 CAS0分别与4个字节允许信号BE3 BE0相对应 数据线的连接 由CPU发出的A21 A2共20位地址送给DRAM的控制器 再由控制器将A21 A11共11位地址经行选择信号RAS作用下锁存到DRAM芯片内部的行地址锁存器中 再由控制电路将A10 A2共9位地址经列选择信号CAS作用下锁存到DRAM芯片内部的列地址锁存器中 因此 EDRAM芯片上的地址线A10 A0对应接至控制电路的地址输出线上 地址线的连接 EDRAM中的CAS RAS以及刷新信号Ref等均接至DRAM控制器对应的输出端上 由DRAM控制器来控制DRAM的读 写操作 控制信号的连接 3 DRAM控制器结构 DRAM控制器的组成结构刷新地址计数器刷新定时器地址多路复用电路仲裁电路控制信号发生器总线收发器等 DRAM控制器结构图 刷新地址计数器提供刷新操作所需要的刷新地址 有自动加1的功能 而且能自动循环计数 刷新地址计数器的长度取决于DRAM芯片存储阵列中行的数量 容量为256K位以上的DRAM芯片 多数内部备有刷新地址计数器 可以采用CAS 在RAS 之前有效的刷新方式 DRAM控制器中的刷新地址计数器就不起作用了 刷新地址计数器 刷新定时器提供周期性刷新DRAM芯片所需要的定时间隔 比如 刷新周期为8mS的DRAM芯片 共有512行 保证在8mS之内把所有512行均要刷新一次 如果采用集中刷新方式 每8mS之内的某一瞬时间集中刷新完512行 或采用异步刷新方式 采用每15 6 S 8mS 512 间隔刷新一行 刷新定时器 地址多路复用电路把来自CPU的地址转换成行地址和列地址 然后分时输送给DRAM芯片 仲裁电路当CPU读 写DRAM请求与DRAM控制器内部刷新定时器的刷新请求同时到达时 由仲裁电路对二者的优先权进行裁定 地址多路复用电路 控制信号发生器产生并输出行选择信号RAS 列选择信号CAS以及写允许信号 还提供刷新地址计数器的计数输入信号 总线收发器总线收发器为DRAM存储器的数据输入 输出提供缓冲功能 称之为I O数据缓冲器 控制信号发生器 二 64位外部数据总线的内存组织 Pentium系列微处理器外部有64位数据线 将内存分为8个体 每个存储体数据宽度仍然为8位 1字节 因此 有8个字节选择信号 分别用于控制每个存储体 Pentium可寻址的最大存储空间是4GB 则每个存储体只有512MB 而Pentiumpro PentiumII及PentiumIII要寻址的最大存储空间为64GB 则每个存储体8GB 64位内存组织的示意图如图5 25所示 64位内存组织的示意图 5 4高速缓冲存储器技术 Cache工作原理Cache组织方式写cache的策略与一致性PentiumPC的Cache 一 存储器系统的层次80X86CPU采用了高速缓冲存储器 CacheMemory 技术 习惯上简称高速缓存 或称Cache 在80386系统中 Cache处于CPU外部的主机板上 在80486与Pentium系统中 除了主机板上有第2级Cache L2 外 CPU内部还有第1级Cache L1 存储器系统的层次关系如图5 26所示 5 4 1Cache工作原理 存储器系统的层次关系 从微机系统来看 增加Cache的目的 就是要在性能上使主存的平均访问时间尽可能接近Cache的访问时间 即保证在大多数情况下 CPU访问Cache 而不是访问主存 二 Cache命中率 在某一程序执行期间 设Nc表示CPU访问Cache的总次数 Nm表示CPU访问主存的总次数 h为命中率 则 5 1 假如tc表示访问Cache一次所花的时间 tm则为访问主存一次所经历的时间 1 h表示未命中率 则平均访问时间ta定义为 ta htc 1 h tm 5 2 那么命中率h又可定义为 5 3 Cache 主存的平均访问时间ta越接近tc越好 当ta接近于tc 则表示访问效率高 用e表示访问效率 则 其中 r tm tc 表示访问主存慢于访问Cache的倍率 r的取值一般是5 10 5 4 例 1 设CPU执行一般程序时 访问Cache次数Nc 1500 访问主存次数Nm 90 又假设访问Cache存取周期为50ns 访问主存存取周期为300ns 试求h r ta以及e的值 ta htc 1 h tm 0 943 50ns 1 0 943 300ns 64 25ns 解 5 4 2Cache组织方式 Cache的组织方式分为全相联映射方式直接映射方式组相联映射方式 1 全相联映射方式 全相联映射方式将主存中某一块的内存可以映射到Cache中的任意一行中 即把主存中内容划分出若干字节数量相等的数据块 每块存储的字节数与Cache中任意一行中数据字节相等 那么 主存中某一块的若干字节可以拷贝到Cache中的任意一行中 而主存中某一块中所有字节相同的高位地址被保存到Cache中对应的那一行中 即作为标记存入该Cache行 以便CPU访问Cache时 将当前所访问主存的高位地址与标记进行比较 从而确定CPU访问Cache的命中与否 全相联映射方式 关联存储器的特点是按存储内容进行检索 而不是按地址寻找 一般全部标记用一个关联存储器来实现 全相联Cache组织的缺点由于关联存储器容量小 因而全相联映射方式只适合小容量Cache 全相联映射方式的比较电路复杂 难以设计与实现 2 直接映射方式 直接映射 directmapping 方式也是一种多对一的映射方式 但是 一个主存块只能拷贝 映射 到Cache的一个特定行内 而不是任一行内 直接映射方式 直接映射Cache组织的优点 因为仅在指定Cache行中对一个标记段进行比较 故比较电路简单 缺点是 每个主存块只能拷贝到一个固定的行中 如果CPU在短时间段内要访问主存中的几个块 而这几个块的内容都必须映射到Cache中指定的某一行 则2个或多个主存块都要拷贝到同一Cache行中 那么 就要发生冲突 在短时间内会频繁地换入换出Cache行中的数据与标记 从而会降低Cache的工作效率 显然 增加Cache行数 可以减少冲突的发生 因而 直接映射Cache组织适用于大容量Cache的场合 从以上两种映射方式可以看出 两种映射方式优缺点正好相反 全相联映射方式Cache中存放的位置灵活 命中率高 而直接映射方式的比较电路简单 硬件开销少 于是 设计出了一种适度兼有二者优点而又尽量避免二者缺点的折衷映射方式 那就是目前微机中普遍采用的组相联映射方式 3 组相联映射方式 组相联映射方式将Cache分成u组 每组有v行 主存块存放到哪一组是固定的 至于存放到哪一行是任意的 设Cache行的总数量为m 组号为q 主存块号为j 则有如下函数关系 m u v 5 6 q jmodu 5 7 组相联映射方式中每组的路数V值相等 取值一般较小 典型值是2 4 8 最大为16 由于V路的数量不多 CPU访问Cache时所需要的标记比较器和全相联映射方式相比 相对简单得多 容易实现 而主存块在组中的排放又有一定的任意性 减少了正如直接映射Cache组织中的那种冲突的发生 因此 组相联映射方式适度兼有上述两种映射方式的优点 1 最不经常使用 LFU 算法 2 近期最少使用 LRU 算法 3 随机替换 二 三种替换策略 1 最不经常使用 LFU 算法 LFU LeastFrequentlyUsed 算法是将一段时间内被访问次数最少的那一行数据换出 为此必须对每行设置一个加计数器 新建立的行必须从0开始计数 CPU每访问一次Cache 相应行的计数器加1 当要替换时 将那些约定可以替换行的计数值进行比较 显然 将计数值最少的行换出 同时将该行的计数值清零 2 近期最少使用 LRU 算法 LRU LeastRecentlyUsed 算法是将近期内被访问次数最少的行换出 为此每行设置一个加计数器 当Cache每命中一次 命中行的计数器清零 而其他行的计数器加1 显然计数值最大的行近期最少使用 当需要替换时 比较特定行的计数值 将计数值最大的行替换出 这种算法的特点是保护了刚拷贝有主存数据的Cache行 正好符合Cache的工作原理 因而可以提高Cache的命中率 3 随机替换 随机替换 RandomReplacement 当需要替换时 只是从特定行中随机选取一行 将其数据换出即可 随机替换比前述2种替换算法所需硬件简单 而且速度快 缺点是 随机换出的数据可能马上要用 从

温馨提示

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

评论

0/150

提交评论