メモリインターリーブ
表示
(メモリーインターリーブから転送)
![]() |
メモリインターリーブ(英: memory interleaving)とは、主記憶装置とCPUとの間のデータ転送を高速化する方法の一つである。
CPUの処理速度と比較し、主記憶装置へのアクセス時間は遅い。したがって、CPUからのデータ転送要求が行われてから実際にデータが転送終了されるまでの間、処理が待たされることになり、CPUの処理能力を十分に発揮できない。
それを解消するために、主記憶装置を複数のメモリバンクに分割し、CPUからのデータ転送要求を同時に(またはごく短いタイムラグをはさんで)複数のメモリバンクに発行する。それにより、CPUの待ち時間を極小化し、高速化することができる。
2010年現在のパソコンで広く使われているデュアルチャネル、トリプルチャネルはメモリインターリーブの一例であり、2個ないし3個のバンクを同期して読み書きすることで高速化を図っている[1]。
しかしながらメモリインターリーブとはより包括的な概念であり、各バンクの読み書きは完全に同期している必要はなく、いくらかのズレがあってもよい。
富士通PRIMEPOWERで実装されているメモリインターリーブ機構は、各バンクの読み込みについてそれぞれが完了するまでの時間内に次のアクセスをオーバーラップさせながら行う。例えば4バンクを順に読んだ場合24クロック必要のところが15クロックまで短縮できることが概念図で示されている。[2]
いずれにおいても各バンクのメモリは協調させながら読み書きを行う必要がある。したがって、メモリモジュールの駆動周波数および容量については同一、もしくは著しい制限があり、通常各バンクは同じ駆動周波数、同一容量であることが要求される。