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
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
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.
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:
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.