En arquitectura informática , el paralelismo a nivel de memoria ( MLP , por sus siglas en inglés) es la capacidad de tener múltiples operaciones de memoria pendientes , en particular fallos de caché o fallos del búfer de traducción anticipada (TLB, por sus siglas en inglés), al mismo tiempo.
En un procesador único, MLP puede considerarse una forma de paralelismo a nivel de instrucción (ILP). Sin embargo, ILP a menudo se confunde con superscalar , la capacidad de ejecutar más de una instrucción al mismo tiempo; por ejemplo, un procesador como el Intel Pentium Pro es superscalar de cinco vías, con la capacidad de comenzar a ejecutar cinco microinstrucciones diferentes en un ciclo dado, pero puede manejar cuatro fallos de caché diferentes para hasta 20 microinstrucciones de carga diferentes en cualquier momento.
Es posible tener una máquina que no sea superescalar pero que, sin embargo, tenga un MLP alto.
Podría decirse que una máquina sin paralelismo a nivel de instrucción (ILP), que no es superescalar, que ejecuta una instrucción a la vez sin segmentación, pero que realiza precarga de hardware (no precarga de instrucciones por software), presenta paralelismo a nivel de instrucción (MLP) (debido a múltiples precargas pendientes), pero no ILP. Esto se debe a que hay múltiples operaciones de memoria pendientes, pero no instrucciones . A menudo se confunden las instrucciones con las operaciones.
Además, se puede decir que los sistemas informáticos multiprocesador y multihilo exhiben paralelismo multihilo (MLP) y paralelismo inverso (ILP) debido al paralelismo, pero no paralelismo inverso (ILP) ni multihilo (MLP) de un solo proceso. Sin embargo, a menudo restringimos los términos MLP e ILP para referirnos a la extracción de dicho paralelismo de lo que parece ser código de un solo hilo no paralelo.
Véase también
Referencias
- Glew, A. (1998). "¡MLP sí! ¡ILP no!". Sesión de ideas locas y descabelladas de ASPLOS '98 . Ideas locas y descabelladas (WACI) I. ASPLOS VIII.( resumen / diapositivas )
- Ronen, R.; Mendelson, A.; Lai, K.; Shih-Lien Lu; Pollack, F.; Shen, JP (2001). "Desafíos futuros en microarquitectura y arquitectura". Proc. IEEE . 89 (3): 325– 340. CiteSeerX 10.1.1.136.5349 . doi : 10.1109/5.915377 .
- Zhou, H.; Conte, TM (2003). «Mejora del paralelismo a nivel de memoria mediante la predicción de valores sin recuperación». Actas de la 17.ª conferencia internacional anual sobre supercomputación . 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). «Optimizaciones de microarquitectura para explotar el paralelismo a nivel de memoria». Actas del 31.er Simposio Internacional Anual sobre Arquitectura de Computadoras, 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). "Un argumento a favor del reemplazo de caché con reconocimiento MLP". 33.º Simposio Internacional sobre Arquitectura de Computadoras . 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.
- Procesamiento de instrucciones
- Computación paralela