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