Escolar Documentos
Profissional Documentos
Cultura Documentos
Indice
• 1. Introducción
• 2. Procesadores multihilo
– 2.1 Procesadores FGMT
– 2.2 Procesadores CGMT
– 2.3 Procesadores SMT
• 3. Procesadores multinúcleo
1. Introducción
1. Introducción
Paralelismo a nivel de tarea (thread-level)
• Multithilo (multithreading)
– Definición inicial (SO): ejecución entrelazada de hilos del mismo proceso
– Definición actual (arquitectura):
• son tareas independientes (igual que en multiprogramación)
pero se replica parte del estado del proceso para cada hilo
por lo que el cambio de contexto es menos costoso
– Se puede implementar en un mismo procesador
– Granuralidad: se define por los eventos que mandan el cambio en el thread
de ejecución
• Grano fino
• Grano grueso
• Simultáneo
ADD.F F3,F2,F1 IF ID Rn I A1 A2 WB C !
ADD.F F4,F5,F2 IF ID Rn I A1 A2 WB C!
ADD.F F3,F3,F1 IF ID Rn i i I A1 A2 WB C!
ADD.F F7,F8,F8 IF ID Rn I A1 A2 WB C!
ADD.F F9,F8,F1 IF ID Rn I A1 A2 WB C!
ADD.F F4,F9,F2 IF ID Rn i i i I A1 A2 WB C!
• Ventajas:
– Mejor aprovechamiento de los operadores
– Mayores prestaciones:
la mejora es directamente proporcional a la efectividad del ancho de issue
• En el ejemplo se lanzan 4 en los 3 primeros ciclos hábiles
• Inconveniente
– Lógica compleja: principalmente decodificación y lanzamiento
1. Introducción
• Limitación de los procesadores superscalares
– En la práctica se lanzan menos instrucciones a
ejecución por ciclo que el ancho de issue.
– Además se pueden producir largas latencias para
resolver las dependencias debido a:
• Fallos de cache, de TLB, fallos de predicción, …
– 2 tipos de desperdicio de slots de issue
• Desperdicio Horizontal:
– Se lanzan menos instrucciones que el ancho de
issue
• Desperdicio Vertical: Procesador superscalar
– En algunos ciclos no se lanza ninguna debido a un con ancho de issue 4
evento de larga duración
• ¿Cómo reducir los desperdicios?
– Posible solución: ofrecer soporte para la ejecución de
varios threads
– Procesadores multithread
• Rediseñar el procesador, para que parte de los recursos del core (por
ejemplo, la lógica de decodificación) puedan compartirse entre los threads
2. Procesadores multithread
Issue slots
Issue slots Issue slots Issue slots
tiempo
tiempo
©Julio Sahuquillo -11-
PPU0 M1 M2 M3 M4 A M1 M2 M3 M4 A . . .
PPU1 M1 M2 M3 M4 A M1 M2 M3 M4 A . . .
PPU2 M1 M2 M3 M4 A M1 M2 M3 M4 A . . .
PPU3 M1 M2 M3 M4 A M1 M2 M3 M4 A . . .
3. Procesadores multicore
Issue slots
Issue slots Issue slots
Partición Espacial
tiempo
tiempo
3. Procesadores multicore
Caracterización de los CMPs
– Nº de cores
• Los primeros tenían 2, en 2006 llegaron a 4 y a 8.
• Hoy se habla de many-core, algunos, por ej. El SCC de Intel
tienen 48.
– Multithreading
• Puede no haber
• SMT: Power 5, Power 6, Intel Xeon, Power 8, dual Pentium 4, etc.
• Grano grueso: Montecito.
• Grano fino: Sun Niagara, cada procesador soporta 16 threads
– Tipo de ejecución
• En orden: Sun Niagara, ATOM
• Fuera de orden: Power 5, dual Pentium 4
– Homogenedidad de los cores
• La mayoría suelen ser homógeneos a nivel de “tile”.
Se diseña uno y se replica, aunque pueden funcionar a distinta
frecuencia, regulador DVFS local
• Existen propuestas que combinan procesadores simples con
complejos, ejemplo: ARM big.LITTLE
• La tendencia reciente 2013-14 es combinar la CPU+GPU en el
mismo chip
• Los 3 bancos de L2 más las etiquetas de L3 ocupan casi la mitad del chip.
• La Load/sotre unit ocupa una parte significativa
FIN
36