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

下载本文档

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

文档简介

微型机原理与技术CH5存储器、存储管理和高速缓存技术,CH5存储器、存储管理和高速缓存技术,存储器件和存储器存储器的体系结构虚拟存储机制和段页两级存储管理高速缓存技术,5.1存储器件和存储器,存储器的分类和性能指标随机存取存储器和只读存储器存储器的行列结构、应用举例以及容量扩充,存储器的分类和性能指标,根据用途和特点内部存储器:外部存储器:内存CPU可直接访问大小限制主要指RAM计算机中各类存储器的分工内存(系统程序,系统参数,当前运行应用软件和数据),外存(暂不使用的程序和数据),5.1.1,存储器的分类和性能指标,存储器的性能指标-易失性:指电源断开后内容丢失,如RAM-只读性:-存储容量:-速度:存储周期、存储器带宽-功耗,随机存储器和只读存储器,随机存储器分类-SRAM-DRAM只读存储器-MROM-PROM-EPROM-E2PROM-Flashmemory,5.1.2,SRAM(静态)基于双稳态触发器原理缺点:容量小、功耗大,用于存储量小的系统DRAM(动态)器件利用电容存储容量大,功耗低需要刷新,1.随机存取存储器RAM,5.1.2,1.随机存取存储器RAM,DRAM:DRAM刷新和DRAM控制器刷新(对存储器读取放大再写入)方法:常用“只有行地址有效”方法DRAM控制器的功能时序功能、地址处理功能、仲裁功能,5.1.2,2.只读存储器ROM,优点结构简单,位密度比可读写存储器高具有非易失性应用场合不需修改和写入根据其中信息的设置方法分掩膜型ROM可编程只读存储器PROM可擦除可编程只读存储器EPROM可用电擦除可编程只读存储器E2PROM闪烁存储器FlashMemory,5.1.2,掩膜型ROM(MROM)ROM中信息由厂家根据用户给定的程序或数据对芯片进行光刻而写入双极型和MOS型可编程ROM(PROM)用户按可自己的需要写入信息(一次性)通过对二极管键是否烧断存储信息可擦除可编程ROM(EPROM)通过是否有电荷分布保存信息工作方式:读、编程、校验,2.只读存储器ROM,ROM的分类,5.1.2,可用电擦除可编程只读存储器(E2PROM)工作方式:读、写、字节擦除、整体擦除闪烁存储器(FlashMemory)主机板上BIOS存储介质特点:(1)信息保持时间久(10年),非易失;(2)擦写速度快、可靠性高、擦写次数多(几十万次);(3)容量大。,ROM的分类,2.只读存储器ROM,5.1.2,1.存储器的行列结构,容量以字节(B)为单位地址区分不同的存储单元简化地址译码电路矩阵结构,5.1.3,2.存储器和CPU的连接考虑,CPU和存储器的速度匹配问题:插入等待状态CPU总线的负载能力问题:增加总线驱动器片选信号的产生:CPU高位地址线-全译码法-部分译码法-线选法-混合译码法:部分译码和线选结合行地址、列地址的产生:CPU低位地址线对芯片内部的寻址方法:-片选译码,片内译码通过行列矩阵结构对存储单元选择),5.1.3,3.SRAM的使用举例,5.1.3,图5.216K8b静态RAM模块,4.DRAM和DRAM控制器使用举例,读出,写入,5.1.3,图5.3动态RAM控制器8203和2164的连接关系,64K1b,5.存储器容量的扩充,数据宽度的扩充为了与数据线宽度一致字节数的扩充扩大地址范围,5.1.3,5.2存储器的体系结构,层次化的存储器体系结构层次化的总体结构内存的分区结构32位计算机系统的内存结构16位微机系统的内存组织32位微机系统的内存组织,1.层次化的总体结构,层次化把各种速度不同、容量不同、存储技术也可能不同的存储设备分为几层,通过硬件和管理软件组成一个既有足够大的存储空间、又能满足CPU存取速度要求、而且价格适中的整体,使存储体具有最好的性价比。思路用Cache、内存和辅存构成层次化的存储器,按使用频度将数据分为不同的档次分放在不同的存储器中,不同层次的存储器之间可互相传输。,5.2.1,1.层次化的总体结构,方法虚拟存储技术实现内存和辅存之间的映象高速缓存技术Cache和内存之间的映象,5.2.1,2.内存的分区结构,基本内存区的组织640KB,5.2.1,内存的分区结构,高端内存区的组织384KB,内存的分区结构,用高端内存区64K映射扩充内存的一个页组,内存的分区结构,扩展内存区32位微机才有的内存区,指1MB以上但不是通过内存扩充卡映射获得的空间。,16位微机系统的内存组织,5.2.2,32位微机系统的内存组织,5.2.1,5.3Pentium的虚拟存储机制和段页两级存储管理,对多任务操作系统的支持,体现在:从硬件上为任务之间的切换提供了良好的条件支持容量极大的虚拟存储器,并且,为了管理如此大的存储空间,采用片内两级存储管理,虚拟存储机制,虚拟存储技术虚拟:相对于实际的、物理的存储而言的物理存储器由地址总线直接访问的存储空间(16位,1M;32位,4G)单元地址称为物理地址虚拟存储器程序使用的逻辑存储空间可以比物理存储器大得多单元地址称为虚拟地址(逻辑地址)由存储器管理软件在主存和辅存基础上建立的一种存储体系Pentium只有在保护模式下才支持,5.3.1,2.段式虚拟存储和页式虚拟存储,虚存的分类:段式虚拟存储器每段的长度不是固定的每个段都是受到保护的独立的空间优点:易于管理。缺点:碎片多,效率低。页式虚拟存储器一个系统中的所有页面大小固定(常是4KB)页面的起点和终点也固定只有分页机制才支持虚拟存储(?),5.3.1,控制寄存器CR0中PG=1允许分页,分段提供了隔绝各个代码、数据和堆栈区域的机制,因此多个程序(或任务)可以运行在同一个处理器上而不会互相干扰。分页机制为传统需求页、虚拟内存系统提供了实现机制。其中虚拟内存系统用于实现程序代码按要求被映射到物理内存中。分页机制当然也能用于提供多任务之间的隔离措施,2.段式虚拟存储和页式虚拟存储,5.3.1,3.Pentium中的三类地址,逻辑地址程序员所看到的地址(虚拟地址)。特点:这是程序员编写的源程序中使用的地址完整的逻辑地址一共48位(选择子:偏移量)逻辑地址中的选择子对应于一个段基址Pentium共有214=16348个段线性地址分段部件将包含选择子和偏移量的逻辑地址转换为32位的线性地址。特点:线性地址是由2个32位量相加而成的(基址+偏移)段基址由段描述符得到线性地址是分为3个字段来体现其功能,5.3.1,3.Pentium中的三类地址,物理地址和芯片上的地址信号相对应为每个存储单元在存储体中指定唯一的地址分页部件将线性地址转换为物理地址如果分页部件处于禁止状态,线性地址就是物理地址转换时间几乎为0,5.3.1,分段管理,段独立且连续的存储空间相关的控制信息:段的基址、界限、访问的优先级、共享性、访问的特性(读/写)段描述符把有关段的信息,即:段基址、界限、访问属性全部存放在一个称为段描述符的数据结构中并把系统中所有的描述符编成表,以便硬件查找和识别三种描述符表GDT、LDT、IDT使用描述符表带来的优点可大大扩展存储空间(存储空间取决于描述符数量和每个描述符能表示的段长度)可实现虚拟存储(描述符属性位指示对应段是否在内存或磁盘,在磁盘及时调入内存)可实现多任务隔离(除与系统有关的操作访问GDT,其余的只能访问LDT,每个任务有独立空间,就像每个任务独享CPU),5.3.2,1.段选择子,通常由系统程序的链接程序(Linker)或装配程序(Loader)指定、修改。段描述符索引字段DI13位(在GDT或LDT中选择一个描述符)描述符指示标志TI选择GDT(TI=0)还是LDT(TI=1)请求特权级字段RPL(共4级,0级最高)为了保护段,5.3.3,2.段描述符,32位的段基址在物理空间的开始位置段类型S0为系统段(TSS、LDT、各种门),1为非系统段20位的段界限段的长度3位的段属性E、ED/C、W/R,5.3.3,段描述符,粒度G1Bvs.4KB存在位P(P=1在内存,P=0在磁盘)特权级DPL保护访问位A可提供统计信息D/B字段代码段、堆栈数据段中使用,5.3.3,3.描述符表,三类GDTLDTIDT每个描述符表最多可容纳213个描述符GDT中的第一个(DI0)为空描述符IDT最多只对应256个描述符,5.3.3,描述符表,GDT含有可供系统中所有任务使用的段描述符每个LDT也看成一个特殊的段(系统段)GDT中还包含各个LDT对应的描述符LDT只包含与某一任务相关的各个段的描述符,5.3.3,逻辑地址转换为线性地址,8,8,5.3.4,逻辑地址转换为线性地址,Pentium为每个段寄存器各设置了一个64位的段描述符寄存器(程序员不可访问)它是高速缓冲存储器保存着相应段选择子所对应的段描述符每次装入段选择子时,段描述符也一起装入,5.3.4,分页管理,优点:有了分页机制,一个文件一旦用到只需某些页在内存,为巨型文件使用内存和数据管理带来方便;每个活动任务的所需少量页放入内存,提高了存取效率。与分段的区别页大小是固定的,而且页面空间比较小页的边界有对准点4KB或4MB实际的存储页物理页分配给程序的页虚拟页多个页面构成一组页组分页功能设计两个表页组目录项表页映象表(页表)本身就是一个页,5.3.5,分页管理,5.3.5,线性地址转换为物理地址,第一步是查询CR3第二步是将线性地址的高10位作为页组项号第三步是查询相应页组目录对应的页表,5.3.5,线性地址转换为物理地址例,将线性地址0123567H转换为物理地址,转换检测缓冲器TLB,分页机制中的两种表放在存储器中速度?高速缓存(表长,代价大)Translatelookasidebuffer(小型高速缓存)Pentium为数据Cache和指令Cache分别配置了各自独立的TLB每个TLB中存放32个最近经常使用的页表项,通过操作系统跟踪来控制这些项的保持和更新,5.3.5,转换检测缓冲器TLB,分页部件得到32位线性地址时先通过其高20位与TLB中的32项比较否则呢,5.3.5,TLB的工作原理,5.3.5,分页管理,操作系统的角色分页部件将线性地址转换为物理地址的过程需要操作系统的参与对操作系统的要求建立初始页组目录表和页表,在分页部件功能的基础上完成线性地址到物理地址的转换完成存储数据的交换,当出现缺页故障时,将缺页从磁盘调到内存,并重新启动引起缺页故障的指令在虚拟存储器的管理中,须周期性地检测当前任务占有的各页所对应的页表项的访问位A,做统计。确定哪些页常用,使其驻留主存中。确保TLB的内容和分页部件的两个表相符,5.3.5,5.4高速缓存技术,Cache概述Cache的组织方式Cache的数据更新方法Cache控制器82385Pentium的两级Cache组织影响Cache性能的因素,Cache概述,矛盾大容量、高速度CPU速度高,DRAM速度慢,SARM价格高。技术在主存和高速CPU之间设置一个小容量、高速度的SRAM存放CPU正在使用的代码和数据CPU访问存储器主要体现在对SRAM的存取可以不加等待状态而保持高速操作,Cache概述,Cache系统主存保存数据,Cache保存主存副本依据区域性规律(principleoflocality)时间区域性空间区域性,Cache的组织方式,Cache系统中主存总是以区块为单位映象到Cache32位微机系统中,区块长度通常为4字节三种组织方式全相联方式主存的一个区块可以映象到Cache的任何一个地方直接映像方式主存的一个区块只能映象到Cache的一个对应的地方,Cache的组织方式(续),三种组织方式组相联方式将Cache分为均等容量的几路,每一路又含许多组,各路中组的数量和编号相同,每一组又含1个或多个区块通过约定的机制,主存的一个区块只能映象到Cache的指定组号和指定块号的区块,但可以是不同路其实是多路的直接映象方式Cache的访问过程与组织方式密切相关,Cache的三种组织方式,全相联Cache的例子,直接映像Cache的例子,组相联Cache的例子,Cache的数据更新方法,两个问题数据丢失:Cache数据更新,主存未更新)数据过时:主存更新,某个Cache数据未更新防止数据丢失的一致性问题通写式:CPU写到Cache,Cache立即写回主存。缓冲通写式:主存和Cache间加缓冲器。回写式:Cache每一个区块标记设置更新位,CPU写到Cache,未更新主存,则标志置1.CPU写到Cache首先检查更新位,为0可写入。否则:先把Cache现有内容写回主存,再对Cache写入。,Cache的数据更新方法,防止数据过时的一致性问题总线监视法:Cache控制器随时检测地址总线如其它部件写入主存,Cache控制器立即将对应区块标为无效.硬件监视法:外加硬件电路,Cache本身能观察主存中映射区块的所有存取操作.(1:所有部件存取用一个Cache,2:每个部件一个Cache,一个Cache写,数据写入主存也写入其它Cache)局部禁止高速缓存法:共享区内容无法取到主存.Cache清除法:Cache所有更新数据写回主存,清除Cache所有数据.影响命中率的因素Cache的组织方式Cache的容量Cache和主存之间的数据一致性运行的程序本身,Cache控制器82385,Cache子系统Cache、Cache控制器、主存Cache中存放CPU常用的代码和数据Cache控制器功能拦截CPU的每次访存操作检查CPU所需要的信息是否已在Cache中若未命中,再访问主存82385与80386配合,Cache控制器82385,82385对Cache系统的管理Cache和主存的映像关系处理未命中Cache时的处理Cache的数据更新通过片内的Cache目录使外部32KB的Cache和4GB的主存之间实现映象两种映象方式直接映象方式双路组相联映象方式,82385控制的直接映象方式Cache系统,直接映象方式时的Cache目录、Cache及主存之间的关系,82385控制的直接映象方式Cache系统,直接映像方式下82385从Cache中选1个区块,82385控制的双路组相联方式Cache子系统,双路组相联方式时的Cache目录、Cache及主存之间的关系,82385控制的双路组相联方式Cache子系统,双路组相联方式下82385从Cache中选1个区块,Pentium两级Cache组织,内存主存、二级Cache(一级Cache的后备)、一级Cache一级Cache代码Cache、数据Cache二级Cache代码、数据合在一起通过内部总线与一级Cache连接,Pentium的两级Cache组织,二级Cache与一级Cache间采用MESI一致性协议每个Cache行分别用M、E、S、I表示可存取状况MModified(修改)EExclusive(独占)SShared(共享)IInvalid(无效),MESI一致性协议,M(一个Cache行处于M状态)已被修改过最新,可读/写,写回主存后改为S状态S可共享,读时不需要总线操作,写需要写回主存.E没有被修改过,写后成为M状态I内容无效,对I状态的Cache行读则不命中,需要从主存取数据对其填充。,MESI一致性协议,一级代码Cache不允许写入,只有S、I两种状态从二级代码Cache传送到一级代码Cache的Cache行总是处于S状态一级数据CacheCPU读取而不命中时,向二级Cache发请求CPU写且命中时,S、M、E状态的成为M状态CPU写但未命中时,若二级Cache命中,则复制到一级Cache,状态分别成为

温馨提示

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

评论

0/150

提交评论