存储器和高速缓存技术.ppt_第1页
存储器和高速缓存技术.ppt_第2页
存储器和高速缓存技术.ppt_第3页
存储器和高速缓存技术.ppt_第4页
存储器和高速缓存技术.ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

第4章存储器、存储管理和高速缓存技术,本章重点:,存储器在微型机系统中的连接、片选信号的形成、宽度扩充和字节扩充微型机中存储器的层次化结构16位、32位微型机系统中的内存组织Cache的全相联、直接映像和组相联三种组织方式Cache控制器的功能,第4章存储器、存储管理和高速缓存技术,4.1存储器和存储器件4.2存储器的连接4.3微型计算机系统中存储器的体系结构4.4Pentium的虚拟存储机制和片内的两级存储管理*4.5高档微机系统中的高速缓存技术,4.1存储器和存储器件4.1.1存储器的分类,存储器根据用途和特点可以分为两大类:1.内部存储器,简称为内存或主存(ROM、RAM)快速存取容量受限制2.外部存储器,简称为外存(软盘、硬盘、光盘)容量大速度慢,配置专用驱动器,(a)DRAM,(b)SRAM,(c)VRAM,(d)DDRSDRAM,(e)DDRII,(f)DRDRAM,(g)EPROM,(h)EEPROM,(i)FlashMemory,4.1.2微型计算机内存的行列结构,字节机制存储器容量的单位:KB、MB、GB、TB为什么采用行列结构(矩阵形式)?如:有64B的内存,4.1.2微型计算机内存的行列结构,图4.132行32列组成的矩阵和外部的连接,4.1.3选择存储器件的考虑因素,易失性:电源断开后,内容是否丢失只读性:只能被读出存储容量:存储单元的总数表示方法为:存储容量=存储单元数每单元二进制位数速度:存储器的访问时间(存储器接收到稳定的地址信号到完成操作的时间)TTL(速度快、功耗大、价格贵);MOS:CMOS,HMOS功耗,4.1.4随机存取存储器RAM,主要特点:既可读又可写分类:RAM按其结构和工作原理分为:静态RAM(SRAM)动态RAM(DRAM),1.SRAM基于双稳态触发器的工作原理优点:速度快不需要刷新缺点:片容量低功耗大2.DRAM利用电容存储电荷的原理(1)DRAM器件优点:片容量高、功耗低缺点:需要刷新(一次刷新就是对存储器进行一次读取、放大和再写入),SRAM基本存储电路,DRAM基本存储电路,(2)DRAM的刷新和DRAM控制器刷新的方法:只有行地址有效DRAM控制器功能:时序功能:RAS#(刷新地址、刷新请求信号)地址处理功能:刷新地址、行/列地址仲裁功能:读/写请求、刷新请求,图4.2DRAM控制器的原理图,4.1.5只读存储器ROM,ROM的特点:只许读出、不许写入ROM器件的优点:结构简单,所以位密度高具有非易失性,所以可靠性高应用场合:存放不需要经常修改的信息,ROM的分类:,根据信息的设置方法,ROM分为5种:掩膜型ROM可编程只读存储器PROM可擦除可编程只读存储器EPROM可用电擦除的可编程只读存储器E2PROM闪烁存储器(flashmemory),1.掩膜ROM,2.可编程只读存储器PROM,一次编程熔丝保持原状:1熔丝被烧断:0,3.EPROM,浮栅无电荷:1浮栅有电荷:0外部能源加到EPROM上,擦除信息,图4.3Intel2764EPROM的外形和引脚信号,3.EPROM,可多次擦除、重写三种工作方式:读方式:VCC=+5V,VPP=+5V,CE#低编程方式:VCC=+5V,VPP=2125V,CE#高,PGM#5V编程脉冲校验方式:VCC=+5V,VPP=2125V,CE#低,PGM#低,4.E2PROM,用电可擦除4种工作方式:读方式写方式字节擦除方式整体擦除方式,5.闪烁存储器属于E2PROM类型,性能又优于普通的E2PROM,闪烁存储器的特点:非易失性可靠性高高速度大容量擦写灵活性(分块、字节、整体擦除重写),闪烁存储器的分类:,按擦除和使用的方式,闪烁存储器有三种类型:整体型:擦除和重写操作按整体实现。块结构型:把存储器划分成块,每块可独立进行擦除和重写。带自举块型:增加自举块。另加擦除和重写电路。,闪烁存储器的命令:,读命令读标识码命令准备擦除和擦除命令验证擦除的命令准备编程、编程以及编程验证命令复位命令,4.2存储器的连接,1.存储器和CPU的连接考虑高速CPU和较低速度存储器之间的速度匹配问题。CPU插入等待状态TwCPU总线的负载能力问题。加入总线驱动器片选信号和行地址、列地址的产生机制。片选译码、片内译码对芯片内部的寻址方法。通过低位地址线和芯片连接,提供行、列地址,2.存储器芯片片选信号的产生方法,线选译码适用于容量较小的存储器、结构简单地址重复、地址空间不连续全译码适用于容量较大的存储器、结构复杂不存在地址重复、地址空间连续部分译码适用于容量较大又不是足够大的存储器、简化译码电路的设计地址重复、地址空间连续混合译码,(2)全译码,所有的系统地址线均参与对存储单元的译码寻址;包括低位地址线对芯片内各存储单元的译码寻址(片内译码),高位地址线对存储芯片的译码寻址(片选译码);采用全译码,每个存储单元的地址都是唯一的,不存在地址重复;译码电路可能比较复杂、连线也较多。,全译码示例,(3)部分译码,只有部分(高位)地址线参与对存储芯片的译码;每个存储单元将对应多个地址(地址重复),需要选取一个可用地址,系统的部分地址空间将被浪费;可简化译码电路的设计。,部分译码示例,(1)线选译码,直接用地址线作为芯片的片选信号,且每根负责选中一个芯片(组);构成简单;地址空间严重浪费,必然会出现地址重复、地址不连续。,线选译码示例,切记:A14A1300的情况不能出现00000H01FFFH的地址不可使用,(4)混合译码,将部分译码法和线选法结合起来产生片选信号。将高位地址线分为两组:一部分片选信号用较高的一组地址通过线选法产生;另一部分片选信号用另一组地址用部分译码法产生。同样存在地址不连续和地址重叠问题。,3.SRAM的使用举例,图4.416KB的SRAM子系统,4个4K8的芯片构成16KB的SRAM子系统,这个子系统分为两部分:4K8的存储模块总线驱动器和外围电路两点说明:关于片选信号CE#和数据线关于写信号WE#,4.DRAM和DRAM控制器的使用举例,图4.5动态RAM控制器8203和2164的连接关系,2164:64kx14个128x128的基本存储电路矩阵,PCS#片选信号RAS0#、RAS1#行选信号CAS#列选信号SACK#输出,表示CPU读写周期开始XACK#在读周期中,表明当前数据已有效:在写周期中,表示已完成写操作REFRQ输入外部刷新信号X0/OP2、X1/CLK引入时钟信号,5.存储器的数据宽度扩充和字节数扩充,(1)存储器容量的扩充体现在两方面:数据宽度的扩充字节数的扩充(2)数据宽度扩充和字节数扩充的方法,图4.6扩充存储器的数据宽度,图4.6扩充存储器的字节容量,?,实例,设计要求:利用SRAM6116(2K8位)及译码器74LS138,设计一个存储容量为4KBRAM存储器。要求RAM的地址范围为7C000H7CFFFH。分析:6116:11位地址线、8位数据线、CE#、OE#、WE#4KB:2片6116进行字节容量扩展,实例,地址信号线分配:用11条低位地址线作为片内地址用9条高位地址线作为片选地址地址范围确定:由于用74LS138作片选译码器,所以A13A11应该接CBA,最多可选择8片,本项目用2片。A18A14高有效,A19经过反相器接G1。,实例,74LS138引脚图,电路原理图,练习1,利用EPROM2732(4K8位)及译码器74LS138,设计一个存储容量为8KBROM存储器。要求ROM的地址范围为FC000HFDFFFH。说明:EPROM2732:12位地址线、8位数据线、CE#、OE#,练习1,练习2,项目要求:利用EPROM2732(4K8位)、SRAM6116(2K8位)及译码器74LS138,设计一个存储容量为16KBROM和8KBRAM的存储器。要求ROM的地址范围为F8000HFBFFFH,RAM的地址范围为FC000HFDFFFH。,练习2,4.3微型机系统中存储器的体系结构4.3.1层次化的存储器体系结构1.层次化总体结构,层次化的概念把各种速度不同、容量不同、存储技术也可能不同的存储设备分为几层,通过硬件和管理软件组成一个既有足够大的存储空间又能满足CPU存取速度要求而且价格适中的整体。层次化的实现,图4.7存储器的层次化总体结构,2.内存的分区结构,内存用分区方式进行层次化组织,有利于软件的开发和系统的维护。内存分为:基本内存区(conventionalmemory)高端内存区(uppermemory)扩充内存区(expandedmemory)扩展内存区(extendedmemory),图4.8微型机的内存组织,(1)基本内存区:主要供DOS系统使用图4.9基本内存区的组织,(2)高端内存区:系统ROM和外设的适配卡缓冲区使用图4.10高端内存区的组织,(3)扩充内存区图4.11用高端内存区64KB映射扩充内存的1个页组,(3)扩充内存区,高档微机中,不再采用扩充内存卡来建立扩充内存,但仍将一部分扩展内存仿真扩充内存使用。需要在CONFIG.SYS文件中加入如下语句:DEVICE=C:DOSHIMEM.SYSDEVICE=C:DOSEMM386.EXERAM32000DOS=UMB,(4)扩展内存区,指1M以上,但不是通过内存扩充卡映射来获得的内存空间。为了使DOS也能使用扩展内存,在CONFIG.SYS加入命令:DEVICE=C:DOSHIMEM.SYS扩展内存地址从100000H开始,对于80386/80486/Pentium,可一直到FFFFFFFFH,内存容量达4GB。,4.3.2微型计算机系统的内存组织,1.16位微机系统的内存组织8086用20位地址总线寻址1MB存储空间,由两个存储体组成:奇地址存储体(高字节存储体)偶地址存储体(低字节存储体)16位CPU对存储器的访问分为:按字节访问按字访问,图4.1216位微机系统的内存组织,D15D8D7D0,字访问:对准/非对准,2.32位微机系统的内存组织,物理地址空间:4GB=1GB44个存储体分别与32位数据总线中的8位相连,也均与A31A2相连。字节允许信号BE3#BE0#作为选体信号分别连接1个存储体可满足8位、16位、32位数据的访问。地址A31A2选择双字的起始地址,此地址应是4的倍数。,图4.1332位微机系统的内存组织,字/双字访问:对准/非对准,4.5高档微机系统中的高速缓存技术4.5.1Cache概述,为何采用Cache技术?Cache系统包含三个部分:Cache模块主存Cache控制器,图4.22Cache系统的框图,Cache的命中率,Cache的命中率取决于:Cache的容量Cache的控制算法Cache的组织方式所运行的程序,区域性定律,时间区域性:存储体中某个数据被存取后,可能很快又被存取。空间区域性:存储体中某个数据被存取了,附近的数据也很快被存取。区域性定律导致了存储器设计的层次结构。,4.5.2Cache的组织方式,(1)按照主存和Cache之间的映像关系,Cache有三种组织方式。即:全相联方式直接映像方式组相联方式(2)三种组织方式的优缺点,图4.23Cache的三种组织方式,Cache的三种组织方式,Cache的访问过程与组织方式密切相关:在全相联方式,所有的区块都被平行地检索在直接映像方式,只对区块4进行检索在组相联方式,仅对组0的两个区块进行检索,图4.24全相联Cache的例子,全相联Cache,全相联Cache:有很大的灵活性;当CPU访问存储器时,为了能确定所需要的数据是否在Cache中,Cache控制器必须把所需数据块的地址和Cache中的每个区块地址比较,这个过程很慢。,图4.25直接映像Cache的例子,12F122FF,F0EE1221,FF44EE0012224044,直接映像Cache的例子,要访问地址为54FFF5H的单元,操作如下:Cache控制器根据索引即FFF5H的高14位FFF4H确定缓存中要检索的区块位置。Cache控制器将地址高8位54H和标记部分比较,确定此字节是否在Cache中。如果此字节在Cache中,则读出。如果此字节不在Cache中,则从主存中读取由54FFF4H开始的4个字节,装入Cache的FFF4H区块位置,替换掉原来的区块,此外,Cache控制器将存放在FFF4H处的标记改为54H。然后,CPU从Cache新区块读取所需字节。,直接映像Cache,通过标记,Cache控制器只做一次比较,就可确定所需要的区块是否在Cache中,而且比较时只用到8位标记,速度很快;若CPU频繁访问的两个单元索引都相同(如:FFF4H),就会出现经常不命中的情况。,图4.26组相联Cache的例子,15,组相联Cache,优点:命中率比直接映像方式稍高缺点:标记占用较多的SRAM,且Cache控制器较复杂(判断一个区块是否在Cache中,Cache控制器要做两次比较;进行区块映像时,还要决定映像到一个组内的哪一个区块。),4.5.3Cache的数据更新方法,两类一致性问题:数据丢失问题:Cache数据更新,主存未更新;数据过时问题:主存数据更新,Cache未更新;,4.5.3Cache的数据更新方法,1.防止数据丢失的一致性问题解决方法:通写式(writethrough)CPU把数据写入Cache中,Cache控制器立即把数据写入主存对应位置;优点:简单;缺点:总线活动频繁,系统速度较慢;,1.防止数据丢失的一致性问题,缓冲通写式(bufferedwritethrough)主存和Cache之间加一个缓冲器,写入主存的数据先存入缓冲器,CPU进入下一个操作时,缓冲器的数据写入主存;避免了通写式速度低的缺点;缓冲器只能保持一次写入数据;,1.防止数据丢失的一致性问题,回写式(writeback)Cache每一个区块的标记中设置一个更新位,CPU对Cache中的一个区块写入后,如未更新相应的主存区块,则更新位置1。每次对Cache写入时,如更新位为1,则Cache控制器先把现有内容写入主存相应位置,并把更新位清0,再对Cache写入。优点:写入主存的次数少;缺点:Cache控制器较复杂;,2.防止数据过时的一致性问题,解决方法:总线监视法Cache控制器监视地址总线,如其他部件将数据写入主存,且写入的主存区块为Cache中的区块的对应位置,则Cache控制器自动将Cache区块标为“无效”。硬件监视法通过外加硬件电路,使Cache本身能观察到主存中已映像区块的所有存取操作。,2.防止数据过时的一致性问题,局部禁止高速缓存法在主存中划出一个区域作为各部件共享区,这个区域内容不能取到Cache。Cache清除法将Cache中所有已更新数据写入主存,同时清除Cache中的所有数据。,4.5.4Cache控制器82385,Cache控制器82385的管理体现于以下几方面:Cache和主存的映像关系处理未命中Cache时的处理Cache的数据更新可采用两种映像方式:直接映像方式和双路组相联映像方式。通过W/D#引脚用于方式选择。,1.82385控制的直接映像方式Cache系统,82385工作于直接映像方式时Cache目录、Cache及主存之间的关系:,32,直接映像方式下82385从Cache中选1个区块,1.82385控制的直接映像方式Cache系统,未命中:区块未命中:标记相等,且标记有效位为1,当区块有效位为0;标记未命中:标记不相等,或标记有效位为0;处理:CPU直接访问主存,同时写入Cache,然后修改目录项。区块未命中:将对应的区块标记改为1标记未命中:写入标记,将标记有效位置1,又将对应区块有效位置1,同时将其他7个区块有效位置0。,2.82385控制的双路组相联方式Cache子系统,82385工作于双路组相联方式时Cache目录、Cache及主存之间的关系:,LRU:最近最少使用位。82385未命中处理时判断新写入数据存入A路还是B路的区块。,双路组相联方式下,82385从Cache中选个区块,4.5.5Pentium的两级Cache组织*,内存构成:主存:容量最大一级Cache:速度最快,分为代码Cache和数据Cache二级Cache:一级Cache不命中,由二级Cache提供。一级Cache和二级Cache之间采用MESI一致性协议,即每个Cache行分别用4个状态表示可存取状况:M(Modified):修改E(Exclusive):独占S(Shared):共享I(Invalid):无效,4.5.5Pentium的两级Cache组织,Pentium的Cache操作有如下特点:当一级Cache不命中,会向二级Cache请求。二级Cache命中,将找到的信息送一级Cache,两者按64位传输。二级Cache不命中,向总线部件发请求,从主存取信息送一级Cache和二级Cache。Cache和主存交换信息,Cache行长度

温馨提示

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

评论

0/150

提交评论