コンピュータ

スーパースカラとは

スーパースカラ

スーパースカラ(英:superscalar)とは、パイプライン処理を行う回路を複数持つことで複数の命令を同時に実行する仕組みです。

パイプライン処理とは

パイプライン処理は、CPUなどのプロセッサの性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式です。

次の図のように命令を1つずつ順番に処理(逐次制御方式)していく方式だと、1つの命令が終わるまで次の命令を処理できず効率がよくありません。

逐次制御方式のイメージ例

 

そこで、次の図のように1つの命令を複数の段階に分割(次の例では F:命令の取り出し、D:命令の解読、O:対象データの読み出し、E:命令実行、W:結果の書き込み)し、複数の命令を並行して実行していきます。これがパイプライン処理です。

パイプライン処理

(パイプライン処理は階段ごとに制御できるため、命令1の「F」が終わったら、命令1の「D」「O」「E」「W」が終わるのを待たずに、命令2の「F」を実行することができる)

 

このようにパイプライン処理で複数の命令を並行して実行することで、待ち時間の無駄をなくし全体の処理効率を高めることができます。

スーパースカラとは

スーパースカラとは、パイプライン処理を行う回路を複数持つことで複数の命令を同時に実行する仕組みです。

非スーパースカラの場合は、パイプライン処理を行う回路が1つしかなく、一度に1つの命令を実行します。それに比べてスーパースカラでは、パイプライン処理を行う回路を複数持つことで複数の命令を同時に実行することができます。

スーパーパイプライン

上記はスーパースカラのイメージ図です。

パイプラインの実行ユニットを2つ持つ(※今回の例では回路2つ)ことで、同時に2つの命令を処理できます。


チャンネル登録はこちら

フォローはこちら