スーパースケーラとは? わかりやすく解説

スーパースカラ

別名:スーパースケーラ
【英】superscalar

スーパースカラとは、マイクロプロセッサCPU)のアーキテクチャ一種で、複数命令処理同時に進行させることによって全体として高速な処理を実現する技術のことである。

スーパースカラ方式では、CPUの上行われるデコード」や「実行」などの処理過程を、複数ライン同時並行して行うことができる。これによって、同じクロック数では他の方式より多くの処理を行うことができ、コンピュータの速度向上させることが可能となっている。

スーパースカラを採用した代表的な製品としては、IntelPentiumシリーズや、AMDAthlonシリーズなどを挙げることができる。


スーパースカラー

(スーパースケーラ から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/05/18 05:20 UTC 版)

スーパースカラーのパイプライン概念図
CRAY T3E 並列コンピュータのプロセッサ基板。4個のスーパースカラー Alpha プロセッサを搭載

スーパースカラー(superscalar,スーパースケーラ)とは、プロセッサマイクロアーキテクチャにおける用語で、複数の命令を同時にフェッチし、複数の同種のあるいは異種の実行ユニット並列に動作させ[1]、プログラムの持つ命令レベルの並列性を利用して性能の向上を図るアーキテクチャである。

概要

スーパースカラプロセッサは、単一のプロセッサ内で命令レベルの並列性と呼ばれる、ある一種の並列処理の形式を実装するCPUである。クロックサイクル毎に最大で1つの命令しか実行できないスカラプロセッサとは対照的に、スーパースカラプロセッサは、プロセッサ上の複数の異なる実行ユニットに複数の命令を同時にディスパッチすることにより、1クロックサイクル中に複数の命令を実行できる。したがって、既定のクロックレートで(普通)可能なスループットよりも多くのスループット(単位時間のうちに実行できる命令の数)が可能になる。各実行ユニットは、個別のプロセッサ(あるいはマルチコアプロセッサの場合個別のコア)ではなく、単一CPU内の算術論理演算ユニットなどのような実行リソースである。

歴史

1965年シーモア・クレイが設計したCDC 6600が、最初のスーパースカラー設計のマシンと言われている。

商用のシングルチップのスーパースカラーマイクロプロセッサは、Intel i960CA(1988年)と AMD 29000シリーズの 29050 (1990年)が最初である。RISC型CPUの設計ではコアが単純であったため、当時の設計ルールの細かさでもワンチップに複数の実行ユニット(ALUなど)を搭載でき、スーパースカラーを実現できたのである。このため、1980年代から1990年代にかけての時期に RISC が CISC に対して性能的に優位に立った。一部の低消費電力の組み込み向けプロセッサを除いて、1998年以降に開発された汎用プロセッサは基本的に全てスーパースカラーである。

現在パーソナルコンピュータデファクトスタンダードとなっているx86アーキテクチャでは、1993年のPentiumで2実行ユニットのインオーダ実行型のスーパースカラーを実現し、その後の"P6"(Pentium ProPentium II)以降で3実行ユニットのアウトオブオーダ実行型スーパースカラーに発展した。2008年現在のIA-32アーキテクチャは単一コア当り5実行ユニットのアウトオブオーダ実行型スーパースカラーで、平均IPCは3以上を達成している。

スカラーからスーパースカラーへ

最も単純なプロセッサアーキテクチャスカラープロセッサと呼ぶ。スカラープロセッサでは、各命令で1つか2つのデータを一度に扱う。一方、ベクタープロセッサでは同時に多数のデータを扱う。これは数学におけるスカラーとベクトルの違いに似ている。スーパースカラープロセッサはこれらの中間と言える。各命令は1つのデータを扱うが、CPU内に複数の実行ユニットがあるため、それぞれ別のデータを扱う複数の命令を同時並列的に実行可能となる。

スーパースカラーCPUの設計では、複数存在する実行ユニットを常に働かせておくために、命令の分配機構が重要である。実装される実行ユニット数が増えるにつれ、その重要性は増している。初期のスーパースカラー型CPUには、2つのALUと1つのFPUが搭載されていたが、最近の PowerPC 970 では4つのALUと2つのFPUと2つのSIMDユニットが搭載されている。分配機構が効率的でない場合、これらの実行ユニットに連続して命令を供給することができず、システムの性能は全体として低くなる。

スーパースカラープロセッサの実行効率はサイクル当たりの実行命令数で表される。ただし、サイクル当たりの実行命令数が大きいからといって、常にスーパースカラーだとは限らない。パイプライン型CPUマルチコアCPUも同様の性能を示すが、方式は異なる。

スーパースカラー型CPUでは、分配機構がメモリから命令群を読み込み、そこから並列に実行できる命令を選択し、実行ユニット群にそれらを供給する。従って、スーパースカラープロセッサはパイプラインが複数あって、各パイプラインが1つの命令スレッドを実行していると見なすこともできる。

限界

スーパースカラー技法による性能向上は、以下の2つによって制限される。

  1. 命令列の本質的な並列性の度合い。つまり、命令レベルの並列性の制約。
  2. 命令間の依存関係チェックロジックと分配機構が命令選択にかけられる時間の制約と機構自体の複雑さ。

既存のバイナリの実行プログラムの持つ並列性にはばらつきがある。ものによっては命令間の依存が全く無く、常に並列に実行可能なこともある。逆に依存関係が多く、並列性がほとんどない場合もある。例えば、a = b + c; d = e + f という命令列は依存関係がないため、並列に実行可能である。しかし、a = b + c; b = e + f という命令列は依存関係があるため、並列に実行することはできない。

同時に実行可能な命令数が増えると、依存関係をチェックするコストも急激に増大する。また、そのチェックをCPUのクロックに合わせて実行時に行わなければならないという事実が事態をさらに悪化させる。研究によれば、命令の種類を n、同時実行可能な命令数を k としたとき、依存関係チェックの回路規模は

出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 記事の信頼性向上にご協力をお願いいたします。2023年1月
  • マイク・ジョンソン著、村上和彰監訳、『スーパスカラ・プロセッサ- マイクロプロセッサ設計における定量的アプローチ -』、日経BP社、ISBN 4-8227-1002-5 (原著 Mike Johnson, Superscalar Microprocessor Design, Prentice-Hall, 1991, ISBN 0-13-875634-1
  • Sorin Cotofana, Stamatis Vassiliadis, "On the Design Complexity of the Issue Logic of Superscalar Machines", EUROMICRO 1998: 10277-10284
  • Steven McGeady, "The 1960CA SuperScalar Implementation of the 80960 Architecture", IEEE 1990, pp. 232-240
  • Steven McGeady, et al., "Performance Enhancements in the Superscalar i960MM Embedded Microprocessor," ACM Proceedings of the 1991 Conference on Computer Architecture (Compcon), 1991, pp. 4-7

外部リンク


スーパースケーラ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/11/05 07:56 UTC 版)

命令レベルの並列性」の記事における「スーパースケーラ」の解説

複数実行ユニット並行して複数命令実行する並列計算ではなく並行計算にあたる。

※この「スーパースケーラ」の解説は、「命令レベルの並列性」の解説の一部です。
「スーパースケーラ」を含む「命令レベルの並列性」の記事については、「命令レベルの並列性」の概要を参照ください。

ウィキペディア小見出し辞書の「スーパースケーラ」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「スーパースケーラ」の関連用語

スーパースケーラのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



スーパースケーラのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【スーパースカラ】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのスーパースカラー (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの命令レベルの並列性 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS