论文部分内容阅读
数字信号处理器(Digital Signal Processing,简称DSP)在信号处理、数字通信领域具有很强的应用。现代高性能数字信号处理器大多数采用超长指令字(Very Long Instruction Word,VLIW)体系结构,通过在同一时钟周期发射多条指令以便获得更高的运算性能来发掘目标机器指令级别并行性。同一时钟周期发射指令条数的快速增加给硬件资源的带来很大需求压力,现代高性能数字信号处理器大多采用分簇体系结构来解决这一问题。这些都为编译器的移植和优化带来巨大的挑战。
BWDSP100是某所自主研制的高性能数字信号处理器,采用的多簇架构,支持超长指令字。本文的主要工作就是以IMPACT编译器为编译基础设施,结合BWDSP100的体系架构及其应用领域对编译器的优化技术进行研究。具体工作和贡献如下:
1.考量BWDSP100的多簇架构以及所支持特殊指令集合,结合编译指示策略,提示编译器后端进行相应的特殊指令合成优化。目前已经实现的基于编译指示的的特殊指令合成优化包括:
1)SIMD(单指令流多数据流)指令合成 。BWDSP100是4簇架构,可以通过同时在4个运算簇上对不同数据进行相同指令运算操作来发掘程序的SIMD特性,合成相应的SIMD指令。
2) BWDSP100芯片支持的特殊指令集合。如复数乘操作,一条特殊的复数乘法操作包含有4个简单乘法,我们可以根据编译提示在编译器后端进行相应的指令替换操作,合成相应的特殊操作指令。
2.针对多簇架构的软件流水调度优化。结合BWDSP100的多簇架构特点,统筹考虑分簇信息和流水调度算法,设计并实现了针对BWDSP100的软件流水调度框架。使用这些优化措施以后,编译器生成的汇编代码效率(时钟周期数)相对未优化之前有较好的提升。