首页> 外文期刊>情報処理学会論文誌 >並べ替え命令を考慮したSIMD命令を有するプロセッサのためのコード最適化手法
【24h】

並べ替え命令を考慮したSIMD命令を有するプロセッサのためのコード最適化手法

机译:考虑重排指令的具有SIMD指令的处理器的代码优化方法

获取原文
获取原文并翻译 | 示例
           

摘要

近年,SIMD命令は組み込みプロセッサで実装され,マルチメディア向けアプリケーション処理において広く用いられている.SIMD命令は1レジスタ内に詰められた複数個のデータに対して同一の演算を実行する.一方,並べ替え命令は,異なる2つのレジスタそれぞれからデータを取り出し,1レジスタ内にデータを並べ替えて格納する,並べ替え命令を適切に使用することで演算の並列性を活用してより効率的にSIMD命令を利用できる.しかし,SIMD命令や並べ替え命令を効率的に利用するコンパイラのコード生成技術は,まだ発展途上である.本稿では,2並列のSIMD命令を対象とし,並べ替え命令を活用してSIMD命令をより効果的に利用するコード生成手法を提案する.提案手法では,並べ替え命令を扱えるようにコード選択問題を拡張する.コード選択問題は整数線形計画問題に定式化して解く.並べ替え命令を扱うことによって,最適なデータの並べ替えを行ってSIMD命令を効率的に利用するコードが生成される.評価実験では,提案手法は並べ替え命令を利用しない場合と比較して,最適化対象のベーシックブロックにおいて,生成するアセンブリコード行数をおよそ30%,実行サイクル数を20%削減することが確認された.%Recently, SIMD insturctions are often implemented in embedded proccessors and widely used for processing multimedia applications. SIMD instructions perform same operations on each data packed in one register. On the other hand, permutation instructions take some data from two registers and, perrmrtate and store them into one register. Using permutation instructions to increase the parallelism adequately, high performance can be lead by exploiting SIMD instructions. However, the code generation methodology to make the best use of SIMD insturctions has not been seen established in compilers. This paper proposes a code selection method for SIMD instructions with permutation instructions. In the proposed method, the code selection problem is extended to handle permutation instructions. Additional nodes are added DAGs which represent data flow in a basic block, then permutation instructions are assigned to the additional nodes. The code selection problems are formulated into integer programing problem and solved by IP solver, so the optimal assembly code exploiting SIMD insturctions can be obtained. Experimental results show that the proposed method reduced the code size by 20.5% and the execution cycles by 23.6% or more, comparing to the method without permutation instructions.
机译:近年来,SIMD指令已在嵌入式处理器中实现,并广泛用于多媒体应用程序处理中。 SIMD指令对打包在一个寄存器中的多个数据执行相同的操作。另一方面,重排指令从两个不同的寄存器中的每一个检索数据,将数据重排到一个寄存器中,并将其存储在一个寄存器中。 SIMD指令可用于。但是,仍在开发有效使用SIMD指令和重排指令的编译器的代码生成技术。在本文中,我们提出了一种代码生成方法,该方法通过对两个并行SIMD指令使用重排指令来更有效地使用SIMD指令。所提出的方法将代码选择问题扩展到处理重排指令。码选择问题被表述并解决为整数线性规划问题。通过处理重排指令,可以生成最佳地重排数据并有效使用SIMD指令的代码。在评估实验中,证实了与不使用重排指令的情况相比,该方法在要优化的基本块中将生成的汇编代码行数减少了约30%,将执行周期的数量减少了20%。它是。最近,SIMD指令通常在嵌入式处理器中实现,并广泛用于处理多媒体应用程序.SIMD指令对封装在一个寄存器中的每个数据执行相同的操作;另一方面,置换指令从两个寄存器中获取一些数据,然后对它们进行存储和存储通过使用置换指令来充分提高并行度,可以通过利用SIMD指令来实现高性能,但是在编译器中尚未找到充分利用SIMD指令的代码生成方法。具有置换指令的SIMD指令的代码选择方法。在该方法中,代码选择问题扩展到处理置换指令。在附加节点上添加了代表基本块中数据流的DAG,然后将置换指令分配给其他节点。代码选择问题被表述为整数程序实验结果表明,与没有置换的方法相比,该方法可将代码大小减少20.5%,并将执行周期减少23.6%以上,从而获得最佳的利用SIMD指令的汇编代码。说明。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号