Xbox One SoC rivals AMD's Tahiti for size, complexity

Microsoft revealed some details of the Xbox One's custom SoC earlier this week at the Hot Chips conference, and I've been a little negligent in writing it up—in part because I didn't attend Hot Chips this year. Anyhow, Charlie at SemiAccurate has posted some pictures of key slides from the presentation; they offer better information than some of the other reports I've seen simply because they're unfiltered.

We've known the outlines of the Xbox One's AMD-designed SoC for a while now, including its eight Jaguar CPU cores and GCN-class integrated graphics. One of the primary revelations to come out of Hot Chips is the SoC's sheer size: the thing is 363 mm² and is comprised of roughly 5 billion transistors; it's produced at TSMC on a 28-nm HPM process.

To give you a sense of scope, the Tahiti GPU that powers the Radeon HD 7970 is also produced on a 28-nm process at TSMC, and Tahiti packs 4.3 billion transistors into 365 mm²—so the two chips are quite comparable in size.

I've seen speculation that this SoC might be among the largest chips ever produced, but that's a bit off the mark. Nvidia's GK110 GPU, also made on TSMC's 28-nm process, has 7.1 billion transistors and is 551 mm². The Xbox One's engine is a pretty hefty chunk of silicon, but it's not going to set any records.

What makes the Xbox One SoC somewhat unique is not just its size, but also how AMD and Microsoft decided to spend its transistor budget. The presentation says the SoC contains 47MB of internal storage. Presumably, that number encompasses all storage across the chip's various cache levels and other SRAMs, including the 32MB of embedded SRAM that's right there on the die. Memory cells tend to be denser than logic, which is probably why this SoC crams ~700 million more transistors into the same space as Tahiti.

This chip's use of DDR3 system memory presents an intriguing contrast to the otherwise-similar SoC in the PlayStation 4. Sony chose to employ much higher bandwidth GDDR5 memory, instead. The Xbox One's architects sought to overcome this bandwidth disparity by putting quite a bit of fast eSRAM memory on the SoC die. This decision hearkens back to the Xbox 360's use of an external 10MB eDRAM chip, but it also participates in an emerging trend in high-performance SoC architectures.

For instance, Intel incorporated 128MB of eDRAM onto the Haswell GT3e package to serve as an L4 cache, primarily for graphics, in order to overcome the bandwidth limitations of the CPU socket. The result is quite credible performance from an integrated graphics solution—and it comes in the context of a relatively modest 47W power budget, in part because local cache accesses have lower power costs than going out to main memory. The GT3e also happens to be a virtuoso in bandwidth-bound CPU workloads like computational fluid dynamics thanks to that massive L4 cache.

The benefits of such configurations are not lost on the architects of various upcoming x86 SoCs, if the rumors we've all been hearing are true. It's quite possible we'll see on-die or on-package caches rising into the hundreds of megabytes or even into the gigabytes over the next several years. If and when that happens, many of today's thorny, compute-intensive workloads could begin to look very much like solved problems.

With that said, we don't yet know whether the Xbox One's eSRAM will provide enough oomph for Microsoft's new console to keep pace with the PS4. The slides appear to indicate that the Xbox One's eSRAM is arranged in four segments of 8MB each, with four 256-bit read/write data paths. Peak bandwidth is indicated to be 204 GB/s, with minimum bandwidth of 109 GB/s. Right now, we have to presume the PS4's GDDR5 main memory, with 176 GB/s of throughput at 5.5 GT/s, will give it some advantage over the Xbox One. However, the eSRAM in the One's SoC could confer some nice benefits itself in the form of lower access latencies—important for CPU-bound tasks—and increased power efficiency. In the end, this contest might prove to be much closer than folks first thought.

Tip: You can use the A/Z keys to walk threads.
View options

This discussion is now closed.