For some reason, I am very fascinated by the architecture of PS3. Its complexity makes RPCS3 the most impressive emulator in my eyes. Though to be fair, all emulators are impressive one way or another.
> For some reason, I am very fascinated by the architecture of PS3.
You’re not alone. I also am enchanted by non-standard architectures: the PS3’s Cell, its predecessor the PS2’s Emotion Engine, the Transmeta Crusoe, etc.
There’s a sibling comment to mine that talks about needless complication and dead-ends. That’s fine, but marching along with essentially optimizations to a basic architecture seems boring to me from a creative point of view (not that the achievements made haven’t been, of course, profoundly technically impressive).
And that’s on top of the fact the designing computer architectures can probably be thought of as a huge multidimensional optimization problem (where optimal can change over time or between customer demographics). I think of the approach of iterating as helping us march up that manifold to a local maxima. I think of these “exotic” architectures as sampling far away from those points to see if maybe we can find a more global maxima.
And that’s not to say that the main platforms aren’t innovating: with big-little, NUMA, etc.
But there’s a soft spot in my heart for those wild, long shot bets.
Everything from this generation (PS3's Cell included) was some sort of PowerPC, many previous gens also had consoles using PPC or MIPS. Sony and MS went x86 during the same generation (PS4 and Xbox One). Nintendo went from PPC to ARM (though arguably they'd already used ARM for a while because of their handheld stuff).
I believe the GP is referring to the entire computer architecture, not the instruction set architecture. I seem to recall that it had three distinct heterogenous processors that had to be coordinated to get the most out of the system, so porting from, say, PC to PS5 wasn't necessarily straightforward, without leaving performance on the table.
I think the 360 had a regular homogeneous tricore CPU, so programming it was just normal multithread programming. As you say the PS3 had several auxiliary processors that all needed to be told what to do in specific, non-portable ways, which is what made it inconvenient to work with.
Fun fact about the 360, MS bought a bunch of PowerMac G5 towers and installed a PPC build of Windows XP on them to turn them into Xbox 360 dev kits. Makes sense because those were the most readily available and most cost effective PPC boxes at the time, but kind of funny.
IMO they went AMD because that was the only real option left. PPC was dead by then outside of big IBM servers and ARM was just getting into low-end x86 performance levels. If PPC was still getting improved in the embedded space I think they might have went that way for backwards compatibility reasons.
IBM put in a bid for PS4 (based on Power7 IIRC) but it wasn't selected. I think the convenience of getting everything from AMD helped them take over consoles.
I think the other aspect as well is that the 360 ended up with the somewhat better GPU in Xenos.
I'm not sure if it was obvious at the time in-between the Cell BE and "reality synthesiser" marketing etc. but I understand that gave the 360 an edge in a lot of cross-platform titles.
I think this really influenced the design of the PS4 which actually had a really weak Jaguar CPU but a solid GPU in its APU.
On the other hand, weird hardware architectures are the worst from a preservation standpoint. If no one had made a PS3 emulator, MGS4 was at serious risk of becoming lost media.