logo
3-158

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

Шина персонального компьютера (PC) претерпла множество изменений в связи с повышаемыми к ней требованиями. Исходным расширением шины PC была шина Industry Standard Architecture (ISA), которая, несмотря на свои ограничения, все еще используется для периферийных устройств c преимущественно низкой шириной полосы пропускания, как, например, звуковые карты типа Sound Blaster. Шина Peripherals Connection Interface (PCI), стандарт, пришедший на смену спецификации VESA VL bus, стала стандартной системной шиной для быстродействующих периферийных устройств, как, например, дисковые контроллеры и графические платы. Тем не менее, внедрение 3D-графики угрожает перегрузить шину PCI.

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

Разработчики PC имели ранее возможность использовать системную память для хранения информации о текстурах и для z-буфера, но ограничением в таком подходе была передача этой информации через шину PCI. Производительность графической подсистемы и системной памяти ограничиваются физическими характеристиками шины PCI. Кроме того, ширина полосы пропускания PCI, или ее емкость, недостаточна для обработки графики в режиме реального времени. Чтобы решить эти проблемы, Intel разработала AGP (рисунок 9.3).

Если определить кратко, что такое AGP, то это — прямое соединение между графической подсистемой и системной памятью. Это решение позволяет обеспечить значительно лучшие показатели передачи данных, чем при передаче через шину PCI; оно явно разрабатывалось, чтобы удовлетворить требованиям вывода 3D-графики в режиме реального времени. AGP позволяет более эффективно использовать память страничного буфера (frame buffer), тем самым увеличивая также производительность 2D- графики и увеличивая скорость прохождения потока данных 3D-графики через систему.

Рисунок 9.3 — Структурная схема использования AGP

Определение AGP, как вид прямого соединения между графической подсистемой и системной памятью, называется соединением point-to-point. В действительности, AGP соединяет графическую подсистему с блоком управления системной памятью, разделяя этот доступ к памяти с центральным процессором компьютера (CPU).

Через AGP можно подключить только один тип устройств — графическую плату. Графические системы, встроенные в материнскую плату и использующие AGP, не могут быть улучшены.

Определение Intel, подтверждающее, что после реализации AGP становится стандартом, следует из того, что без такого решения достижение оптимальной производительности 3D-графики в PC будет очень трудно обеспечить. 3D-графика в режиме реального времени требует прохождения очень большого потока данных в графическую подсистему. Без AGP для решения этой проблемы требуется применение нестандартных устройств памяти, которые являются дорогостоящими. При применении AGP текстурная информация и данные z-буфера могут храниться в системной памяти. При более эффективном использовании системной памяти графические платы на базе AGP не требуют собственной памяти для хранения текстур и могут предлагаться уже по значительно более низким ценам.

Теоретически PCI могла бы выполнять те же функции, что и AGP, но производительность была бы недостаточной для большинства приложений. Intel разрабатывала AGP для функционирования на частоте 133 MHz и для управления памятью по совершенно другому принципу, чем это осуществляет PCI. В случае с PCI, любая информация, находящаяся в системной памяти, не является физически непрерывной. Это означает, что существует задержка при исполнении, пока информация считывается по своему физическому адресу в системной памяти и передается по нужному пути в графическую подсистему. В случае с AGP, Intel создала механизм, в результате чего физический адрес, по которому информация хранится в системной памяти, совершенно не важен для графической подсистемы. Это ключевое решение, когда приложение использует системную память, чтобы получать и хранить необходимую информацию. В системе на основе AGP не имеет значения, как и где хранятся данные о текстурах, графическая подсистема имеет полный и беспроблемный доступ к требуемой информации.