内蔵ROMと外部ROMのバス幅およびアクセスサイクル差に伴う実行時間比較

外部ROMと内蔵ROMにおける命令フェッチ処理時間をステップ順に比較計算します。 1. クロック1サイクルの周期 : クロック周波数はともに $16\,\text{MHz} = 16 \times 10^6\,\text{Hz}$ です。 $$T_{\text{clk}} = \frac{1}{16 \times 10^6} = 62.5 \times 10^{-9}\,\text{秒} = 62.5\,\text{ns}$$ 2. 外部ROMの所要時間から命令長を逆算 : - 外部ROMのバス幅は 8ビット(1バイト)です。 - 1回のアクセス(1バイト読出し)に 4クロック要するため、1バイトフェッチ所要時間は: $$4 \times 62.5\,\text{ns} = 250\,\text{ns}$$ - 外部ROMでの命令実行処理時間が $1\,\mu\text{s} = 1,000\,\text{ns}$ であったため、メモリアクセス回数は: $$\frac{1,000\,\text{ns}}{250\,\text{ns/回}} = 4\,\text{回}$$ - 1回あたり1バイト読み出すため、この命令のコード長は 4バイト(32ビット) であることが分かります。 3. 内蔵ROMでの処理時間の算出 : - 内蔵ROMのバス幅は 32ビット(4バイト)です。 - 命令は4バイトバウンダリに配置されているため、 1回のアクセス(1回の読出し) で4バイト命令全体を同時にフェッチできます。 - 内蔵ROMのアクセスサイクルは 2クロックであるため、処理時間は: $$2 \times 62.5\,\text{ns} = 125\,\text{ns}$$ したがって、内蔵ROMに置いた場合の処理時間は 125ナノ秒 であり、正解は イ です。 ア: 1クロック分の時間(62.5 ns)そのものです。 ウ: 内蔵ROMで4クロック要した場合、または外部ROMの1バイト読出し時間(250 ns)です。 エ: 命令長やバス幅の比率計算を取り違えた誤算です。

内蔵 ROM 又は外部 ROM に置いたプログラムを実行できる MPU がある。この MPU のバス幅,アクセスサイクル,クロック周波数の仕様を表に示す。この MPU で,外部 ROM に置かれたある命令を実行したところ,処理時間は 1マイクロ秒だった。同じ命令を内蔵 ROM に置いて処理した場合,処理時間は何ナノ秒か。ここで,この命令はバスアクセス時間内に実行が完了し,命令は4バイトバウンダリで配置されているものとする。 | 項目 | 内蔵 ROM | 外部 ROM | | :--- | :---: | :---: | | バス幅(ビット) | 32 | 8 | | アクセスサイクル(クロック) | 2 | 4 | | クロック周波数(Hz) | 16M | 16M |

問題画像
出典令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問14
ア
62.5
イ
125
ウ
250
エ
500