メモリインタリーブ

問題

応用情報技術者 平成28年秋期 午前問10

メモリインタリーブの目的として,適切なものはどれか。

  • 同一のバンクに連続してアクセスしたとき,アクセス時間を短くする。
  • 同一のバンクの連続したアドレスにアクセスしたとき,キャッシュミス発生時のアクセス時間を短くする。
  • 一つのバンクが故障しても,システムが停止しないようにする。
  • 複数のバンクに割り振った連続したアドレスにアクセスしたとき,アクセス時間を短くする。

答え

複数のバンクに割り振った連続したアドレスにアクセスしたとき,アクセス時間を短くする。

解説

「メモリインタリーブ」とは、メモリをインタリーブする、つまりメモリを不連続にすることで、メモリの性能を向上させる技法です。

インターリーブ

インタリーブとは、「メモリインタリーブ」だけに使われる単語ではなく、わざと「不連続」にすることで「性能を向上させる」技法全般を指します。

元々の意味は、inter(間に)leave(残す)で、「差し挟む」ことを意味しています。


インターリーブまたはインターリービング: Interleaving)は計算機科学電気通信において、データを何らかの領域(空間、時間、周波数など)で不連続な形で配置し、性能を向上させる技法を指す。


主に以下のような用途がある。


誤り検出訂正に使う。特にデータ転送ディスク・ストレージ記憶装置など。


共通の媒体への複数の入力の多重化に使う。電気通信では動的帯域割当機構を通して実装され、特にQOSレイテンシの問題解決に使う。ストリーミング用途では、映像など複数の入力ストリームを擬似的に同時に受信することを可能にする。


コンピュータの記憶装置のアクセス性能を向上させるのに使う。例えば、ディスク・ストレージでの不連続な領域使用、メモリのインターリーブ、メモリ割り当て戦略の一種であるページ・カラーリング技法などがある。


出典: フリー百科事典『ウィキペディア(Wikipedia)』

メモリインタリーブ

メモリインタリーブ(memory interleaving)とは、主記憶をバンクと呼ばれるグループに分け、複数のバンクに並行的にアクセスすることで、主記憶へのアクセスの高速化を図る仕組みのことです。


4つのバンクを持つメモリインタリーブの例。赤はリフレッシュ中で使うことができない部分。結果として高速化されている。

主記憶へのアクセスには局所性がある、つまり、ある短い時間内では、狭いアドレス空間で連続したアドレスへとアクセスする傾向があります。

よって、連続したアドレスを複数のバンクへ別々に配置することで、 並列的にアドレスへアクセスできる可能性が高まるので、主記憶の高速化につながります。

メモリ・インターリーブ (memory interleave)


メモリインターリーブ: memory interleaving)とは、主記憶装置CPUとの間のデータ転送を高速化する方法の一つである。
CPUの処理速度と比較し、主記憶装置へのアクセス時間は遅い。そのため、CPUからのデータ転送要求が行われてから実際にデータが転送終了されるまでの間、処理が待たされることになり、CPUの処理能力を十分に発揮できない。
それを解消するために、主記憶装置を複数のメモリバンクに分割し、CPUからのデータ転送要求を同時に(またはごく短いタイムラグをはさんで)複数のメモリバンクに発行する。それにより、CPUの待ち時間を極小化し、高速化することができる。


出典: フリー百科事典『ウィキペディア(Wikipedia)』