Введение

Стандарт шины расширения Accelerated Graphics Port (AGP) — это стандарт параллельной карты расширения, разработанный для подключения видеокарты к компьютерной системе с целью ускорения 3D-компьютерной графики. Изначально он был создан как замена соединениям типа PCI для видеокарт. Начиная с 2004 года, AGP постепенно вытеснялся PCI Express (PCIe), который является последовательным, в отличие от параллельного. К середине 2008 года карты PCI Express стали доминировать на рынке, и доступно было лишь несколько моделей AGP, после чего производители графических процессоров и партнеры по производству плат окончательно прекратили поддержку этого интерфейса в пользу PCI Express.

Преимущества по сравнению с ПКИ

AGP является расширением стандарта PCI, разработанным для устранения ограничений PCI при обслуживании требований высокопроизводительных графических карт того времени. Основным преимуществом AGP является то, что он не использует общую шину PCI, обеспечивая выделенный канал связи типа «точка-точка» между слотом расширения и чипсетом материнской платы. Прямое подключение также позволяет достичь более высоких тактовых частот. Второе важное изменение – использование разделенных транзакций, в которых фазы адреса и данных разделены. Карта может отправлять несколько фаз адреса, позволяя хосту обрабатывать их последовательно, избегая длительных задержек, вызванных простоем шины во время операций чтения. В-третьих, упрощена процедура обмена данными на шине PCI. В отличие от транзакций шины PCI, длина которых согласовывается циклически с использованием сигналов FRAME# и STOP#, передачи AGP всегда кратны 8 байтам, а общая длина указывается в запросе. Кроме того, вместо сигналов IRDY# и TRDY# для каждого слова, данные передаются блоками по 4 тактовых цикла (32 слова при скорости AGP 8×), а паузы допускаются только между блоками. Наконец, AGP поддерживает (обязательно только в AGP 3.0) боковую адресацию, что означает разделение адресной и шины данных, в результате чего фаза адреса не использует основные линии адреса/данных (AD). Это достигается путем добавления дополнительной 8-битной шины "SideBand Address", через которую графический контроллер может выдавать новые запросы AGP, пока другие данные AGP передаются по основным 32 линиям адреса/данных (AD). Это приводит к повышению общей пропускной способности данных AGP. Значительное улучшение производительности чтения памяти делает возможным для карты AGP чтение текстур непосредственно из системной оперативной памяти, в то время как графической карте PCI необходимо копировать их из системной оперативной памяти в видеопамять карты. Системная память предоставляется с помощью таблицы переназначения графических адресов (GART), которая распределяет основную память по мере необходимости для хранения текстур. Максимальный объем системной памяти, доступной для AGP, определяется как апертура AGP.

История

Слот AGP впервые появился на системных платах, совместимых с x86, на основе процессоров Socket 7 Intel P5 Pentium и Slot 1 P6 Pentium II. Intel представила поддержку AGP с чипсетом i440LX Slot 1 26 августа 1997 года, после чего последовал широкий выпуск продуктов от всех основных производителей системных плат. Первыми чипсетами Socket 7 с поддержкой AGP были VIA Apollo VP3, SiS 5591/5592 и ALI Aladdin V. Intel никогда не выпускала чипсеты Socket 7 с поддержкой AGP. Компания FIC продемонстрировала первую системную плату AGP Socket 7 в ноябре 1997 года – FIC PA 2012, основанную на чипсете VIA Apollo VP3, за которой очень быстро последовала EPoX P55 VP3, также основанная на чипсете VIA VP3 и первой поступившая в продажу. Ранние видеочипсеты с поддержкой AGP включали Rendition Vérité V2200, 3dfx Voodoo Banshee, Nvidia RIVA 128, 3Dlabs PERMEDIA 2, Intel i740, серию ATI Rage, Matrox Millennium II и S3 ViRGE GX/2. Некоторые ранние платы AGP использовали графические процессоры, построенные на базе PCI, которые просто подключались к AGP. В результате карты мало выигрывали от новой шины, единственным улучшением была тактовая частота шины 66 МГц, что давало вдвое большую пропускную способность по сравнению с PCI, а также эксклюзивный доступ к шине. Intel i740 был специально разработан для использования новых возможностей AGP; фактически, он был разработан для текстурирования исключительно из памяти AGP, что затрудняло реализацию PCI-версий платы (локальная оперативная память платы должна была эмулировать память AGP). Microsoft впервые представила поддержку AGP в Windows 95 OEM Service Release 2 (OSR2 версия 1111 или 950B) посредством патча USB SUPPLEMENT к OSR2. После установки патча система Windows 95 стала версией 4.00.950 B. Первой операционной системой на базе Windows NT, получившей поддержку AGP, была Windows NT 4.0 с пакетом обновления 3, представленным в 1997 году. Поддержка AGP для ускоренной передачи данных в Linux была впервые добавлена в 1999 году с внедрением модуля ядра AGPgart.

Позднее использование

С ростом популярности PCIe производители графических карт продолжали выпускать карты AGP, несмотря на устаревание стандарта. По мере того как графические процессоры начали разрабатываться для подключения к PCIe, для создания AGP-совместимых карт требовался дополнительный чип-переходник PCIe-AGP. Использование переходника и необходимость в отдельной разработке карты AGP приводили к увеличению стоимости производства. Первыми картами с переходником стали GeForce 6600 и ATI Radeon X800 XL, выпущенные в 2004–2005 годах. В 2009 году линейка карт AGP от Nvidia была ограничена серией GeForce 7. В 2011 году производители AMD (Club 3D, HIS, Sapphire, Jaton, Visiontek, Diamond и др.) предлагали AGP-карты с поддержкой DirectX 10, включая Radeon HD 2400, 3450, 3650, 3850, 4350, 4650 и 4670. Серия HD 5000 AGP, упоминавшаяся в программном обеспечении AMD Catalyst, так и не была выпущена. Под Windows 7 с видеокартами AGP серии HD 4000 возникало множество проблем с драйверами AGP Hotfix версий 11.2 и 11.6; в качестве возможного решения можно было использовать драйверы AGP Hotfix версий 10.12 или 11.1. Некоторые из перечисленных выше производителей предоставляют доступ к старым версиям драйверов AGP. К 2010 году новые чипсеты материнских плат перестали поддерживать AGP, и лишь немногие новые материнские платы оснащались слотами AGP, хотя некоторые продолжали производиться с использованием устаревших чипсетов, поддерживающих AGP. В 2016 году Windows 10 (версия 1607) прекратила поддержку AGP. В 2020 году рассматривалась возможность будущего отказа от поддержки AGP в драйверах ядра Linux с открытым исходным кодом.

Версии

AGP и PCI: 32-битные шины, работающие на частотах 66 и 33 МГц соответственно.

Спецификация | Напряжение | Частота | Передачи/такт | Скорость (МБ/с)
---|---|---|---|---
PCI | 3,3/5 В | 33 МГц | — | 133
PCI 2.1 | 3,3/5 В | 33/66 МГц | — | 133/266
AGP 1.0 | 3,3 В | 66 МГц | 1× | 266
AGP 1.0 | 3,3 В | 66 МГц | 2× | 533
AGP 2.0 | 1,5 В | 66 МГц | 4× | 1066
AGP 3.0 | 0,8 В | 66 МГц | 8× | 2133
AGP 3.5* | 0,8 В | 66 МГц | 8× | 2133

Компания Intel выпустила "Спецификацию AGP 1.0" в 1997 году.

64-битный AGP

64-битный канал рассматривался как необязательный стандарт для AGP 3.0 в черновиках документации, но был исключен из финальной версии стандарта. Стандарт поддерживает 64-битную передачу данных для операций AGP8× чтения, записи и быстрой записи, а также 32-битную передачу для операций PCI.

Неофициальные изменения

Производители создали несколько нестандартных вариантов интерфейса AGP.

Внутренний интерфейс AGP

Ultra AGP, Ultra AGPII — это внутренний стандарт интерфейса AGP, используемый SiS в контроллерах северного моста с интегрированной графикой. Оригинальная версия обеспечивает такую же пропускную способность, как AGP 8×, а Ultra AGPII — максимальную пропускную способность 3,2 ГБ/с.

Порты AGP на основе PCI

AGP Express Не является полноценным интерфейсом AGP, но позволяет подключить карту AGP через устаревшую шину PCI к материнской плате PCI Express. Это технология, используемая на материнских платах ECS, предназначенная для того, чтобы дать возможность использовать существующую карту AGP в новой материнской плате вместо необходимости приобретения карты PCIe (поскольку после появления видеокарт PCIe слоты AGP встречаются на материнских платах редко). Слот "AGP Express" – это, по сути, слот PCI (с удвоенной электрической мощностью) с разъемом AGP. Он обеспечивает обратную совместимость с картами AGP, но предлагает неполную поддержку (некоторые карты AGP могут не работать с AGP Express) и сниженную производительность – карта вынуждена использовать общую шину PCI с её меньшей пропускной способностью, вместо того чтобы иметь эксклюзивный доступ к более быстрой AGP. AGI ASRock Graphics Interface (AGI) – это фирменный вариант стандарта Accelerated Graphics Port (AGP). Его назначение – обеспечить поддержку AGP для материнских плат ASRock, использующих чипсеты, не имеющие встроенной поддержки AGP. Однако он не полностью совместим с AGP, и известно, что некоторые чипсеты видеокарт не поддерживаются. AGX EPoX Advanced Graphics eXtended (AGX) – ещё один фирменный вариант AGP с теми же преимуществами и недостатками, что и AGI. В руководствах пользователя рекомендуется не использовать видеокарты ATI AGP 8x со слотами AGX. XGP Biostar Xtreme Graphics Port – ещё один вариант AGP, также обладающий теми же преимуществами и недостатками, что и AGI и AGX.

Порты AGP на основе PCIe

AGR (Advanced Graphics Riser) — это разновидность порта AGP, используемая в некоторых материнских платах PCIe производства MSI для обеспечения ограниченной обратной совместимости с AGP. Фактически, это модифицированный слот PCIe, обеспечивающий производительность, сопоставимую со слотами AGP 4x/8x, но не поддерживающий все видеокарты AGP. Производитель опубликовал список некоторых видеокарт и чипсетов, совместимых с этим модифицированным слотом.