Anda di halaman 1dari 37

COMPUTADORES MULTINUCLEO

Stallings W. Computer Organization and Architecture 8ed

Computador multinucleo
Un computador multincleo combina dos o mas procesadores (llamados ncleos) en una nica pieza de silicio. Tpicamente cada ncleo consiste de todos los componentes de un procesador independiente e incluye memoria cache de nivel 1, nivel 2 y, en algunos casos, nivel 3

ASPECTOS DE RENDIMIENTO DEL HARDWARE


Los sistemas de microprocesadores han experimentado un crecimiento permanente y exponencial en rendimiento por dcadas, en parte gracias a:
Mejoras en su organizacin Incremento de su frecuencia de reloj. Incremento del nivel de integracin

ASPECTOS DE RENDIMIENTO DEL HARDWARE


Incremento del nivel de integracin.

ASPECTOS DE RENDIMIENTO DEL HARDWARE


Rendimiento de los procesadores de Intel.

LIMITACIONES DE LAS ARQUITECTURAS TRADICIONALES


Limitaciones de la tecnologa subyacente
Frecuencia de operacin. Limitaciones en la escala de integracin. Consumo de energa. Retardo RC: a altos niveles de integracin, la resistencia de los cables se incrementa, as como la capacitancia entre cables cada vez mas prximos. Latencia de memoria.

Agotamiento de la arquitectura secuencial

Necesidad de mayor capacidad de procesamiento.

Incremento en paralelismo
Los cambios organizacionales en el diseo del procesador se han enfocado principalmente en incrementar el paralelismo a nivel de instrucciones. Estos cambios incluyen:
Segmentacin Superescalarabilidad. Multithreading simultneo (SMT) bancos de registros se replican para que mltiples hilos puedan compartir los recursos de la segmentacin

Superescalarabilidad
Se utilizan mltiples cauces para la ejecucin paralela de instrucciones, en la medida que lo permitan los riesgos de control y dependencia de datos

Multithreading simultneo (SMT)


Los bancos de registros se replican para que mltiples hilos puedan compartir los recursos de la segmentacin

Multinucleo
Combinacin de dos o mas procesadores en una nica pieza de silicio

Incremento en paralelismo
El incremento de rendimiento ha conducido a un incremento de la complejidad del sistema. Una parte creciente del chip se dedica a la lgica de coordinacin y sealizacin. A su vez, esto incrementa la complejidad del diseo, fabricacin y depuracin de los chips. La energa que un chip requiere ha pasado a ser un factor crtico.

Consumo de energa
Para mantener la tendencia de mayor rendimiento a medida que se incrementa el nmero de transistores y las frecuencias de reloj, los requerimientos de energa han crecido exponencialmente.

Consumo de energa
Una forma de controlar la densidad de energa es utilizar ms rea del chip para memoria cache, pues esta consume menos energa que el rea de lgica.

Consumo de energa
Regla de Pollack:
El incremento de rendimiento es aproximadamente proporcional a la raz cuadrada del incremento en complejidad. Es decir, si se duplica la lgica en un procesador, esto permitir un incremento del rendimiento de solo el 40%. En principio, el uso de mltiples ncleos tiene el potencial de proporcionar un incremento del rendimiento casi lineal con el incremento del nmero de ncleos. Los problemas de energa proporcionan otro motivo para optar por organizaciones multincleo.

ASPECTOS DE RENDIMIENTO DEL SOFTWARE


Software en multincleo
Los beneficios potenciales de rendimiento de una organizacin multincleo depende de la habilidad de explotar efectivamente los recursos paralelos disponibles para la aplicacin. Ley de Amdahl:

f: fraccin de cdigo paralelizable

ASPECTOS DE RENDIMIENTO DEL SOFTWARE


Esta ley parece hacer atractiva la organizacin multincleo. Sin embargo, aun una pequea porcin de cdigo secuencial, tiene un impacto significativo

ASPECTOS DE RENDIMIENTO DEL SOFTWARE


Las aplicaciones que ms se benefician de la organizacin multincleo son aquellas que pueden manejar mltiples transacciones relativamente independientes en paralelo y las que manejan multiples hilos:
Aplicaciones multihilo nativas. Aplicaciones multiproceso. Aplicaciones Java. Aplicaciones de mltiples instancias

ORGANIZACIN MULTINUCLEO
A un alto nivel de descripcin, las variables principales de una organizacin multincleo son:
El nmero de ncleos de procesador en el chip El nmero de niveles de memoria cache. La cantidad de memoria cache que es compartida.

ORGANIZACIN MULTINUCLEO
Ejemplos de organizacin multincleo:

Utilizada en chips embebidos. Utiliza una memoria cache de nivel 1 on-chip dedicada. Ejemplo: ARM11 MPCore

ORGANIZACIN MULTINUCLEO
Ejemplos de organizacin multincleo:

Cache on-chip no compartida. Incluye memoria cache dedicada de nivel 2. Ejemplo: AMD Opteron

ORGANIZACIN MULTINUCLEO
Ejemplos de organizacin multincleo:

Utiliza memoria cache L2 compartida on-chip. Ejemplo: Intel Core Duo

ORGANIZACIN MULTINUCLEO
Ejemplos de organizacin multincleo:

Se incrementa la cantidad de memoria cache disponible. Incluye cache L1 y L2 dedicado y cache L3 compartida. Ejemplo: Intel Core i7.

ORGANIZACIN MULTINUCLEO
El uso de una memoria cache L2 compartida en el chip tiene varias ventajas frente a la dependencia exclusiva de caches dedicadas:
Se puede mejorar la tasa de aciertos. Los datos compartidos por mltiples ncleos no se replican en el nivel de memoria cache compartida. Con algoritmos de reemplazo adecuados, la cantidad de cache compartida asignada a cada ncleo es dinmica y los hilos con menor localidad pueden emplear mas cache.

ORGANIZACIN MULTINUCLEO
La comunicacin interprocesadores es fcil de implementar mediante posiciones de memoria compartidas. El uso de memoria cache L2 compartida confina los problemas de coherencia cache a la cache L1, lo que puede proporcionar algunas ventajas adicionales de rendimiento.

Una ventaja potencial de solo tener memoria cache L2 dedicada en los chips es que cada ncleo obtiene acceso ms rpido a su cache L2 privada. Esto es ventajoso para hilos con localidad fuerte.

ORGANIZACIN MULTINUCLEO
Otra decisin de diseo organizacional en un sistema multincleo es si los ncleos individuales sern superescalares o implementarn SMT. Por ejemplo, el Intel Core Duo utiliza ncleos superescalares, mientras que el Intel Core i7 utiliza ncleos SMT. SMT tiene el efecto de escalar el nmero de hilos de nivel hardware que el sistema multincleo soporta.

ORGANIZACIN MULTINUCLEO
Por tanto, un sistema multincleo con cuatro ncleos y SMT que soporta cuatro hilos simultneos en cada ncleo es equivalente a un sistema multincleo con 16 ncleos. En tanto que el software se desarrolla para explotar plenamente los recursos paralelos, un enfoque SMT parece ser ms atractivo que un enfoque superescalar.

ORGANIZACIN MULTINUCLEO INTEL


Intel Core Duo
Se introdujo el 2006. Implementa dos procesadores x86 superescalares con una memoria cache L2 compartida.

ORGANIZACIN MULTINUCLEO INTEL


Intel Core Duo
Cada ncleo tiene su propia cache dedicada L1 (32KB para datos y 32KB para instrucciones). Cada ncleo tiene una Unidad de Control Trmico independiente para maximizar el rendimiento del procesador dentro de las restricciones trmicas. Si la temperatura de un ncleo excede un umbral, la UCT reduce la frecuencia de reloj para reducir la generacin de calor de dicho ncleo.

ORGANIZACIN MULTINUCLEO INTEL


Intel Core Duo
El Advanced Programmable Interrupt Controller (APIC) realiza las siguientes funciones:
Proporciona interrupciones interprocesador, lo que permite que cualquier proceso interrumpa cualquier procesador o conjunto de procesadores . Acepta interrupciones de E/S y enruta estas al ncleo apropiado. Cada APIC incluye un timer, que puede ser fijado por el SO para generar una interrupcin en el ncleo local.

ORGANIZACIN MULTINUCLEO INTEL


Intel Core Duo
El Power Management Logic es responsable de reducir el consumo de energa, cuando sea posible, para incrementar el tiempo de vida de las batera en equipos mviles. Incluye una memoria cache L2 compartida de 2MB (MESI) con mejoras para SMP

ORGANIZACIN MULTINUCLEO INTEL


Intel Core i7
Se introdujo el 2008. Implementa cuatro procesadores x86 SMT, cada uno con una cache L2 dedicada y una cache L3 compartida.

ORGANIZACIN MULTINUCLEO INTEL


Intel Core i7
Utiliza un mecanismo de pre extraccin para mejorar la efectividad de la memoria cache. El hardware examina los patrones de acceso a memoria e intenta llenar la cache de manera especulativa con datos que probablemente sean requeridos pronto

ORGANIZACIN MULTINUCLEO INTEL


Intel Core i7
Cada ncleo tiene su propia cache L2 dedicada y los cuatro ncleos comparten una cache L3 de 8MB con pre extraccin basada en el anlisis de patrones de acceso El controlador DDR3 soporta tres canales de 8 bytes de ancho para un ancho de bus total de 192 bits y una tasa de transferencia agregada de hasta 32GBps Se elimina la necesidad del Front Side Bus.

ORGANIZACIN MULTINUCLEO INTEL


Intel Core i7
El Quick Path Interconnect (QPI) es un enlace punto a punto que permite comunicacin de alta velocidad entre chips de procesadores interconectados. Opera a 6,4GTps (transferencias por segundo). Con 16 bits por transferencia, alcanza 12.8GBps. Puesto que los enlaces QPI comprenden pares bidireccionales dedicados, el ancho de banda total es de 25.6GBps

ORGANIZACIN MULTINUCLEO ARM11 MPCore


Basado en la familia de procesadores ARM11 Puede configurarse hasta con cuatro procesadores, cada uno con su propia memoria cache L1. La siguiente tabla muestra las opciones de configuracin, con sus valores por defecto

ORGANIZACIN MULTINUCLEO ARM11 MPCore


Distributed interrupt controller (DIC) maneja la deteccin de interrupciones y su priorizacin. Distribuye las interrupciones a los procesadores individuales. Timer cada CPU tiene su propio timer privado que puede generar interrupciones. Watchdog Alerta en eventos de fallos de software. CPU un procesador ARM11 Interface CPU maneja la confirmacin de interrupciones, el enmascaramiento de interrupciones y la confirmacin de la finalizacin de interrupciones. Vector floating-point unit (VFP) un coprocesador que implementa operaciones de punto flotante en hardware. Cache L1 cada CPU tiene su propia memoria cache dedicad L1 de datos e instrucciones. Snoop control unit (SCU) responsable de la coherencia cache entre caches de datos L1.

ORGANIZACIN MULTINUCLEO ARM11 MPCore