Accelerated Graphics Port


Accelerated Graphics Port is an obsolete parallel expansion card standard, designed by Intel independently of the PCI-SIG for attaching a video card to a computer system to assist in the acceleration of 3D computer graphics. It was originally designed as a generally compatible successor to PCI-type connections for video cards. The AGP bus was separate from the PCI bus, so that the graphics card as the top consumer of bandwidth in a computer system would not have to compete for bandwidth with other devices, while the overall throughput of the system was greatly increased by the addition of another data bus. The separation also allowed for improvements that broke compatibility with the myriad of existing PCI cards and AGP was not required to be a lowest common denominator standard. The introduction of more efficient queued transactions on top of PCI made it possible for the graphics card to use system memory directly in many circumstances where regular PCI cards required local copies of the data. Since 2004, AGP and PCI were progressively phased out in favor of PCI Express. By mid-2008, PCI Express cards dominated the market and only a few AGP models were available, with GPU manufacturers and add-in board partners eventually dropping support for the interface relatively quickly in favor of PCI Express. The analogue of AGP in ISA bus systems was the VESA Local Bus.

Advantages over PCI

AGP is a superset of the PCI standard, designed to overcome PCI's limitations in serving the requirements of the era's high-performance graphics cards.
The primary advantage of AGP is that it doesn't share the PCI bus, providing a dedicated, point-to-point pathway between the expansion slot and the motherboard chipset. The direct connection also allows backward-incompatible changes such as a lower signal voltage, which in turn allows a higher clock speed.
The second major change is the use of split transactions, wherein the address and data phases are separated. More than one transaction can be in-flight. This allows READ transactions to perform equally well to WRITE transactions, which is hard to achieve with just strictly serial transaction processing where the bus must remain idle while waiting for the read data access to finish. With AGP's queued transactions, the bandwidth realized can be close to the theoretical maximum bandwidth. AGP has a high priority queue and a low priority queue to allow for fine-grained optimization. This great improvement in memory read performance makes it practical for an AGP card to read textures directly from system RAM, while a PCI graphics card must copy it from system RAM to the card's video memory. System memory is made available using the graphics address remapping table, which apportions main memory as needed for texture storage. The maximum amount of system memory available to AGP is defined as the AGP aperture. Thus a trade-off could be realized in which the newly gained bandwidth could be exchanged for a lower parts count.
Third, AGP allows sideband addressing, meaning that the address and data buses are separated, so the address phase does not use the main address/data lines at all. This is done by adding an extra 8-bit "SideBand Address" bus, over which the graphics controller can issue new AGP requests while other AGP data is flowing over the main 32 address/data lines. This results in improved overall AGP data throughput.
Finally, PCI bus handshaking is simplified. Unlike PCI bus transactions, whose length is negotiated on a cycle-by-cycle basis using the FRAME# and STOP# signals, AGP transfers are always a multiple of 8 bytes long, with the total length included in the request. Further, rather than using the IRDY# and TRDY# signals for each word, data is transferred in blocks of 4 clock cycles, and pauses are allowed only between blocks.

History

The AGP slot first appeared on x86-compatible system boards based on Socket 7 Intel P5 Pentium and Slot 1 P6 Pentium II processors. Intel introduced AGP support with the i440LX Slot 1 chipset on August 26, 1997, and a flood of products followed from all the major system board vendors. AGP was developed by Intel independently of the PCI Special Interest Group, which neither reviewed nor endorsed it.
The first Socket 7 chipsets to support AGP were the VIA Apollo VP3, SiS 5591/5592, and the ALI Aladdin V. Intel never released an AGP-equipped Socket 7 chipset. FIC demonstrated the first Socket 7 AGP system board in November 1997 as the FIC PA-2012 based on the VIA Apollo VP3 chipset, followed very quickly by the EPoX P55-VP3 also based on the VIA VP3 chipset which was first to market.
Early video chipsets featuring AGP support included the Rendition Vérité V2200, 3dfx Voodoo Banshee, Nvidia RIVA 128, 3Dlabs PERMEDIA 2, Intel i740, ATI Rage series, Matrox Millennium II, and S3 ViRGE GX/2. Some early AGP boards used graphics processors built around PCI and were simply bridged to AGP. This resulted in the cards benefiting little from the new bus, with the only improvement used being the 66 MHz bus clock, with its resulting doubled bandwidth over PCI, and bus exclusivity. Intel's i740 was explicitly designed to exploit the new AGP feature set; in fact it was designed to texture only from AGP memory, making PCI versions of the board difficult to implement, though this was eventually accomplished much later in the form of AGP-to-PCI bridges.
Microsoft first introduced AGP support into Windows via the USB Supplement patch for OSR2 of Windows 95 in 1997, also known as OSR2.1. The first Windows NT-based operating system to receive AGP support was Windows NT 4.0 with Service Pack 3, also in 1997. Linux support for AGP-enhanced fast data transfers was first added in 1999 with the implementation of the AGPgart kernel module.

Later use

With the increasing adoption of PCIe, graphics cards manufacturers continued to produce AGP cards as the standard became obsolete. As GPUs began to be designed to connect to PCIe, an additional PCIe-to-AGP bridge-chip was required to create an AGP-compatible graphics card. The inclusion of a bridge, and the need for a separate AGP card design, incurred additional board costs.
The GeForce 6600 and ATI Radeon X800 XL, released during 2004–2005, were the first bridged cards. In 2009 AGP cards from Nvidia had a ceiling of the GeForce 7 series. In 2011 DirectX 10-capable AGP cards from AMD vendors included the Radeon HD 2400, 3450, 3650, 3850, 4350, 4650, and 4670. The HD 5000 AGP series mentioned in the AMD Catalyst software was never available. There were many problems with the AMD Catalyst 11.2 - 11.6 AGP hotfix drivers under Windows 7 with the HD 4000 series AGP video cards; use of 10.12 or 11.1 AGP hotfix drivers is a possible workaround. Several of the vendors listed above make available past versions of the AGP drivers.
By 2010, no new motherboard chipsets supported AGP and few new motherboards had AGP slots, however some continued to be produced with older AGP-supporting chipsets.
In 2016, Windows 10 version 1607 dropped support for AGP. Possible future removal of support for AGP from open-source Linux kernel drivers was considered in 2020.

Versions

Intel released "AGP specification 1.0" in 1997. It specified 3.3 V signals and 1× and 2× speeds. Specification 2.0 documented 1.5 V signaling, which could be used at 1×, 2× and the additional 4× speed and 3.0 added 0.8 V signaling, which could be operated at 4× and 8× speeds.
There are various physical interfaces ; see the [|Compatibility] section.

Official extensions

AGP Pro

An official extension for cards that required more electrical power, with a longer slot with additional pins for that purpose. AGP Pro cards were usually workstation-class cards used to accelerate professional computer-aided design applications employed in the fields of architecture, machining, engineering, simulations, and similar fields.

64-bit AGP

A 64-bit channel was once proposed as an optional standard for AGP 3.0 in draft documents, but it was dropped in the final version of the standard.
The standard allows 64-bit transfer for AGP8× reads, writes, and fast writes; 32-bit transfer for PCI operations.

Unofficial variations

A number of non-standard variations of the AGP interface have been produced by manufacturers.

Internal AGP interface

;Ultra-AGP, Ultra-AGPII: It is an internal AGP interface standard used by SiS for the north bridge controllers with integrated graphics. The original version supports same bandwidth as AGP 8×, while Ultra-AGPII has maximum 3.2 GB/s bandwidth.

PCI-based AGP ports

;AGP Express: Not a true AGP interface, but allows an AGP card to be connected over the legacy PCI bus on a PCI Express motherboard. It is a technology used on motherboards made by ECS, intended to allow an existing AGP card to be used in a new motherboard instead of requiring a PCIe card to be obtained. An "AGP Express" slot is basically a PCI slot with an AGP connector. It offers backward compatibility with AGP cards, but provides incomplete support and reduced performance—the card is forced to use the shared PCI bus at its lower bandwidth, rather than having exclusive use of the faster AGP.
;AGI: The ASRock Graphics Interface is a proprietary variant of the Accelerated Graphics Port standard. Its purpose is to provide AGP-support for ASRock motherboards that use chipsets lacking native AGP support. However, it is not fully compatible with AGP, and several video card chipsets are known not to be supported.
;AGX: The EPoX Advanced Graphics eXtended is another proprietary AGP variant with the same advantages and disadvantages as AGI. User manuals recommend not using AGP 8× ATI cards with AGX slots.
;XGP: The Biostar Xtreme Graphics Port is another AGP variant, also with the same advantages and disadvantages as AGI and AGX.

PCIe based AGP ports

;AGR: The Advanced Graphics Riser is a variation of the AGP port used in some PCIe motherboards made by MSI to offer limited backward compatibility with AGP. It is, effectively, a modified PCIe slot allowing for performance comparable to an AGP 4×/8× slot, but does not support all AGP cards; the manufacturer published a list of some cards and chipsets that work with the modified slot.