Фирма Intel, заметив, что дальнейшее повышение общей производительности персонального компьютера «упирается» в видеоподсистему, в свое время предложила выделить для передачи потока видеоданных отдельную интерфейсную шину AGP (Accelerated Graphics Port — ускоренный графический порт). Этот стандарт быстро вытеснил существовавшие ранее интерфейсы, использовавшиеся видеокартами: ISA, VLB и PCI. Главным преимуществом шины AGP стала высокая пропускная способность. Если шина ISA позволяла передавать до 5,5 Мбайт/с, VLB — до 130 Мбайт/с, a PCI — до 133 Мбайт/с, то шина AGP теоретически имеет пиковую пропускную способность до 1066 Мбайт/с (в режиме передачи четырех 32-разрядных слов). Компания Intel разрабатывала интерфейс AGP для решения двух основных проблем, связанных с особенностями обработки ЗD-графики на персональном компьютере. Во-первых, ЗD-графика требует выделять как можно больше памяти для хранения данных текстур и Z-буфера. Чем больше текстурных карт доступно для ЗD-приложений, тем лучше выглядит картинка на экране монитора. Обычно для Z-буфера используют ту же память, что и для текстур. Разработчики видеоконтроллеров и раньше имели возможность использовать обычную оперативную память для хранения информации о текстурах и Z-буфере, но серьезным ограничением здесь выступала пропускная способность шины PCI. Ширина полосы пропускания PCI оказалась мала для обработки графики в режиме реального времени. Эту проблему компания Intel решила путем внедрения стандарта шины AGP. Во-вторых, интерфейс AGP обеспечивает прямое соединение между графической подсистемой и оперативной памятью. Таким образом, выполняются требования вывода ЗD-графики в режиме реального времени и, кроме того, более эффективно используется память буфера кадра (frame buffer), тем самым увеличивается скорость обработки 2 D - г р а ф и ки. В действительности шина AGP соединяет графическую подсистему с блоком управления системной памятью, разделяя доступ с центральным процессором компьютера. Через AGP возможно подключение единственного типа устройств — графических плат. При этом видеоконтроллеры, встроенные в материнскую плату и использующие интерфейс AGP, не подлежат модернизации.
Для контроллера AGP конкретный физический адрес, по которому информация хранится в оперативной памяти, не имеет значения. Это является ключевым решением новой технологии, обеспечивая доступ к графическим данным как к единому блоку, независимо от физической «разбросанности» информации по блокам памяти. Кроме того, AGP работает с частотой системной шины до 133 МГц. Спецификация AGP фактически базируется на стандарте PCI версии 2.1, но отличается от него следующими основными особенностями: • шина способна передавать два (AGP 2х), четыре (AGP 4х) или восемь (AGP 8х) блоков данных за один цикл; • устранена мультиплексированность линий адреса и данных; • конвейеризация операций чтения/записи позволяет устранить влияние задержек в модулях памяти на скорость выполнения операций.
Шина AGP работает в двух основных режимах: DIME (Direct Memory Execute) и DMA (Direct Memory Access). В режиме DMA основной памятью считается память на карте. Текстуры могут храниться в системной памяти, но перед использованием копируются в локальную память видеокарты. Таким образом, интерфейс AGP действует в качестве «подносчика патронов» (текстур) к «огневой позиции» (в локальную память). Обмен ведется большими последовательными пакетами данных. В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится передавать сравнительно небольшие случайно расположенные куски. Поскольку системная память требуется и другим устройствам, она выделяется динамически, блоками по 4 Кбайт. Поэтому для обеспечения приемлемого быстродействия предусмотрен специальный механизм, отображающий последовательные адреса на реальные адреса блоков в системной памяти. Эта задача выполняется с использованием специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти. Адреса, не попавшие в диапазон GART (GART range), не изменяются и непосредственно отображаются на системную память или область памяти устройства (device specific range). Точная спецификация на правила функционирования GART не определена, и конкретное решение зависит от управляющей электроники видеокарты. Операции шины AGP являются раздельными (split). Это означает, что запрос на проведение операции отделен от собственно пересылки данных. Такой подход позволяет AGP-устройству генерировать очередь запросов, не дожидаясь завершения текущей операции, что также повышает быстродействие шины. Версия AGP 2.0 благодаря использованию низковольтных электрических спецификаций предусматривает осуществление четырех транзакций (пересылок блока данных) за один такт (режим AGP 4х — четырехкратного умножения). В 2003 г. в массовое производство пошли видеокарты с интерфейсом AGP версии 3.0 (часто обозначаются как AGP 8х). Двукратное увеличение пропускной способности достигнуто за счет повышения тактовой частоты шины до 66 МГц и применения нового уровня сигналов 0,8В (в AGP 2.0 использовался уровень 1,5В). Тем самым при сохранении основных параметров интерфейса удалось повысить пропускную способность шины примерно до 2132 Мбайт/с. Хотя разъем сохранился прежним, механически совместимым с AGP 2.0, его электрические характеристики изменились благодаря снижению напряжения на сигнальных линиях. В настоящее время на современных платформах шина AGP заменяется последовательной шиной PCI Express.