メモリインタリーブ(めもりいんたりーぶ)

主記憶を独立して動作する複数の区画(バンク)に分割し、連続したアドレスを異なるバンクに順番に割り当てることで、複数箇所への読み書きを並行して進め、見かけ上のアクセス速度を高める主記憶の高速化技法。

詳細解説

DRAMで構成される主記憶は、1回の読み書きを終えてから次のアクセスを受け付けられるまでに回復の時間が必要で、連続したアクセスの間隔(サイクルタイム)はアクセス時間より長くなります。そこでメモリ空間をバンクと呼ばれる単位に分け、連続するメモリアドレスを各バンクへ交互に配置すると、あるバンクが動作を終えるのを待つ間に次のバンクへのアクセスを開始でき、この回復の時間を隠してデータ転送効率を引き上げられます。プログラムの命令フェッチや配列処理、キャッシュメモリのブロック転送のように連続した領域をまとめて読み書きする場面で大きな効果を発揮しますが、同一バンクへのアクセスが続く場合は並列動作ができず高速化の恩恵を受けられません。CPUと主記憶の間に高速な小容量メモリを置くキャッシュメモリや、補助記憶装置を用いてアドレス空間を広げる仮想記憶とは異なり、主記憶そのものの構成を工夫してスループットを向上させる仕組みです。

メモリインタリーブが問われた過去問

関連する分野

ハードウェア メモリ・キャッシュ

用語集の一覧へ