令和4年度 秋期 午前Ⅱ 問14
バス
バス幅に関する問題
内蔵 ROM 又は外部 ROM に置いたプログラムを実行できる MPU がある。この MPU のバス幅,アクセスサイクル,クロック周波数の仕様を表に示す。この MPU で,外部 ROM に置かれたある命令を実行したところ,処理時間は 1 マイクロ秒だった。同じ命令を内蔵 ROM に置いて処理した場合,処理時間は何ナノ秒か。ここで,この命令はバスアクセス時間内に実行が完了し,命令は 4 バイトバウンダリで配置されているものとする。
| 項目 | 内蔵 ROM | 外部 ROM |
|---|---|---|
| バス幅(ビット) | 32 | 8 |
| アクセスサイクル(クロック) | 2 | 4 |
| クロック周波数(MHz) | 16 | 16 |
- ア62.5
- イ125
- ウ250
- エ500
答えと解説を見る
✓ これが正解イ125
解説
4バイトの命令は32ビットバスなら1回、2クロックで読めて125ナノ秒です。
クロック周波数は16MHzなので、1クロックは1÷16MHz=62.5ナノ秒です。外部ROMでの処理時間1マイクロ秒は1,000÷62.5=16クロックにあたります。外部ROMはバス幅8ビットで、1回のアクセスが4クロックなので、16クロックは4回のアクセス、つまり4バイトの読出しに相当し、命令は4バイトとわかります。内蔵ROMはバス幅32ビット、つまり4バイトなので、この命令を1回のアクセスで読め、1回は2クロックですから2×62.5=125ナノ秒です。バス幅で決まるアクセス回数と、1回当たりのクロック数を掛け合わせて考えるのがポイントです。
ほかの選択肢はなぜ違うのか
- ア62.5:62.5ナノ秒は1クロック分の時間です。内蔵ROMでも1回のアクセスに2クロックかかるので、1クロック分だけでは命令を読み終えることができません。
- ウ250:250ナノ秒は4クロック分の時間です。内蔵ROMは32ビットのバスで4バイトを1回で読め、そのアクセスは2クロックで済むので、4クロックかかるとすると多すぎます。
- エ500:500ナノ秒は8クロック分で、内蔵ROMの2クロックのアクセスを外部ROMと同じく4回に分けて行った場合の時間です。32ビットのバスなら4バイトは1回で読めるので、アクセス回数を多く数えすぎています。
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問14
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)