メモリレベルの並列処理

コンピュータ アーキテクチャにおいてメモリ レベルの並列処理( MLP ) とは、特にキャッシュミスやトランスレーション ルックアサイド バッファ(TLB) ミスなどの複数のメモリ操作を同時に保留状態にする機能です。

単一プロセッサにおいて、MLPは命令レベル並列処理(ILP)の一種とみなされることがあります。しかし、ILPはしばしばスーパースカラ(複数の命令を同時に実行する能力)と混同されます。例えば、Intel Pentium Proのようなプロセッサは5ウェイスーパースカラであり、特定のサイクルで5つの異なるマイクロ命令の実行を開始できますが、最大20個のロードマイクロ命令に対して4つの異なるキャッシュミスをいつでも処理できます。

スーパースカラーではないが、それでも高い MLP を持つマシンを持つことは可能です。

ILPを持たず、スーパースカラーでもなく、パイプライン化されていない方法で一度に1つの命令を実行するものの、ハードウェア・プリフェッチ(ソフトウェア命令レベル・プリフェッチではない)を実行するマシンは、MLP(複数のプリフェッチが未処理であるため)を示すものの、ILPは示さないと言えるでしょう。これは、未処理のメモリ操作が複数あるにもかかわらず、命令が未処理ではないためです。命令はしばしば操作と混同されます。

さらに、マルチプロセッサおよびマルチスレッドコンピュータシステムは、並列性によってMLPとILPを示すと言えるかもしれませんが、スレッド内、シングルプロセス、ILP、MLPはそうではありません。しかし、MLPとILPという用語は、一見並列ではないシングルスレッドコードからそのような並列性を抽出することを指す場合が多いです。

参照

参考文献

  • Glew, A. (1998). 「MLPはイエス!ILPはノー!」ASPLOS Wild and Crazy Idea Session '98 . Wild and Crazy Ideas (WACI) I. ASPLOS VIII.(要旨/スライド)
  • Ronen, R.; Mendelson, A.; Lai, K.; Shih-Lien Lu; Pollack, F.; Shen, JP (2001). 「マイクロアーキテクチャとアーキテクチャにおける今後の課題」. Proc. IEEE . 89 (3): 325– 340. CiteSeerX  10.1.1.136.5349 . doi :10.1109/5.915377.
  • Zhou, H.; Conte, TM (2003). 「リカバリフリー値予測によるメモリレベル並列処理の強化」.第17回国際スーパーコンピューティング会議議事録. ICS '03. pp.  326– 335. CiteSeerX  10.1.1.14.4405 . doi :10.1145/782814.782859. ISBN 1-58113-733-8
  • Yuan Chou; Fahs, B.; Abraham, S. (2004). 「メモリレベル並列処理を活用するためのマイクロアーキテクチャ最適化」. Proceedings. 第31回国際コンピュータアーキテクチャシンポジウム, 2004. ISCA '04 . pp.  76– 87. CiteSeerX  10.1.1.534.6032 . doi :10.1109/ISCA.2004.1310765. ISBN 0-7695-2143-6
  • Qureshi, MK; Lynch, DN; Mutlu, O.; Patt, YN (2006). 「MLPを考慮したキャッシュ置換の事例」.第33回国際コンピュータアーキテクチャシンポジウム. ISCA '06. pp.  167– 178. CiteSeerX  10.1.1.94.4663 . doi :10.1109/ISCA.2006.5. ISBN 0-7695-2608-X
  • Van Craeynest, K.; Eyerman, S.; Eeckhout, L. (2009). 「同時マルチスレッドプロセッサにおけるMLP対応ランアヘッドスレッド」.高性能組込みアーキテクチャとコンパイラ. HiPEAC 2009. LNCS . Vol. 5409. pp.  110– 124. CiteSeerX  10.1.1.214.3261 . doi :10.1007/978-3-540-92990-1_10. ISBN 978-3-540-92989-5
「https://en.wikipedia.org/w/index.php?title=メモリレベル並列性&oldid=1303383923」より取得