节点文献

支持SIMD的DSP编译优化技术的研究与实现

Research and Implementation of DSP Compiler Optimizing Technology in Support of SIMD

【作者】 赵常智

【导师】 刘春林;

【作者基本信息】 国防科学技术大学 , 计算机科学与技术, 2005, 硕士

【摘要】 与传统的DSPs相比,现代DSPs采用了更多的ILP技术以提高性能。同时,为了适应媒体处理的特殊需要,现代的DSPs在硬件的设计方面的一个普遍的特征就是引入了SIMD指令。这就使得低精度的媒体数据的快速处理成为可能。一个真正的高性能、低功耗的系统,不仅要有良好的硬件支持而且更重要的是要有一个能够充分利用这些硬件特征的优化的软件系统。编译器作为这个软件系统中最重要的一环,其性能的优劣将直接影响系统的整体性能。但目前的编译技术却不能很好的提供对SIMD指令的支持,所以本文就深入的研究了支持SIMD指令的编译优化技术,取得了如下的一些研究成果。 1.提出了一套完整的支持SIMD指令的代码选择技术的实现框架。该框架使得代码选择面向基本块,而不再是语句,扩大了指令注释的搜索空间,产生了SIMD指令。同时采用机器描述来刻画目标机器指令集,使得代码选择中与机器相关的部分局限于机器描述中,提高了代码选择的灵活性和可移植性。 2.设计并实现了一种基本块的数据流图(DFG)表示,这种表示既能充分表达Lcode语义又比较适合模式匹配算法。传统的代码选择技术往往基于的是数据流树(DFTs)的中间表示,这也正是其不能很好的支持SIMD指令的一个重要原因。同时为了借鉴模式匹配的思想,在这里还实现了从DFG到DFTs的转化。 3.采用一种树文法描述了目标机器的指令集,并对其进行预处理,使其转化为相应的指令模板。树文法为目标机器指令集的描述提供了一种易读、易写、易修改的方式,同时通过预处理隐藏了机器描述的细节,为编译的树匹配过程提供了统一的接口。 4.改进了传统的树匹配和动态规划算法。使得其在匹配每棵输入树时,不再是产生唯一的最优覆盖,而是产生多个可选的最优覆盖。为整数线形规划从全局角度最终确定最优覆盖做准备。 5.采用了整数线形规划的方法解决了最终的最优覆盖的选择问题。在充分考虑最终覆盖的正确性和有效性的情况下,提取出其所应满足的一系列约束及相应的目标方程,该方程的最大解即表示最终将产生的SIMD指令的数目。

【Abstract】 Compared with traditional DSPs, modern DSPs use more ILP technologies to improve their performance. Meanwhile, in order to meet the special need of media processing, modern DSPs have a common characteristic in the hardware designing and implementation - SIMD. So it is possible that the lower precision media data is processed quickly, a true system which is higher performance and lower power consumption needs not only good hardware supporting but also optimized software that may make full use of the hardware. Beside others , compiler is the most important element. Its performance will influent the total performance of the entire system directly. But current compiler doesn’t have the ability to support these SIMD instructions smoothly. So in this thesis, we do a deep research on compiler optimizing techenology which is support of SIMD, making main contributions as follows.1.A whole implementation framework of code selection which is support of SIMD has been advanced. The framework makes code selection not face single statement but a basic block., expanded the searching space of code selection generated the instructions of SIMD. Meanwhile,the instruction set of target machine is characterized by machine description. It makes the part that is dependence of machine be constrained to machine description and makes the code selector more flexibility and retargetability.2.A DFG representation of basic block is designed and implemented, the representation not only expresses the semantic of Lcode sufficiently but also adapts to the need of tree matching algorithm. The traditional code selection thechnology is always based on the middle representation of DFT. This is one of main reasons that it can not suppot of SIMD.3.A tree grammar is used to describe the instruction set of target machine,the description is preprocessed to generate the corresponding instruction template. The tree grammer provides a way that is easy to read, modify and write for the description of target instruction set.meanwhile,hiding the detail of the description through preprocess module,so providing the general interface for process of tree matching.4.Improved on the traditional tree matching with dynamic programming algorithm. For each subject tree,it generates not a single optimizing cover but many alternative covers. This step makes a good foundation for integer linear programming which is

  • 【分类号】TP314
  • 【被引频次】1
  • 【下载频次】104
节点文献中: 

本文链接的文献网络图示:

本文的引文网络