令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問14
テクノロジ/コンピュータ構成要素内蔵 ROM 又は外部 ROM に置いたプログラムを実行できる MPU がある。この MPU のバス幅,アクセスサイクル,クロック周波数の仕様を表に示す。この MPU で,外部 ROM に置かれたある命令を実行したところ,処理時間は 1 マイクロ秒だった。同じ命令を内蔵 ROM に置いて処理した場合,処理時間は何ナノ秒か。ここで,この命令はバスアクセス時間内に実行が完了し,命令は 4 バイトバウンダリで配置されているものとする。 バス幅(ビット):内蔵 ROM 32,外部 ROM 8 アクセスサイクル(クロック):内蔵 ROM 2,外部 ROM 4 クロック周波数(MHz):内蔵 ROM 16,外部 ROM 16 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:令和4年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問14
- ア62.5
- イ125
- ウ250
- エ500
正解:イ
解説
外部 ROM はバス幅 8 ビットでアクセスサイクル 4 クロック,内蔵 ROM はバス幅 32 ビットでアクセスサイクル 2 クロックです。命令は 4 バイトバウンダリに配置されているため,4 バイト(32 ビット)の命令を読み出すのに,バス幅 8 ビットの外部 ROM では 4 回のバスアクセスが必要ですが,バス幅 32 ビットの内蔵 ROM では 1 回のバスアクセスで読み出せます。クロック周波数はどちらも 16MHz で同じなので,1 クロックの時間は 1/16MHz = 62.5 ナノ秒です。外部 ROM でのアクセス時間は,4 回 × 4 クロック × 62.5 ナノ秒 = 1,000 ナノ秒(1 マイクロ秒)となり,問題文の「処理時間は 1 マイクロ秒だった」という条件と一致します。内蔵 ROM でのアクセス時間は,1 回 × 2 クロック × 62.5 ナノ秒 = 125 ナノ秒です。
選択肢ごとの解説
- ア誤り。62.5 ナノ秒は 1 クロックの時間であり,内蔵 ROM のアクセスサイクルである 2 クロック分を掛け忘れた値です。
- イ正しい。内蔵 ROM は 1 回のバスアクセスで 4 バイトの命令を読み出せ,アクセスサイクル 2 クロック × 62.5 ナノ秒 = 125 ナノ秒で処理が完了します。
- ウ誤り。外部 ROM での 1 回のバスアクセス時間(4 クロック × 62.5 ナノ秒 = 250 ナノ秒)に相当する値であり,内蔵 ROM の処理時間ではありません。
- エ誤り。外部 ROM で 4 回のバスアクセスを行う合計時間の半分に当たる値であり,内蔵 ROM の実際のアクセス回数やアクセスサイクルを反映していません。