论文部分内容阅读
现代超标量处理器普遍采用激进的乱序执行技术,多条指令在处理器中同时乱序执行,使得只有部分指令处于关键路径上,对这部分指令鉴别和优化成为认识和突破现代处理器性能瓶颈的关键技术之一。指令关键性研究建立在程序相关图和关键路径分析基础之上,通过分析对程序执行时间有贡献的指令和微事件,揭示微处理器的性能瓶颈和程序特性,从而指导处理器优化设计。本文研究了Fields程序相关图模型,构建了一种用以描述程序在分簇超标量处理器中执行的相关图模型,分析并实现了基于固定窗口的在线程序关键路径分析框架,并对该框架的有效性进行了验证。然后,论文提取了指令关键性信息,针对使用二值以及关键可能性(LoC,likelihood of criticality)度量的指令关键性信息,分别采用熵以及统计方法对指令关键性的特性进行了研究,研究表明,使用二值度量的指令关键性具有极大的与历史无关的随机性,而使用LoC度量的指令关键性则存在一定的结构无关和动态不变性。根据发现的指令关键性特性,本文提出了一种静态LoC关键性预测器设计方法,该方法通过Profile提取指令LoC并将其载入预测器,处理器使用载入的LoC来对指令执行进行优化。最后,本文研究了关键性预测在提升分簇超标量处理器性能方面的应用。针对簇内资源竞争和簇间通信开销对性能的影响,分别使用关键性预测来指导指令调度和分派。研究表明,基于关键性预测的指令调度能有效地提升程序性能,使用本文开发的静态LoC预测器能够获得与动态预测器相同的性能提升,在4x2、2x4和1x8处理器结构下,该静态预测器使程序性能平均提升2.9%、4.1%和5.3%。针对指令分派停顿,提出了一种使用处理器执行关键模式的分派停顿方法,实验结果表明,在改进的分派算法中,使用处理器执行关键模式的分派停顿能有效地提升整型程序的性能:当不使用基于关键性预测的指令调度时,在4x2、2x4、1x8结构下,该方法使整型程序性能平均提升2.7%、3.0%和4.3%;在使用基于关键性预测的指令调度时,整型程序性能的平均提升分别为3.2%、4.7%、7.3%。