細粒度並列プロセッサとしてVLIW(超長命令語)プロセッサが有力であるが、(1)実行タイミング変動による性能低下、(2)不使用命令や最適化によるコード量増加、という問題があり、上記2要件を満たさない。そこで、VLIWを実行時にプロセッサ内で再構成することにより次点(1)(2)を解決することを目指した、要素プロセッサアーキテクチャV++を提案した。V++では、命令を再構成する方式として、規定型再構成と適応型再構成という2種類の方式を採用している。規定型再構成はコンパイラが指定した遅延サイクル数分の操作の個別遅延により行われる。これにより操作の実行順序を基本ブロックを越えて入換えられるので、基本ブロック間のオーバラップ実行が達成できる。適応型再構成は、各操作に埋め込まれたタグを用いて依存関係を動的に解決するものである。これにより、プログラムの小並列部分を埋めていた不要なNOPの除去が実現される。また、ユニットへの操作の割当てはコンパイラが行うが操作流間依存関係は高速なハードウェア同期機構が保証するので、実行時間の動的変動による他実行ユニットに対する影響を抑制できる。また、V++に関するソフトウェア側からのアプローチとして、バリアスケジューリング、及び、非均質並列プロセッサ用プログラムの実行時間の下界について研究を行った。バリアスケジューリングとは、V++に特徴的なソフトウェア技法であり、操作のユニット割り付けを行った後に、適応型再構成のために採用したバリア領域を効率的に設定する手法のことをさす。一方、そのようなV++に対するそのような技法も含めたスケジューリング方式自体の評価のために、従来使用されてきたFernandezの下界を上回る精度を有する下界計算式を考案し評価した。
|