Ускоренный графический порт AGP

По мере развития возможностей графической системы - увеличения разрешения как по количеству пикселов, так и по глубине цвета - требования к пропускной способности шины, связывающей дисплейный адаптер с памятью и центральным процессором компьютера, повышаются. Параллельно повышению пропускной способности шины применяют меры по уменьшению потока данных, передаваемых по этой шине при графических построениях. Для этих целей графические платы снабжают акселераторами и увеличивают объем буферной памяти (видеопамяти), которой пользуется процессор акселератора при выполнении построений. В результате высокоинтенсивный поток данных в основном циркулирует внутри графической карты, относительно слабо нагружая внешнюю шину. Однако на новом витке гонки функциональных возможностей графический акселератор занимается и трехмерными построениями, в результате чего ему становится тесно в ограниченном объеме встроенной памяти графического адаптера и его поток данных снова выплескивается на внешнюю шину.

Ускоренный графический порт (AGP) это расширение шины PCI, чье назначение обработка больших массивов данных 3D графики. Intel разрабатывала AGP для решения двух проблем перед внедрением 3D графики на PCI. Во-первых, 3D графика требуется как можно больше памяти информации текстурных карт (texture maps) и z-буфера (z-buffer). Чем больше текстурных карт доступно для 3D приложений, тем лучше выглядит конечный результат. При нормальных обстоятельствах z-буфер, который содержит информацию относящуюся к представлению глубины изображения, использует ту же память, как и текстуры. Этот конфликт предоставляет разработчикам 3D множество вариантов для выбора оптимального решения, которое они привязывают к большой значимости памяти для текстур и z-буфера, и результаты напрямую влияют на качество выводимого изображения.  Разработчики PC имели ранее возможность использовать системную память для хранения информации о текстурах и z-буфера, но ограничение в таком подходе, была передача такой информации через шину PCI. Производительность графической подсистемы и системной памяти ограничиваются физическими характеристиками шины PCI. Кроме того, ширина полосы пропускания PCI, или ее емкость, не достаточна для обработки графики в режиме реального времени. Чтобы решить эти проблемы Intel разработала AGP.  Если определить кратко, что такое AGP, то это - прямым соединением между графической подсистемой и системной памятью. Это решение позволяет обеспечить значительно лучшие показатели передачи данных, чем при передаче через шину PCI (рис. 1). AGP позволяет более эффективно использовать память страничного буфера (frame buffer), тем самым увеличивая производительность 2D графики также, как увеличивая скорость прохождения потока данных 3D графики через систему.

Рис. 1. Передача данных в AGP и PCI.

В действительности, AGP соединяет графическую подсистему с блоком управления системной памятью, разделяя этот доступ к памяти с центральным процессором компьютера (CPU). Через AGP можно подключить только один тип устройств - это графическая плата. Этот порт представляет собой 32-разрядную шину с тактовой частотой 66/133 МГц, по составу сигналов напоминающую шину PCI. Повышенная пропускная способность порта AGP обеспечивается следующими тремя факторами:

  • Конвейеризацией операций обращения к памяти.

  • Сдвоенными передачами данных.

  • Демультиплексированием шин адреса и данных.

Конвейеризацию обращений к памяти иллюстрирует рис. 2, где сравниваются обращения к памяти PCI и AGP. При неконвейеризированных обращениях PCI во время реакции памяти на запрос шина простаивает. Конвейерный доступ AGP позволяет в это время передавать следующие запросы, а потом получить плотный поток ответов (самих передаваемых данных). Спецификация AGP предусматривает возможность постановки в очередь до 256 запросов. AGP поддерживает две пары очередей для операций записи и чтения памяти с высоким и низким приоритетом. В процесс передачи данных любого запроса может вмешаться следующий запрос, в том числе и запрос в режиме PCI.

Рис. 2. Циклы обращения к памяти PCI и AGP

Сдвоенные передачи данных обеспечивают при частоте тактирования шины в 66 МГц пропускную способность до 532 Мбайт/с, что для 32-битной шины (4 байта) несколько неожиданно: 66,6х4=266. В AGP кроме "классического" режима, называемого теперь "x1", в котором за один такт синхронизации передается один 4-байтный блок данных, имеется возможность работы в режиме "х2", когда блоки данных передаются как по фронту, так и по спаду сигнала синхронизации (как и в шине АТА Ultra DMA или DDR RAM). Управление передачей в таком режиме названо SideBand Control (сокращенно - приставка SB к имени сигнала). Заказать режим х2 может только графическая карта, если, конечно, она его поддерживает. Для тактовой частоты 133 МГц (режим "х4") пропускная способность соответственно удваивается.

Демультиплексирование (разделение) шины адреса и данных сделано несколько необычным образом. В идеале демультиплексирование подразумевает наличие двух полноразрядных шин - адреса и данных. Однако реализация такого варианта была бы слишком дорогой. Поэтому шину адреса в демультиплексированием режиме представляют 8 линий SBA (SideBand Address), по которым за три такта синхронизации передаются четыре байта адреса, длина запроса (1 байт) и команда (1 байт). За каждый такт передаются по два байта - один по фронту, другой по спаду тактового сигнала. Поддержка демультиплексированной адресации не является обязательной для карты с портом AGP, но хост-контроллер, естественно, должен ее поддерживать. Альтернативой такому способу подачи адреса является обычный - по мультиплексированной шине АD.

Таким образом, AGP может реализовать всю пропускную способность 64-битной основной памяти компьютера на процессоре Pentium и старше. При этом возможны конкурирующие обращения к памяти как со стороны процессора, так и со стороны мостов шин PCI. Порт AGP может работать как в своем "естественном" режиме с конвейеризацией и сдвоенными передачами, так и в режиме шины PCI. В конвейеризированном режиме, в котором начало цикла отмечается сигналом РIРЕ#, возможны только обращения к памяти. В режиме PCI циклы начинаются с сигнала FRAME# и обращения возможны как к пространству памяти, так и пространству ввода/вывода и конфигурационному пространству. Кроме собственно AGP, в него заложены и сигналы шины USB, которую предполагается заводить в монитор. Внешне карты с портом AGP похожи на PCI, но у них используется разъем повышенной плотности с "двухэтажным" расположением ламелей, и сам разъем располагается несколько дальше от задней кромки платы, чем разъем PCI. Порт позволяет работать в двух режимах - режиме DMA и режиме исполнения (Executive Mode). В режиме DMA акселератор при вычислениях рассматривает свой локальный буфер как первичную память, а когда ее объема недостаточно, подкачивает данные из основной памяти, используя быстрый канал AGP. При этом для трафика порта характерны длительные последовательные (блочные) передачи. В режиме исполнения локальный буфер и основная память для акселератора равнозначны и располагаются в едином адресном пространстве. Такой режим работы акселератора с памятью называется DIME (Direct Memory Execute). Для этого режима график порта будет насыщен короткими произвольными запросами. Надо заметить, что многие преимущества AGP носят потенциальный характер и могут быть реализованы лишь при встречной поддержке как со стороны аппаратных средств графического адаптера, так и со стороны программного обеспечения.

11 сентября 2002 г. - Корпорация Intel объявила о выходе окончательной версии спецификации AGP 3.0 (сокращение AGP расшифровывается как Advanced Graphics Port - быстродействующий графический порт), отвечающей потребностям будущих приложений по обработке графики в отношении производительности и масштабируемости. Спецификация AGP 3.0, определяющая технические условия решения AGP8x - прямого наследника прежней технологии AGP4x, является интеллектуальной собственностью корпорации Intel, которая готова предоставить участникам программы безвозмездную лицензию на применение нового стандарта.

Технология AGP8x удваивает скорость передачи графических данных по сравнению со своей предшественницей AGP4x, с которой обладает обратной совместимостью. Будучи изначально предназначенной для самых современных рабочих станций, новая шина призвана со временем занять доминирующие позиции на рынке настольных компьютерных систем.

Объявление о выходе окончательной версии спецификации, сделанное сегодня на осеннем Форуме Intel для разработчиков (IDF) 2002 г., проходящем в калифорнийском городе Сан-Хосе, увенчало собой двухлетние совместные усилия разработчиков Intel и их коллег из таких крупнейших фирм-изготовителей устройств по обработке графики, как ATI, NVIDIA, Matrox и 3D Labs.

Технология AGP8x сыграет весьма значительную роль в наращивании производительности графических подсистем высококлассных рабочих станций, обслуживающих, в частности, приложения объемной визуализации. Удвоение пропускной способности шины AGP, обеспечивающее скорость передачи графических данных порядка 2,1 гигабайт в секунду (Гбайт/сек), сопряжено с наращиванием тактовой частоты процессоров графического вывода до 533 МГц, тем самым напрямую оказывая влияние на рост производительности графической подсистемы в целом. Наращивание пропускной способности интерфейса AGP позволит разработчикам создавать все более сложное программное обеспечение, например, быстродействующие приложения по обработке видео в реальном времени, обогащающие видеоматериалы новыми функциями.

Корпорация Intel готовит к выпуску в четвертом квартале два набора микросхем (под кодовыми наименованиями Placer и Granite Bay), предназначенные для рабочих станций класса "high-end" и начального уровня, а к началу следующего учебного года - аналогичное устройство для настольных систем массового производства. Наборы микросхем для рабочих станций будут продемонстрированы на этой неделе в рамках форума IDF.

Технология AGP8x станет последним параллельным интерфейсом, отвечающим потребностям компьютерной индустрии, перед ее переходом в 2004 году на последовательное решение по передаче графических данных на базе шины PCI Express. Архитектура PCI Express представляет собой высокоскоростную технологию общего назначения, предназначенную для последовательного подключения множества устройств ввода-вывода на основе единого стандарта.

В ближайшие год-два технология AGP8x хорошо послужит программному обеспечению рабочих станций, а в будущем году придаст мощный импульс разработке первоклассных, нуждающихся в высокой пропускной способности приложений для настольных компьютерных систем.

Ведущие изготовители оборудования уже приступили к выпуску продукции на основе технологии AGP8x. Так, ранее в этом году появились первые графические адаптеры с интерфейсом AGP8x