论文部分内容阅读
随着半导体技术和计算机体系结构技术的发展,分片式处理器逐渐成为多核领域的一个发展方向。分片式处理器有效解决和缓解了线延迟、功耗、可扩展性等现代处理器面临的主要问题。本文研究工作围绕一款典型的分片式处理器TPA-PI展开。TPA-PI采用了全局控制流和局部数据流相结合的类数据流执行模型,将程序划分成单入口、多出口的超块结构,超块之间维护控制依赖关系,超块内部采用数据流驱动的方式执行以开发指令级并行性。这种分片式处理器结构上的类数据流执行模型对编译器提出了更多的要求,指令调度器作为该处理器编译系统的重要组成部分,是完成软硬件协同设计提高程序性能的关键。
本文围绕分片式处理器TPA-PI,分析影响指令调度的各种因素,设计并实现适用于TPA-PI结构的指令调度器,并通过量化分析的方法对指令调度算法进行改进。
论文的主要研究内容和成果包括以下几个方面:(1)研究了TPA-PI处理器结构和程序执行模型,针对TPA-PI的DISC-I指令集和程序表示方式特点,设计并实现了TPA-PI处理器的指令调度器。TPA-PI指令调度器采用启发式方法将程序以超块为单位映射到处理器单元阵列上,在映射时要综合考虑超块内指令级并行性和硬件资源的利用率之间的关系。(2)对影响程序执行性能的因素进行量化分析,包括关键路径、负载平衡、数据局部性、寄存器指令、锚点指令、加权路径和平均路径、片上网络等,衡量这些参数对程序执行性能的影响(3)提出了两种启发式函数的指令调度算法:AVBLON和ARBLON算法。AVBLON算法将锚点指令(A)、加权路径信息(V)、负载平衡(B)、数据局部性(L)、寄存器依赖(O)、片上网络(N)等参数加入到启发式函数中。实验表明,基于AVBLON启发式指令调度器比基于贪心算法的调度器的程序性能提高了28%。ARBLON算法通过使用平均路径参数代替加权路径参数解决了必须由程序剖析信息得到加权路径参数的问题,对程序性能也有显著提升。
本文的研究工作为TPA-PI提供了可用的指令调度器,为处理器开发更多的指令级并行性提供帮助。实验得到的结果也可以指导编译系统设计者和处理器结构设计者对编译系统和处理器结构进行进一步优化。