平成13年度は、従来我々が発表してきたアプリケーションプログラムからプロセッサを設計する手法の検討を進め、アプリケーションプログラムを高級言語であるC言語で記述した場合に、コンパイラの技術を用いてC言語ソースプログラムを解析して基本ブロックに分割し各基本ブロックの並列度を抽出する手法を確立した。抽出した並列度とメモリとのパスおよびインプリメントするデバイスの制限を考慮してプロセッサの並列度を決定する。また各基本ブロックのクリティカルパスを優先して探索し連続する複数の演算を同時に行う複合命令を構成するかどうかを判断する。さらに、加算や乗算など各演算器のビット幅ごとのゲート数や遅延情報をデータベース化すると共に、MPEGで用いるDCTで使用される三角関数を用いた演算に必要な演算器のゲート数情報と遅延情報をデータベース化した。このデータベースを用いることでプロセッサ全体の回路規模およびレイテンシをクリティカルパスの情報と並列度を考慮して見積もることができるようになった。見積もりの結果、複合命令を実行する複合演算器をインプリメントすることでクロック数が減少するという利点と回路が複雑になることによりクロック周波数が低下するという欠点を共に考慮してプロセッサアーキテクチャを決定することができた。実際にいくつかの簡単なアルゴリズムに適用して本手法の有効性を確認すると共に画像フィルタのアルゴリズムに適用して動作を確認した。これらの結果はシステムLSIシンポジウムで発表した。現在、この手法を用いてMPEGを処理するアルゴリズム用のプロセッサを設計している。
|