平成29年度 春期 午前Ⅱ 問2
プロセッサ
内部割込みの要因
内部割込みの要因として,適切なものはどれか。
- アDMA 転送が完了した。
- イインターバルタイマが満了した。
- ウ演算がオーバフローした。
- エ電源電圧の低下を検出した。
答えと解説を見る
✓ これが正解ウ演算がオーバフローした。
解説
演算のオーバフローは実行中の命令が原因なので内部割込みです。
割込みは、原因がどこにあるかで内部割込みと外部割込みに分けられます。内部割込みは、実行中のプログラム自身が原因で起こるもので、演算のオーバフロー、ゼロによる除算、存在しない命令の実行、ページフォールトなどが該当します。演算がオーバフローしたのは、CPU がいま実行している命令の結果として起きた事象なので、内部割込みの要因です。これに対して、DMA コントローラ、タイマ、電源の監視回路のように、CPU の外側にある装置が知らせてくるものは外部割込みです。その事象を起こしたのが実行中の命令か、外の装置か、を問うと判断できます。
ほかの選択肢はなぜ違うのか
- アDMA 転送が完了した。:DMA 転送の完了は、CPU を介さずにデータを運んでいた DMA コントローラが、作業の終わりを CPU に知らせるものです。CPU の外にある装置が発生源なので、外部割込みに分類されます。
- イインターバルタイマが満了した。:インターバルタイマの満了は、一定時間ごとに時間切れを知らせるタイマ装置から届く通知です。実行中の命令の結果ではなく、外の装置が原因で起こるため、外部割込みに入ります。
- エ電源電圧の低下を検出した。:電源電圧の低下の検出は、電源の異常を見張る回路から CPU へ伝えられます。プログラムの実行とは関係なく装置の側で起きる事象なので、機械チェック割込みなどの外部割込みの要因です。
出典:平成29年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)