AGP

Стандарт на AGP был разработан фирмой Intel с для того, чтобы не меняя сложившийся стандарт на шину PCI, ускорить ввод/вывод данных в видеокарту и, кроме этого, увеличить производительность компьютера при обработке трехмерных изображений без установки дорогостоящих двухпроцессорных видеокарт с большими объемами как видеопамяти, так и памяти под текстуры, z-буфер и т.п.. Этот стандарт был поддержан большим количеством фирм, входящих в AGP Implementors Forum, организацию, созданную на добровольной основе для внедрения этого стандарта. Стартовая версия стандарта - AGP 1.0.

Конструктивное исполнение:

  • Отдельный слот с питанием 3.3 V, напоминающий слот PCI, но на самом деле никак с ним несовместимом. Обычная видеокарта не может быть установлена в этот слот и наооборот.

Принципы работы и основные преимущества AGP по сравнению с PCI:

1. Физические характеристики AGP по сравнению с PCI

  • Скорость передачи данных до 532 Mb/s, которая обусловлена частотой шины AGP 66 MHz, возможностью отмены механизма мультиплексирования шины адреса и данных (на PCI по одним и тем же физическим линиям сначала выдается адрес, а потом данные). Шина PCI имеет тактовую частоту 33 MHz и 32 разряда данных, поэтому может пропустить 33 000 000 х 4 байта = 132 Mb/s. AGP имеет частоту шины 66 MHz и ту же разрядность и в стандартном режиме (точнее - режим "1x") может пропустить 66 000 000 х 4 байта = 266 Mbytes/s. В режиме x1 в качестве строба используется сам сигнал тактовой частоты. Для повышения пропускной способности шины AGP в стандарт заложена возможность передавать данные с помощью дополнительных специальных сигналов, используемых как стробы, вместо сигнала CLK в обычном режиме (это режимы "2x" и "4х"). В режиме 2x пропускная способность становится тем самым 66 000 000 х 2 х 4 байта = 532 Mbytes/s. В режиме "4х" (введен в спецификации 2.0) пропускная способность возрастает соответственно, до 1064 Mbytes/s.

  • Кроме "классического" способа адресации как на PCI - сначала выставляется адрес, затем на тех же шинах появляются данные, в AGP может использоваться режим sideband addressing, называемый также "адресацией по боковой полосе", при котором шины адреса и данных разнесены и поэтому могут передаваться одновременно. Скорость обмена в режиме SBA существенно возрастает, так как ликвидируются временные затраты на передачу адреса по шине. При этом используются специальные, отсутствующие в PCI, сигналы адреса SBA (SideBand Addressing). В таблице ниже приведены результаты теста 3DMark99 для видеокарты ASUS V3400 TNT 16 MB SGRAM с включенным режимом SBA и без него.

 


2 MB текстуры

4 MB текстуры

8 MB текстуры

16 MB текстуры

32 MB текстуры

SBA включен, кадров в секунду

214.1

159.2

103.5

5.9

28.3

SBA выключен, кадров в секунду

202.4

144.6

95.3

49.3

22.9

 

Из таблицы видно, что с увеличением размера текстур и, соответственно, увеличением объема передаваемых в видеокарту данных разница в быстродействии (в процентном отношении) резко возрастает.

  • Конвейрная обработка данных на AGP в отличии от PCI. Рисунок ниже показывает это наглядно:

Рисунок 1. AGP против PCI. На PCI по выставленному адресу после задержки появляются данные. На AGP сначала выставляется пакет адресов, на которые следует ответ пакетом данных. (c) Intel Corporation

  • Основная обработка трехмерных изображений выполняется в основной памяти компьютера как центральным процессором, так и процессором видеокарты. Механизм доступа процессора видеокарты к памяти получил название DIrect Memory Execute (DIME - непосредственное выполнение в памяти). Следует упомянуть, что сейчас не все видеокарты стандарта AGP поддерживают этот механизм. Некоторые карты пока имеют только механизм, аналогичный bus master на шине PCI, т.е. используются каналы DMA для быстрой перекачки даннных в видеокарту. Не следует путать этот принцип с UMA (Unified Memory Architecture), который используется в недорогих видеокартах, размещенных, как правило, на материнской плате (например, SP97-V фирмы ASUSTeK Computers). Основные отличия:

    • Область основной памяти компьютера, которая может использоваться AGP картой (ее также называют "AGP память"), не заменяет память экрана. В UMA основная память используется как память экрана, а AGP память лишь дополняет ее.

    • Пропускная способность памяти в UMA видеокарте меньше, чем для шины PCI.

Рисунок 2. Структурная схема взаимодействия AGP карты и компьютера.

  • Для вычислений текстур привлекаются только центральный процессор и процессор видеокарты.

  • Центральный процессор записывает данные для видеокарты непосредственно в область обычной памяти, доступ к которой получает также и процессор видеокарты.

  • Выполняются только операции чтения/записи в память

  • Нет арбитража на шине (AGP порт всегда один) и временных затрат на него

2. Сравнение AGP и PCI видеокарт:

  • Реально AGP карта будет опережать обычную карту (если сравнивать карты с близкими по мощности видеопроцессорами) только на задачах обработки трехмерных изображений, требующих большого объема памяти для текстур (более 8 Mb). Надо понимать при этом, что собственно память компьютера должна быть не менее 32 MB, иначе AGP карте негде будет размещать текстуры.

  • Тесты различных карт, выполненные Tom Pabst осенью 1997 года, показали, что на обычных тестах практически никакой разницы между появившемися сейчас AGP картами и эталонной картой Matrox Millenium II нет. На трехмерных тестах разница есть, но не очень существенная. С тех пор много воды утекло и ситуация существенно изменилась, о чем и говорится далее.

  • Windows 95 OSR2 версии 2.5 уже достаточно полно поддерживает AGP и результаты трехмерных тестов для AGP опережают результаты для PCI, особенно при сценах с большими наборами текстур. На сайте Tom Pabst можно посмотреть их результаты. В Windows NT 4.0 поддержки AGP нет и только в версии NT 5.0 (Windows 2000) преимущества AGP можно будет использовать.

  • Стандарт AGP сам по себе не гарантирует роста производительности. Только в том случае, когда разработчик видеокарты (точнее, процессора видеокарты) использует все возможности шины, это дает прирост производительности. Например, видеокарта Matrox Millenium II AGP не поддерживает как DIME, так и режим "2x", поэтому практически невозможно найти приложение, под которым AGP вариант этой видеокарты будет как-то превосходить вариант PCI.

  • AGP видеокарта может существенно опередить такую же PCI видеокарту только в случае использования либо DMA и x2, либо DIME и x2. В режимах без x2 выигрыша практически нет. Проверить, в каком режиме работает видеокарта в компьютере, можно с помощью небольшой программы pcilist, которую можно переписать с сайта фирмы EnTech Taiwan.

Развитие AGP

1. AGP 2.0

В декабре 1997 года фирма Intel выпустила предварительную версию стандарта AGP 2.0, а в мае 1998 года окончательный вариант. Основные отличия от предыдущей версии:

  • Скорость передачи может быть увеличена еще в два раза по сравнению с 1.0 - этот режим получил название "4x" - и достигать значения 1064 MB/c.

  • Скорость передачи адреса в режиме "адресации по боковой полосе" также может быть увеличена еще в два раза

  • Добавлен механизм "быстрой записи" Fast Write (FW). Основная идея - запись данных/команд управления непосредственно в AGP устройство, минуя промежуточное хранение данных в основной памяти. Для устранения возможных ошибок в стандарт на шину введен новый сигнал WBF# (Write Buffer Full - буфер записи полон). Если сигнал активен, то режим FW невозможен.

Первые видеокарты, поддерживающие версию 2.0, появились в конце апреля 1999 года. По внешнему виду AGP разъема видеокарты можно легко определить наличие такой поддержки.

Вид на разъем видеокарты с AGP 1.0

Вид на разъем видеокарты с AGP 2.0

Как видно из фотографий, конструктивно разъемы отличаются дополнительной прорезью у AGP 2.0. Поскольку соответствующий разъем на материнской плате будет иметь пластиковую полосу в под вторую прорезь, плату с AGP 1.0 в такой разъем установить будет нельзя, а наооборот - без каких-либо проблем.

2. AGP Pro

В июле 1998 года Intel выпустила версию 0.9 спецификации на AGP Pro, существенно отличающейся конструктивно от AGP 2.0. Краткая суть отличий в следующем:

  • Изменен разъем AGP - добавлены выводы по краям существующего разъема для подключения дополнительных цепей питания 12V и 3.3V

  • Совместимость с AGP 2.0 только снизу вверх - платы с AGP 2.0 можно устанавливать в слот AGP Pro, но не наооборот.

  • AGP Pro предназначена только для систем с ATX форм-фактором. Установка плат AGP Pro в NLX системы не предусмотрена (слишком велик размер платы в AGP Pro).

  • Поскольку карте AGP Pro разрешено потребление до 110 Wt (!!), высота элементов на плате (с учетом возможных элементов охлаждения) может достигать 55 мм, поэтому два соседних слота PCI должны оставаться свободными. Кроме этого, два соседних слота PCI могут использоваться платой AGP Pro для своих целей.

  • С точки зрения схемотехники новая спецификация ничего не добавляет, кроме специальных выводов, сообщающих системе о потреблении платы AGP Pro.

Из рисунка видно, что размеры слота AGP Pro вызывают ностальгические воспоминания по концу 80-х годов, когда плата контроллера дисплея выглядела почти так же (хотя по толщине не была больше одного отсека). Конечно, спецификация на AGP Pro оговаривает максимальные габариты и токи потребления, но после ознакомления с ней в голову приходит крамольная мысль - а что Intel теперь считает основным процессором в компьютере?

AGP 8X

В ноябре 2000 года Intel выпустила предварительную версию (draft) следующего варианта AGP шины - 8X. Основная идея - увеличение полосы пропускания до 8х4=32 байт за один такт системной шины. Это означает, что скорость передачи данных на шине возрастет до 2-х Гигабайт в секунду. Как это получается, видно из рисунка ниже:

Кроме этого, в проект нового варианта шины заложены несколько принципиальных изменений, расширяющих возможности интерфейса AGP. Можно перечислить некоторые из них:

  • Понижение уровня напряжений сигналов на шине

  • Циклы калибровки

  • Динамическая инверсия шины

  • Поддержка изохронного режима передачи данных

  • Поддержка нескольких AGP 8X портов (ранее был возможен только один порт)

  • Новые регистры конфигурации для 8Х шины

Что дальше?

На самом деле с уменьшением стоимости синхронной памяти SDRAM (и ее разновидности - синхронной графической памяти SGRAM), а также еще более быстрой DDR DRAM перспективы AGP не так радужны, как в свое время казалось. Основная цель, которую преследовала Intel - создание дешевого эквивалента профессиональным видеокартам с большими объемами локальной памяти теряет смысл при низкой стоимости памяти. Значение полосы пропускания в платах стандарта AGP 2.0 (1 GB/s), которые еще только должны появиться, в 2 раза меньше реальной сегодняшней полосы пропускания для локальной SGRAM памяти, достигающей 2 GB/s. Поэтому увеличение тактовой частоты и разрядности шины PCI может свести на нет все преимущества AGP.
Другое дело, что AGP стал фактически единственным интерфейсом для видеокарт и только этот факт делает практически невозможным обратный переход к PCI, поэтому AGP развиваться будет и впредь, но как бы параллельно с развитием PCI.

Accelerated Graphics Port (AGP) - Ускоренный графический порт