Inside the Xenos GPU

As previously mentioned, the 48 shaders will be able to run either vertex or pixel shader programs in any given clock cycle. To clarify, each block of 16 shader units is able to run a shader program thread. These shader units will function on a slightly higher than DX9.0c, but in order to take advantage of the technology, ATI and Microsoft will have to customize the API.

In order to get data into the shader units, textures are read from main memory. The eDRAM of the system is unable to assist with texturing. There are 16 bilinear filtered texture samplers. These units are able to read up to 16 textures per clock cycle. The scheduler will need to take great care to organize threads so that optimal use of the texture units are made. Another consideration to take into account is anisotropic filtering. In order to perform filtering at beyond bilinear levels, the texture will need to be run through the texture unit more than once (until the filtering is finished). If no filtering is required (i.e. if a shader program is simple reading stored data), the vetex fetch units can be used (either with a vertex or a pixel shader program).

In the PC space, we are seeing shifts to more and more complex pixel shaders. Large and larger textures are being used in order to supply data, and some predict that texture processing will eclipse color and z bandwidth in the not so distant future. We will have to see if the console and desktop space continue to diverge in this area.

One of the key aspects of performance for the Xbox 360 will be in how well ATI manages threads on their GPU. With the shift to the unified shader architecture, it is even more imperative to make sure that everything is running at maximum efficiency. We don't have many details on ATI's ability to context switch between vertex and pixel shader programs on hardware, but suffice it to say that ATI cannot afford to have any difficulties in managing threads on any level. As making good use of current pixel shader technology requires swapping out threads on shaders, we expect that this will go fairly well in this department. Thread management is likely one of the most difficult things ATI had to work out to make this hardware feasible.

Those who paid close attention to the amount of eDRAM (10MB) will note that this is not enough memory to store the entire framebuffer for displays larger than standard television with 4xAA enabled. Apparently, ATI will store the front buffer in the UMA area, while the back buffer resides on the eDRAM. In order to manage large displays, the hardware will need to render the back buffer in parts. This indicates that they have implemented some sort of very large grained tiling system (with 2 to 4 tiles). Usually tile based renderes have many more tiles than this, but this is a special case.

Performance of this hardware is a very difficult aspect to assess without testing the system. The potential is there for some nice gains over the current high end desktop part, but it is very difficult to know how easily software engineers will be able to functionally use the hardware before they fully understand it and have programmed for it for a while. Certainly, the learning curve won't be as steep as something like the PlayStation 2 was (DirectX is still the API), but knowing what works and what doesn't will take some time.

ATI's Modeling Engine

The adaptability of their hardware is something ATI is touting as well. Their Modeling Engine is really a name for a usage model ATI provides using their unified shaders. As each shader unit is more general purpose than current vertex and pixel shaders, ATI has built the hardware to easily allow the execution of general floating point math.

ATI's Modeling Engine concept is made practical through their vertex cache implementation. Data for general purpose floating point computations moves into the vertex cache in high volumes for processing. The implication here is that the vertex cache has enough storage space and bandwidth to accommodate all 48 shader units without starvation for an extended period of use. If the vertex cache were to be used solely for vertex data, it could be much less forgiving and still offer the same performance (considering common vertex processing loads in current and near term games). As we stated previously, pixel processing (for now) is going to be more resource intensive than vertex processing. Making it possible to fill up the shader units with data from the vertex cache (as opposed to the output of vertex shaders), and the capability of the hardware to dump shader output to main memory is what makes ATI's Modeling Engine possible.

But just pasting a name on general purpose floating point math execution doesn't make it useful. Programmers will have to take advantage of it, and ATI has offered a few ideas on different applications for which the Modeling Engine is suited. Global illumination is an intriguing suggestion, as is tone mapping. ATI also indicates that higher order surfaces could be operated on before tessellation, giving programmers the ability to more fluidly manipulate complex objects. It has even been suggested that physics processing could be done on this part. Of course, we can expect that Xbox 360 programmers will not implement physics engines on the Modeling Engine, but it could be interesting in future parts from ATI.

The Xbox 360 GPU: ATI's Xenos PlayStation 3’s GPU: The NVIDIA RSX
Comments Locked

93 Comments

View All Comments

  • Doormat - Friday, June 24, 2005 - link

    @#22: Yes 1080P is an OFFICIAL ATSC spec. There are 18 different video formats in the ATSC specification. 1080/60P is one of them.

    FWIW, Even the first 1080P TVs coming out this year will *NOT* support 1080P in over HDMI. Why? I dunno. The TVs will upscale everything to 1080P (from 1080i, 720p, etc), but they cant accept input as 1080P. Some TVs will be able to do it over VGA (the Samsung HLR-xx68/78/88s will), but still thats not the highest quality input.
  • Pastuch - Friday, June 24, 2005 - link

    RE: 1080P
    "We do think it was a mistake for Microsoft not to support 1080p, even if only supported by a handful of games/developers."

    I couldnt disagree more. At the current rate of HDTV adoption we'll be lucky if half of the Xbox 360 users have 1280x720 displays by 2010. Think about how long it took for us to get passed 480i. Average Joe doesnt like to buy new TVs very often. Unless 1080P HDTVs drop to $400 or less no one will buy them for a console. We the eger geeks of Anandtech will obviously have 42 widescreen 1080P displays but we are far from the Average Joe.

    RE: Adult Gamers

    Anyone who thinks games are for kids needs a wakeup call. The largest player base of gamers is around 25 years old right now. By 2010 we will be daddys looking for our next source of interactive porn. I see mature sexually oriented gaming taking off around that time. I honestly believe that videogames will have the popularity of television in the next 20 years. I know a ton of people that dont have cable TV but they do have cable internet, a PC, xbox, PS2 and about a million games for each device.
  • Pannenkoek - Friday, June 24, 2005 - link

    #19 fitten: That's the whole point, people pretend that even rotten fruit laying on the ground is "hard" to pick up. It's not simply about restructuring algorithms to accomodate massive parallelism, but also how it will take ages and how no current game could be patched to run multithreaded on a mere dual core system.

    Taking advantage of parallism is a hot topic in computer science as far as I can tell and there are undoubtedly many interesting challanges involved. But that's no excuse for not being able to simply multithread a simple application.

    And before people cry that game engines are comparable to rocket science (pointing to John Carmack's endeavours) and are the bleeding edge technology in software, I'll say that's simply not the reality, and even less an excuse to not be able to take advantage of parallelism.

    Indeed, game developers are not making that excuse and will come with multithreaded games once we have enough dual core processors and when their new games stop being videocard limited. Only Anandtech thinks that multithreading is a serious technical hurdle.

    This and those bloody obnoxious "sponsored links" all through the text of articles are the only serious objections I have towards Anandtech.
  • jotch - Friday, June 24, 2005 - link

    #26 - yeah i know that happens all over but I was just commenting on the fact that the console's market is mainly teens and adults not mainly kids.
  • expletive - Friday, June 24, 2005 - link

    "If you’re wondering whether or not there is a tangible image quality difference between 1080p and 720p, think about it this way - 1920 x 1080 looks better on a monitor than 1280 x 720, now imagine that blown up to a 36 - 60” HDTV - the difference will be noticeable. "

    This statement should be further qualified. There is only a tangible benefit to 1080p if the display device is native 1080p resolution. Otherwise, the display itself will scale the image down to its native resolution (i.e. 720p for most DLP televisions). If youre display is native 720p then youre better off outputting 720p becuase all that extra processing is being wasted.

    There are only a handful of TVs that support native 1080p right now and they are all over $5k.

    These points are really important when discussing the real-world applications of 1080p for a game console. The people using this type of device (a $300 game console) are very different then those that go out and buy 7800GTX cards the first week they are released. Based on my reading in the home theater space, less than 10% of the people that own a PS3 will be able to display 1080p natively during its lifecycle (5 years).

    Also, can someone explain how the Xenos unified shaders was distelled from 48 down to 24 in this article? That didnt quite make sense to me...

    John
  • nserra - Friday, June 24, 2005 - link

    I was on the supermarket, and there was a kid (12year old girl) buying the game that you mention with the daddy that know sh*t about games, and about looking for the 18 year old logo.

    Maybe if they put a pen*s on the box instead of the carton girl, some dads will then know the difference between a game for 8 year old and an 18.

    #21 I don’t know about your country, but this is what happen in mine and not only with games.
  • knitecrow - Friday, June 24, 2005 - link

    would you be able to tell the difference at Standard resolution?

    instead of drawing more pixels on the screen, the revolution can use that processing power and/or die space for other functions... e.g. shaders

    If the revolution opts to pick an out-of-order processor, something like PPC970FX, i don't see why i can't be competitive.


    But seriously, all speculation aside, the small form factor limits the ammount of heat components can put out, and the processing power of the system.
  • perseus3d - Friday, June 24, 2005 - link

    --"Sony appears to have the most forward-looking set of outputs on the PlayStation 3, featuring two HDMI video outputs. There is no explicit support for DVI, but creating a HDMI-to-DVI adapter isn’t too hard to do. Microsoft has unfortunately only committed to offering component or VGA outputs for HD resolutions."--

    Does that mean, as it stands now, the PS3 will require an adapter to be played on an LCD Monitor, and the X360 won't be able to be used with an LCD Monitor with DVI?
  • Dukemaster - Friday, June 24, 2005 - link

    At least we know Nintendo's Revolution is the lozer when it comes to pure power.
  • freebst - Friday, June 24, 2005 - link

    I just wanted to remind everyone that 1080P at 60 Frames isn't even an approved ATSC Signal. 1080P at 30 and 24 frames is, but not 60. 1280x720 can run at 60, 30, and 24 that is unless you are running at 50 or 25 frames/sec in Europe.

Log in

Don't have an account? Sign up now