组成第十四讲:快速缓冲存储器_第1页
组成第十四讲:快速缓冲存储器_第2页
组成第十四讲:快速缓冲存储器_第3页
组成第十四讲:快速缓冲存储器_第4页
组成第十四讲:快速缓冲存储器_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理第七章 存储系统计算机组成原理7.1 存储系统的层次结构7.2 高级缓冲存储器7.3 虚拟存储器7.4 相联存储器计算机组成原理7.1 存储系统的层次结构1.主存和辅存的概念2.主存和辅存在操作系统的控制下,通过软硬件把主存和辅存统一成为一个整体,形成一个存储层次。这个层次拥有接近于主存的速度和辅存的容量,价格也接近于辅存的价格。3.在CPU和主存之间有高速缓冲存储器cache,这完全是由硬件来完成的。 Cache主存的速度接近于cache,而容量与价格接近于主存。 Cache的速度接近于CPU。计算机组成原理1.三级结构的存储器系统:将高速缓缓冲存储器、主存储器和辅助(虚拟)存

2、储器组成的统一管理、调度的一体化三级结构的存储器系统。 计算机组成原理3.三种存储器的比较 (1)高速缓存(Cache):速度快,容量小,用于临时存放运行中的指令和少量数据; (2)主存:速度、容量一般,用于临时存放运行中的大量程序和数; (3)辅存:速度慢,容量大,用于永久存放大型程序软件和数据库。计算机组成原理4.采用三级结构的目的和方法 n(1)Cache-Cache-主存层次主存层次:解决CPU与主存间速度不匹配问题,使系统具有主存容量和接近于Cache速度。采用地址映像方式,以字块为基本信息单位。 (2)虚拟存储器虚拟存储器- -主存层次主存层次:解决主存容量小、运行成本高的问题,使

3、系统具有辅存容量和接近主存速度,且造价和运行成本低。采用地址变换方式,以段、页为基本信息单位。 计算机组成原理1.局部性原理局部性原理三级结构存储器系统运行原理基础 (1)时间局部性:在较小的时间间隔内,最近被访问的指令和数据很可能再次被访问; (2)空间局部性:这些最近被访问的指令和数据往往集中在一小片存储区域中; (3)指令执行方式局部性:顺序执行较转移执行可能性大。 计算机组成原理n3.一致性原则一致性原则:同时存放在三类存储器中的信息,在三类存储器中必须保持同值。 2.包含性原则包含性原则:处在内层的存储器的信息一定包含在各外层存储器中。即内层存储器中信息是外层存储器所存信息的一小部分

4、的副本。 Cache:一种容量小、速度快,用静态存储器器件实现的存储器。 n作用:解决CPU与主存速度不匹配的问题,使系统速度接近于CPU,容量接近于主存。 计算机组成原理计算机组成原理高速缓冲存储器(高速缓冲存储器(cache)l 目前,组成主存的目前,组成主存的DRAM存取速度一般落后于存取速度一般落后于CPU的处理的处理速度,速度,CPU访问主存时不得不插入等待周期来适应主存的访问主存时不得不插入等待周期来适应主存的速度,致使系统整体下降。速度,致使系统整体下降。l 高速缓冲存储器高速缓冲存储器Cache:是为解决是为解决CPU和和DRAM之间的速度匹配而采用的一项之间的速度匹配而采用的

5、一项重要技术;重要技术;是发挥是发挥CPU高速高效的性能而设置的一种介于高速高效的性能而设置的一种介于CPU和和DRAM之间的高速小容量缓冲存储器;之间的高速小容量缓冲存储器;存取速度要比主存快,由高速的存取速度要比主存快,由高速的SRAM组成;组成;全部功能由硬件实现,保证了其高速度。全部功能由硬件实现,保证了其高速度。计算机组成原理高速缓冲存储器(高速缓冲存储器(cache)l cache的工作机制的工作机制l cache基本原理基本原理l 地址映象(映射)与地址变换地址映象(映射)与地址变换l cache与主存数据的一致性与主存数据的一致性l 替换策略替换策略l 高速缓冲器高速缓冲器ca

6、che的构成的构成计算机组成原理cache的工作机制的工作机制l 高速缓冲存储器高速缓冲存储器cache的工作机制基于程序访问的局部性的工作机制基于程序访问的局部性原则。原则。l 一个运行程序的代码大都顺序存放在地址连续的存储器中,一个运行程序的代码大都顺序存放在地址连续的存储器中,与程序相关的数据在存储器中也相对集中。与程序相关的数据在存储器中也相对集中。l 程序运行时,尤其有循环程序段和子程序段时,在较短的程序运行时,尤其有循环程序段和子程序段时,在较短的时间区间内,常会对局部范围的存储器频繁访问,某存储时间区间内,常会对局部范围的存储器频繁访问,某存储单元被访问了,该单位可能会被再次访问

7、,大多数存取又单元被访问了,该单位可能会被再次访问,大多数存取又是在紧接着上次存取地址附近,而此范围之外的地址访问是在紧接着上次存取地址附近,而此范围之外的地址访问甚少。这种现象称程序访问的局部性。甚少。这种现象称程序访问的局部性。计算机组成原理cache的工作机制的工作机制l 根据局部性原理,可以在主存和根据局部性原理,可以在主存和CPU之间设置一个高速的之间设置一个高速的容量相对较小的存储器,如果当前正在执行的程序和数据容量相对较小的存储器,如果当前正在执行的程序和数据存放在这个存储器中,在程序运行时,不必从主存储器取存放在这个存储器中,在程序运行时,不必从主存储器取指令和取数据,只需访问

8、这个高速存储器,以提高程序运指令和取数据,只需访问这个高速存储器,以提高程序运行速度。这个存储器称作高速缓冲存储器行速度。这个存储器称作高速缓冲存储器Cache。l Cache由高速的由高速的SRAM组成,它的工作速度数倍于主存,组成,它的工作速度数倍于主存,全部功能由硬件实现,并且对程序员是透明的。全部功能由硬件实现,并且对程序员是透明的。计算机组成原理cache的工作机制的工作机制计算机组成原理cache基本原理基本原理lCache结构设计必须解决的问题:结构设计必须解决的问题: 如何存放,如何访问,如何替换,如何改写?如何存放,如何访问,如何替换,如何改写?l数据块在数据块在Cache中

9、存放在哪个位置?即定位问题(地址中存放在哪个位置?即定位问题(地址映象)映象) 。如果一个块存放在某一。如果一个块存放在某一Cache中,怎样确定并中,怎样确定并找到该块,即寻址问题(地址变换)。找到该块,即寻址问题(地址变换)。l不命中时将从主存储器中访问,并将该块调入不命中时将从主存储器中访问,并将该块调入Cache中,中,但是如果但是如果Cache中已无空闲空间,则势必将中已无空闲空间,则势必将Cache中的中的某一块调出,但应调出那一块,即替换问题。某一块调出,但应调出那一块,即替换问题。1. 在写访问时,写入在写访问时,写入Cache必须在适当的时候写回主存储必须在适当的时候写回主存

10、储器,何时写?写操作时采用什么策略保证两级存储器间器,何时写?写操作时采用什么策略保证两级存储器间的数据一致性。写操作失配时是否将访问块取入高层存的数据一致性。写操作失配时是否将访问块取入高层存储器。储器。计算机组成原理cache基本原理基本原理l 高速缓冲存储器包括:高速缓冲存储器包括:cache控制部件控制部件cache存储器存储器计算机组成原理cache基本原理基本原理cache控制部件控制部件包括:包括:主存地址寄存器主存地址寄存器主存主存cache地址变换机构地址变换机构替换控制部件替换控制部件cache地址寄存器地址寄存器控制部件均由硬件组成控制部件均由硬件组成计算机组成原理cac

11、he基本原理基本原理cache存储器存储器多采用与多采用与CPU相同类型的半导体集成电路制成的高相同类型的半导体集成电路制成的高速存储元件速存储元件SRAM;存取速度比主存快且与存取速度比主存快且与CPU接近;接近;整个整个cache存储器介于存储器介于CPU和主存之间,直接接受和主存之间,直接接受CPU访问;访问;CPU不仅与不仅与cache相接,而且与主存仍然保持通路。相接,而且与主存仍然保持通路。计算机组成原理计算机组成原理cache基本原理基本原理l 在主存在主存cache存储体系中,所有的程序和数据都在主存存储体系中,所有的程序和数据都在主存中,中,cache存储器只存放主存一部分程

12、序块和数据块的副存储器只存放主存一部分程序块和数据块的副本,这种以块为单位的存储方式是基于计算机程序的局部本,这种以块为单位的存储方式是基于计算机程序的局部性。性。l 从程序局部性可知,从程序局部性可知,cache中的程序块和数据块使中的程序块和数据块使CPU要要访问的内容在大多数情况下已经在访问的内容在大多数情况下已经在cache存储器里,存储器里,CPU读写操作主要在读写操作主要在CPU和和cache之间进行。之间进行。计算机组成原理cache基本原理基本原理l cache的命中的命中任何时候都有一些主存块处在任何时候都有一些主存块处在Cache中。中。CPU访问存储体系时首先访问访问存储

13、体系时首先访问cache,送出访问单元,送出访问单元的地址由地址总线打入的地址由地址总线打入cache存储器的主存地址寄存器存储器的主存地址寄存器MA;主存主存cache地址变换机构从主存地址寄存器地址变换机构从主存地址寄存器MA获取获取地址判断该单元内容是否已在地址判断该单元内容是否已在cache中存放副本,如果中存放副本,如果副本已经在副本已经在cache中了,称为命中;反之称不命中或命中了,称为命中;反之称不命中或命中失效。中失效。计算机组成原理cache基本原理基本原理主存块号块内地址地址映象变换机构Cache块号块内地址C Ca ac ch he e主主存存C Ca ac ch he

14、 e替替换换策策略略主主存存地地址址C Ca ac ca ah he e地地址址访访问问主主存存替替换换C Ca ac ch he e访访问问主主存存装装入入C Ca ac ch he e已已满满不不命命中中命命中中未未满满块块单单字字到到C CP PU U来来自自C CP PU U计算机组成原理cache基本原理基本原理指指CPU所要访问的信息在所要访问的信息在Cache中的比率;中的比率;所要访问的信息不在所要访问的信息不在Cache中的比率称为中的比率称为。l 增加增加cache的目的,就是在性能上使主存的平均读出时间的目的,就是在性能上使主存的平均读出时间尽可能接近尽可能接近cache

15、的读出时间。因此,的读出时间。因此, cache的命中率应的命中率应接近于接近于1。l 由于程序访问的局部性由于程序访问的局部性 ,这是可能的。,这是可能的。计算机组成原理cache基本原理基本原理l 当命中时立即把访问地址变换成它在当命中时立即把访问地址变换成它在cache的地址,然后的地址,然后驱动驱动cache存储体。存储体。l 当是读操作时,当是读操作时,CPU从从cache中直接读取信息;中直接读取信息;l 若是写操作,不但要把新内容写入若是写操作,不但要把新内容写入cache存储器中,而且存储器中,而且必须同时写入主存,使主存和必须同时写入主存,使主存和cache内容同时修改,保证

16、内容同时修改,保证主存和副本内容一致,这种方法也叫直达法。主存和副本内容一致,这种方法也叫直达法。计算机组成原理cache基本原理基本原理l 有的机器考虑到当写入操作很频繁或者写入的是中间结果,有的机器考虑到当写入操作很频繁或者写入的是中间结果,每次写入主存很浪费时间,于是设计成每次只改写每次写入主存很浪费时间,于是设计成每次只改写cache的内容并不立即修改主存中相应的单元,只有当的内容并不立即修改主存中相应的单元,只有当cache中中被写过的块要被新进入被写过的块要被新进入cache的信息块取代时才一次写回的信息块取代时才一次写回主存里,这种方法称回写法。主存里,这种方法称回写法。计算机组

17、成原理cache基本原理基本原理l 如果如果CPU要访问的内容根本不在要访问的内容根本不在cache中,即中,即“不命中不命中”,那么那么CPU转去直接访问主存。转去直接访问主存。l 若是读操作,若是读操作,CPU则从主存读取信息的同时,则从主存读取信息的同时,cache控制控制部件把该地址所在那块存储内容从主存一次调进部件把该地址所在那块存储内容从主存一次调进cache存存储器,以存储块为单位调入储器,以存储块为单位调入cache存储器可以提高下次访存储器可以提高下次访问的命中率。问的命中率。l 若是写操作,则处理就简单多了,很多计算机系统只向主若是写操作,则处理就简单多了,很多计算机系统只

18、向主存写入信息,不必同时把这个地址所在的存储内容再调入存写入信息,不必同时把这个地址所在的存储内容再调入cache存储器中。存储器中。计算机组成原理cache基本原理基本原理l 直达法:直达法:优点:数据不会出现不一致优点:数据不会出现不一致缺点:对写操作没有高速缓存的作用缺点:对写操作没有高速缓存的作用l 回写法:回写法:优点:速度快优点:速度快缺点:存在数据不一致隐患缺点:存在数据不一致隐患计算机组成原理cache基本原理基本原理l 对于共享一个主存的多处理机系统,因为处理机各自拥有对于共享一个主存的多处理机系统,因为处理机各自拥有cache存储器,所以必须采用写直达法将任何一个存储器,所

19、以必须采用写直达法将任何一个cache中修改的内容同时写入主存,保证其他中修改的内容同时写入主存,保证其他cache向主存调用向主存调用信息块时是修改过的而不是失效的信息。信息块时是修改过的而不是失效的信息。l 这点对于拥有多个处理机而共享一个主存的计算机系统特这点对于拥有多个处理机而共享一个主存的计算机系统特别重要。别重要。计算机组成原理7.2 高速缓冲存储器(高速缓冲存储器(cache)l cache的工作机制的工作机制l cache基本原理基本原理l 地址映象(映射)与地址变换地址映象(映射)与地址变换l cache与主存数据的一致性与主存数据的一致性l 替换策略替换策略l 高速缓冲器高

20、速缓冲器cache的构成的构成计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 地址映象地址映象 把主存块按照某种规则(函数或方法)装入或定位到把主存块按照某种规则(函数或方法)装入或定位到Cache中的过程称地址映象。中的过程称地址映象。l 地址变换地址变换信息按这种映象关系装入信息按这种映象关系装入Cache后,执行程序时,将后,执行程序时,将主存地址变换成主存地址变换成 Cache地址的变换过程叫做地址变换。地址的变换过程叫做地址变换。l 地址映象和变换密切相关。地址映象和变换密切相关。 计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 使用使用Cache

21、的动力在于它的高速,因此也要求这个地址变的动力在于它的高速,因此也要求这个地址变换过程尽可能地快,故此过程是以硬件完成的。换过程尽可能地快,故此过程是以硬件完成的。l 这带来的另一好处是这带来的另一好处是Cache的透明性,除了程序运行速度的透明性,除了程序运行速度提高之外,用户包括系统软件编制人员,丝毫未感觉到提高之外,用户包括系统软件编制人员,丝毫未感觉到Cache的存在。的存在。计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 在高速缓冲存储器中把在高速缓冲存储器中把Cache和主存机械等分为相同大小和主存机械等分为相同大小的块,每一块是由若干个字(或字节)组成。的块,每

22、一块是由若干个字(或字节)组成。l 例:某机主存容量为例:某机主存容量为1MB,划分为,划分为2048块,每块块,每块512B;Cache容量为容量为8KB,划分为,划分为16块,每块块,每块512B。块块0 0块块1 1块块1515CacheCache标记标记标记标记标记标记块块0 0块块1 1块块20472047主存主存m m位位 块块字字0 0字字1 1字字511511计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 由于由于Cache的块数远小于主存的块数,因此一个的块数远小于主存的块数,因此一个Cache不不能唯一地、永久地只对应一个贮存块,在能唯一地、永久地只对应一

23、个贮存块,在Cache中,每一中,每一块外加有一个标记,指明它是主存的哪一块的副本(拷块外加有一个标记,指明它是主存的哪一块的副本(拷贝)。贝)。块块0 0块块1 1块块1515CacheCache标记标记标记标记标记标记块块0 0块块1 1块块20472047主存主存m m位位 块块字字0 0字字1 1字字511511计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换每个标记设置有一个有效位。每个标记设置有一个有效位。,Reset信号信号将所有标记的有效位置将所有标记的有效位置“0”,即无效。即无效。,Cache不命不命中时,逐步将指令块或数据块中时,逐步将指令块或数据块从主存调

24、入从主存调入Cache中的某一块,中的某一块,并将这一块标记的有效位置并将这一块标记的有效位置“1”,当再次用到这一块中的,当再次用到这一块中的指令或数据时,可直接从指令或数据时,可直接从Cache中取指令或数据。中取指令或数据。字块字块0 0字块字块1 1字块字块L Lm-1m-1 . .标记标记CacheCache0 01 12 2r r-1-1 标记标记有效位有效位计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 因刚加电时所有标记位都为因刚加电时所有标记位都为“0”,开始执行程序时,命中,开始执行程序时,命中率较低。率较低。l 另外另外Cache的命中率还与程序本身有关

25、,即不同的程序,的命中率还与程序本身有关,即不同的程序,其命中率可能不同。其命中率可能不同。计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 基本的地址映象方式:基本的地址映象方式:直接映象直接映象全相连映象全相连映象组相连映象组相连映象计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 直接映射方式直接映射方式这是一种多对一的映射关系,一个主存块只能映象到这是一种多对一的映射关系,一个主存块只能映象到Cache的一个特定块位置上去。的一个特定块位置上去。在这种映象方式中:在这种映象方式中:主存的第主存的第0块,第块,第16块,第块,第32块,块,只能映象到,只能

26、映象到Cache的第的第0块;块;而主存的第而主存的第1块,第块,第17块,第块,第33块,块,只能映象,只能映象到到Cache的第的第1块;块;计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 直接映象直接映象块块 0块块 1块块 15CacheCache标记标记标记标记标记标记标记标记标记标记标记标记.0 0 组组块块0块块1块块 15块块 16块块 17块块 31块块 2047主存主存TagTag1 1 组组127127组组7位位CacheCache地址地址C Ca ac ch he e块块号号块块内内地地址址4位位 9 位位主存地址主存地址块块内内地地址址C Ca ac

27、 ch he e块块号号主主存存标标记记(组组号号)7位位 4位位 9 位位主主存存块块号号块块内内地地址址11位位 9 位位计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 直接映象的地址变换方法直接映象的地址变换方法.0 0 组组块块0块块1块块 15块块 16块块 17块块 31块块 2047主存主存1 1 组组127127组组块内地址块内地址Cache块号Cache块号主存标记(组号)主存标记(组号)标记标记标记标记标记标记标记标记标记标记标记标记块块 0块块 1块块 15有效位有效位有效位有效位: :有效位有效位7位 4位 9位7位 4位 9位比较比较命中命中数据数据

28、主存地址主存地址不命中不命中计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 优点:优点: 实现简单,只需利用主存地址按某些字段直接判实现简单,只需利用主存地址按某些字段直接判断,即可确定所需字块是否已在断,即可确定所需字块是否已在Cache中。中。l 缺点:不够灵活,主存的多个字块只能对应唯一的缺点:不够灵活,主存的多个字块只能对应唯一的Cache字块,因此,即使字块,因此,即使Cache别的地址空着也不能占用。别的地址空着也不能占用。Cache存储空间得不到充分利用,降低了命中率。存储空间得不到充分利用,降低了命中率。计算机组成原理地址映象地址映象(映射映射)与地址变换与地

29、址变换l 全相联映象方式全相联映象方式块块 0块块 1块块 15CacheCache标记标记标记标记标记标记标记标记标记标记标记标记.块块0块块1块块 15块块 16块块 17块块 31块块 2047主存主存TagTagC Ca ac ch he e块块号号块块内内地地址址Cache地址地址4 4位位 9 9 位位主主存存块块号号块块内内地地址址1111位位 9 9 位位主存地址主存地址允许主存中的允许主存中的每一个字块映每一个字块映象到象到CacheCache的任的任何一个字块位何一个字块位置上,最灵活置上,最灵活但成本最高的但成本最高的一种方式。一种方式。计算机组成原理地址映象地址映象(映

30、射映射)与地址变换与地址变换l 全相联映象的地址变换方法全相联映象的地址变换方法.块块0块块1块块 15块块 16块块 17块块 31块块 2047主存主存标记标记标记标记标记标记标记标记标记标记标记标记块块 0块块 1块块 15有效位有效位有效位有效位: :有效位有效位11位 9位11位 9位比较所有的标记比较所有的标记命中命中数据数据主存地址主存地址不命中不命中主存块号主存块号块内地址块内地址计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l全相联映象的地址变换方法的优缺点:全相联映象的地址变换方法的优缺点: 优点:灵活,块冲突概率小。只有当优点:灵活,块冲突概率小。只有当C

31、ache中全部装中全部装满后,才有可能出现块冲突;满后,才有可能出现块冲突; 缺点:要作相联搜索,速度慢,代价高。缺点:要作相联搜索,速度慢,代价高。计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换l 这只是一个理想的方案。两个原因使其实际上很少采用:这只是一个理想的方案。两个原因使其实际上很少采用:标记位数从标记位数从7位增加到位增加到11位,使位,使Cache标记容量加大;标记容量加大; 1.访问访问Cache时,需要和时,需要和Cache的全部标记进行的全部标记进行“比较比较”才能判断出所访主存地址的内容是否已在才能判断出所访主存地址的内容是否已在Cache中。中。由于由于

32、Cache速度要求高,通常由速度要求高,通常由“按内容寻址按内容寻址”的相的相联存储器完成,所需硬件逻辑电路很多,以至于无法联存储器完成,所需硬件逻辑电路很多,以至于无法用于用于cache中。实际的中。实际的Cache组织则是采取各种措施来组织则是采取各种措施来减少所需比较的地址数目。减少所需比较的地址数目。计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换直接映象和全相联映象方式的一种直接映象和全相联映象方式的一种。块块 0块块 1块块CacheCache标记标记标记标记标记标记标记标记标记标记标记标记.块块0块块1块块 7块块 8块块 9块块 2032块块 2039主存主存Ta

33、gTag254组块块 0块块 1块块7标记标记标记标记标记标记标记标记标记标记标记标记标记标记70组1组块块 2033块块 15.块块 2047块块 2046.块块 2040255组0组1组计算机组成原理地址映象地址映象(映射映射)与地址变换与地址变换当当Cache只有一个组并且每组只有一个组并且每组16块时,此时为直接映块时,此时为直接映像;像;当当Cache有有16组并且每组一个块时,则为全相联映像。组并且每组一个块时,则为全相联映像。8位位 3位位 9 位位主存组号块号块内地址1位位 3位位 9 位位Cache组号块号块内地址计算机组成原理7.2 高速缓冲存储器(高速缓冲存储器(cach

34、e)l cache的工作机制的工作机制l cache基本原理基本原理l 地址映象(映射)与地址变换地址映象(映射)与地址变换l 替换策略替换策略l 高速缓冲器高速缓冲器cache的构成的构成计算机组成原理cache与主存数据的一致性与主存数据的一致性l cache中存放的是主存中部分信息的副本。中存放的是主存中部分信息的副本。l 为了保证为了保证CPU存取的数据准确无误,要求存取的数据准确无误,要求cache中每一个中每一个地址上的数据与主存中相应存储单元的数据保持完全相同,地址上的数据与主存中相应存储单元的数据保持完全相同,这种性质称这种性质称cache与主存数据的一致性。与主存数据的一致性

35、。l 写直达法和回写法是常见的保持数据一致性的算法。写直达法和回写法是常见的保持数据一致性的算法。计算机组成原理cache与主存数据的一致性与主存数据的一致性l cache与主存数据的不一致的情况:与主存数据的不一致的情况:CPU从从cache读入数据重新写入修改后的新数据时;读入数据重新写入修改后的新数据时;主存数据修改。主存数据修改。例如多处理机系统,其中一个例如多处理机系统,其中一个cache内容修改后立内容修改后立即用写直达法写入主存又导致主存数据可能与其他即用写直达法写入主存又导致主存数据可能与其他cache的副本不一致。的副本不一致。又例如,计算机的又例如,计算机的DMA访问直接修

36、改了主存数据,访问直接修改了主存数据,也可能造成与也可能造成与cache数据的不一致性。数据的不一致性。计算机组成原理cache与主存数据的一致性与主存数据的一致性l 通常采用的处理办法有:通常采用的处理办法有:主存监视法:主存监视法:利用硬件机构使利用硬件机构使cache控制器能监视所有设备对主控制器能监视所有设备对主存的操作或访问,凡对主存的写入也立即对存的操作或访问,凡对主存的写入也立即对cache中相应单元进行拷贝,从而保证数据的一致性中相应单元进行拷贝,从而保证数据的一致性设置设置“不可不可cache区区”:即在主存中开辟一块存储区域,该区域数据不能调即在主存中开辟一块存储区域,该区

37、域数据不能调入入cache,不受,不受cache控制器管理,但其他设备进控制器管理,但其他设备进入的数据只能直接写入该区域。所以不会产生与入的数据只能直接写入该区域。所以不会产生与cache中数据的不一致性。中数据的不一致性。“不可不可cache区区”可以通过可以通过BIOS设置程序来设置。设置程序来设置。计算机组成原理7.2 高速缓冲存储器(高速缓冲存储器(cache)l cache的工作机制的工作机制l cache基本原理基本原理l 地址映象(映射)与地址变换地址映象(映射)与地址变换l cache与主存数据的一致性与主存数据的一致性l 替换策略替换策略l 高速缓冲器高速缓冲器cache的

38、构成的构成计算机组成原理替换策略替换策略l 在主存在主存cache存储体系工作过程中,主存和存储体系工作过程中,主存和cache存储器之间信息以块为单位调度,信息块存储器之间信息以块为单位调度,信息块的长度取决于主存的结构设计,主存常设计成多的长度取决于主存的结构设计,主存常设计成多体交叉存储结构。体交叉存储结构。l 当信息块需要调入当信息块需要调入cache存储器而存储器而cache存储器存储器中已经占满信息时,中已经占满信息时,cache存储器的替换控制部存储器的替换控制部件将按一定的替换策略淘汰件将按一定的替换策略淘汰cache中旧有的一块中旧有的一块信息,被更新的旧信息块应该是下一段时

39、间内估信息,被更新的旧信息块应该是下一段时间内估计是最少使用的,然后用新的信息块覆盖掉。计是最少使用的,然后用新的信息块覆盖掉。计算机组成原理替换策略替换策略l 常用的替换策略有两种:常用的替换策略有两种: 先进先出策略先进先出策略FIFO策略策略总是更换掉当前总是更换掉当前cache中最先进入的信息块中最先进入的信息块这种方法控制简单,实现容易这种方法控制简单,实现容易近期最少使用策略近期最少使用策略 LRU策略策略计算机组成原理替换策略替换策略近期最少使用策略近期最少使用策略 LRU策略:策略:遵循的规则是新信息块替代的是当前遵循的规则是新信息块替代的是当前cache存储器存储器中被使用次

40、数最少的,即最不活跃的那块信息;中被使用次数最少的,即最不活跃的那块信息;使用使用LRU方法的方法的cache存储器每一个字块都要附设存储器每一个字块都要附设一个计数器记录被使用的情况,每当一个计数器记录被使用的情况,每当cache中的一中的一块信息被命中时,比命中块计数值低的信息块均加块信息被命中时,比命中块计数值低的信息块均加1,而命中块计数器清而命中块计数器清0;显然,这种技术方法各信息块的计数值总是不相同显然,这种技术方法各信息块的计数值总是不相同的。的。计算机组成原理替换策略替换策略一旦不命中情况发生时,新信息块从主存调入一旦不命中情况发生时,新信息块从主存调入cache存储器替换计

41、数值最大的那片存储区,新信存储器替换计数值最大的那片存储区,新信息块计数值为息块计数值为0,其余信息块计数均加,其余信息块计数均加1,保证了那,保证了那些活跃的信息块经常被命中或最近被命中的信些活跃的信息块经常被命中或最近被命中的信息块计数值要小,而近来越来越不活跃的信息块计息块计数值要小,而近来越来越不活跃的信息块计数值越大;数值越大;LRU策略是目前使用较多的一种策略,能够有效的策略是目前使用较多的一种策略,能够有效的提高命中率。提高命中率。计算机组成原理替换策略替换策略l 无论无论FIFO策略还是策略还是LRU策略,其实最先被调入策略,其实最先被调入cache的信的信息块或最近最少使用的

42、信息块都不能肯定是最近将绝不会息块或最近最少使用的信息块都不能肯定是最近将绝不会使用,所以替换策略不能作为最合理最优秀的。使用,所以替换策略不能作为最合理最优秀的。l 但是研究表明,但是研究表明,FIFO和和LRU策略明显地提高了策略明显地提高了cache存储存储器的命中率,可以达到百分之九十左右,其中器的命中率,可以达到百分之九十左右,其中LRU策略的策略的命中率比命中率比FIFO更高一些。更高一些。计算机组成原理替换策略替换策略l Cache的命中率反映了的命中率反映了CPU需要访问的数据在需要访问的数据在cache中能中能直接找到的概率。直接找到的概率。l 影响命中率的因素有:影响命中率的因素有:替换策略替换策略cache的结构因

温馨提示

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

评论

0/150

提交评论