基本・応用情報処理試験

【プロセッサ高速技術】パイプライン・スーパスカラ・スーパパイプライン

プロセッサとは、コンピュータの内部でコンピュータを動作させるためのハードウェアです。プロセッサは、プログラム(命令)を実行します。プログラム自体は記憶装置にあり、また演算するデータなどは、前もって用意する必要があります。

命令ステージは、以下の5つです。
①命令の取り出し(フェッチ)
②命令の解読(デコード)
③データの取り出し(アドレスカリキュレーション・リード)
④命令の実行(エグゼキュート)
⑤結果の格納

パイプライン

命令のステージを一つずつずらして、同時に複数の命令を実行させる方法です。

分岐命令などで順番が変わると、パイプラインハザード(制御ハザード、データハザード、構造ハザード)が発生し、処理のやり直しになります。

スーパースカラ

パイプラインのステージを複数同時に実行させることで、効率化を実現します。

スーパパイプライン

パイプラインをさらに細分化して、一度に実行できる命令数を増やす方法です。Pentium4では、命令を20ステージに分けて実行する。

VLIW(Very Long Instruction Word)

プログラムのコンパイル時に依存関係のない複数の命令を1つの複合命令にまとめ、同時に実行させる手法です。「very long」の名が示すように1つの命令がとても長くなります。

超長命令の由来は、命令語が通常128ビットと長いことです。長い命令に複数の機能を含むことで、一度の命令取得で多くの機能を実現することができます。

CISC(Complex Instruction Set Computer)

複雑で多機能な命令セットでコンピュータを構成する設計方法です。

RISC(Reduced Instruction Set Computer)

CPUに与える命令を短く固定長化し、専用の論理回路で高速に実行できるようにした命令セットでコンピュータを構成する設計方法です。

MIMD(Multiple Instruction, Multiple Data)

複数の命令とそれに対応するデータを、それぞれが独立している複数のプロセッサに振り分けて並列処理をする方式