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."
I haven't been doing microelectronics since my university days (over 10 years ago) and the block named "testing/debug" intrigued me quite a bit: exactly what test/debug functions do you put on CPUs nowadays? do they contain burned in test cases? some sort of programmable logic to get access to internal CPU states? I'd definitely be interested in learning more about this.
-- the cake is a lie
What's the deal with the tiny cache? My ten year old HyperSparc has more cache than that... You'd think that when dealing with high throughput graphics applications, a larger cache would make far more of a difference than a few hundred MHz either way.
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.
Unless of course you don't care about any of that stuff. I own both a PS2 and an Xbox, and the Xbox gathers dust simply because the PS2 delivers a lot more quality single-player games than the Xbox does. I had a Live subscription for a while and didn't use it that much. I guess the appeal of having 12 year olds tell me how teh ghey you are is lost on some people.
I ain't evil, I'm just good looking.
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
So the big difference is that the 360 is more like current multicore PC's while the PS3 seems to lean more towards a cluster setup like openmosix.
As to wich is better? Well look at recent PS2 games. They show such graphical improvement that it might be true that PS2 still has untapped capabilties. The X-box on the other hand is pretty much at its limit. This was clear by developers complaining the PS2 was hard to develop for and the x-box was easy. Same with the next generation.
Given that the cores have the same basic design (64bit power) and Sony claims the same or even higher clockspeeds it would be easy to assume that 7+1 core > then 3 cores. I also seen larger cache sizes being claimed and even faster bus speeds. Is it all true? And even if it is will game developers succeed in tapping those resources? And even if they do, will that result in fun games?
Remember that currently the fast majority of games do not take advantage of dual core PC's even hyperthreading is rarely supported worse having it on can sometimes degrade performance. Now imagine having to write your code in such a way that it can be split across 7 processors. OR is that central core in te Cell processor capable of splitting up non- threaded applications? (Just random quesswork). After all it is supposed to be become more then the current PS3 chip it is supposed to be included in the next generation of TV's and other entertainment products.
That would be a huge advancement. The holy grail of grid computing (the cell is supposed to be like that) were you no longer have to worry about the specifics of your enviroment but can just run your code and the system will take care of it.
What I find a far more intresting proposition that with the PS3 supposedly so powerfull yet also so similar to the 360 is that it might just be possible to run 360 games on the PS3.
As for using consoles for number work. Already being done with both systems. They are so cheap yet so powerfull that all you have to do is wait for someone to break them open. Same as PC GPU's are being used for number crunching work. However GPU's is no problem wereas circumventing the PS3 or 360's protections might be in more repressive goverments (such as found in the west).
All off the above is just random speculation based on hilarious press reports. Any resemblance to the facts is unlikely.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.