随着集成电路工艺的发展,众核处理器体系结构逐渐成为计算机体系结构设计者的研究热点。众核体系结构通过任务级的并行来提升整个处理器的性能。然而,指令级的并行性仍然是众核设计者需要认真考虑的问题。对浮点运算效率和加速比进行了形式化描述,验证了进行指令级调度的必要性。对处理器核内流水线进行详细分析,指出了指令级调度的一般性问题。提出了在众核结构上使用指令级调度和软件流水的方法。针对Splash2程序集里的LU分解算法,使用众核结构的硬件支持,在Scratched Pad Memory(SPM)上给出了调度指令的方案。在众核仿真器Godson-T上仿真了经过指令级调度后的算法,当使用64个线程处理512×512的矩阵时,程序性能达到调度前性能的4倍。
With the development of the technology of integrated circuit,many-core architecture has become the research focus.The task level parallelism improves the performance of applications on many-core architecture.However,the instruction level parallelism is still the important issue that computer architectures designer must handle.The float efficiency and speedup were formalized and the necessity of instruction level scheduling was verified.The pipeline in the core was analyzed in details and the general problems of pipeline were pointed out.The instruction scheduling and software pipeline method were proposed.For the LU decomposition in Splash2,with the hardware support,the method on Scratched Pad Memory was simulated.The experiments show that the speedup can achieve 4 when the matrix is 512×512 and the number of threads is 64.