论文部分内容阅读
“存储墙”问题是当前限制处理器性能提高的一个主要因素,而多核处理器的出现不仅没有解决这个问题,反而对存储系统带来了更大的挑战。如何减少存储器访问延迟对计算机性能的影响是计算机系统设计者无法回避的问题。长期以来,处理器设计者一直致力于提高处理器的指令级并行,利用处理器的计算时间来隐藏存储器访问延迟。但随着处理器和存储器之间性能差距的不断扩大,处理器的计算时间已经无法满足隐藏访存延迟的需要,处理器必须停顿等待存储器访问返回的结果,从而出现处理器的计算时间被访存请求打断成很多个计算阶段的现象,并且处理器等待存储器访问时间占整个程序执行时间的比重越来越大。借鉴指令级并行的思想,人们开始思考如何将多个长延迟外部访存重叠执行,从而形成了存储级并行(Memory-level parallelism,MLP)的思想。存储级并行技术通过多个存储器访问重叠执行来隐藏存储器访问延迟,以减少处理器因存储器访问而停顿的时间,提高处理器的性能。存储级并行已经成为当前计算机体系结构研究的一个新热点。本文在对现有存储级并行技术深入分析及系统研究的基础上,首先通过建立支持存储级并行的系统性能分析模型,研究了存储级并行系统的基本特征。并从存储级并行指令流出、存储级并行访存通路及存储级并行服务三个方面对存储级并行技术展开了研究,通过改进CPU微体系结构来提高存储级并行访存指令流出的能力;通过对多核处理器共享Cache失效处理结构的管理提高存储级并行通路的效率;通过优化访存指令调度来提高存储级并行访存请求服务的能力。本文的主要工作和取得的创新性成果如下:(1)提出了支持存储级并行的系统性能分析模型从微处理器和存储结构两个方面分别建立了支持存储级并行系统的性能分析模型。微处理器性能模型(MLP-CM)刻画了存储级并行与系统性能之间的关系,可以有效的评价存储级并行系统的性能、Cache失效处理结构的占用数目、存储级并行度、平均访存延迟等系统参数。实验结果表明:MLP-CM模型可以较准确的预测系统性能。存储器分析模型(MLP-MM)刻画了多级Cache的失效处理器结构占用数目之间的关系,及多级Cache失效处理结构占用数目与CPU访存请求能力之间的关系。以两级Cache为例,证明了在当前Cache和存储器的访问延迟情况下,两级Cache失效占用的失效处理结构数目是相近的。(2)提出了Runahead执行指令流出优化技术ERARunahead执行技术是一种有效提高存储级并行的方法,在处理器因长延迟访存而停顿时,处理器建立检查点,并进入Runahead执行阶段,预执行后继所有指令,当长延迟访存结果返回时,处理器恢复到正常执行状态,从检查点重新开始执行。Runahead技术因在预执行过程中执行了大量与访存指令无关的指令,大大增加了处理器的能量消耗。针对该问题,本文提出了一种减少Runahead执行无效指令的方法(ERA),对于浮点程序,较之常规的Runahead执行技术,该方法能够减少30%以上的无效指令的执行。(3)提出了一种面向存储级并行的多核处理器共享Cache失效处理结构管理方法MLP_Group在多核处理器中,所有的处理器核通过共享的Cache失效处理结构(MHA)访问外部存储器。由于处理器核对共享资源MHA的访问冲突问题,影响了处理器核线程的存储级并行性及各线程间的公平性。针对该问题,提出了一种支持存储级并行的共享Cache失效处理结构管理方法(MLP_Group)。该方法在保证系统公平性的前提下,可以有效的挖掘线程内部固有的存储级并行性,从而提高系统性能。与传统的MHA相比,MLP_Group方法平均IPC提高7.1%,公平性提高23.6%。(4)提出了一种提高存储并行服务能力的基于虚通道的访存请求调度方法VC-MAS针对存储级并行需要提高存储器并行服务能力的问题,提出了一种基于虚通道的SDRAM访存调度方法(VC-MAS),该方法可以充分利用存储器的带宽,提高存储器存储体之间的并行服务能力。