SLnavkのブログ

組み込みソフト開発をしています

メモリアクセス速度

令和6年秋期 問10

問題

WAIT が入らないときには4クロックでメモリアクセスする MPUがある。メモリアクセスが最も速い組合せはどれか。

クロック周波数 WAIT サイクル
8 MHz 0クロック
10 MHz 1クロック
12.5 MHz 2クロック
16 MHz 3クロック

出典: 令和6年秋期 午前Ⅱ 問10

爆速解法

アクセス時間が最小のものを選べば良い。値の大小を比較するだけであれば、各選択肢で固定の部分は無視して変動する部分だけを比較する。
ア. 4/8
イ. 5/10
ウ. 6/12.5
エ. 7/16
アとイは0.5とわかる。ウとエは分母の値が分子の2倍以上であるためアとイより値が小さい。
ウとエで値が小さい方を選ぶ際、逆数を計算し値が大きい方を選ぶと暗算しやすい。

\frac{12.5}{6} \sim 2.0... \lt  \frac{16}{7} \sim 2.2...
こうすることで二桁まで計算で値の比較ができる。答えエ.

じっくり解説

各設問の1クロックあたりの所要時間を計算し、メモリアクセスに必要なクロック数と積を取ることでメモリアクセス時間が求められる。これが最小のものを選ぶ。
1クロックあたりの所要時間は周波数の逆数から求められる。
メモリアクセスに必要なクロック数は4+WAITである。

ア. の場合

1/8 \, \mathrm{MHz} \times (4 + 0) = 1/8 \, \mathrm{μs} \times 4 = 0.5 \, \mathrm{μs}

イ. の場合

1/10 \, \mathrm{MHz} \times (4 + 1) = 1/10 \, \mathrm{μs} \times 5 = 0.5 \, \mathrm{μs}

ウ. の場合

1/12.5 \, \mathrm{MHz} \times (4 + 2) = 1/12.5 \, \mathrm{μs} \times 6 = 0.48 \, \mathrm{μs}

エ. の場合

1/16 \, \mathrm{MHz} \times (4 + 3) = 1/16 \, \mathrm{μs} \times 7 = 0.4375 \, \mathrm{μs}

よって答えエ.