2002 Fiscal Year Annual Research Report
計算資源とメモリアクセスを同時に考慮したDSPコード最適化とコンパイラへの応用
Project/Area Number |
13650398
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
杉野 暢彦 東京工業大学, 大学院・総合理工学研究科, 助教授 (60242286)
|
Co-Investigator(Kenkyū-buntansha) |
西原 明法 東京工業大学, 教育工学開発センター, 教授 (90114884)
|
Keywords | 信号処理プロセッサ / コンパイラ / 間接メモリアドレッシング / 自動修飾更新操作 / 計算順序スケジュール |
Research Abstract |
ディジタル信号処理プロセッサ(DSP)では、効率的なプログラムコードを自動的に生成・最適化できるコンパイラ技術が嘱望されている。通常は、計算順序の変更などによりレジスタと演算器などの計算資源を有効活用する方法が一般的である。しかしながら、DSPでは間接アドレッシングと自動修飾更新機構により簡単なメモリアクセスを効率化できるが,逆にこの機構を十分に活用できない場合は等価的にオーバーヘッドが生ずることになる。このオーバーヘッドは変数のアドレス配置の工夫により抑えることができる。本研究では、レジスタとメモリを演算引数としてとれる命令セットのDSPにおいて,アドレスレジスタ(AR)による間接アドレッシングを仮定し、計算順序と変数アドレスの両面を考慮した最適化によりコード化効率の改善を図っている。 提案するDSPコンパイラでは、計算順序決定の自由度を高めるために、従来よりもコードに近い細かい中間コード表現を用いてで計算順序決定・コード生成を行う。また,レジスタ割り当てとコード生成が終了した後にレジスタ割り当ての結果を利用して計算順序を再決定する構成をとる。まず、データフローグラフ(DFG)中の各変数値の参照・定義回数によって値を保持すべき変数を調べ,これを考慮した計算順序決定及びレジスタ割当を行い,その後のコード生成,メモリ配置により,得られたメモリアクセス順序についてのオーバーヘッドコード数がわかる。次に、メモリに格納された変数値データを参照する中間コードについて実行順序の交換を逐次試行し,計算順序の再決定を行う.このとき,得られた計算順序についてはコード生成を再度行い、オーバーヘッド数を評価する.この操作を全ての実行順序が交換可能な中間コードについて行い,オーバーヘッドが最良となる計算順序交換の組合せを求める。 実際に提案手法を仮定したDSPに近いμPD77230を対象としたコンパイラに適用し,いくつかの例題についてのコード生成結果から,コード効率の向上並びにメモリアクセスに伴うオーバーヘッドの低減を確認している。
|
Research Products
(3 results)
-
[Publications] 宮原 健, 金子 雄平, 杉野 暢彦, 西原明法: "計算順序とメモリアクセスを同時に考慮したDSPコード効率化"電子情報通信学会技術研究報告. DSP2002-36. 35-40 (2002)
-
[Publications] Y.Kaneko, N.Sugino, A.Nishihara: "Memory Allocation Method for Indirect Addressing with an Index Register"Proceedings of Asia-Pacific Conference on Circuits and Systems. I. 199-202 (2002)
-
[Publications] 金子雄平, 杉野暢彦, 西原明法: "インデックス修飾更新に有効なアドレス配置手法"第17回ディジタル信号処理シンポジウム講演論文集. (CDROM). B2-2 (2002)