Memory Subsystem

With the same underlying CPU and GPU architectures, porting games between the two should be much easier than ever before. Making the situation even better is the fact that both systems ship with 8GB of total system memory and Blu-ray disc support. Game developers can look forward to the same amount of storage per disc, and relatively similar amounts of storage in main memory. That’s the good news.

The bad news is the two wildly different approaches to memory subsystems. Sony’s approach with the PS4 SoC was to use a 256-bit wide GDDR5 memory interface running somewhere around a 5.5GHz datarate, delivering peak memory bandwidth of 176GB/s. That’s roughly the amount of memory bandwidth we’ve come to expect from a $300 GPU, and great news for the console.

Xbox One Motherboard, courtesy Wired

Die size dictates memory interface width, so the 256-bit interface remains but Microsoft chose to go for DDR3 memory instead. A look at Wired’s excellent high-res teardown photo of the motherboard reveals Micron DDR3-2133 DRAM on board (16 x 16-bit DDR3 devices to be exact). A little math gives us 68.3GB/s of bandwidth to system memory.

To make up for the gap, Microsoft added embedded SRAM on die (not eDRAM, less area efficient but lower latency and doesn't need refreshing). All information points to 32MB of 6T-SRAM, or roughly 1.6 billion transistors for this memory. It’s not immediately clear whether or not this is a true cache or software managed memory. I’d hope for the former but it’s quite possible that it isn’t. At 32MB the ESRAM is more than enough for frame buffer storage, indicating that Microsoft expects developers to use it to offload requests from the system memory bus. Game console makers (Microsoft included) have often used large high speed memories to get around memory bandwidth limitations, so this is no different. Although 32MB doesn’t sound like much, if it is indeed used as a cache (with the frame buffer kept in main memory) it’s actually enough to have a substantial hit rate in current workloads (although there’s not much room for growth).

Vgleaks has a wealth of info, likely supplied from game developers with direct access to Xbox One specs, that looks to be very accurate at this point. According to their data, there’s roughly 50GB/s of bandwidth in each direction to the SoC’s embedded SRAM (102GB/s total bandwidth). The combination of the two plus the CPU-GPU connection at 30GB/s is how Microsoft arrives at its 200GB/s bandwidth figure, although in reality that’s not how any of this works. If it’s used as a cache, the embedded SRAM should significantly cut down on GPU memory bandwidth requests which will give the GPU much more bandwidth than the 256-bit DDR3-2133 memory interface would otherwise imply. Depending on how the eSRAM is managed, it’s very possible that the Xbox One could have comparable effective memory bandwidth to the PlayStation 4. If the eSRAM isn’t managed as a cache however, this all gets much more complicated.

Microsoft Xbox One vs. Sony PlayStation 4 Memory Subsystem Comparison
  Xbox 360 Xbox One PlayStation 4
Embedded Memory 10MB eDRAM 32MB eSRAM -
Embedded Memory Bandwidth 32GB/s 102GB/s -
System Memory 512MB 1400MHz GDDR3 8GB 2133MHz DDR3 8GB 5500MHz GDDR5
System Memory Bus 128-bits 256-bits 256-bits
System Memory Bandwidth 22.4 GB/s 68.3 GB/s 176.0 GB/s

There are merits to both approaches. Sony has the most present-day-GPU-centric approach to its memory subsystem: give the GPU a wide and fast GDDR5 interface and call it a day. It’s well understood and simple to manage. The downsides? High speed GDDR5 isn’t the most power efficient, and Sony is now married to a more costly memory technology for the life of the PlayStation 4.

Microsoft’s approach leaves some questions about implementation, and is potentially more complex to deal with depending on that implementation. Microsoft specifically called out its 8GB of memory as being “power friendly”, a nod to the lower power operation of DDR3-2133 compared to 5.5GHz GDDR5 used in the PS4. There are also cost benefits. DDR3 is presently cheaper than GDDR5 and that gap should remain over time (although 2133MHz DDR3 is by no means the cheapest available). The 32MB of embedded SRAM is costly, but SRAM scales well with smaller processes. Microsoft probably figures it can significantly cut down the die area of the eSRAM at 20nm and by 14/16nm it shouldn’t be a problem at all.

Even if Microsoft can’t deliver the same effective memory bandwidth as Sony, it also has fewer GPU execution resources - it’s entirely possible that the Xbox One’s memory bandwidth demands will be inherently lower to begin with.

CPU & GPU Hardware Analyzed Power/Thermals, OS, Kinect & TV
Comments Locked

245 Comments

View All Comments

  • sri_tech - Wednesday, May 22, 2013 - link

    Anand,

    I replied to you on twitter that this is 28nm SoC. You asked for "source".

    As usual, good article.
  • ON A PALE HOR5E - Wednesday, December 18, 2013 - link

    Ok, I am going off on a tangent. I understand technology is expanding, and that CPU's have a huge amount of transistors now on a single die. So with our knowledge and manufacturing capabilities, why are we still make motherboards as big as a VCR? Seems to me a lot of space could be save by creating a semiconductor die, for all those capacitor's, resistor's, inductor's, and other semiconductor packages. After all your spending all that money to develop a new system. Why not make it a sportier, Lighter in weight, and tie it with the newest VR gear, and have a gaming anywhere super system?
  • Shadowmaster625 - Wednesday, May 22, 2013 - link

    The embedded RAM + DDR3 paradigm is sort of a gimme to Intel. It probably will not even be that long before intel starts shipping a CPU with embedded RAM and their equivalent of 768 AMD shaders (3x HD5200?). When they do they will be able to snatch up a handful of developers with lots of experience working with that exact setup. It seems like a mistake for AMD to provide such a design knowing it is going to hurt them down the road. This is another "what the hell were they thinking" moments.
  • tipoo - Wednesday, May 22, 2013 - link

    Intel is already going down the embedded memory route, AMD is not "providing" anything to them here that they wouldn't already make.
  • Gigaplex - Wednesday, May 22, 2013 - link

    I think Shadowmaster625 was implying that AMD is giving developers experience working on such a platform ready for Intel to come in and sweep them up. I don't think it's relevant as there's nothing particularly exotic about having a small amount of fast memory when you consider how developers have had to deal with the Cell chip.
  • tipoo - Wednesday, May 22, 2013 - link

    Ah, perhaps I misunderstood. But if it's automatically managed (and Haswell at least certainly is) that's not a consideration.
  • 80's Kidd - Thursday, May 23, 2013 - link

    Embedded memory is nothing new, Intel had it first with the L1 and L2 cache in the early 90's with their Pentium Pro line.
  • Oxford Guy - Wednesday, January 21, 2015 - link

    I think the first microprocessor with embedded memory was the 1975 Fairchild F8 which had 64 bytes of scratchpad. The Motorola 68k line also had internal cache before Intel's x86. The 68040 from 1990 had the same amount of internal cache, 8KiB, as the Pentium Pro. The Pentium Pro, though, had a large on package cache (256KiB to 1 MiB).
  • mfenn - Wednesday, May 22, 2013 - link

    So AMD should give up a guaranteed revenue stream from the two biggest console manufacturers for 10+ years just so they won't (as a side effect) train developers on an obvious architecture? That doesn't make any sense.
  • kyuu - Wednesday, May 22, 2013 - link

    Don't be absurd. One, this is nothing new. The Xbox 360 used embedded eDRAM, and other consoles have before it.

    Two, AMD is going to start embedding eDRAM into its APUs in the near future as well.

Log in

Don't have an account? Sign up now