Graphics address remapping table
The graphics address remapping table[1] or graphics aperture remapping table[2] (GART), sometimes also graphics translation table (GTT),[3] is an I/O memory management unit (IOMMU) used by Accelerated Graphics Port (AGP) and PCI Express (PCIe) graphics cards. The GART allows the graphics card direct memory access (DMA) to the host system memory, through which buffers of textures, polygon meshes and other data are loaded. AMD later reused the same mechanism for I/O virtualization with other peripherals including disk controllers and network adapters.[4]
GART is used as a means of data transfer between the main memory and video memory through which buffers (i.e. paging/swapping) of textures, polygon meshes and other data are loaded, but can also be used to expand the amount of video memory available for graphics cards, particularly for cards with no dedicated video memory such as Intel HD Graphics processors. However, this type of memory allocation has repercussions that affect the entire system: specifically, any pre-allocated memory becomes pooled and cannot be used for any other purpose but graphics memory usage (i.e as a virtual vRAM buffer).
Operating system support
Linux
Jeff Hartmann served as the primary maintainer of the Linux kernel's agpgart driver, which began as part of Brian Paul's Utah GLX accelerated 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.[5]
FreeBSD
In FreeBSD, the agpgart driver appeared in its 4.1 release.[6]
Solaris
AGPgart support was introduced into Solaris Express Developer Edition as of its 7/05 release.[7]
See also
References
- ^ Accelerated Graphics Port Interface Specification: Revision 2.0 (PDF). 4 May 1998. p. 24.
- ^ AGP V3.0 Interface Specification (PDF). September 2002. p. 116.
- ^ freedesktop.org. "GART". Retrieved 2010-03-05.
- ^ AMD I/O Virtualization Technology (IOMMU) Specification, 32-bit to 64-bit Legacy I/O Device Mapping
- ^ Jones, Dave (2003-07-24). "Ugly Ducklings: Resurrecting unmaintained code – agpgart adapted for Linux 2.6 kernel" (PDF). Archived from the original (PDF) on 2014-02-03. Retrieved 2014-06-05.
- ^ "agp(4)". FreeBSD Man Pages: FreeBSD Kernel Interfaces Manual. freebsd.org. 2007-11-28. Retrieved 2014-06-10.
- ^ "agpgart_io manpage". docs.sun.com. Sun Microsystems. Retrieved 2007-12-04.