One of the most interesting questions surrounding the next generation of video game consoles is what sort of GPU designs they might field. This time around, all three manufacturers are rumoured to be using AMD technology.
The appropriately named VGLeaks.com website has a full write-up on what it claims is the next-generation Xbox (codenamed Durango’s) GPU. It’s extremely thorough – if this is a fake, it’s an excellent one – but the one thing the article doesn’t do is detail exactly how the Durango differs from the Graphics Core Next architecture powering AMD’s Radeon HD 7000 family.
The short answer? Not very much. If VGLeaks is correct, Durango’s GPU contains 12 “SC” blocks – the term “SC” is analogous to AMD’s CU (Compute Unit). Each SC/CU contains four SIMDs, each SIMD contains a 16-lane vector unit. That works out to 768 “cores” in AMD parlance, or a bit under 40 per cent as many as you’ll find in a Radeon 7970. Each SIMD contains 256 vector general purpose registers (vGPR) and 512 scalar general purpose registers – just like Tahiti.
Texture mapping units (TMUs) and raster outputs (ROPs) appear to be allocated in a similar manner. Durango is said to be capable of outputting 16 pixels per clock cycle. With the chip clocked at 800MHz, that gives the core a fill rate of 12.8GPixels/second. Durango’s bilinear texture fetch rate is given as 38.4 Gtexels/second when retrieving data from main memory and 153.6GB/second when reading from the 32MB ESRAM cache.
That main memory figure is in line with the fill rate on a Radeon 7770 (pre-GHz Edition).
Where are the differences?
Assuming that this information is accurate, the major difference between Durango and a standard GCN is in the cache structure. Modern Radeons have a 16K L1 cache that’s four-way set associative and a shared L2 cache that’s 16-way associative. Durango reportedly has a 64-way associative L1 cache (still at 16K) and an 8-way associative L2.
Here’s why that’s significant. A CPU/GPU cache has two goals: First, it needs to provide the data the CPU is looking for as quickly as possible. Second, it needs to be accurate. Increasing the set associativity of a cache increases the chance that the processor will find the data it is looking for – but it also increases search time.
The other major difference between GCN and Durango is the amount of L2 cache per SC/CU. The Radeon 7970 has 32 Compute Units and 768K of L2 cache total split into six 128K blocks. Durango has 12 Compute Units and 512K of L2 cache, broken into four 128K blocks. Proportionally, there’s a great deal more L2 cache serving each CU with Durango.
GCN and Durango also have different memory structures. Modern graphics cards have 1-2GB frame buffers – typically high-speed GDDR5. The next-generation Xbox eschews this for 32MB of ESRAM cache and shared bandwidth to main memory. At first glance, this looks similar to the Xbox 360′s arrangement – but the situation here is, I think, rather different.
The 10MB EDRAM buffer inside the Xbox 360 provides the Xenos GPU with a huge amount of bandwidth (256GB/s) but a comparatively small amount of storage. This substantially reduced the amount of GPU traffic that would’ve otherwise been carried over the relatively anaemic system bus.
Here’s where I have to pause and note an eyebrow-raising claim for the next-generation Xbox. According to leaked specs, the console will offer 8GB of RAM and 68GB/s of memory bandwidth. To put that in perspective, Intel’s Sandy Bridge-E processors, with quad-channel memory support, only offer up to 51.2GB/s of bandwidth using DDR3-1600. The only way to hit 68GB/s is to use a quad-channel memory controller and DDR3-2133. Is that technically possible? Absolutely. But given that console manufacturers are reportedly pursuing $399 (£250) and $499 (£315) SKUs for launch, it’s a surprisingly aggressive target.
Having that much system bandwidth to play with would mean Durango wouldn’t be as reliant on a small, high-speed data cache to hit its performance targets, and that likely creates additional flexibility for programmers to play with. The VGLeaks website implies that the benefits of the 32MB ESRAM cache are latency-related rather than bandwidth, and that makes sense given the figures we’ve seen.
The implications and unknowns
It would be easy to read over this information, conclude that the Xbox Durango’s GPU is basically a Radeon 7770, and dismiss its performance as something we’ve already seen.
Easy – and incorrect.
We don’t know what the CPU side of the equation looks like, or to what degree Durango will be able to leverage AMD’s Fusion architecture. It’s not clear if the GPU has direct access to CPU caches (the Xbox 360′s Xeno GPU did) or not. GCN was designed to use 4KB virtual memory pages and 64B cache lines specifically because those are x86 standards. It’s absolutely possible that Durango further unifies these capabilities.
Even if we knew what the hardware configuration was for certain, speculating on performance would be foolish. Console titles are coded much more closely to their underlying hardware than PC equivalents and benefit accordingly. There’s no need to dedicate OS threads to running background processes on a games console – the platform’s entire power can be bent to the specific task at hand.
If these specs are accurate, Durango will pack 5 to 6 times the GFLOP processing power of the Xbox 360 and have access to 4GB of dedicated system RAM compared to 512MB in its predecessor. It’s easily powerful enough to drive the next generation of gaming and to spur widespread DX11 adoption across the industry.
Will it be as powerful as the PS4? That’s impossible to know. If this past generation proved anything, it demonstrated that developers were able to keep both the Xbox 360 and PS3 at rough parity, with particular games favouring one platform over the other – but other limitations creating bottlenecks of their own.
For more on the upcoming Xbox, check out: Could IllumiRoom be a key feature of the Xbox 720?
Image Credits: VGLeaks, Beyond3D