コンピュータ アーキテクチャにおいて、メモリ レベルの並列処理( 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 ワイルドでクレイジーなアイデア セッション '98。ワイルドでクレイジーなアイデア (WACI) I。ASPLOS VIII。(概要 / スライド)
{{cite conference}}:外部リンク(ヘルプ)CS1 メンテナンス: 追記 (リンク)|postscript= - 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。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)。「メモリレベルの並列処理を活用するためのマイクロアーキテクチャの最適化」。議事録。第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 対応の Runahead スレッド」。高性能組み込みアーキテクチャとコンパイラ。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。
