AP | CPUの命令実行手順とレジスタ②

2019年3月25日月曜日

応用情報技術者試験

t f B! P L
前回は、CPUの命令実行手順やレジスタの役割について説明しました。

今回は、実際に試験に出題された問題を解いていきましょう。

問題①


コンピュータの命令実行順序として、適切なものはどれか。

 オペランド読出し ⇒ 命令の解読 ⇒ 命令フェッチ ⇒ 命令の実行
 オペランド読出し ⇒ 命令フェッチ ⇒ 命令の解読 ⇒ 命令の実行
 命令フェッチ ⇒ オペランド読出し ⇒ 命令の解読 ⇒ 命令の実行
 命令フェッチ ⇒ 命令の解読 ⇒ オペランド読出し ⇒ 命令の実行

(H19年秋季・ソフトウェア開発技術者試験)



解説


前回の記事でコンピュータの命令実行順序について、以下のように書きました。

  1. 命令の取り出し

  2. 命令の解読

  3. 対象データ読み出し

  4. 命令実行


の手順で行われます。

なので、正解はです。

「命令フェッチ」の「フェッチ」は、英語で「取ってくる」という意味です。

ちなみにオペランドとは、式に現れる数値や変数などを指します。

問題②


CPUのプログラムレジスタ(プログラムカウンタ)の役割はどれか。

 演算を行うために、メモリから読み出したデータを保持する。
 条件付き分岐命令を実行するために、演算結果の状態を保持する。
 命令のデコードを行うために、メモリから読み出した命令を保持する。
 命令を読み出すために、次の命令が格納されたアドレスを保持する。

解説


前回の記事でそれぞれの役割について解説しました。

 汎用レジスタの役割です。
 アキュムレータの役割です。
 命令レジスタの役割です。
 プログラムレジスタ(プログラムカウンタ)の役割です。

参考

































名称役割
プログラムカウンタ次に実行する命令が入っているアドレスを記憶するレジスタ。
命令レジスタ取り出した命令を一時的に記憶するためのレジスタ。
インデックス(指標)レジスタアドレス修飾に用いるためのレジスタで、連続したデータの取り出しに使うための増分値を保持する。
ベースレジスタアドレス修飾に用いるためのレジスタで、プログラムの先頭アドレスを保持する。
アキュームレジスタ演算の対象となる数や、演算結果を記憶するためのレジスタ。
汎用レジスタ特に機能を限定していないレジスタ。一時的な値の保持や、アキュムレータなどの代用に使ったりする。

まとめ


いかがでしたか?

それぞれの役割を理解しておかないと解けない問題でした。

問題①は応用情報技術者の問題ではありませんが、本番の試験でも異なる試験の過去問が出題されることもあります。

しっかり勉強して、本番に挑みましょう!

QooQ