複数プロセッサを含むシステムオンチップ(SoC)であるMPSoCにおいて、主要部品となるカスタムプロセッサの設計期間短縮を目指し研究を行った。カスタムプロセッサはループ処理の高速化を担うことが多く、その設計期間短縮には、高位合成におけるループパイプライン化が鍵となる。ループパイプライン化の際、ループ処理のデータ依存グラフが循環グラフとなる場合が多いため、本研究ではその場合のカスタムプロセッサ自動生成技術に関する研究を行った。特に、ループ処理のデータ依存グラフにおける閉路中に配列間のRAW依存が含まれ、かつ、それらのRAW依存の発生が実行前に決定できない場合のループパイプライン化技術を検討した。 前年度は、RAW依存中の書き込みアクセスで書き込まれるデータをシフトレジスタにも保存し、さらに実行時にRAW依存が発生するかどうかをチェックし、発生する場合には、メモリではなくシフトレジスタを参照するようにループ処理を書き換えることで、ループパイプライン化の結果として生成されるカスタムプロセッサを高速化する技術を提案し、性能評価を行う環境を構築した。今年度は、前年度に提案した書き換え手順をアルゴリズム化し、自動で書き換えを行うプログラムを開発した。また、依存の発生が実行前に決定できない場合のループパイプライン化技術として、パイプラインをストールさせることで開始間隔の増大を防ぐ技術が最近提案されたため、本研究と比較を行い、本研究の優位性を明らかにした。本研究成果により、高位合成におけるループパイプライン化を熟知した技術者のみが人手で行えた手間のかかるコード最適化を自動化できたため、カスタムプロセッサの設計期間短縮を実現できた。
|