IvAn AlduAn Grupo de modelado y realidad virtual (http://www.gmrv.es) Master en informatica grafica juegos y realidad virtual (http://dac.etsii.urjc.es/rvmaster) • PC, consola, smartphone, tablet, … • Todo se reduce a: – Poder de cómputo CPU – Poder de cómputo GPU – Memoria • Jerarquía de memoria – Ancho de banda interconexiones • La consola es un sistema hardware / software diseñado desde un principio para juegos 3D • Los videojuegos 3D se caracterizan por: – Altas exigencias operaciones en coma flotante – Pocas instrucciones sobre grandes volúmenes de datos • Buen rendimiento de la caché de instrucciones y mal rendimiento de la caché de datos • Posibilidad de aprovechar paralelismo de datos más que el paralelismo funcional – Altas exigencias en el ancho de banda de la conexión de la CPU con el resto del sistema (coprocesadores, memoria principal, E/S) • CPU: Procesador de propósito general • Sólo una pequeña parte de todo el chip se dedica a realizar operaciones matemáticas • Resto de circuitería: aumento de prestaciones – – – – – – Segmentación Planificación dinámica Predicción de saltos Emisión múltiple de instrucciones Especulación Caché • GPU: Procesador masivamente paralelo diseñado para realizar las tareas del cauce gráfico lo más rápido posible – Casi todo el chip dedicado a realizar cálculos • Algunas partes del cauce gráfico son programables – Arquitectura tradicional vs arquitectura unificada • Capacidad de cálculo, operaciones coma flotante: • Capacidad de cálculo, operaciones coma flotante: • Ejecución en un PC: • Esquema simplificado de componentes: • Núcleo PowerPC 730 MHz sin prácticamente ninguna modificación • Dos niveles de caché – 64 kB L1 cache (32 kB instruction + 32 kB data) – 256 kB L2 cache • Microprocesador superescalar con tres unidades de ejecución – 32-bit integer unit – 64-bit floating-point ( or 2 × 32-bit SIMD ) • Ancho de banda del bus de sistema 1.9 GB/s • En realidad son dos chips empaquetados en uno – La GPU de ATI a 243 MHz • GPU tradicional apenas programable • 3 MB de memoria de vídeo embebida – 24 MB de memoria 1T-SRAM que actúa como memoria principal del sistema • 64 MB GDDR3 de memoria externa • La memoria ARAM se hereda de la GameCube – sólo puede ser accedida para las tareas de sonido • Seis grados de libertad • Posiciones basado en sistema de infrarrojos • Rotaciones basado en acelerómetros • Diseño específico que funciona a 3.2 GHz y que incluye tres núcleos de PowerPC – PowerPC Processing Elements: PPE • Soporta hyperthreading – Por lo tanto se pueden ejecutar hasta 6 threads en paralelo en este procesador • No permiten ejecución fuera de orden (OoOE) – Esta filosofía de diseño simplifica el hardware y reduce el consumo de potencia – Supone una dificultad añadida para los compiladores y los desarrolladores • Generación procedural – La CPU puede ser configurada para que alguno de los núcleos se comporte como parte del cauce gráfico – Este núcleo se encargará de generar dinámicamente geometría, texturas, etc. y de abastecer a la GPU – Para 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 • La GPU Xenos contiene en realidad dos chips empaquetados conjuntamente – La GPU con el controlador de memoria – 10 MB de eDRAM para la memoria de vídeo • A su vez hace de controlador de memoria – 512MB GDDR3 – 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 – No se distingue entre procesadores de vértices y de fragmentos • Incluye un array de 48 shaders genéricos que pueden procesar vértices y fragmentos indistintamente • Cada uno de estos shaders puede completar 4 operaciones en coma flotante por ciclo de reloj • Hasta 64 threads pueden ejecutarse dentro de la GPU • Procesador de IBM compuesto por: – 1 PPE (Power Processor Element) – 8 SPEs (Synergistic Processor Elements) – Element Interconnect Bus (EIB) • El PPE es similar a un núcleo de Xbox360 – se encarga de repartir tareas de cómputo intensivo entre los 8 SPEs • Es un procesador súper potente, capaz de realizar 256M de cálculo por segundo • Conexión directa con 256MB XDR RAM 25.6 GB/s • Cada SPE es un procesador vectorial (SIMD o VLIW) que permite trabajar con 128 bits en cada instrucción – Como en la 360 no existe planificación del código – Emisión de 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 – Ahorro en área y en consumo de potencia • 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 • Gran exigencia de ancho de banda en el elemento de interconexión entre todos los elementos, el EIB • El EIB no es un bus tradicional ya que está formado por cuatro anillos de 16 bytes de ancho cada uno – 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 • Se trata de una GPU diseñada por NVidia muy similar a la GeForce 7800 GTX – Arquitectura tradicional en la que se distingue entre procesadores de vértices y de fragmentos • 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 – 256 MB GDDR3 memoria de vídeo externa – Ancho de banda GPU-VRAM 22.4 GB/s • Espresso CPU: 3 PowerPC 750 based cores 1.2GHz – Los desarrolladores ya se han empezado a quejar de que es muy lenta • Latte GPU: Custom AMD RV770 based 550MHz – 32MB 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 – Problemas con texturas de alta resolución • Poderosa APU (Accelerated Processing Unit) – Combinación de CPU, GPU y controlador de memoria todo dentro del mismo chip – Esto 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 • 8 GB memoria súper rápida (DDR5) • Sencillo programar para PS4 • • • • • • PS2 / NDS : 150 millones PS1 / Wii : 100 millones Xbox 360 / PS3 / PSP : 75 millones 3DS : 22 millones Wii U / PsVita : 2 millones PS4 / Xbox 720 : ???? • 1200 millones dispositivos inteligentes se vendieron durante 2012: – Smartphone Samsung (sólo 2012) : 200 millones – Smartphone Apple (sólo 2012) : 120 millones – Tabletas (sólo 2012) : 130 millones • Alienware Aurora ( 4000 € ) – Intel ® Core ™ i7-3960X ( Six Core Extreme, 15MB de caché, Overclocking hasta 4.2GHz ) – 32 GB DDR3 de Quad canal ( 4 x 8 GB ) a 1600 MHz – Dual 2GB GDDR5 NVIDIA® GTX 680 SLI™ ( 2 x 3TFLOPS ) • Valve’s Steam: política de venta digital a precios muy competitivos cada vez más mercado • Steam Box ( ???? ) General Performance Graphics Performance • Iphone 5 – Custom 1.3 GHz dual-core ARM7 based CPU – 3-core PowerVR SGX 543MP3 GPU (35 million poly/s) – 1GB LPDDR2 1066 MHz RAM • Diversidad de dispositivos – La consola portátil tiene los días contados • 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 • Mercado más accesible que nunca IvAn AlduAn Grupo de modelado y realidad virtual (http://www.gmrv.es) Master en informatica grafica juegos y realidad virtual (http://dac.etsii.urjc.es/rvmaster)