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.
to piss you off specifically
Likely it was a tradeoff between various competing and contradictory constraints, most of which will probably never be revealed.
I was writing something much longer 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”)
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.
sony nooooooooo bro this sounds soooooooooo annoying!!!
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.
I found this source all about the PS3 hardware
Essentially, while there were bottlenecks, the GPU could use the main system memory. I’m going to say that games struggled on the PS3 mostly due to difficulty programming for it
Yes, but in a limited fashion and the Cell could not access GDDR3, yes? Plus the RSX has to request access to XDR via the Cell. I’m pretty sure using it all as one continuous ram chunk would have been tough at least.
“Difficulty programming for it” meaning ‘weird hardware design’ or ‘bad SDK/devkits’? Having just looked at the Element Interconnect Bus, and the state of multithreading in 2006… Oh boy
Yes to everything. The Cell processor was ambitious to say the least, but confusing hardware design and poor support from sony for developers lead to poor performance in many of the games that were developed for it. Or devs simply didn’t make games for the Playstation at all, a trend that would continue to this day. This actually reminded me of a parody song from a now defunct gaming website I used to listen to.
I found a YouTube link in your comment. Here are links to the same video on alternative frontends that protect your privacy:
a trend that would continue to this day.
The PS4 outsold the Xbox One 2:1 and the PS5 continues this trend, they’re also pretty normal architecturally?
But yeah no kidding, it just seems to me like this bizarre PPE/SPE orchestra is so much worse than simply three cores with simultaneous multithreading. (and a unified, flexible memory pool) It’s like they tried to reinvent the multitasking wheel…
Xbox does not have console roots. Its a pc at heart.
…yes comrade, all consoles do. All consoles are. MIPS (PS1, PS2) is from computers. PowerPC (Gamecube, Wii, Wii U) is from computers. 6502 (NES, SNES) is from computers. 68000 (Mega Drive) is from computers. Quick, what console is NOT a PC at heart?
The Xbox and One both use x86, and they have some software roots in Windows, but not only does that not really relate to the question I asked, all Xbox systems have shared memory anyway.
reddit-ass "well ackshually " comment
In a word: so?
I can outpedant both of you by saying that ”PC” is practically always used to mean ”IBM PC compatible”, meaning x86/x64 architecture, therefore most consoles aren’t based on PCs
The last four minus the Switch are that is pretty dang pedantic tho, “PC” usually means any home computer nowadays. Plus, PowerPC…
Serious, do you unironically think I was being pedantic? Given that “xbox has pc roots” is a sort of ambiguous nothing-statement that doesn’t relate in any way to my question, (which is about the PS3) I thought pointing out that all consoles are just specialised, simplified computers was apt.
Good post, it really is just different types of computers (although game consoles continue to get less and less interesting architecturally :( )
Also I started writing a response to your original post (interesting question tbh) that is quickly scaling out of control
Wouldn’t that imply the opposite though? AFAIK PCs had already been using independent VRAM by the 7th gen
That was / is slot-in, but yes. consoles was built more on the basis of coin-ups than what was the pc at the time. They had split personalities and was often compromised by several cpu/systems, while IBM’s pc was a single cpu thing. There was the co-processor but that was tightly knit to the processor and not independent.
This modular design what was made them able to do what they did - and imo what ps4 was the last iteration of for sony, with nintendo having the gamecube. The PS4 could do amazing things, but only like 12 programmers in the world was able to use it fully.
edit: Gc, not wii. Actually the gc was their first unified memory system. Sorry nintendo architects, my mistake