Аппаратные интерфейсы ПК. Энциклопедия
Шрифт:
Фирма Intel на базе шины PCI 2.1 разработала стандарт подключения графических адаптеров — AGP (Accelerated Graphic Port — ускоренный графический порт). Первая версия стандарта вышла в 1996 году, в настоящее время действует версия 2.0 (1998 года), отличающаяся от первой в основном введением нового режима передачи 4x. В конце 2000 г. Intel опубликовала проект спецификации AGP8X, которая рассматривается как отдельная спецификация, а не просто развитие предыдущих. Ее особенности отметим в конце раздела.
Порт AGP представляет собой 32-разрядную шину с тактовой частотой 66 МГц, большая часть сигналов позаимствована
♦ конвейеризацией обращений к памяти;
♦ удвоенной (2х) или учетверенной (4х) частотой передачи данных (относительно тактовой частоты порта);
♦ демультиплексированием шин адреса и данных.
Идею конвейеризации обращений к памяти иллюстрирует рис. 6.11, где сравниваются обращения к памяти PCI и AGP. В PCI во время реакции памяти на запрос шина простаивает (но не свободна). Конвейерный доступ AGP позволяет в это время передавать следующие запросы, а потом получить поток ответов.
Рис. 6.11. Циклы обращения к памяти PCI и AGP
Удвоение и учетверение частоты передачи данных обеспечивает при частоте 66 МГц пропускную способность до 533 (2х) и 1066 Мбайт/с (4х), что для 32-битной шины несколько неожиданно. В этих режимах блоки данных передаются как по фронту, так и по спаду стробирующего сигнала (как в ATA Ultra DMA). Режимы 2х и 4х могут использоваться, лишь если их поддерживают и графический адаптер, и системная плата.
Демультиплексирование (разделение) шины адреса и данных сделано несколько необычным образом. С целью экономии числа интерфейсных линий шину адреса и команды в демультиплексированном режиме AGP представляют всего 8 линий SBA (SideBand Address), по которым команда, адрес и значение длины передачи передаются последовательно за несколько тактов. Поддержка демультиплексированной адресации не является обязательной для устройства AGP, поскольку имеется альтернативный способ подачи адреса по шине
Порт AGP предназначен только для интеллектуального графического адаптера, имеющего SD-ускоритель (для краткости здесь этот адаптер будем называть просто ускорителем). Системная логика порта AGP отличается сложным контроллером памяти, который выполняет глубокую буферизацию и высокопроизводительное обслуживание запросов AGP (от адаптера) и других своих клиентов — центрального процессора (одного или нескольких) и шины PCI. AGP может реализовать всю пропускную способность 64-битной системы памяти компьютера на процессорах Pentium и выше. При этом возможны конкурирующие обращения к памяти как со стороны процессора, так и со стороны мостов шин PCI. Фирма Intel ввела поддержку AGP
Отметим, что многие преимущества AGP носят потенциальный характер и могут быть реализованы лишь при поддержке аппаратных средств графического адаптера и ПО. Графический адаптер с интерфейсом AGP может реально вести себя по-разному:
♦ не задействовать конвейеризацию, а использовать только быструю запись PCI (Fast Write);
♦ не работать с текстурами, расположенными в системной памяти, но использовать более быстрый обмен данными между памятью и локальным буфером;
♦ использовать оптимальное распределение текстур между локальной и систем ной памятью, избегая конфликтов с обращениями к памяти от процессора.
Порт AGP содержит практически полный набор сигналов шины PCI и дополнительные сигналы AGP. Устройство, подключаемое к порту AGP, может предназначаться как исключительно для операций AGP, так и быть комбинацией AGP+PCI. Устройство обязательно должно выполнять функции ведущего устройства AGP (иначе порт AGP для него теряет смысл) и функции ведомого устройства PCI со всеми его атрибутами (конфигурационными регистрами и т.п.); дополнительно оно может быть и ведущим устройством PCI. Для транзакций в режиме AGP ему доступно только системное ОЗУ. В режиме PCI обращения возможны как к пространству памяти, так и к пространству ввода-вывода и конфигурационному пространству.
Транзакции в режиме PCI, инициируемые ускорителем, начинаются с подачи сигнала
Конвейерные транзакции AGP (команды AGP) инициируются только ускорителем; логикой AGP они ставятся в очереди на обслуживание и исполняются в зависимости от приоритета, порядка поступления запросов и готовности данных. Эти транзакции могут быть адресованы ускорителем только к системному ОЗУ. Если устройству AGP требуется обратиться к локальной памяти каких-либо устройств PCI, то оно должно выполнять эти транзакции в режиме PCI. Транзакции, адресованные к устройству AGP, отрабатываются им как ведомым устройством PCI, однако имеется возможность быстрой записи в локальную память FW (Fast Write), в которой данные передаются на скорости AGP (2х или 4х), и управление потоком их передач ближе к протоколу AGP, нежели PCI. Транзакции FW обычно инициируются процессором и предназначены для принудительного «заталкивания» данных в локальную память ускорителя.