Estudio de la Wii U: CPU y GPU Michael Harry O'Gay García Microprocesadores para comunicaciones ULPGC Índice Índice...............................................................................................................................................2 Introducción.....................................................................................................................................2 Diseño del Hardware.......................................................................................................................3 El CPU: Espresso.............................................................................................................................4 El GPU: Latte...................................................................................................................................4 Comparación con la Wii..................................................................................................................5 Críticas.............................................................................................................................................5 Ley del rendimiento decreciente......................................................................................................6 Referencias.......................................................................................................................................8 Introducción La Wii U es una consola de videojuegos diseñado por Nintendo, sucesor de la Wii. Es la primera consola de Nintendo con la capacidad de producir salida de video de alta definición, con una resolución de hasta 1080p. Figura 1: Imagen de la consola Wii U. Fuente: http://en.wikipedia.org/wiki/File:Wii_U_Console_and_Gamepad.png La consola se destaca por su tableta de juego, el Wii U Gamepad, que consiste en una pantalla tácil con una cámara, botones y sticks analógicos, que sirve como mando principal de la consola. Aunque es la parte más importante, la consola también permite hasta 4 jugadores más si utilizan mandos convencionales de la Wii o otros mandos diseñados para la Wii U. En este artículo se centrará sobre sus unidades de procesamiento. La CPU y la GPU de la Wii U se llaman Espresso y Latte respectivamente. Esto tiene sentido, ya que la consola se llamaba Project Café durante el proceso de creación. Diseño del Hardware Centrándonos exclusivamente en la parte de procesamiento de la consola, la Wii U utiliza una tecnología llamada Multi-chip Module (Módulo de chips múltiples), o MCM. Un MCM es una integración de varios dados de silicio, o chips, sobre una única superficie, de manera que los distintos chips se podrían considerar uno solo. Nintendo utilizó esta técnica para minimizar el consumo de energía utilizada en la comunicación entre la CPU y GPU. Figura 2: Diagrama del Hardware de la Wii U. La CPU se encuentra abajo a la derecha y la GPU arriba a la izquierda. Fuente: http://en.wikipedia.org/wiki/File:Nintendo-Wii-U-MCM.jpg Sobre el MCM se encuentran tres chips principales: La CPU, la GPU y otro chip pequeño, de tipo EEPROM, del cual todavía se desconoce su propósito y no será el enfoque de este artículo. Figura 3: Imagen real del MCM de la Wii U. Fuente: http://iwataasks.nintendo.com/interviews/#/wiiu/console/0/0 Antes de entrar en detalle sobre cada componente, se puede hacer algunas comparaciones. La CPU tiene un tamaño aproximado de 32.76mm2, mientras que la GPU tiene un tamaño casi 5 veces superior, con 156.21mm2. Esto tiene sentido, porque la mayoría del procesamiento será en el apartado gráfico y en otras tareas de la GPU. El CPU: Espresso Espresso es el nombre código del CPU de la Wii U. Fue diseñada por IBM utilizando tecnología Silicon On Insulator (SOI) de 45nm. No entrando en mucho detalle, la tecnología SOI reduce la cantidad de energía perdida por capacidad parásita entre elementos del circuito. El procesador está construido sobre una base Power Architecture. De manera general se puede decir que es una versión del procesador Broadway con frecuencia aumentada, utilizado en la consola Wii El Espresso contiene tres núcleos de ejecución fuera de orden y una memoria cahé eDRAM integrado en el dado de silicio. A partir de ingeniería inversa, se ha descubierto más detalles sobre el procesador. Ninguno de estos datos han sido confirmados por Nintendo o IBM. A continucación se hablará sobre estos aspectos menos conocidos. Como se ha mencionado antes, es una arquitectura basada en Broadway. Contiene tres núcleos superescalares, que trabajan con datos enteros de 32 bits y datos de coma flotante de 64 bits. Estos últimos datos se calculan usando pares de registros de 32 bits. Esto significa que el CPU es de tipo SIMD (Single Instruction, Multiple Data). El procesador trabaja a 1.243125GHz y cada uno de los núcleos puede emitir hasta tres instrucciones por ciclo.Los núcleos se componen de 4 etapas de procesamiento, con 5 unidades funcionales para la etapa de ejecución. Por lo tanto, en el mejor de los casos, dado que puede emitir hasta 9 instrucciones por ciclo, podría ejecutar alrededor de 11 GFLOPS o 11*10^9 operaciones de punto flotante por segundo. Por supuesto, el número real será mucho menor, posiblemente la mitad. En cuanto a memoria, el procesador tiene una cache de nivel 2 de 3MB compartida entre los tres procesadores. La cache tiene 512KB reservados para cada uno de los núcleos 0 y 2, y los restantes 2MB se reservan para el núcleo 1. Esto parece indicar que el núcleo 1 ejecuta los hilos más intensivos de los programas. El procesador también hace uso de 32MB de memoria situadas en el GPU. Se presume que esta memoria es al cache de nivel 3 del procesador. El GPU: Latte Latte es el nombre código del GPU de la Wii U. Es un tipo de GPU conocido como gpGPU (General Processing Graphics Processing Unit), que puede ejecutar programas gráficos y otras tareas de naturaleza simple y altamente paralela. La información sobre la GPU es más dudosa que la de la CPU, y todavía se desconocen algunos aspectos de este chip. La mayoría de las fuentes de información son enlaces a videos y sitios web primariamente dedicadas a videojuegos, por lo que el contenido de este apartado podría ser inexacto, impreciso o incluso erróneo. El contenido exacto del GPU está todavía por determinarse. Este chip no se parece a ningún otro GPU en el mercado y ha sido muy difícil de analizar. Nintendo ha revelado que Latte está basada en la serie Radeon HD de AMD. Algunos kits de desarrollo enviados a desarrolladores en 2012 parecían estar basados en las series Radeon HD 5000/6000. Este procesador tiene varios aspectos nuevos, como teselación, shaders y transmisión de video. Además, contiene un DSP de audio, eDRAM y componentes para la compatibilidad con juegos de la Wii. Contiene tres unidades de memoria. Una de ellas es la memoria de 32MB que utiliza la CPU. Tiene un ancho de banda de entre 140.8 y 563.2 GB/s. Además, tiene dos bloques de memoria de tipo SRAM que probablemente sirven como cache de texturas y framebuffer para juegos de la Wii. Para el procesamiento gráfico, la GPU contiene entre 4 y 16 unidades de renderización (ROP), que sirven para convertir polígonos en mapas de bits. También tiene entre 8 y 24 unidades de mapeado de texturas (TMU). Además tiene 160 Stream Processing Units(SPU). La SPU es una unidad de procesamiento que ejecuta pequeños programas y es la parte de la GPU que la convierte en un gpGPU. Comparación con la Wii La CPU de la Wii es un procesador basado en PowerPC llamado Broadway. Fue fabricado con tecnología CMOS SOI de 90nm, que es el doble de la Wii U. Según algunas fuentes, el procesador funciona a 729MHz, pero no ha sido confirmado por los fabricantes. Suponiendo una instrucción por ciclo, el procesador puede ejecutar un máximo de 729MFLOPS. Dado que el procesador de la Wii U ejecuta aproximadamente 11 GFLOPS, podemos decir que el nuevo procesador es aproximadamente 15 veces mejor que el antiguo. La GPU de la Wii es un procesador diseñado por ATI, llamado Hollywood, fabricado con tecnología CMOS de 90nm. Parece funcionar a 243MHz. Hollywood es un MCM que contiene dos chips principales. Uno de los chips se llama Napa y controla las funciones de entrada/salida, acceso a memoria y gráficos. El otro chip, llamado Vegas, contiene el procesador de audio y 24MB de memoria interna 1T-SRAM. El MCM también contiene un núcleo ARM926. Este núcleo controla muchas de las funciones de entrada/salida, incluyendo conexión inalámbrica, USB y lectura de discos ópticos. Hollywood contiene, además, implementaciones hardware de AES y SHA-1 para aumentar la eficiencia de estas funciones. Se comunica con la CPU mediante una conexión IPC. Debido a la falta de información, no se puede hacer comparaciones exactas con la GPU de la Wii U. Críticas Cuando las prestaciones de la Wii U salieron a la luz, la consola fue criticada por una gran parte de los periodistas especializados en videojuegos. El motivo de la crítica fue principalmente la poca diferencia entre las prestaciones de la Wii U y las consolas de la generación anterior. La CPU de la Wii U deja mucho que desear cuando se compara con una consola de la generación anterior. El procesador de la Xbox 360 tiene tres núcleos de dos hilos cada uno y funciona a 3.2GHz. Esto ya parece indicar que es tres veces mejor que la Wii U. Sin embargo, el diseño eficiente del Espresso permite ejecutar más instrucciones por ciclo en cada núcleo, equlibrando un poco la diferencia entre los dos procesadores. Aún así, las consolas de la misma generación de la Wii U son, indudablemente, mucho mejores. Dejando de lado los detalles, no hay duda de que las críticas están justificadas desde un punto de vista técnico. Pero desde un punto de vista más general, ¿realmente hay una gran diferencia? Cada vez más, se está convirtiendo en una cuestión subjetiva. Ley del rendimiento decreciente La medida más utilizada para comparar las prestaciones de consolas de video juegos es medir su habilidad para computar gráficos en tiempo real. En las siguientes imágenes, se puede apreciar la diferencia gráfica que existe entre la Wii U y la Xbox One. Estas imágenes muestran los juegos más gráficamente intensivos de cada consola. Figura 4: X. Wii U. Fuente: http://www.youtube.com/watch?v=6GxUMMGyZcM Figura 5: Ryse, Sone of Rome. Xbox One. Fuente: http://www.nowgamer.com/news/2151059/crytek_nextgen_isnt_about_resolution.html Para una persona acostumbrada a ver y comparar gráficos, la diferencia puede parecer obvia, pero para el público en general no es tan fácil de ver. Para mucha gente, estas imágenes podrían parecer idénticas en calidad. El apartado de gráficos en videojuegos está siguiendo una tendencia denominada "Law of Diminished Returns" o ley de rendimiento decreciente. Cada vez más, se necesita un mayor aumento de prestaciones para conseguir la misma diferencia percibida en los gráficos. Figura 6: Una gráfica que muestra de forma intuitiva la ley de rendimiento decreciente. Para concluir, la industria de las consolas está llegando a un punto en donde es el artista, y no la GPU, quien determina cuál de los juegos tiene los mejores gráficos. Referencias Información general sobre la Wii U: http://en.wikipedia.org/wiki/Wii_U Información sobre el Wii U Gamepad: http://en.wikipedia.org/wiki/Wii_U_GamePad Project Café: http://www.ign.com/articles/2011/04/15/wii-2-codenamed-project-cafe Multi-chip Module: http://en.wikipedia.org/wiki/Multi-chip_module Uso del MCM en la Wii U: http://iwataasks.nintendo.com/interviews/#/wiiu/console/0/0 Ingeniería inversa sobre la Wii U: http://www.anandtech.com/show/6465/nintendo-wii-u-teardown Información general del Espresso: http://en.wikipedia.org/wiki/Espresso_%28microprocessor%29 Tecnología SOI en la Wii U: http://www.advancedsubstratenews.com/2011/07/new-wii-u%E2%84%A2-on-soi/ Uso de Power Architecture en Wii U: http://hothardware.com/News/IBM-Confirms-WII-U-Utilizes-PowerBased-CPU-Not-Power-7/ Detalles de los procesadores de la Wii U: http://www.eurogamer.net/articles/digitalfoundry-wii-hacker-reveals-wii-u-cpu-secrets Información general del Latte: http://en.wikipedia.org/wiki/Latte_%28graphics_chip%29 Wii: http://en.wikipedia.org/wiki/Wii#Technical_specifications Prestaciones de la Wii: http://www.ign.com/articles/2006/03/30/revolutions-horsepower GPU de la Wii: http://en.wikipedia.org/wiki/Hollywood_%28graphics_chip%29 Ley del rendimiento decreciente: http://en.wikipedia.org/wiki/Law_of_diminishing_returns