平成28年度 春期 午前 問8
コンピュータ構成要素
スタックポインタが示すもの
CPU のスタックポインタが示すものはどれか。
- アサブルーチン呼出し時に,戻り先アドレス及びレジスタの内容を格納するメモリのアドレス
- イ次に読み出す機械語命令が格納されているアドレス
- ウメモリから読み出された機械語命令
- エ割込みの許可状態,及び条件分岐の判断に必要な演算結果の状態
答えと解説を見る
✓ これが正解アサブルーチン呼出し時に,戻り先アドレス及びレジスタの内容を格納するメモリのアドレス
解説
積み下ろしをする領域の先端の場所を指しています。
名前がそのまま答えになっている設問です。ポインタとは中身ではなく場所を指すものですから、スタックポインタが指すのは、主記憶に取ってあるスタックの先端、つまり次に積む場所であり、次に取り出す場所でもあります。ここに何が積まれるかというと、サブルーチンを呼び出したときの戻り先アドレスや、呼び出す前のレジスタの内容です。呼出しのときに積み、戻るときに取り出すので、入れ子になった呼出しでも順番どおりに戻れます。設問の言い回しで一か所だけ気を付けたいのは、指しているのが戻り先アドレスそのものではなく、それを格納しておく場所のほうだという点です。この設問は四つの記述が四種類のレジスタに一対一で対応する作りになっているので、どれが何を保つのかを一度並べてしまえば、残りも同時に片づきます。呼出しの流れで言えば、次の命令の位置を保つもの、読み出した命令そのものを保つもの、積み下ろしの位置を保つもの、演算の結果や許可の状態を保つものが、それぞれ別の役を持っています。
ほかの選択肢はなぜ違うのか
- イ次に読み出す機械語命令が格納されているア…:次に実行する命令がどこにあるかを保つのはプログラムカウンタの役です。どちらも位置を持ちますが、向いている先が命令の並びか、積み下ろしをする領域かで分かれます。
- ウメモリから読み出された機械語命令:読み出した命令そのものを受け取るのは命令レジスタの役です。四つの中でこれだけが位置ではなく中身を持つので、指し示すという働きからは外れます。
- エ割込みの許可状態,及び条件分岐の判断に必…:割込みを受け付けてよいかどうかや、演算の結果として残る印を保つのは状態を表すレジスタの役です。条件分岐はその印を読みますが、積み下ろしの位置とは別の情報です。
出典:平成28年度 春期 応用情報技術者試験 午前 問8
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)