메모리 레벨의 병렬 처리
Memory-level parallelism메모리 레벨 병렬화(MLP)는 컴퓨터 아키텍처에서 보류 중인 여러 메모리 작업, 특히 캐시 누락 또는 변환 룩사이드 버퍼(TLB) 누락이 동시에 발생할 수 있는 기능을 가리키는 용어입니다.
단일 프로세서에서 MLP는 명령 수준 병렬 처리(ILP)의 한 형태로 간주될 수 있습니다.단, ILP는 여러 명령을 동시에 실행할 수 있는 슈퍼스칼라와 결합되는 경우가 많습니다.예를 들어 인텔 Pentium Pro 등의 프로세서는 5웨이 슈퍼스칼라로, 5가지 마이크로 명령 실행을 시작할 수 있지만 최대 20가지 다른 부하에 대해 4가지 캐시 오류를 처리할 수 있습니다.언제든지 마이크로 명령어를 사용할 수 있습니다.
슈퍼스칼라는 아니지만 MLP가 높은 머신을 가질 수 있습니다.
ILP가 없고 슈퍼스칼라는 아니지만 파이프라인 이외의 방법으로 한 번에 1개의 명령을 실행하지만 하드웨어 프리페치(소프트웨어 명령 수준의 프리페치 아님)를 실행하는 머신에서는 MLP(미처리된 여러 프리페치에 의해)가 표시되지만 ILP는 표시되지 않습니다.이는 미결 메모리 조작이 여러 개 존재하지만 명령은 존재하지 않기 때문입니다.명령은 종종 조작과 결합됩니다.
또한 멀티프로세서 및 멀티스레드 컴퓨터 시스템은 병렬로 인해 MLP와 ILP를 나타낸다고 할 수 있지만 스레드 내, 단일 프로세스, ILP 및 MLP가 아닙니다.단, MLP와 ILP라는 용어는 종종 비병렬 단일 스레드 코드로부터 그러한 병렬성을 추출하는 것을 가리키도록 제한합니다.
「 」를 참조해 주세요.
레퍼런스
- Glew, A. (1998). "MLP yes! ILP no!". ASPLOS Wild and Crazy Idea Session '98. Wild and Crazy Ideas (WACI) I. ASPLOS VIII. (abstract / slides)
{{cite conference}}
:외부 링크
(도움말)CS1 유지보수: 포스트스크립트(링크)postscript=
- Ronen, R.; Mendelson, A.; Lai, K.; Shih-Lien Lu; Pollack, F.; Shen, J. P. (2001). "Coming challenges in microarchitecture and architecture". Proc. IEEE. 89 (3): 325–340. CiteSeerX 10.1.1.136.5349. doi:10.1109/5.915377.
- Zhou, H.; Conte, T. M. (2003). "Enhancing memory level parallelism via recovery-free value prediction". Proceedings of the 17th annual international conference on Supercomputing. 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). "Microarchitecture optimizations for exploiting memory-level parallelism". Proceedings. 31st Annual International Symposium on Computer Architecture, 2004. ISCA'04. pp. 76–87. CiteSeerX 10.1.1.534.6032. doi:10.1109/ISCA.2004.1310765. ISBN 0-7695-2143-6.
- Qureshi, M. K.; Lynch, D. N.; Mutlu, O.; Patt, Y. N. (2006). "A Case for MLP-Aware Cache Replacement". 33rd International Symposium on Computer Architecture. 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-Aware Runahead Threads in a Simultaneous Multithreading Processor". High Performance Embedded Architectures and Compilers. 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.