# AMD Accelerated Processing Unit

AMD Accelerated Processing Unit, anteriormente conocida como Fusion, es una serie de microprocesadores de AMD diseñada para actuar como CPU y acelerador gráfico (GPU) en un mismo circuito integrado.
AMD anunció la primera generación de las APU, Llano para dispositivos de altas prestaciones y Brazos para los de bajo costo en enero de 2011. La segunda generación, Trinity, para altas prestaciones y Brazos-2 para los de bajo costo fue anunciada en junio de 2012. La tercera generación Kaveri para dispositivos de altas prestaciones fue lanzada en enero de 2014, mientras que Kabini y Temash para dispositivos de bajo costo fue anunciada a mediados de 2013.
Las videoconsolas de octava generación Sony PlayStation 4 y la Microsoft Xbox One usan las APU de bajo consumo de tercera generación parcialmente modificadas.

## Historia

El proyecto AMD Fusion empezó en 2006 con el objetivo de desarrollar un system on a chip que combine una CPU con una GPU en el mismo circuito integrado. La compra del fabricante de chips gráficos ATI por AMD fue un paso clave para concretar el objetivo. El proyecto requería de tres iteraciones del concepto Fusion para crear un producto digno de salir al mercado. Varias razones contribuyeron a retrasar el proyecto, incluyendo dificultades técnicas para combinar una CPU y una GPU en un CI (circuito integrado) con proceso de 45 nm, y puntos de vista contradictorios sobre cuál es el papel de la CPU y la GPU deberían tener dentro del proyecto.
La primera generación de APU para equipos portátiles y de escritorio, llamada Llano, fue anunciada el 4 de enero de 2011 en el CES de 2011 en Las Vegas y lanzado poco después. Estaba compuesto por núcleos de CPU K10 y una GPU de la serie Radeon HD 6000 en el mismo chip, para zócalo FM1. Un APU para dispositivos de baja potencia fue anunciado como la plataforma Brazos, basada en la microarquitectura Bobcat y una GPU de la serie Radeon HD 6000 en el mismo chip.
En una conferencia de enero de 2012, el socio corporativo Phil Rogers anunció que AMD re-lanzaría la plataforma Fusion como la Heterogeneous Systems Architecture (HSA), afirmando que "es lógico que esta arquitectura y plataforma en evolución sea representativa de toda la comunidad técnica que está a la vanguardia en este ámbito tan importante del desarrollo de la tecnología y la programación". Sin embargo, luego se supo que AMD había sido demandada por una infracción de marca por la compañía suiza Arctic, quien usó el nombre "Fusion" para una línea de fuentes de alimentación.

## Hoja de ruta

| APU | Estado | Modelo | Tecnología | TDP | Núcleos | Núcleos Radeon |
| Ontario | Lanzado | C-30, C-50, C-60 | 40nm | 9W | 1-2 Bobcat | 80 |
| Zacate | Lanzado | E-240, E-300, E-350, E-450 | 40nm | 18W | 1-2 Bobcat | 80 |
| Llano | Lanzado | A4 2 núcleos; A6 3 y 4 núcleos: A8 4 núcleos | 32nm SOI | 25W~100W | 2-4 K-10/Stars | 160~400 |
| Trinity | H1 2012 | A10-4600M, A10-4655M | 32nm SOI | 25W~95W | 4 Bulldozer+ | 384 |

## Plataformas actuales
### "Llano" (32nm)

* Llano usa una actualizada CPU Stars y una GPU Redwood. Fabricada por GlobalFoundries con tecnología de 32 nm y orientada al mercado que ocupan los actuales Athlon II. Estos procesadores están disponibles en forma de dos, tres y cuatro núcleos.
* Llano incluye controladora para PCIe 2.0 y DDR3-1600 de doble canal, y 1MB de caché L2 por núcleo, pero sin caché L3.

### Brazos

Es la plataforma de bajo consumo energético de AMD Fusion. Fue presentada el 5 de enero de 2011 como la cuarta plataforma móvil de AMD orientada principalmente al mercado de subportátiles y netbooks. Destacan los procesadores de 40 nm Ontario (APU con TDP de 9 vatios para subportátiles, tabletas, NAS, y otros dispositivos de bajo consumo) y Zacate (APU de 18 vatios para portátiles, ordenadores de escritorio todo en uno, etc.). Ambos procesadores cuentan con uno o dos núcleos Bobcat x86 y soporte completo para DirectX11, DirectCompute (Interfaz de programación de aplicaciones API para computación por GPU) y OpenCL (API multiplataforma estándar para computación con procesadores multinucleo x86 y GPUs). Además ambos incluyen decodificador de video unificado (UVD) dedicado, para la aceleración de contenidos en alta definición por hardware.

#### "Ontario" (40nm)

* Todos los modelos soportan: SSE, SSE2, SSE3, SSSE3, SSE4a, NX bit, AMD64, PowerNow!, AMD-V.
* Soporte de memoria: DDR3 SDRAM, DDR3L SDRAM (Un canal, hasta 1066 MHz).
* Soporte GPU: Shaders Unificados (Vertex shader/Geometry shader/Pixel shader): Unidad de mapeo de textura: Unidad de salida de render
| Modelo | Núcleos | Freq. | L2 Caché | Multi. | Voltaje | Modelo GPU | Config. GPU | GPU Freq. | miniatura | TDP | Socket | Fecha de lanzamiento |
| C-Series C-30 | 1 | 1,2 GHz | 512 KB | 15x | 1,25 - 1,35 | HD 6250 | 80:8:4 | 280MHz | 2,5 GT/s | 9 W | BGA-413 | 4 de enero de 2011 |
| C-Series C-50 (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). | 2 | 1,0 GHz | 2x 512 KB | 12,5x | 1,05 - 1,35 | HD 6250 | 80:8:4 | 280MHz | 2,5 GT/s | 9 W | BGA-413 | 4 de enero de 2011 |
| C-Series C-60 | 2 | 1,333 Ghz | 2x 512 KB | 12,5x | 1,05 - 1,35 | HD 6250 | 80:8:4 | 280Mhz | 2,5 GT/s | 9 W | BGA-413 | 4 de enero de 2011 |

#### "Zacate" (40nm)

* Todos los modelos soportan: SSE, SSE2, SSE3, SSSE3, SSE4a, NX bit, AMD64, PowerNow!, AMD-V.
* Soporte de memoria: DDR3 SDRAM, DDR3L SDRAM (Un canal, hasta 1066 MHz).
* Soporte GPU: Shaders Unificados (Vertex shader/Geometry shader/Pixel shader): Unidad de mapeo de textura: Unidad de salida de render
| Modelo | Núcleos | Freq. | L2 Caché | Multi. | Voltaje | Modelo GPU | Config. GPU | GPU Freq. | miniatura | TDP | Socket | Fecha de lanzamiento |
| E-Series E-240 | 1 | 1,5 GHz | 512 KB | 30x | 1,175 - 1,35 | HD 6310 | 80:8:4 | 500MHz | 2,5 GT/s | 18 W | BGA-413 | 4 de enero de 2011 |
| E-Series E-300 | 2 | 1,3 Ghz | 2x 512 KB | 18,75x | 1,175 - 1,35 | HD 6310 | 80:8:4 | 488 MHz | 2,5 GT/s | 18 W | BGA-413 | 4 de enero de 2011 |
| E-Series E-350 | 2 | 1,6 GHz | 2x 512 KB | 20x | 1,25 - 1,35 | HD 6310 | 80:8:4 | 492MHz | 2,5 GT/s | 18 W | BGA-413 | 4 de enero de 2011 |
| E-Series E-450 | 2 | 1,65 Ghz | 2x 512 KB | 30x | 1,25 - 1,35 | HD 6320 | 80:8:4 | 508/600MHz | 2,5 GT/s | 18 W | BGA-413 | 4 de enero de 2011 |

### Kabini & Temash (28nm)

Después de que en el 2011 AMD lanzase la plataforma para móviles Brazos, con su respectivo éxito, tenía que seguir mejorando para volver a competir contra Intel. Así, a mediados del 2013 su nueva arquitectura de bajo consumo ya estaba lista y lanzada al mercado. El nombre que AMD dio a las dos nuevas APU fue Kabini & Temash. Estos dos nuevos productos, se pueden encontrar en muchos de los portátiles y tabletas del mercado. Gracias a la arquitectura Jaguar se ha conseguido reducir el consumo y, a la par, aumentar la potencia de cálculo. Están construidos con una tecnología de 28nm y cuentan con una GPU más potente.
Temash está orientado a dispositivos como tabletas o mini portátiles. Existen tres modelos, uno de ellos cuenta con una CPU de 4 núcleos, y los otros dos con una de 2 núcleos. EL consumo es lo más atractivo, estando el modelo menos potente en unos 3.9W y el modelo de 4 núcleos en 8W de TDP. El TDP es el consumo máximo que la refrigeración necesitaría disipar. Las compañías tienden a no indicar qué consumo generan exactamente, debido a que depende de la frecuencia a que el chip esté funcionando, y lo indican como el máximo consumo que se va a necesita disipar en caso de trabajo máximo. En comparación con el modelo que menos consumía de la anterior arquitectura, la Brazos, se consigue un 15% menos de consumo y se aumenta el número de núcleos de la GPU de 80 a 128, aunque la frecuencia se e disminuida de 275Mhz a 225Mhz.
Kabini está más enfocado a portátiles más grandes, con mejor ventilación, cosa que permite que el procesador consuma más y el rendimiento se vea mejorado. La APU más potente tiene 4 núcleos de CPU a 2,00Ghz y mantiene los 128 núcleos de GPU pero a una frecuencia bastante más elevada, 600Mhz. Esto hace que sea una APU muy potente, pero con un consumo elevado, unos 25W. Aunque también se puede disfrutar de opciones más intermedias entre consumo y rendimiento.

#### Arquitectura Jaguar

Esta arquitectura es la que utilizan los núcleos de CPU de las dos plataformas, tanto Kabini como Temash. AMD tenía tres objetivos con esta arquitectura. El primero, debido a las críticas que tuvo el predecesor, era mejorar el IPC. El segundo era introducir instrucciones más modernas como SSE4.1/4.2, y el tercero aumentar la portabilidad de la arquitectura para que en un futuro esta sea más fácil de mejorar y de fabricar. Existen tanto la configuración dual como la quad-core, aunque las variantes de cuatro núcleos necesitan refrigeración activa. Cada núcleo ocupa un espacio de 3.1 milímetros cuadrados en el die. En cuanto a rendimiento, se añaden 4 loop buffers de 32 bytes, usado para manejar número pequeños de instrucciones ya decodificadas, por lo que se consigue que los decodificadores de instrucciones no decodifiquen las mismas instrucciones repetidamente. Con esto se ahorra energía y se consigue incrementar la velocidad. Respecto a la memoria caché, cuenta tanto como con una L1 como con una L2. La primera tiene 32kb para instrucciones y otros 32kb para datos y es asociativa de dos vías. En cambio, la L2 es una caché de 512K compartida por los núcleos de la CPU. Para mejorar el consumo, esta caché trabaja a la mitad de frecuencia de reloj.

#### Características

Estas plataformas son las primeras en incluir la arquitectura Graphics Core Next. Con esto se garantiza que se soporta DirectX 11.1, OpenGL 4.3 y OpenCL 1.2. La parte de procesamiento de vídeo también se tiene en cuenta y no supone un problema para estos modelos. Se puede visualizar perfectamente y renderizar video en HD codificado con H.264. AMD afirma que pueden llegar a soportar salida de video en Ultra HD (2160p) por HDMI, Display Port. La batería también se ve beneficiada gracias a que se controla el refresco de pantalla, y este no será necesario si no hace falta.
La gestión de la energía, como ya se ha comentado, es muy importante en esta APU. AMD ha incorporado en sistema de gestión de la energía en cada núcleo, tanto los de la CPU como los de la GPU, por lo que cada núcleo recibe solo la energía necesaria que necesita en cada momento. Para los equipos que sean híbridos, es decir, que puedan ser una tableta y si los ajustas a un teclado se conviertan en un portátil, AMD ha diseñado el Turbo Dock. Este sistema permite aumentar has dos veces más el rendimiento de la APU, ya que la base a la que se ha anclado la tableta dispone de refrigeración activa y el calor se disipa mejor. Estas bases suelen venir con un depósito de batería, por lo que el aumento del consumo se contrarresta con la batería extra

### Beema & Mullins (28nm)

En el 2013, con la salida al mercado de Kabini y Temash, AMD creía que la brecha entre las arquitecturas ARM y las de Intel de bajo consumo se vería disminuida. La realidad es que no fue así, y las compañías seguían eligiendo otras soluciones, entre ellas las de Intel, para fabricar sus tabletas. Así que AMD pasó a la acción y, a mediados del 2014, lanzó las nuevas APU, Beema y Mullins. Estas nuevas versiones venían a mejorar a las anteriores, sobre todo en el rendimiento por vatio. El procesamiento gráfico se mejora en un 10% y se pasa a consumir un 40% menos respecto a sus predecesores. Respecto a su tecnología, están fabricadas con la misma del año anterior, 28nm. Los núcleos de la CPU pasan a llamarse Puma+, pero realmente no hay ningún cambio significativo. Básicamente, estas nuevas APU son una mejora de las anteriores gracias a que por el paso del tiempo se pueden integrar más transistores, mejorando así el rendimiento, pero no hay ninguna nueva arquitectura en su interior. Respecto al consumo, Mullins presenta tres modelos (véase ilustración 18) para equipos sin refrigeración activa, dos de ellos corriendo a 2.2Ghz y 1.6Ghz respectivamente y con un consumo de 4,5W y configuración de quad-core, y el otro, un dual-core con consumo de 3,95W.
Este consumo es el TDP, es decir, el consumo máximo que la refrigeración necesitaría disipar. Debido a la nueva métrica sacada por Intel, el SDP, AMD también específica este valor en sus nuevos modelos. El SDP significa que de un mismo procesador varía el consumo dependiendo el escenario donde se construya este. Es decir, un procesador que esté dentro de un teléfono móvil tendrá menos refrigeración y podrá trabajar con menos consumo, pero en cambio el mismo procesador en un portátil, al tener más refrigeración, podrá consumir más y llegar al valor del TDP. En cambio, para los modelos Beema, AMD no específica valor SDP ya que, según ellos, estos modelos ya son para portátiles, por lo que no se han de poner en tabletas. Beema ofrece tres soluciones quad-core entre 2.4Ghz y 1.5Ghz, con 15W de TPD, y una dual-core de 1.35Ghz y 10W de TDP. Tanto en Beema como en Mullins se mantienen los mismos núcleos de GPU, aunque la frecuencia y la velocidad de la memoria sí que aumentan en algunos modelos respecto a los del año pasado.

#### Arquitectura Puma+

Esta arquitectura de los procesadores de AMD no tiene ninguna mejora respecto a los del año anterior. Es decir, si se configuran a la misma frecuencia que los predecesores, el rendimiento es el mismo. Pero en cambio, AMD ha conseguido aumentar la frecuencia y aun así reducir el consumo. Un ahorro significativo lo han hecho gracias a reducir en un 38% la fuga de calor de los transistores de la GPU y un 19% los de la CPU. También se ha optimizado el consumo en las interfaces de entrada y salida y la gestión de la memoria, con una reducción de 500mW. Finalmente, el motor de visualización de la pantalla se ha optimizado unos 200mW.

#### Características

Aunque en términos de arquitectura no haya novedades destacables, AMD sí que ha querido incorporar algunas características interesantes para manejar el consumo y la seguridad de sus nuevas APU. Con la incursión de las APU en las tabletas, la temperatura límite ahora se considera la máxima temperatura que el chasis pueda aguantar y que no haga que el usuario se queme. Por ello, el Skin Temperature Aware Power Management mejora hasta en un 63% el rendimiento en cargas claves de aplicaciones. Se aumenta la frecuencia para ejecutar operaciones pesadas, y justo antes de que llegue a la temperatura límite, se baja, y así se mantiene el calor. Esta plataforma es la primera en combinar los procesadores x86 con un núcleo ARM encargado de la seguridad. Este núcleo, el Platform Security Processor (PSP) (véase ilustración 21), es el que se encarga de proporcionar una ruta de procesamiento seguro a la CPU y la GPU e incorpora una serie de servicios seguros entre el sistema operativo y los núcleos.

## Futuras plataformas
### Trinity y Bobcat mejorado

* En el AMD's Financial Analyst Day de 2010 se dio a conocer las APU Fusion para 2012.
* Las APU Fusion basadas en Bobcat (Ontario y Zacate), serán reemplazadas por Bobcat mejoradas (Krishna/Wichita) fabricadas con tecnología de 28nm.

#### "Trinity" (32nm)

* Trinity reemplazará a Llano (basada en Stars) en la microarquitectura Bulldozer. Como Llano, Trinity será fabricado en tecnología de 32nm.
* En Trinity la arquitectura de gpu será Northern Islands Radeon HD 6000, en cambio de llano basada en Evergreen Radeon HD 5000, mejorando notablemente en GPGPU con un consumo más reducido.