您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 计算机体系结构(张晨曦)第5章-PPT
1/154▲Computerarchitecture第5章存储层次2/154▲Computerarchitecture5.1存储器的层次结构5.2Cache基本知识5.3降低Cache失效率的方法5.4减少Cache失效开销5.5减少命中时间5.6主存5.7虚拟存储器5.8进程保护和虚存实例5.9AlphaAXP21064存储层次3/154▲Computerarchitecture1.从用户的角度来看,存储器的三个主要指标:容量、速度和价格(指每位价格)2.人们对这三个指标的要求容量大、速度快、价格低3.三个要求是相互矛盾的速度越快,每位价格就越高;容量越大,每位价格就越低;容量越大,速度越慢。5.1存储器的层次结构5.1.1从单级存储器到多级存储器4/154▲Computerarchitecture5.1存储器的层次结构4.解决方法采用多种存储器技术,构成所谓的存储层次。演示Ⅰ演示Ⅱ(局部性原理)多级存储层次5/154▲Computerarchitecture5.1存储器的层次结构C,H,TA假设:S──容量TA──访问时间C──每位价格下面仅考虑由M1和M2构成的两级存储层次:M1的参数:S1,TA1,C1M2的参数:S2,TA2,C25.1.2存储层次的性能参数6/154▲Computerarchitecture5.1存储器的层次结构1.每位价格C2.命中率H和失效率F命中率:CPU访问存储系统时,在M1中找到所需信息的概率。N1──访问M1的次数N2──访问M2的次数失效率:F=1-H212211SSSCSCC++=211NNNH+=7/154▲Computerarchitecture5.1存储器的层次结构3.平均访问时间TATA=HTA1+(1-H)(TA1+TM)=TA1+(1-H)TM或TA=TA1+FTM分两种情况来考虑CPU的一次访存:当命中时,访问时间即为TA1(命中时间)当不命中时,情况比较复杂。不命中时的访问时间为:TA2+TB+TA1=TA1+TMTM=TA2+TB失效开销TM:从向M2发出访问请求到把整个数据块调入M1中所需的时间。传送一个信息块所需的时间为TB。8/154▲Computerarchitecture5.1存储器的层次结构从主存的角度来看“Cache-主存”层次:弥补主存速度的不足“主存-辅存”层次:弥补主存容量的不足1.“Cache—主存”层次主存与CPU的速度差距“Cache-主存”层次2.“主存-辅存”层次5.1.3“Cache-主存”和“主存-辅存”层次9/154▲Computerarchitecture5.1存储器的层次结构1980年以来存储器和CPU性能随时间而提高的情况(以1980年时的性能作为基准)10/154▲Computerarchitecture5.1存储器的层次结构两种存储层次11/154▲Computerarchitecture5.1存储器的层次结构存储层次CPU对第二级的访问方式比较项目目的存储管理实现访问速度的比值(第一级和第二级)典型的块(页)大小失效时CPU是否切换“Cache-主存”层次“主存-辅存”层次为了弥补主存速度的不足为了弥补主存容量的不足主要由专用硬件实现主要由软件实现几比一几百比一几十个字节几百到几千个字节可直接访问均通过第一级不切换切换到其他进程“Cache-主存”与“主存-辅存”层次的区别12/154▲Computerarchitecture5.1存储器的层次结构1.当把一个块调入高一层(靠近CPU)存储器时,可以放在哪些位置上?(映像规则)2.当所要访问的块在高一层存储器中时,如何找到该块?(查找算法)3.当发生失效时,应替换哪一块?(替换算法)4.当进行写访问时,应进行哪些操作?(写策略)5.1.4存储层次的四个问题13/154▲Computerarchitecture1.存储空间分割与地址计算2.Cache和主存分块5.2Cache的基本知识5.2.1映象规则1.全相联映象全相联:主存中的任一块可以被放置到Cache中的任意一个位置。举例对比:阅览室位置──随便坐特点:空间利用率最高,冲突概率最低,实现最复杂。14/154▲Computerarchitecture5.2Cache的基本知识15/154▲Computerarchitecture5.2Cache的基本知识2.直接映象直接映象:主存中的每一块只能被放置到Cache中唯一的一个位置。举例(循环分配)对比:阅览室位置──只有一个位置可以坐特点:空间利用率最低,冲突概率最高,实现最简单。对于主存的第i块,若它映象到Cache的第j块,则j=imod(M)(M为Cache的块数)16/154▲Computerarchitecture设M=2m,则当表示为二进制数时,j实际上就是i的低m位:ji:m位5.2Cache的基本知识17/154▲Computerarchitecture5.2Cache的基本知识3.组相联映象组相联:主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置。举例组相联是直接映象和全相联的一种折中19/154▲Computerarchitecture5.2Cache的基本知识组的选择常采用位选择算法若主存第i块映象到第k组,则k=imod(G)(G为Cache的组数)设G=2g,则当表示为二进制数时,k实际上就是i的低g位:低g位以及直接映象中的低m位通常称为索引。ki:g位20/154▲Computerarchitecture5.2Cache的基本知识n路组相联:每组中有n个块(n=M/G)。n称为相联度。相联度越高,Cache空间的利用率就越高,块冲突概率就越低,失效率也就越低。绝大多数计算机的Cache:n≤4想一想:相联度一定是越大越好?全相联直接映象组相联n(路数)G(组数)MM111<n<M1<G<M21/154▲Computerarchitecture5.2Cache的基本知识当CPU访问Cache时,如何确定Cache中是否有所要访问的块?若有,如何确定其位置?1.通过查找目录表来实现目录表的结构主存块的块地址的高位部分,称为标识。每个主存块能唯一地由其标识来确定5.2.2查找算法主存地址:块内位移索引标识块地址22/154▲Computerarchitecture5.2Cache的基本知识只需查找候选位置所对应的目录表项2.并行查找与顺序查找提高性能的重要思想:主候选位置(MRU块)(前瞻执行)3.并行查找的实现方法相联存储器单体多字存储器+比较器举例:4路组相联并行标识比较(比较器的个数及位数)4路组相联Cache的查找过程直接映象Cache的查找过程23/154▲Computerarchitecture5.2Cache的基本知识24/154▲Computerarchitecture5.2Cache的基本知识1.所要解决的问题:当新调入一块,而Cache又已被占满时,替换哪一块?直接映象Cache中的替换很简单因为只有一个块,别无选择。在组相联和全相联Cache中,则有多个块供选择。2.主要的替换算法有三种随机法优点:实现简单先进先出法(FIFO)5.2.3替换算法25/154▲Computerarchitecture5.2Cache的基本知识最近最少使用法LRU选择近期最少被访问的块作为被替换的块。(实现比较困难)实际上:选择最久没有被访问过的块作为被替换的块。优点:失效率低。LRU和随机法的失效率的比较26/154▲Computerarchitecture5.2Cache的基本知识LRU和随机法分别因其失效率低和实现简单而被广泛采用。27/154▲Computerarchitecture5.2Cache的基本知识1.“写”在所有访存操作中所占的比例统计结果表明,对于一组给定的程序:load指令:26%store指令:9%“写”在所有访存操作中所占的比例:9%/(100%+26%+9%)≈7%“写”在访问Cache操作中所占的比例:9%/(26%+9%)≈25%5.2.4写策略28/154▲Computerarchitecture5.2Cache的基本知识2.“写”操作必须在确认是命中后才可进行3.“写”访问有可能导致Cache和主存内容的不一致4.两种写策略写策略是区分不同Cache设计方案的一个重要标志。写直达法执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。写回法(也称为拷回法)执行“写”操作时,只写入Cache。仅当Cache中相应的块被替换时,才写回主存。(设置“修改位”)29/154▲Computerarchitecture5.2Cache的基本知识5.两种写策略的比较写回法的优点:速度快,所使用的存储器带宽较低。写直达法的优点:易于实现,一致性好。6.采用写直达法时,若在进行“写”操作的过程中CPU必须等待,直到“写”操作结束,则称CPU写停顿。减少写停顿的一种常用的优化技术:采用写缓冲器30/154▲Computerarchitecture5.2Cache的基本知识7.“写”操作时的调块按写分配(写时取)写失效时,先把所写单元所在的块调入Cache,再行写入。不按写分配(绕写法)写失效时,直接写入下一级存储器而不调块。8.写策略与调块写回法──按写分配写直达法──不按写分配31/154▲Computerarchitecture5.2Cache的基本知识例:DEC的AlphaAXP21064中的内部数据Cache1.简介容量:8KB块大小:32B块数:256采用不按写分配映象方法:直接映象“写”策略:写直达写缓冲器大小:4个块5.2.5Cache的结构32/154▲Computerarchitecture33/154▲Computerarchitecture优点是可使主存的一个块直接拷贝到cache中的任意一行上,非常灵活。缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。全相联cache的检索过程34/154▲Computerarchitecture优点是硬件简单,成本低。因此适合大容量cache采用。缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。直接映射的cache检索过程35/154▲Computerarchitecture组相联映射方式中的每组行数v一般取值较小,一般为2、4、8和16,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。组相联映射cache的检索过程2.结构图37/154▲Computerarchitecture5.2Cache的基本知识3.工作过程“读”访问命中“写”访问命中失效情况下的操作4.混合Cache与分离Cache优缺点失效率的比较38/154▲Computerarchitecture5.2Cache的基本知识16KB容量1KB2KB4KB8KB32KB指令Cache3.06%失效率的比较64KB128KB数据Cache混合Cache2.26%1.78%1.10%0.64%0.39%0.15%0.02%24.61%20.57%15.94%10.19%6.47%4.82%3.77%2.88%13.34%9.78%7.24%4.57%2.87%1.99%1.36%0.95%39/154▲Computerarchitecture5.2Cache的基本知识1.失效率与硬件速度无关容易产生一些误导2.平均访存时间平均访存时间=命中时间+失效率×失效开销5.2.6Cache的性能分析40/154▲Computerarchitecture5.1存储器的层次结构C,H,TA假设:S──容量TA──访问时间C──每位价格下面仅考虑由M1和M2构成的两级存储层次:M1的参数:S1,TA1,C1M2的参数:S2,TA2,C2存储层次的性能
本文标题:计算机体系结构(张晨曦)第5章-PPT
链接地址:https://www.777doc.com/doc-5388294 .html