研究概要 |
作動時に再構成可能な演算チップのソフトウェア開発技術を研究する上で必要と考えられる基礎的な知見を得るため,現状の技術における問題点の洗い出しを目的とした作業を行なった. 通常,ソフトウェアで実現される応用問題の解法アルゴリズムをハードウェア記述言語を用いて記述し,両者の記述性に関する比較を行なうとともに,再構成可能デバイスの現行技術として利用可能なFPGA上に実際に回路を構成し,実行効率についても比較した.具体的には,制約充足問題をいくつか選び,C言語とVerilog-HDLによる記述の比較評価を行なった. 実験の結果,現行のFPGAでもCプログラムに対して100倍ほどの高速化が可能であり,ソフトアルゴリズムをハードウェア化することの有効性が実証できた.これは,主に制約式判定等においてソフトウェアでは繰り返し計算に基づくため長いステップ数を経るのに対し,ハードウェアにおいては同等の計算ステップが組み合わせ回路として全展開された形で実現でき,1クロックでの実行が可能となることによる. 記述の比較に関しては,Cプログラムにおける条件分岐と繰り返しの実行制御記述がVerilog-HDLにおいては状態遷移機械の記述に置き換わるほか,C言語においては多次元配列と制御変数によるデータ操作が可能なのに対し,Verilog-HDLにおいては高々1次元のビット列の単純レジスタしか扱えず,より高次の添え字については変域内のすべての具体値ごとにレジスタ名を設定し,同様の操作を何度も個別に記述しなければならない等,基本的なデータ構造と計算モデルの相違,延いては,記述に関わるユーザの負担増が著しいことが明らかとなった. 今後の課題として,上述のような現状のソフトウェア記述とハードウェア記述のギャップを埋めるための支援技術について研究を進めるとともに,回路の動的再構成を考慮した記述方式についての検討に入りたい.
|