如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第七章存储系统7.1存储系统的层次结构7.2高级缓冲存储器7.3虚拟存储器7.4相联存储器7.1存储系统的层次结构1.主存和辅存的概念2.主存和辅存在操作系统的控制下,通过软硬件把主存和辅存统一成为一个整体,形成一个存储层次。这个层次拥有接近于主存的速度和辅存的容量,价格也接近于辅存的价格。3.在CPU和主存之间有高速缓冲存储器cache,这完全是由硬件来完成的。Cache-主存的速度接近于cache,而容量与价格接近于主存。Cache的速度接近于CPU。1.三级结构的存储器系统:将高速缓缓冲存储器、主存储器和辅助(虚拟)存储器组成的统一管理、调度的一体化三级结构的存储器系统。3.三种存储器的比较4.采用三级结构的目的和方法局部性原理、一致性原则和包含性原则1.局部性原理——三级结构存储器系统运行原理基础(1)时间局部性:在较小的时间间隔内,最近被访问的指令和数据很可能再次被访问;(2)空间局部性:这些最近被访问的指令和数据往往集中在一小片存储区域中;(3)指令执行方式局部性:顺序执行较转移执行可能性大。3.一致性原则:同时存放在三类存储器中的信息,在三类存储器中必须保持同值。计算机组成原理7.2高速缓冲存储器(cache)7.2.1cache存储器工作原理根据程序访问的局部性要设置cache.设置cache可以存放当前使用的程序和数据,提高了程序的执行速度,所以叫高速缓冲器。计算机组成原理Cache的基本结构如图所示:(3)利用算法如先进先出FIFO、近期最少用法LRU或优化替换法OPT将非命中的数据逐步替换掉。(4)根据局限性原理,CPU访问的绝大部分信息可直接从Cache中得到。设主存有2n个单元,地址码为n位,将主存分块,每块有B个字节,则共分成M=2n/B块。cache也由同样大小的块组成。在cache中,每一块都有一个标记指明它是那一块的副本,设主存地址为n位,且n=m+b,则可得出:主存的块数M=2m,块内字节数B=2b。Cache的地址码为(c+b)位。Cache的块数为2c.块内字节数与主存相同。Cache读工作方式设计的概念命中率:CPU所要访问的信息在cache中的比率,而将所要访问的消息不在cache中的比率称为失败率。提高命中率的方法cache的容量增大。替换算法:把新的字块调入主存的过程,cache相应的位置被其他字块占有,就必须去掉旧的字块,让位给新的字块。这种替换会用到替换算法。在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有h=Nc/(Nc+Nm)若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则cache/主存系统的平均访问时间ta为:ta=htc+(1-h)tm【例】CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/[r+(1-r)h]=1/[5+(1-5)×0.95]=83.3%ta=tc/e=50ns/0.833=60ns7.2.2cache存储器组织1.地址映像为了把主存块放到cache中,必须应用某种方法把主存地址定位到cache中,称做地址映射。“映射”一词的物理含义是确定位置的对应关系,并用硬件来实现。这样当CPU访问存储器时,它所给出的一个字的内存地址会自动变换成cache的地址。由于采用硬件,这个地址变换过程很快,软件人员丝毫未感觉到cache的存在。这种特性称为cache的透明性。地址映射方式有全相联方式、直接方式和组相联方式三种,下面分别介绍。假设主存储器空间被分为2m个块,字块大小为2b个字;cache存储空间被分为2c个同样大小的块。(1)全相联映射方式全相联映像方式是最灵活但成本最高的一种方式。它允许主存中的每一字块映像到Cache的任何一个字块位置上,也允许从确实已被占满的Cache中替换出任何一个旧字块。主要问题是在访问Cache时,需要和Cache的全部标记进行“比较”才能判断出所访主存地址的内容是否已在Cache中。由于Cache速度要求高,所以全部“比较”操作都要用硬件实现,通常由“按内容寻址的”相联存储器完成。优点:灵活性好,命中率高。缺点:电路复杂、成本高。计算机组成原理(2)直接映射方式直接映射方式也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定块中。假设cach