您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > cache的性能分析及改进方法
姓名老师黄亚玲汤文兵老师Cache性能分析及改进方法?Cache系统Cache的作用123对Cache的认识Cache又称高速缓冲存储器,位于CPU和内存之间,是一种特殊的子存储系统Cache系统通常由一级高速缓存L1Cache和二级高速缓存L2Cache组成。L1Cache通常分别用来存放数据和指令。Cache的产生就是为了提高CPU对存储器的访问速度。Cache的工作原理程序访问的局部性:对大量典型程序运行情况的分析结果表明,在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时间上集中分布的倾向。数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性。Cache的工作原理Cache的工作原理是基于程序的访问局部性。在主存和CPU通用寄存器之间设置一个高速的容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间内使用。Cache结构和工作原理图Cache的地址映射方式全相联映射方式:主存的任意一块可以映射到Cache中的任意一块优点:命中率比较高,Cache存储空间利用率高缺点:访问相关存储器时,每次都要与全部内容比较,速度低,成本高,因而应用少Cache的地址映射方式直接相联映射方式:主存储器中的一块只可以映射到Cache特定的一个块中优点:地址映射方式简单,数据访问时只需检查区号是否相等,因而可以得到比较快的访问速度,硬件设备简单缺点:替换操作频繁,命中率较低Cache的地址映射方式组相联映射方式:主存储器中的每一块可以被放置到Cache唯一的一个组中的任何一个位置优点:块的冲突概率比较低,块的利用率大幅提高,块失效率明显降低缺点:实现难度和造价要比直接相联映射方式高替换算法Cache可以采用的替换算法主要有以下几种:随机替换(RAND)算法随机确定替换的块,方法简单易于实现,但命中率低先入先出(FIFO)算法替换最先调入的块,不符合局部性规律近期最少使用(LRU)算法选择替换最近最少使用的块,命中率高,符合程序局部性原理2Cache性能分析12CPU执行时间平均访问存储器时间(AMAT)CPU执行时间时钟周期时间存储器停顿周期数时钟周期数执行时间)CPU(CPU缺失代价缺失率指令存储器访问次数指令数缺失代价指令缺失次数指令数缺失代价缺失次数存储器停顿周期数例子问:假定有一台计算机,当所有存储器访问操作都能在Cache中命中时,CPI为1.0;数据访问只有load和store指令,这些指令占全部指令的50%;缺失代价为25个时钟周期,缺失率为2%。问当所有指令都在Cache中命中时,计算机性能能提高多少?答:Cache始终命中时的计算机性能为:时钟周期指令数时钟周期指令数时钟周期存储器停顿周期数时钟周期数执行时间理想0.1)0CPI()CPU(CPU例子实际Cache的计算机性能为:两者的性能比为:结论:不发生Cache缺失时计算机性能是原来的1.75倍75.10.175.1CPUCPU时钟周期指令数时钟周期指令数执行时间执行时间理想实际时钟周期指令数时钟周期指令数指令数时钟周期存储器停顿周期数时钟周期数执行时间实际75.1)2502.0)5.01(CPI()CPU(CPU平均访存时间设H为命中率,平均访存时间(AMAT)可定义为:在多级存储系统中,平均访存时间(AMAT)可定义为:)缺失代价缺失率(命中时间缺失率命中时间缺失代价缺失率命中时间2L2L2L1L1L1L1L1LAMAT缺失代价缺失率命中时间主存T)H1(THAMATCache3Cache性能改进方法通过对cache的性能分析,可知失效开销,命中时间和失效率是衡量cache的重要指标。搜集整理减少失效开销减少命中时间降低失效率减少失效开销使读失效优于写写缓冲器导致对存储器的访问复杂化,而且写缓冲器是滞后的,所以推迟对读失效的处理。写缓冲合并如果写缓冲器中已经有了待写入的数据,则进行地址匹配,若存在匹配的地址并且缓冲器中位置空闲,就进行写缓冲合并。请求字处理技术尽早将请求字发送到CPU非阻塞cache技术Cache失效时仍允许CPU对其进行其他命中访问采用两级cache第一级Cache(L1)小而快,第二级Cache(L2)容量大减少命中时间命中时间直接影响着处理器的时钟频率。目前的计算机Cache的访问时间限制了处理器的时钟频率。采用容量小,结构简单的Cache硬件越简单,速度越快;便于与CPU放在一块芯片上虚拟Cache访问Cache的索引以及Cache中的标识都使用虚拟地址Cache访问流水化对第一级Cache的访问按流水方式访问TraceCache存放CPU所执行的动态指令降低失效率强制性失效:当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache。方法:增加块的大小,预取Cache容量失效:如果程序执行时所需的块不能全部调Cache中,则某些块被替换后又重新被访问。方法:增加容量冲突失效:在组相联或直接相联映射中,若太多的块到同一组或块中,则会出现该组或块中某个块被替换,然后又重新访问的情况。方法:提高相联度谢谢您的聆听作品欣赏谢谢观看!
本文标题:cache的性能分析及改进方法
链接地址:https://www.777doc.com/doc-7220889 .html