Arquitecturas hardware en las consolas de hoy

Anuncio
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)
Descargar