The Xbox 360 GPU: ATI's Xenos

On a purely hardware level, ATI's Xbox 360 GPU (codenamed Xenos) is quite interesting. The part itself is made up of two physically distinct silicon ICs. One IC is the GPU itself, which houses all the shader hardware and most of the processing power. The second IC (which ATI refers to as the "daughter die") is a 10MB block of embedded DRAM (eDRAM) combined with the hardware necessary for z and stencil operations, color and alpha processing, and anti aliasing. This daughter die is connected to the GPU proper via a 32GB/sec interconnect. Data sent over this bus will be compressed, so usable bandwidth will be higher than 32GB/sec. In side the daughter die, between the processing hardware and the eDRAM itself, bandwidth is 256GB/sec.

At this point in time, much of the bandwidth generated by graphics hardware is required to handle color and z data moving to the framebuffer. ATI hopes to eliminate this as a bottleneck by moving this processing and the back framebuffer off the main memory bus. The bus to main memory is 512MB of 128-bit 700MHz GDDR3 (which results in just over 22GB/sec of bandwidth). This is less bandwidth than current desktop graphics cards have available, but by offloading work and bandwidth for color and z to the daughter die, ATI saves themselves a good deal of bandwidth. The 22GB/sec is left for textures and the rest of the system (the Xbox implements a single pool of unified memory).

The GPU essentially acts as the Northbridge for the system, and sits in the middle of everything. From the graphics hardware, there is 10.8GB/sec of bandwidth up and down to the CPU itself. The rest of the system is hooked in with 500MB/sec of bandwidth up and down. The high bandwidth to the CPU is quite useful as the GPU is able to directly read from the L2 cache. In the console world, the CPU and GPU are quite tightly linked and the Xbox 360 stands to continue that tradition.

Weighing in at 332M transistors, the Xbox 360 GPU is quite a powerful part, but its architecture differs from that of current desktop graphics hardware. For years, vertex and pixel shader hardware have been implemented separately, but ATI has sought to combine their functionality in a unified shader architecture.

What's A Unified Shader Architecture?

The GPU in the Xbox 360 uses a different architecture than we are used to seeing. To be sure, vertex and pixel shader programs will run on the part, but not on separate segments of the hardware. Vertex and pixel processing differ in purpose, but there is quite a bit of overlap in the type of hardware needed to do both. The unified shader architecture that ATI chose to use in their Xbox 360 GPU allows them to pack more functionality onto fewer transistors as less hardware needs to be duplicated for use in different parts of the chip and will run both vertex and shader programs on the same hardware.

There are 3 parallel groups of 16 shader units each. Each of the three groups can either operate on vertex or pixel data. Each shader unit is able to perform one 4 wide vector operation and 1 scalar operation per clock cycle. Current ATI hardware is able to perform two 3 wide vector and two scalar operations per cycle in the pixel pipe alone. The vertex pipeline of R420 is 6 wide and can do one vector 4 and one scalar op per cycle. If we look at straight up processing power, this gives R420 the ability to crunch 158 components (30 of which are 32bit and 128 are limited to 24bit precision). The Xbox GPU is able to crunch 240 32bit components in its shader units per clock cycle. Where this is a 51% increase in the number of ops that can be done per cycle (as well as a general increase in precision), we can't expect these 48 piplines to act like 3 sets of R420 pipelines. All things being equal, this increase (when only looking at ops/cycle) would be only as powerful as a 24 piped R420.

What will make or break the difference between something like a 24 piped R420 and the unified shaders of the Xbox GPU is how well applications will lend themselves to the adaptive nature of the hardware. Current configurations don't have nearly the same vertex processing power as they do pixel processing power. This is quite logical when we consider the fact that games have many more pixels displayed than vertices. For each geometry primitive, there are likely a good number of pixels involved. Of course, not all titles will need the same ratio of geometry to pixel power. This means that all the ops per clock could either be dedicated to geometry processing in truly polygon intense scenes. On the flip side (and more likely), any given clock cycle could see all 240 ops being used for pixel processing. If game designers realize this and code their shaders accordingly, we could see much more focused processing power dedicated to a single type of problem than on current hardware.

ATI is predicting that developers will use lots of very small triangles in Xbox 360 games. As engines like Epic's Unreal Engine 3 have shown incredible results using pixel shaders and normal maps to augment low geometric detail, we can't tell if ATI is trying to provide the chicken or the egg. In other words, will we see many small triangles on Xbox 360 because console developers are moving in that direction or because that is what will run well on ATI's hardware?

Regardless of the paths that lead to this road, it is obvious that the Xbox 360 will be a geometry power house. Not only are all 3 blocks of 16 shaders able to become vertex shaders, but ATI's GPU will be able to handle twice as many z operations if a z only pass is performed. The same is true of current ATI and NVIDIA hardware, but the fact that a geometry only pass can now make use of shader hardware to perform 48 vector and 48 scalar operations in any given clock cycle while doing twice the z operations is quite intriguing. This could allow some very geometrically complicated scenes.

How Many Threads? Inside the Xenos GPU
POST A COMMENT

93 Comments

View All Comments

  • MDme - Friday, June 24, 2005 - link

    now i know what to buy :) Reply
  • SuperStrokey - Friday, June 24, 2005 - link

    lol, thats funny Reply
  • bldckstark - Friday, June 24, 2005 - link

    Having a PS2 and an XBOX I was not even thinking about buying a PS3 since the XBOX kicks the PS2's ace. (IMHO). After reading this article I have much more respect for the PS3 and now I don't have any idea which onw I will buy. My wife may force me to buy the PS3 if the 360 isn't as backward compatible as most want it to be.

    Maybe I will just use my unusually large brain to create a PS360 that will play everything. Oooh, wait, I gotta get a big brain first. Then a big p3nis. Or maybe just a normal one.
    Reply
  • Furen - Friday, June 24, 2005 - link

    #37: supposedly yes. Since it will have to be through hardcore emulation there will be issues (but of course). It wont be fully transparent like the ps2 but rather you'll have profiles saved on your harddrive which will tell the system how to run the games. Reply
  • SuperStrokey - Friday, June 24, 2005 - link

    I havnt been following the 360 too much (im a self admitted nintendo fanboy), but will it be backward compatible too? I heard it was still up in the air but as PS3 is going to be and revolution is going to be (bigtime) i would assume that 360 will be too right? Reply
  • ZobarStyl - Friday, June 24, 2005 - link

    #32 is right: how many games get released for all 3 console with only minor, subtle differences between them? Most of the time, first party stuff is the only major difference between consoles. Very few 3rd party games are held back from the 'slower' consoles; most are just licensing deals (GTA:SA on PS2, for example). And if you look back, of the first party games lineup, XBox didn't have the most compelling of libraries, in my opinion. Reply
  • yacoub - Friday, June 24, 2005 - link

    imo, the revolution will be a loser in more than just hardware. i can't remember the last time i actually wanted to play any of the exclusive nintendo games. actually, i think for about one day i considered a gamecube for metroid but then i saw it in action at a friend's place and was underwhelmed by the gameplay. forget mario and link, give me splinter cell or gran tourismo or forza or... yeah you get the idea. Reply
  • nserra - Friday, June 24, 2005 - link

    #27

    If you read the article carefully, you will see that since they are "weaker" pipelines, the 48 will perform like 24 "complete" ones.

    I think with this Ati new design, there will be games where the performance will be much better, equal or worst.
    But that’s the price to pay for complete new designs.

    On paper Ati design is much more advance, in fact reminds the VOODOO2 design where there are more than one chip doing things. I think I prefer some very fancy graphics design over a double all easy solution.
    Reply
  • Taracta - Friday, June 24, 2005 - link

    With 25.5 Gbs of bandwith to memory, is OoO (Out Of Order processing) necessary? Isn't OoO and its ilk bandwith hiding solutions? I have an issue with regards to Anandtech outlook on the SPPs of the CELL processor (I could be wrong). I consider the SPPs to be full fledge Vector Processors and not just fancy implementation of MMX, SSE, Altivec etc, which seems to be Anandtech's outlook. As full fledge Vector Processors they are orders of magnitude more flexible than that and as Vector Processors comparing them to Scalar Processors is erroneous.

    Another thing, RISC won the war! Don't believe, what do you call a processor with a RISC core with a CISC hardware translator around it? CISC? I think not, it's a RISC processor. x86 did win the procesor war but not by beating them but joining them and by extension CISC loss. Just needed to clear that up. The x86 instruction set won but the old x86 CISC architecture loss. The x86 insrtuction set will always win, fortunately for AMD because the Itanium was to have been their death. No way could they have copied the Itanium in this day and age which come to think of it is very unfortunate.

    From you have the processor the runs x86 the best you will always win. Unless you can get a toehold in the market with something else such as LINUX and CELL!
    Reply
  • CuriousMike - Friday, June 24, 2005 - link

    If it's a 3rd party game, it won't matter (greatly) which platform you pick, because developers will develop to the least-common-denominator.

    In the current generation, about the best one could hope for is slightly higher-res textures and better framerate on XBOX over ps2/gc.

    IMO, pick your platform based on first-party games/series you're looking forward to. Simple as that.

    Reply

Log in

Don't have an account? Sign up now