機能面から見たCPUを構成する要素
- レジスタ
処理対象とする命令とデータを格納する領域 - 制御装置
メモリ上の命令やデータをレジスタに読み出す
命令の実行結果に応じてコンピュータを制御 - 演算装置
演算をする - クロック
クロック信号を発生させる
レジスタの種類と役割
レジスタの種類 | 役割 |
---|---|
アキュムレータ | 演算を行うデータを格納する |
フラグ・レジスタ | 演算処理後のCPUの状態を格納する |
プログラム・カウンタ | 次に実行する命令が格納されたアドレスを格納する |
ベース・レジスタ | データ用のメモリー領域の先頭アドレスを格納する |
インデックス・レジスタ | ベースレジスタから相対アドレスを格納する |
汎用レジスタ | 任意のデータを格納する |
命令レジスタ | 命令そのものを格納する |
レジスタに格納される値は「データ」か「命令」
データはさらに演算に使われる値とメモリーのアドレスを表す値がある
・プログラム・カウンタ
次に実行する演算、データの場所(アドレス)を格納しておくところ
・フラグ・レジスタ
直前に実行した演算の結果としてアキュムレータの値が負、ゼロ、正のどの状態になったか記録しておく
・アキュムレータ
演算の核になる値が格納されるところ
命令の種類と機能
種類 | 機能 |
---|---|
データ転送命令 | レジスタとメモリ、メモリとメモリ、レジスタと周辺装置の間でデータを読み書きする |
演算命令 | アキュムレータで算術、論理、比較、シフト演算を行う |
ジャンプ命令 | 条件分岐、繰り返し、無条件のジャンプを行う |
コール/リターン命令 | 関数を呼び出す/呼び出し元に戻る |
参考
プログラムはなぜ動くのか(矢沢久雄)日経BP社