CPUの実効の手順は命令の取り出し
、命令の解読
、対象データの読み出し
、命令実行
がある。
命令の取り出し(フェッチ)
この手順はプログラムカウンタ
と命令レジスタ
を使う。
命令の解読までには命令を把握しなければならない。
まずプログラムカウンタ(把握する係)
がメモリアドレスを元に命令を認識する。
そして命令レジスタ(取り出す係)
がプログラムカウンタが記憶するメモリアドレス
を基に取り出す。
命令レジスタが命令を取り出し終わったらプログラムカウンタが一つ値を増加させる。
命令の解読
命令レジスタに記憶される命令は命令部
とオペランド部
に分けられる。
命令部
命令の種類を示すコード番号が入っている。
オペランド部
処理対象となるデータを収めたメモリアドレスなどが入っている。
- オペランドとは
オペレート(操作)する対象という意味
命令の種類によってはオペランドがない場合がある。
命令デコーダ
命令レジスタの命令部の中身が命令デコーダへ送られる。
命令部のコードを解読し、必要な装置に制御信号を飛ばす
。
気づき
- 命令部のコードによって動かされる装置が違うのか。他にどのようなものがあるのかな?
- 命令の解読と対象データの読み出しの意味がなんだか似たように見える。
対象データ(オペランド)の読み出し
対象データを読み込んで、汎用レジスタへ記憶
させる。
オペランド部に直接「メモリのアドレス」そのものが記載されているとは限らない。
命令レジスタのオペランド部が指す対象データを汎用レジスタ
をに記憶させる。
気づき
- 命令の解読は命令はどんな処理をする命令をかを判断する
(外側) - 対象データの読み込みはオペランドの中身を読み込む
(内側) - これで理解しているのか心配だが次に進もう。
命令実行
汎用レジスタの対象データを取り出しALU(算術論理演算装置)が演算する。
演算結果を汎用レジスタレジスタ書き戻す。
問題の気づき
フラグレジスタ
- 条件付き分岐命令を実行するために、演算結果の状態を保持する。
- CPUの演算状態を示す値であるステータスレジスタの一種で、特に16ビット単位で扱われるステータスレジスタのことである。
フラグレジスタは、CPUが特定の命令を実行した後に自動的に付与される。 主なフラグレジスタの値としては、桁あふれの発生に対して付けられる「OF」(オーバーフロー)
や、演算結果がゼロになった場合に付けられる「ZF」(ゼロ)
、同じく演算結果が負の値になった場合に付けられる「SF」(サイン)
などがある。
出典 https://japan.zdnet.com/glossary/exp/%E3%83%95%E3%83%A9%E3%82%B0%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF/?s=4#:~:text=%E3%83%95%E3%83%A9%E3%82%B0%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%A8%E3%81%AF%E3%80%81CPU,%E7%9A%84%E3%81%AB%E4%BB%98%E4%B8%8E%E3%81%95%E3%82%8C%E3%82%8B%E3%80%82
命令語
0と1で構成されたもの。
命令語長
命令語長が長いコンピュータほど命令の種類も多くなるとは言えない。
プロセッサ
- ITの分野では、一定の手順に基づいてデータを変換・演算・加工する機能を持った装置やソフトウェア、システムなどのことをプロセッサという。
- コンピュータ全体の制御を司る「CPU」(Central Processing Unit:中央処理装置)や、その機能を小さなICチップに集積した「MPU」(Micro-Processing Unit)あるいは「マイクロプロセッサ」(microprocessor)のことをプロセッサと呼ぶことが多い。
出典 https://e-words.jp/w/%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5.html
割り込み処理
- 通常のプログラムの動作中,
緊急に処理しなければならなかったり
,ある時間までに処理を終えなければならなかったり
することがある - 割り込み処理は,CPUのハードウェア機能として実現され,通常の
プログラムの実行を強制的に中断
し,別のプログラム処理を割り込ませることができる. 割り込みした処理が終了した後は,何もなかったかのように元のプログラムをそのまま続行する。 - ソフトウェア割込みは,特定の機械語命令を実行したときに,
番号で指定された割込み
を発生させる. - ハードウェア割込みの場合には,タイマーや,外部信号などハードウェアとして用意されている
外部要因
によって,特定の割込み処理 が発生する.
気づき
プロセッサは割り込み発生時に、主記憶装置上のアドレスを保存しなければなりません。
そのためにプログラムカウンタ
にアドレスを保存させる。