平成22年度 春期 午前 問9
コンピュータ構成要素
VLIWの説明
プロセッサの実行効率を上げる,VLIW の説明はどれか。
- ア依存関係のない複数の命令を,プログラム中での出現順序とは異なる順序で実行する。
- イ各命令のフェッチ,デコード,実行,演算結果の出力などの各段階を並列に処理する。
- ウ同時に実行可能な複数の動作をまとめて一つの命令として,同時に実行する。
- エ複数のパイプラインを用いて複数の命令を同時に実行させる。
答えと解説を見る
✓ これが正解ウ同時に実行可能な複数の動作をまとめて一つの命令として,同時に実行する。
解説
同時に流せる動作を一つの長い命令に詰めます。
VLIW は Very Long Instruction Word の頭文字で、名前がそのまま仕組みを表しています。同時に実行できる複数の動作をコンパイラがあらかじめ見つけ出し、1 本の非常に長い命令語にまとめて詰め込んでおく方式です。実行時にはその長い命令語を取り出し、詰め込まれた動作を一斉に流します。プロセッサの実行効率を上げる工夫はほかにもありますが、いずれも誰がいつ並列を決めるのかが違うだけなので、そこを軸に並べ直すと混ざりません。正解は、同時に実行可能な複数の動作をひとつの命令にまとめて同時に実行する、という説明です。組合せの判断を作る側が事前に済ませてあるため、回路は詰め込まれたとおりに流すだけでよく、ハードウェアは簡単になります。その代わり、同時に流せる動作をコンパイラが見つけられないと命令語の中に空きが生まれ、せっかくの幅を使い切れません。
ほかの選択肢はなぜ違うのか
- ア依存関係のない複数の命令を,プログラム中…:これは回路が実行時に順番を組み替え、待たされている命令を追い越させる工夫の説明です。並べる順を決めるのが動かしている最中の回路である点で、事前に詰め込んでおく方式とは別のものです。
- イ各命令のフェッチ,デコード,実行,演算結…:これはパイプラインの説明です。1 本の命令を段に割って重ねているだけで、流れているのはあくまで 1 つずつの命令なので、複数の動作をひとつの命令語にまとめるという話ではありません。
- エ複数のパイプラインを用いて複数の命令を同…:これはスーパースカラの説明です。取り出した命令を同時に流せるかどうかを回路が動かしている最中に判断する点が異なり、命令語そのものを長くして詰め込む方式とは仕組みが違います。
出典:平成22年度 春期 応用情報技術者試験 午前 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)