¿Por qué siempre el mismo núcleo PPC en la consolas de Nintendo?

Comentario Original: 

Creo que lo más moderno que podés encontrar de los powerpc que podría ir, es el powerpc A2(aunque sólo los nucleos de este), está fabricado bajo el proceso SOI de 45nm, por lo que como mucho podría ir hasta el de 32nm si es que no se quiere hacer ninguna modificacion, la otra opción (que no es típico de nintendo, ya que suelen usar una cpu ya hecha) es una versión reducida de por ejemplo el power 7 el cual usa el proceso SOI de 32nm y que le pague a ibm por el diseño como hizo microsoft con el xenon de 360 y que se lo fabrique global foundries, pero eso es muy dificil que se de, la verdad que hay tantas posibilidades, se puede esperar cualquier cosa de nintendo, espero no nos sorprendan para mal.

pd. mirate la entrada “el mito del powerpc” o algo así

La unidad PowerPC utilizada por Nintendo en GameCube, Wii y Wii U no es un PowerPC 750 al uso sino que es uno extremadamente modificado en una parte en concreto, de ahí a que no se pueda utilizar un PowerPC más avanzado como podria ser un PowerPC 970, un PowerPC A2 por ejemplo o incluso el núcleo PowerPC en Xbox 360 y PS3.

¿Cual es este cambio? Paired-Singles

Esto viene descrito en una serie de patentes entre IBM y Nintendo (I, II).

No os preocupéis que no os las voy a describir al dedo, simplemente los PowerPC pueden operar con números de coma flotante en precisión simple, 32 bits, o doble, 64 bits. Normalmente solo puede utilizar un operando por registro, pero Nintendo junto a IBM hicieron modificaciones para poder colocar dos operandos en un registro y poder hacer instrucciones de dos operandos en un ciclo, de ahí el nombre de Paired-Singles.

¿A que es equivalente esto? No se si los más viejos del lugar recuerdan la tecnología 3Dnow! en los AMD K6-2 de finales de los 90. Pues bien, esto es exactamente lo mismo. Por aquella época no existían aún las GPUs con unidad geométrica y por tanto esa parte la calculaba la CPU y dado que GameCube se creo en esos tiempos varias de las innovaciones en PC fueron adaptadas a la nueva consola.

Esta nueva funcionalidad de la CPU añade una serie de instrucciones relacionadas con la API GX y por tanto funcionan en conjunción con la GX GPU de GameCube y Wii No hay que olvidar que la GX GPU es del tipo DX7/OpenGL 1.2, es decir, soporta geometría desde la GPU pero no programable por lo que las modificaciones sobre los vértices se tienen que calcular desde la CPU. Dicho de otra manera permite realizar las operaciones que haría un Vertex Shader en el caso de GameCube y Wii. No solo eso, sino que este tiene acceso a la eFB, la parte de la memoria eDRAM de la GX GPU donde se almacena el búfer de imagen, ahí permite realizar efectos de post-procesado sobre la imagen.

En el caso de Wii U su utilidad se diluye por completo, para empezar la GX2 GPU puede realizar todas esas funciones de mejor manera y sin necesidad de una CPU que le resultaría una carga por lo que los Paired-Singles pasan a encargarse de otras tareas pero es aquí donde se ve la falta de potencia. En el caso de los PowerPC de PS3 y Xbox 360 nos encontramos con que:

  • Ambos procesadores van 3.2 Ghz, el de Wii U a 1.2 Ghz.
  • Ambos procesadores tienen una unidad VMX capaz de realizar operaciones en precisión simple con 4 operandos, la CPU de Wii U solo con dos.

Es decir, las operaciones en CPU que hacen uso de la unidad de coma flotante como por ejemplo la física de la escena, detección de colisiones… se ven altamente comprometidas en Wii U por la falta de potencia de su CPU en coma flotante.

¿Acaso no sería suficiente con su implementación en un núcleo PowerPC más potente? No tiene sentido desde el momento en que:

  • Esta implementación esta altamente atada a la API GX y con ello a la GX GPU que esta desfasada y no tiene sentido en el mercado.
  • Existe la unidad VMX que es mucho más eficiente.

El único motivo por el cual Nintendo incluyo una CPU con varios de estos núcleos en Wii U fue para asegurarse una compatibilidad hacía atrás que les ha aportado…

cero

Anuncios