4 ms·
There is contradictory evidence whether the Cell's PPE was 'PowerPC' or just a 'Power' core. In any case, it could run PowerPC software. Incidentally, three of
by DCKing 13y ago
There is contradictory evidence whether the Cell's PPE was 'PowerPC' or just a 'Power' core. In any case, it could run PowerPC software. Incidentally, three of those exact same cores are used as the CPU of the Xbox 360.
For reference, the PowerPC 750 derivatives in the GameCube/Wii/Wii U are in the same family as the PowerPC G3 used in Macs around the turn of the century. It is also related to the CPU running Curiosity on Mars. So yeah, although Nintendo is a big customer of the Power architecture at the moment, they're not really breaking new ground.
- DiabloD3 13y agoThe Cell is the world's first in order execution PowerPC. Its similar in design to the G3 family but has a very high clock speed. They stripped a lot out of the chip design (such as the out of order execution pipeline, a lot of the cache brains, etc) to get the core as small and as low power as possible while relying on modern compilers to make the magic happen. I'm not entirely sure they succeeded in their goals, but with how well SPEs are used in PS3 games, I'm not sure it matters.
- bodyfour 13y agoWhen you think about it, it makes sense for a CPU in a game console to not include things like out-of-order. 100% of the software it's running are program compiles for that exact machine. Therefore you can just tell developers to use a particular set of compiler flags and get acceptable instruction scheduling. Contrast this with the software a PC runs -- mostly compiled to be optimized for a "generic" x86 CPU. In fact, it may have been compiled many years before the CPU was even designed. There is a lot more scope for runtime re-ordering to improve execution unit utilization. If the whole world ran Gentoo, commodity CPUs probably would be in-order too.
- DiabloD3 13y agoWell, if you look at modern IBM System/360 descendants (z/arch, etc), this is almost what they do. Programs are compiled to an IL bytecode, and then recompiled during install to produce a CPU-specific binary. Its largely the same concept.