《内存系统对性能的影响精选PPT.ppt》由会员分享,可在线阅读,更多相关《内存系统对性能的影响精选PPT.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、内存系统对性能的影响第1页,此课件共16页哦内存系统对性能的影响 n对于很多应用而言,瓶颈在于内存系统,而不是CPUn内存系统的性能包括两个方面:延迟和带宽nLatency is the time from the issue of a memory request to the time the data is available at the processor.nBandwidth is the rate at which data can be pumped to the processor by the memory system.第2页,此课件共16页哦延迟和带宽的区别 n理解延迟
2、与带宽的区别非常重要。n考虑消防龙头的情形。如果打开消防龙头后2秒水才从消防水管的尽头流出,那么这个系统的延迟就是2秒。n当水开始流出后,如果水管1秒钟能流出5加仑的水,那么这个水管的“带宽”就是5加仑/秒。n如果想立刻扑灭火灾,那么更重要是减少延迟的时间。n如果是希望扑灭更大的火,那么需要更高的带宽。第3页,此课件共16页哦内存延迟示例n考虑某一处理器以1GHz(1纳秒时钟)运行,与之相连的DRAM有100纳秒的延迟(没有高速缓存)。假设处理器有两个multiply-add部件,在每1纳秒的周期内能执行4条指令。q处理器的峰值是4GFLOPS。q由于内存延迟是100个周期,并且块大小为一个字
3、(word),每次处理内存访问请求时,处理器必须要等待100个周期,才能够获得数据。第4页,此课件共16页哦内存延迟示例n在以上平台上,考虑计算两个向量点积的问题。q计算点积对每对向量元素进行一次乘法-加法运算,即每一次浮点运算需要取一次数据。q此计算的峰值速度的限制是,每100纳秒才能够进行一次浮点计算,速度为10MFLOPS,只是处理器峰值速度的每小一部分。第5页,此课件共16页哦使用高速缓存改善延迟 n高速缓存是处理器与DRAM之间的更小但更快的内存单元。n这种内存是低延迟高带宽的存储器。n如果某块数据被重复使用,高速缓存就能减少内存系统的有效延迟n由高速缓存提供的数据份额称为高速缓存命
4、中率(hit ratio)n高速缓存命中率严重影响内存受限程序的性能。第6页,此课件共16页哦高速缓存第7页,此课件共16页哦缓存效果示例 继续考虑前一示例。在其中加入一个大小为32KB,延迟时间为1纳秒(或1个周期)的高速缓存。使用此系统来计算矩阵乘法,两个矩阵A和B的维数为32 32。之所以选择这个大小,是为了能够将A、B两个矩阵以及结果矩阵都放入高速缓存中。第8页,此课件共16页哦缓存效果示例n结果如下q将两个矩阵取到高速缓存中等同于取2K个字,需要大约200 s。q两个n n 的矩阵乘需要2n3 步计算。在本例中,需要64K步计算,如果每个周期执行4条指令,则需要16K个周期,即 16
5、 s。q总计算时间大约是加载存储时间以及计算时间之和,即200+16 s。q峰值计算速度为64K/216=303 MFLOPS。第9页,此课件共16页哦缓存的效果n对相同数据项的重复引用相当于“时间本地性(temporal locality)”n对于高速缓存的性能来说,数据的重复使用至关重要。第10页,此课件共16页哦内存带宽的影响n内存带宽由内存总线的带宽和内存部件决定。可以通过增加内存块的大小来提高带宽。n底层系统在 L时间单位内(L为系统的延迟)存取B单位的数据(B为块大小)第11页,此课件共16页哦内存带宽的影响示例n继续上一示例,将块大小由1个字改为4个字。同样考虑点积计算:q假定向
6、量数据在内存中线性排列,则在200个周期内能够执行8FLOPs(4次乘法-加法)q这是因为每一次内存访问取出向量中4个连续的字q因此,两次连续访问能够取出每个向量中的4个元素。q这就相当于每25ns执行一次FLOP,即峰值速度为40MFLOPS。第12页,此课件共16页哦内存带宽的影响n需要注意的是,增加块的大小,并不能改变系统的延迟。n物理上讲,本例中的情形可以认为是与多个存储区相连接的宽的数据总线(4个字,或者128位)n实际上,构建这样的宽总线的代价是昂贵的。n在更切实可行的系统中,得到第一个字后,连续的字在紧接着的总线周期里被送到内存总线。第13页,此课件共16页哦内存带宽的影响示例n
7、以上示例清楚地说明了增加带宽对于提高峰值计算速度的影响。n对数据布局的假设是,连续的数据字被连续的指令所使用(空间本地性,spatial locality)n如果以数据布局为中心,那么计算的步骤应该确保连接的计算使用连接的数据第14页,此课件共16页哦小结 n以上示例说阐述了如下概念:q利用应用程序的空间本地性与时间本地性对于减少内存延迟及提高有效内存带宽非常重要。q计算次数与内存访问次数的比是一个很好的预测内存带宽的承受程序的指标。q内存的布局以及合理组织计算次序能对空间本地性和时间本地性产生重大影响。第15页,此课件共16页哦实际测试2.93GHz Intel 处理器,1M高速缓存,512M主存(533MHz)第16页,此课件共16页哦