14
Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat Mohamed Abdelfatah Ndioubnane

Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

Embed Size (px)

Citation preview

Page 1: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

Trabajo Microprocesadores para comunicaciones

Procesadores Bulldozer y Bobcat

Mohamed Abdelfatah Ndioubnane

Page 2: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

BULLDOZER Arquitectura.......................................................................................................................... 3 ¿El fin de una era, el final de los sockets AM y el proceso Half node Lithography? ................. 6 AMD EDO

Modo Turbo con esteroides .............................................................................................. 7 BOBCAT

Arquitectura.......................................................................................................................... 8 Comparativas utilizando Benchmarks Sanda sintéticos

Ancho de banda de memoria ................................................................................................ 9 Procesos aritméticos ........................................................................................................... 10 Procesos multimedia ........................................................................................................... 10 Pruebas multimedia ............................................................................................................ 11 Test de juegos ..................................................................................................................... 13 Consumo de energía .......................................................................................................... 14

Page 3: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

BULLDOZER

Arquitectura

Fig.1 Arquitectura del procesador Bulldozer

Poseen 4 pipelines para enteros completos por cada core, capaz de realizar 4 micro op por ciclo. En el caso de realizar 1-2 micro op puede ejecutar 2 saltos eliminando de esta forma fallos de predicción (se ejecutan las dos posibilidades).

Pueden buscar instrucciones desde varios hilos (punteros de programa) alternativamente incluyendo objetivos de salto. Para que la unidad de predicción de salto trabaje identifica los saltos y sus objetivos además de controlar el trabajo de la IFU (instruction fetch unit). Si las colas de intrucciones de las unidades a ser llenadas ya estan en altos niveles, el par IFU/BPU comienza a precargar código para evitar ciclos internos. Tener precargado el código en un 50 % de las cargas es aún mejor que no tener código listo para la ejecución. Esta cifra es mejor en la realidad.

Después de que un bloque de 32 bytes de código haya sido precargado y encolado en una cola de carga de instrucciones, la unidad de decodificación recive un paquete por cada ciclo de decodificación. Para una decodificación mas rápida se disponen 4 subunidades de decodificación dedicadas, donde cada una puede decodificar la mayoría de las instrucciones x86 y SIMD en sí mismas y mas rápido (1 por ciclo y subunidad). Mas rara vez se usan dispositivos de almacenamiento (ROM and SRAM) para la decodificación de instrucciones complejas. Esto puede realizarse en paralelo con la decodificación de las instrucciones simples. No hay ineficiencias como en K10. Las instrucciones XOP y AVX también son decodificadas cada una por subunidad(siempre y cuando el operando tenga <= 128) o dos por subunidad (256 bits, similar a la doble decodificación de SSE y SSE2 en K8). El resultado es”double mops”

Page 4: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

(pares de micro ops, similar a la ex MacroOps). Después de finalizar la decodificación, los mops dobles (los cuales pueden tener un slot libre) son enviados al dispatch stack, el cual prepara los paquetes de mas de 4 mops dobles y los despacha a los cores de la FPU dependiendo de su clasificación del fill status. Ademas los mops decodificados también se almacenan en las correspondientes caches. Gracias a estas caches, las unidades actuales de decodificación estan libres y pueden ser usadas para decodificar mas abajo en la ruta del programa. Si necesitamos despachar un paquete que esta en la cache, el dispatcher puede realizarlo y mandarlo al core que lo necesite mientras que en paralelo despatchar otro paquete a otro core evitando cuellos de botella.

Los planificadores que se encuentran en los cores seleccionan los mops listos para ejecución por los cuatro pares de ALU’s y AGU’s que hay en cada core, dependiendo de la disponibilidad y de las dependencias. Mientras realizan esto, hay mas flexibilidad de la que había en el K10 con sus filas separadas y la incapacidad de μOps para cambiar de carril para encontrar un recurso de ejecuci ón libre. Para ahorrar energía, las unidades de ejecución son activadas únicamente si los mops necesitan de ellas para comenzar una ejecución.

Las unidades de ejecución de enteros – ALU’s y AGU’s- estan organizadas en cuatro pares, una por pipeline. Se puede ejecutar tanto el código entero x86, operaciones de memoria (también de planificación familiar y operaciones SIMD) y, el cambio mas grande, se pueden combinar para ejecutar SSE o código AVX entero. Esto incrementa el throughput significativamente y libera las unidades de FP un poco. Los registros de proposito general (GPRF) han sido ampliados a 128 bits para permitir esta característica. Los registros serán copiados entre GPFR y el registro de coma flotante (FPRF) si una arquitectura de registros SIMD (registros especificados por el ISA) es usada para entero primero y punto flotante después o viceversa. Como esto no sucede a menudo, prácticamente no tiene impacto en el rendimiento. En cambio, la opción de utilizar las unidades de enteros en el código entero SIMD (SSE, XOP y AVX) el throughput general de código SIMD aumenta dramáticamente.

La FPU contiene las ya conocidas FMAC units de 128 bits. Son capaces de ejecutar cualquiera de las nuevas instrucciones que fusionan sumas y multiplicaciones (FMA) o alternativamente una instrucción de suma y multiplicación. Esta capacidad proporciona un menor consumo de energía y mayor rendimiento para las operaciones más simples. A medida que AMD ha ido fijando, las dos unidades de 128 bits se utilizan ya sea en paralelo por los dos hilos que se ejecutan en los núcleos de número entero, pero podría haber ciclos, donde un núcleo no necesita de la FPU, en lo que podrían ser utilizadas por un solo hilo, incrementando de esta forma el rendimiento en FP. Esto sucedeuna vez por ciclo fundamental y se asemeja a un tipo de SMT. El programador FPU se comunica con los núcleos, para que puedan realizar el seguimiento del estado de cada instrucción que pertenece a los hilos que se ejecutan en ellos.

Tanto las unidades de enteros como de coma flotante necesitan un dato para trabajar con él. Este dato es provisto por las dos cachés L1 de 16K. Cada núcleo tiene

Page 5: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

su propia caché de datos y la unidad de load-store (LSU). La unidad load-store maneja todas las peticiones de memoria (loads y stores) del hilo que se ejecuta en el mismo núcleo y la FPU compartida. Esta es capaz de tramitar dos loads y un store por ciclo, cada uno de ellos con un ancho mayor de 128 bits. Esto da lugar a un ancho de banda de carga de 32B/cycle y un ancho de banda de almacenamiento de 16B/cycle - por núcleo. Un gran cambio en comparación con la LSU de K10 es la habilidad de realizar especulación de datos y direcciones. Así que aún sin conocer la dirección exacta de una operación de memoria (que no se sabe antes que después de ejecutar el trapeador en una AGU), la unidad utiliza patrones de acceso y otras técnicas para especular, si algunos datos son los mismos que otros datos, donde la dirección ya se conoce. Finalmente la LSU es capaz también de ejecutar todas las instrucciones de memoria fuera de orden, no solo los loads. Para hacer todo esto posible con un esfuerzo no muy grande, los ingenieros de AMD agregaron la capacidad de crear checkpoints en cualquier momento y volver a este punto para reproducir la secuencia de instrucciones en caso de especulación errónea.

Para reducir el número de predicciones erróneas en los saltos y la latencia del resultado de las operaciones cargadas, los predictores de saltos se han mejorado. Son capaces de predecir múltiples saltos por ciclo y puede emitir prefetches de código, los cuales pueden ser necesarios pronto. Junto con la caché de trazas, a menudo es posible, que incluso después de un fallo de predicción en un salto (que sólo se conoce después de ejecutar la instrucción de salto), el correcto envío de los paquetes ya están en la caché de traza y se puede enviar desde allí con baja latencia.

Una característica importante, que mejora mucho el rendimiento, es la capacidad de las unidades de reloj de que a frecuencias de reloj diferentes (proporcionado por generadores de reloj flexibles y eficientes), poder apagar cualquier subunidad inactiva y poder adaptar los tamaños de caché, TLB y algunos buffers y colas de acuerdo a las necesidades del código que se ejecuta. Un regulador de la energía hace un seguimiento del consumo de la carga y la potencia de cada una de las muchas subunidades y adapta los relojes y unidades como sea necesario. Además de ello, aumenta el rendimieto y el consumo de potencia de las unidades de carga pesada, siempre y cuando el procesador no supere sus límites de consumo de energía y temperatura. Por ejemplo, si las colas y los almacenadores intermediarios del core 0 se llenan y la FPU está inactiva, entonces el regulador de la energía apaga la FPU (hasta que vaya a ejecutar código FP) y aumenta la frecuencia de reloj del core 0. Si el núcleo 0 no tiene muchas operaciones de memoria (menos presión en caché), la caché puede ser reducida a 8kB, de 2 vías apagando 2 de las 4 vías que tiene.De esta forma la potencia, el procesador está activo, será redirigida a donde realmente se necesita. Esto se conoce como la aplicación de administración de energía. Por último, si todo falla Bulldozer de AMD tiene un sistema de caché agresivo.

L0 caché: 4 kB (8 vías asociativas) traza de caché para cada hilo (o núcleo) L1 caché: 16 kB (4 vias) caché de datos por core, un ciclo de latencia y 128 kB

Page 6: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

(4 vias) caché de instrucciones por módulo. L2 caché: 2 MB (8 vías) por módulo (compartido entre dos núcleos), de alta velocidad. L3 caché: 8 MB compartidos entre todos los núcleos, la memoria caché L3, con una latencia de 24 ciclos será capaz de servir hasta 2 solicitudes por (NB) ciclo de reloj al mismo tiempo y la transferencia de datos con 16B/clock a cada uno de los receptores. L4 cache: AMD también ha anunciado que todas las ediciones de los modelos Black Opteron vienen con 32/64MB caché L4 posible gracias al apilamiento de chips. Pero ahora un poco más acerca de los detalles. La IFU carca código a través de la caché de nivel 1 ( a32 bytes/cycle).

¿El fin de una era, el final de los sockets AM y el proceso Half node Lithography?

Una cosa que ha sido confirmada es que el core del Bulldozer es bastante resistente en el proceso de manufacturación, tanto que AMD nos ha dicho que experimenta usando el 28nm bulk silicon process con sólo cambios pequeños para el dado. Aunque AMD no ha confirmado que usarán half stepping, no le negaron tampoco.

Fig.2 Oblea de prototipos Bulldozer

Una de las primeras cosas que AMD a confirmado es que los próximos AM3+ seran los últimos PGA(pin grid array) y que los siguientes serán LGA(land grid array).

Page 7: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

El actual AM3 Phenom II usa solo 938 pins, los próximos Bulldozer y Bobcat usarán todos 941 pins. Uno de los beneficios del AM3+ es que todos los chips de AMD serán capaces de usar DDR3 1866 (PC3 -15000).

AMD EDO: Modo Turbo con esteroides

Con Bulldozer AMD introduce EDO Performance Accelerator, el cual ofrece dos niveles para ajustar la potencia dinámica y, posteriormente, aumentar la potencia y la frecuencia de los núcleos que permanecen activos. AMD garantiza un mínimo de 30% -35% de incremento al performance sobre la frecuencia de serie. Ejemplos:

2,0 GHz> 2,6 GHz (multiplicador de Base [200 MHz], de 10 + 3 para un incremento del 30%) 2,4 GHz> 2,6 GHz (multiplicador de Base [200 MHz], de 12 + 4 para un aumento del 33%) 2,8 GHz> 3,8 GHz (multiplicador de Base [200 MHz], de 14 + 5, para un aumento del 35%) 3,2 GHz> 4,2 GHz (multiplicador de Base [200 MHz], de 16 + 5, para un aumento del 31%) 3,6 GHz> 4,6 GHz (multiplicador de Base [200 MHz], de 18 + 6 para un aumento del 33%) 4,0 GHz> 5,6 GHz (multiplicador de Base [200 MHz], de 20 + 6 para un aumento del 30%)

Pero no acaba ahí. AMD también ha reconocido a los entusiastas y ofrece un segundo nivel de overclocking. Cuando el procesador está funcionando por debajo de sus límites térmicos y eléctricos y las demandas carga de trabajo del usuario de rendimiento adicional, la frecuencia de reloj del procesador de forma dinámica se incrementará en 200 MHz en intervalos cortos y regulares. Ejemplos:

2,0 GHz> 3,2 GHz (multiplicador de Base [200 MHz] de 10 + 3 + 3 para un aumento del 60%) 2,4 GHz> 3,8 GHz (multiplicador de Base [200 MHz], de 12 + 4 + 3 para un aumento del 58%) 2,8 GHz> 4,4 GHz (multiplicador de Base [200 MHz], de 14 + 5 + 3 para un aumento del 57%) 3,2 GHz> 4,8 GHz (multiplicador de Base [200 MHz], de 16 + 5 + 3 para un aumento del 50%) 3,6 GHz> 5,4 GHz (multiplicador de Base [200 MHz], de 18 + 6 + 3 para un aumento del 50%) 4,0 GHz> 5,8 GHz (multiplicador de Base [200 MHz], de 20 + 6 + 3 para un aumento del 45%)

Page 8: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

BOBCAT

Arquitectura

Bobcat manteniene el modelo de ejecución fuera de orden de los anteriores microprocesadores de AMD; sus características son: pipeline de 15 etapas, 2 ALUs (unidad aritmético lógica), 2 AGUs (unidad de generación de direcciones), 2 FPUs (unidad de punto flotante), cache L1 64kb (32kb para datos y 32kb para instrucciones), 512kb L2, Decodificador Dual x86, Predicción avanzada de saltos, ejecución completa de instrucciones OOO, motor full OOO carga/almacenamiento, unidad de punto flotante de alta performance, juego de instrucciones AMD64, SSE1/2/3, SSSE3, virtualización segura; entre sus características enfocadas al ahorro de energía tenemos: ejecución optimizada para el ahorro de energía, microarquitectura que minimiza el traslado de datos y lecturas innecesarias, sincronización de reloj y energía, sistema de estados de bajo consumo de energía. Los de AMD afirman que Bobcat mantiene un buen balance de alto rendimiento y bajo consumo de energía, con un tamaño incluso inferior a Atom; y eventualmente podría aparecer una versión enfocada a servidores.

Fig.3 Arquitectura Bobcat

Page 9: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

Aún no se ha revelado las frecuencias, pero si confirman que el consumo de Bobcat será inferior a 1w en algunos de sus modelos (quizá con clocks inferiores a 1GHz). El primer microprocesador en usar el núcleo Bobcat será Ontario, y durante el 2011 harán su aparición versiones con hasta 2 núcleos. Como ya se había anunciado Bobcat incluye un GPU de clase DirectX 11 (del cual tampoco han revelado frecuencias), el cual usa un esquema de memoria compartida de baja latencia DDR3.

Comparativas utilizando Benchmarks Sanda sintéticos

A continuación se muestran los resultados en diferentes aspectos de varios procesadores. El procesador Interlagos está montado sobre estructura Bulldozer mientras que los resultados de Bobcat se pueden asumir parecidos a los resultados que nos proporciona x86 ya que está basado en este último.

Ancho de banda de memoria

Page 10: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

Procesos multimedia

Procesos aritméticos

La conclusión que se puede sacar en este Benchmark es que el Interlagos barre en todos los casos, por lo que demuestra una notable mejoría frente a sus competidores de Intel los i7.

Page 11: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

Pruebas multimedia

Page 12: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

En el caso de las pruebas multimedia también arrasa Bulldozer. En este caso la diferencia con los i7 es sustancial.

Page 13: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

Test de juegos

En este caso aunque los valores son más ajustados sigue ganando el Bulldozer.

Page 14: Trabajo Microprocesadores para comunicaciones - …nunez/clases-micros-para-com/mpc1011-trabajos... · Trabajo Microprocesadores para comunicaciones Procesadores Bulldozer y Bobcat

Consumo de energía

En este aspecto tan importante como el consumo sigue siendo mejor el Bulldozer aunque por muy poco. En el caso de funcionamiento interno son mejores los i7, aunque para todas las mejoras que tiene el Bulldozer en términos generales sigue ganando el Bulldozer.