《(1.7)--7计算机组成原理.ppt》由会员分享,可在线阅读,更多相关《(1.7)--7计算机组成原理.ppt(127页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1上节回顾第第6章章中央中央处理部件理部件CPU6.56.5硬布硬布硬布硬布线线控制的控制的控制的控制的计计算机算机算机算机6.66.6控制器的控制方式控制器的控制方式控制器的控制方式控制器的控制方式6.76.7流水流水流水流水线线工作原理工作原理工作原理工作原理2第7章 存储系统7.1存存储系系统的的层次次结构构7.2高速高速缓冲存冲存储器(器(cache)7.3虚虚拟存存储器器7.4相相联存存储器器7.5存存储保保护37.1 存储系统的层次结构存存储器是器是计算机的核心部件之一。其性能算机的核心部件之一。其性能直接关系到整个直接关系到整个计算机系算机系统性能的高低。性能的高低。如何如何以合
2、理的价格,以合理的价格,设计出容量和速度出容量和速度满足足计算机系算机系统要求的存要求的存储器系器系统,始,始终是是计算机体系算机体系结构构设计中的关中的关键问题之一。之一。为了了解决解决对存存储器要求容量大,速度快,器要求容量大,速度快,成本低三者之成本低三者之间的矛盾的矛盾,较好的方法是好的方法是采采用存用存储层次次,用多种存,用多种存储器构成存器构成存储器的器的层次次结构。构。47.1 存储系统的层次结构存存储器器层次概述次概述把各种把各种把各种把各种不同存不同存不同存不同存储储容量容量容量容量、不同存取速度不同存取速度不同存取速度不同存取速度、不同价不同价不同价不同价格格格格的存的存的
3、存的存储储器,器,器,器,组组成成成成层层次次次次结结构,并通构,并通构,并通构,并通过过管理管理管理管理软软件和件和件和件和辅辅助硬件将不同性能的存助硬件将不同性能的存助硬件将不同性能的存助硬件将不同性能的存储储器器器器组组合成有合成有合成有合成有机的整体,称机的整体,称机的整体,称机的整体,称为计为计算机的存算机的存算机的存算机的存储层储层次或存次或存次或存次或存储储体体体体系。系。系。系。57.1 存储系统的层次结构67.1 存储系统的层次结构一个完整的一个完整的一个完整的一个完整的计计算机存算机存算机存算机存储储系系系系统统一般分一般分一般分一般分为为两两两两级级:主存(内存)主存(内
4、存)主存(内存)主存(内存)辅辅存(外存)存(外存)存(外存)存(外存)“主存主存主存主存辅辅存存存存”层层次的目的次的目的次的目的次的目的是是是是为为了了了了弥弥弥弥补补主存容量的不足主存容量的不足主存容量的不足主存容量的不足。它是它是它是它是在主存外面增加一个容在主存外面增加一个容在主存外面增加一个容在主存外面增加一个容量更大、每位价格更低、但量更大、每位价格更低、但量更大、每位价格更低、但量更大、每位价格更低、但速度更慢的存速度更慢的存速度更慢的存速度更慢的存储储器器器器(称(称(称(称为辅为辅存,一般是硬存,一般是硬存,一般是硬存,一般是硬盘盘)。)。)。)。它它它它们们依靠依靠依靠依
5、靠辅辅助助助助软软硬件的作用,硬件的作用,硬件的作用,硬件的作用,构成一个整体。构成一个整体。构成一个整体。构成一个整体。77.1 存储系统的层次结构主存主存储器器主存主存主存主存处处于被中央于被中央于被中央于被中央处处理机理机理机理机CPUCPU直接直接直接直接访问访问的位置;的位置;的位置;的位置;存放存放存放存放计计算机运行期算机运行期算机运行期算机运行期间间的大量程序和数据;的大量程序和数据;的大量程序和数据;的大量程序和数据;由随机存由随机存由随机存由随机存储储器器器器RAMRAM和只和只和只和只读读存存存存储储器器器器ROMROM组组成;成;成;成;能能能能快速快速快速快速进进行行
6、行行读读写操作写操作写操作写操作;存取存取存取存取速度速度速度速度较较快快快快,存存存存储储容量不大容量不大容量不大容量不大。87.1 存储系统的层次结构辅助存助存储器器辅辅存存存存速度允速度允速度允速度允许许慢些慢些慢些慢些,因此,因此,因此,因此价格价格价格价格较较低低低低;存放系存放系存放系存放系统统程序和大型数据文件及数据程序和大型数据文件及数据程序和大型数据文件及数据程序和大型数据文件及数据库库;大量静止、待命的信息分布在大量静止、待命的信息分布在大量静止、待命的信息分布在大量静止、待命的信息分布在辅辅存上,当需要存上,当需要存上,当需要存上,当需要辅辅存上的某些信息活存上的某些信息
7、活存上的某些信息活存上的某些信息活跃跃起来起来起来起来时时,它将,它将,它将,它将由由由由计计算算算算机机机机专门专门的存的存的存的存储储管理部件管理部件管理部件管理部件调调入主存,然后才被入主存,然后才被入主存,然后才被入主存,然后才被CPUCPU访问访问;存存存存储储容量大,位成本低容量大,位成本低容量大,位成本低容量大,位成本低。97.1 存储系统的层次结构主主主主辅辅两两两两级级存存存存储结储结构建立在构建立在构建立在构建立在存存存存储储器件分器件分器件分器件分级级且且且且存存存存储储信息性信息性信息性信息性质质分分分分级级的基的基的基的基础础上;上;上;上;主存容量因其价格受到限制,
8、主存容量因其价格受到限制,主存容量因其价格受到限制,主存容量因其价格受到限制,设设立了大容量立了大容量立了大容量立了大容量辅辅存存存存解决了在尽可能低的价格下的解决了在尽可能低的价格下的解决了在尽可能低的价格下的解决了在尽可能低的价格下的容量容量容量容量问题问题;大容量的低速大容量的低速大容量的低速大容量的低速辅辅助存助存助存助存储储器可以通器可以通器可以通器可以通过过高速主存与高速主存与高速主存与高速主存与CPUCPU交交交交换换信息,不信息,不信息,不信息,不仅仅使使使使计计算机得到合理分配,而算机得到合理分配,而算机得到合理分配,而算机得到合理分配,而且且且且CPUCPU的的的的高速效能
9、高速效能高速效能高速效能仍能得到充分仍能得到充分仍能得到充分仍能得到充分发挥发挥;主主主主辅辅两两两两级级存存存存储结储结构构构构较较好地好地好地好地统统一一一一协调协调了容量、速了容量、速了容量、速了容量、速度、价格三者之度、价格三者之度、价格三者之度、价格三者之间间的矛盾的矛盾的矛盾的矛盾。107.1 存储系统的层次结构主存主存辅存存存存储层次次主、辅存之间采用操作系统自动定位技术,形成主、辅存之间采用操作系统自动定位技术,形成主、辅存之间采用操作系统自动定位技术,形成主、辅存之间采用操作系统自动定位技术,形成一个整体,一个整体,一个整体,一个整体,速度接近于主存,容量是辅存,价格速度接近
10、于主存,容量是辅存,价格速度接近于主存,容量是辅存,价格速度接近于主存,容量是辅存,价格接近辅存接近辅存接近辅存接近辅存。117.1 存储系统的层次结构主存主存辅存二存二级存存储系系统的缺点:的缺点:并没有很好地并没有很好地并没有很好地并没有很好地针对针对CPUCPU与主存速度的差异解与主存速度的差异解与主存速度的差异解与主存速度的差异解决主存速度与决主存速度与决主存速度与决主存速度与CPUCPU匹配匹配匹配匹配问题问题,CPUCPU高速效能得高速效能得高速效能得高速效能得不到充分不到充分不到充分不到充分发挥发挥。127.1 存储系统的层次结构如果改用速度更接近如果改用速度更接近CPU的快速主
11、存器件,的快速主存器件,则价格价格昂昂贵,要,要组成成满足足现代技代技术需求的需求的又具有相当容量的主存,又具有相当容量的主存,势必影响性能价必影响性能价格比而失去市格比而失去市场。因此,因此,存存储系系统设计必必须突破突破单一用主存一用主存和和辅存存简单的的组合的合的二二级存存储系系统,从系,从系统结构上采取措施构上采取措施组成存成存储体系。体系。137.1 存储系统的层次结构Cache主存存主存存储层次次147.1 存储系统的层次结构157.1 存储系统的层次结构可将整个存可将整个存储系系统看成三看成三级系系统:高速高速高速高速缓缓存存存存-主存(内存)主存(内存)主存(内存)主存(内存)
12、-辅辅存(外存)存(外存)存(外存)存(外存)也可看成两个二也可看成两个二级系系统:高速高速高速高速缓缓存存存存-主存(一主存(一主存(一主存(一级级)主存主存主存主存-辅辅存存存存(一(一(一(一级级)注意注意:这这两个二两个二两个二两个二级级存存存存储储系系系系统统各自的基本功能不同:各自的基本功能不同:各自的基本功能不同:各自的基本功能不同:高速高速高速高速缓缓存存存存-主存:提高主存:提高主存:提高主存:提高CPUCPUCPUCPU访问访问存存存存储储器的速度;器的速度;器的速度;器的速度;主存主存主存主存-辅辅存存存存:弥:弥:弥:弥补补主存容量的不足。主存容量的不足。主存容量的不足
13、。主存容量的不足。16第7章 存储系统7.1存存储系系统的的层次次结构构7.2高速高速缓冲存冲存储器(器(cache)7.3虚虚拟存存储器器7.4相相联存存储器器7.5存存储保保护177.2 高速缓冲存储器(cache)目前,目前,组成主存的成主存的DRAM存取速度一般落后存取速度一般落后于于CPU的的处理速度,理速度,CPU访问主存主存时不得不不得不插入等待周期来适插入等待周期来适应主存的速度,致使系主存的速度,致使系统整体下降。整体下降。高速高速缓冲存冲存储器器Cache:是是是是为为解决解决解决解决CPUCPU和和和和DRAMDRAM之之之之间间的速度匹配的速度匹配的速度匹配的速度匹配而
14、采用的而采用的而采用的而采用的一一一一项项重要技重要技重要技重要技术术;是是是是发挥发挥CPUCPU高速高效的性能而高速高效的性能而高速高效的性能而高速高效的性能而设设置的一种介于置的一种介于置的一种介于置的一种介于CPUCPU和和和和DRAMDRAM之之之之间间的的的的高速小容量高速小容量高速小容量高速小容量缓缓冲存冲存冲存冲存储储器;器;器;器;存取速度要比主存快,存取速度要比主存快,存取速度要比主存快,存取速度要比主存快,由高速的由高速的由高速的由高速的SRAMSRAM组组成;成;成;成;全部全部全部全部功能由硬件功能由硬件功能由硬件功能由硬件实现实现,保,保,保,保证证了其高速度。了其
15、高速度。了其高速度。了其高速度。187.2 高速缓冲存储器(cache)cache的工作机制的工作机制cache基本原理基本原理地址映象(映射)与地址地址映象(映射)与地址变换cache与主存数据的一致性与主存数据的一致性替替换策略策略高速高速缓冲器冲器cache的构成的构成19cache的工作机制高速高速高速高速缓缓冲存冲存冲存冲存储储器器器器cachecache的工作机制是的工作机制是的工作机制是的工作机制是基于程序基于程序基于程序基于程序访访问问的局部性原的局部性原的局部性原的局部性原则则。一个运行程序的代一个运行程序的代一个运行程序的代一个运行程序的代码码大都大都大都大都顺顺序存放在地
16、址序存放在地址序存放在地址序存放在地址连续连续的的的的存存存存储储器中,与程序相关的数据在存器中,与程序相关的数据在存器中,与程序相关的数据在存器中,与程序相关的数据在存储储器中也相器中也相器中也相器中也相对对集中。集中。集中。集中。程序运行程序运行程序运行程序运行时时,尤其有循,尤其有循,尤其有循,尤其有循环环程序段和子程序段程序段和子程序段程序段和子程序段程序段和子程序段时时,在在在在较较短的短的短的短的时间时间区区区区间间内,常会内,常会内,常会内,常会对对局部范局部范局部范局部范围围的存的存的存的存储储器器器器频频繁繁繁繁访问访问,某存,某存,某存,某存储单储单元被元被元被元被访问访问
17、了,了,了,了,该单该单位可能会位可能会位可能会位可能会被再次被再次被再次被再次访问访问,大多数存取又是在,大多数存取又是在,大多数存取又是在,大多数存取又是在紧紧接着上次存取接着上次存取接着上次存取接着上次存取地址附近,而此范地址附近,而此范地址附近,而此范地址附近,而此范围围之外的地址之外的地址之外的地址之外的地址访问访问甚少。甚少。甚少。甚少。这这种种种种现现象称象称象称象称程序程序程序程序访问访问的局部性的局部性的局部性的局部性。20cache的工作机制根据局部性原理,可以在主存和根据局部性原理,可以在主存和根据局部性原理,可以在主存和根据局部性原理,可以在主存和CPUCPU之之之之间
18、设间设置一置一置一置一个个个个高速高速高速高速的的的的容量相容量相容量相容量相对较对较小小小小的存的存的存的存储储器,如果当前正在器,如果当前正在器,如果当前正在器,如果当前正在执执行的程序和数据存放在行的程序和数据存放在行的程序和数据存放在行的程序和数据存放在这这个存个存个存个存储储器中,在程序器中,在程序器中,在程序器中,在程序运行运行运行运行时时,不必从主存不必从主存不必从主存不必从主存储储器取指令和取数据,只需器取指令和取数据,只需器取指令和取数据,只需器取指令和取数据,只需访问这访问这个高速存个高速存个高速存个高速存储储器,以提高程序运行速度器,以提高程序运行速度器,以提高程序运行速
19、度器,以提高程序运行速度。这这个存个存个存个存储储器称作高速器称作高速器称作高速器称作高速缓缓冲存冲存冲存冲存储储器器器器CacheCache。CacheCache由高速的由高速的由高速的由高速的SRAMSRAM组组成成成成,它的工作速度数倍它的工作速度数倍它的工作速度数倍它的工作速度数倍于主存,全部功能由于主存,全部功能由于主存,全部功能由于主存,全部功能由硬件硬件硬件硬件实现实现,并且,并且,并且,并且对对程序程序程序程序员员是是是是透明透明透明透明的。的。的。的。21cache的工作机制227.2 高速缓冲存储器(cache)cache的工作机制的工作机制cache基本原理基本原理地址映
20、象(映射)与地址地址映象(映射)与地址变换cache与主存数据的一致性与主存数据的一致性替替换策略策略高速高速缓冲器冲器cache的构成的构成23cache基本原理Cache结构构设计必必须解决的解决的问题:如何存放?如何存放?如何存放?如何存放?如何如何如何如何访问访问?如何替如何替如何替如何替换换?如何改写?如何改写?如何改写?如何改写?24cache基本原理1.数据数据数据数据块块在在在在CacheCache中存放在哪个位置?即中存放在哪个位置?即中存放在哪个位置?即中存放在哪个位置?即定位定位定位定位问题问题(地址映象)(地址映象)(地址映象)(地址映象)。如果一个。如果一个。如果一个
21、。如果一个块块存放在某一存放在某一存放在某一存放在某一CacheCache中,怎中,怎中,怎中,怎样样确定并找到确定并找到确定并找到确定并找到该块该块,即,即,即,即寻寻址址址址问题问题(地址(地址(地址(地址变变换换)。2.不命中不命中不命中不命中时时将从主存将从主存将从主存将从主存储储器中器中器中器中访问访问,并将,并将,并将,并将该块调该块调入入入入CacheCache中,但是如果中,但是如果中,但是如果中,但是如果CacheCache中已无空中已无空中已无空中已无空闲闲空空空空间间,则则势势必将必将必将必将CacheCache中的某一中的某一中的某一中的某一块调块调出,但出,但出,但出
22、,但应调应调出那一出那一出那一出那一块块,即即即即替替替替换问题换问题。3.在写在写在写在写访问时访问时,写入,写入,写入,写入CacheCache必必必必须须在适当的在适当的在适当的在适当的时时候写回候写回候写回候写回主存主存主存主存储储器,何器,何器,何器,何时时写?写操作写?写操作写?写操作写?写操作时时采用什么策略保采用什么策略保采用什么策略保采用什么策略保证证两两两两级级存存存存储储器器器器间间的的的的数据一致性数据一致性数据一致性数据一致性。25cache基本原理高速高速缓冲存冲存储器包括:器包括:cachecache控制部件控制部件控制部件控制部件cachecache存存存存储储
23、器器器器26cache基本原理cache控制部件控制部件包括:包括:包括:包括:主存地址寄存器主存地址寄存器主存地址寄存器主存地址寄存器 主存主存主存主存cachecache地址地址地址地址变换变换机构机构机构机构 替替替替换换控制部件控制部件控制部件控制部件 cachecache地址寄存器地址寄存器地址寄存器地址寄存器控制部件均由硬件控制部件均由硬件控制部件均由硬件控制部件均由硬件组组成成成成27cache基本原理cache存存储器器多采用与多采用与多采用与多采用与CPUCPU相同相同相同相同类类型的型的型的型的半半半半导导体集成体集成体集成体集成电电路路路路制制制制成的高速存成的高速存成的
24、高速存成的高速存储储元件元件元件元件SRAMSRAM;存取存取存取存取速度速度速度速度比主存快且与比主存快且与比主存快且与比主存快且与CPUCPU接近;接近;接近;接近;整个整个整个整个cachecache存存存存储储器介于器介于器介于器介于CPUCPU和主存之和主存之和主存之和主存之间间,直接直接直接直接接受接受接受接受CPUCPU访问访问;CPUCPU不不不不仅仅与与与与cachecache相接,而且相接,而且相接,而且相接,而且与主存仍然保持与主存仍然保持与主存仍然保持与主存仍然保持通路。通路。通路。通路。28cache基本原理在主存在主存cache存存储体系中,所有的体系中,所有的程序
25、程序和数据都在主存中和数据都在主存中,cache存存储器只存放器只存放主存一部分程序主存一部分程序块和数据和数据块的副本的副本,这种种以以块为单位的存位的存储方式是方式是基于基于计算机程序算机程序的局部性的局部性。从程序局部性可知,从程序局部性可知,cache中的程序中的程序块和和数据数据块使使CPU要要访问的内容在大多数情况的内容在大多数情况下已下已经在在cache存存储器里,器里,CPU读写操作写操作主要在主要在CPU和和cache之之间进行。行。29cache基本原理30cache基本原理cache的命中的命中任何任何任何任何时时候都有一些主存候都有一些主存候都有一些主存候都有一些主存块
26、处块处在在在在CacheCache中。中。中。中。CPUCPU访问访问存存存存储储体系体系体系体系时时首先首先首先首先访问访问cachecache,送出,送出,送出,送出访访问单问单元的地址由地址元的地址由地址元的地址由地址元的地址由地址总线总线打入打入打入打入cachecache存存存存储储器的器的器的器的主存地址寄存器主存地址寄存器主存地址寄存器主存地址寄存器MAMA;主存主存主存主存cachecache地址地址地址地址变换变换机构从主存地址寄存器机构从主存地址寄存器机构从主存地址寄存器机构从主存地址寄存器MAMA获获取地址判断取地址判断取地址判断取地址判断该单该单元内容是否已在元内容是否
27、已在元内容是否已在元内容是否已在cachecache中存放副本,如果副本已中存放副本,如果副本已中存放副本,如果副本已中存放副本,如果副本已经经在在在在cachecache中了,称中了,称中了,称中了,称为为命中命中命中命中;反之称;反之称;反之称;反之称不命中或命中失效不命中或命中失效不命中或命中失效不命中或命中失效。31cache基本原理cache的命中率的命中率命中率命中率命中率命中率指指指指CPUCPU所要所要所要所要访问访问的信息在的信息在的信息在的信息在CacheCache中的中的中的中的比率;比率;比率;比率;所要所要所要所要访问访问的信息不在的信息不在的信息不在的信息不在Cac
28、heCache中的比率称中的比率称中的比率称中的比率称为为失效失效失效失效率率率率。增加增加cache的目的,就是在性能上使主存的目的,就是在性能上使主存的平均的平均读出出时间尽可能接近尽可能接近cache的的读出出时间。因此,。因此,cache的命中率的命中率应接近于接近于1。由于程序由于程序访问的局部性的局部性,这是可能的。是可能的。32cache基本原理当当命中命中时立即把立即把访问地址地址变换成它在成它在cache的地址,然后的地址,然后驱动cache存存储体。体。当是当是读操作操作时,CPU从从cache中直接中直接读取取信息;信息;若是若是写操作写操作,不但要把新内容写入,不但要把
29、新内容写入cache存存储器中,而且必器中,而且必须同同时写入主存,使主写入主存,使主存和存和cache内容同内容同时修改,保修改,保证主存和副主存和副本内容一致,本内容一致,这种方法也叫种方法也叫直达法直达法。33cache基本原理有的机器考有的机器考虑到当写入操作很到当写入操作很频繁或者写繁或者写入的是中入的是中间结果,每次写入主存很浪果,每次写入主存很浪费时间,于是,于是设计成成每次只改写每次只改写cache的内容的内容并不立即修改主存中相并不立即修改主存中相应的的单元元,只有当,只有当cache中被写中被写过的的块要被新要被新进入入cache的的信息信息块取代取代时才才一次写回主存一次
30、写回主存里,里,这种方种方法称法称回写法回写法。34cache基本原理如果如果如果如果CPUCPU要要要要访问访问的内容根本不在的内容根本不在的内容根本不在的内容根本不在cachecache中,即中,即中,即中,即“不命中不命中不命中不命中”,那么,那么,那么,那么CPUCPU转转去直接去直接去直接去直接访问访问主存。主存。主存。主存。若是若是若是若是读读操作操作操作操作,CPUCPU则则从主存从主存从主存从主存读读取信息的同取信息的同取信息的同取信息的同时时,cachecache控制部件把控制部件把控制部件把控制部件把该该地址所在那地址所在那地址所在那地址所在那块块存存存存储储内容从主内容从
31、主内容从主内容从主存一次存一次存一次存一次调进调进cachecache存存存存储储器器器器,以存,以存,以存,以存储块为单储块为单位位位位调调入入入入cachecache存存存存储储器可以提高下次器可以提高下次器可以提高下次器可以提高下次访问访问的命中率。的命中率。的命中率。的命中率。若是若是若是若是写操作写操作写操作写操作,则处则处理就理就理就理就简单简单多了,很多多了,很多多了,很多多了,很多计计算机系算机系算机系算机系统统只向主存写入信息只向主存写入信息只向主存写入信息只向主存写入信息,不必同,不必同,不必同,不必同时时把把把把这这个地址所在个地址所在个地址所在个地址所在的存的存的存的存
32、储储内容再内容再内容再内容再调调入入入入cachecache存存存存储储器中。器中。器中。器中。35cache基本原理直达法:直达法:优优点:数据不会出点:数据不会出点:数据不会出点:数据不会出现现不一致不一致不一致不一致缺点:缺点:缺点:缺点:对对写操作没有高速写操作没有高速写操作没有高速写操作没有高速缓缓存的作用存的作用存的作用存的作用回写法:回写法:优优点:速度快点:速度快点:速度快点:速度快缺点:存在数据不一致缺点:存在数据不一致缺点:存在数据不一致缺点:存在数据不一致隐隐患患患患36cache基本原理对于共享一个主存的于共享一个主存的多多处理机系理机系统,因,因为处理机各自理机各自拥
33、有有cache存存储器,所以器,所以必必须采用写直达法采用写直达法将任何一个将任何一个cache中修改的中修改的内容同内容同时写入主存,写入主存,保保证其他其他cache向主向主存存调用信息用信息块时是修改是修改过的而不是失效的的而不是失效的信息信息。这点点对于于拥有多个有多个处理机而共享一个主存理机而共享一个主存的的计算机系算机系统特特别重要。重要。377.2 高速缓冲存储器(cache)cache的工作机制的工作机制cache基本原理基本原理地址映象(映射)与地址地址映象(映射)与地址变换cache与主存数据的一致性与主存数据的一致性替替换策略策略高速高速缓冲器冲器cache的构成的构成3
34、8地址映象(映射)与地址变换地址映象地址映象把主存把主存把主存把主存块块按照某种按照某种按照某种按照某种规则规则(函数或方法)装入或(函数或方法)装入或(函数或方法)装入或(函数或方法)装入或定位到定位到定位到定位到CacheCache中的中的中的中的过过程称程称程称程称地址映象地址映象地址映象地址映象。地址地址变换信息按信息按信息按信息按这这种映象关系装入种映象关系装入种映象关系装入种映象关系装入CacheCache后,后,后,后,执执行程序行程序行程序行程序时时,将主存地址,将主存地址,将主存地址,将主存地址变换变换成成成成 CacheCache地址的地址的地址的地址的变换过变换过程叫做程
35、叫做程叫做程叫做地址地址地址地址变换变换。地址映象和地址映象和变换密切相关。密切相关。39地址映象(映射)与地址变换使用使用Cache的的动力在于它的高速,因此也力在于它的高速,因此也要求要求这个地址个地址变换过程尽可能地快程尽可能地快,故此,故此过程是以硬件完成的。程是以硬件完成的。这带来的另一好来的另一好处是是Cache的透明性,除的透明性,除了程序运行速度提高之外,用了程序运行速度提高之外,用户包括系包括系统软件件编制人制人员,丝毫未感毫未感觉到到Cache的存的存在。在。40地址映象(映射)与地址变换在高速在高速在高速在高速缓缓冲存冲存冲存冲存储储器中把器中把器中把器中把CacheCa
36、che和主存机械等分和主存机械等分和主存机械等分和主存机械等分为为相同大小的相同大小的相同大小的相同大小的块块,每一,每一,每一,每一块块是由若干个字(或字是由若干个字(或字是由若干个字(或字是由若干个字(或字节节)组组成成成成。例:例:例:例:某机某机某机某机主存容量主存容量主存容量主存容量为为1MB1MB,划分,划分,划分,划分为为20482048块块,每,每,每,每块块512B512B;CacheCache容量容量容量容量为为8KB8KB,划分,划分,划分,划分为为1616块块,每,每,每,每块块512B512B。块块0 0块块1 1块块1515CacheCache标记标记标记标记标记标
37、记块块0 0块块1 1块块20472047主存主存m m位位 块块字字0 0字字1 1字字51151141地址映象(映射)与地址变换由于由于Cache的的块数数远小于主存的小于主存的块数数,因此,因此一个一个Cache不能唯一地、永久地只不能唯一地、永久地只对应一个一个贮存存块,在,在Cache中,每一中,每一块外加有一个外加有一个标记,指明它是主存的哪一,指明它是主存的哪一块的副本(拷的副本(拷贝)。)。块块0 0块块1 1块块1515CacheCache标记标记标记标记标记标记块块0 0块块1 1块块20472047主存主存m m位位 块块字字0 0字字1 1字字51151142地址映象(
38、映射)与地址变换标记标记的有效位的有效位的有效位的有效位每个每个每个每个标记设标记设置有一个有效位。置有一个有效位。置有一个有效位。置有一个有效位。机器加机器加机器加机器加电电启启启启动时动时,ResetReset信号信号信号信号将所有将所有将所有将所有标记标记的有效位置的有效位置的有效位置的有效位置“0”0”,即无效。,即无效。,即无效。,即无效。程序程序程序程序执执行行行行过过程中程中程中程中,CacheCache不命不命不命不命中中中中时时,逐步将指令,逐步将指令,逐步将指令,逐步将指令块块或数据或数据或数据或数据块块从主存从主存从主存从主存调调入入入入CacheCache中的某一中的某
39、一中的某一中的某一块块,并将并将并将并将这这一一一一块标记块标记的有效位置的有效位置的有效位置的有效位置“1”1”,当再次用到,当再次用到,当再次用到,当再次用到这这一一一一块块中中中中的指令或数据的指令或数据的指令或数据的指令或数据时时,可直接从,可直接从,可直接从,可直接从CacheCache中取指令或数据。中取指令或数据。中取指令或数据。中取指令或数据。字块字块0 0字块字块1 1字块字块L Lm-1m-1 .标记标记CacheCache0 01 12 2r r-1-1 有效位有效位43地址映象(映射)与地址变换因因刚加加电时所有所有标记位都位都为“0”,开始开始执行程序行程序时,命中率
40、,命中率较低低。另外,另外,Cache的的命中率命中率还与程序本身有关与程序本身有关,即不同的程序,其命中率可能不同。即不同的程序,其命中率可能不同。44地址映象(映射)与地址变换基本的地址映象方式:基本的地址映象方式:直接映象直接映象直接映象直接映象全相全相全相全相连连映象映象映象映象组组相相相相连连映象映象映象映象45地址映象(映射)与地址变换直接映射方式直接映射方式这这是一种是一种是一种是一种多多多多对对一的映射关系一的映射关系一的映射关系一的映射关系,一个主存一个主存一个主存一个主存块块只能只能只能只能映象到映象到映象到映象到CacheCache的一个特定的一个特定的一个特定的一个特定
41、块块位置上去位置上去位置上去位置上去。在在在在这这种映象方式中:种映象方式中:种映象方式中:种映象方式中:主存的第主存的第主存的第主存的第0 0块块,第,第,第,第1616块块,第,第,第,第3232块块,只能映象到,只能映象到,只能映象到,只能映象到CacheCache的第的第的第的第0 0块块;而主存的第而主存的第而主存的第而主存的第1 1块块,第,第,第,第1717块块,第,第,第,第3333块块,只能映象,只能映象,只能映象,只能映象到到到到CacheCache的第的第的第的第1 1块块;以此以此以此以此类类推。推。推。推。46地址映象(映射)与地址变换直接映象直接映象7位位Cache
42、CacheCacheCache地址地址地址地址4位位9位位主存地址主存地址主存地址主存地址7位位4位位9位位11位位9位位主存地址主存地址主存地址主存地址47地址映象(映射)与地址变换直接映象的地址直接映象的地址直接映象的地址直接映象的地址变换变换方法方法方法方法48地址映象(映射)与地址变换全相全相联映象映象的的地址地址变换方法的方法的优缺点缺点:优优点:点:点:点:实现简单实现简单,只需利用主存地址按某些,只需利用主存地址按某些,只需利用主存地址按某些,只需利用主存地址按某些字段直接判断,即可确定所需字字段直接判断,即可确定所需字字段直接判断,即可确定所需字字段直接判断,即可确定所需字块块
43、是否已在是否已在是否已在是否已在CacheCache中。中。中。中。缺点:缺点:缺点:缺点:不不不不够够灵活灵活灵活灵活,主存的多个字,主存的多个字,主存的多个字,主存的多个字块块只能只能只能只能对应对应唯唯唯唯一的一的一的一的CacheCache字字字字块块,因此,即使,因此,即使,因此,即使,因此,即使CacheCache别别的地的地的地的地址空着也不能占用。址空着也不能占用。址空着也不能占用。址空着也不能占用。CacheCache存存存存储储空空空空间间得不到得不到得不到得不到充分利用,降低了命中率充分利用,降低了命中率充分利用,降低了命中率充分利用,降低了命中率。49上节回顾第第7章章
44、存存储系系统7.17.1存存存存储储系系系系统统的的的的层层次次次次结结构构构构7.27.2高速高速高速高速缓缓冲存冲存冲存冲存储储器(器(器(器(cachecache)cachecache的工作机制的工作机制的工作机制的工作机制 cachecache基本原理基本原理基本原理基本原理 地址映象(映射)与地址地址映象(映射)与地址地址映象(映射)与地址地址映象(映射)与地址变换变换 cachecache与主存数据的一致性与主存数据的一致性与主存数据的一致性与主存数据的一致性50地址映象(映射)与地址变换全相全相联映象方式映象方式块块 0块块 1块块 15CacheCache标记标记标记标记标记标
45、记标记标记标记标记标记标记.块块0块块1块块 15块块 16块块 17块块31块块2047主存主存TagTagCache地址地址4 4位位 9 9 位位1111位位 9 9 位位主存地址主存地址允许主存中的允许主存中的允许主存中的允许主存中的每一个字块映每一个字块映每一个字块映每一个字块映象到象到象到象到CacheCache的的的的任何一个字块任何一个字块任何一个字块任何一个字块位置上位置上位置上位置上,最灵最灵最灵最灵活但成本最高活但成本最高活但成本最高活但成本最高的一种方式的一种方式的一种方式的一种方式。51地址映象(映射)与地址变换全相全相全相全相联联映象的地址映象的地址映象的地址映象的
46、地址变换变换方法方法方法方法52地址映象(映射)与地址变换全相全相联映象映象的的地址地址变换方法的方法的优缺点缺点:优优点:点:点:点:灵活,灵活,灵活,灵活,块块冲突概率小冲突概率小冲突概率小冲突概率小。只有当。只有当。只有当。只有当CacheCache中中中中全部装全部装全部装全部装满满后,才有可能出后,才有可能出后,才有可能出后,才有可能出现块现块冲突;冲突;冲突;冲突;缺点:缺点:缺点:缺点:要作相要作相要作相要作相联联搜索,搜索,搜索,搜索,速度慢,代价高速度慢,代价高速度慢,代价高速度慢,代价高。53地址映象(映射)与地址变换这只是一个理想的方案。只是一个理想的方案。实际上很少采用
47、上很少采用的的两个原因两个原因:1.1.标记标记位数从位数从位数从位数从7 7位增加到位增加到位增加到位增加到1111位,使位,使位,使位,使CacheCache标记标记容容容容量加大量加大量加大量加大;2.2.访问访问CacheCache时时,需要和需要和需要和需要和CacheCache的全部的全部的全部的全部标记进标记进行行行行“比比比比较较”才能判断出所才能判断出所才能判断出所才能判断出所访访主存地址的内容主存地址的内容主存地址的内容主存地址的内容是否已在是否已在是否已在是否已在CacheCache中。由于中。由于中。由于中。由于CacheCache速度要求高速度要求高速度要求高速度要求
48、高,通常由通常由通常由通常由“按内容按内容按内容按内容寻寻址址址址”的相的相的相的相联联存存存存储储器完成,器完成,器完成,器完成,所需硬件所需硬件所需硬件所需硬件逻辑电逻辑电路很多,以至于无法用于路很多,以至于无法用于路很多,以至于无法用于路很多,以至于无法用于cachecache中。中。中。中。实际实际的的的的CacheCache组织则组织则是采取各种措是采取各种措是采取各种措是采取各种措施来减少所需比施来减少所需比施来减少所需比施来减少所需比较较的地址数目。的地址数目。的地址数目。的地址数目。54地址映象(映射)与地址变换组组相相相相联联映射方式映射方式映射方式映射方式组间组间全相全相全
49、相全相联联,组组内直接内直接内直接内直接映像映像映像映像直接映象和全相直接映象和全相直接映象和全相直接映象和全相联联映象方式的一种映象方式的一种映象方式的一种映象方式的一种折衷方案折衷方案折衷方案折衷方案。55地址映象(映射)与地址变换注意:注意:当当当当CacheCache只有一个只有一个只有一个只有一个组组并且每并且每并且每并且每组组1616块时块时,此,此,此,此时时为为直接映像;直接映像;直接映像;直接映像;当当当当CacheCache有有有有1616组组并且每并且每并且每并且每组组一个一个一个一个块时块时,则为则为全全全全相相相相联联映像。映像。映像。映像。8位位3位位9位位1位位3
50、位位9位位567.2 高速缓冲存储器(cache)cache的工作机制的工作机制cache基本原理基本原理地址映象(映射)与地址地址映象(映射)与地址变换cache与主存数据的一致性与主存数据的一致性替替换策略策略高速高速缓冲器冲器cache的构成的构成57cache与主存数据的一致性cache中存放的是主存中部分信息的副本。中存放的是主存中部分信息的副本。为了保了保证CPU存取的数据准确无存取的数据准确无误,要求,要求cache中每一个地址上的数据与主存中相中每一个地址上的数据与主存中相应存存储单元的数据保持完全相同,元的数据保持完全相同,这种性种性质称称cache与主存数据的一致性与主存数