平成28年度 秋期 午前 問11
コンピュータ構成要素
VLIWの説明
プロセッサの実行効率を上げる VLIW の説明はどれか。
- ア依存関係がない複数の命令を,プログラム中での出現順序とは異なる順序で一つずつ実行する。
- イ各命令のフェッチ,デコード,実行,演算結果の出力などの各段階を並列に処理する。
- ウ同時に実行可能な複数の命令をまとめて一つの命令として,同時に実行する。
- エ複数のパイプラインを用いて複数の命令を同時に実行させる。
答えと解説を見る
✓ これが正解ウ同時に実行可能な複数の命令をまとめて一つの命令として,同時に実行する。
解説
同時に実行できる命令を1本にまとめて実行します。
VLIW は、とても長い命令語という言葉の頭文字を並べた呼び名です。名前がそのまま仕組みを言い当てていて、同時に実行できる複数の命令をあらかじめ1本の長い命令に詰め込み、それをまとめて実行します。ここで大事なのは、詰め込む仕事をいつ誰がやるかです。VLIW では翻訳の段階、つまりコンパイラが並べ方を決めます。走り始めてからプロセッサが依存関係を調べて並べ替える必要がないので、その判断に使う回路を省けて、実行効率を上げやすくなります。似た仕組みを見分けるときは、同時という語の中身を三つに分けて考えると整理できます。一つの命令を段階に割って段を重ねるやり方、その段の列を複数並べて別々の命令を同時に走らせるやり方、そして命令そのものを1本にまとめてしまうやり方です。最後の一つがこの設問の答えで、分かれ目は、誰がいつ並列の可否を決めるかにあります。
ほかの選択肢はなぜ違うのか
- ア依存関係がない複数の命令を,プログラム中…:依存のない命令を出現順とは違う順序で走らせる方式の説明です。判断は走りながら行いますが、文中に一つずつ実行するとある以上、まとめて同時に走らせる話とは別物です。
- イ各命令のフェッチ,デコード,実行,演算結…:取り出し、解読、実行、結果の書き出しといった段階を重ねて流す方式の説明です。段の数だけ作業が重なるので効率は上がりますが、入ってくる命令は1本ずつのままです。
- エ複数のパイプラインを用いて複数の命令を同…:段の列を複数そろえ、別々の命令を同時に走らせる方式の説明です。同時に複数という点まで同じなので最も紛らわしく、分かれ目は、命令が1本に束ねてあるか、別々のまま並ぶかにあります。
出典:平成28年度 秋期 応用情報技術者試験 午前 問11
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)