Un interesante analisis, es raro ver analisis tan detallado en foros.
Para empezar yo comparto tu opinion de que a efectos la PS3 y la Xbox 360 tendran basicamente el mismo rendimiento siendo las diferencias entre juegos mucho más basadas en la habilidad de cada desarrollador que en el propio hardware.
Ahora paso a comentar unas pocas discrepancias sobre lo que has dicho.
heulen escribió:De entrada resulta llamativo el que de un dia a la mañana hemos pasado de las funciones en cores simples a un multicore de 8 miembros donde se guarda una estructura no simetrica. Y es aquí donde muchos programadores se han llevado las manos a la cabeza pidiendo herramientas de desarrollo accesibles.
Esto no es del todo cierto en el caso de la PS2 las unidades vectoriales sobre todo la 0 (el 1 se utiliza como "GPU" por asi decirlo) se comportaban como "core" en el sentido de que ejecutaban codigo en paralelo de forma independiente teniendo resultados extremadamente distintos al core principal y requiriendo una forma de programación muy compleja.
heulen escribió:El PPE, o nucleo madre de la PS3, tiene 512 kb de memoria L2. Lo cual está bastante bien, y lo situa en una buena posicion de partida para afrontar la nueva generacion. Cada subnucleo, o SPE tiene 256 KB de memoria L2.
Es decir, tenemos un total de 512+ 256 * 7 = 2.3 MB de caché L2.
La memoria local de los SPU del Cell es más bien como cache de L1 a efectos de rendimiento, los datos de latencia son:
En los core de la Xbox 360:
4 ciclos para instrucciones desde cache L1
5 ciclos para datos desde cache L1
21 ciclos para instrucciones/datos desde la cache de L2
En el Local Store de los SPU es 6 ciclos para todo.
heulen escribió:Sobre los datos de punto flotante...Es una cifra espeluznante, y promete grandes resultados, pero otra vez vemos el inconveniente de que es el programador el que se ha de encargar de que cada miembro de la "orquesta" toque su instrumento en el momento adecuado, si la suma es armonica los resultados son impresionantes. Pero la administracion MANUAL de este comportamiento a bien seguro impdedira en el 99% de los casos alcanzar esa potencia pico.
Que si bien es elevada tambien es demasiado ideal.
Bueno lo de manual depende del modelo de programación que utilize, basicamente se pueden utilizar servicios de Sistema Operativo para organizar los threads. Lo más complejo de esto es diseñar la estructura de datos a causa de que la memoria local de los SPU es independiente de la ram cosa que no pasa con la cache.
La sincronizacion entre core se basa en que cada core tenga los datos disponibles para ejecutar su codigo más que en "recibir ordenes".
heulen escribió:El XCPU consta de dos hilos de calculo por core, lo que duplica por nucleo su capacidad de calculo. Es decir, que tenemos tres nucleos, pero en ocasiones rinden como 6 y en ocasiones rinden como 3. Depende del proceso.
No es cierto que tener dos threads hardware duplique la capacidad de calculo, más bien lo que duplica es la capacidad de no quedarse parado esperando datos como bien dices la ventaja depende de lo que estes haciendo.
heulen escribió:Si Kojima y su grupo dedican un año a la investigacion podriamos tener un motor como el RenderWare de esta generacion, que de buenos resultados a todos los niveles.
La verdad yo no pondria al RenderWare en la generacion PS2/Xbox como ejemplo de buenos resultados, en general si no se reoptimiza por el desarrollador los resultados son bastante penosos, más de una vez he leido comentarios de "apesta a renderware" en juegos cutres.
heulen escribió:Recordemos que en un comienzo la idea de Sony era lanzar un modelo de PS3 con dos CELL, uno dedicado a funciones graficas exclusivamente, y otro dedicado a funciones nativas de CPU.
El rechazo, evidente en parte, por parte de los desarrolladores al recibir los primeros kits hizo que Sony tomara un camino de ultima hora.
Yo diria que jamas un desarrollador recibio un kit con una "Cell GPU", los primeros kit se recibieron despues del anuncio del acuerdo con Nvidia el año pasado.
heulen escribió:Lo que le da un rendimiento real de una memoria de 800 MHZ. Y la memoria de video de 256 megas con un rendimiento de 1400 MHz. Es decir en PS3 tenemos 256 MB a 800 MHz + 256 MB a 1400.
Esto no es asi, la GDD3 de ambas consolas se usa con un interfaz de 128 bit que al ser DDR es como si fuera de 256 bit, no hay que duplicarla otra vez, la comparacion seria X DR 800Mhz - GDDR3 700Mhz a efectos de ancho de banda (25 GB/s - 22 GB/s).
heulen escribió:Se supone que ambas memoria pesea no ser unificadas pueden comunicarse entre sí, el inconveniente es que su rendimiento decae estrepitsamente.
No es que se puedan comunicar las memorias entre si, si no que tanto la GPU como la CPU pueden acceder a ambas utilizando los interfaces de memoria adecuados (el interfaz de la GDDR3 esta en la GPU y el interfaz de la X DR esta en la CPU), la mayoria de las CPU de PC utilizan interfaces de memoria fuera de la CPU (los Athlon 64 son los unicos que conozco con interfaz integrado) por lo que hacer estas cosas dista mucho de hacer que el rendimiento decaiga extrepitosamente.
A la hora de comparar el Cell con las CPU de PC tambien habria que resaltar que la X DR tiene 4 veces más ancho de banda que la DDR400 habitual en los PCs actuales.