1. Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

GPU Memory Mapping

Discussion in 'AMD / ATI' started by Benetanegia, Dec 8, 2011.

  1. Benetanegia

    Benetanegia New Member

    Joined:
    Sep 11, 2009
    Messages:
    2,683 (1.52/day)
    Thanks Received:
    694
    Location:
    Reaching your left retina.
    [AMD, in context of Tahiti] should have really used a different name other than IOMMU to explain what they were doing, because GART is an IOMMU.

    I've been confused about that ever since it was mentioned, because it said they would finaly abandon GART and use IOMMU, which is very confusing and extrictly false. (since they were already using IOMMU)
    Last edited by a moderator: Dec 8, 2011
  2. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    13,743 (4.56/day)
    Thanks Received:
    6,767
    Location:
    Edmonton, Alberta
    GART doesn't have the address translation abilities that an IOMMU does.

    http://developer.amd.com/documentation/articles/pages/892006101.aspx
    Jegergrim says thanks.
  3. Jegergrim

    Jegergrim New Member

    Joined:
    Aug 11, 2011
    Messages:
    393 (0.37/day)
    Thanks Received:
    36
    Location:
    Denmark
    Could someone please enlighten me on IOMMU, I have no idea what it is, and what capeabilities it has...
    Is it just a means to increase memory bandwidth another 128 bit?
  4. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    13,743 (4.56/day)
    Thanks Received:
    6,767
    Location:
    Edmonton, Alberta
    An IOMMU is like a memory controller, and can access sytem ram directly(rather than via the GART space, that has limitations), without interfering with the other controllers that access the same address space.

    It's currently unknown how deep the bus will be, or what bus will be used.
    HTC and Jegergrim say thanks.
  5. Static~Charge

    Static~Charge

    Joined:
    Nov 2, 2008
    Messages:
    471 (0.23/day)
    Thanks Received:
    85
    In computing, an input/output memory management unit (IOMMU) is a memory management unit (MMU) that connects a DMA-capable I/O bus to the main memory. Like a traditional MMU, which translates CPU-visible virtual addresses to physical addresses, the IOMMU takes care of mapping device-visible virtual addresses (also called device addresses or I/O addresses in this context) to physical addresses. Some units also provide memory protection from misbehaving devices.​

    For more details, see http://en.wikipedia.org/wiki/IOMMU
    HTC and Jegergrim say thanks.
  6. Benetanegia

    Benetanegia New Member

    Joined:
    Sep 11, 2009
    Messages:
    2,683 (1.52/day)
    Thanks Received:
    694
    Location:
    Reaching your left retina.
    I know the difference between AMD's new IOMMU(TM) and GART, but GART is an IOMMU (general term) nonetheless.

    GART does not have ALL the translation abilities that the new IOMMU has, but it certainly has translation abilities and it is without a doubt an I/O memory management unit.

    Like I said it's unnecesarily confusing, when they could have called it with a different name IMO.

    EDIT: HA! Even the wiki article uses GART as the de facto example for an IOMMU.
  7. Solaris17

    Solaris17 Creator Solaris Utility DVD

    Joined:
    Aug 16, 2005
    Messages:
    17,063 (5.25/day)
    Thanks Received:
    3,501
    Location:
    Florida
    I remember when it was all sorts of cool to adjust GART in the bios for AGP cards. Any one else remember that?
  8. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    13,743 (4.56/day)
    Thanks Received:
    6,767
    Location:
    Edmonton, Alberta
    Yeah, I get what you mean, but to me personally, IOMMU is much more capable than the seemingly restricted GART space, so it's easy for me to diferentiate between the two. The GART space and it's abilities are quite obvious, but IOMMU usage and abilities varies between who designed it. Both AMd and Intel have their own IOMMU specifications, while GART is very similar no matter the platform.

    GART is an IOMMU, but all IOMMUs are NOT GART. NO confusion for me!
  9. Benetanegia

    Benetanegia New Member

    Joined:
    Sep 11, 2009
    Messages:
    2,683 (1.52/day)
    Thanks Received:
    694
    Location:
    Reaching your left retina.
    NO, really. That's the confusing part. An IOMMU can be either more capable than GART or less capable/more restricted than GART, depending on the implementation. IOMMU is not inherently more capable than GART, and saying this sounds already stupid because GART is IOMMU.

    You just can't say that, just like you can't say that vehicles are more capable than cars. A bicycle is a vehicle and is not more capable than a car. So then please, don't call your newly invented vehicle (wheter it is a car, a truck, a motorcycle or a completely new thing), Vehicle.
  10. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    13,743 (4.56/day)
    Thanks Received:
    6,767
    Location:
    Edmonton, Alberta
    Ok, but GART is GRAPHICS ADDRESS RELOCATION TABLE.

    It has been modified to work with other devices, but inherently, is for graphics use.

    IOMMU is not graphics-specific, nor does it need modification for general I/O(and hence IOMMU).

    I understand your confusion, but it's not really all that confusing.

    BTW, GART is the reserved space, and the IOMMU, basically, accesses the GART space. The space is referred to as GART, and an IOMMU accesses the GART space.

    Your confusion arises not from the misnaming of IOMMU, but from the lack of a meaningful explanation as to what GART is..which is merely a reserved space in system ram. It's not AMD's fault, nor yours..blame those that in the past weren't specific enough as to what GART really is.
  11. Benetanegia

    Benetanegia New Member

    Joined:
    Sep 11, 2009
    Messages:
    2,683 (1.52/day)
    Thanks Received:
    694
    Location:
    Reaching your left retina.
    GART is the name used for an IOMMU implementation that uses a graphics address remapping table to do its work. GART is not (only) the reserved space, but rather a method and an implementation in silicon, which makes it a device and an IOMMU.

    I'm not confused about what is what at all. I know both implementations. I was confused when I first heard it, because like I said, they were claiming to use IOMMU for the fisrt time in a GPU, which is completely false.

    What they really want to say is that they are going to use AMD IOMMU (a trademarked tech, I suppose) for the first time, which like GART is an IOMMU (general term) implementaion.

    The confusion arises because they took a general term, used to describe a technology and applied it to one of their implementations of such tech.
    cadaveca says thanks.
  12. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    13,743 (4.56/day)
    Thanks Received:
    6,767
    Location:
    Edmonton, Alberta
    Yes, exactly and this explanation you've listed is the problem. As you say, GART as it is commonly thought of, is not just the MMU, but also the space in the physical system ram, as well as the methodology.

    GART has never been considered as it's seperate elements, merely as a technology that encompasses many parts. Had it been explained and taught that way(as seperate technologies), there'd be no issue here.

    I see it as AMD taking a specific term from what is part of GART, rather than the general term of GART, and used just the important part..the MMU. However, because it's a Memory Mangement Unit for any I/O(such as in use for virtual machines), it makes more sense to me than it does to you. No big deal. ;)

    Explanations for GART that use the term "IOMMU" are wrong, IMHO, and should only be using "MMU".
  13. Benetanegia

    Benetanegia New Member

    Joined:
    Sep 11, 2009
    Messages:
    2,683 (1.52/day)
    Thanks Received:
    694
    Location:
    Reaching your left retina.
    But its main purpose is to manage I/O between 2 different memory spaces, so the term is correct. Memory management unit is too generic and could be confused with memory controler.

    Really my only issue is that they are using IOMMU to name their own implementation. While on original paper(s), they say AMD's IOMMU at first, in consequent paragraphs and documents (and press releases) "AMD's" is eliminated and only IOMMU is used, creating unneccesary confusion.

    It's as if they created a new memory controller for a new type of memory and called it Memory Controller, later appearing in every paper that a certain CPU/GPU uses Memory Controler* for the first time and that it is 2x faster than DDR3. Inneccesary confusion.

    In this case the capital letters give it away as a trademark, something that does not happen with IOMMU for being all capital letters.
  14. cadaveca

    cadaveca My name is Dave

    Joined:
    Apr 10, 2006
    Messages:
    13,743 (4.56/day)
    Thanks Received:
    6,767
    Location:
    Edmonton, Alberta
    Yeah, I get where you are coming from.

    I mean, in my head, I know that IOMMU refers to an MMU separate from the CPU memroy controller, that has access to system ram. Current implementation gives the IOMMU access to ALL system ram, rather than the small 256MB GART space.


    I agree 100% that naming conventions could be differnt, and it even seems that Intel agress with you, having thier own terminology, but myself, I think the past did things wrong, and it should be corrected.

    I will NOT confuse MEMORY CONTROLLER and MEMORY MANAGEMENT UNIT, for example. They have different meanings to me.
  15. Benetanegia

    Benetanegia New Member

    Joined:
    Sep 11, 2009
    Messages:
    2,683 (1.52/day)
    Thanks Received:
    694
    Location:
    Reaching your left retina.
    Yes to you, because you are tech savvy and because you read about the technology. Average Joe trying to learn about tech would be easily confused by the similarity of what the 2 words mean.

    I consider myself to be realtively tech-savvy, but that didn't prevent me from being confused when I first read it in a press release. I had no idea what they were trying to tell "me" and felt like lying or bending the truth. I had to look for and read many difficult to find documents before I understood exactly what they meant by "using IOMMU for the frst time". They could have avoided the confusion by just simply calling it AIOMMU (AMD IOMMU), RIOMMU (because they are using it on Radeons) or anything they wanted other than just IOMMU, and that would have alredy put me in the right direction.

    "We are using A(R)IOMMU, a new tech that departs from GART... bla bla bla"
  16. Horrux

    Horrux

    Joined:
    Jun 2, 2011
    Messages:
    735 (0.65/day)
    Thanks Received:
    124
    So what's the IOMMU gonna do for me? Free up CPU cycles as the card will load textures directly from system RAM without the CPU having to load and send them?
  17. Benetanegia

    Benetanegia New Member

    Joined:
    Sep 11, 2009
    Messages:
    2,683 (1.52/day)
    Thanks Received:
    694
    Location:
    Reaching your left retina.
    Current IOMMU (GART) already does that, but only from a predefined memory pool. Th new IOMMU will be able to do it from the entire ram, that's the main capability, while most other new features are derived from that one, basically for security, they are there to prevent the GPU from messing up main memory and/or "fight" with the CPU for resources.

    The new IOMMU will have very little consequence for graphics, if at all. The benefit is entirely for compute applications. Now the GPU compute program (or the portion of it that runs on GPU) has to run in GART space, and the CPU side on main memory, meaning that when the GPU changes the value of a certain variable, the CPU can't see it and viceversa. So you can 't use the same variables for CPU and GPU, they need to be replicated and manually updated afterwards (when required). This adds a massive lag.
    Last edited: Dec 10, 2011

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)

Share This Page