応用情報技術者 2010年 春期 午前2 問09
問題文
プロセッサの実行効率を上げる、VLIWの説明はどれか。
選択肢
ア:依存関係のない複数の命令を、プログラム中での出現順序とは異なる順序で実行する。
イ:各命令のフェッチ、デコード、実行、演算結果の出力などの各段階を並列に処理する。
ウ:同時に実行可能な複数の動作をまとめて一つの命令として、同時に実行する。(正解)
エ:複数のパイプラインを用いて複数の命令を同時に実行させる。
プロセッサの実行効率を上げる、VLIWの説明はどれか【午前2 解説】
要点まとめ
- 結論:VLIWは複数の同時実行可能な命令を一つの命令語にまとめて同時実行する方式です。
- 根拠:VLIWはコンパイラが命令の並列性を解析し、複数命令を束ねて一括実行させることで効率化を図ります。
- 差がつくポイント:命令の並列実行をハードウェアではなくコンパイラが管理する点が特徴で、スケジューリングの役割分担を理解することが重要です。
正解の理由
ウは「同時に実行可能な複数の動作をまとめて一つの命令として、同時に実行する」とあり、VLIWの本質を正確に表しています。VLIWはVery Long Instruction Wordの略で、複数の命令を一つの長い命令語にまとめて同時に実行するアーキテクチャです。これにより、命令レベルの並列性を高め、実行効率を向上させます。
よくある誤解
- VLIWはハードウェアが命令の並列性を動的に判断するのではなく、コンパイラが静的に並列命令を束ねる方式です。
- パイプラインやアウトオブオーダ実行と混同しやすいですが、VLIWは命令の束ね方が異なります。
解法ステップ
- VLIWの意味(Very Long Instruction Word)を確認する。
- 命令の並列実行方法がコンパイラ主導かハードウェア主導かを区別する。
- 選択肢の説明がVLIWの特徴に合致しているかを検証する。
- 「複数命令を一つの命令語にまとめて同時実行」がある選択肢を選ぶ。
選択肢別の誤答解説
- ア: 依存関係のない命令を出現順序と異なる順序で実行するのはアウトオブオーダ実行の特徴であり、VLIWとは異なります。
- イ: 命令のフェッチから実行までの各段階を並列処理するのはパイプライン処理の説明です。
- ウ: 正解。複数の命令をまとめて一つの命令として同時に実行するVLIWの特徴を正しく表現しています。
- エ: 複数のパイプラインを用いて複数命令を同時実行するのはスーパースカラー方式の説明です。
補足コラム
VLIWはコンパイラが命令の並列性を解析し、依存関係のない命令を束ねて一つの長い命令語として生成します。これによりハードウェアの複雑な制御回路を簡素化できる一方、コンパイラの性能に依存するため、最適化が難しい面もあります。近年はVLIWの考え方を応用したDSPや組み込みプロセッサで採用されています。
FAQ
Q: VLIWとスーパースカラーの違いは何ですか?
A: VLIWはコンパイラが命令を束ねて同時実行させるのに対し、スーパースカラーはハードウェアが動的に命令を並列実行します。
A: VLIWはコンパイラが命令を束ねて同時実行させるのに対し、スーパースカラーはハードウェアが動的に命令を並列実行します。
Q: VLIWはなぜコンパイラに依存するのですか?
A: 命令の並列性を解析し、依存関係を考慮して命令を束ねる処理をコンパイラが行うためです。
A: 命令の並列性を解析し、依存関係を考慮して命令を束ねる処理をコンパイラが行うためです。
関連キーワード: VLIW, 命令レベル並列性、コンパイラ最適化、スーパースカラー、アウトオブオーダ実行、パイプライン

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

