プログラムの実行手順

学習の目的

  • 命令の実行手順について理解する

  • CPUのレジスタについて理解する

CPUがどのような手順で命令を実行しているかを学びましょう。

命令の実行手順概要

まずは、前回のおさらいです。

コンピュータにインストールされたプログラム(ソフトウェア)は、補助記憶装置に保存されています。

なぜ補助記憶装置に記録されているかは分かりますか?

電源を落としても残しておきたいからですよね?

そうか、主記憶装置だと、電源を落とすと消えてしまうから、せっかくのインストールされたデータも消えてしまうね。

その通りです。でも、補助記憶装置は、記憶装置の中でも動作が遅いんです。

そして、プログラムを実行すると、補助記憶装置に保存されたプログラムが、主記憶装置に読み込まれます。

CPUは、主記憶装置に格納された命令やデータにアクセスしながら、命令を実行していきます。

主記憶装置には、記憶された位置を表すアドレス(番地)と呼ばれる番号で記憶位置を管理しています。

また、番地はアドレスの単位を表すときにも使用されます。例:1000番地

CPUは、主記憶装置に格納された命令やデータにアクセスしながら、命令を実行していきます。

命令の実行手順

プログラム中の各命令は、CPUにおいて以下の順序で実行されます。

あくまでも、一つの命令の実行を行う手順となります。

順序 処理名称 説明
1 命令の取り出し
(命令フェッチ)
CPUの制御装置が、主記憶装置から一つの命令を取り出す。
2 命令の解読 制御装置が取り出した命令を「命令デコーダ」を使用して解読する。
どのような処理を行うかを判断する。
3 対象データの読み出し 命令が使用するデータを、命令中に記載されているアドレスから取り出す。
4 命令の実行 CPUが命令を実行する。

CPUは、1つの命令をこの4つの処理で実行しています。

レジスタ

レジスタとは、CPUが命令を実行するときに使用する、CPU内の一時的な記憶領域です。

他の記憶装置と比較してもアクセス速度は非常に速いです。

CPUは、「制御装置」と「演算装置」の組み合わせだよね。

「記憶装置」も入っているってことなのかな?

はい。レジスタは確かにCPU内の記憶する部分ですが、目的は命令を実行するために一時的に使用するだけなので、データの記憶を目的としているわけではありません。

そのため、記憶装置の分類には含まれないんですね。

レジスタには、以下のような種類があります。

レジスタ名 利用用途 使用する装置
命令レジスタ 命令の取り出しで取り出された命令を記録する。 制御装置
プログラムカウンタ 次の命令が入っている、主記憶装置のアドレスが格納されている。 制御装置
フラグレジスタ 演算結果の状態に応じて、命令の分岐などを制御するために使う。 制御装置
汎用レジスタ 機能を特定せず、一時的な値の記憶に使用されるレジスタ。 演算装置

それでは、加算命令を例に、命令の実行手順を動画で確認しましょう。

①命令実行の準備

②データの読み込み

③加算

④データの書き出し

情 報 こ と ば キ ー ワ ー ド

アドレス

主記憶装置内に割り当てられている番号。

番地

アドレスの単位。

命令の実行手順

「命令の取り出し」、「命令の解読」、「対象データの取り出し」、「命令の実行」の順で実行される。

命令デコーダ

命令の解読を行うCPU内の装置。

レジスタ

CPU内にある、命令の実行時一時的にデータを記録する場所。高速にアクセスができる。

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる