第七章 存储体系
本章重点是页式虚拟存储器映象及地址变换过程;LRU,FIFO的替换算法;LRU的堆栈分析过程;Cache组相联地址映象和LRU块替换;虚存,Cache的性能分析,要求达到综合应用的水平。本章是重点章。要求掌握的基本概念有:LRU,FIFO ,全相联、直接映象,组相联,快表、命中率,地址变换,页式,段式,段页式管理,虚拟存储器,高速缓存等等。
一、访存的局部性原理(识记)
计算机对存储器的要求是高速度、大容量、低价格。
从大量的统计中得到的一个规律是,程序中对于存储空间90%的访问局限于存储空间的10%的区域中,而另外10%的访问则分布在存储空间的其余90%的区域中。这就是通常说的局部性原理。访存的局部性规律包括两个方面:
1、时间局部性:如果一个存储项被访问,则可能该项会很快被再次访问。
2、空间局部性:如果一个存储项被访问,则该项及其邻近的项也可能很快被访问。
人们为了解决存储器容量和速度的矛盾,应用了访问局部性原理,把存储体系设计成为层次化的结构以满足使用要求。在这个层次化存储系统中,一般由寄存器、高速缓存(Cache)、主存(内存)、外存(硬盘等)组成。其中寄存器是最高层次的存储部件,容量最小,速度最快。寄存器对程序员是不透明的,对它的访问需按寄存器名访问而不是按地址。
二、存储体系构成的基本原理(简单应用)
由于存储体系采用了分层的结构,因此存储体系中各层次之间的数据访问如何的管理就显得相当重要。一般都把管理功能分布在各个层次上,每个层次的存储管理控制器控制这一层和与之相关一层的数据访问。层间传递数据的单位称为块或页。
命中率指命中的访问次数和总访问次数之比、失效率是失效的访问次数和总访问次数之比。命中时间包括判断是否命中所需时间和对上层存储器访存所需时间,失效时间则包括对下层存储器的访问时间和将下层存储器中数据调入上层存储器所需时间(传输时间)
存储器设计的目标是降低平均访问时间而不是单单提高命中率。也就是说层次化存储器的速度性能指标是访存的平均时间。另外还有带宽(频宽)、存储周期等指标。
平均访问时间=命中时间+失效时间×失效率
层次化存储体系必须解决的三个问题:
1.定位问题:数据块在较高层存储器中存放在哪个位置?怎样确定并且找到该块?这是块的标识和寻址问题。一般用查表法来映象块或页的定位、标识和寻址。
2.替换问题:不命中时,要从下层调入上层数据块,若上层满,则此时如何将上层中的数据置换出去?什么方法好。这就是替换策略的问题。
3.更新问题:在需要写访问时,何时将上层中得到的结果写到下层存储器中? 因为上层数据在经过运算后比下层的数据新,则这种写的方式就是为了解决上下层数据一致性的问题。
本章的内容就是围绕着这三个问题的解决而展开的。解决好这三个问题,层次化存储体系管理的主要问题也就解决了。
三、高速缓冲存储器(Cache)(综合应用)
这一节的内容就是讲述关于Cache高速缓存如何解决上述三个问题展开的内容,其他各层的管理基本上与它的解决办法类似。
高速缓存是位于CPU和主存之间的高层存储子系统。采用高速缓存的主要目的是提高存储器的平均访问速度,从而使存储器的速度也CPU的速度相匹配。
1、Cache的基本工作原理和结构
Cache通常由两部分组成,块表和快速存储器。Cache的基本结构可见教材图7.4,其工作原理是:处理机按主存地址访问存储器,存储器地址的高段通过主存-Cache地址映象机构借助查表判定该地址的存储单元是否在Cache中,如果在,则Cache命中,按Cache地址访问Cache.否则,Cache不命中,则需要访问主存,并从主存中调入相应数据块到Cache中,若Cache中已写满,则要按某种算法将Cache中的某一块替换出去,并修改有关的地址映象关系。
从这个工作原理我们可以看出,它已经涉及到了两个问题。首先是定位、然后是替换的问题。
Cache的存在对程序员是透明的。其地址变换和数据块的替换算法均由硬件实现。通常Cache被集成到CPU内以提高访问速度。
[1]
本文标签:广东自考 工学类 2007年度考试计算机系统结构第7章精讲
转载请注明:文章转载自(http://www.gdzkw.net)
热点关注: