Under the Hood of the Xbox 360
An anonymous reader writes "IBM DeveloperWorks is running a behind the design story for the making of the Xbox 360. The 360 has but a single chip with 165 million transistors for it's CPU " From the article: "This chip is in fact a three-way symmetric multiprocessor design. The three PowerPC cores are identical, except that they are physically reflected through the X and Y axis. Each of the CPU cores is a specialized PowerPC chip with a VMX128 extension related to (and partially compatible with) the VMX instructions in the G4 and G5 CPUs. The three CPU cores share a 1MB Level2 cache. Each processor has 32KB each of data and instruction Level1 cache. The chip's front-side bus/physical interface has a 21.6GB/second bandwidth, and runs at 5.4GHz."
Microsoft went to ATI and IBM in order to "own" the designs for the graphics/processor chips. This way MS is able to get the parts fabbed out without having to get approval from ATI/IBM. (This is from memory of what I've read in the past). The CPU and graphics/bridge design in the XBox are owned and by Intel/Nvidia (respectively). MS had to buy the parts from them, which costs them more in the long run than being able to get their own produced.
Correct me if I'm wrong...
The PS2 Emotion Engine has the same design philosophy: choosing to do small memory/cache in favor for very wide bandwidth. It makes for some interesting programming juggling and kung-fu since the data comes straight from memory dumped to the graphics so nothing is cached. The results speak for themselves since the PS2 is the oldest and the most dated performance the fact that the performance is extremely dynamic and probably *still not maxed*. People are still pulling tricks that no one could predict the PS2 to do. I suspect we wouldn't have games on the PS2 like GT4 or the beautiful Shadow of the Collosius if it had been made with more cache yet small bandwidth.
Seriously, though, these are fascinating little beasts. It looks as if the concept has its roots in the Transputer, which also relied on fast and narrow point to point external links. When I first read the blurb I guessed from the description that there were 4 cores per chip and the bad ones were disabled to get the yield up, but clearly the yield is much much better than that. However, anybody silly enough to think about overclocking will need to note that the working CPU voltage is hard coded; it looks like, to get the yield at the clock speed, each device has to be individually tuned. Which suggests that the tolerances for reliable functioning are tight. Perhaps the overall error rate is not good enough for a truly general purpose computer which needs to be able to tolerate a range of operating conditions without significant error. Which doesn't suggest a range of motherboards and retail boxed processors any time soon. Just like Apple, in fact. This reminds me of good old ECL based computers (whose CPU voltage had to be adjusted on the fly for reliable operation rather than set up once for all, but I'm sure you take the point).
It's perhaps a pity that the design teams for the Mac Mini and the XBox couldn't be locked up in a development lab with a progressively increasing caffeine level in the coffee until they create the hybrid that would really be the future of home computing. Apple's thermal management and sound level control, IBMs obvious chip development capability, and Microsoft's willingness to spend some of its cash pile would be a formidable combination. The trouble is, you'd probably end up with Apple's's ability to design chips, IBMs willingness to lose money, and Microsoft's thermal management and general aesthetics.
Pining for the fjords