平成29年度 春期 午前 問22
コンピュータ構成要素
最初の割込みが発生するまでの時間
16 ビットのダウンカウンタを用い,カウンタの値が 0 になると割込みを発生するハードウェアタイマがある。カウンタに初期値として 10 進数の 150 をセットしてタイマをスタートすると,最初の割込みが発生するまでの時間は何マイクロ秒か。ここで,タイマの入力クロックは 16MHz を 32 分周したものとする。
- ア0.3
- イ2
- ウ150
- エ300
答えと解説を見る
✓ これが正解エ300
解説
2 マイクロ秒を 150 回数えるので 300 になります。
設問は、ダウンカウンタに 150 をセットしてから最初の割込みが起きるまでの時間を求めさせています。手順は三段です。第一段は分周で、分周とは割ることですから、16MHz を 32 分周したクロックの周波数は 0.5MHz、すなわち 500,000 ヘルツになります。第二段は 1 カウントに掛かる時間で、周期は周波数の逆数ですから、1 を 500,000 で割って 0.000002 秒、つまり 2 マイクロ秒です。もとのクロックの 1 周期 0.0625 マイクロ秒を 32 倍しても同じ値になり、二通りで一致します。第三段はカウント数を掛ける段で、150 から 0 まで落ちるので 150 カウント、2 マイクロ秒の 150 倍で 300 マイクロ秒になります。なお 16 ビットという条件は数えられる上限が 65,535 までであることを示すだけで、150 がその範囲に収まるという確認にしか使いません。単位を書きながら降りると、周波数のメガと時間のマイクロが打ち消し合うことも見えます。
ほかの選択肢はなぜ違うのか
- ア0.3:位取りを三けた取り違えた値です。ミリ秒とマイクロ秒を読み替えてしまうとこの数が出てきますが、設問が求めている単位はマイクロ秒のままなので当てはまりません。
- イ2:分周したあとに一回数えるのに掛かる長さそのものです。途中で得られる値であって、初期値のぶんだけ数え終わるまでにかかる時間にはなっていません。
- ウ150:セットした初期値をそのまま時間として読んだ値です。一回ぶんが一マイクロ秒だと思い込むとこうなりますが、分周した後の周期は別に求める必要があります。
出典:平成29年度 春期 応用情報技術者試験 午前 問22
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)