| AGP The Accelerated
Graphics Port (AGP) is a dedicated port which is targeted at 3D graphics applications. It
allows for direct data transfer between the graphics card and the CPU and/or system
memory. Although AGP is an extension of the PCI interface, it is completely (physically,
logically and electrically) separate from the PCI bus. Therefore, activity of PCI peripherals won't
affect the AGP card's performance.
AGP is based on the 66MHz PCI bus specifications but is further enhanced by :-
- allowing deeply pipelined memory read and write operations, thus masking memory access
latencies
- demultiplexing (separating) address and data on the bus, thus allowing the bus to be
more efficiently utilized
- allowing data transfers on both rising and falling edges of the signal, thus doubling
the throughput of the bus (AGP2X)
The execution of 3D graphics applications requires the movement of textures, geometry
data and commands (AGP requests) across the AGP bus to and from the graphics processor. To
accomplish this, the AGP protocol offers several different modes.
Data Movement Paths and Corresponding AGP Modes (ã Intel)
Data written or read directly to or from the graphics controller
is represented by the CPU-GC path. This path is typically used for CPU writes of
geometry data and command lists to a memory-mapped region on the graphics card. According
to the AGP 1.0 specification, data moved along this path must cross AGP using Frame Mode
(PCI protocol).
Data written or read to or from main memory is typically texture data, geometry data or
command lists stored in main memory. This path offers three mode choices: Frame Mode (GC-MMF),
Pipelining Mode (GC-MMP) and Sideband Addressing Mode (GC-MMS).
Each mode offers a unique feature set and level of AGP performance. Frame Mode offers
baseline performance using the PCI protocol. Pipelining Mode offers higher performance,
and Sideband Addressing Mode offers the highest level of performance.
- CPU-GC Frame Mode The AGP 1.0 specification allows
only one master for AGP Pipelining and Sideband Addressing. Since this master is the
graphics controller, only Frame Mode is available for moving data directly from the CPU to
the graphics controller.
- GC-MMF AGP Frame Mode This mode uses the PCI
protocol to provide baseline performance for main memory reads and writes from the
graphics controller. The higher bus frequency allows data transfers at 264 MB/s,
or twice the throughput of shared 33-MHz PCI.
- GC-MMP AGP Pipelining Mode AGP Pipelining offers
higher performance by using the PIPE# signal of the AGP protocol to create multiple
outstanding transactions, eliminating the bandwidth degradation due to round-trip time to
main memory. Pipelined transfers are not coherent with the CPU's cache, so reads or writes
are not delayed while the CPU caches are snooped to see if they contain the most recent
copies of data being read or written. In a system with high AGP traffic, non-coherent
transfers avoid heavily loading the system bus and allow data to be transferred more
quickly to or from the graphics controller.
- GC-MMS Sideband Addressing Mode This mode offers the
highest level of AGP performance. In addition to allowing multiple outstanding
transactions and non-coherent access to main memory, Sideband Addressing introduces a
separate address/command bus, the Sideband Address Port (SBA). Because the SBA and data
buses are not multiplexed, the graphic controller can use the SBA to make data requests
without interrupting the data bus.
Pipelining and Sideband Addressing each offer two data
rates1X (66 MHz, 264 MB/s) and 2X (133 MHz, 528 MB/s). AGP
Frame Mode can use only the 1X rate. At the cost of more high-speed board signals, the 2X
rate almost doubles available bandwidth.
The topic of interest here would be the demultiplexing of the address and data buses or
sidebanding. So, what's sidebanding actually? |