スーパスカラとは?すーぱすからー
スーパスカラとは、命令実行用のパイプラインを複数本もち、依存関係のない命令をハードウェアが実行時に振り分けて同時発行する命令レベル並列化の方式。CPI(1命令あたりクロック数)を1未満にでき、分岐予測やアウトオブオーダ実行と組み合わせて実効性能を引き上げる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
動作周波数を上げるだけの高速化は、消費電力と発熱で早々に頭打ちになる。一方で命令列にはもともと互いに独立した命令が混ざっているのに、1クロック1命令の逐次実行はその余地を丸ごと捨てていた。スーパスカラは、遊んでいた並列性をハードウェア側で拾い上げる工夫である。応用情報では、パイプラインハザードや性能計算の前提としてこの仕組みが問われる。
具体例
IntelはPentiumでU/Vの2本のパイプラインを持つスーパスカラ構成を採用し、以後のCore系やArmのCortex-Aも複数命令を同時発行する。同じ動作周波数でも1クロックあたりに完了する命令数が違うため、クロック数だけでプロセッサの性能を比較できない。
試験での引っ掛け
VLIWと取り違えやすい。並列に実行できる命令を選ぶ主体が、スーパスカラはハードウェア(実行時)、VLIWはコンパイラ(コンパイル時)で逆になる。パイプラインの段数を細かく分けるスーパパイプラインとも別物で、こちらは本数ではなく分割の細かさを増やす方式。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 秋期 応用情報技術者試験 午前 問11(IPA)解説で登場
プロセッサの実行効率を上げるVLIWの説明はどれか。
正解:同時に実行可能な複数の命令をまとめて一つの命令として、同時に実行する。
要点:VLIWはコンパイラが並列性を抽出し長い命令にまとめる
VLIW(Very Long Instruction Word)は、同時に実行できる複数の操作をコンパイラがあらかじめ見つけ出し、それらをまとめた1つの長い命令語として構成する方式です。実行時に依存関係を調べる回路が不要になるため、ハードウェアを単純にしたまま並列実行できます。並列性の抽出をコンパイラ側に任せる点が、実行時に判断するスーパスカラやアウトオブオーダとの違いです。
出典:平成31年度 春期 応用情報技術者試験 午前 問8(IPA)
スーパスカラの説明として、適切なものはどれか。
正解:並列実行可能な複数の命令を、複数の演算器に振り分けることによって並列に実行する。
要点:スーパスカラは複数命令を複数演算器で同時実行する命令レベル並列
スーパスカラは1つのプロセッサコア内に演算器を複数持ち、依存関係のない複数の命令を同時に振り分けて実行することで、1クロックあたりの実行命令数を1より大きくする方式である。命令レベルの並列性を利用する点が、スレッドやデータの並列性を使う他方式との違いになる。
出典:令和4年度 春期 応用情報技術者試験 午前 問8(IPA)解説で登場
プロセッサの高速化技法の一つとして、同時に実行可能な複数の動作を、コンパイルの段階でまとめて一つの複合命令とし、高速化を図る方式はどれか。
正解:VLIW
要点:VLIWはコンパイラが並列実行分をまとめて長い命令にする
VLIW(Very Long Instruction Word)は、同時に実行できる複数の操作をコンパイラが解析してまとめ、1つの長い命令語として発行する方式である。実行時ではなくコンパイル時に並列化の判断を済ませるため、ハードウェアの制御回路を単純にできる。命令の並びを実行時に解析するスーパスカラとは対照的な考え方である。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。