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."
Actually, no.
A big cache is good when you are dealing with programs that could access ANY data at ANY time (or you're running multiple programs). With games, that doesn't really happen. Game code is sort of "linear", and you're only running one at a time.. So the cache can be filled with what needs to be there, and nothing else.
Much like Duffman, Sony promises lots of things. There were a lot of features that were supposed to be available on the PS2 that just never ended up in the final system. Not wanting a 360 because it's not that much an improvement over the current XBox is good reasoning. Not wanting a 360 because you just bought a new console a couple of years ago is good reasoning. Not wanting a 360 because of all the things Sony claims will be on the PS3 is just silly. We don't know the "Top 10 reasons for a PS3" because we don't know exactly what the PS3 is yet.
Also, while the Revolution's controller does pose some unique possibilities for gameplay, it's only a controller. Any of the modern gaming consoles could implement such a controller. If it's that big a deal, expect MS and Sony to have their own versions by the end of 2006.
How is it a miracle when this is exactly what's been happening with consoles for many years?
NES looked better than nearly any computer of its day. Ditto Genesis and SNES. Playstation and N64 packed an incredible amount of power into a cheap bundle. Remember the hype about PS2's Emotion Engine? There were rumors that exporting it would be restricted because it was going to be classified as a super computer. People were saying Iraq was going to use it to guide missiles. Xbox literally was a cheap PC, but gave more bang for the buck than your average beige box.
Consoles do this by taking the right shortcuts. They have a very focused performance target for very specific tasks. No need to add anything more than the minimum. Plus, they sell more than nearly any OEM PC maker so they get good prices on the parts.
The global economy is a great thing until you feel it locally.
Anyone who thinks it crashes regularly or that more than 1% of units are overheating is simply a moron. A lot of people here seem to have a fixated fantasy that they are so desperate to believe that they ignore the facts. The fantasy basically consists of that MS has rolled out an overheating worthless machine that when not overheating 95% of the time is crashing. Get real, I'd imagine the failure rates for units are about the same for any piece of consumer electronics.
You forgot the most interesting option...
- The Nintendo Revolution
I don't want to sound like too much of a fanboy, but what can these consoles really give me that my PC can't? I'd rather have a console thats sole focus isn't trying to outpace my PC in terms of graphics... but to push the limits with new controllers, unique games and not costing me my 1st born child or my left arm to acquire.
Who wouldn't? Wouldn't you like a 100mb cache? Hell, wouldn't you like all of main ram to actually be as fast as an L2 cache?
This is a game console, not a multi-tasking general purpose PC. This is reflected in both the power a programer has over the hardware, and it is reflected in the fact it depends on the programmer to make up for cost saving measures implemented in the hardware.
You're thinking about thread scheduling the way a general purpose PC would schedule threads. It doesn't work that way in a game system. When talking about threads on a game console, we're talking about hardware threads. The programmer decides what core runs what logic, when it runs that logic; there aren't any context switches, and threads don't "change" cores when running.
The cache design on this chip is actually quite cool. If you're only going to use a piece of data once (or infrequently), you can instruct the processor to not store the data in the L2 cache (leaving data that you're using more freqently in the cache). Additionally, the L1 and L2 cache can hold separate data, and a load into the L1 cache doesn't require a storing that data into the L2 cache. When writing data out to main memory, a program can instruct the processor not to store it in the cache. Software can also reserve chunks of cache for whatever purpose it wants. Finally, a direct link between the CPU and the GPU can be established where the GPU reads data directly off of the L2 cache as the CPU generates it.
These abilitys make it possible to utilize L2 cache better than you would with any general purpose PC. However, it requires more thinking and more effort to do so. That's the price/performance tradeoff you get.