平成23年度 特別 午前Ⅱ 問1
プロセッサ
割込みが発生するまでの時間
16ビットのダウンカウントのカウンタを用い,そのカウンタの値が0になると割込みを発生するハードウェアタイマがある。カウンタに初期値として10進数の150をセットしてタイマをスタートすると,最初の割込みが発生するまでの時間は何マイクロ秒か。ここで,タイマクロックは16MHzを32分周したものとする。
- ア0.3
- イ2
- ウ150
- エ300
答えと解説を見る
✓ これが正解エ300
解説
1カウント2マイクロ秒を150回数えるので、300マイクロ秒です。
タイマの時間は、カウンタに入るクロック1回分の周期を求め、それに数える回数を掛けて出すのが軸です。タイマクロックは16MHzを32分周したものなので、16MHz÷32=0.5MHzで、1周期は1÷0.5MHz=2マイクロ秒です。カウンタは初期値150から1ずつ減り、0になるまでに150回数えます。したがって最初の割込みまでの時間は150×2マイクロ秒=300マイクロ秒で、300の肢と一致します。16ビットという幅は数えられる上限を決めるだけで、150はその範囲に収まるので計算には影響しません。分周後の周波数、周期、回数の順に並べて計算すると、単位の取り違えを防げます。
ほかの選択肢はなぜ違うのか
- ア0.3:0.3は、正しい300マイクロ秒をミリ秒で表した値(0.3ミリ秒)と同じ数字です。設問はマイクロ秒で問うているので、単位をそろえると300になり、0.3にはなりません。
- イ2:2マイクロ秒は、分周後のタイマクロック1周期分の長さです。カウンタは初期値150から0まで150回数えてから割込みを出すので、この値に回数を掛ける前の段階の数字です。
- ウ150:150は初期値の回数そのもので、1カウントを1マイクロ秒とみなしたときの値になります。実際の1カウントは16MHzを32分周した0.5MHzの周期なので、2マイクロ秒です。
出典:平成23年度 特別 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問1
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)