応用情報技術者 2018年 春期 午前2 問09
問題文
プロセッサの高速化技法の一つとして、同時に実行可能な複数の動作を、コンパイルの段階でまとめて一つの複合命令とし、高速化を図る方式はどれか。
選択肢
ア:CISC
イ:MIMD
ウ:RISC
エ:VLIW(正解)
プロセッサの高速化技法の一つとして、同時に実行可能な複数の動作を、コンパイルの段階でまとめて一つの複合命令とし、高速化を図る方式はどれか【午前2 解説】
要点まとめ
- 結論:複数の命令をコンパイル時にまとめて一つの複合命令として扱う方式は「VLIW」である。
- 根拠:VLIWはコンパイラが命令の並列性を解析し、複数の命令を束ねて一度に実行することで高速化を実現する。
- 差がつくポイント:ハードウェアではなくコンパイラが並列性を管理する点と、命令幅が非常に長いことが特徴で、CISCやRISCとは異なる設計思想である。
正解の理由
選択肢「エ: VLIW(Very Long Instruction Word)」は、複数の独立した命令を一つの長い命令語にまとめ、同時に実行する方式です。これにより、プロセッサは複数の命令を並列に処理でき、高速化が可能です。VLIWは命令の並列性の解析をコンパイラに任せるため、ハードウェアの複雑さを抑えつつ効率的な実行を実現します。
よくある誤解
- CISCは複雑な命令セットを持つが、命令の並列実行をコンパイル時にまとめる方式ではない。
- RISCは単純な命令を高速に実行する設計思想で、複合命令化とは異なる。
- MIMDは複数の命令を複数のプロセッサで同時に実行する並列処理の形態であり、命令の複合化とは別の概念である。
解法ステップ
- 問題文の「コンパイルの段階でまとめて一つの複合命令とする」点に注目する。
- 各選択肢の特徴を整理する。
- CISC:複雑な命令セット、ハードウェアで命令を分解。
- RISC:単純命令セット、ハードウェアで高速実行。
- MIMD:複数プロセッサによる並列処理。
- VLIW:コンパイラが命令を束ねて長い命令語を生成。
- コンパイル時に命令をまとめるのはVLIWのみであると判断する。
- 正解は「エ: VLIW」と確定する。
選択肢別の誤答解説
- ア: CISC
複雑な命令を持つが、命令の並列化はハードウェアが行い、コンパイル時にまとめる方式ではない。 - イ: MIMD
複数のプロセッサが独立して命令を実行する方式で、単一命令の複合化とは異なる。 - ウ: RISC
単純な命令を高速に実行する設計で、複合命令化は行わない。 - エ: VLIW
コンパイラが複数の命令を束ねて一つの長い命令語にし、同時実行を可能にする方式で正解。
補足コラム
VLIWは命令の並列性をコンパイラが解析して命令を束ねるため、ハードウェアの制御が簡素化されます。しかし、コンパイラの負担が大きく、命令の依存関係を正確に解析する必要があります。IntelのItaniumプロセッサなどがVLIWに近い設計を採用していますが、実用上は動的な命令並列化を行うスーパースカラ方式が主流です。
FAQ
Q: VLIWとスーパースカラの違いは何ですか?
A: VLIWはコンパイラが命令を束ねて並列実行を指示するのに対し、スーパースカラはハードウェアが動的に命令の並列実行を制御します。
A: VLIWはコンパイラが命令を束ねて並列実行を指示するのに対し、スーパースカラはハードウェアが動的に命令の並列実行を制御します。
Q: CISCとRISCの違いは何ですか?
A: CISCは複雑で多機能な命令セットを持ち、RISCは単純で高速な命令セットを持つ設計思想です。
A: CISCは複雑で多機能な命令セットを持ち、RISCは単純で高速な命令セットを持つ設計思想です。
関連キーワード: VLIW, コンパイラ最適化、命令並列化、プロセッサ高速化、複合命令

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

