AGP и PCI

AGP

В основном AGP это вариант PCI, поэтому все операции контроллеров AGP интерфейса обладают всеми возможностями PCI устройств. Оба интерфейса 32-битной ширины и большинство сигналов одинаковы. В PCI много слотов, в то время как AGP - поточечное соединение. PCI работает с частотой 33 МГц, AGP - 66 МГц. AGP интерфейс может производить два типа транзакций: PCI транзакции и AGP транзакции. Единственные AGP транзакции являются "bus mastering" передачами из системной памяти графическому контроллеру и инициируются графическим контроллером. Все остальные транзакции производятся как PCI передачи. Даже при этом эти транзакции вдвое быстрее, чем транзакции на PCI шине из-за более высокой тактовой частоты AGP интерфейса. Некоторые старые AGP-карты могут производить только PCI-транзакции. Предположительно примерами таких "быстрых PCI" карт могут быть Matrox Millenium II AGP и Trident 9650.

AGP транзакции - адресация по побочной частоте

AGP транзакции используются только в "bus mastering" режиме. В то время как в простых PCI транзакциях при быстрейшей транзакции может передаваться 4 32-битных слова за 5 тактов часов (так как передается адрес по линиям адресов/данных для каждого пакета из 4 слов), AGP передачи могут использовать дополнительные AGP линии, называемые Побочными (Sideband), для передачи адреса маленькими кусочками одновременно с данными. Во время передачи пакета из 4 слов передаются 4 части адреса для следующего пакетного (взрывного) цикла. По завершении цикла адрес и информация запроса для следующего пакета уже переданы, поэтому следующий 4-словный пакет может начинать сразу же передаваться. Таким образом мы можем передать 4 слова за 4 цикла (а не за 5, необходимые PCI). Вместе с 66 МГц частотой часов это предоставляет максимальную скорость передачи (4x66=) 264 Мб/с.

1x, 2x и 4x режимы

Помимо более быстрых часов, AGP интерфейс обладает другими опциями, которые могут увеличить скорость передачи данных. Во время осуществления AGP-транзакций, интерфейс может работать в одном из трех режимов, отмечаемых как 1x, 2x и 4x. Действительный режим, используемый для AGP передачи, устанавливается между материнской платой и AGP картой и после его определения во время системной инициализации остается неизменным. Установка режима зависит от доступности/поддержки конкретного режима и его стабильности.

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

- 1x режим передает одну порцию (слово) данных и побочную информацию при каждом такте часов. Это приносит 264 Мб/с.

- 2x режим передает данные и побочную информацию в начале и конце каждого такта часов, поэтому две порции данных передаются за один такт часов, при этом общий максимальный вывод соответствует 528 МГц.

- В 4x режиме тактовая частота остается равной 66 МГц, но два других сигнала, запускающиеся синхронно с главными часами с эффективной частотой 133 МГц, используются для передачи данных в начале и конце каждого такта. Это приносит максимальный вывод свыше 1 Гб/с.

AGP апертура, GART и DIME

Описанные выше функции делают AGP быстрее, чем PCI, но они не представляют никаких новых логических возможностей. Помимо лучшего, более быстрого железа, AGP также воплощает новую логическую модель, которая может значительно улучшить работу графического контроллера.

Попросту говоря, PCI bus mastering подходит для передачи небольших порций данных (от сотен байт до нескольких килобайт). Во время программирования PCI bus master'а система/драйвер записывает физический адрес данных, предназначенных для передачи. Для маленьких объемов данных система с легкостью может сделать так, чтобы логически смежные адреса переносились бы в физически смежные. Это становится трудным и неэффективным для больших структур данных, таких как многомегабайтные текстуры и огромные списки показа, так как система загружает эти структуры в свое логическое адресное пространство, которое случайно распределено по физическим адресам.

Главная задача AGP в том, чтобы карта могла "видеть" часть системной памяти как свою собственную память, которую можно использовать для хранения текстур и списков показа. Чтобы использовать возможности AGP более эффективно, система должна предоставлять механизм, который позволял бы переносить "логические" адреса, используемые графическим AGP чипом, в действительные физические адреса способом, подобным используемому процессорами x86.

AGP апертура

AGP апертура это фрагмент адресного пространства сразу же за физическими адресами, используемыми буфером кадров AGP карт (видеопамять). Эта часть адресного пространства используется AGP картами для доступа к системной памяти, в которой хранятся текстуры. Физически системная память адресуется, начиная с 0 адреса и до своего объема. AGP апертура поделена на логические страницы, и страницы переносятся индивидуально на физические страницы системной памяти.

GART

Graphics Aperture Remapping Table - Таблица Переноса Графической Апертуры - это аппаратная структура внутри AGP чипсета, которая осуществляет перенос адресов AGP апертуры в физические адреса системной памяти. Она слегка напоминает блок TLB вызова, находящийся во всех современных процессорах. GART находится в NorthBridge части чипсета. Она управляется (программируется) операционной системой и используется AGP картой.

GART драйвер

Так как действительное применение GART зависит от чипсета, у ОС должны быть некоторые значения для доступа к ней. GART драйвер - это драйвер, используемый ОС (как Win9x) для управления GART. Win95 вообще ничего не знает о GART, поэтому она должна использовать внешние драйверы. Win98 информирована о GART чипсетах Intel и в нее включены соответствующие драйверы. Для не-Intel чипсетов при использовании функций GART надо использовать драйверы от производителей чипсета. Это так называемый "AGP driver". Драйвер обычно поставляется с материнской платой и обновления можно скачать непосредственно от производителей чипсета (как VIA или ALi).

DIME

Direct Memory Execution - Непосредственное Выполнение из Памяти - это название лучшего рабочего режима AGP, достигаемого за счет использования AGP апертуры с GART.

2x mode vs. DIME (2х режим с DIME)

Общая проблема, существующая во многих современных материнских платах и графических платах, в том, что работать может либо 2х режим, либо DIME, но не оба. Как правило, DIME в 1х режиме работает быстрее, чем 2х режим без DIME. Конечно, частные результаты могут отличаться.

Авторские права: Grzegorz Mazur. Перевод на русский: Алексей Удовыдченко
Подготовил к печати: Антон Клыга


Компьютерная газета. Статья была опубликована в номере 25 за 2000 год в рубрике hard :: mb

©1997-2024 Компьютерная газета