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
POST A COMMENT

245 Comments

View All Comments

  • tipoo - Wednesday, May 22, 2013 - link

    If it's a basic Jaguar in there, what do you think Microsoft meant by saying it can do 6 operations per core per clock? Jaguar would be 4. Unless they meant load and store as the two extra. Reply
  • mczak - Wednesday, May 22, 2013 - link

    Yes exactly, load/store count separately. 2 Int + 2 FP + 2 LS making it 6.
    The more important number is probably dispatch/retire/decode width anyway (which is 2 for all of these).
    Reply
  • nathanddrews - Wednesday, May 22, 2013 - link

    It will be interesting to see how long it takes before XO (or PS4, for that matter) software is running on regular PCs. Reply
  • JPForums - Wednesday, May 22, 2013 - link

    @Anand: "We already have the Windows kernel running on phones, tablets, PCs and the Xbox, now we just need the Xbox OS across all platforms as well."

    Agreed, this would be a nice selling point for a future Surface Pro device. It would be a relatively cheap way to bring the added value necessary to justify the higher cost in the eyes of the mass market.
    Reply
  • Arsynic - Wednesday, May 22, 2013 - link

    So the Surface would have to run a hypervisor which would require like 8+ GB of memory if the user wanted a traditional Windows experience along with Xbox games. Reply
  • Spunjji - Wednesday, May 22, 2013 - link

    2 options there:
    1) Dump memory to flash if you *really* feel the need to run both simultaneously at full-tilt (daft)
    2) 16GB RAM, which will cost a whole lot of not much by the time this idea becomes feasible.
    Reply
  • lmcd - Wednesday, May 22, 2013 - link

    Already doesn't cost that much anyway, especially off-die like Surface Pro. Reply
  • RollingCamel - Wednesday, May 22, 2013 - link

    I think that MS is deliberately holding the performance down so tablets and smartphones can quickly catch up and be added to the ecosystem. Reply
  • tipoo - Wednesday, May 22, 2013 - link

    I think it's more so that they can bundle Kinect at a competitive cost. Reply
  • Spunjji - Wednesday, May 22, 2013 - link

    Bit of both, plus being burned by high-spec high-heat parts last gen? Reply

Log in

Don't have an account? Sign up now