![]() | This articlepossibly containsoriginal research. Pleaseimprove it byverifying the claims made and addinginline citations. Statements consisting only of original research should be removed.(March 2018) (Learn how and when to remove this message) |
TheReality Synthesizer (RSX) is a proprietarygraphics processing unit (GPU) developed jointly byNvidia andSony for thePlayStation 3 video game console. Based on Nvidia'sGeForce 7 series, specifically the7800 GTX, the RSX utilizes a hybrid design incorporating elements of the G70 and G71 (previously known as NV47) architecture. It features separate vertex and pixel shaderpipelines and supports advanced graphics rendering features such ashigh dynamic range,anti-aliasing, andS3 texture compression, with a theoretical floating-point performance of 192GFLOPS.
The RSX includes 256 MB ofGDDR3 SDRAM, clocked at 650 MHz with an effective transmission rate of 1.3 GHz. It can also access up to 224 MB of the console’sXDR DRAM main memory through theCell Broadband Engine, the PlayStation 3'sCPU, allowing for a combined maximum of 480 MB of usable memory.
While the RSX handles the majority of graphics processing tasks, the Cell processor assists with graphics-related computations, offering a complementary role in rendering workloads.
Unless otherwise noted, the following specifications are derived from Sony’s press materials released at theE3 2005 conference,[1] slides presented at the same event,[2] and a Sony presentation at the 2006Game Developers Conference.[citation needed]
Although the RSX has 256 MB of GDDR3 RAM, not all of it is usable. The last 4 MB is reserved for keeping track of the RSX internal state and issued commands. The 4 MB of GPU Data contains RAMIN, RAMHT, RAMFC, DMA Objects, Graphic Objects, and the Graphic Context. The following is a breakdown of the address within 256 MB of the RSX.
Address Range | Size | Comment |
---|---|---|
0000000-FBFFFFF | 252 MB | Framebuffer |
FC00000-FFFFFFF | 4 MB | GPU Data |
FF80000-FFFFFFF | 512 KB | RAMIN: Instance Memory |
FF90000-FF93FFF | 16 KB | RAMHT: Hash Table |
FFA0000-FFA0FFF | 4 KB | RAMFC: FIFO Context |
FFC0000-FFCFFFF | 64 KB | DMA Objects |
FFD0000-FFDFFFF | 64 KB | Graphic Objects |
FFE0000-FFFFFFF | 128 KB | GRAPH: Graphic Context |
Besides local GDDR3 memory, main XDR memory can be accessed by RSX too, which is limited to either:
System bandwidth (theoretical maximum):
Because of the aforementioned layout of the communication path between the different chips, and the latency and bandwidth differences between the various components, there are different access speeds depending on the direction of the access in relation to the source and destination. The following is a chart showing the speed of reads and writes to the GDDR3 and XDR memory from the viewpoint of the Cell and RSX. Note that these are measured speeds (rather than calculated speeds) and they should be worse if RSX and GDDR3 access are involved because these figures were measured when the RSX was clocked at 550Mhz and the GDDR3 memory was clocked at 700Mhz. The shipped PS3 has the RSX clocked in at 500Mhz. In addition, the GDDR3 memory was also clocked lower at 650Mhz.
Processor | 256 MB XDR | 256 MB GDDR3 |
---|---|---|
Cell Read | 16.8GB/s | 16 MB/s (15.6MB/s @ 650 MHz) |
Cell Write | 24.9GB/s | 4 GB/s |
RSX Read | 15.5GB/s | 22.4GB/s (20.8GB/s @ 650 MHz) |
RSX Write | 10.6GB/s | 22.4GB/s (20.8GB/s @ 650 MHz) |
Because of the very slow Cell Read speed from the 256 MB GDDR3 memory, it is more efficient for the Cell to work in XDR and then have the RSX pull data from XDR and write to GDDR3 for output to theHDMI display. This is why extra texture lookup instructions were included in the RSX to allow loading data from XDR memory (as opposed to the local GDDR3 memory).
The RSX is dedicated to 3D graphics, and developers are able to use different API libraries to access its features. The easiest way is to use high level PSGL, which is basically OpenGL|ES with programmable pipeline added in, however this is unpopular due to the performance overhead on a relatively weak console CPU.At a lower level developers can useLibGCM, which is an API that builds RSXcommand buffers at a lower level. (PSGL is actually implemented on top of LibGCM). This is done by setting up commands (via FIFO Context) and DMA Objects and issuing them to the RSX via DMA calls.
The RSX 'Reality Synthesizer' is based on the G70 architecture, but features a few changes to the core.[7] The biggest difference between the two chips is the way the memory bandwidth works. The G70 only supports rendering tolocal memory, while the RSX is able to render to both system and local memory. Since rendering from system memory has a much higher latency compared to rendering from local memory, the chip's architecture had to be modified to avoid a performance penalty. This was achieved by enlarging the chip size to accommodate largerbuffers andcaches in order to keep thegraphics pipeline full. The result was that the RSX only has 60% of the local memory bandwidth of the G70, making it necessary for developers to use the system memory in order to achieve performance targets.[7]
Difference | RSX | Nvidia 7800GTX |
---|---|---|
GDDR3 Memory bus | 128bit | 256bit |
ROPs | 8 | 16 |
Post Transform and Lighting Cache | 63 max vertices | 45 max vertices |
Total Texture Cache Per Quad of Pixel Pipes (L1 and L2) | 96 kB | 48kB |
CPU interface | FlexIO | PCI-Express 16x |
Technology | 28 nm/40 nm/65 nm/90 nm | 110 nm |
Other RSX features/differences include:
Sony staff were quoted inPlayStation Magazine saying that the "RSX shares a lot of inner workings withNvidia 7800 which is based on G70 architecture."[citation needed] Since the G70 is capable of carrying out 136 shader operations per clock cycle, the RSX was expected to feature the same number of parallel pixel and vertex shader pipelines as the G70, which contains 24 pixel and 8 vertex pipelines.
Nvidia CEOJensen Huang stated during Sony's pre-show press conference atE3 2005 that the RSX is twice as powerful as the GeForce 6800 Ultra.[2]
The RSX GPU in early models of thePlayStation 3 was initially fabricated using a90 nm process and was affected by reliability issues related to itspackaging and thermal behavior—a problem commonly referred to as "Bumpgate." The high operating temperatures of the chip could weaken the solder joints in theball grid array (BGA) connecting thedie to theinterposer, leading to degraded performance or complete hardware failure over time.
Several factors contributed to these failures:
These issues primarily affected launch and early production units. Later revisions of the RSX transitioned to smaller process nodes—65 nm in 2008,[4]40 nm in 2010,[5] and28 nm in 2013—which reduced power consumption and, in turn, heat generation, helping to mitigate the thermal stress that contributed to earlier failures.
{{cite web}}
: CS1 maint: multiple names: authors list (link)