Skip to content

PCIe · Module 1

AGP — A Dedicated Path for One Demanding Device

Why graphics outgrew the shared PCI bus before the rest of the system did, how AGP gave it a dedicated chipset-side connection, and why a graphics-specific exception is not the same as a general interconnect.

Chapter 1.3 presented PCI as a genuine success: a processor-independent local bus with standardized configuration, bus mastering, and bursts. That assessment stands. But a shared medium divides one pool of capacity among everything attached to it, and that arrangement holds only while no single participant's requirements outrun what the division can supply.

In the mid-1990s graphics did exactly that. This chapter answers the question that follows: what happens when one device outgrows the shared bus before the rest of the system does?

1. Why Graphics Applied Unusual Pressure

The case for a dedicated graphics path rests on graphics' own trajectory, not on any claim about what other device classes are capable of:

  • Graphics bandwidth demand was rising rapidly. As 3D acceleration moved from a specialist feature to a mainstream expectation, the volume of data a graphics device consumed grew quickly.
  • Local graphics memory was a constraint. Memory fitted on the card was limited by capacity and cost, so being able to work efficiently out of system memory — textures in particular — was valuable rather than merely convenient.
  • Rendering wants a steady supply. Producing frames at a consistent rate depends on data arriving at a consistent rate, which makes waiting for bus ownership more costly than a simple throughput figure suggests.
  • The shared bus put that traffic next to unrelated I/O. On PCI, graphics traffic competed for bus ownership with networking, storage, and everything else attached — traffic with no relationship to it whatsoever.

A dedicated graphics path removed that particular contention. Notice what the argument does not require: no assumption that other devices are intrinsically modest, low-bandwidth, or bursty. Networking and storage have their own demanding workloads, and their requirements grew too.

The durable point is narrower and more useful than a ranking of device classes: one sufficiently demanding traffic class can justify separation from a shared resource. Once a participant's requirements are large enough, dividing a single medium serves neither that participant nor the ones it shares with — and the response is to stop dividing.

2. What AGP Was

AGP — the Accelerated Graphics Port — was Intel's answer, introduced in the mid-1990s. Its defining property is structural rather than numerical:

AGP is a dedicated connection between the chipset and a single graphics device, separate from the general PCI expansion bus.

It borrowed signalling conventions from PCI, so it is a relative rather than a stranger. The distinction that matters is topological, not terminological: AGP is a dedicated point-to-point graphics interface rather than PCI's shared multi-device expansion bus. There is no arbitration among peers for ownership of an AGP connection, because there are no peers on it — one chipset, one graphics device, one connection. Whether a given document calls it a port, an interface, or a bus changes nothing about that topology, and the lesson here does not depend on the label.

Dedication was the headline, but AGP also adjusted how transactions were carried in ways that suited a device streaming from memory. It added mechanisms aimed at keeping the graphics pipeline supplied, including pipelined memory requests — so the device could have several requests in flight rather than completing them strictly one after another — and support for sideband addressing, which could convey request addresses separately from the main address/data path. Both serve the same goal: keep a high-throughput consumer supplied rather than leaving it idle between requests.

The interface was revised over its lifetime — the 1×, 2×, 4×, and 8× designations mark successive increases in transfer capability of that dedicated port. Treat them as evidence that the pressure kept rising, not as the substance of the chapter. The architecture is the lesson; the multipliers are its footnote.

A system with both AGP and PCI: the CPU and system memory connect to the chipset. The chipset provides a dedicated AGP connection to a single graphics device, and separately hosts a shared PCI bus to which a network device and a storage device both attach.CPU + systemmemorymemory controller sideChipsethost bridge + AGP portGraphics devicesole device on the portShared PCI busone owner at a timeNetwork deviceshares the PCI busStorage deviceshares the PCI busAGPPCI12
Figure 1 — AGP alongside PCI, not replacing it. The chipset provides a dedicated AGP connection to a single graphics device while continuing to host the shared PCI bus that network, storage, and other expansion devices attach to. Graphics traffic no longer competes with those devices for ownership of the general expansion bus, but it still reaches the same system memory through the chipset.

3. What the Dedicated Path Actually Removed

The benefit is easiest to state as a subtraction. Before AGP, graphics traffic and every other expansion device's traffic contended for ownership of one shared bus. After AGP, they did not. Graphics stopped waiting for a network card's transfer to finish, and the network card stopped waiting behind a stream of texture reads.

Notice that both sides gain. This is not a case of privileging one device at another's expense — removing the largest consumer from a shared medium leaves more of that medium for everyone still on it.

4. Reaching System Memory

A fast dedicated path is only worth having if the device can make effective use of what is at the other end of it. Part of AGP's design was therefore about how the graphics device uses system memory, not only about how quickly it can get there.

The motivation is a mismatch. A graphics device wants to treat a region of memory as a large, contiguous area it can address simply. An operating system allocates system memory in pages, which are scattered across physical memory rather than laid out contiguously for one device's convenience.

AGP addressed this by defining an aperture: a window in the system address space that the graphics device sees as one contiguous region, which the chipset remaps onto the scattered physical pages actually backing it. The device addresses the window; the translation happens on the way through, driven by a remapping structure known generically as the GART (graphics address remapping table). How that translation is realised varies between chipsets — treat GART as the name for the mechanism, not a description of one particular implementation.

Two clarifications keep this accurate:

  • The aperture is an address window, not memory. It does not add storage and is not the graphics device's local memory. It is a translated view of system memory that already exists.
  • The purpose is to let system memory extend what the device can work from — textures being the historically important case — rather than requiring everything to be resident in local graphics memory first.

That is as far as this chapter goes. The point here is why AGP was designed specifically for graphics: it was not merely a faster connector, it included provisions for how this particular device class wanted to consume system memory.

5. Why AGP Remained a Specialized Solution

This is the section that prevents a wrong conclusion, so it is worth being blunt. AGP moved toward dedicated connectivity, but it is not a general interconnect, and the differences are not incidental:

  • It is graphics-specific. The port was defined for one device class, with provisions shaped by that class's needs. It was not a general facility that any demanding device could adopt.
  • It is host-centric and single-device. One chipset, one connection, one graphics device. There is no fan-out, no hierarchy, and no mechanism for arbitrary endpoints to reach one another.
  • It is not a switched fabric. Nothing routes traffic between multiple dedicated links, because there is only one such link.
  • It did not replace PCI. The general expansion bus remained exactly where it was, serving everything else. AGP sits alongside PCI, as Figure 1 shows.

So AGP is best understood as a targeted exception to the shared-bus model, not a successor to it. One device class was important enough, and divergent enough in its demands, to justify building it a separate path — while the general architecture carried on unchanged.

6. What AGP Reveals About the Direction of Travel

The most valuable thing about AGP is not how well it performed. It is what its existence indicates.

By the late 1990s, the industry had concluded that the most demanding device in a typical system should be taken off the shared expansion bus rather than accommodated on it. That is a significant admission, and it is the reason this chapter sits in a module about why PCIe exists. When the standard response to a device's growth is to route around the shared bus, the shared bus is under strain.

Hold that as evidence, not as the argument. AGP shows the model was being bypassed for the hardest case; it does not by itself establish why the model ran out generally. That analysis belongs to the chapters that follow: 1.5 on PCI's limitations, 1.6 on the problems inherent to shared buses, and 1.7 on the resulting scaling wall.

The forward-looking connection is worth stating once, carefully:

AGP demonstrated that dedicating a faster connection to a bandwidth-hungry device solved problems a shared bus could not solve cleanly. PCIe later generalized that principle — dedicated point-to-point links for all device classes, connected as a scalable switched architecture.

Generalising a principle is not the same as extending an implementation. PCIe is not a wider or faster AGP, and the mechanisms by which it achieves that generalisation are the subject of Chapter 1.8 and the modules beyond it.

7. Common Misconceptions

8. Real Engineering Relevance

AGP is worth an engineer's attention as a case study in specialization under scaling pressure — a pattern that recurs constantly in system and SoC design.

The situation is generic: a shared resource serves several traffic classes, one class grows faster than the others, and dividing the resource evenly stops serving anyone well. The standard responses are equally generic:

  • Separate the traffic so unlike classes stop interfering.
  • Dedicate a path to the class that needs sustained throughput.
  • Reduce contention rather than trying to arbitrate it more cleverly.
  • Specialize the interface around how that class actually behaves.

You will meet the same reasoning inside a chip: high-bandwidth masters given their own ports into an interconnect rather than sharing a general path, separate routes for latency-sensitive versus throughput-oriented traffic, and interfaces tuned to a specific traffic profile. The ISA → PCI → AGP → PCIe progression is that reasoning applied at the system level over two decades, and AGP is the step where the industry first accepted that one device might warrant its own path.

The step after it is the interesting one: recognising that if the answer for the hardest case is a dedicated link, the general answer might be dedicated links for everything.

9. Understanding Check

10. Summary

AGP — the Accelerated Graphics Port — was the industry's response to graphics outgrowing the shared PCI bus. Graphics bandwidth demand rose rapidly as 3D acceleration became mainstream, limited on-card memory made efficient access to system memory valuable, and on PCI that traffic competed for bus ownership with unrelated I/O. A dedicated path removed that particular contention — without requiring any claim that other device classes were undemanding.

AGP's answer was structural: a dedicated connection between the chipset and a single graphics device, separate from the general PCI bus, with transaction handling suited to a device streaming from memory and a defined aperture mechanism that presents scattered system-memory pages to the device as one contiguous window. Successive revisions raised the port's capability, but the multipliers are a footnote to the architecture.

Two boundaries keep the conclusion honest. AGP did not remove contention from the system — it moved graphics into a different contention domain, since its traffic still reaches system memory alongside everyone else's. And AGP did not replace PCI: it was graphics-specific, host-centric, single-device, and not a fabric, so the general expansion bus remained necessary for everything else.

Hold the durable model: AGP did not replace PCI — it removed the graphics device from competing on the general PCI bus by giving graphics a more dedicated host-side connection. And hold its sequel carefully: AGP solved the dedicated-path problem for one device class; PCIe generalized point-to-point connectivity into the system interconnect itself.

11. What Comes Next

AGP showed the shared bus being bypassed for the hardest case. The next chapters explain why the model ran out generally rather than exceptionally: Chapter 1.5 examines PCI's limitations directly, Chapter 1.6 the problems inherent to shared buses, Chapter 1.7 the scaling wall those produce, and Chapter 1.8 the architecture that answered them.

Revisit PCI for the shared bus AGP was carved out of, ISA for the interconnect PCI replaced, or Evolution of System Interconnects for the whole arc in one view. Browse the full path on the PCIe tutorials index.