Xbox One (Durango) Technical hardware investigation

Discussion in 'Console Technology' started by Love_In_Rio, Jan 21, 2013.

Thread Status:
Not open for further replies.
  1. brunogm

    Newcomer

    Joined:
    Apr 26, 2013
    Messages:
    138
    Likes Received:
    22
    So banked access is the core of this simultaneously read/write, them my question is how these memory controllers per 8MB partition (4 total) receive both a read and write address?

    Even the dual ports( one read and the other write), have to receive an address each.
    Banked access per se do not fully explain things, because both DDR3 and GDDR5 can have banked access too.

    http://inst.eecs.berkeley.edu/~cs250/fa10/lectures/lec08.pdf Can anyone explain requests in detail at page 23
     
    #6421 brunogm, Sep 22, 2013
    Last edited by a moderator: Sep 22, 2013
  2. Gubbi

    Veteran

    Joined:
    Feb 8, 2002
    Messages:
    3,661
    Likes Received:
    1,114
    Variations in rendering time are normally fairly low from frame to frame. So you set a deadline for rendering your current frame to 85% of a frame (ie. ~13.5 ms of a 16ms frame). If you finish after the deadline, there is still a good chance you're within the full 16ms frame time, so no harm done.

    To ensure the next frame will finish before the deadline, you scale back resolution by the time you went past your current deadline. Say your rendering took 15ms, you then scale back resolution by the factor 13.5/15. If you only scale horizontally (like Wipeout), you end up with 1728x1080. With XB1's scaler you can scale dynamically in both dimensions and render the next frame in 1820x1024, which will be much harder to notice than dropped frames.

    Cheers
     
  3. Solarus

    Newcomer

    Joined:
    Jan 12, 2009
    Messages:
    156
    Likes Received:
    0
    Location:
    With My Brother
    so gubbi is it something like this?

    wipeout could only scale horizontally.

    1 frame = 1024x1080
    2 frame = 1920x1080

    while xbox one can do

    1 frame = 1820x1024 or any resolution
    2 frame = 1920x1080

    correct?
    i understand that but ms is doing it with fixed fucntion hardware wipeout did it with software. which means more developers are likely to use it since they don't have to implement it themselves. also it frees up resources (im not sue how much but maybe not alot since most of the games that did it are 60fps?).
     
  4. Gubbi

    Veteran

    Joined:
    Feb 8, 2002
    Messages:
    3,661
    Likes Received:
    1,114
    Doubtful. The ROPs can handle 4x16bit pixel formats at full tilt. The ESRAM matches this perfectly with 109GB/s bandwidth. On XB1 writes from the ROPs to the ESRAM are basically free (ie. will almost never stall).

    The only obvious place where more ROPs could be useful is in shadow buffer creation. However, if shadow buffer rendering shifts to PRT based techniques, already demoed by MS, the burden is likely to shift somewhat away from the ROPs.

    Cheers
     
  5. taisui

    Regular

    Joined:
    Aug 29, 2013
    Messages:
    674
    Likes Received:
    0
    It's called the banked multiport design. Essentially there's a read port and a write port at the interface, with an arbitrator in front the banked memory. When both read and write are requested for the same address, the arbitrator decides how the data flow is handled. In this particular application, it could just be that writes always trump reads.

    It's not a new technique, and MSFT did not mislead on the BW calculation. The final design is just 109G/218G theoretical, their benchmark showed typical access pattern maxed out at 150G.
     
  6. taisui

    Regular

    Joined:
    Aug 29, 2013
    Messages:
    674
    Likes Received:
    0
    I'm thinking that you can probably guesstimate it either by the object count, or baked it in when scene complexity offline.
     
  7. Gipsel

    Veteran

    Joined:
    Jan 4, 2010
    Messages:
    1,620
    Likes Received:
    264
    Location:
    Hamburg, Germany
    To add to what was said already, DDR3 and GDDR5 have only a single set of data and address lines which have to handle both read and writes. So while they are organised in banks internally (which helps to reduce/avoid additional latency when switching from one bank to another), there is only a single port from the DRAM to the interface.
     
  8. astrograd

    Regular

    Joined:
    Feb 10, 2013
    Messages:
    418
    Likes Received:
    0
    Additionally, you can adjust framerates for each plane independently as well as color depth.
     
  9. Gipsel

    Veteran

    Joined:
    Jan 4, 2010
    Messages:
    1,620
    Likes Received:
    264
    Location:
    Hamburg, Germany
    You can simply measure the time distance between the frame being completed and the buffer flip. Usually there should be a slight margin (let's say 1 ms). If that falls under a certain threshold, you can preemptively reduce resolution to ensure you keep a margin. Or you could turn to a "softer" version of VSYNC, i.e. one syncs if the rendering is ready, but not, if the rendering completes just slightly too late (causing tearing in the very first lines of the screen which is often not very noticable) and use this as trigger to reduce resolution. As the work for the GPU tends to change relatively slowly from frame to frame, this should work pretty good in most cases.

    Edit: Oops, Gubbi explained it already.
     
  10. bbot

    Regular

    Joined:
    Apr 20, 2002
    Messages:
    750
    Likes Received:
    13
    The MS engineers said that the gpus for xb1 and ps4 are based on Sea Islands. I thought the ps4 gpu was comparable to Pitcairn?
     
  11. Gipsel

    Veteran

    Joined:
    Jan 4, 2010
    Messages:
    1,620
    Likes Received:
    264
    Location:
    Hamburg, Germany
    A "request" is simply a request to the memory controller to carry out a memory access (i.e. to read or write at a certain address). You could also call it the command (but that fits not exactly, imo). Or what was the question?
     
  12. brunogm

    Newcomer

    Joined:
    Apr 26, 2013
    Messages:
    138
    Likes Received:
    22
    Thanks for the info now, this single port is for each channel of RAM? A memory controller can arbitrate between channels right, so for 8GB RAM: X1 has 4-64bit channels and PS4 GDDR5 in clamshell mode has 8-32bit "channels" (not really channels as in this case its point-to-point, assuming 16-4Gbit chips).

    The same technique can be extended to both DDR3 and GDDR5 with limitation on granularity, if the memory controllers are programmable?
     
    #6432 brunogm, Sep 22, 2013
    Last edited by a moderator: Sep 22, 2013
  13. brunogm

    Newcomer

    Joined:
    Apr 26, 2013
    Messages:
    138
    Likes Received:
    22
    Thanks, exactly if the address+command with other customizations like ECC, write masks and such, form this "request".
     
  14. Gipsel

    Veteran

    Joined:
    Jan 4, 2010
    Messages:
    1,620
    Likes Received:
    264
    Location:
    Hamburg, Germany
    Yes, of course. One can write on one channel of the DRAM while reading on another at the same time. And GDDR5 has indeed 32bit channels as the two 16bit devices in clamshell mode share the command and address pins, just the (data) clock and data pins (16 per chip, so together 32) are separate and point to point.
    Yes, it does.
     
  15. ERP

    ERP
    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    3,669
    Likes Received:
    49
    Location:
    Redmond, WA
    Yes usually when you know it's too late, but you assume that subsequent frames will likely have similar execution time, so you add some hysteresis when returning to higher frame rates, and ideally you drop 1 frame instead of a sequence of them.
     
  16. Solarus

    Newcomer

    Joined:
    Jan 12, 2009
    Messages:
    156
    Likes Received:
    0
    Location:
    With My Brother
    is that for like software implementation? would hardware implementation have that same problem? MS said their scaler chip can change it on a frame by frame basis so i assume that it doesn't apply to them?
     
  17. ERP

    ERP
    Veteran

    Joined:
    Feb 11, 2002
    Messages:
    3,669
    Likes Received:
    49
    Location:
    Redmond, WA
    Yes the issue is by the time you know you can't render the whole frame at 1080P, you've already rendered most of it at 1080P.
    But any reasonably intelligent algorithm should only see a dropped frame when there is a significant increase in rendering cost between frames.
     
  18. 3dilettante

    Legend Alpha

    Joined:
    Sep 15, 2003
    Messages:
    8,579
    Likes Received:
    4,799
    Location:
    Well within 3d
    The article still has the theoretical max at 204 GB/s.
    The side bar of the article points to a peak mix of full-rate reads and a bubble on the write pipeline.
    That is the apparent best-case.
     
  19. Rockster

    Regular

    Joined:
    Nov 5, 2003
    Messages:
    973
    Likes Received:
    129
    Location:
    On my rock
    Are XB1 and WiiU operating in similar power envelopes? I expected the XB1 to be more potent than Wii U and closer to PS4 in terms of graphic fidelity at HDTV resolutions. Does anyone happen to have relative TDP of these systems?
     
  20. BRiT

    BRiT (>• •)>⌐■-■ (⌐■-■)
    Moderator Legend Alpha

    Joined:
    Feb 7, 2002
    Messages:
    20,516
    Likes Received:
    24,424
    The XBox One will likely draw 2-3 times the power of the WiiU when gaming (guess-timation based on rumored PSU size).
    The WiiU when at dashboard or playing a game draws 33-35 Watts and has a max-rated PSU of 75 Watts.
     
Loading...
Thread Status:
Not open for further replies.

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...