平成23年度 秋期 午前 問10
コンピュータ構成要素
プログラムレジスタに関する問題
CPU のプログラムレジスタ(プログラムカウンタ)の役割はどれか。
- ア演算を行うために,メモリから読み出したデータを保持する。
- イ条件付き分岐命令を実行するために,演算結果の状態を保持する。
- ウ命令のデコードを行うために,メモリから読み出した命令を保持する。
- エ命令を読み出すために,次の命令が格納されたアドレスを保持する。
答えと解説を見る
✓ これが正解エ命令を読み出すために,次の命令が格納されたアドレスを保持する。
解説
次に読む命令のありかを指し示すレジスタです。
CPU の中には役目の違うレジスタがいくつもあり、それぞれが命令を実行する流れの別の場面を受け持っています。流れは、次にどの命令を読むかを決め、その命令を読み込み、内容を解読し、必要な値を取り出して計算し、結果の様子を残す、という順に進みます。プログラムレジスタが受け持つのは、この流れのいちばん先頭です。次に読み込む命令が置かれている場所を指しており、命令を一つ読むたびに指す先が進みます。分岐が起きるときは、この指す先が飛び先に置き換わることで流れが変わります。判定の軸は、そのレジスタが持っているものが、これから読む命令のありかなのか、読み終えた命令そのものなのか、計算に使う値なのか、計算した結果の様子なのかです。四つの記述はこの四つに一つずつ対応しています。
ほかの選択肢はなぜ違うのか
- ア演算を行うために,メモリから読み出したデ…:計算に使う値を一時的に置いておく役目の説明です。これから読む命令がどこにあるかという話とは関わりがなく、流れの中では値を取り出したあとの場面にあたります。
- イ条件付き分岐命令を実行するために,演算結…:計算した結果の様子を残しておく役目の説明です。その様子を見て分岐するかどうかを決めますが、飛び先そのものを持っているわけではありません。
- ウ命令のデコードを行うために,メモリから読…:読み込んだ命令そのものを、解読が終わるまで手元に置いておく役目の説明です。すでに読んだ命令を持つ話であって、これから読む命令のありかを指す話ではありません。
出典:平成23年度 秋期 基本情報技術者試験 午前 問10
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)