平成30年度 秋期 午前 問10
コンピュータ構成要素
割込みに関する問題
割込み処理の終了後に,割込みによって中断された処理を割り込まれた場所から再開するために,割込み発生時にプロセッサが保存するものはどれか。
- アインデックスレジスタ
- イデータレジスタ
- ウプログラムカウンタ
- エ命令レジスタ
答えと解説を見る
✓ これが正解ウプログラムカウンタ
解説
次に実行する命令の番地を、覚えておく必要があります。
割込みが起きると、処理装置は動かしていた仕事をいったん中断し、割込みに応じる処理へ移ります。応じ終えたあとに元の続きへ戻るには、どこまで進んでいたかが分かっていなければなりません。その位置を保持しているのがプログラムカウンタで、次に実行する命令の置かれた番地を指しています。割込みを受け付けた時点で、この値を安全な場所へ退避しておきます。退避先には主記憶上の決められた領域が使われます。処理が終わったら退避した値を戻し、指された番地から実行を再開します。中断した場所へ正確に帰れるかどうかは、この値が保たれているかで決まります。演算の途中経過を持つ他の記憶場所も併せて退避されますが、戻る先を決めるのはこの値です。退避と復元をひとまとまりで行うことで、中断があったことを元の処理から見えなくします。
ほかの選択肢はなぜ違うのか
- アインデックスレジスタ:配列などの要素をたどるときに、基準からのずれを保持する用途で使われます。アドレス計算に使う値を持つ役目であって、どこまで進んだかを示す役目ではありません。復帰する位置を決める情報は、ここには入っていません。
- イデータレジスタ:演算の対象や結果を一時的に置いておく場所です。中断からの復帰でこの内容も併せて退避されますが、戻る場所そのものを示してはいません。問われているのは、再開する位置を決めるほうの値になります。戻り先を持つのは別の場所です。
- エ命令レジスタ:いま解読している命令そのものを保持しています。保持しているのは実行中の1個ぶんで、その次がどこにあるかまでは示しません。命令の中身と、命令の置かれた場所は別の情報として扱われます。次に進む先までは示せず、再開の手掛かりになりません。
出典:平成30年度 秋期 基本情報技術者試験 午前 問10
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)