高速缓冲存储器和虚拟存储器1.ppt_第1页
高速缓冲存储器和虚拟存储器1.ppt_第2页
高速缓冲存储器和虚拟存储器1.ppt_第3页
高速缓冲存储器和虚拟存储器1.ppt_第4页
高速缓冲存储器和虚拟存储器1.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章,高速缓冲存储器和虚拟存储器,2,本章主要内容,高速缓冲存储器(Cache) 高速缓存的基本运行原理 高速缓存的3种映像方式 高速缓存使用中的几个问题 虚拟存储器 虚拟存储器概述 段式存储管理 页式存储管理,3,微电子技术发展趋势,CPU与DRAM性能比较,4,程序的局部性原理,程序在一定时间段内通常只访问较小的地址空间 两种局部性:时间局部性和空间局部性 时间局部性:最近被访问的信息很可能还要被访问。 将最近被访问的信息项装入到Cache中。 空间局部性:最近被访问的信息临近的信息也可能被访问。 将最近被访问的信息项临近的信息一起装入到Cache中。,5,高速缓冲存储器(Cache),

2、用途:设置在 CPU 和 主存储器之间,完成高速与 CPU 交换信息,尽量避免 CPU不必要地多次直接访问慢速的主存储器,从而提高计算机系统的运行效率。 实现:这是一个存储容量很小,但读写速度更快的,以 关联存储器方式 运行、用静态存储器芯片实现的存储器系统。 要求:有足够高的命中率,既当 CPU需用主存中的数据时,多数情况可以直接从CACHE中得到,称二者之比为命中率。,6,CACHE的基本运行原理,Cache存储单元的组成部分 数据字段:保存从主存单元复制过来的数据 标志字段:保存相应主存单元的地址信息 有效位字段:标识数据字段和标志字段是否有效 提高Cache性能,降低成本 Cache单

3、元的大小:cache line size(几个主存字,减少标志位位数,较少Cache总容量) Cache与主存交换数据的单位: cache line size(充分利用空间局部性) Cache单元与主存单元的对应关系,例如: 完全随意对应、一对多硬性对应和多对多有限随意对应 Cache的容量、分层组织、接入方式等方面,7,CACHE的基本运行原理,MEMORY,CACHE CONTROL,数据总线,译码选一单元,比较选一行,读过程为例,地址总线,ADDR DATA,CACHE,CPU,8,CACHE的3种映像方式,地址映像:把一主存单元的数据复制到CACHE中时,还要把该主存单元的地址,经过某

4、种函数关系处理后写进CACHE的标志字段,这一过程被称为CACHE的地址映像。 地址变换:在程序执行时,还要把主存地址变换为访问CACHE的地址,这一过程被叫做CACHE的地址变换。 CACHE存储器通常使用3种映像方式,它们是全相联映像方式、直接映像方式、多路组相联映像方式,3种映像方式有各自的优缺点。,9,全相联映像方式,全相联映像方式:是指主存的一个字块可以映像到整个CACHE的任何一个字块中。 全相联映像方式特点: 主存的字块可以和Cache的任何字块对应,利用率高,方式灵活。 标志位较长,比较电路的成本太高。如果主存空间有2m块,则标志位要有m位。同时,如果Cache有n块,则需要有

5、n个比较电路。,使用成本太高,10,全相联映像方式,C P U,数据,主存字块标记,有效位,主存储器,CACHE,比较,译码,标志,数据,主存字块标记,块内地址,主存地址,11,全相联硬件实现举例,12,直接映像方式,直接映像方式:是指主存的一个字块只能映像到CACHE的一个准确确定的字块中。 直接映像方式特点: 主存的字块只可以和固定的Cache字块对应,方式直接,利用率低。 标志位较短,比较电路的成本低。如果主存空间有2m块,Cache中字块有2c块,则标志位只要有m-c(2m/2c)位。且仅需要比较一次。,利用率低,命中率低,效率较低,13,直接映像方式,C P U,数据,有效位,主存储

6、器,CACHE,比较,译码,译码,cache字块地址,主存字块标记,标志,数据,主存字块标记,块内地址,主存地址,cache字块地址,14,直接映像硬件实现举例,15,多路组相联映像方式,多路组相联映像方式:是对全相联映像和直接映想象的一种折衷的处理方案。既不在主存和CACHE之间实现字块的完全随意对应,也不在主存和CACHE之间实现字块的多对一的硬性对应,而是实现一种有限度的随意对应。 多路组相联映像方式特点: 折衷方案。组间为全相连,组内为直接映像。 集中了两个方式的优点。成本也不太高。,最常用的CACHE映像方式,16,组地址,两路组相联映像方式,C P U,数据,有效位,主存储器,CA

7、CHE,译码,比较,比较,译码,译码,标志,数据,主存地址,主存字块标记,块内地址,组地址,主存字块标记,17,多路组相联硬件实现举例,18,三种映像方式比较,全相联映射 主存中的一块可以映射到Cache中任何一个位置 直接映像 主存中的一块只能映射到Cache中唯一的一个位置 定位时,不需要判断,只需替换 多路组相联映射 主存中的一块可以选择映射到Cache中多个位置 全相联映射和多路组相联映射的失效处理 从主存中取出新块 为了腾出Cache空间,需要替换出一个Cache块 不唯一,则需要判断应替出哪块,19,CACHE使用中的几个问题,CACHE的重要技术指标:命中率 影响 CACHE 命

8、中率的因素 CACHE 的容量,大一些好 CACHE 与主存储器每次交换信息的单位量(Cache Line Size)适中 CACHE 不同的组织方式,多路组相联更好 CACHE 的多级组织可提高命中率 CACHE 装满后的替换算法,20,cache的容量与命中率的关系,Cache Size in KB,Hit Rate,21,cache line size与缺失率的关系 cache 容量,22,多级的cache结构与命中率的关系,为增加计算机系统中的cache容量,通常可以在已有的cache存储器系统之外,再增加一个容量更大的cache。此时原有cache为第一级cache(例如奔腾机微处理

9、机芯片内的cache),新增加的cache则成为第二级的cache。 第二级cache的容量比第一级cache的容量要大得多,在第一级cache中保存的信息也一定保存在第二级cache中,但保存有比第一级cache中更多的信息。当CPU访问第一级cache出现缺失情况时,就去访问第二级cache。 若第一级、第二级cache的命中率为90%,则它们合起来后的命中率为-(-90)(-90)=99,而不会是81。,23,Cache替换算法,随机替换(RAND) 随机找一个Cache块进行替换,比较盲目。 先进先出算法(FIFO) 将最早调入Cache的字块替换出去,采用循环电路容易实现,开销小。

10、最近最少使用算法(LRU) 需要计算字块的使用次数,开销大,但平均命中率比FIFO要高。,24,改写主存储器的策略,若 CPU 改写了 Cache 一单元内容(写命中)后且尚未改变主存相应单元内容,则出现数据不一致性。有两种解决办法: 直接改写主存单元内容(Write Through): 简便易行,数据一致性容易保证,但可能带来系统运行效率不高的问题,Cache对写操作没有提高性能。 拖后改写主存单元内容(Write Back):一直拖到有另外的设备要读该内容过时的主存单元时,则首先停止这一读操作,接下来改写主存内容,之后再起动已停下来的读操作。矛盾是如何检查是否是读无效内存单元的操作,这是通

11、过监视地址总线完成的,记下无效单元地址用于比较。控制复杂些,但可以提供更高的系统运行效率。,25,CACHE 接入系统的体系结构,侧接法:象入出设备似的连接到总线上,优点是结构简单,成本低,缺点是不利于降低总线占用率。,CPU,MEMORY,CACHE,Bus Master 1,Bus Master 2,总线,26,CACHE 接入系统的体系结构,隔断法:把原来的总线打断为两段,使 CACHE 处在两段之间。优点是有利于提高总线利用率,支持总线并发操作;缺点是结构复杂,成本较高。,CPU,MEMORY,Bus Master 1,Bus Master 2,总线,CACHE,27,本章主要内容,高

12、速缓冲存储器(Cache) 高速缓存的基本运行原理 高速缓存的3种映像方式 高速缓存使用中的几个问题 虚拟存储器 虚拟存储器概述 段式存储管理 页式存储管理,28,虚拟存储器概述,虚拟存储器是指用磁盘的存储空间来弥补主存空间的不足,使得程序人员能够使用比主存实际空间更大的存储空间来编写和运行程序。 根据“程序运行的局部性原理”,只把一小段时间内用到的程序和数据装入主存;其他程序和数据在操作系统的支持下,在磁盘和主存之间按程序运行的需要自动成批量地完成交换。 虚拟存储器经常使用两种基本管理技术,核心问题都在于处理数据的存放与调度。 段式存储管理 页式存储管理,综合起来:段页式存储管理,29,段式

13、存储管理,段是程序模块化设计的结果,即把程序中逻辑上相对独立的部分设计为不同的段,再经过连接程序连接成更大的程序。此时用段作为信息调入主存的单位是合适的,以段为单位分配与管理主存储器被称为段式存储管理。 段式存储管理的核心问题在于设立和管理段表;段表也是主存中的可再定位的一段信息,用于变换程序中的虚地址(逻辑地址)为主存单元的实地址(物理地址)。,30,段式存储管理,31,段表内容及其管理,段号 段内地址,+,+,逻辑地址,段始地址 段长 装入位,段 表,主存实际地址,段表基地址,32,段式存储管理,提高性能的方法 使用段地址寄存器,保存一段的起始地址,以后使用这一段的数据不必再查段表,直接计

14、算主存地址 段式存储管理的特点 优点:段的分界与程序的自然分界对应 段逻辑上的独立性有利于内存保护 便于实现对段的信息共享 缺点 段长不确定,主存分配和管理不便 容易在段间形成难以利用的碎片,33,页式存储管理,页式存储管理是把虚拟空间和主存空间都分成大小相同的页(为2的整数幂个字),并以页为单位进行虚存与主存间的信息交换。此时虚存逻辑地址和主存物理地址分别被分为“虚存页号页内地址”和“主存页号页内地址”,虚、实二页号会不同,但使用相同的页内地址。 与段式存储管理不一样,页不是程序本身的结构特性,而是从管理的角度人为划分的结果。设置和管理好页表是页式存储管理的关键技术。,34,页式存储管理,3

15、5,页表内容和页式管理,+,(在内存中)控制位 有效位,页表,虚地址 (程序中给出),实地址 (读写内存用),按地址读,实页号,虚页号 页内地址,实页号 页内地址,页表基地址,控制位:包括修改位、替换位,有效位:表示该页是否已装入主存,36,页式存储管理,页式存储管理的特点 优点:只要有空白页新页就可以调入内存 只有程序的最后一页可能有零头浪费 缺点:页不是逻辑上的独立程序实体 处理、保护和共享信息不如段式方便 提高性能的方法 为了克服读取一次数据访问两次内存的问题(一次查页表,一次读内存),引入快速页表(转换旁路缓冲器TLB:translation lookaside buffer) TLB完全由快速硬件实现,但容量较小,采用类似于Cache的关联存储器方式进行访问,37,页表内容和页式管理,+,(在内存中)控制位 有效位,虚 页号 实 页号,慢表,虚地址 (程序中给出),实地址 (读写内存用),快表(专设硬件),比较(按内容选),按地址读,实页号,虚页号 页内地址,实页号 页内地址,页表基地址,38,虚拟存储器与高速缓冲存储器

温馨提示

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

评论

0/150

提交评论