プロセッサの高速化技術

この記事での学習内容 基本情報 応用情報

プロセッサの代表的な高速化技術の種類,特徴を理解する。

用語例:命令パイプライン,スーパパイプライン,スーパスカラ,VLIW,ベクトル処理方式,ハイパスカラ方式,超並列プロセッサ,パイプラインハザード,データハザード,構造ハザード,制御ハザード,シングルコアプロセッサ,マルチコアプロセッサ,マルチスレッディング

パイプライン

 

例えば、化学工場の場合、数々の加工装置の間をパイプでつないで、次々と物質を加工していきます。それぞれの装置は同時に並行して動作することで、効率を向上させています。

コンピュータのパイプライン方式とは、一つの命令の実行が完了するのを待つことなく、「命令の読み込み」「命令の解読」「アドレスの決定」「データの読み込み」「命令の実行」「データの書き出し」などの細かな段階を、命令ごとに段階をずらして同時に並行して処理する方式です。CPUの内部でも、命令の段階で使っている機器は異なる(デコーダ、各種レジスタなどなど)ので、それを有効に活用しようとする技術です。

一つの命令の実行を段階1(S1)から段階5(S5)まで、パイプライン方式で同時並行処理すると、処理の進行は次のようになります。

この場合の性能は5倍になります。但し、命令の種類によっては段階の間に依存関係があって、完全な同時並行処理はできない場合もあります。

スーパーパイプライン

スーパーパイプライン方式は、一つの命令を実行する段階を細分化して、パイプライン処理を更に効率良く行う方法です。通常のパイプラインは4~5段階ですが、7~10段階程度の方式をスーパーパイプライン方式と呼びます。

但し、段階を増やせば、並列度は高まるが、1命令に要するクロック数はどうしても増えてしまうので、一概に段階数を増やせば良いというものでもありません。

スーパースカラ

スーパースカラ方式は、命令実行の同じ段階を同時並行処理ができる装置を複数揃える方式です。二つの装置を揃えた場合の処理の進行は以下のようになります。

この場合には、パイプライン方式に比べて、性能が2倍になります。

VLIW

超長命令語(Very Long Instruction Word:VLIW)は、複数の命令で構成されるビット数の多い命令語のことです。
超長命令語を処理できるコンピュータは、複数の命令を同時並行処理して性能を向上させます。

プログラム言語のコンパイラが、依存関係を持たないことを保証できる命令語群にできる部分を見抜いて、超長命令語に変換します。この考え方は、コンパイラの性能向上に寄与しており、より効率の良い機械語への変換を行えるようになっています。