El RSX 'Reality Synthesizer ' es una unidad de procesamiento gráfico (GPU) patentada codesarrollada por Nvidia y Sony para la consola de juegos PlayStation 3. Se basa en el procesador gráfico Nvidia 7800GTX y, según Nvidia, es una arquitectura híbrida G70/G71 (anteriormente conocida como NV47) con algunas modificaciones. El RSX tiene canales de sombreado de vértices y píxeles separados . La GPU hace uso de 256 MB de RAM GDDR3 a 650 MHz con una velocidad de transmisión efectiva de 1,3 GHz y hasta 224 MB de la memoria principal XDR de 3,2 GHz a través de la CPU (480 MB máximo). Aunque lleva la mayor parte del procesamiento gráfico, el Cell Broadband Engine , la CPU de la consola , también se utiliza de forma complementaria para algunas cargas computacionales relacionadas con los gráficos de la consola.
A menos que se indique lo contrario, las siguientes especificaciones se basan en un comunicado de prensa de Sony en la conferencia E3 2005, [1] diapositivas de la misma conferencia, [2] y diapositivas de una presentación de Sony en la Game Developer's Conference de 2006. [ cita requerida ]
El RSX tiene un rendimiento de punto flotante de 192 GFLOPS . [3]
Otras características: Soporte para filtrado de texturas bilineal, trilineal , anisotrópico, quincunx , antialiasing quincunx, hasta 4x MSAA , SSAA , Alpha to Coverage y Alphakill.
90 nm:
65 nm:
40 nm:
Aunque el RSX tiene 256 MB de RAM GDDR3, no toda es utilizable. Los últimos 4 MB están reservados para realizar un seguimiento del estado interno del RSX y de los comandos emitidos. Los 4 MB de datos de la GPU contienen RAMIN, RAMHT, RAMFC, objetos DMA, objetos gráficos y el contexto gráfico. A continuación, se muestra un desglose de la dirección dentro de los 256 MB del RSX.
Además de la memoria GDDR3 local, RSX también puede acceder a la memoria XDR principal, que está limitada a:
Ancho de banda del sistema (máximo teórico):
Debido a la disposición antes mencionada de la ruta de comunicación entre los diferentes chips y a las diferencias de latencia y ancho de banda entre los diversos componentes, existen diferentes velocidades de acceso según la dirección del acceso en relación con el origen y el destino. El siguiente es un gráfico que muestra la velocidad de lectura y escritura en la memoria GDDR3 y XDR desde el punto de vista de Cell y RSX. Tenga en cuenta que se trata de velocidades medidas (en lugar de calculadas) y deberían ser peores si se trata de acceso RSX y GDDR3, ya que estas cifras se midieron cuando el RSX funcionaba a 550 MHz y la memoria GDDR3 a 700 MHz. La PS3 que se entrega con el RSX funciona a 500 MHz (front end y back end, aunque los sombreadores de píxeles se ejecutan por separado en el interior a 550 MHz). Además, la memoria GDDR3 también funcionaba a una velocidad inferior, a 650 MHz.
Debido a la lentitud de la velocidad de lectura de celdas de la memoria GDDR3 de 256 MB, es más eficiente que la celda funcione en XDR y que luego el RSX extraiga datos de XDR y los escriba en GDDR3 para enviarlos a la pantalla HDMI . Por eso se incluyeron instrucciones de búsqueda de texturas adicionales en el RSX para permitir la carga de datos desde la memoria XDR (en lugar de la memoria GDDR3 local).
El RSX está dedicado a los gráficos 3D y los desarrolladores pueden usar diferentes bibliotecas API para acceder a sus funciones. La forma más fácil es usar PSGL de alto nivel, que es básicamente OpenGL|ES con una canalización programable añadida, sin embargo, esto no es popular debido a la sobrecarga de rendimiento en una CPU de consola relativamente débil. En un nivel inferior, los desarrolladores pueden usar LibGCM , que es una API que crea búferes de comandos RSX en un nivel inferior. (PSGL en realidad se implementa sobre LibGCM). Esto se hace configurando comandos (a través del contexto FIFO) y objetos DMA y emitiéndolos al RSX a través de llamadas DMA.
El RSX 'Reality Synthesizer' se basa en la arquitectura G70, pero presenta algunos cambios en el núcleo. [7] La mayor diferencia entre los dos chips es la forma en que funciona el ancho de banda de la memoria. El G70 solo admite la renderización en la memoria local , mientras que el RSX puede renderizar tanto en la memoria del sistema como en la memoria local. Dado que la renderización desde la memoria del sistema tiene una latencia mucho mayor en comparación con la renderización desde la memoria local, la arquitectura del chip tuvo que modificarse para evitar una penalización de rendimiento. Esto se logró ampliando el tamaño del chip para acomodar búferes y cachés más grandes para mantener lleno el canal de gráficos . El resultado fue que el RSX solo tiene el 60% del ancho de banda de memoria local del G70, lo que hace necesario que los desarrolladores utilicen la memoria del sistema para lograr los objetivos de rendimiento. [7]
Otras características/diferencias del RSX incluyen:
El personal de Sony fue citado en la revista PlayStation Magazine diciendo que "el RSX comparte muchos aspectos internos con NVIDIA 7800 , que se basa en la arquitectura G70". [ cita requerida ] Dado que el G70 es capaz de realizar 136 operaciones de sombreado por ciclo de reloj, se esperaba que el RSX presentara la misma cantidad de canales de sombreado de píxeles y vértices paralelos que el G70, que contiene 24 canales de píxeles y 8 vértices.
El director ejecutivo de Nvidia, Jen-Hsun Huang, declaró durante la conferencia de prensa previa al show de Sony en el E3 2005 que la RSX es dos veces más potente que la GeForce 6800 Ultra. [2]
En el caso de la PlayStation 3 , el RSX se fabricó originalmente con el proceso de 90 nm, antes de pasar al proceso de 65 nm , 40 nm y, finalmente, al de 28 nm . La versión de 90 nm del RSX se empaquetó (en el contexto de la tensión térmica) con elementos de empaquetado de matriz incompatibles . Estos factores hacen que la matriz de rejilla de bolas (BGA) entre el intercalador del chip y su matriz falle a un ritmo anormalmente rápido.
Algunos de los factores de fracaso incluyen:
{{cite web}}
: CS1 maint: varios nombres: lista de autores ( enlace )