Sorry for this kinda gamerbrained question.

The Xbox 360, Playstation 4, Xbox One, honestly most consoles after the Playstation and Saturn have shared memory pools. It allows flexibility in how much memory and VRAM developers want to assign, right? Why does the PS3 not have a shared 512MB pool of GDDR3? It caused all kinds of problems, most notably with Bethesda games.

Is it the Cell Broadband Engine needing the specialty XDR memory? Is it an artifact of the Nvidia RSX graphics chip being added late in development? Looking back I a)most wonder if the split memory was more of a problem than the Cell tbh.

  • PaX [comrade/them, they/them]
    ·
    5 months ago

    I was writing something much longer blob-no-thoughts but I started actually reading about the PS3's memory map and uhh

    The memory pools aren't really split* orrr... I guess it depends what you mean by "split". The RSX can actually access the Cell's XDR memory, it's just somewhat slower because the RSX isn't directly connected to the XDR memory bus so it has to ask the Cell BE to make accesses. For comparison, it seems the Xbox 360's main memory is connected to the GPU which results in longer latencies for the CPU to access memory but apparently Microsoft partially mitigated this by the addition of more cache memory for the CPU.

    *https://www.psdevwiki.com/ps3/RSX (scroll to: "RSX Memorymap")

    • ashinadash [she/her]
      hexagon
      ·
      5 months ago

      You can tell me abt the memory map if u desire ✨ but uh

      Because of the VERY slow Cell Read speed from the 256MB 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 the HDMI display.

      There are also bandwidth differences up to 10gb/s between the different busses. Add the high latency of GDDR3 compared to the XDR RAM, and the fact that the Cell doesn't seem to have access to the GDDR3... The RSX having to request access from Cell puts me in mind of Pentium Ds and other really early dual core CPUs, lol.

      But this basically all means that using the two pools as a single continuous memory chunk would be impossible, right? The Xbox 360 sounds much more normal to me, I would bet without knowing that the PS4 and XBO also have large caches to offset GDDR latency. The OG Xbox has a large CPU cache as well =) which seems much funnier than this weird split ram shit.

    • ashinadash [she/her]
      hexagon
      ·
      5 months ago

      Thus, there’s no shared memory between PPU or others SPUs. Instead, the SPU contains local memory used as working space.

      To program this unit, developers use the PPU to invoke routines provided by the PlayStation 3’s Operating System, these upload the executable specifically written for the SPU to the SPU of choice and signal it to start execution.

      agony-consuming sony nooooooooo bro this sounds soooooooooo annoying!!!