【ハードウェア】1クロックで複数の命令を同時に並列実行!「スーパースケーラ」|情報処理問題1000本ノック
パイプライン制御をさらに進化させたCPUの超高速化技術。複数の命令を同時に読み出し・解釈し、複数の演算回路で並列実行する「スーパースケーラ」の仕組みを攻略しましょう。
1. 【 問題 】:ハードウェア(CPUの構造・アーキテクチャ)
【 問題 】 CPUの高速化技術に関する記述です。CPU内部に複数のパイプラインおよび複数の演算装置(実行ユニット)を備え、1クロックサイクルで複数の命令を同時に読み出して解釈(デコード)し、並列に実行する方式は、次のうちどれか。
(ア)スーパースケーラ(Superscalar)
(イ)パイプライン方式(Pipeline)
(ウ)VLIW(Very Long Instruction Word)
(エ)ベクトルの処理方式(Vector Processor)
2. 正解:
正解:(ア)スーパースケーラ(Superscalar)
3. 解説:「レーン(パイプライン)を複数並べて同時に計算する!」
スーパースケーラ(Superscalar)は、1つのCPUチップ内に独立した複数の実行ユニット(パイプライン)を並列に配置する技術です。
従来のパイプライン方式が「1クロックあたり最大1命令完了」だったのに対し、スーパースケーラでは「1クロックで同時に2命令以上の完了(CPI < 1)」を実現できます。
| 方式名 | パイプラインの数 | 1クロックあたりの処理 |
|---|---|---|
| パイプライン方式 | 1系統 | 1つの命令を段階(ステージ)ごとに「ずらして」実行する |
| スーパースケーラ | 複数系統(2個以上) | 複数の命令を「同時に読み出し、解釈し、並列に」実行する |
1. 理解のコツ: 「高速道路の車線(レーン)」で例えてみましょう。
・パイプライン方式:「1車線の道路」に車を車間距離(ステージ)を詰めて立て続けに走らせる方式。
・スーパースケーラ:「多車線(2車線や4車線)の道路」にして、並んだ複数台の車を同時に走らせる方式。
2. VLIWとの違い(試験での引っ掛け防止!):
・スーパースケーラ:どの命令を同時に実行するかを「CPUのハードウェアが自動判断」して並列実行します。
・VLIW(超長命令語):どの命令を同時に実行するかをあらかじめ「コンパイラ(ソフトウェア)」が1つの巨大な命令にまとめて指示します。
3. 試験対策の視点: 基本情報技術者や応用情報技術者試験で頻出のCPU高速化問題です。
問題文に「複数のパイプライン」「複数の命令を同時に読み出し・デコード・実行」「1クロックで複数命令」といったキーワードが出たら、迷わずスーパースケーラを選択しましょう!
4. まとめ
CPU内部に複数の演算装置とパイプラインを持ち、1クロックで複数の命令を同時に読み出し・解釈・並列実行する技術。これがスーパースケーラです。単一パイプラインやVLIWとの違いも含めて確実にマスターしておきましょう!