基本情報技術者試験「メモリインタリーブ」の問題
1回のアクセスに200ナノ秒を要する主記憶を4個のバンクに分け、連続するアドレスを各バンクへ順番に割り当てる4ウェイのメモリインタリーブを構成する。連続したアドレスへ続けてアクセスし4バンクを完全に並列動作させられる理想状態のとき、1アドレスあたりの平均実効アクセス時間はおよそ何ナノ秒か。
ア変化せず200ナノ秒のまま
イ4倍に増えて800ナノ秒
ウ100ナノ秒
エおよそ50ナノ秒
正解
エ.およそ50ナノ秒
メモリインタリーブは連続アドレスを複数バンクに分散し並列動作させる。4ウェイで完全並列なら200ナノ秒で4アドレス分を処理できるので、1アドレスあたりは200÷4=50ナノ秒となり正しい。
?選択肢ごとの解説
ア ×200ナノ秒のままはインタリーブによる並列化の効果を考慮せず、単一バンクの時間をそのまま答えた誤りである。
イ ×800ナノ秒は並列化を逆に直列の合計とみなした誤りで、4倍に増えるという結論は並列動作の趣旨に反する。
ウ ×100ナノ秒は2ウェイ(200÷2)で計算した誤りであり、本問は4ウェイなので4で割る必要がある。
エ ○メモリインタリーブは連続アドレスを複数バンクに分散し並列動作させる。4ウェイで完全並列なら200ナノ秒で4アドレス分を処理できるので、1アドレスあたりは200÷4=50ナノ秒となり正しい。
✎くわしく
メモリインタリーブは1バンクのアクセス周期を変えずに、連続アドレスを複数バンクへ振り分けて見かけ上のスループットを高める手法である。Nウェイで完全並列なら平均アクセス時間は1/Nに近づく。ただしランダムアクセスや同一バンク連続では効果が薄れる点に注意する。
✓本番での押さえどころ
試験のコツ
理想的なインタリーブでは平均時間=単一バンク時間÷ウェイ数。ウェイ数を正しく読み取り割り算を適用する。
覚え方
インタリーブ=『複数の窓口で同時に受付』。窓口を4つにすれば待ち時間は4分の1、と覚える。
よくある誤り
ウェイ数で割らずに元の時間を答える、ウェイ数を取り違えて2で割る、並列化を直列の加算と誤る間違いが多い。
コンピュータ構成要素の他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0164