Graphics address remapping table: Difference between revisions

Content deleted Content added
Small edit for additional clarity
m Reverted edits by 216.61.161.20 (talk) (HG) (3.4.13)
 
(40 intermediate revisions by 13 users not shown)
Line 1:
{{short description|I/O memory management unit for graphics}}
The '''graphics address remapping table''' ('''GART'''),<ref>{{Cite sometimesbook|url=http://esd.cs.ucr.edu/webres/agp20.pdf|title=Accelerated Graphics Port Interface Specification: Revision 2.0|date=4 May 1998|pages=24}}</ref> also known as the '''graphics aperture remapping table''',<ref>{{Cite book|url=http://www.playtool.com/pages/agpcompat/agp30.pdf|title=AGP V3.0 Interface Specification|date=September 2002|pages=116}}</ref> or '''graphics translation table''' ('''GTT'''),<ref>{{cite web|author=freedesktop.org|url=http://dri.freedesktop.org/wiki/GART|title=GART|accessdate=2010-03-05}}</ref> is an [[IOMMU|I/O memory management unit]] (IOMMU) used by [[Accelerated Graphics Port]] (AGP) and [[PCI Express]] (PCIe) [[graphics card]]s. The GART allows the graphics card [[direct memory access]] (DMA) to the host system memory, through which buffers of [[texture mapping|textures]], [[polygon mesh]]es and other data are loaded. [[AMD]] later reused the same mechanism for [[I/O virtualization]] with other peripherals including [[disk controller]]s and [[network adapter]]s.<ref>[https://support.amd.com/TechDocs/48882_IOMMU.pdf AMD I/O Virtualization Technology (IOMMU) Specification, 32-bit to 64-bit Legacy I/O Device Mapping]</ref>
 
A GART is used as a means of data transferexchange between the [[primary storage|main memory]] and [[video memory]] through which buffers (i.e. paging/swapping) of [[texture mapping|textures]], [[polygon mesh]]es and other data are loaded, but can also be used to expand the amount of video memory available for graphicssystems cardswith &mdash;only particularlyintegrated foror cardsshared withgraphics (i.e. no dedicateddiscrete videoor memoryinbuilt graphics processor), such as [[Intel HD Graphics]]'s [[integratedprocessors. However, this type of memory (expansion) remapping has a caveat that affects the entire system: specifically, any GART, pre-allocated memory becomes pooled and cannot be utilised for any other purposes but graphics]] solutionsmemory and display rendering.
 
==Operating system support==
Jeff Hartmann served as the primary maintainer of the [[Linux]] agpgart driver, which began as part of [[Brian Paul]]'s Utah-glx accelerated [[Mesa (computer graphics)|Mesa 3D]] driver project. The developers primarily targeted Linux 2.4.x kernels, but made patches available against older 2.2.x kernels. Dave Jones heavily reworked agpgart for the Linux 2.6.x kernels, along with more contributions from Jeff Hartmann.<ref>[http://www.linuxsymposium.org/archives/OLS/Reprints-2003/Reprint-Jones-OLS2003.pdf Ugly Ducklings: Resurrecting unmaintained code] - agpgart adapted for Linux 2.6 kernel</ref>
 
=== Linux ===
In [[FreeBSD]], the agpgart driver<ref>[http://www.freebsd.org/cgi/man.cgi?agpgart agpgart(4)] - manpage.</ref> appeared in FreeBSD 4.1.
Jeff Hartmann served as the primary maintainer of the [[Linux kernel]]'s agpgart driver, which began as part of [[Brian Paul]]'s [[Utah-glx GLX]] accelerated [[Mesa (computer graphics)|Mesa 3D]] driver project. The developers primarily targeted Linux 2.4.x kernels, but made patches available against older 2.2.x kernels. Dave Jones heavily reworked agpgart for the Linux 2.6.x kernels, along with more contributions from Jeff Hartmann.<ref>[{{cite web |url=http://www.linuxsymposium.org/archives/OLS/Reprints-2003/Reprint-Jones-OLS2003.pdf |title=Ugly Ducklings: Resurrecting unmaintained code] - agpgart adapted for Linux 2.6 kernel |format=PDF |date=2003-07-24 |accessdate=2014-06-05 |archiveurl=https://web.archive.org/web/20140203111912/http://www.linuxsymposium.org/archives/OLS/Reprints-2003/Reprint-Jones-OLS2003.pdf |archivedate=2014-02-03 |last=Jones |first=Dave}}</ref>
 
=== FreeBSD ===
AGPgart support was introduced into [[Solaris (operating system)#Development release|Solaris Express Developer Edition]] as of its 7/05 release.<ref>{{cite web
In [[FreeBSD]], the agpgart driver appeared in its 4.1 release.<ref>{{cite web|url=http://www.freebsd.org/cgi/man.cgi?agpgart |title=agp(4) |work=FreeBSD Man Pages: FreeBSD Kernel Interfaces Manual |publisher=freebsd.org |date=2007-11-28 |accessdate=2014-06-10}}</ref>
 
=== Solaris ===
AGPgart support was introduced into [[Solaris (operating system)#Development releaseSXDE|Solaris Express Developer Edition]] as of its 7/05 release.<ref>{{cite web
|url = http://docs.sun.com/app/docs/doc/819-2254/agpgart-io-7i
|title = agpgart_io manpage
Line 14 ⟶ 19:
|work = docs.sun.com
|publisher = [[Sun Microsystems]]
|archive-url = https://web.archive.org/web/20090323100129/http://docs.sun.com/app/docs/doc/819-2254/agpgart-io-7i
}}</ref>
|archive-date = 2009-03-23
|url-status = dead
}}</ref>
 
==References See also ==
* [[Direct Rendering Manager]]
 
== References ==
{{Reflist}}
 
[[Category:Graphics hardware]]
[[Category:Peripheral Component Interconnect]]
 
{{Compu-graphics-stub}}