12.07.2015 Views

Procesadores multinucleo

Procesadores multinucleo

Procesadores multinucleo

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Computador <strong>multinucleo</strong>• Un computador multinúcleo combina dos omas procesadores (llamados núcleos) en unaúnica pieza de silicio.• Típicamente cada núcleo consiste de todos los• Típicamente cada núcleo consiste de todos loscomponentes de un procesadorindependiente e incluye memoria cache denivel 1, nivel 2 y, en algunos casos, nivel 3


ASPECTOS DE RENDIMIENTO DEL HARDWARE• Los sistemas demicroprocesadores hanexperimentado uncrecimiento permanente yexponencial en rendimientopor décadas, en partegracias a:– Mejoras en su organización– Incremento de su frecuenciade reloj.– Incremento del nivel deintegración


ASPECTOS DE RENDIMIENTO DEL HARDWARE• Incremento del nivel de integración.


ASPECTOS DE RENDIMIENTO DEL HARDWARE• Rendimiento de los procesadores de Intel.


LIMITACIONES DE LAS ARQUITECTURASTRADICIONALES• Limitaciones de la tecnología subyacente– Frecuencia de operación.– Limitaciones en la escala de integración.– Consumo de energía.– Retardo RC: a altos niveles de integración, la resistencia de los cables seincrementa, así como la capacitancia entre cables cada vez mas próximos.– Latencia de memoria.• Agotamiento de la arquitectura secuencial• Necesidad de mayor capacidad de procesamiento.


Incremento en paralelismo• Los cambios organizacionales en el diseño delprocesador se han enfocado principalmenteen incrementar el paralelismo a nivel deinstrucciones. Estos cambios incluyen:– Segmentación– Superescalarabilidad.– Multithreading simultáneo (SMT) – bancos deregistros se replican para que múltiples hilospuedan compartir los recursos de la segmentación


Superescalarabilidad• Se utilizan múltiples cauces para la ejecuciónparalela de instrucciones, en la medida que lopermitan los riesgos de control y dependencia dedatos


Multithreading simultáneo (SMT)• Los bancos de registros se replican para quemúltiples hilos puedan compartir los recursos dela segmentación


Multinucleo• Combinación de dos o mas procesadores enuna única pieza de silicio


Incremento en paralelismo• El incremento de rendimiento ha conducido aun incremento de la complejidad del sistema.• Una parte creciente del chip se dedica a lalógica de coordinación y señalización.• A su vez, esto incrementa la complejidad deldiseño, fabricación y depuración de los chips.• La energía que un chip requiere ha pasado aser un factor crítico.


Consumo de energía• Para mantener la tendencia de mayor rendimiento amedida que se incrementa el número de transistoresy las frecuencias de reloj, los requerimientos deenergía han crecido exponencialmente.


Consumo de energía• Regla de Pollack:– El incremento de rendimiento es aproximadamenteproporcional a la raíz cuadrada del incremento encomplejidad. Es decir, si se duplica la lógica en unprocesador, esto permitirá un incremento del rendimientode solo el 40%.– En principio, el uso de múltiples núcleos tiene el potencialde proporcionar un incremento del rendimiento casi linealcon el incremento del número de núcleos.– Los problemas de energía proporcionan otro motivo paraoptar por organizaciones multinúcleo.


ASPECTOS DE RENDIMIENTO DEL SOFTWARE• Software en multinúcleo– Los beneficios potenciales de rendimiento de unaorganización multinúcleo depende de la habilidad deexplotar efectivamente los recursos paralelosdisponibles para la aplicación.– Ley de Amdahl:– f: fracción de código paralelizable


ASPECTOS DE RENDIMIENTO DEL SOFTWARE• Esta ley parece hacer atractiva la organizaciónmultinúcleo.• Sin embargo, aun una pequeña porción de códigosecuencial, tiene un impacto significativo


ASPECTOS DE RENDIMIENTO DEL SOFTWARE• Las aplicaciones que más se benefician de laorganización multinúcleo son aquellas quepueden manejar múltiples transaccionesrelativamente independientes en paralelo ylas que manejan multiples hilos:– Aplicaciones multihilo nativas.– Aplicaciones multiproceso.– Aplicaciones Java.– Aplicaciones de múltiples instancias


ORGANIZACIÓN MULTINUCLEO• A un alto nivel de descripción, las variablesprincipales de una organización multinúcleoson:– El número de núcleos de procesador en el chip– El número de niveles de memoria cache.– La cantidad de memoria cache que es compartida.


ORGANIZACIÓN MULTINUCLEO• Ejemplos de organización multinúcleo:• Utilizada en chips embebidos.• Utiliza una memoria cache de nivel 1 on-chip dedicada.• Ejemplo: ARM11 MPCore


ORGANIZACIÓN MULTINUCLEO• Ejemplos de organización multinúcleo:• Cache on-chip no compartida.• Incluye memoria cache dedicada de nivel 2.• Ejemplo: AMD Opteron


ORGANIZACIÓN MULTINUCLEO• Ejemplos de organización multinúcleo:• Utiliza memoria cache L2 compartida on-chip.• Ejemplo: Intel Core Duo


ORGANIZACIÓN MULTINUCLEO• Ejemplos de organización multinúcleo:• Se incrementa la cantidad de memoria cache disponible.• Incluye cache L1 y L2 dedicado y cache L3 compartida.• Ejemplo: Intel Core i7.


ORGANIZACIÓN MULTINUCLEO• El uso de una memoria cache L2 compartidaen el chip tiene varias ventajas frente a ladependencia exclusiva de caches dedicadas:– Se puede mejorar la tasa de aciertos.– Los datos compartidos por múltiples núcleos no sereplican en el nivel de memoria cache compartida.– Con algoritmos de reemplazo adecuados, lacantidad de cache compartida asignada a cadanúcleo es dinámica y los hilos con menor localidadpueden emplear mas cache.


ORGANIZACIÓN MULTINUCLEO– La comunicación interprocesadores es fácil deimplementar mediante posiciones de memoriacompartidas.– El uso de memoria cache L2 compartida confina losproblemas de coherencia cache a la cache L1, lo quepuede proporcionar algunas ventajas adicionales derendimiento.• Una ventaja potencial de solo tener memoriacache L2 dedicada en los chips es que cadanúcleo obtiene acceso más rápido a su cache L2privada. Esto es ventajoso para hilos conlocalidad fuerte.


ORGANIZACIÓN MULTINUCLEO• Otra decisión de diseño organizacional en unsistema multinúcleo es si los núcleos individualesserán superescalares o implementarán SMT.• Por ejemplo, el Intel Core Duo utiliza núcleossuperescalares, mientras que el Intel Core i7utiliza núcleos SMT.• SMT tiene el efecto de escalar el número de hilosde nivel hardware que el sistema multinúcleosoporta.


ORGANIZACIÓN MULTINUCLEO• Por tanto, un sistema multinúcleo con cuatronúcleos y SMT que soporta cuatro hilossimultáneos en cada núcleo es equivalente aun sistema multinúcleo con 16 núcleos.• En tanto que el software se desarrolla paraexplotar plenamente los recursos paralelos, unenfoque SMT parece ser más atractivo que unenfoque superescalar.


ORGANIZACIÓN MULTINUCLEO INTEL• Intel Core Duo– Se introdujo el2006.– Implementa dos– Implementa dosprocesadores x86superescalares conuna memoria cacheL2 compartida.


ORGANIZACIÓN MULTINUCLEO INTEL• Intel Core Duo– Cada núcleo tiene su propia cache dedicadaL1 (32KB para datos y 32KB parainstrucciones).– Cada núcleo tiene una Unidad de ControlTérmico independiente para maximizar elrendimiento del procesador dentro de lasrestricciones térmicas. Si la temperatura deun núcleo excede un umbral, la UCT reduce lafrecuencia de reloj para reducir la generaciónde calor de dicho núcleo.


ORGANIZACIÓN MULTINUCLEO INTEL• Intel Core Duo– El Advanced Programmable InterruptController (APIC) realiza las siguientesfunciones:• Proporciona interrupciones interprocesador, lo quepermite que cualquier proceso interrumpa cualquierprocesador o conjunto de procesadores .• Acepta interrupciones de E/S y enruta estas al núcleoapropiado.• Cada APIC incluye un timer, que puede ser fijado porel SO para generar una interrupción en el núcleo local.


ORGANIZACIÓN MULTINUCLEO INTEL• Intel Core Duo– El Power Management Logic es responsable dereducir el consumo de energía, cuando seaposible, para incrementar el tiempo de vida delas batería en equipos móviles.– Incluye una memoria cache L2 compartida de2MB (MESI) con mejoras para SMP


ORGANIZACIÓN MULTINUCLEO INTEL• Intel Core i7– Se introdujo el2008.– Implementa cuatroprocesadores x86SMT, cada uno conuna cache L2dedicada y unacache L3compartida.


ORGANIZACIÓN MULTINUCLEO INTEL• Intel Core i7– Utiliza un mecanismo de pre extracción paramejorar la efectividad de la memoria cache.– El hardware examina los patrones de acceso amemoria e intenta llenar la cache de maneraespeculativa con datos que probablementesean requeridos pronto


ORGANIZACIÓN MULTINUCLEO INTEL• Intel Core i7– Cada núcleo tiene su propia cache L2dedicada y los cuatro núcleos comparten unacache L3 de 8MB con pre extracción basadaen el análisis de patrones de acceso– El controlador DDR3 soporta tres canales de 8bytes de ancho para un ancho de bus total de192 bits y una tasa de transferencia agregadade hasta 32GBps– Se elimina la necesidad del Front Side Bus.


ORGANIZACIÓN MULTINUCLEO INTEL• Intel Core i7– El Quick Path Interconnect (QPI) es un enlacepunto a punto que permite comunicación dealta velocidad entre chips de procesadoresinterconectados. Opera a 6,4GTps(transferencias por segundo). Con 16 bits portransferencia, alcanza 12.8GBps.– Puesto que los enlaces QPI comprenden paresbidireccionales dedicados, el ancho de bandatotal es de 25.6GBps


ORGANIZACIÓN 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 deconfiguración, con sus valores por defecto


ORGANIZACIÓN MULTINUCLEO ARM11 MPCore• Distributed interrupt controller (DIC) – maneja la detección deinterrupciones y su priorización. Distribuye las interrupciones a losprocesadores individuales.• Timer – cada CPU tiene su propio timer privado que puede generarinterrupciones.• Watchdog – Alerta en eventos de fallos de software.• CPU – un procesador ARM11• Interface CPU – maneja la confirmación de interrupciones, elenmascaramiento de interrupciones y la confirmación de la finalizaciónde interrupciones.• Vector floating-point unit (VFP) – un coprocesador que implementaoperaciones de punto flotante en hardware.• Cache L1 – cada CPU tiene su propia memoria cache dedicad L1 de datose instrucciones.• Snoop control unit (SCU) – responsable de la coherencia cache entrecaches de datos L1.


ORGANIZACIÓN MULTINUCLEO ARM11 MPCore

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!