Chapter 4: AGP Memory Mapping
So called AGP memory is just dynamically-allocated areas of system memory,
which the graphics controller can access quickly. The access speed comes from
built-in hardware in the 440LX chipset
which translates addresses, allowing the
graphics controller and its software to see a contiguous space in main
memory, when in fact the pages are disjointed. Thus the graphics controller can
access large data structures like texture bitmaps (typically 1 KByte to 128
KByte) as a single entity. The built-in chipset hardware is called the GART
(Graphics Address Remapping Table), similar in function to the paging
hardware in the CPU.
The processor "linear" virtual addresses are translated by its paging
hardware into physical addresses. These physical addresses are used to
access system memory, the local frame buffer, and AGP memory. The CPU accesses to
the local frame buffer and AGP memory use the same addresses as the graphics controller
does. The operating system therefore sets up the CPU paging hardware to a
straight 1:1 non-translation of virtual to physical address.
For accesses to AGP memory, the graphics controller and CPU use a contiguous
aperture of several megabytes. But the GART translates these to various,
possibly disjointed, 4 KByte page addresses in system memory. PCI devices
that access to the AGP memory aperture (for example, for live video
capture) also go through the GART.
Chapter 5
Table of Contents
|