Web教材一覧>
ハードウェアとソフトウェア
CPUの仕組み(命令の実行)
学習のポイント
先に、コンピュータの5大装置について学習しました。そのうち、制御装置と演算装置はCPUにあります。ここでは、プログラム(機械語になった命令)が、CPUでどのように実行されるのかを学習します。
キーワード
CPU、ノイマン型コンピュータ、命令とオペラント、マシンサイクル、CPI、制御装置、命令デコーダー、有効アドレス、演算装置、ALU、汎用レジスタ、バス
概念と用語
- ノイマン型コンピュータ
- パソコンから大型の汎用コンピュータまで、通常のコンピュータはノイマン型コンピュータです。ノイマン型コンピュータの特徴は、次の2点です。
プログラム内蔵方式:機械語の命令(プログラム)をデータと同等に主記憶に置くこと
逐次制御方式:,命令を順に取り出して実行していくこと
- 命令とオペラント
- 命令は、命令部とオペラント部から成り立っています。
命令部:加算をする、分岐(ジャンプ)するなどの命令
オペラント:加算をする数値の入っているアドレス、分岐先のアドレスなど
(命令の種類により、オペラントの個数は異なる。ない場合もある)
- マシンサイクル
- 命令を実行するには、
F-サイクル
命令フェッチ:実行する命令をメモリから制御部に取り出してくる
E-サイクル
命令デコード:命令を解読すること
オペラントフェッチ:オペラントのデータを取り出すこと
そのためには有効アドレス計算が必要
命令の実行:演算装置で実行する
を繰り返します。これをマシンサイクルといい、それに要する時間をサイクル時間といいます。
- クロック周波数とCPI
- これらの動作は、パルス発生器によるパルスで同期をとっています。1秒間に発生するパルス数ををクロック周波数といいます。しかし、サイクル時間は命令の種類により、1クロックで終了するものもあれば、数クロックかかるものもあります。1命令あたりの必要クロック数をCPI(Clock cycle Per Instruction)といいます。
CPUの構成要素
CPUは、大きく制御装置と演算装置からなっています。そして、それらの間をバスとよばれる通信線で接続しています。
- 制御装置
- プログラムレジスタには、次に実行する命令が格納されている主記憶装置のアドレスが入っています。そして、そのアドレスから命令(オペラントも)を取り出して、命令レジスタに格納します。ここまでがF-サイクルです。
命令デコーダーにより、命令が「単精度固定小数点加算」であるというように解読され、オペラント部から有効アドレスが計算されます。
- 演算装置
- 解読された命令および有効アドレス計算で示されたデータは、ALU(Arithmetic and Logic Unit:算術論理演算装置-狭義での演算装置) によって処理されます。ALUには加算回路や補数回路など多様な回路からなっています。
その計算で用いる中間的なデータやアドレスは、アキュムレータやインデクスレジスタなど、多様なレジスタに格納されます。汎用的に用いるためのレジスタを汎用レジスタといいます。
- 外部バス
- バスは、大きく3つに区分されます。
コントロールバス:各装置間での制御信号を送る
アドレスバス:主記憶装置のアドレスなどを送る
データバス:実際のデータを送る
アドレスバス1本で送る信号は、0と1の2種類ですから、20本では220通り、すなわち1MBのメモリアドレスを指定できます。逆にいえば、この方式では、24本のアドレスバスのパソコンでは、メモリ最大容量が1MBに限定されます。
初期のパソコンはこのようなものでした。現在のパソコンはGB単位の容量です。そのためにアドレスバス本数も大きくなってきました。また、アドレス指定方式の工夫も行われています。