计算机系统结构4.ppt
《计算机系统结构4.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构4.ppt(108页珍藏版)》请在冰点文库上搜索。
第四章存储体系,4.1基本概念4.2虚拟存储器4.3高速缓冲存储器4.4三级存储体系4.5存储系统的保护4.6本章小结,4.1基本概念,4.1.1存储体系及其分支从应用程序员来看,主、辅存构成了一个完整的整体,速度接近于主存的,容量是辅存的,每位价格接近于廉价慢速的辅存。
称它是一个存储体系或存储层次。
即存储层次对应用程序员是透明的。
第四章4.1基本概念-4.1.1存储体系及其分支,从CPU看,速度是接近于主存的,容量是辅存的,每位价格是接近于辅存的。
从速度上看,主存的访问时间约为磁盘的访问时间的10-5,即快10万倍。
从价格上看,主存的每位价格约为磁盘的每位价格的103,即贵1000倍。
如果存储层次能以接近辅存的每位价格去构成等于辅存容量的快速主存,就会大大提高存储器系统的性能价格比。
第四章4.1基本概念-4.1.1存储体系及其分支,Cache存储器不仅对应用程序员是透明的,对系统程序员也是透明的,完全由辅助硬件实现。
第四章4.1基本概念-4.1.1存储体系及其分支,由二级存储层次依次可组合成如下图所示的多级存储层次。
希望从CPU看是一个整体,有接近于最高层M1的速度、最低层Mn的容量,并有接近于最低层Mn的每位价格。
第四章4.1基本概念-4.1.1存储体系及其分支,访问速度越来越快,每位的价格越来越便宜存储容量越来越大,CPU内部,第四章4.1基本概念-4.1.1存储体系及其分支,在一般计算机系统中主要有两种存储系统Cache存储系统:
由Cache和主存储器构成主要目的:
提高存储器速度虚拟存储系统:
由主存储器和磁盘存储器构成主要目的:
扩大存储器容量,第四章4.1基本概念-4.1.1存储体系及其分支,4.1.2存储体系的构成依据为了使存储体系能有效地工作,当CPU要用到某个地址的内容时,总希望它已在速度最快的M1中,这就要求未来被访问信息的地址能预知,这对存储体系的构成是非常关键的。
这种预知的可能性是基于计算机程序具有局部性,它包括时间上的局部性和空间上的局部性。
时间上的局部性:
在最近的未来要用到的信息很可能是现在正在使用的信息,这是因为程序存在循环。
空间上的局部性:
在最近的未来要用到的信息很可能与现在正在使用的信息在程序空间上是邻近的。
第四章4.1基本概念-4.1.2存储体系的构成依据,这样,层次的M1级不必存入整个程序,只需将近期用过的块或页(根据时间局部性)存入即可。
在从M2级取所要访问的字送M1时,一并把该字所在的块或页整个取来(根据空间的局部性),就能使要用的信息已在M1的概率显著增大。
这是存储层次构成的主要依据,第四章4.1基本概念-4.1.2存储体系的构成依据,4.1.3存储体系的性能参数以二级体系(M1,M2)为例来分析设ci为Mi的每位价格,SMi为Mi的以位计算的存储容量,TAi为CPU访问到Mi中的信息所需的时间。
为评价存储层次性能,引入存储层次的每位价格c、命中率H和等效访问时间TA。
第四章4.1基本概念-4.1.3存储体系的性能参数,存储层次的每位价格c式中并未把采用存储体系所增加的辅助软、硬件价格计算在内,第四章4.1基本概念-4.1.3存储体系的性能参数,命中率H为CPU产生的逻辑地址能在M1中访问到(命中到)的概率。
H=R1/(R1+R2)R1为逻辑地址流的信息能在M1中访问到的次数为,在M2中还未调到M1的次数为R2。
显然命中率H与程序的地址流,所采用的地址预判算法及M1的容量都有很大关系。
不命中率(失效率)对二级存储层次,失效率为1-H。
第四章4.1基本概念-4.1.3存储体系的性能参数,存储层次的等效访问时间TA:
TA=HTA1+(1-H)TA2存储层次的访问效率e:
e=TA1/TA相邻二级的访问时间比r:
r=TA2/TA1,第四章4.1基本概念-4.1.3存储体系的性能参数,第四章4.1基本概念-4.1.3存储体系的性能参数,存储系统的设计,设计原则相邻级的容量差、速度差较大(减少c)存储系统具有较高的命中率(减少T)存储系统的辅助软、硬件开销较小涉及问题映像规则:
块从低层调入高层时放在何位置查找算法:
如何在本系统中查找需访问的块替换算法:
发生失效时,替换哪个块写策略:
进行写访问时,应进行哪些操作,第四章4.1基本概念-4.1.3存储体系的性能参数,4.2虚拟存储器,1961年英国曼彻斯特大学Kilbrn等人提出70年代广泛地应用于大中型计算机系统中目前许多微型机也开始使用虚拟存储器4.2.1虚拟存储器的管理方式将程序分割成若干个段或页,用相应的映像表指明该程序的某段或页是否已装入主存。
若已装入,同时指明其在主存中的起始地址;若未装入,就去辅存中调段或调页,装入主存后在映像表中建立好程序空间和实存空间的地址映像关系。
这样,程序执行时通过查映像表将程序(虚)地址变换成实主存地址再访主存。
根据所用的映像算法,将虚拟存储器管理方式分成段式、页式和段页式3种。
第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,三种地址空间:
虚拟地址空间,主存储器地址空间,磁盘地址空间其中,虚拟地址空间指的是程序员用来编写程序的空间,非常大;主存储器地址空间指实用地址空间,对应实地址。
磁盘地址空间即为辅存地址空间,对应辅存地址。
第四章4.2虚拟存储器,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,1段式管理段:
按程序的逻辑功能来划分,一个用户的程序(或一个进程)可以包含多个功能不同的程序段。
地址映象方法:
每个程序段都从0地址开始编址,长度可长可短,可以在程序执行过程中动态改变程序段的长度。
第四章4.2虚拟存储器,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,地址变换方法:
由用户号找到基址寄存器从基址寄存器中读出段表的起始地址把起始地址与多用户虚地址中段号相加得到段表地址把段表中给出的起始地址与段内偏移D相加就能得到主存实地址,第四章4.2虚拟存储器,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,第四章4.2虚拟存储器,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,0,段表长度,段表基址,6,As,段名,起始地址,装入位,段长,访问方式,用户号U,段号S,段内偏移D,多用户虚地址,主存实地址,4,3,2,1,0,1,N-1,As,段表基址寄存器,一个用户(一道作业)的段表,第四章4.2虚拟存储器,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,主程序(0段),1k,1段,2段,3段,0,500,0,200,0,200,0,段号,段长,起址,0,1k,8k,1,500,16k,2,200,9k,3,200,30k,0,8k,9k,16k,30k,程序空间,主存储器,段表,第四章4.2虚拟存储器,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,段式虚拟存储器的主要优点:
(1)程序的模块化性能好
(2)便于程序和数据的共享(3)程序的动态链接和调度比较容易(4)便于实现信息保护段式虚拟存储器的主要缺点:
(1)地址变换所花费的时间比较长,做两次加法运算
(2)主存储器的利用率往往比较低(3)对辅存(磁盘存储器)的管理比较困难,2页式管理主要优点:
(1)主存储器的利用率比较高
(2)页表相对比较简单(3)地址变换的速度比较快(4)对磁盘的管理比较容易主要缺点:
(1)程序的模块化性能不好
(2)页表很长,需要占用很大的存储空间。
例如:
虚拟存储空间4GB,页大小1KB,则页表的容量为4M字,16MB,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,Pa,虚页,修改,实页号,装入,用户号U,虚页号P,页内偏移D,页内偏移d,2,p,Pa,页表基址,页表,实页号p,1,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,0页,1页,2页,3页,页号,主存页号,0,1,2,3,用户程序,主存储器,页表,页式虚拟存储器的地址映象,3段页式管理用户按照程序段来编写程序,每个程序段分成几个固定大小的页。
基本思想:
将虚拟存储空间按段式管理,而主存空间按页式管理,存在虚空间的程序按逻辑关系分段,每一段又可分成固定大小的页。
主存则只分成若干相同大小的页。
地址变换方法:
需要三层表记录相关信息,包括段表基地址表、段表、页表。
(1)先查段表,得到该程序段的页表起始地址和页表长度,
(2)再查页表找到要访问的主存实页号,(3)最后把实页号p与页内偏移d拼接得到主存的实地址。
第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,第四章4.2虚拟存储器-4.2.1虚拟存储器的管理方式,装入,修改,实页号,标志,用户号U,段号S,页内偏移,页内偏移,0/1,1,p,A,实页号p,虚页号P,As,装入,1,修改,0/1,页表地址,Ap,As,4.2.2页式虚拟存储器的构成1.地址的映像和变换它将主存空间和程序空间都按相同大小机械等分成页,并让程序的起点总是处在页的起点上。
程序员用指令地址码Ni来编写每道程序,Ni由用户虚页号Nv和页内地址Nr组成。
主存地址则分成实页号nv与页内位移nr两部分,其中nr总是与Nr一样。
大多数虚拟存储器中每个用户的程序空间可比实际主存空间大得多,即一般有Nvnv。
这样,虚拟存储器系统总的多用户虚地址Ns就由用户标志u、用户的虚页号Nv及页内地址Nr三部分构成,总的虚存空间是2u+Nv个页。
可将u和Nv合并成多用户虚页号Nv,则2Nv2nv。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,全相联映像:
由于虚存空间远大于实存空间,页式虚拟存储器一般都采用让每道程序的任何虚页可以映像装入到任何实页位置的。
仅当一个任务要求同时调入主存的页数超出2nv时,两个虚页才会争用同一个实页位置,这种情况是很少见的。
因此,全相联映像的实页冲突概率最低。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,整个多用户虚存空间可对应2u个用户(程序),但主存最多同时只对其中N个用户(N道程序)开放。
由基号b标识N道程序中的每一道都有一个最大为2Nv行的页表,而主存总共只有2nv个实页位置,因此N道程序页表的全部N*2Nv行中,装入位为“1”的最多只有2nv行。
由于N*2Nv2nv,使得页表中绝大部分行中的实页号nv字段及其他字段都成了无用的了,这会大大降低页表的空间利用率。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,一种解决办法是将页表中装入位为“0”的行用实页号nv字段存放该程序此虚页在辅存中的实地址,以便调页时实现用户虚页号到辅存实地址的变换。
另一种方法是把页表压缩成只存放已装入主存的那些虚页(用基号b和Nv标识)与实页位置(nv)的对应关系,该表最多为2nv行。
我们称它为相联目录表法,简称目录表法。
该表采用按内容访问的相联存储器构成。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,目录表法基本思想:
用一个小容量高速存储器存放页表。
地址变换过程:
把多用户虚地址中b与Nv拼接起来,相联访问目录表。
读出主存实页号nv,把nv与多用户虚地址中的Nr拼接得到主存实地址。
如果相联访问失败,发出页面失效请求。
主要优点:
与页表放在主存中相比,查表速度快。
主要缺点:
可扩展性比较差。
主存储器容量增加时,目录表的造价高,速度降低。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,装入,磁盘实地址,用户号,页内偏移,1,虚页号,外部地址变换(软件实现),磁盘号,柱面号,磁头号,块号,多用户虚地址,外页表,2页面替换算法页面替换发生时间:
当发生页面失效时,要从磁盘中调入一页到主存。
如果主存所有页面都已经被占用,必须从主存储器中淘汰掉一个不常使用的页面,以便腾出主存空间来存放新调入的页面。
评价页面替换算法好坏的标准:
一是命中率要高二是算法要容易实现,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,
(1)随机算法(RANDRandomalgorithm)算法简单,容易实现;没有利用历史信息,没有反映程序的局部性,命中率低。
(2)先进先出算法(FIFOFirst-InFirst-Outalgorithm)比较容易实现,利用了历史信息,没有反映程序的局部性。
最先调入主存的页面,很可能也是经常要使用的页面。
(3)近期最少使用算法(LFULeastFrequentlyUsedalgorithm),第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,既充分利用了历史信息,又反映了程序的局部性,但需要很长的计数器和时钟,实现起来非常困难。
(4)最久没有使用算法(LRULeastRecentlyUsedalgorithm)把LFU算法中的“多”与“少”简化成“有”与“无”,实现起来比较容易。
(5)最优替换算法(OPTOPTimalreplacemantalgorithm)是一种理想化的算法。
用来作为评价其它页面替换算法好坏的标准。
在虚拟存储器中,实际上有可能采用只有FIFO和LRU两种算法。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,从图上可以看出FIFO算法的页命中率比较低,LRU算法的页命中率非常接近于OPT算法。
结论1:
命中率与所选用替换算法有关。
LRU算法要优于FIFO算法。
命中率也与页地址流有关。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,1,2*,1,5*,命中2次,1,2*,1,3*,命中,命中,LRU实页数增加,命中率提高,命中4次,一般来说,分配给程序的主存页数越多,虚页装入主存的机会越多,命中率也就可能越高,但能否提高还和替换算法有关。
FIFO算法就不一定。
主存页数由3页增至4页时,命中率反而由3/12降低到2/12。
而LRU算法则不会发生这种情况,随着分配给程序的主存页数增加,命中率一般都能提高,至少不会下降。
结论2命中率与分配给程序的主存页数有关。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,堆栈型替换算法:
设A是长度为L的任意一个页地址流,t为已处理过t-1个页面的时间点,n为分配给该地址流的主存页数,Bt(n)表示在t时间点、在n页主存中的页面集合,Lt表示到t时间点已遇到过的地址流中相异页的页数。
如果替换算法满足:
nLt时,Bt(n)Bt(n+1)nLt时,Bt(n)=Bt(n+1)则属堆栈型的替换算法。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,LRU算法在主存中保留的是n个最近使用的页,它们又总是被包含在n+1个最近使用的页中,所以LRU算法是堆栈型算法。
显然,OPT算法也是堆栈型算法,而FIFO算法则不是。
由于堆栈型替换算法具有上述包含性质,因此命中率随主存页数的增加只有可能提高,至少不会下降。
只要是堆栈型替换算法,只需采用堆栈处理技术对地址流模拟一次,即可同时求得对此地址流在不同主存页数时的命中率。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,3,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,1,1,1,3,3,4,4,2,1,3,3,5,5,2,2,3,2,5,2,3,2,2,1,5,4,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,不同实页数n的命中率H,页面失效频率(PFF)算法:
由于堆栈型替换算法有随分配给该道程序的实页数n增加,命中率H会单调上升这一特点,即根据各道程序运行中的主存页面失效率,由操作系统动态调节分配给各道程序的实页数。
当主存页面失效率超过某个值时就自动增加给该道程序的主存页数以提高其命中率;而当主存页面失效率低于某个值时就自动减少分配给该道程序的主存页数,以便释放出这部分主存页面位置供给其他程序用,从而使整个系统总的主存命中率和主存利用率得到提高。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,抖动(Thrashing)问题,置换算法的优劣,直接影响到系统的效率。
若选用算法不合适,可能会出现这种现象:
刚被置换出去的页,很快又要访问,因而要把它重新调入;可是调入不久又再次被置换出去,这样再访问、再调入,如此反复,使得整个系统的页面替换非常频繁,以致大部分的机器时间都花在来回进行的页面调度上,只有一小部分时间用于进程的实际运算。
这种局面就称为系统“抖动”。
产生抖动的原因是系统中多道程序度过高,进程运行缺页率严重。
一般情况下,在多道程序度较小时,随着它的增加,CPU利用率会缓慢增加。
当到达最大值后,多道程序度进一步增大,就出现了抖动,导致CPU利用率急剧下降。
第四章4.2虚拟存储器-4.2.2页式虚拟存储器的构成,3.虚拟存储器工作的全过程,1页面失效的处理对页面失效的处理是设计好页式虚拟存储器的关键之一。
页面的划分只是对程序和主存空间的机械等分。
对于按字节编址的存储器完全可能出现指令或操作数横跨在两页上存储的情况。
特别是字符串数据、操作数多重间接寻址,这种跨页现象更为严重。
如果当前页在主存中,而跨页存放的那一页不在主存中,就会在取指令、取操作数或间接寻址等访存过程中发生页面失效。
页面失效应看成是一种故障,必须立即响应和处理。
第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,页面失效后还应解决如何保存好故障点现场以及故障处理完后如何恢复故障点现场,以便能继续执行这条指令。
目前多数机器都采用后援寄存器法,把发生页面失效时指令的全部现场都保存下来。
待调页后再取出后援寄存器内容恢复故障点现场,以便继续执行完该指令。
也有的机器同时采用一些预判技术。
防止出现页面替换“颠簸”现象。
第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,2.提高虚拟存储器等效访问速度的措施从存储层次的等效访问速度公式可以看出,,既要有很高的主存命中率,又要有尽可能短的访主存时间。
高的主存命中率受很多因素影响,包括页地址流、页面调度策略、替换算法、页面大小、分配给程序的页数(主存容量)等,有些前面已提过了,后面围绕影响虚拟存储器性能还要对某些因素作进一步分析。
这里先就缩短访主存时间讲述结构设计中可采取的措施。
第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,用快速硬件构成比全表小得多,例如(816)行的部分目录表存放当前正用的虚实地址映像关系,那么其相联查找的速度将会很快。
我们称这个部分目录表为快表。
将原先存放全部虚、实地址映像关系的表称为慢表。
快表只是慢表中很小一部分副本。
第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,快表如果用堆栈型替换算法,则快表容量越大,其命中率就会越高。
但容量愈大,会使相联查找的速度愈低,所以快表的命中率和查表速度有矛盾。
为了提高快表的命中率和查表速度,可以用高速按地址访问的存储器来构成更大容量的快表,并用散列方法实现按内容查找。
散列函数(hash)将不定长的集合A通过某HASH函数映射到某固定长度的集合B。
散列变换(压缩)出、入位数差越小,散列冲突的概率就越低。
第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,3.影响主存命中率,论点1页面大小Sp、分配给某道程序的主存容量S1与命中率H的关系如下图。
当S1一定时,随着Sp的增大,命中率H先增大,再达某个最大值后又减少。
若增大S1,可普遍提高命中率。
第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,论点2分配给某道程序的容量S1的增大也只是在开始时对H提高有明显作用。
第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,主存命中率也与页面调度算法有关,大多数虚拟存储器都采用请求式调页,仅当页面失效时把所需页面调入主存;也有采用预取工作区调度策略,在启动某道程序重新运行之前,先将该程序上次运行所用的虚页集合(工作区)调入主存。
如果从多道程序运行如何提高CPU的效率来看,还要考虑一些其他因素。
例如,对分时系统,分配给每道程序的CPU时间片大小会影响对虚拟存储器的使用。
如果分配给的CPU时间片较小,就应尽量减小页面失效的次数,不然所给时间的大部分就会消耗在调页上。
但此时对S1的要求却可降低,因为在短的CPU时间内,来得及使用的主存容量会较少。
同理,页面也不能选得过大,不然会出现连一页也没用完,就得换道了。
第四章4.2虚拟存储器-4.2.3页式虚拟存储器实现中的问题,4.3高速缓冲存储器,高速缓冲(Cache)存储器是为弥补主存速度的不足,在处理机和主存之间设置一个高速、小容量的Cache,构成Cache-主存存储层次,使之从CPU来看,速度接近于Cache,容量却是主存的。
第四章4.3高速缓冲存储器,第四章4.3高速缓冲存储器-4.3.1工作原理和基本结构,Cache存储器的基本结构,将Cache和主存机械等分成相同大小的块(或行)。
每一块由若干个字(或字节)组成。
Cache存储器中的块和虚拟存储器中的页具有相同地位,但块的大小比页的大小远小得多。
目前访Cache的时间一般是访主存时间的1/41/10Cache存储器与虚拟存储器在原理上是相似的,所以虚拟存储器中使用的地址映像和替换算法基本上也适用Cache存储器。
Cache与主存间的地址映像和调度、替换算法全得用专门的硬件实现。
采取多种措施提高Cache存储器的吞吐率。
第四章4.3高速缓冲存储器-4.3.1工作原理和基本结构,减少CPU与Cache之间的传输延迟。
块失效时,利用主存与处理机间的直接通道,让Cache调块与处理机访主存重叠进行(读直达),相应有写直达。
主存-Cache地址变换过程:
给出主存地址访存时,将其主存块号与目录表中所有各项的字段同时相联比较。
若有相同的,就将对应行的Cache块号取出,拼接上块内地址形成Cache地址,访Cache;若没有相同的,表示该主存块未装入Cache,发生Cache块失效,由硬件调块。
第四章4.3高速缓冲存储器-4.3.1工作原理和基本结构,4.3.2地址的映像与变换,对Cache存储器而言,地址的映像就是将每个主存块按什么规则装入Cache中地址的变换就是每次访Cache时怎样将主存地址变换成Cache地址。
第四章4.3高速缓冲存储器-4.3.2地址的映像与变换,第四章4.3高速缓冲存储器-4.3.2地址的映像与变换,1.全相联映像和变换,优点:
块冲突概率最低,Cache的空间利用率最高。
缺点:
要构成容量为项的相联存储器,代价太大,且Cache容量很大时,查表速度很难提高。
第四章4.3高速缓冲存储器-4.3.2地址的映像与变换,2.直接映像及其变换,把主存空间按Cache大小等分成区,每区内的各块只能按位置一一对应到Cache的相应块位置上。
主存第i块只能惟一映像到第imod2ncb块位置上。
直接映像的优点:
所需硬件省,只需容量较小的按地址访问的区号标志表存储器和少量的比较电路,成本很低。
直接映像的缺点:
Cache的块冲突概率很高。
只要有两个或两个以上经常使用的块恰好被映像到C