平成30年度 春期 午前 問9
コンピュータ構成要素
コンパイルに関する問題
プロセッサの高速化技法の一つとして,同時に実行可能な複数の動作を,コンパイルの段階でまとめて一つの複合命令とし,高速化を図る方式はどれか。
- アCISC
- イMIMD
- ウRISC
- エVLIW
答えと解説を見る
✓ これが正解エVLIW
解説
並列にする相手をコンパイルの段階で決めるのが VLIW です。
設問は、同時に実行可能な複数の動作を、コンパイルの段階でまとめて一つの複合命令とし、高速化を図る方式を尋ねています。四つの略語は指している層がばらばらなので、並列処理をいつ誰が決めるのかという一点で仕分けると迷いません。設問が指定しているのはコンパイルの段階、つまりプログラムを実行する前です。実行する前に同時に走らせられる動作を探し出し、一本の長い命令に詰め込む方式が VLIW です。並列にできる相手を探す仕事をコンパイラが引き受けるので、実行時にハードウェアが調べるための回路を持たずに済み、そのぶん構成を簡単にできます。裏返せば、同時に走らせる相手が見つからない部分には、何もしない動作を詰めて長さをそろえることになります。並列処理をいつ決めるのか、それとも命令一本の作り方の流儀なのか。ここが分かれ目です。
ほかの選択肢はなぜ違うのか
- アCISC:命令一本を複雑で高機能に作るという設計の流儀です。複合命令という字面は最も近く見えますが、指しているのは設計者があらかじめ用意した一本の命令であって、複数の動作をまとめた結果ではありません。
- イMIMD:複数の命令の流れが複数のデータを扱う形を表す分類上の呼び名です。プロセッサを何台並べるかという外側の話であり、プロセッサの内部で命令をどう束ねるかという工夫ではありません。
- ウRISC:命令を単純で少数のものにそろえ、一本あたりの処理を速くする設計の流儀です。命令を減らす方向の考え方であり、複数の動作を一本に詰め込むという向きとはちょうど逆になります。
出典:平成30年度 春期 応用情報技術者試験 午前 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)