论文部分内容阅读
高性能通用微处理器是计算机系统中的核心部件,使用范围从个人电脑覆盖到超级并行计算机。对于当前软件中占主要部分的串行程序而言,微处理器主要依靠开发程序的指令级并行(ILP)来提高性能。随着片上集成度的不断提高,在单个芯片上集成10亿个晶体管的时代即将来临。在这种情况下,再增加动态指令窗口的体积和发射宽度将无助于高主频的实现,难以开发更高的ILP,获得整体性能的提升。 前瞻多线程结构(SMA)结合了前瞻性执行机制和多线程执行机制,以整个线程为步长进行前瞻性执行,多个线程并行执行,并且共享处理器硬件资源。已有的研究表明该结构能够发出程序中混合并行性,达到较高的资源利用率,是一种很有前途的新体系结构。 本文在全面深入地研究了国际上提出的多种多线程结构及其相关编译优化技术的基础上,结合前瞻多线程结构SMA的执行机制,研究了针对SMA结构的编译优化技术,实现了一个面向SMA结构的编译优化框架SMARCOF。主要的工作与创新点包括: 1 研究了SMA结构各种主要程序结构的适应性和性能优化特性,确定了SMA模型的关键性能要素:现场间负载不均衡、线程间控制前瞻失效与线程间数据前瞻失效。 2 为SMA前瞻执行优化设计了一组启发式优化规则,包括线程优化划分策略、现场间负载均衡策略以及类DEE优化的前瞻执行映射策略。 3 针对多线程模式下访存负荷加重的问题,为SMA模型设计了软硬件协同预取机制,并为SMA模型设计了Cache Filter来消减无效预取。 4 研究了基于动态轮廓信息的软硬件联合持续优化机制,并在DLX模拟器的基础上设计并实现了一个完整的指令级模拟平台和基于上述优化规则的编译框架SMARCOF。基于SPEC代码的模拟表明该方式能够有效的挖掘系统的潜力,实现深度的指令级并行和线程级并行开发。 综合来说,SMA结构是一个很有潜力的方向,而基于反馈信息的持续优化方式配合正确的启发式优化规则能够很好的挖掘SMA结构的潜力,将体系结构优势转化为现实的执行性能。值得在这个方面做进一步的研究。