メモリー‐インターリーブ【memory interleave】
読み方:めもりーいんたーりーぶ
メモリインターリーブ
メモリインターリーブとは、メモリへのアクセスを高速化する技法のひとつで、ブロック分けされたメモリ(メモリバンク)の複数に対して同時・並行的にアクセスすることでデータ転送速度を向上する技法のことである。
メモリに読み書きを行う際、CPUからのアクセス要求を受けたメモリが読み書きできるように準備を整えるまでに、若干の時間差(レイテンシ)が生じてしまう。メモリへのアクセスは頻繁に行われるので、このレイテンシの積み重ねがコンピューターの処理速度そのものの低下を招いている。レイテンシを短縮する技術の開発は常に試みられているが、CPUの記憶素子の速度に追いつくことは困難である。もしくは、レイテンシの短いメモリは高価である。
他方、メモリへのアクセス要求は、ある短い時間内では局所へ集中する傾向が極めて強く、連続した狭いアドレス空間に順次読み書きを行おうとする特性がある。メモリインターリーブはこの特性を利用して、複数のメモリバンクに渡って連続したアドレスを交互に割り振っておき、あるデータへのアクセスで生じた遅延時間の間に次のアドレスへアクセス要求を発信し、空白時間を埋めようとする技法であるといえる。
メモリインターリーブは、レイテンシの長いかわりに安価なメモリで、レイテンシの短縮が可能である利点があるが、その反面、メモリの制御が複雑になりコストが高くつく、あるいは増設されるメモリモジュールの数も増えて保守管理が難しくなる、といった難点もある。そのためサーバーやワークステーションといった、あくまで高い性能が要求されるシステムで用いられる場合が大半となる。最近では、パソコンでもメモリインターリーブが採用されていることがあるが、その際メモリの増設に当っては同じ容量で同じ種類のメモリモジュールを用意しなくてはならなくなる。
メモリインターリーブ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/14 15:28 UTC 版)
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2009年9月) |
メモリインターリーブ(英: memory interleaving)とは、主記憶装置とCPUとの間のデータ転送を高速化する方法の一つである。
CPUの処理速度と比較し、主記憶装置へのアクセス時間は遅い。したがって、CPUからのデータ転送要求が行われてから実際にデータが転送終了されるまでの間、処理が待たされることになり、CPUの処理能力を十分に発揮できない。
それを解消するために、主記憶装置を複数のメモリバンクに分割し、CPUからのデータ転送要求を同時に(またはごく短いタイムラグをはさんで)複数のメモリバンクに発行する。それにより、CPUの待ち時間を極小化し、高速化することができる。
2010年現在のパソコンで広く使われているデュアルチャネル、トリプルチャネルはメモリインターリーブの一例であり、2個ないし3個のバンクを同期して読み書きすることで高速化を図っている[1]。
しかしながらメモリインターリーブとはより包括的な概念であり、各バンクの読み書きは完全に同期している必要はなく、いくらかのズレがあってもよい。
富士通PRIMEPOWERで実装されているメモリインターリーブ機構は、各バンクの読み込みについてそれぞれが完了するまでの時間内に次のアクセスをオーバーラップさせながら行う。例えば4バンクを順に読んだ場合24クロック必要のところが15クロックまで短縮できることが概念図で示されている。[2]
いずれにおいても各バンクのメモリは協調させながら読み書きを行う必要がある。したがって、メモリモジュールの駆動周波数および容量については同一、もしくは著しい制限があり、通常各バンクは同じ駆動周波数、同一容量であることが要求される。
出典・脚注
関連項目
- メモリインターリーブのページへのリンク