ホーム > システムアーキテクト試験 > 2024年
システムアーキテクト試験 2024年 午前2 問21
プロセッサの高速化を図る手法であるスーパースカラの説明として、適切なものはどれか。
ア:互いに依存関係のない複数の命令を動的に並列実行する。(正解)
イ:同時に実行可能な複数の機能が埋め込まれた語長の長い命令を実行する。
ウ:パイプラインのステージを細分化する。
エ:一つの命令で同時に複数のデータの処理を行う。
解説
プロセッサの高速化を図る手法であるスーパースカラの説明【午前2 解説】
要点まとめ
- 結論:スーパースカラは依存関係のない複数命令を同時に動的に並列実行する技術です。
- 根拠:命令の独立性を利用し、複数の命令を同時に処理することで処理速度を向上させます。
- 差がつくポイント:スーパースカラは命令レベルの並列性を活用し、パイプラインの細分化やSIMDとは異なる概念です。
正解の理由
スーパースカラは、プロセッサ内部で複数の命令実行ユニットを持ち、互いに依存関係のない命令を同時に実行することで高速化を図る技術です。これにより、単一のクロックサイクルで複数命令を処理可能となり、命令スループットが向上します。選択肢アはこの特徴を正確に表現しています。
よくある誤解
スーパースカラは単に命令を細かく分割するパイプラインとは異なり、複数命令の同時実行を指します。また、SIMDのように一命令で複数データを処理する技術ではありません。
解法ステップ
- 問題文の「スーパースカラ」が何を指すかを確認する。
- スーパースカラの基本概念「複数命令の同時実行」を思い出す。
- 各選択肢の説明がスーパースカラの特徴に合致するかを検証する。
- 依存関係のない命令を動的に並列実行する選択肢を選ぶ。
- 他の選択肢がパイプラインやSIMDなど別技術であることを理解する。
選択肢別の誤答解説
- ア: 互いに依存関係のない複数の命令を動的に並列実行する。
→ 正解。スーパースカラの本質を正しく表現している。 - イ: 同時に実行可能な複数の機能が埋め込まれた語長の長い命令を実行する。
→ マルチマイクロ命令やVLIWに近い説明でスーパースカラとは異なる。 - ウ: パイプラインのステージを細分化する。
→ パイプラインの深度化を指し、スーパースカラとは別の高速化手法。 - エ: 一つの命令で同時に複数のデータの処理を行う。
→ SIMD(Single Instruction Multiple Data)技術の説明でスーパースカラではない。
補足コラム
スーパースカラは1980年代後半から普及し、現代の多くのCPUで採用されています。命令の依存関係を解析し、同時に実行可能な命令を選別するために複雑な制御回路が必要です。これに対し、VLIWはコンパイラが並列命令を決定し、SIMDはデータ並列処理に特化しています。
FAQ
Q: スーパースカラとパイプラインの違いは何ですか?
A: パイプラインは命令を段階的に処理する技術で、スーパースカラは複数の命令を同時に実行する技術です。両者は併用されることもあります。
A: パイプラインは命令を段階的に処理する技術で、スーパースカラは複数の命令を同時に実行する技術です。両者は併用されることもあります。
Q: スーパースカラはどのように命令の依存関係を判断しますか?
A: プロセッサ内部の制御ユニットが命令のデータ依存や制御依存を解析し、並列実行可能な命令を選択します。
A: プロセッサ内部の制御ユニットが命令のデータ依存や制御依存を解析し、並列実行可能な命令を選択します。
関連キーワード: スーパースカラ, 命令レベル並列性, パイプライン, SIMD, VLIW, プロセッサ高速化