修了試験 2020-12-13実施分 基本情報技術者試験 問12
メイン処理,及び表に示す二つの割込みA,Bの処理があり,多重割込みが許可されている。 割込みA,Bが図のタイミングで発生するとき,0ミリ秒から5ミリ秒までの間にメイン処理が利用できるCPU時間は何ミリ秒か。 ここで,割込み処理の呼出し及び復帰に伴うオーバヘッドは無視できるものとする。

正答1
解説
正解は1です。 表から、割込みAは処理時間0.5ミリ秒で優先度が高く、割込みBは処理時間1.5ミリ秒で優先度が低いことがわかります。 図では、割込みBが0ミリ秒と5ミリ秒に、割込みAが1ミリ秒、2.5ミリ秒、3.5ミリ秒に発生しています。 多重割込みが許可されているので、Bの処理中にAが発生するとAが割り込み、Aの終了後にBの残りを再開します。 メイン処理は、どの割込み処理も動いていない時間だけCPUを使えます。 【計算】 0〜1ミリ秒は、割込みBを1ミリ秒処理します(Bの残りは0.5ミリ秒)。 1〜1.5ミリ秒は、優先度の高い割込みAを処理します。 1.5〜2ミリ秒は、割込みBの残り0.5ミリ秒を処理して終了します。 2〜2.5ミリ秒は、メイン処理が0.5ミリ秒使えます。 2.5〜3ミリ秒は、割込みAを処理します。 3〜3.5ミリ秒は、メイン処理が0.5ミリ秒使えます。 3.5〜4ミリ秒は、割込みAを処理します。 4〜5ミリ秒は、メイン処理が1ミリ秒使えます。 メイン処理の合計は、0.5+0.5+1=2ミリ秒です。 【選択肢別解説】 1:○ 上のとおり、メイン処理が使える時間は合計2ミリ秒です。 割込み処理の合計はA3回の1.5ミリ秒とB1回の1.5ミリ秒で3ミリ秒となり、5ミリ秒から引いても2ミリ秒になります。 2:× 2.5ミリ秒は、割込みAを2回分(1ミリ秒)しか数えなかった場合などの値です。 図ではAが3回発生しているので、メイン処理は2ミリ秒です。 3:× 3.5ミリ秒は、割込みBの処理時間1.5ミリ秒だけを引いた値です。 割込みA3回分の1.5ミリ秒も差し引く必要があります。 4:× 5ミリ秒は、割込み処理を全く考慮しない値です。 0〜5ミリ秒の間に割込み処理が合計3ミリ秒入ります。 【ポイント】 割込み処理の時間を時系列で並べると、多重割込みの順序を取り違えずに済みます。 5ミリ秒時点のBは区間の終端で発生するので、この区間のCPU時間には影響しません。まとめて解く
修了試験 2020-12-13実施分を通しで解く(80問)→