
CPUの命令実行手順について解説するよ
CPUの命令実行手順は命令の取り出し、解読、オペランド読み出し、命令実行という4つのステップを踏みます。
ステップ① 命令の取り出し(フェッチ)
ステップ1では命令の取り出しをします。
ここでは命令レジスタとプログラムカウンタを使います。
プログラムカウンタは取り出したいデータのアドレスの値を持っています。
その為、プログラムカウンタを参照して命令レジスタに記憶させます。
命令を取り出し終えるとまた次の命令を取り出せるようにプログラムの持っているアドレス値を1つ増加させます。
ステップ② 命令の解読
ステップ1で取り出した命令の解読をしていきます。
この手順では先ほど命令を入れた命令レジスタと命令デコーダを使います。
命令レジスタに入っている命令はこのように命令部とアドレス部という2つの要素で構造されています。
アドレス部(オペランド部):処理対象のデータのアドレス
解読した命令デコーダは対応する装置に信号を送ります。
ステップ③ 対象データ読み出し(オペランド読み出し)
命令を実行するために必要なデータをよみだしてきます。
例えば、「加算をしてほしい!」という命令であれば読み出してくるデータはその加算を行いたい数値のことです。この数値のことをオペランドといいます。
このステップでは命令レジスタと汎用レジスタを使います。
オペランドは命令レジスタのオペランド部を参照することでどこにあるか格納場所が分かります。
このオペランド部で参照して読み出たデータを汎用レジスタに記憶させます。
アドレスを指定する方法は複数あるので、その方法はこちらで解説をしています。
ステップ④ 命令実行
汎用レジスタからデータを取り出して命令を実行します。
この手順ではステップ4のオペランド部で読みだしたデータを入れた汎用レジスタと、例えば命令が演算処理であれば演算を行ってくれるアキュムレータを使います。
命令の処理が終わればまたステップ1に戻り同じ手順を繰り返していきます。
まとめ
CPUは命令の取り出し、解読、と読み出し、実行という4つのステップでおこなわれるということでした。
以上、解説はここまで!
Thank you