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 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:
- La GPU de ATI a 243 MHz: tradicional apenas programable, con 3 MB de memoria de vídeo embebida.
- 24 MB de memoria 1T-SRAM que actúa como memoria principal del sistema.
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
- La GPU con el controlador de memoria
- 10 MB con el eDRAM para la memoria del vídeo
- 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.
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.
- 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
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
- 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.
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.
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
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
- 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
- Custom 1.3 GHz dual-core ARM7 based CPU
- 3-core PowerVR SGX 543MP3 GPU (35 million poly/s)
- 1GB LPDDR2 1066 MHz RAM
“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