令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問14
内蔵ROM又は外部ROMに置いたプログラムを実行できるMPUがある。このMPUのバス幅,アクセスサイクル,クロック周波数の仕様を表に示す。このMPUで,外部ROMに置かれたある命令を実行したところ,処理時間は 1 マイクロ秒だった。同じ命令を内蔵ROMに置いて処理した場合,処理時間は何ナノ秒か。ここで,この命令はバスアクセス時間内に実行が完了し,命令は 4 バイトバウンダリで配置されているものとする。

図の説明テキスト
| 項目 | 内蔵ROM | 外部ROM |
|---|---|---|
| バス幅(ビット) | 32 | 8 |
| アクセスサイクル(クロック) | 2 | 4 |
| クロック周波数(MHz) | 16 | 16 |
解答・解説
正解: イ. 125
正解の根拠
まず、MPUの1クロックあたりの時間を求めます。
クロック周波数は16MHzであるため、1クロックの時間は以下のようになります。
次に、外部ROMに置かれた命令のデータサイズを求めます。
表の通り、外部ROMのバス幅は8ビット(1バイト)で、アクセスサイクルは4クロックです。
1回のアクセスにかかる時間は以下の通りです。
外部ROMでの処理時間が1マイクロ秒であるため、命令の読み出しに必要なアクセス回数は以下の通りです。
1回のアクセスで1バイトを読み出せるため、この命令のデータサイズは以下の通りです。
最後に、同じ命令を内蔵ROMで実行した場合の処理時間を求めます。
表の通り、内蔵ROMのバス幅は32ビット(4バイト)で、アクセスサイクルは2クロックです。
命令は4バイトバウンダリで配置されているため、4バイトの命令は1回のアクセスで読み出すことができます。
したがって、内蔵ROMでの処理時間は1回分のアクセス時間となり、以下の通り計算できます。
各選択肢の解説
ア: 62.5です。1クロック分の時間(62.5ナノ秒)に相当する計算結果であるため誤りです。
イ: 125です。正しい処理時間であり、正解です。
ウ: 250です。外部ROMに対する1回分のアクセス時間(250ナノ秒)に相当する計算結果であるため誤りです。
エ: 500です。内蔵ROMでの正しい処理時間は125ナノ秒であるため誤りです。