domingo, 3 de marzo de 2013




ARQUITECTURAS HARDWARE EN LAS CONSOLAS DE HOY 

ESTEFANÍA GARCÍA DE LA TORRE FERNÁNDEZ (Economía y Periodismo)

El autor de esta presentación, se trata de Iván Alduán del Grupo de moldeado y realidad virtual (hhtp://www.gmav.es), poseedor un Master en informática gráfica, juegos y realidad virtual. Éste, a través de unas diapositivas, nos mostró los diferentes hardwares de las distintas consolas para videojuegos que encontramos en la mayoría de nuestras casas. Comenzando con una breve explicación sobre el hardwarde, siguiendo con las arquitecturas de las consolas y otros aparatos electrónicos y concluyendo con una serie de fundamentos clave, aplicables a cualquier plataforma. A continuación expondré los datos más relevantes de la ponencia.

El hardware de un PC, Smartphone, consola o tablet, se reduce a:
  •  El poder de cómputo de la CPU
  • El poder de cómputo de la GPU
  • La memoria y su jerarquía 
  • Ancho de banda de las interconexiones

Tiene una estructura piramidal y en orden ascendente encontramos: disco duro, memoria principal, caché y recursos. Y, por otro lado, el Shared Bus proporciona información al procesador, la memoria RAM y al Peripheal Devices, que a su vez ofrecen feed-back al Shared Bus.

Todas las consolas son un sistema de hardware/software diseñado desde un principio para juegos 3D, lo que llamamos coloquialmente “hardware para jugar”.Los videojuegos 3D se caracterizan por:
  • Altas exigencias de operaciones en comas flotantes
  • Pocas instrucciones sobre altos volúmenes de datos
  • Buen rendimiento del caché de instrucciones y mal del de datos
  • Posibilidad de aprovechar paralelismo de datos más que funcionen
  • Altas exigencias en el ancho de banda de la conexión de la CPU con el resto del sistema (coprocesadores, memorias principal, E/S)

CPU VS GPU
La CPU es un procesador de propósito general, en el que solo una pequeña parte de todo el chip se encarga de realizar operaciones matemáticas, el resto de los circuitos se encargan de otras prestaciones tales como:
  • Segmentación
  •  Planificación dinámica
  • Predicción de saltos
  • Emisión múltiple de instrucciones
  • Especulación
  • Caché (memoria interna de la CPU)
El GPU, por su parte, es un procesador masivamente paralelo diseñado para realizar las tareas del cauce gráfico lo más rápido posible, casi todo el chip está destinado a realizar cálculos y algunas partes de su cauce gráfico son programables, de donde se deriva: la arquitectura tradicional vs la arquitectura unificada.
El ponente a través de dos imágenes expone las diferencias existentes entre las GPUs y las CPUs, mostrando que las GPUs como nVIDIA y ATI-AMD se han disparado en torno a velocidad y capacidad de cálculo y operaciones de coma flotante, mientras que las CPU como Intel se han quedado estancadas.

Sistema de PC tradicional
Ejecución de un PC:
Central Processing Unit (CPU/Unidad Central de Procesamiento) o procesador o microprocesador, es el componente principal del ordenador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Como éste al llevar a cabo múltiples tareas, delega responsabilidades e información a través del puente o bridge norte tanto a la memoria DRAM del sistema como a la GPU graphics processing unit (unidad de procesamiento gráfico), que es un coprocesador dedicado al procesamiento de gráficos u operaciones de coma flotante, para aligerar la carga de trabajo del procesador central en aplicaciones como los videojuegos y o aplicaciones 3D interactivas. De esta forma, mientras gran parte de lo relacionado con los gráficos se procesa en la GPU (gracias también a la memoria gráfica DRAM a la que está conectada), la CPU puede dedicarse a otro tipo de cálculos (como la inteligencia artificial o los cálculos mecánicos en el caso de los videojuegos). También el puente norte se encarga de conectar con el puente sur que delega en otros periféricos como el teclado, los CDs, etc.

Nintendo WII
Esquema simplificado de los componentes:

Por un lado tenemos la CPU Broadway, que está formada por:

  • Núcleo PowerPC 730 MHz sin prácticamente ninguna  modificación
  • Dos niveles de caché:
1.       64kB L1 cache (32 kB instruction + 32 kB data)
2.       256 kB L2 cache

  •   Microprocesador superescalar con tres unidades de ejecución
1.       32-bit integer unit
2.       64-bit floating-point (or 2 x 32-bit SIMD)

  • Ancho de banda  del bus de sistema 1.9 GB/s
Y por otro lado, la GPU Hollywood, que en realidad son dos chips empaquetados en uno:
  1. La GPU de ATI a 243 MHz: tradicional apenas programable, con 3 MB de memoria de vídeo embebida.
  2. 24 MB de memoria 1T-SRAM que actúa como memoria principal del sistema.
La cual consta de 64 MB GDDR3 de memoria externa y cuya memoria ARAM se hereda de la GameCube que solo puede ser accedida por las tareas de sonido.

Por último, los controles de la WII, tienen seis grados de libertad, con posiciones basados en un sistema de infrarrojos captados por una cámara y rotaciones basadas en acelerómetros, para captar el movimiento del jugador.

Microsoft Xbox 360
Esquema simplificado de los componentes:

Por un lado tenemos la CPU Xenon, cuyas características son:
  • Diseño específico que funciona a 3.2 GHz y que incluye tres núcleos de PowerPC Processing Elements: PPE
  • Soporta hyperthreading, por lo tanto se pueden ejecutar hasta seis threads en paralelo en este procesador.
  • No permiten ejecución fuera de orden (OoOE), lo que simplifica el hardware y reduce el consumo de potencia, aunque supone una dificultad añadida para los compiladores (software) y los desarrolladores.
  • Tiene una generación procedural:
1.       La CPU puede ser configurada para que alguno de los núcleos se comporte como parte del cauce gráfico.
2.       Este núcleo se encargará de generar dinámicamente geometría, texturas, etc;  y de abastecer a la GPU.
3.       Par comunicar los datos de forma directa sobre la GPU una parte de la caché L2  se bloquea y actúa como buffer de datos sin tener que pasar por la memoria principal.

Y por otro lado la GPU Xenos que al igual que la de la WII, contiene en realidad dos chips empaquetados conjuntamente
  1. La GPU con el controlador de memoria
  2. 10 MB con el eDRAM para la memoria del vídeo
A su vez, hace de controlador de memoria con 512MB GDDR3 y un ancho de banda GPU-RAM 22.4 GB/s. Se trata de la primera GPU con arquitectura unificada que se incluye en una consola de videojuegos, en la que no se distingue entre procesadores de vértices y de fragmentos. Además incluye:
  • Un array (matriz) de 48 shaders genéricos que pueden procesar vértices y fragmentos indistintamente, cada uno de los cuales puede completar 4 operaciones en coma flotante por ciclo de reloj.
  •  Hasta 64 threads (tareas) que pueden ejecutarse dentro la de GPU.
Play Station 3
Esquema simplificado de los componentes:
Por un lado tenemos la CPU Cell, que es un procesador de IBM súper potente, capaz de realizar 256M de cálculo por segundo y tiene conexión directa con 256MB XDR RAM 25.6 GB/s, compuesto por:

  •   Element Interconnect Bus (EIB)
  • 1 PPE (Power Processor Element), similar al núcleo de la Xbox360, que se encarga de repartir tareas de cómputo intensivo entre los 8 SPEs
  •  8 SPEs (Synergistic Processor Elements), cada uno de los cuales son un procesador vectorial (SIMD o  VLIW) que permite trabajar con 128 bits en cada instrucción y como  en la 360 no existe planificación del código y se emiten dos instrucciones por ciclo.
La principal diferencia entre un SPE y un procesador de propósito general o el PPE está en la ausencia del nivel L1 de memoria caché:
  • Los SPE utilizan almacenamiento local de 256 KB organizados como un segundo nivel de registros
  • No funcionan como una memoria caché, lo que reduce mucho la complejidad del diseño 
La ausencia de caché en los SPEs simplifica en gran medida el hardware incluido en el procesador, lo que provoca ahorro en área y consumo de potencia. Además, traslada la responsabilidad de la gestión de la memoria al software, por ejemplo: un SPE puede acceder al almacenamiento local de otro SPE, pero la consistencia, la coherencia y la sincronización deben resolverse por software.

Por último, tiene una gran exigencia de ancho de banda en el elemento de interconexión entre todos los elementos, el EIB, el cual no es un bus tradicional ya que está formado por cuatro anillos de 16 bytes de ancho cada uno, en el que dos anillos van en una dirección y los otros dos van en la contraria: 
  • Funcionan a la mitad de la frecuencia de reloj que el resto del chip 
  • Se pueden realizar hasta tres transferencias en cada anillo simultáneas 
  • Alcanza más de 300 GB/s 
Y por otro lado, la GPU RSK, diseñada por NVidia muy similar a la GeForce 7800 GTX, con arquitectura tradicional en la que se distingue entre procesadores de vértices y de fragmentos, cuyas características principales son: 
  • 8 vertex shaders y 24 pixel shaders 
  • Capaz de realizar una gran cantidad de cálculos en coma flotante por unidad de tiempo 
  • Pixel shaders muy potentes (20 operaciones por ciclo) 
  • Pero NO tiene memoria de vídeo integrada, aunque si 256 MB GDDR3 memorias de vídeo externa y ancho de banda GPU-VRAM 22.4 GB/s. 
WII U 
Compuesta por: 
  • Espresso CPU: 3 PowerPC 750 based cores 1.2GHz, cuyos desarrolladores ya se han empezado a quejar de que es muy lenta. 
  •  Latte GPU: Custom AMD RV770 based 550MHz con: 32MG eDRAM dentro del chip, 320 stream processors, 16 TMUs, 8 ROPs, más capacidad de cómputo que las de PS3 y 360 
  • 1 GB DDR3 con un ancho de banda 12.8 GB/s con algunos problemas para texturas de alta resolución. 
PS4
Poderosa APU (Accelerated Processing Unit), es una combinación de CPU, GPU y controlador de memoria todo dentro del mismo chip, lo que permite tener un bus de interconexión muy rápido entre los elementos: 
  • CPU: x86-64 AMD ‘Jaguar 8 cores 
  • GPU: 1.84 TFLOPS, AMD next-generation Radeon™ based graphics engine 
Además de 8 GB de memoria súper rápida (DDR5) y sencillo de programar para PS4

El ponente, tras mostrar las diferentes arquitecturas, expone el rankig de ventas de las distintas consolas y de dispositivos inteligentes (1200 millones durante el 2012): 
  • PS2 / NDS : 150 millones 
  • PS1 / Wii : 100 millones 
  • Xbox 360 / PS3 / PSP : 75 millones 
  • 3DS : 22 millones 
  • Wii U / PsVita : 2 millones 
  • Smartphone Samsung (sólo 2012) : 200 millones 
  • Smartphone Apple (sólo 2012) : 120 millones 
  • Tabletas (sólo 2012) : 130 millones 
Además, de las características de algunos nuevos PC de Alta Gama como: 
  • Alienware Aurora ( 4000 € ) con Intel ® Core ™ i7-3960X ( Six Core Extreme, 15MB de caché, Overclocking hasta 4.2GHz ) además de 32 GB DDR3 de Quad canal ( 4 x 8 GB ) a 1600 MHz y Dual 2GB GDDR5 NVIDIA® GTX 680 SLI™ ( 2 x 3TFLOPS ) 
  • Valve’s Steam: política de venta digital a precios muy competitivos con cada vez más mercado
  • Steam box 
Y de Smartphones y tablets, hablando principalmente sobre el Iphone 5 y sus características: 
  • Custom 1.3 GHz dual-core ARM7 based CPU 
  • 3-core PowerVR SGX 543MP3 GPU (35 million poly/s) 
  • 1GB LPDDR2 1066 MHz RAM 
Finalmente, como he mencionado al principio, la presentación finaliza con la conclusión que Iván, nuestro ponente, saca de esta presentación, que es la siguiente:
“Existe una gran diversidad de dispositivos y el mercado es más accesible que nunca, por lo que la consola portátil tiene los días contados. Y los fundamentos son los mismos para cualquier plataforma: 
  • Paralelismo 
  • Optimizar al máximo el uso de cada unidad de proceso
  • Optimizar al máximo el uso de la memoria que es limitada 
  • Evitar siempre que sea posible las transferencias de datos para no sobrecargar los buses de interconexión”
Con esta entrada he querido poner de manifiesto todo el vocabulario y los elementos técnicos que se nos han abierto ante nuestros ojos gracias a este seminario, y gracias al cual, tras buscar información sobre qué es cada cosa, he logrado entender un poco más acerca de extenso mundo de la informática, que en principio nunca me había atraído pero que ahora me parece algo interesante sobre lo que todo el mundo debería tener al menos unos conceptos básicos.






No hay comentarios:

Publicar un comentario