《高速缓冲存储器和虚拟存储器优秀PPT.ppt》由会员分享,可在线阅读,更多相关《高速缓冲存储器和虚拟存储器优秀PPT.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章主要内容本章主要内容高速缓冲存储器(高速缓冲存储器(Cache)高速缓存的基本运行原理高速缓存的基本运行原理高速缓存的高速缓存的3种映像方式种映像方式高速缓存运用中的几个问题高速缓存运用中的几个问题虚拟存储器虚拟存储器虚拟存储器概述虚拟存储器概述段式存储管理段式存储管理页式存储管理页式存储管理1微电子技术发展趋势微电子技术发展趋势CPU与与DRAM性能比较性能比较2程序的局部性原理程序的局部性原理程序在确定时间段内通常只访问较小的地址空间程序在确定时间段内通常只访问较小的地址空间两种局部性:时间局部性和空间局部性两种局部性:时间局部性和空间局部性时间局部性:最近被访问的信息很可能还要被访时
2、间局部性:最近被访问的信息很可能还要被访问。问。将最近被访问的信息项装入到将最近被访问的信息项装入到Cache中。中。空间局部性:最近被访问的信息接近的信息也可空间局部性:最近被访问的信息接近的信息也可能被访问。能被访问。将最近被访问的信息项接近的信息一起装入到将最近被访问的信息项接近的信息一起装入到Cache中。中。地址空间访问概率3高速缓冲存储器(高速缓冲存储器(Cache)用途:设置在用途:设置在 CPU 和和 主存储器之间,完成高速主存储器之间,完成高速与与 CPU 交换信息,尽量避开交换信息,尽量避开 CPU不必要地多次不必要地多次干脆访问慢速的主存储器,从而提高计算机系统干脆访问慢
3、速的主存储器,从而提高计算机系统的运行效率。的运行效率。实现:这是一个存储容量很小,但读写速度更快实现:这是一个存储容量很小,但读写速度更快的,以的,以 关联存储器方式关联存储器方式 运行、用静态存储器芯片运行、用静态存储器芯片实现的存储器系统。实现的存储器系统。要求:有足够高的命中率,既当要求:有足够高的命中率,既当 CPU需用主存中需用主存中的数据时,多数状况可以干脆从的数据时,多数状况可以干脆从CACHE中得到,中得到,称二者之比为命中率。称二者之比为命中率。4CACHE的基本运行原理的基本运行原理Cache存储单元的组成部分存储单元的组成部分数据字段:保存从主存单元复制过来的数据数据字
4、段:保存从主存单元复制过来的数据标记字段:保存相应主存单元的地址信息标记字段:保存相应主存单元的地址信息有效位字段:标识数据字段和标记字段是否有效有效位字段:标识数据字段和标记字段是否有效提高提高Cache性能,降低成本性能,降低成本Cache单元的大小:单元的大小:cache line size(几个主存字,削(几个主存字,削减标记位位数,较少减标记位位数,较少Cache总容量)总容量)Cache与主存交换数据的单位:与主存交换数据的单位:cache line size(充分(充分利用空间局部性)利用空间局部性)Cache单元与主存单元的对应关系,例如:单元与主存单元的对应关系,例如:完全随
5、意对应、一对多硬性对应和多对多有限随意对应完全随意对应、一对多硬性对应和多对多有限随意对应Cache的容量、分层组织、接入方式等方面的容量、分层组织、接入方式等方面5CACHE的基本运行原理的基本运行原理MEMORY CACHE CONTROL数数据据总总线线译码选一单元译码选一单元比较选一行比较选一行读读过过程程为为例例地址总线地址总线ADDR DATA CACHE CPU 6CACHE的的3种映像方式种映像方式地址映像:把一主存单元的数据复制到地址映像:把一主存单元的数据复制到CACHE中中时,还要把该主存单元的地址,经过某种函数关时,还要把该主存单元的地址,经过某种函数关系处理后写进系处
6、理后写进CACHE的标记字段,这一过程被称的标记字段,这一过程被称为为CACHE的地址映像。的地址映像。地址变换:在程序执行时,还要把主存地址变换地址变换:在程序执行时,还要把主存地址变换为访问为访问CACHE的地址,这一过程被叫做的地址,这一过程被叫做CACHE的地址变换。的地址变换。CACHE存储器通常运用存储器通常运用3种映像方式,它们是全种映像方式,它们是全相联映像方式、干脆映像方式、多路组相联映像相联映像方式、干脆映像方式、多路组相联映像方式,方式,3种映像方式有各自的优缺点。种映像方式有各自的优缺点。7全相联映像方式全相联映像方式全相联映像方式:是指主存的一个字块可以映像全相联映像
7、方式:是指主存的一个字块可以映像到整个到整个CACHE的任何一个字块中。的任何一个字块中。全相联映像方式特点:全相联映像方式特点:主存的字块可以和主存的字块可以和Cache的任何字块对应,利用的任何字块对应,利用率高,方式敏捷。率高,方式敏捷。标记位较长,比较电路的成本太高。假如主存空标记位较长,比较电路的成本太高。假如主存空间有间有2m块,则标记位要有块,则标记位要有m位。同时,假如位。同时,假如Cache有有n块,则须要有块,则须要有n个比较电路。个比较电路。运用成本太高8全相联映像方式全相联映像方式C P U数数据据主存字块标记主存字块标记有有效效位位主主存存储储器器CACHE比比较较译
8、码译码标记标记数据数据主存字块标记块内地址主存地址9全相联硬件实现举例全相联硬件实现举例10干脆映像方式干脆映像方式干脆映像方式:是指主存的一个字块只能映像到干脆映像方式:是指主存的一个字块只能映像到CACHE的一个精确确定的字块中。的一个精确确定的字块中。干脆映像方式特点:干脆映像方式特点:主存的字块只可以和固定的主存的字块只可以和固定的Cache字块对应,方字块对应,方式干脆,利用率低。式干脆,利用率低。标记位较短,比较电路的成本低。假如主存空间标记位较短,比较电路的成本低。假如主存空间有有2m块,块,Cache中字块有中字块有2c块,则标记位只要块,则标记位只要有有m-c(2m/2c)位
9、。且仅须要比较一次。位。且仅须要比较一次。利用率低,命中率低,效率较低11干脆映像方式干脆映像方式C P U数数据据有有效效位位主主存存储储器器CACHE比比较较译码译码译译码码cache字块地址主存字块标记标记标记数据数据主存字块标记块内地址主存地址cache字块地址12干脆映像硬件实现举例干脆映像硬件实现举例13多路组相联映像方式多路组相联映像方式多路组相联映像方式:是对全相联映像和干脆映想象的多路组相联映像方式:是对全相联映像和干脆映想象的一种折衷的处理方案。既不在主存和一种折衷的处理方案。既不在主存和CACHE之间实现字之间实现字块的完全随意对应,也不在主存和块的完全随意对应,也不在主
10、存和CACHE之间实现字块之间实现字块的多对一的硬性对应,而是实现一种有限度的随意对应。的多对一的硬性对应,而是实现一种有限度的随意对应。多路组相联映像方式特点:多路组相联映像方式特点:折衷方案。组间为全相连,组内为干脆映像。折衷方案。组间为全相连,组内为干脆映像。集中了两个方式的优点。成本也不太高。集中了两个方式的优点。成本也不太高。最常用的CACHE映像方式14组地址两路组相联映像方式两路组相联映像方式C P U数数据据有有效效位位主主存存储储器器CACHE译码译码比较比较比较比较译码译码译码译码标记标记数据数据主存地址主存字块标记块内地址组地址主存字块标记15多路组相联硬件实现举例多路组
11、相联硬件实现举例16三种映像方式比较三种映像方式比较全相联映射全相联映射主存中的一块可以映射到主存中的一块可以映射到Cache中任何一个位置中任何一个位置干脆映像干脆映像主存中的一块只能映射到主存中的一块只能映射到Cache中唯一的一个位置中唯一的一个位置定位时,不须要推断,只需替换定位时,不须要推断,只需替换多路组相联映射多路组相联映射主存中的一块可以选择映射到主存中的一块可以选择映射到Cache中多个位置中多个位置全相联映射和多路组相联映射的失效处理全相联映射和多路组相联映射的失效处理从主存中取出新块从主存中取出新块为了腾出为了腾出Cache空间,须要替换出一个空间,须要替换出一个Cach
12、e块块不唯一,则须要推断应替出哪块不唯一,则须要推断应替出哪块17CACHE运用中的几个问题运用中的几个问题CACHE的重要技术指标:的重要技术指标:命中率命中率影响影响 CACHE 命中率的因素命中率的因素nCACHE 的容量,大一些好nCACHE 与主存储器每次交换信息的单位量(Cache Line Size)适中nCACHE 不同的组织方式,多路组相联更好nCACHE 的多级组织可提高命中率nCACHE 装满后的替换算法18cache的容量与命中率的关系的容量与命中率的关系 Cache Size in KBHit Rate19 cache line size与缺失率的关系与缺失率的关系
13、cache 容量容量 20多级的多级的cache结构与命中率的关系结构与命中率的关系 为增加计算机系统中的为增加计算机系统中的cache容量,通常可以在已有的容量,通常可以在已有的cache存储器系统之外,再增加一个容量更大的存储器系统之外,再增加一个容量更大的cache。此时原有此时原有cache为第一级为第一级cache(例如奔腾机微处理机芯(例如奔腾机微处理机芯片内的片内的cache),新增加的),新增加的cache则成为其次级的则成为其次级的cache。其次级其次级cache的容量比第一级的容量比第一级cache的容量要大得多,在的容量要大得多,在第一级第一级cache中保存的信息也确
14、定保存在其次级中保存的信息也确定保存在其次级cache中,中,但保存有比第一级但保存有比第一级cache中更多的信息。当中更多的信息。当CPU访问第一访问第一级级cache出现缺失状况时,就去访问其次级出现缺失状况时,就去访问其次级cache。若第一级、其次级若第一级、其次级cache的命中率为的命中率为90%,则它们合起,则它们合起来后的命中率为来后的命中率为-(-90)(-90)=99,而不会是而不会是81。21Cache替换算法替换算法随机替换(随机替换(RAND)随机找一个随机找一个Cache块进行替换,比较盲目。块进行替换,比较盲目。先进先出算法(先进先出算法(FIFO)将最早调入将
15、最早调入Cache的字块替换出去,接受循环电的字块替换出去,接受循环电路简洁实现,开销小。路简洁实现,开销小。最近最少运用算法(最近最少运用算法(LRU)须要计算字块的运用次数,开销大,但平均命中须要计算字块的运用次数,开销大,但平均命中率比率比FIFO要高。要高。22改写主存储器的策略改写主存储器的策略若若 CPU 改写了改写了 Cache 一单元内容(写命中)一单元内容(写命中)后且尚未变更主存相应单元内容,则出现数据不后且尚未变更主存相应单元内容,则出现数据不一样性。有两种解决方法:一样性。有两种解决方法:干脆改写主存单元内容(干脆改写主存单元内容(Write Through):):简便
16、易行,数据一样性简洁保证,但可能带来系简便易行,数据一样性简洁保证,但可能带来系统运行效率不高的问题,统运行效率不高的问题,Cache对写操作没有提对写操作没有提高性能。高性能。拖后改写主存单元内容(拖后改写主存单元内容(Write Back):始终):始终拖到有另外的设备要读该内容过时的主存单元时,拖到有另外的设备要读该内容过时的主存单元时,则首先停止这一读操作,接下来改写主存内容,则首先停止这一读操作,接下来改写主存内容,之后再起动已停下来的读操作。冲突是如何检查之后再起动已停下来的读操作。冲突是如何检查是否是读无效内存单元的操作,这是通过监视地是否是读无效内存单元的操作,这是通过监视地址
17、总线完成的,登记无效单元地址用于比较。限址总线完成的,登记无效单元地址用于比较。限制困难些,但可以供应更高的系统运行效率。制困难些,但可以供应更高的系统运行效率。23CACHE 接入系统的体系结构接入系统的体系结构侧接法:象入出设备似的连接到总线上,优点是结构侧接法:象入出设备似的连接到总线上,优点是结构简洁,成本低,缺点是不利于降低总线占用率。简洁,成本低,缺点是不利于降低总线占用率。CPUMEMORYCACHEBus Master 1Bus Master 2总总线线24CACHE 接入系统的体系结构接入系统的体系结构隔断法:把原来的总线打断为两段,使隔断法:把原来的总线打断为两段,使 CA
18、CHE 处在处在两段之间。优点是有利于提高总线利用率,支持总线两段之间。优点是有利于提高总线利用率,支持总线并发操作;缺点是结构困难,成本较高。并发操作;缺点是结构困难,成本较高。CPUMEMORYBus Master 1Bus Master 2总总线线CACHE25本章主要内容本章主要内容高速缓冲存储器(高速缓冲存储器(Cache)高速缓存的基本运行原理高速缓存的基本运行原理高速缓存的高速缓存的3种映像方式种映像方式高速缓存运用中的几个问题高速缓存运用中的几个问题虚拟存储器虚拟存储器虚拟存储器概述虚拟存储器概述段式存储管理段式存储管理页式存储管理页式存储管理26虚拟存储器概述虚拟存储器概述虚
19、拟存储器是指用磁盘的存储空间来弥补主存空间的不足,虚拟存储器是指用磁盘的存储空间来弥补主存空间的不足,使得程序人员能够运用比主存实际空间更大的存储空间来使得程序人员能够运用比主存实际空间更大的存储空间来编写和运行程序。编写和运行程序。依据依据“程序运行的局部性原理程序运行的局部性原理”,只把一小段时间内用到,只把一小段时间内用到的程序和数据装入主存;其他程序和数据在操作系统的支的程序和数据装入主存;其他程序和数据在操作系统的支持下,在磁盘和主存之间按程序运行的须要自动成批量地持下,在磁盘和主存之间按程序运行的须要自动成批量地完成交换。完成交换。虚拟存储器常常运用两种基本管理技术,核心问题都在于
20、虚拟存储器常常运用两种基本管理技术,核心问题都在于处理数据的存放与调度。处理数据的存放与调度。段式存储管理段式存储管理页式存储管理页式存储管理综合起来:段页式存储管理综合起来:段页式存储管理综合起来:段页式存储管理综合起来:段页式存储管理27段式存储管理段式存储管理段是程序模块化设计的结果,即把程序中逻辑上段是程序模块化设计的结果,即把程序中逻辑上相对独立的部分设计为不同的段,再经过连接程相对独立的部分设计为不同的段,再经过连接程序连接成更大的程序。此时用段作为信息调入主序连接成更大的程序。此时用段作为信息调入主存的单位是合适的,以段为单位安排与管理主存存的单位是合适的,以段为单位安排与管理主
21、存储器被称为段式存储管理。储器被称为段式存储管理。段式存储管理的核心问题在于设立和管理段表;段式存储管理的核心问题在于设立和管理段表;段表也是主存中的可再定位的一段信息,用于变段表也是主存中的可再定位的一段信息,用于变换程序中的虚地址(逻辑地址)为主存单元的实换程序中的虚地址(逻辑地址)为主存单元的实地址(物理地址)。地址(物理地址)。28段式存储管理段式存储管理29段表内容及其管理段表内容及其管理段号段号 段内地址段内地址+逻辑地址逻辑地址段始地址段始地址 段长段长 装入位装入位段段表表主存实际地址主存实际地址段表基地址段表基地址30段式存储管理段式存储管理提高性能的方法提高性能的方法运用段
22、地址寄存器,保存一段的起始地址,以后运用段地址寄存器,保存一段的起始地址,以后运用这一段的数据不必再查段表,干脆计算主存运用这一段的数据不必再查段表,干脆计算主存地址地址段式存储管理的特点段式存储管理的特点优点:段的分界与程序的自然分界对应优点:段的分界与程序的自然分界对应 段逻辑上的独立性有利于内存爱护段逻辑上的独立性有利于内存爱护 便于实现对段的信息共享便于实现对段的信息共享缺点缺点 段长不确定,主存安排和管理不便段长不确定,主存安排和管理不便 简洁在段间形成难以利用的碎片简洁在段间形成难以利用的碎片31页式存储管理页式存储管理页式存储管理是把虚拟空间和主存空间都分成大页式存储管理是把虚拟
23、空间和主存空间都分成大小相同的页(为小相同的页(为2的整数幂个字),并以页为单的整数幂个字),并以页为单位进行虚存与主存间的信息交换。此时虚存逻辑位进行虚存与主存间的信息交换。此时虚存逻辑地址和主存物理地址分别被分为地址和主存物理地址分别被分为“虚存页号页虚存页号页内地址内地址”和和“主存页号页内地址主存页号页内地址”,虚、实二,虚、实二页号会不同,但运用相同的页内地址。页号会不同,但运用相同的页内地址。与段式存储管理不一样,页不是程序本身的结构与段式存储管理不一样,页不是程序本身的结构特性,而是从管理的角度人为划分的结果。设置特性,而是从管理的角度人为划分的结果。设置和管理好页表是页式存储管
24、理的关键技术。和管理好页表是页式存储管理的关键技术。32页式存储管理页式存储管理33页表内容和页式管理页表内容和页式管理+(在内存中)限制位(在内存中)限制位 有效位有效位页页表表虚地址虚地址 (程序中给出程序中给出)实地址实地址 (读写内存用读写内存用)按按地地址址读读实页号实页号虚页号虚页号 页内地址页内地址实页号实页号 页内地址页内地址页表基地址页表基地址限制位:包括修改位、替换位有效位:表示该页是否已装入主存34页式存储管理页式存储管理页式存储管理的特点页式存储管理的特点优点:只要有空白页新页就可以调入内存优点:只要有空白页新页就可以调入内存 只有程序的最终一页可能有零头奢侈只有程序的
25、最终一页可能有零头奢侈缺点:页不是逻辑上的独立程序实体缺点:页不是逻辑上的独立程序实体 处理、爱护和共享信息不如段式便利处理、爱护和共享信息不如段式便利提高性能的方法提高性能的方法为了克服读取一次数据访问两次内存的问题为了克服读取一次数据访问两次内存的问题(一次一次查页表查页表,一次读内存一次读内存),引入快速页表(转换旁路,引入快速页表(转换旁路缓冲器缓冲器TLB:translation lookaside buffer)TLB完全由快速硬件实现,但容量较小,接受类完全由快速硬件实现,但容量较小,接受类似于似于Cache的关联存储器方式进行访问的关联存储器方式进行访问35页表内容和页式管理页
26、表内容和页式管理+(在内存中)限制位(在内存中)限制位 有效位有效位虚虚 页号页号 实实 页号页号慢慢表表虚地址虚地址 (程序中给出程序中给出)实地址实地址 (读写内存用读写内存用)快表快表(专设硬件专设硬件)比较比较(按内容选按内容选)按按地地址址读读实页号实页号虚页号虚页号 页内地址页内地址实页号实页号 页内地址页内地址页表基地址页表基地址36虚拟存储器与高速缓冲存储器区分虚拟存储器与高速缓冲存储器区分CacheCache虚拟存储器虚拟存储器功能功能提高了主存储器提高了主存储器的速度的速度 扩大了主存储器扩大了主存储器的容量的容量 实现技术实现技术硬件硬件 以软件为主以软件为主 透明性透明
27、性透明透明不透明不透明地址转换地址转换简单简单复杂、速度慢复杂、速度慢数据交换数据交换 频率高、数量少频率高、数量少 频率低、数量多频率低、数量多37小结小结多级结构的存储器系统多级结构的存储器系统多级结构组成多级结构组成高速缓存高速缓存Cache主存储器主存储器虚拟存储器虚拟存储器运行的原理:程序运行的局部性原理运行的原理:程序运行的局部性原理时间局部性时间局部性空间局部性空间局部性多级机构存储器各级之间满足的原则:多级机构存储器各级之间满足的原则:一样性原则一样性原则包含性原则包含性原则38小结小结主存储器主存储器动态存储器芯片读写原理动态存储器芯片读写原理静态存储器芯片读写原理静态存储器芯片读写原理两种存储器芯片的比较两种存储器芯片的比较提高主存储器系统性能的措施提高主存储器系统性能的措施高速缓冲存储器高速缓冲存储器高速缓存的基本运行原理高速缓存的基本运行原理高速缓存的三种映像方式高速缓存的三种映像方式高速缓存运用中的几个问题高速缓存运用中的几个问题虚拟存储器虚拟存储器虚拟存储器的基本运行原理虚拟存储器的基本运行原理段式存储管理和页式存储管理段式存储管理和页式存储管理39
限制150内