setechdiv@wiki

CPUの処理方式

最終更新:

setechdiv

- view
管理者のみ編集可

CPUの処理


命令を独立して実行できる段階(=ステージ)に分けると、

  1. 命令を読み込む(fetch)
  2. それを解釈する(decode)
  3. 実行する(execute)
  4. 結果を返す(write back)

1 2 3 4
fetch decode execute write back
└ステージ┘ └ステージ┘ └ステージ┘ └ステージ┘

の4ステージとなる。
CPUはこれを順番に処理していくことで命令を実行する。
命令処理にはタイミングがあり、ステージはクロック毎のタイミングで処理される。


クロック


クロックの間隔はクロック周波数によって決定される。
クロック周波数は、1秒間に発振する回数を表し、
基本的には、クロック周波数が高いほど処理速度は速いとされる。
(ただし、1クロックあたりの処理内容はコンピュータの機種・製品によって異なる)
ex:インテルペンティアム4プロセッサ1.6GHz


一般コンピュータの処理方式


逐次処理方式

命令を逐次処理していく。
1つの命令が終了するまで次の命令は処理されないため、効率が悪い。

1 2 3 4 5 6 7 8
fetch decode execute write back └ステージ┘ └ステージ┘ └ステージ┘ └ステージ┘
└ステージ┘ └ステージ┘ └ステージ┘ └ステージ┘ fetch decode execute write back

パイプライン方式

各工程は、前の工程の出力を自身の入力とし、自身の出力を次工程の入力とするよう、
相互に接続されている。
どの部分も次々に作業を進めるため効率が良い。

1 2 3 4 5 6 7 8
fetch decode execute write back └ステージ┘ └ステージ┘ └ステージ┘ └ステージ┘
└ステージ┘ fetch decode execute write back └ステージ┘ └ステージ┘ └ステージ┘
└ステージ┘ └ステージ┘ fetch decode execute write back └ステージ┘ └ステージ┘
└ステージ┘ └ステージ┘ └ステージ┘ fetch decode execute write back └ステージ┘
└ステージ┘ └ステージ┘ └ステージ┘ └ステージ┘ fetch decode execute write back

スーパースカラー方式

パイプラインを同時並行処理する方式。

1 2 3 4 5 6 7 8
fetch decode execute write back └ステージ┘ └ステージ┘ └ステージ┘ └ステージ┘
fetch decode execute write back └ステージ┘ └ステージ┘ └ステージ┘ └ステージ┘
└ステージ┘ fetch decode execute write back └ステージ┘ └ステージ┘ └ステージ┘
└ステージ┘ fetch decode execute write back └ステージ┘ └ステージ┘ └ステージ┘
└ステージ┘ └ステージ┘ fetch decode execute write back └ステージ┘ └ステージ┘
└ステージ┘ └ステージ┘ fetch decode execute write back └ステージ┘ └ステージ┘

いろいろな処理方式


SIMD (Single Instruction stream Multiple Data stream)

マイクロプロセッサのコンピュータアーキテクチャ。
ひとつの命令で複数のデータを扱う処理方式

SIMDの主な搭載プロセッサ
  • PowerPC G4, G5 など
  • Cell(SONY, TOSHIBA, IBM)
  • PentiumⅢ以降

SISD(Single Instruction stream Single Data stream)

シングルプロセッサのコンピュータアーキテクチャ。
ひとつの命令で一つの処理を扱う。

MIMD (Multiple Instruction stream Multiple Data stream)

記事メニュー
ウィキ募集バナー