jueves, noviembre 24, 2005
Xbox 360
Hoy asistí a una presentación sobre la Xbox 360. Fue interesante la parte relativa a la arquitectura de la máquina, pero me dejó muchas dudas, algunas de las cuales he estado intentando aclarar ahora con Internet.
El ponente, un hombre de Microsoft, empezó contando que la máquina llevaba una maravilla de tres «procesadores propietarios de IBM». Más adelante aclaró que estaban basados en PowerPC. Dijo que ahora los programadores estaban preparados para aprovechar múltiples CPUs, lo que no tengo tan claro. ArsTechnica tiene un &mdash como casi siempre&mdash interesante artículo sobre la programación de las consolas de nueva generación. Una de sus conclusiones es que, como el coste de desarrollar un juego es muy alto, para amortizarlo se harán más juegos multiplataforma (que funcionen en varios tipos de consolas y el PC) y se harán para el mínimo común denominador, que será dos hilos ejecutándose en una CPU y utilizando sólo la GPU.
Cuentan una anécdota graciosa sobre esto de los hilos: hace años John Carmack modificó el código del Quake III para que funcionase en máquinas con dos procesadores. En su sistema conseguía ganancias de hasta un 40% pero en otros no... y no logró descubrir por qué. Conclusión: «If a programming genius like John Carmack can be so befuddled by mysterious issues coming from multithreaded programming, what chance do mere mortals have?»
Pues en la 360 hay tres procesadores y además cada uno soporta hyperthreading, con lo que puede ejecutar dos hilos a la vez. 3x2 son 6 en mi pueblo, así que programarla no va a ser un juego de niños, a pesar del entorno de desarrollo XNA, basado en Visual Studio, que nos vendió como una maravilla que casi hacía los juegos solo... ¡Ja!
Los detalles de la arquitectura se pueden encontrar en otro gran artículo de Ars Technica.
Una de las cosas que dijo el hombre de la presentación es que llevaba memoria EDRAM. Yo no había oído hablar de eso en mi vida y no he encontrado en Internet un buen enlace al respecto. Por lo visto significa Embedded Dynamic RAM y la proporciona NEC, pero no sé qué la diferencia de otros tipos de memoria. Si alguien puede aportar alguna luz, me permitiría dormir mejor por las noches... ;-)
En cualquier caso, citó un número impresionante: más de 20 GB/s de tasa de transferencia con la memoria.
Con un compañero estuvimos preguntándonos qué operativo llevaría el cacharro. La solución la dan aquí: la Xbox original llevaba un operativo basado en Windows 2000, pero muy reducido; el sistema operativo de la 360 se hizo a partir de este. Es decir, es un hijo de un hijo de Windows 2000.
También habló el ponente sobre la compatibilidad de Xbox 360 con «muchos» juegos de Xbox. ¿Y cómo funciona? Pues según cuentan aquí y aquí por emulación software. Parece que han tenido bastantes problemas porque hay propiedad intelectual de nVidia que no controlaban. En esta otra noticia dicen que la 360 soportorá inicialmente 212 juegos de Xbox original en Estados Unidos, 156 en Europa y sólo 12 en Japón. ¿Por qué la diferencia entre países? Ni idea. Por otra parte, cuentan que Microsoft piensa actualizar el software de emulación para soportar más juegos antiguos.
Otra cuestión que mencionó en la charla el ponente fue la aparición de chips. Dijo que la consola tenía grandes medidas de seguridad pero que, como había 15000 personas intentando romperla por cada ingeniero que Microsoft dedicaba a ello, al final lo acabarían consiguiendo. Me pareció que lo que quería era dar la sensación de que se podría chipear: a fin de cuentas, le interesa que la gente compre la consola y, aunque copie algunos juegos, comprarán unos cuantos, lo que le servirá a Microsoft para recuperar la inversión... O no, porque según cuentan unos que han analizado los componentes de la Xbox 360, se pierden 126 dólares en cada consola vendida y la unidad de juegos de Microsoft es deficitaria.
AnandTech tiene un gran reportaje de la Xbox 360 por dentro con fotos. En él se puede ver el disco duro, que es un Serial-ATA extraíble, y los tres ventiladores. El hombre de Microsoft dijo que cuando estés haciendo tareas de bajo consumo de CPU, como ver un DVD, sólo funcionará uno.
Imagino que lo que más le importará a la mayor parte de la gente es qué tal resultan los juegos. Pues ni idea. Me fui antes de que empezase la demostración: me interesaba más la arquitectura. Cada uno tiene sus vicios ;-)
Actualización: Leyendo la entrada correspondiente en la Wikipedia descubro que la eDRAM es sólo una memoria de 10 MB utilizada como frame buffer. La ventaja es que va a 500 MHz y el ancho de banda con la GPU es de 32 GB/s. La memoria principal del sistema es GDDR3, un tipo de memoria diseñada por ATI (aunque utilizada primero pon nVidia) que es como la DDR2 pero con menos consuma y dispersando menos calor. También se explica cómo llega a los 22,4 GB/s: 700 MHz x 2 accesos en cada ciclo de reloj x 128 bits que tiene de ancho el bus. Este gráfico tiene un esquema con todos los anchos de banda dentro de la máquina.
El ponente, un hombre de Microsoft, empezó contando que la máquina llevaba una maravilla de tres «procesadores propietarios de IBM». Más adelante aclaró que estaban basados en PowerPC. Dijo que ahora los programadores estaban preparados para aprovechar múltiples CPUs, lo que no tengo tan claro. ArsTechnica tiene un &mdash como casi siempre&mdash interesante artículo sobre la programación de las consolas de nueva generación. Una de sus conclusiones es que, como el coste de desarrollar un juego es muy alto, para amortizarlo se harán más juegos multiplataforma (que funcionen en varios tipos de consolas y el PC) y se harán para el mínimo común denominador, que será dos hilos ejecutándose en una CPU y utilizando sólo la GPU.
Cuentan una anécdota graciosa sobre esto de los hilos: hace años John Carmack modificó el código del Quake III para que funcionase en máquinas con dos procesadores. En su sistema conseguía ganancias de hasta un 40% pero en otros no... y no logró descubrir por qué. Conclusión: «If a programming genius like John Carmack can be so befuddled by mysterious issues coming from multithreaded programming, what chance do mere mortals have?»
Pues en la 360 hay tres procesadores y además cada uno soporta hyperthreading, con lo que puede ejecutar dos hilos a la vez. 3x2 son 6 en mi pueblo, así que programarla no va a ser un juego de niños, a pesar del entorno de desarrollo XNA, basado en Visual Studio, que nos vendió como una maravilla que casi hacía los juegos solo... ¡Ja!
Los detalles de la arquitectura se pueden encontrar en otro gran artículo de Ars Technica.
Una de las cosas que dijo el hombre de la presentación es que llevaba memoria EDRAM. Yo no había oído hablar de eso en mi vida y no he encontrado en Internet un buen enlace al respecto. Por lo visto significa Embedded Dynamic RAM y la proporciona NEC, pero no sé qué la diferencia de otros tipos de memoria. Si alguien puede aportar alguna luz, me permitiría dormir mejor por las noches... ;-)
En cualquier caso, citó un número impresionante: más de 20 GB/s de tasa de transferencia con la memoria.
Con un compañero estuvimos preguntándonos qué operativo llevaría el cacharro. La solución la dan aquí: la Xbox original llevaba un operativo basado en Windows 2000, pero muy reducido; el sistema operativo de la 360 se hizo a partir de este. Es decir, es un hijo de un hijo de Windows 2000.
También habló el ponente sobre la compatibilidad de Xbox 360 con «muchos» juegos de Xbox. ¿Y cómo funciona? Pues según cuentan aquí y aquí por emulación software. Parece que han tenido bastantes problemas porque hay propiedad intelectual de nVidia que no controlaban. En esta otra noticia dicen que la 360 soportorá inicialmente 212 juegos de Xbox original en Estados Unidos, 156 en Europa y sólo 12 en Japón. ¿Por qué la diferencia entre países? Ni idea. Por otra parte, cuentan que Microsoft piensa actualizar el software de emulación para soportar más juegos antiguos.
Otra cuestión que mencionó en la charla el ponente fue la aparición de chips. Dijo que la consola tenía grandes medidas de seguridad pero que, como había 15000 personas intentando romperla por cada ingeniero que Microsoft dedicaba a ello, al final lo acabarían consiguiendo. Me pareció que lo que quería era dar la sensación de que se podría chipear: a fin de cuentas, le interesa que la gente compre la consola y, aunque copie algunos juegos, comprarán unos cuantos, lo que le servirá a Microsoft para recuperar la inversión... O no, porque según cuentan unos que han analizado los componentes de la Xbox 360, se pierden 126 dólares en cada consola vendida y la unidad de juegos de Microsoft es deficitaria.
AnandTech tiene un gran reportaje de la Xbox 360 por dentro con fotos. En él se puede ver el disco duro, que es un Serial-ATA extraíble, y los tres ventiladores. El hombre de Microsoft dijo que cuando estés haciendo tareas de bajo consumo de CPU, como ver un DVD, sólo funcionará uno.
Imagino que lo que más le importará a la mayor parte de la gente es qué tal resultan los juegos. Pues ni idea. Me fui antes de que empezase la demostración: me interesaba más la arquitectura. Cada uno tiene sus vicios ;-)
Actualización: Leyendo la entrada correspondiente en la Wikipedia descubro que la eDRAM es sólo una memoria de 10 MB utilizada como frame buffer. La ventaja es que va a 500 MHz y el ancho de banda con la GPU es de 32 GB/s. La memoria principal del sistema es GDDR3, un tipo de memoria diseñada por ATI (aunque utilizada primero pon nVidia) que es como la DDR2 pero con menos consuma y dispersando menos calor. También se explica cómo llega a los 22,4 GB/s: 700 MHz x 2 accesos en cada ciclo de reloj x 128 bits que tiene de ancho el bus. Este gráfico tiene un esquema con todos los anchos de banda dentro de la máquina.
Comentarios:
Pues hace iunos días en incognitosis alguien se preguntaba si este sistema operativo incluía Internet Explorer, y por tanto, si la Xbox era susceptible de ser infectada por virus.
Publicar un comentario