COMPARATIVA TÉCNICA

Transcripción

COMPARATIVA TÉCNICA
COMPARATIVA TÉCNICA
Autores:
q Ismael García Fernández
q Francisco González García
1
Índice
Playstation 2__________________________________________________________4
1
2
3
4
5
6
7
Historia _____________________________________________________4
Detalles técnicos_______________________________________________4
Visión global de la PS2 _________________________________________5
Dentro de la EE _______________________________________________7
q El núcleo de la EE, un MIPS III ____________________________9
q Las Vector Units_________________________________________9
q Organización de la EE ___________________________________10
Funcionamiento del GS ________________________________________11
q Canal Alpha ___________________________________________11
q Superfícies de bezier ____________________________________12
q La corrección de perspectiva ______________________________12
q Mip mapping __________________________________________12
q Problemas de Aliasing en la PS2: Jaggies y shimmering ________12
El IOP Processor ____________________________________________14
El Sound Processor ___________________________________________14
GameCube __________________________________________________________16
1
2
3
4
5
6
7
La placa madre_______________________________________________16
La memoria principal__________________________________________18
Gekko, la CPU_______________________________________________19
Flipper, la GPU ______________________________________________21
q Capacidad poligonal_____________________________________23
q Compresión de texturas __________________________________23
q Hidden Surface Removal _________________________________24
q Virtual Texturing _______________________________________24
q Iluminación por Hardware ________________________________25
El chip de sonido ____________________________________________26
El miniDVD como sistema de almacenamiento _____________________27
Cuadro resumen de características________________________________28
Xbox________________________________________________________________31
1
2
3
4
5
6
La CPU_____________________________________________________31
La GPU de la Xbox ___________________________________________33
APU: El primer chip de audio 3D en una consola____________________35
El disco duro ________________________________________________36
Conectada al mundo___________________________________________37
Cuadro resumen de características________________________________39
2
3
1. HISTORIA
En 1988, Sony estableció un acuerdo con Nintendo para desarrollar un lector de CD-ROM, el Super Disc,
como un accesorio para la Super Nintendo. Pero debido a problemas en el contrato y las licencias el Super
Disc nunca salió al mercado. En cambio, en 1991 Sony sacó al mercado la PlayStation con una versión
modificada del Super Disc. La PlayStation pretendía ser el dispositivo multimedia para el hogar aunque
únicamente salieron a la venta 200 unidades pues se decidió retirar el producto del mercado. El nuevo
diseño dió lugar a la PlayStation X, o PSX, un dispositivo que ejecutaba videojuegos en CD-ROM. La
PSX rápidamente se convirtió en la videoconsola más popular. Después del gran éxito de ventas
alcanzado por la PSX, Sony fabricó la PS2 (PlayStation 2) que fue uno de los productos más esperados
del 2001.
2. DETALLES TÉCNICOS
Sony PlayStation 2:
Procesador: 128-bit ”Emotion Engine”
• Velocidad de reloj: 300 MHz
• Unidad de coma flotante (FPU) co-procesador opera a 6.2 gigaflops
• Velocidad del bus: 3.2 GB por segundo
-
-
-
-
-
CPU original PlayStation X como procesador E/S
Gráficos: ”Graphics Synthesizer”
• 150 MHz
• Caché embedida
• 4 MB VRAM
• Resolución: 640x480 o 320x240 entrelazada
• Colores: modos 24-bit (16,777,216), 16-bit (65,536)
• Motor Geometria:
- Alpha channel
- Anti-aliasing
- Bezier surfacing
- Gouraud shading
- Mip mapping
- Perspective correction
- Z-buffer
Renderizado de polígonos: 75 millones polígonos por segundo
Audio: SPU2 (+CPU)
• Canales: 48
• Muestreo ratio: 44.1 KHz o 48 KHz
• Memoria: 2 MB RAM
Salida óptica digital
Memoria: 32 MB RDRAM
Sistema operativo: Propiedad de Sony
Medio de Juego: DVD Proprietario 4.7-GB
• Soporte para CDs originales de PlayStation
• Soporte para Video DVD
Soporte para Audio CD
Conector para disco duro o interfaz de red
Otras características:
• Dos ranuras para memory card
• Dos puertos USB
Puerto FireWire (llamado iLink por Sony)
4
3. VISIÓN GLOGAL DE LA PS2
Figura 1. Esquema de la PS2 remarcando las 4 partes principales: EE, GS, IOP, Sound Processor.
La PS2 es la única consola de nueva generación que es realmente de 128 bits. Dreamcast, GameCube y
Xbox no son puramente consolas de 128 bits. La PS2 es la única consola del mercado que tiene un
procesador de 128 bits. La Dreamcast trabaja con una arquitectura de 64 bits, la GameCube contiene un
chip central híbrido de 32/64 bits y la Xbox mantiene la arquitectura de 32 bits idéntica a un PC actual.
Aunque actualmente el mayor número de bits no es indicativo de una mayor potencia del dispositivo.
Los diseñadores de la PS2 han tenido muy en cuenta el tipo de aplicaciones que deberán ejecutarse en
ella, es decir, videojuegos en 3D mayoritariamente. Los videojuegos en 3D requieren enormes cantidades
de cálculos matemáticos con grandes cantidades de datos. El caso más común es hallar bucles que iteran
muchas matrices repetidamente.
Cuando se está jugando a un videojuego en la PS2, el I/O Processor obtiene la entrada de tu mando y la
envia a la EE (Emotion Engine) para que ella misma se encargue de actualizar el entorno del juego
adecuadamente. Cuando la EE ha realizado todos los cálculos envia el resultado al GS (Graphic
Synthetizer). El GS genera las imágenes que se mostrarán por pantalla. Para finalizar el Sound Processor
genera el sonido digital del entorno del juego.
La PS2 posee una arquitectura drásticamente diferente y mucho más compleja que la de Xbox (similar a
un PC), la de GameCube o la de un PC actual por varios motivos:
A diferencia de la memoria caché de un PC, que almacena temporalmente aquellos datos que son
consultados con más frecuencia por el flujo de instrucciones, en la PS2, al poseer un reducido número de
instrucciones y enormes cantidades de datos por procesar, se almacenan temporalmente en la memoria
caché las instrucciones que más frecuentemente se ejecutan sobre el enorme flujo de datos.
5
Figura 2. Se almacenan en la caché los bloques de datos más utilizados.
Figura 3. Se almacenan en la caché las instrucciones más ejecutadas.
Otra diferencia importante respecto la arquitectura de un PC es el ancho de banda de los buses. Un PC
actual posee una enorme cantidad de memoria y unos buses con poco ancho de banda (es el cuello de
botella de los PC). La PS2 posee una arquitectura de memorias pequeñas (donde los datos no se
almacenan por mucho tiempo) y unos buses con gran ancho de banda para poder transportar el enorme
flujo de datos.
PLAYSTATION 2:
Tipo memoria
SPRAM
Caché VU1 (instrucciones y datos)
Caché VU0 (instrucciones y datos)
Caché L1 (instrucciones y datos)
Memoria video
TOTAL
Cantidad memoria
16K
16K + 16K = 32K
16K + 16K = 32K
8K + 8K = 16K
4MB
4,192K
Tabla 1. La cantidad de memoria en la PS2 es pequeña.
6
Figura 4. El bus principal de 128 bits conecta todas las partes de la EE.
Básicamente la arquitectura de la PS2 pretende paralelizar el procesado del flujo de datos entre unidades
que operan en paralelo para poder acelerar la manipulación de la enorme cantidad de datos que necesita la
ejecución de un videojuego en 3D. Todo el hardware de la PS2 está dedicado a proporcionar una porción
específica de la experiencia audiovisual del videojuego.
4. DENTRO DE LA EE
La EE es el corazón de la PS2 y ha sido desarrollada conjuntamente por Sony y Toshiba. Al igual que la
Playstation, la CPU de la PS2, la Emotion Engine, es un procesador RISC (Reduced Instruction Set
Computing). Los chips RISC son superescalares permitiendo ejecutar múltiples instrucciones a la vez. La
combinación de las capacidades de la EE para ejecutar múltiples instrucciones y a gran velocidad, le
proporcionan una mayor potencia que otros chips con más velocidad de reloj.
La EE se puede definir como una combinación de una CPU y un DSP (Digital Signal Processing). A
diferencia de cualquier CPU de un PC actual, la EE no es un dispositivo de propósito general. La EE ha
sido diseñada específicamente para ejecutar videojuegos en 3D y está compuesta por dos Vector Units y
la CPU MIPS III.
La EE realiza básicamente 2 tipos de cálculos, los cálculos geométricos y el comportamiento / simulación
del entorno del juego (IA enemigos, cálculos de fricción entre objetos,...). Cuando todo se ha calculado la
tarea de la EE es crear las listas de visualización, secuencias de comandos para la generación de la
imagen, que serán enviadas al GS.
7
Figura 5. Esquema básico de la EE.
Como se puede observar en el diagrama superior, la EE está formada por las siguientes unidades:
• Una CPU MIPS III como núcleo.
• Un coprocesador en coma flotante (FPU) para la CPU.
• Dos Vector Units (VPU0 y VPU1).
• El bus de 64 bits GIF.
• La unidad de procesado de imagen (IPU) que principalmente es un decodificador MPEG-2.
• Un controlador DMA de 10 canales.
Una interfaz para conectarse a la RDRAM y al chip I/O chip.
El núcleo de la EE, un MIPS III
CPU: MIPS III y subconjunto IV + SIMD 128 bits
Característica
Valor
Frecuencia
300 MHz
Registros
32 x 128 bits
Microarquitectura
2 vias, dos unidades enteras 64 bits, 1 FPU
Segmentación
6 estados
Caché instrucciones
16K, 2 vias asociativa por conjunto
Caché datos
16K, 2 vias asociativa por conjunto
Scratch-Pad Ram
16K
TLB
Tabla 2. Principales características de la CPU.
El núcleo de la PS2 sigue el estándar RISC ISA con algunas modificiaciones que ha realizado la misma
Sony. Esta CPU tiene dos unidades de enteros de 64 bits y está basada principalmente en una arquitectura
MIPS III aunque el núcleo también incluye algunas instrucciones de la arquitectura MIPS IV. Pero en
lugar de tener únicamente las instrucciones SIMD (Single Instruction Multiple Data) con enteros de 64
bits estándares del MIPS, Sony ha definido por completo un nuevo conjunto de instrucciones SIMD con
enteros de 128 bits usando las dos unidades de enteros en paralelo para realizarlas. Trabajando juntas
ambas unidades de enteros pueden realizar 4 operaciones con enteros de 32 bits, 8 de 16 bits o 16 de 8
bits por ciclo.
Las Vector Units
Vector Unit 0
Unidades
Memoria
4 FMAC, 1 FDIV
8K instrucciones, 8K datos
Tabla 3. Descripción VU0
8
Vector Unit 1
Unidades
Memoria
5 FMAC, 2 FDIV
16K instrucciones, 16K datos
Tabla 4. Descripción VU1
Las Vector Units son dos procesadores VLIW/SIMD de 128 bits que complementan la unidad de coma
flotante básica (FPU) para realizar los cálculos 3D T & L (Transform and Lighting). Han sido diseñadas
para tener una microarquitectura idéntica, únicamente han sido mínimamente adaptadas para las tareas
que realizarán. La VPU0 situada justo al lado de la CPU realizará los cálculos de simulación /
comportamiento. En cambio VPU1 ha sido dotada con el doble de memoria caché de instrucciones y de
datos porque trabaja como un procesador de cálculos geométricos y necesita mantener muchos más datos
en memoria para generar las listas de visualización.
Las Vector Units alcanzan una increíble velocidad de cálculo. Cada Vector Unit puede realizar 4
operaciones MAC de coma flotante por ciclo al igual que una división en coma flotante cada 7 ciclos. Las
operaciones MAC (Multiply-ACcumulate) son usadas en gran variedad de cálculos vectoriales, el más
común es el producto vectorial.
La primera generación de juegos que fueron desarrollados para la PS2 lograron un buen aprovechamiento
de la CPU. Pero los desarrolladores tuvieron muchas más dificultades para familiarizarse con las Vector
Units. Si se programa basándose únicamente en la potencia de la CPU sin usar paralelamente las Vector
Units el rendimiento global baja enormemente.
La verdadera potencia de la EE proviene de sus 2 Vector Units y consiste en usarlas de forma conjunta
durante la generación del entorno del juego. La única forma de aprovechar toda la potencia de la consola
de Sony es adentrarse en el funcionamiento de las Vector Units como una extensión de la CPU. Aunque
esta metodologia de trabajo no es senzilla y muchos desarrolladores se quejaron de la complejidad que
conlleva.
Las dos Vector Units han sido construidas de forma idéntica. Sin embargo Toshiba no pensó que lo más
óptimo fuese tener tres PUs (Processing Units) generales -una CPU y dos VPUs- por lo que fijaron su
funcionalidad por avanzado. La CPU y la VPU0 son asignadas para la tarea del control del programa y la
simulación del entorno del juego que básicamente son cálculos de posiciones físicas de los objetos. La
VPU1 realiza los cálculos geométricos que dan como resultado las listas de visualización que serán
enviadas -a través del GIF (Graphic InterFace)- al GS.
Organización de la EE
La EE se divide en dos bloques que trabajan conjuntamente para realizar todos los cálculos y generar las
listas de visualización, ahora se explicarán los componentes de cada bloque y como trabajan.
Bloque 1: CPU, FPU y VPU0
Las unidades del primer bloque funcional están unidas por un bus especial de 128 bits. Estas unidades
disponen de una memoria especial, la Scratch Pad RAM. La SPRAM es una memoria muy rápida situada
en la CPU que puede ser utilizada por la CPU y la VPU0. Es como un espacio de trabajo compartido para
ambas unidades.
Bloque 2: VPU1 y GS (representado por el GIF)
El segundo bloque funcional está compuesto por la VPU1 y el GS. La VPU1 además del bus principal de
128 bits dispone de una conexión adicional de 128 bits con el GIF. La diferencia respecto al bloque
funcional 1 (CPU/FPU/VPU0) es que la VPU1 y el GS no se controlan el uno al otro.
9
Bloque 1 y Bloque 2 unidos
Aunque las tareas de los componentes son fijas, pueden mantener cierta flexibilidad. Los programadores
pueden escoger como dividir el trabajo entre los dos bloques. Trabajando en paralelo, el bloque
CPU/FPU/VPU0 puede generar listas de visualización y procesar la geometria paralelamente con la
VPU1. Y ambos enviar listas de visualización al GS a través del GIF. O trabajando en serie, con el bloque
CPU/FPU/VPU0 actuando como un preprocesador para la VPU1. Entones la CPU y su equipo generarán
la información del entorno del juego que la VPU1 recibirá para transformarla en las listas de visualización
que serán enviadas al GS.
Figura 6. Descripción de los bloques funcionales.
5. FUNCIONAMIENTO DEL GS
El GS es la aceleradora de video que realiza todas las funciones de aceleración de video y genera las
imágenes a partir de las listas de visualización creadas por la EE. El bus que une la EE con el GS es el
GIF (Graphic Interface Unit) y es un bus de 64 bits dedicado a obtener múltiples listas de visualización de
las diferentes unidades de la EE y combinarlas para permitirle al GS componer las imagenes. El GIF
gestiona todo lo relacionado con las listas de visualización para que la EE no se vea obligada a perder
tiempo gestionándolas.
En el GS se han implementado diversos efectos gráficos por hardware como:
•
•
•
•
Canal alpha.
Superfícies de bezier.
La correción de perspectiva.
Mip mapping.
Canal alpha
La PS2 usa el canal alpha para añadir efectos de transparencia a los objetos. Este es un modo especial de
gráficos usado para video digital, animación y videojuegos para conseguir ciertos aspectos gráficos. Se
usan 24 bits para definir las cantidades de rojo, verde y azul, con 8 bits para cada color, definiendo así un
color específico. Además otros 8 bits són usados para crear la máscara de balanza de grises que actúa
como una capa separada para representar los niveles de transparencia de un objeto. El grado de
transparencia se define por el nivel de oscuridad que tiene el gris en el canal alpha. Si por ejemplo defines
una area de máscara con gris muy oscuro, puedes crear un objeto que parezca muy transparente. En
cambio si defines el area con un gris claro puedes crear efectos especiales de niebla y agua.
10
Superfícies de bezier
Las superfícies de bezier son un proceso de modelado 3D que calcula cuántos polígonos se necesitan para
crear un objeto. Se basa en el nivel de detalle necesario para que el objeto tenga una apariencia suave para
el espectador. La PS2 sólo ejecuta estos cálculos para objetos modelados con superfícies de bezier que
estan en el videojuego.
La correción de perspectiva
La corrección de perspectiva crea el mapa de textura escalado al mismo ratio que el objeto donde está
mapeado.
Mip mapping
El mip mapping es una forma de mapeado de texturas que se realiza através de diferentes tamaños del
mismo mapa de textura. En esencia, el procesador actualiza la apariencia de un objeto con mayor detalle
de imagen cuando nos situamos a menor distancia de dicho objeto en el videojuego. A continuación se
describen los pasos que realiza la PS2 para usar mapas de textura con trilinear mip mapping:
Primero el sistema calcula la distancia desde el punto de vista del observador hasta el objeto del
videojuego. A continuación se cargan los mapas de texturas del objeto. Los tres mapas de texturas deben
tener los tamaños 64x64 (grande), 32x32 (medio) y 8x8 (pequeño). Seguidamente el sistema determina el
tamaño exacto que el mapa de imagen debe tener (según la distancia calculada), por ejemplo 16x16 en
este caso. Y a partir del tamaño que debe tener el mapa de imagen se escogen los dos mapas de texturas
que se usarán para crear nuestro mapa de imagen de 16x16. Una vez elegidos los dos mapas de texturas se
interpola entre los dos creando una textura a medida que es del tamaño deseado que luego aplicaremos al
objeto.
El objetivo de esta técnica es usar el mapa de textura de menor tamaño posible según la distancia que
exista entre el objeto y el observador. Cuanto más pequeño sea el mapa de textura menor será el proceso
de carga aunque por otro lado el mapa de textura puede generar una superfície granulada que produce mal
aspecto por ese motivo se usan en su lugar texturas un poco más grandes.
Problemas de aliasing en la PS2: jaggies y shimmering
Los jaggies son efectos que aparecen sobre el contorno de los objetos, dándoles un aspecto dentado,
pasando de bordes suavizados a bordes con jaggies, como si una compañia de ratones hubiese mordido
los objetos. Un caso especial es el efecto escalonado que se observa muy facilmente en las líneas rectas, a
baja resolución. Los jaggies pueden ocurrir en imagenes estáticas o en animación, donde se obtendrán
jaggies en movimiento, como un batallón de hormigas desfilando por los bordes de los objetos.
Figura 7. Ejemplo de jaggies con efecto escalonado en el videojuego Ridge Racer V.
11
El shimmering es el efecto de aliasing que se produce en una animación, con objetos texturados: pixels
individuales se agitan del frame actual al siguiente modificando el color y la posición debido al aliasing.
Esto produce que las superfícies de los objetos aparezcan deformadas, o como si se estuviese mirando
hacia una región calurosa, con turbulencia en el aire, o como si hubiese algun líquido hirviendo encima de
la superfície.
El efecto shimmering se produce en la PS2 porque no realiza ninguna operación de mezclado entre el
frame anterior y el actual para que se produzca una transición más suave entre los dos frames como
realiza la Dreamcast. Para un televisor de mala calidad el mezclado de frames es un método que funciona
realmente bien. Pero para un buen monitor, o un cable RGB, el método de mezclar los frames limita la
capacidad que tiene el dispositivo de salida para obtener el mayor grado de detalle posible.
Figura 8. En esta imagen no se observa el shimmering, sólo se ve con el juego en movimiento.
Resumiendo: Los jaggies son aliasing espacial causado por dentado en objetos estáticos, shimmering es
aliasing temporal causado por la transición discreta de los vértices de un objeto de un pixel de pantalla al
siguiente, entre dos frames de animación. Ambas variantes básicamente son problemas de aliasing y se
solucionan aplicando alguna variante del método de anti-aliasing.
Una de las variantes del método de anti-aliasing es el edge anti-aliasing. Esta variante sólo trabaja con los
bordes de los polígonos y no corrige los efectos de escalonado que no esten situados en los bordes, por
tanto no resuelve el problema del patrón de moiré. La variante edge anti-aliasing es una post-operación
gráfica lo que significa que se aplica directamente sobre la imagen final y ha sido extendidamente
utilizada en muchos videojuegos de la Nintendo 64.
Otra variante del método de anti-aliasing es el FSAA (Full Scene anti-aliasing) que típicamente usa una
técnica denominada supermuestreo. Con FSAA la imagen es generada internamente a una resolución
mayor que la resolución de pantalla para luego tratarla, retransformarla, y filtrarla antes de dibujarla en la
pantalla.
12
Figura 9. Summoner por ejemplo va a 30 FPS, a alta resolución, con el FSAA implementado.
Inicialmente la única variante del método de anti-aliasing documentada, en la PS2, era el edge antialiasing. El problema de esta variante de anti-aliasing es que se deben suavizar los bordes de todos los
polígonos (visibles o no), lo que conlleva una gran carga para el procesador. Por este motivo los
programadores no utilizaron anti-aliasing en los primeros videojuegos que salieron para la PS2.
Actualmente ya se están aplicando diversas técnicas para evitar el aliasing que no representan una carga
excesiva para el sistema.
6. EL IOP PROCESSOR
El IOP processor es el procesador de E/S de la PS2 y manipula todos los puertos USB, el FireWire y los
mandos del juego. Este procesador es una versión idéntica a la CPU de la PSX lo que le proporciona la
capacidad de ejecturar todos los juegos que se desarrollaron originalmente para la PSX.
7. EL SOUND PROCESSOR
El Sound Processor es la tarjeta de sonido de la PS2, dispone de 48 canales de sonido permitiendo sondio
digital 3D usando Dolby Digital Sound, AC-3 (Audio Compression) y DTS (Digital Theather Systems)
con una calidad de sonido superior a la de CD, calidad DAT (Digital Audio Tape). Si se dispone de un
receptor de audio de calidad podremos sacar el máximo rendimiento a la PS2. Además en el aspecto de la
reproducción de DVD, la consola tiene una calidad de sonido al nivel de los mejores reproductores de
DVD.
13
14
1. LA CPU
No hace mucho, Microsoft buscaba un productor de CPUs para que le subministrara la de su consola. Los
dos candidatos eran AMD e Intel. AMD le ofrecía a Microsoft una derivación del K7, mientras Intel
proponía un chip basado en tecnología de cobre. Finalmente fue Intel el que se llevó el gato al agua y la
encargada de producir la CPU de la Xbox.
Figura 1. CPU de la Xbox.
Para manejar los datos, Microsoft ha optado por un procesador Intel Pentium III a 733 Mhz. Alguien
podría pensar que este procesador es poco potente, más aún si consideramos que la tecnología de PC ha
alcanzado el Pentium 4 a 2.4 Ghz y que el ciclo de vida de una consola se encuentra entre los tres y los
cinco años. Pero no habría que enfocar este problema en estos términos. En un PC, debido a la
arquitectura abierta del sistema y a que funciona a través de una interfaz y millones de restricciones, la
potencia de la CPU es básica. En una consola, todo depende para que se suponga que se vaya a utilizar.
En este caso, la CPU alivia de trabajo gráfico, lo cual , si hablamos de un PC, lo asume.
Si un juego de Xbox está bién programado, entonces prácticamente no necesitará el Pentium III. En un
PC este no es el caso.
En la Xbox, la CPU procesa y envía toda la información, nos referimos a la conexión entre elementos
individuales como el disco duro, y maneja la inteligencia artificial. Para estas faenas, uno puede pensar,
sin miedo a equivocarse, que el PIII es más que suficiente.
La PS2 tiene un procesador de 250 Mhz, por lo tanto las dos CPUs son casi incomparables.
Otro argumento que se ha utilizado contra la consola de Microsoft conscierne a su arquitectura de 32 bits,
un paso atrás en relación a la PS2 (128 bits) o la ya extinguida N64 (64 bits). Pero todo esto es puro
márqueting. Cualquiera que esté familiarizado mínimamente con el PC, sabrá bién que canviar a 64 bits
no modifica nada, ya que todo depende de la arquitectura. El método de manejar e interpretar los
registros, especialmente en lo que se refiere a la actuación gráfica, no añadiría mucho a este tipo de
arquitectura con el paso a 64 bits.
La CPU de 0.18 micras está contenida dentro del paquete FC-BGA de Intel que se encuentra soldado
directamente en la propia placa madre de la Xbox. Ésto se ha hecho principalmente para reducir el
espacio necesario para la CPU en la placa madre.
15
2. LA GPU DE LA XBOX
La GPU de la Xbox ha sido creada por NVIDIA
y ha recibido el sobrenombre de “XGPU” . Ésta
es una variante del procesador gráfico de la
GeForce 3. La arquitectura de la NV2A (XGPU)
se encuentra entre la NV20 (GeForce 3) y la
NV25 (GeForce 4). Como características decir
que tiene una pipeline de 4 píxels y dos “vertex
shaders”. En comparación, la NV20 ofrece 4
pipelines de 4 píxels y un “vertex shader”, y la
NV25 también tiene dos “vertex shaders”.
Figura 2. GPU de la Xbox.
El chip gráfico tiene aproximadamente unos 60 millones de transistores (la NV20 tiene 57 y la NV25 63
millones de transistores). El “Northbridge” chip a 233 Mhz está conectado a una memoria principal DDR
de 64 MB a 200 Mhz. Aunque parezca que la memoria principal sea bastante grande en compración a la
de sus rivales (la GameCube tiene 40 MB y la PS2 tiene 32 MB) cabe decir que los 64 MB tienen que ser
compartidos con el resto del sistema.
A 233 Mhz, el teórico ratio de actuación de la NV2A aumenta a los 933 Mpíxels/seg, mientras cada
pipeline puede producir 2 texturas a cada paso.
El ancho de banda total llega hasta los 6.4 GB/seg. El Pentium III utiliza un máximo de 1.06 GB/seg del
resultado de su 133 Mhz FSB (Front Side Bus), dejando 5.34 GB/seg para la GPU. Este valor, sin
embargo, es inferior al ancho de banda de la GeForce 3 Ti 500, la cual tiene disponible 7.45 GB/seg.
Cabe recordar, que los juegos están solamente programados con una resolución de 640 x 480 x 32 bits y
por este motivo el ancho de banda descrito es más que suficiente.
Decir, que el ancho de banda disponible para la XGPU se ve reducido con el uso del anti-aliasing que
tiene implementado la Xbox, el cual es un modo multi muestreo (multi-sampling) derivado del NVIDIA's
Quincunx.
La unidad de transformación geométrica e iluminación (Transformation & Lighting – T&L) es
prácticamente idéntica a la que posee la GeForce 3, intentando aliviar a la CPU de los repetitivos y a
veces complejos calculos para un procesador X86.
La unidad de T&L se arriesga a ser suplantada en el corazón de los desarrolladores por los 2 “vertex
shaders”, los cuales ofrecen una potencia computacional impresionante con detalles geométricos.
Recordar que el “vertex shader” ofrece un amplio rango de posibilidades para los desarrolladores, como
la animación de esqueletos, animación facial o otros tipos de movimientos complejos. Además, el bumpmapping (DOT3) es también posible, ofreciendo una calidad visual excepcional sin agotar los otros
recursos de la consola. Las dos unidades de “vertex shaders” hacen esto posible para porducir
animaciones más complejas, o producirlas de forma más rápida.
Los primeros títulos disponibles en el mercado no utilizan el “vertex shader” en su gran medida, ya que
esta técnica hace necesaria la creación de un engine 3D nuevo.
En comparación, la PS2 ofrece un hardware menos potente y está equipada con menos funciones 3D. El
Emotion Engine y su núcleo a 294 Mhz RISC no tiene un coprocesador T&L, pero pese a esto ofrece una
capacidad de renderización de polígonos notable. Por lo tanto, es principlamente el Graphics Synthesizer
(GS) el que realiza el trabajo de la NV2A, aunque el primero sea menos potente.
Actualmente, la verdadera potencia del GS se encuentra principalmente en su capacidad de realizar
operaciones en paralelo y no en sus funciones. Este es el porqué la PS2 es realmente más compleja de
16
programar que la Xbox o la GameCube, ya que para producir ciertos efectos en la consola de Sony, éstos
tienen que ser creados desde el principio hasta el final distribuyendo los calculos entre los diferentes
procesadores. Otro aspecto importante que viene a refrendar la gran superioridad técnica de la consola de
Microsoft respecto a la 128 bits de Sony han sido los 4MB de memoria de vídeo. Esta cantidad se
presenta escasa para que la consola sea capaz de producir texturas de calidad.
Otra gran ventaja de la Xbox es que su hardware está asociado a una librería muy potente y muy utilizada
como la DirectX 8.
Considerando la facilidad de programar, la capacidad 3D de la NV2A y la libertad ofrecida por los
“vertex shaders” está claro que la Xbox ha alcanzado un nuevo hito en cuanto a los gráficos en una
consola. Pero la Xbox también sabrá hacer frente al PC durante mucho tiempo, porque su arquitectura es
bastante estable y es ahora el momento en el que los desarrolladores pordrán ser capaces de optimizar los
juegos.
3. APU: EL PRIMER CHIP DE AUDIO 3D EN UNA CONSOLA
La tecnología utilizada para el posicionamiento 3D en la Xbox ha sido desarrollada por Sensaura. Esta
empresa le ha aportado a la Xbox gran cantidad de algortimos para la reververación, reflejos, entorno, etc.
Cabe recordar que Sensaura es el gran competidor de la tecnología EAX de Sound Blaster.
La APU (Audio Processor Unit) en la Xbox puede computar todos los efectos ofrecidos por la librería que
Sensaura ha implementado, en tiempo real. Gracias a la compatibilidad con el DirectSound 3D, muchas
de las herramientas de audio ya existentes pueden ser utilizadas para la Xbox.
Sin embargo, el aspecto más importante de la APU en la Xbox es su capacidad de codifición 5.1 en
tiempo real. Por lo tanto, una vez que los efectos de posicionamiento de audio han sido calculados por la
APU, ésta los codifica en el formato AC3 (sistema de codificación utilizado por el Dolby Digital) para un
mejor posicionamiento. Aún y así, sin el decodificador externo de Dolby Digital, el sonido producido por
el procesador de sonido de la Xbox es estéreo.
Es importante realzar que la utilización de la CPU, en lo que al sonido respecta, es realmente baja por no
decir prácticamente nula.
Tal y como el título de este apartado indica, la Xbox es la primera consola que realmente utiliza
posicionamiento de sonido e integra todos los efectos 3D. El procesador de sonido de la Xbox es tan
interesante que ya han surgido rumores sobre el desarrollo de una tarjeta de sonido PCI similar a ésta.
En los primeros juegos que utilizan el sonido 3D, com “Halo” o “Project Gotham”, la immersión que
produce el sonido es realmente impresionante y aporta al mundo de las consolas un nueva dimensión
hasta ahora solo al alcance de los usuarios de PC.
4. EL DISCO DURO
La Xbox viene provista, de serie, de un disco duro de 10 GB a una velocidad de 5400 rpm. Éste fue
incorporado en la consola, principalmente, para ejercer tres funciones:
1.
2.
3.
Salvar partidas. Esta es una función que hasta ahora se le atribuía a las tarjetas de memoria. Con el
disco duro, Microsoft ha conseguido que el usuario no tenga que realizar gastos suplementarios para
poder guardar sus progresos en los juegos.
“Memoria caché”. Principalmente su función en este sentido se refiere a que los programadores
pueden utilizar el disco duro de la Xbox como si una caché, de gran tamaño y más lenta, se tratase y
así agilizar los tiempos de carga en los juegos (sí, las pesadas pantallas de “Loading”).
Internet. Es lógico, que una consola que pretende que el juego via la red de redes se convierta en una
costumbre tenga un disco duro. Éste servirá para descargar e instalar los programas necesarios para
jugar en red a parte de otras funciones más lúdicas como descargarse juegos, ampliaciones de estos
etc.
17
4. CONECTADA AL MUNDO
Como consola de próxima generación que es, la Xbox ofrece modo multijugador no únicamente para
jugar en una sola consola, sinó también entre diversas y a través de internet gracias a la tarjeta ethernet
que posee, la cual es idéntica a las que se utilizan para PC. El MCPX de NVIDIA es el encargado el
procesamiento relacionado con la red a una velocidad 10/100 MB/seg.
Actualmente Microsoft aún no ha puesto al servicio de los usuarios la conexión a Internet mediante sus
servidores y se prevee que en breve (en EE.UU) se inicie el juego online para los usuarios de Xbox. Pese
a ésto, actualmente se puede conectar a internet la Xbox de tres formas diferentes mediante cable o DSL:
1. Con un hub o un switch directamente conectado a Internet. Esta configuración es la más sencilla si se
tiene únicamente una sola máquina conectada a la red. Lo único que hay que hacer es conectar la Xbox a
un hub o un switch situado entre la tarjeta de red y la conexión a internet.
Figura 3.1. Hub / switch directamente
a internet.
Figura 3.2. NAT (DSL / Cable ruter)
2. Sin un hub y con un PC. Si no se quiere utilizar un hub o un switch, se puede elegir la opción de tener
dos tarjetas de red en un PC. La primera está conectada a la conexión de internet, mientras la segunda se
encuentra conectada a la consola.
Figura 4.1. Dos tarjetas de red.
Figura 4.2. Modem USB
3. Con un ruter de cable o DSL con o sin un hub. Si lo que se quiere es tener una conexión a internet con
diferentes ordenadores via ruter, solo hay que conectar la Xbox al ruter. Si no se posee del número
suficiente de puertos en el ruter hará entonces falta añadir un hub o un switch.
18
Figura 5. NAT + Hub / switch.
CUADRO RESUMEN DE CARACTERÍSTICAS
250MHz XGPU, developed by Microsoft and nVIDIA
The RAM in the Xbox will be supplied by Micron, it will
be 64 MB running at 200MHz DDR (Double-Data-Rate)
Memory Bandwidth
6.4 GB/sec
Polygon Performance
125 M/sec
Sustained Polygon Performance
100+ M/sec (transformed and lit polygons per second)
Micropolygons/particles per second
125 M/sec
Particle Performance
125 M/sec
Simultaneous Textures
4
Pixel Fill Rate - No Texture
4.0 G/Sec (anti-aliased)
Pixel Fill Rate - 1 Texture
4.0 G/Sec (anti-aliased)
Compressed Textures
Sí (6:1)
Full Scene Anti-Alias
Sí
Micro Polygon Support
Sí
Storage Medium
2-5x DVD, 10GB hard disk, 8MB memory card
I/0
2-5x DVD, 10GB hard disk, 8MB memory card
Audio Channels
64 (up to 256 stereo voices)
3D Audio Support
Sí
MIDI DLS2 Support
Sí
AC3 Encoded Game Audio
Sí
Broadband Enabled
Sí
Modem Enabled
No
DVD Movie Playback
Remote control package required
Maximum Resolution
1920x1080
Maximum Resolution (2x32bpp frame 1920x1080
buffers +Z)
HDTV Support
Sí
Controller Ports
4 USB Ports
Graphics Processor
Total Memory
19
20
1.
LA PLACA MADRE
1.
1
Memoria principal de 24 Mb 1TSRAM.
GPU “Flipper”.
CPU “Gekko”.
4. Procesador de sonido.
2.
3.
4
2
3
Figura 1. Placa madre de la GameCube.
Las principales partes que cabrían destacar dentro de la placa madre de la GameCube serían las que se
han resaltado en la foto de la Figura 1:
1
La memoria principal de la GameCube de 24 MB 1T-SRAM.
2
La GPU (Graphic Processing Unit) de la GameCube, la cual es conocida con el
sobrenombre de “Flipper”.
3
La CPU (Central Processor Unit) conocida como “Gekko”.
4
El último elemento destacable de la placa madre de la consola de Nintendo, pero no por ello
menos importante, es el chip de sonido.
De la memoria principal de la GameCube, el chip de sonido y de los dos procesadores se hablará de
forma más extensa en sucesivos apartados.
A continuación se muestra un gráfico donde se puede observar un esquema de la estructura de la
GameCube y los buses entre las partes más importantes de la consola de Nintendo. Éste esquema se irá
explicando conforme se avance en la exposición de las diferentes y más importantes partes que forman la
consola (CPU, GPU, Memoria principal y chip de sonido), por lo que se recomienda al lector referirse a
éste durante todo el documento.
21
Figura 2. Esquema del hardware de la GameCube y sus buses.
Cabe destacar del esquema de la Figura 2, que todos los caminos que los datos siguen en el él son
bidireccionales (lectura i escritura).
2.
LA MEMORIA PRINCIPAL
Una de las características más importantes del diseño de la GameCube, es la atención puesta en la
eficiencia del ancho de banda. Esta eficiencia se consigue con el uso de un tipo especial de memoria
conocida como 1T-SRAM, la cual ofrece un tiempo de latencia más bajo y una utilización más alta del
bus que el de las DRAM (Dynamic Random Access Memory) convencionales.
La 1T-SRAM ha sido creada por una compañía llamada MoSys (Monolithic System Technology,Inc.). El
nombre de esta memoria le proviene del uso de un único transistor en una SRAM, las cuales sulen tener
unos 6. Realmente ésta memoria es una DRAM pero con los beneficios de las SRAM (más rápidas por no
tener que estar realizando el proceso de refresco de las celdas y menos caras por su menor tamaño). Pero
como DRAM que es, las celdas de ésta memoria se tienen que refrescar, pero es en la manera de hacerlo
donde es realmente eficiente en comparación con otro tipo de DRAMs.
Tal y como se ha dicho, los beneficios de utilizar la 1T-SRAM son un tiempo de latencia al acceder
menor y una mayor utilización del ancho de banda. Pero a que precio se consiguen estos beneficios?
Pues en que el tamaño de la memoria es mayor y esto provoca un augmento en el precio de producción de
ésta. Ahora bién, este inconveniente se ve en parte menguado por el menor coste de la 1T-SRAM al
utilizar un solo transistor, tal y como anteriormente se comentó.
Por todo esto Nintendo decidió utilizarla como
memoria principal, más en concreto, una memoria de
24 Mb en forma de dos chips de 12 MB cada uno de
ellos de 1T-SRAM.
Tal y como se comentará más adelante, en el apartado
de la GPU, la 1T-SRAM también ha sido utilizada
para proveer de dos cachés al Flipper de la
GameCube.
Figura 3.Una de los dos chips de
1T-SRAM de 12 MB.
22
Otra caractetrística destacable de la memeoria principal de la GameCube es que su bus de 64 bits va a 324
Mhz dando como resultado un ancho de banda de 2.6 GB/seg entre la propia memoria y la GPU Flipper
(Ver Figura 2).
3.
GEKKO, LA CPU
Cuando Nintendo inició el desarrollo de la que íba a ser su nueva consola de próxima generación, tenía
muy claras sus necesidades en lo que a la CPU se refería: ésta debía de ser potente y barata de
manufacturar. Entonces fue cuando la compañía nipona se puso en contacto con IBM para encargarle la
producción de la CPU de su consola. Del fruto de este acuerdo nació “Gekko”, la CPU de la CameCube.
Las principales características de este procesador son las que se muestran a continuación:
CPU
Proceso Manufacturado
Frecuencia de reloj
Capacidad de la CPU
Precision de datos internos
Ancho banda bus externo
Cachés internas (2 Niveles)
IBM Power PC “Gekko”
0.18 micras tecnología de cable de cobre
485 Mhz
1125 DMips
32 bit en enteros – 64 bit en coma flotante
1.3 GB/seg (Direcciones de 32 bits, 64 bits el bus de datos a 162
Mhz)
Nivel 1: Instrucciones 32 Kb, Datos 32 Kb
Nivel 2: 256 Kb
A diferencia del “Emotion Engine” de la Playstation 2, la
CPU de la GameCube no fue construida de la nada. Ésta
es un evolución del procesador PowerPC 750 RISC de
IBM e incluye aproximadamente unas 50 instrucciones
totalmente nuevas. Basado en tecnología de 0.18 micras
de cobre (igual que la CPU de la Xbox), el processador
tiene una velocidad de 485 Mhz y un bus externo a la
GPU (“Flipper”) de 1.3 Gbytes/seg. El chip tiene un ratio
de actuación de 1125 DMips (Dhrystone 2.1).
Figura 4. CPU “Gekko” de la GameCube.
Decir que Gekko también tiene acceso a la DRAM de 81 Mhz. Debido a esto y a que dicha memoria tiene
un bus relativamente pequeño, seria conveniente utilizarla para albergar datos que no necesiten un gran
ancho de banda tales como las pantallas de selección de los juegos.
La arquitectura del procesador Power PC es de 64 bits, pero puede trabajar tanto con 64 como con 32 bits,
que es el caso del procesador Gekko. La CPU de la GameCube soporta direcciones de memoria de 32 bits
y presenta dos ALUs (Unidad Aritmético Lógica) de enteros de 32 bits. Por otro lado también podemos
encontrar una FPU (Float Processor Unit) de 64 bits que es capaz de tabajar con floats de 64 bits o con
dos floats de 32 bits utilizando sus 32 FP (Float Point) registros de 64 bits. Al trabajar con floats de 32
bits lo
que se consigue es realizar dos operaciones de 32 bits en coma flotante cada ciclo de reloj. Ésta última
característica fue una de las modificaciones que IBM llevó a cabo con respecto al procesador del cual
Gekko deriva.
Tal y como se puede comprovar en la tabla de características anterior, la CPU de la GameCube viene
provista de dos niveles de caché. Un primer nivel de 64kb, de los cuales 32kb estan dedicados a
23
instrucciones y otros tantos a los datos, y un segundo nivel de 256 Kb, en contraposición a los 32 Kb de
nivel 1 y 128 Kb de segundo nivel de caché de la consola de Microsoft.
Otras características importantes són que la CPU de la nueva consola de Nintendo está compuesta por
unos 21 millones de transistores y tiene una superfície de 45 mm2 (La CPU de la Xbox tiene 9 millones
de transistores i una superfície de 100 mm2 ).
4.
FLIPPER, LA GPU
La GPU (Graphic Processing Unit) de la Nintendo GameCube ha sido desarrollada por ArtX, empresa
perteneciente a la conocida ATI, y producida por NEC.
Tal y como se ha hecho anteriormente con la CPU, a continuación se pueden ver las características del
processador gráfico de la consola de Nintendo:
Proceso de Manufacturado
Frecuencia de reloj
Embedded Frame Buffer / Z Buffer
Embedded Texture Caché
Texture Read Bandwidth
Main Memory Bandwidth
Color depth, Z Buffer depth
Funciones de procesamiento de Imágenes
Otros
0.18 micras NEC Embedded DRAM Process
162 Mhz
2 Mb, Sustainable Latency: 6.2 ns (1T-SRAM)
1 Mb, Sustainable Latency: 6.2 ns (1T-SRAM)
10.4 Gb/seg (Como máximo)
2.6 Gb/seg (Como máximo)
24 bits
Fog, Subpixel Anti-aliasing, 8 Hardware Lights, Alpha
Blending, Virtual Texture Design, Multi-texturing, Bump
Mapping, enviroment Mapping, MIP Mapping, Bilinear
Filtering, Trilinear Filtering, Ansitropic Filtering and Realtime Hardware Texture Decompression (S3TC).
Real-time Decompression of Display List, hardware Motion
Compensation Capability amd HW 3-line Deflickering filter.
El Flipper es un chip de 51 millones de transistores
construido con un proceso de manufacturado de 0.18
micras (sin utilización de cobre). Su tamaño es de 106
mm2 haciéndolo casi tan grande como la CPU de la Xbox.
El único elemento negativo en la GPU es precisamente su
proceso de manufacturado de 0.18 micras, mientras las
nuevas GPUs de ATI tanto como la IGP de la Xbox estan
construidas en 0.15 micras, lo cual reduce el tamaño.
Figura 5. GPU “Flipper” de la GameCube.
Flipper siempre opera con 4 píxels al mismo tiempo utilizando sus 4 pipelines para píxels, cada una de las
cuales es capaz de emplear una textura por pipeline.
A diferencia de la PS2 e igual que la Xbox, la GPU de la GamCube tiene una unidad de T&L
(Transformation and Lighting) tal y como se puede observar en el esquema de la Figura 6.
Flipper ofrece antialiasing, a diferencia del Graphic Synthesizer de la PS2 que no lo tiene implementado
por hardware. El núcleo de la GPU de la GameCube soporta el algorismo de antialiasing multi-muestreo
de 7-samples (muestras). Según ATI, el número de muestreos son ajustables y pueden ser definidos por el
programador.
24
La 1T-SRAM es utilizada en la GPU de la GameCube para proveer dos grandes cachés: una caché de
2MB para el Z-buffer y un caché de texturas de 1MB (Ver Figura 6). Esto es más barato que equipar el
chip con 3MB de SRAM.
Figura 6. Flujo de datos, caches y unidad T&L en la GPU Flipper.
En éste mismo gráfico se pueden comprovar los elementos que se han ido comentando sobre la GPU de la
GameCube:
1
La caché 1T-SRAM de 2MB para el Z-buffer. En esta caché se almacena el frame buffer que se tiene
que dibujar (draw buffer) (640x480x24 bits=921600 bytes) y el z-buffer (640x480x24 bits=931600
bytes). El buffer de visualizado (display buffer) se almacena en la memoria principal de la
GameCube.
2
La caché 1T-SRAM de 1MB dedicada a texturas.
3
La unidad de Transformation & Lighting (T&L), la cual se encarga de gran parte de los cálculos
gráficos, aliviando así a la CPU.
Tal y com se ha comentado en líneas anteriores el Flipper está compuesto de 51 millones de transistores,
la mitad de los cuales estan dedicados a las 1T-SRAM que alberga en su interior(las cachés). Imagináos
que estuviera utilizando SRAM convencionales...estaríamos hablando de 170 millones de transistores
aproximadamente!!!
Capacidad poligonal
Pruevas
1 vértice color + 1 luz + 1 textura
No vértice color + 1 textura
1 vértice color + No textura (gouraud shading)
Resultados
20M polígonos/seg
26.4M polígonos/seg
32M polígonos/seg
Como se pude comprovar con estos datos, la capacidad poligonal de la GameCube es realmente
impresionante y puede poner en pantalla 26.4 millones de polígonos texturados por segundo. Cabe
denotar que el incremento del número de luces locales en una escena, causaría el descenso del número de
polígonos por segundo.
Pese a estos datos, Nintendo es más precavida e informa que su máquina es capaz de generar entre 6 y 12
millones de polígonos por segundo con todos los efectos gráficos que el hardware de la GameCube es
capaz de soportar (Ver tabla características GPU). Estas cifras ya han sido alcanzadas por desarrolladores
25
como Factor 5, creadores del espectacular “Rogue Leader: Rogue Squadron II”, los cuales han logrado
llevar a la GameCube a los 12 millones de polígonos por segundo y según ellos utilizando únicamente el
50% de la potencia de la consola.
Compresión de texturas
1
La GPU de la Game Cube puede utilizar texturas comprimidas en S3TC lo cual permite un ratio de
compresión 6:1 para texturas de 24 bits. Para texturas de 16 bits el ratio es de 4:1 i para texturas de 8 bits
de 2:1.
A continuación vamos a demostrar la capacidad de texturas comprimidas que puede albergar la
GameCube en sus 24 Mb de memoria principal si consideramos diferentes tamaños de memoria ocupada
por el código, la geometría…
Código / Geometría / etc.
6 Mb
8 Mb
10 Mb
12 Mb
Espacio libre para texturas
18 Mb
16 Mb
14 Mb
12 Mb
24 bits Texturas (6:1)
108 Mb
96 Mb
84 Mb
72 Mb
Tal y como se puede comprovar la GameCube puede almacenar gran cantidad de texturas en memoria
utilizando el formato de compresión S3TC. Cabe destacar que otro beneficio al utilizar texturas
comprimidas es que los requisitos de ancho de banda también disminuyen con el mismo ratio que la
compresión que se lleve a cabo. Con un ratio de 6:1, el bus de memoria puede pasar 6 veces más texturas.
Esto significa que el bus de la caché de texturas de la GPU de 10.4 GB/seg pasa a tener 62.4 GB/seg de
texturas de 24 bits comprimidas, y el bus externo de 2.6 GB/seg puede pasar a 15.6 GB de texturas de 24
bits comprimidas cada segundo.
Entonces la pregunta que podríamos realizar sería la siguiente: Debería un desarrollador utilizar texturas
en 16 bits en vez de 24 bits para reducir el espacio ocupado?
Para contestar esta pregunta nada mejor que un ejemplo:
Tamaño textura 512 x 512
Sin comprimir
Con compresión
16 bits
525 Kb
131 Kb
24 bits
786 Kb
131 Kb
Como se puede apreciar, con el mayor ratio de compresión para texturas de 24 bits (6:1) es más lógico
utilizar texturas en 24 bits comprimidas, ya que ocupan el mismo espacio que las de 16 bits comprimidas
(ratio 4:1).
S3TC también permite la compresión de texturas de transparencias. Esto permite a la GameCube guardar
gran cantidad de transparencias en memoria principal.
Gracias a la compresión de texturas S3TC, la caché de textura de la GameCube puede soportar el
equivalente a 6Mb de texturas de 24 bits (tal y como se ha comentado anteriormente el tamaño de esta
caché es realmente de 1Mb). Por ejemplo: 8 texturas x (512 x 512) de 24 bits o 32 texturas x (256 x 256)
de 24 bits (50331648 bits = 6Mb).
Hidden Surface Removal
Porqué renderizar las partes de las escenas que no se visualizan, debido a que otros objetos de la misma se
encuentran a una profundidad menor y por lo tanto ocultan a los primeros?
Pues ésto es precisamente lo que pretende la GameCube llevar a cabo con el HSR, es decir, la no
renderización de partes ocultas. Y como? Simplemente haciendo un z-buffer cercano, el cual permite
descartar los píxels ocultos mientras se renderizan desde el frente hacia atrás. La ordenación de adelante
1
Para más información acerca del formato S3TC consultar
• http://www.digit-life.com/articles/reviews3tcfxt1/
• http://www.hardwarecentral.com/hardwarecentral/reports/140/6/
26
hacia atrás tiene que ser realizada por el engine del juego o no será efectivo, por lo tanto, los resultados
pueden variar de un juego a otro.
Virtual Texturing
El “Virtual Texturing” es una característica del hardware de la GameCube a la hora de manejar texturas,
que se basa en dividirlas en pequeños bloques. Éste proceso es beneficioso en dos aspectos básicos:
Llevando los bloques de texturas más utilizados a la caché de texturas, se consigue que el ancho de banda
de la memoria principal sea utilizado de forma más eficiente.
Hacer más eficiente el uso de la caché dedicada a las texturas, teniendo en todo momento las texturas (o
partes de ellas) que se necesiten.
Un ejemplo claro del beneficio del “Virtual Texturing” se puede observar en las texturas de los cielos de
un juego, donde en la mayoría de ellos solo la mitad del cielo puede ser visto en mucha de las escenas.
Todo este proceso se realiza automáticamente y no tiene que ser implementado por el programador.
Iluminación por hardware (Hardware Lighting)
El hard de la GameCube es capaz de soportar 8 luces y cada polígono de una determinada escena puede
ser afectado por ese mismo número de luces. El número de polígonos que la GameCube puede poner en
pantalla con tal número de luces depende de si esos focos de luz son locales o infinitos.
5.
EL CHIP DE SONIDO
El sonido, en los juegos de nueva generación, es cada vez más importante y por eso no es extraño ver que
grandes compañías de la indústria de los videojueos dediquen más esfuerzos económicos a la creación de
grandes bandas sonoras.
Pero qué sería de un buen apartado musical en un juego si el soporte para el que tal juego ha sido
desarrollado no tiene un chip de sonido lo suficientemente potente como para reproducir el sonido con
gran calidad?
Pues la verdad es que sería una pena y por eso todas las consolas de nueva generación tienen una calidad
de sonido realmente impresionante.
Vamos pues a desgranar lo que es el chip de sonido de la GameCube.
El procesador de sonido de la consola de Nintendo
ha sido desarrollado por Macronix. Este chip es de
16 bits DSP (Digital Signal Processor) y posee
diversas memorias:
q Memoria de instrucciones:
8 KB RAM + 8 KB ROM.
q Memoria de datos:
8 KB RAM + 4 KB ROM.
Figura 7. Procesador de sonido de la GameCube.
Su frecuencia de reloj es de 81 Mhz, es capaz de generar 64 canales simultáneos y codificación ADPCM
& PCM. La frecuencia de muestreo de este chip es de 48 Khz.
Tal y como se ha venido comentando, la DRAM de 16 MB a 81 Mhz tiene un ancho de bando pequeño,
pero es más que suficiente para soportar todos los canales de sonido que la GameCube es capaz de
generar, como el siguiente calculo demuestra:
27
64 (canales) x 48000 (freq de muestreo) x 16 bits (tamaño datos) = 6 Mb/seg.
Con un DSP (Digital Signal Processor) de 81 Mhz y 16 Mb de memoria de sonido, la calidad de sonido
en los juegos de GameCube debería ser excepcional (Dolby Prologic II), aunque lejos del sonido que es
capaz de generar la Xbox, el cual es Dolby Digital 5.1 en tiempo real.
Desde Nintendo se ha confirmado que el chip de sonido tiene sus propios buses de datos hacia la DRAM
de 81 Mhz, es decir, que está separado del bus de la memoria principal. Ésto significa que todos los
accesos de sonido no tienen ningún efecto negativo en las operaciones gráficas.
6.
EL MINI DVD COMO SISTEMA DE ALMACENAMIENTO
El formato que Nintendo ha elegido para almacenar
los juegos de su consola de nueva generación, es el
que se ha venido a llamar mini-DVD. Éste no es
más que un “DVD” de 1.5 GB de capacidad y 8 cm
de diámetro creado por la compañía japonesa
Matsushita, más conocida por el nombre de
Panasonic.
Figura 8. A la izquierda un mini-DVD de la
GameCube y a la derecha un DVD de la Xbox.
Nintendo ha vuelto a desmarcarse de sus competidores y de las tendencias de mercado, recordemos que
tanto la PS2 como la Xbox utilizan el DVD estándar, según ellos por dos motivos muy claros:
1
Este formato impedirá la piratería de los juegos de GameCube, al menos por el momento.
2
Los pagos que hay que hacer en factor de “royalties” al utilizar los DVD convencionales se
verán enormemente reducidos.
El dispositivo mini-DVD de la GameCube es capaz de transferir datos a una velocidad que oscila desde
los 16 MB/seg a los 25 MB/seg. El tiempo medio de aceso es de 128 ms. La velocidad de éste dispositivo
es comparable a la de un CD-ROM de 13x - 20x, aproximadamente, dependiendo si la información que se
está leyendo se encuentra en los sectores más interiores o en los más externos.
Cabe comentar que en Japón Panasonic ha puesto a la venta una mezcla de GameCube con DVD llamado
“Q”, para poder visualizar películas en este formato y así satisfacer a los usuarios que demanden esta
opción. En Europa y en EE.UU no se tiene previsto lanzar este combo debido a la piratería.
CUADRO RESUMEN DE CARACTERÍSTICAS
MPU (Micro Processing Unit)
CPU
Manufacturing process
Clock frequency
CPU capacity
Internal data precision
External bus
Internal cache
Custom IBM Power PC "Gekko"
0.18 micron IBM Copper Wire Technology
485 MHz
1125 Dmips (Dhrystone 2.1)
32-bit Integer & 64-bit Floating-point
1.3 GB/second peak bandwidth
32-bit address space
64-bit data bus
162 MHz clock
L1: Instruction 32KB, Data 32KB (8 way)
L2: 256KB (2 way)
28
GPU (Graphic Processor Unit)
GPU
Manufacturing Process
Clock Frequency
Embedded Frame Buffer
Embedded Texture Cache
Texture Read Bandwidth
Main Memory Bandwidth
Pixel Depth
Image Processing Functions
Audio Processing
Sound Processor
Instruction Memory
Data Memory
Clock Frequency
Performance
Sampling Frequency
Performance
Floating-point Arithmetic Capability
Real-world polygon
System Memory "Splash"
Total Memory
Main Memory
A-Memory
Disc Drive
Average Access Time
Data Transfer Speed
Media
Capacity
Input/Output
Power Supply
Dimensions
Custom ATI/Nintendo "Flipper"
0.18 micron NEC Embedded DRAM Process
162 MHz
Approx. 2 MB
Sustainable Latency: 6.2ns (1T-SRAM)
Approx. 1 MB
Sustainable Latency: 6.2 ns (1T-SRAM)
10.4 GB/second (Peak)
2.6 GB/second (Peak)
24-bit Color, 24-bit Z Buffer
Fog, Subpixel Anti-aliasing, 8 Hardware Lights, Alpha
Blending, Virtual Texture Design, Multi-texturing,
Bump Mapping, Environment Mapping, MIP Mapping,
Bilinear Filtering, Trilinear Filtering, Ansitropic
Filtering, Real-time Hardware Texture
Decompression (S3TC)
Real-time Decompression of Display List, HW 3-line
Deflickering filter
(Incorporated into the System LSI)
Custom Macronix 16-bit DSP
8KB RAM + 8KB ROM
8KB RAM + 4KB ROM
81 MHz
64 simultaneous channels, ADPCM & PCM encoding
48KHz
10.5 GFLOPS (Peak) (MPU, Geometry Engine, HW
Lighting Total)
6 to 12 million polygons/second (Peak) (Assuming
actual game conditions with complex models, fully
textured, fully lit, etc.)
40 MB
24 MB MoSys 1T-SRAM Approximately 10ns
Sustainable Latency
16 MB 81 MHz DRAM
CAV (Constant Angular Velocity) System
128ms
16Mbps to 25Mbps
3 inch Nintendo GameCube Disc based on
Matsushita's Optical Disc Technology
Approx. 1.5GB
4 Controller Ports
2 Memory Card Slots
Analog AV Output
Digital AV Output
2 High-Speed Serial Ports
High-speed Parallel Port
AC Adapter DC12V x 3.5A
4.3"(H) x 5.9"(W) x 6.3"(D)
29
Bibliografía:
-Sound and Vision: A Technical Overview of the Emotion Engine:
http://www.arstechnica.com/reviews/1q00/playstation2/ee-1.html
-PS2: Aliased No More:
http://ps2.ign.com/articles/081/081661p1.html
-Deconstructing PlayStation 2
http://xengamers.com/sections/features/5944/1
-How PlayStation 2 Works
http://www.howstuffworks.com/ps2.htm
-The Emotion Engine (Pdf-document)
-Playstation 2 Specs – The Basics
http://ntsrv2000.educ.ualberta.ca/nethowto/examples/m_ho/ps2main.html
-The Playstation2 vs. the PC: a System-level Comparison of Two 3D Platforms
http://www.arstechnica.com/cpu/2q00/ps2/ps2vspc-1.html
-Google
http://www.google.com
-Everything There Is To Know About the Xbox: Technology, Games, Accessories and
What’s At Stake
http://www.tomshardware.com/consumer/02q1/020204/index.html
-Hardware Behind the Consoles- Part I: Microsoft’s Xbox
http://www.anandtech.com/showdoc.html?i=1561&p=1
-Hardware Behind the Consoles – Part II: Nintendo’s GameCube
http://anandtech.com/showdoc.html?i=1566
-Nintendo’s GameCube Technical Overview
http://www.segatech.com/gamecube/overview/index.html
30

Documentos relacionados