パイプライン・スーパースカラ・投機実行(情報処理安全確保支援士対策)
■ ① パイプライン
● パイプラインとは
説明
命令実行を複数の段階(フェッチ・デコード・実行など)に分けて、重ねて処理する技術。
● イメージ
- 命令1:実行
- 命令2:デコード
- 命令3:フェッチ
→ 同時並行で進む
● 特徴
- スループット向上
- 1命令あたりの処理時間(レイテンシ)は基本変わらない
● ハザード(問題点)
データハザード
前の命令の結果待ち
制御ハザード
分岐命令による遅延
構造ハザード
ハードウェア資源の競合
問題
パイプラインの説明として適切なものはどれか?
A. 命令を順番に1つずつ処理する
B. 命令を段階に分けて重ねて処理する
C. メモリ容量を増やす
D. クロックを停止する
答え:B
問題
パイプラインの効果として適切なものはどれか?
A. レイテンシの短縮
B. スループットの向上
C. メモリ削減
D. 電力削減
答え:B
問題
分岐命令によって発生する問題はどれか?
A. データハザード
B. 制御ハザード
C. 構造ハザード
D. メモリハザード
答え:B
■ ② スーパースカラ
● スーパースカラとは
説明
複数の命令を同時に実行する技術。
● 特徴
- 複数の実行ユニット
- 命令レベル並列性(ILP)を利用
- パイプラインと併用されることが多い
● ポイント
- 同時に複数命令を実行できる
- 依存関係があると並列化できない
問題
スーパースカラの説明として適切なものはどれか?
A. 命令を分割して処理する
B. 複数命令を同時に実行する
C. メモリを圧縮する
D. クロックを下げる
答え:B
問題
スーパースカラの特徴として適切なものはどれか?
A. 必ずすべての命令を並列実行できる
B. 命令の依存関係に影響される
C. メモリ容量が増える
D. 分岐が不要になる
答え:B
■ ③ 投機実行
● 投機実行とは
説明
分岐結果を予測し、実際の結果が確定する前に命令を先に実行する技術。
● 特徴
- 分岐予測を利用
- 予測が外れると処理を破棄してやり直す
● 目的
- パイプラインの停止を防ぐ
- 性能向上
問題
投機実行の説明として適切なものはどれか?
A. 命令を保存する
B. 分岐を待ってから実行する
C. 分岐を予測して先に実行する
D. メモリを増やす
答え:C
問題
投機実行に関する説明として適切なものはどれか?
A. 常に正しい結果になる
B. 予測が外れると再実行する
C. 処理時間が必ず増える
D. 並列処理はできない
答え:B
■ ④ 3つの関係
- パイプライン:処理の流れを重ねる
- スーパースカラ:複数命令を同時実行
- 投機実行:分岐を予測して先行処理
● イメージまとめ
- パイプライン → 流れを効率化
- スーパースカラ → 横に増やす
- 投機実行 → 先読みする
■ ⑤ 整理
- パイプライン:段階並列
- スーパースカラ:命令並列
- 投機実行:分岐予測
■ 最終確認
問題①
命令を段階に分けて重ねて処理する技術はどれか?
A. スーパースカラ
B. パイプライン
C. 投機実行
D. キャッシュ
答え:B
問題②
分岐結果を予測して処理を先に行う技術はどれか?
A. パイプライン
B. スーパースカラ
C. 投機実行
D. 割込み
答え:C
問題③
複数の命令を同時に実行する技術はどれか?
A. パイプライン
B. スーパースカラ
C. 投機実行
D. 仮想記憶
答え:B