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

  • tipoo - Wednesday, May 22, 2013 - link

    That's one of the more interesting analogies for cache I've heard, lol. I've always used tomatoes in a store vs tomatoes in your kitchen.
  • BSMonitor - Wednesday, May 22, 2013 - link

    Sunday night season finale'.. Stewie rules!
  • MrPete123 - Wednesday, May 22, 2013 - link

    Curious about the "3 operating system" approach. You have Windows, XBox OS.....and Windows? Is the custom version of Hyper-V also running on Windows?
  • Spunjji - Wednesday, May 22, 2013 - link

    I think they're counting the hypervisor as an OS for explanatory purposes.
  • jeffkibuule - Wednesday, May 22, 2013 - link

    1) XBOX OS - plays games
    2) App OS - runs apps
    3) Hypervisor OS - based on Windows NT kernel, manages resources split between the two.

    Why 3? Why not just one? Likely because splitting them up improves portability of code from the XBOX ONE and Windows proper (Windows 8 and it's future versions).
  • MrPete123 - Wednesday, May 22, 2013 - link

    How do you know this?
  • takeship - Wednesday, May 22, 2013 - link

    The reason is, AFAIK, is that there are fundamental design issues with x86 that would allow third-parties, if given access to a direct OS - bare metal switch, the ability to hack the console in trivial amounts of time. XMBC, and the hacking that enabled it, is the primary reason why Microsoft went to PowerPC for the 360, so it only makes sense that coming back to x86 for the one, they need a "supervisor" of some sorts that prevents exploits on the bare-metal x86 side from being carried back over to the "full-fat" OS side.
  • Kevin G - Wednesday, May 22, 2013 - link

    The PPC in the Xbox 360 supports virtualization. This isn't a reason to ditch PPC in favor of x86.

    The big reason is due to AMD's HSA support with their GPU's.
  • Jaybus - Wednesday, May 22, 2013 - link

    No. Both Windows and XBox OS run on Hyper-V. Hyper-V is the only OS (known as a hypervisor) running on the bare metal.
  • BSMonitor - Wednesday, May 22, 2013 - link

    @Anand ~ In regard to x86 and backward game compatibility... All XBox Live game content currently available would be incompatible with Xbox One?? Am mainly talking the downloadable stuff, i.e. Castle Crashers or TMNT Arcade game??

Log in

Don't have an account? Sign up now