setechdiv@wiki
CPUの処理方式
最終更新:
setechdiv
-
view
CPUの処理
命令を独立して実行できる段階(=ステージ)に分けると、
- 命令を読み込む(fetch)
- それを解釈する(decode)
- 実行する(execute)
- 結果を返す(write back)
| 1 | 2 | 3 | 4 |
| fetch | decode | execute | write back |
| └ステージ┘ | └ステージ┘ | └ステージ┘ | └ステージ┘ |
の4ステージとなる。
CPUはこれを順番に処理していくことで命令を実行する。
命令処理にはタイミングがあり、ステージはクロック毎のタイミングで処理される。
CPUはこれを順番に処理していくことで命令を実行する。
命令処理にはタイミングがあり、ステージはクロック毎のタイミングで処理される。
クロック
クロックの間隔はクロック周波数によって決定される。
クロック周波数は、1秒間に発振する回数を表し、
基本的には、クロック周波数が高いほど処理速度は速いとされる。
(ただし、1クロックあたりの処理内容はコンピュータの機種・製品によって異なる)
ex:インテルペンティアム4プロセッサ1.6GHz
クロック周波数は、1秒間に発振する回数を表し、
基本的には、クロック周波数が高いほど処理速度は速いとされる。
(ただし、1クロックあたりの処理内容はコンピュータの機種・製品によって異なる)
ex:インテルペンティアム4プロセッサ1.6GHz
一般コンピュータの処理方式
逐次処理方式
命令を逐次処理していく。
1つの命令が終了するまで次の命令は処理されないため、効率が悪い。
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)
シングルプロセッサのコンピュータアーキテクチャ。
ひとつの命令で一つの処理を扱う。
ひとつの命令で一つの処理を扱う。