平成26年度 春期 午前 問9
コンピュータ構成要素
多重割込みに関する問題
メイン処理,及び表に示す二つの割込み A,B の処理があり,多重割込みが許可されている。割込み A,B が図のタイミングで発生するとき,0 ミリ秒から 5 ミリ秒までの間にメイン処理が利用できる CPU 時間は何ミリ秒か。ここで,割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。
〔表〕
割込み │ 処理時間(ミリ秒)│ 割込み優先度
A │ 0.5 │ 高
B │ 1.5 │ 低
〔図〕
割込みAの発生 … 1 ミリ秒 / 2.5 ミリ秒 / 3.5 ミリ秒 割込みBの発生 … 0 ミリ秒 / 5 ミリ秒 (横軸は時間(ミリ秒)で 0 から 5 まで。注記: 矢印は,割込みの発生タイミングを示す。)
- ア2
- イ2.5
- ウ3.5
- エ5
答えと解説を見る
✓ これが正解ア2
解説
時間の帯を書き、優先度の高いものから塗ります。
設問は、0 ミリ秒から 5 ミリ秒までの間にメイン処理が使える CPU 時間を問うています。多重割込みが許可されているので、何かを処理している最中でも、優先度の高いほうの割込みは割り込めます。時間の帯を一本書いて順に埋めていきます。0 の時点で優先度の低いほうが始まり、1.0 で優先度の高いほうが発生して割り込むので、1.0 から 1.5 まではそちらが走ります。低いほうは 1.5 から 2.0 で残りを終え、2.0 から 2.5 がメイン処理に回ります。2.5 と 3.5 にも高いほうが発生してそれぞれ 0.5 ずつ走るため、メイン処理が得られるのは 3.0 から 3.5 と、4.0 から 5.0 です。足すと 0.5 と 0.5 と 1.0 で 2 ミリ秒になります。5 の時点の発生は区間の終わりなので数えません。塗り終えたら合計を確かめます。高いほうが 1.5、低いほうが 1.5、メイン処理が 2.0 で、合わせてちょうど 5.0 となり、抜けも重なりもありません。
ほかの選択肢はなぜ違うのか
- イ2.5:三度発生した高いほうの処理を二度ぶんしか差し引かないと、この値になります。発生の時刻を図から数え落としたことになります。
- ウ3.5:処理時間が 1.5 ミリ秒のほうだけを引いた形です。もう一方に取られた 1.5 ミリ秒ぶんが、そのまま残ったままになっています。
- エ5:区間の長さをそのまま答えた形で、割込みに取られた時間を一度も差し引いていません。CPU はどちらの処理にも使われています。
出典:平成26年度 春期 応用情報技術者試験 午前 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)