メモリインターリーブ
【英】memory interleave
メモリインターリーブとは、メモリへのアクセスを高速化する技法のひとつで、ブロック分けされたメモリ(メモリバンク)の複数に対して同時・並行的にアクセスすることでデータ転送速度を向上する技法のことである。
メモリに読み書きを行う際、CPUからのアクセス要求を受けたメモリが読み書きできるように準備を整えるまでに、若干の時間差(レイテンシ)が生じてしまう。メモリへのアクセスは頻繁に行われるので、このレイテンシの積み重ねがコンピューターの処理速度そのものの低下を招いている。レイテンシを短縮する技術の開発は常に試みられているが、CPUの記憶素子の速度に追いつくことは困難である。もしくは、レイテンシの短いメモリは高価である。
他方、メモリへのアクセス要求は、ある短い時間内では局所へ集中する傾向が極めて強く、連続した狭いアドレス空間に順次読み書きを行おうとする特性がある。メモリインターリーブはこの特性を利用して、複数のメモリバンクに渡って連続したアドレスを交互に割り振っておき、あるデータへのアクセスで生じた遅延時間の間に次のアドレスへアクセス要求を発信し、空白時間を埋めようとする技法であるといえる。
メモリインターリーブは、レイテンシの長いかわりに安価なメモリで、レイテンシの短縮が可能である利点があるが、その反面、メモリの制御が複雑になりコストが高くつく、あるいは増設されるメモリモジュールの数も増えて保守管理が難しくなる、といった難点もある。そのためサーバーやワークステーションといった、あくまで高い性能が要求されるシステムで用いられる場合が大半となる。最近では、パソコンでもメモリインターリーブが採用されていることがあるが、その際メモリの増設に当っては同じ容量で同じ種類のメモリモジュールを用意しなくてはならなくなる。
|