его возможностями и возможностями системной платы. Программы, работающие с ускорителем (исполняемые и локальным, и центральным процессорами), не должны допускать превышения числа необслуженных команд в очереди (у них для этого имеется вся необходимая информация).
При передаче данных AGP управляющие сигналы, заимствованные от PCI, имеют почти такое же назначение, что и в PCI. Передача данных AGP в режиме 1х очень похожа на циклы PCI, но немного упрощена процедура квитирования (поскольку это выделенный порт и обмен выполняется только с быстрым контроллером системной памяти). В режимах 2х и 4х имеется специфика стробирования.
♦В режиме 1х данные (4 байта на
AD[31:0]
) фиксируются получателем по положительному перепаду каждого такта CLK
, что обеспечивает пиковую пропускную способность 66,6×4 = 266 Мбайт/с.♦В режиме 2х используются стробы данных
AD_STB0
и AD_STB1
для линий AD[0:15]
и AD[16:31]
соответственно. Стробы формируются источником данных, приемник фиксирует данные и по спаду, и по фронту строба. Частота стробов совпадает с частотой CLK
, что и обеспечивает пиковую пропускную способность 66,6×2×4 = 533 Мбайт/с.♦В режиме 4х используются еще и дополнительные (инверсные) стробы
AD_STB0#
и AD_STB1#
. Данные фиксируются по спадам и прямых, и инверсных стробов. Частота стробов в два раза выше, чем CLK, что и обеспечивает пиковую пропускную способность 66,6×2×2×4 = 1066 Мбайт/с.Порт AGP должен отслеживать состояние готовности буферов ускорителя к посылке или получению данных транзакций, поставленных в очередь. Сигналом
RBF#
(Read Buffer Full) ускоритель может информировать порт о неготовности к приему данных низкоприоритетных транзакций чтения (к приему высокоприоритетных он должен быть всегда готов). Сигналом WBF#
(Write Buffer Full) он информирует о неспособности принять первую порцию данных быстрой записи (Fast Write, FW).Конфигурирование устройств с интерфейсом AGP выполняется так же, как и обычных устройств PCI, — через обращения к регистрам конфигурационного пространства (см. п. 6.2.12). При этом AGP-устройства не требуют внешней линии
IDSEL
— у них внутренний сигнал разрешения доступа к конфигурационным регистрам соединен с линией AD16, так что обращение к конфигурационным регистрам AGP обеспечивается при AD16
=1.В процессе инициализации процедура POST только распределяет системные ресурсы, но операции AGP оставляет запрещенными. Работу AGP разрешает загруженная ОС, предварительно установив требуемые параметры AGP: режим обмена, поддержку быстрой записи, адресации свыше 4 Гбайт, способ подачи и допустимое число запросов. Для этого параметры устройств считываются из регистра состояния AGP, а согласованные параметры записываются в регистр команд AGP, расположенный в конфигурационном пространстве. Параметры настройки порта задаются через конфигурационные регистры чипсета системной платы (главного моста).
Регистр состояния AGP сообщает свойства порта: допустимое число запросов в очередях, поддержку внеполосной адресации, быстрой записи, адресации свыше 4 Гбайт, режимы 1х, 2х, 4х. В конфигурационном пространстве устройства AGP регистр, на который указывает
CAP_PTR
, содержит CAP_ID
=02 (биты [7:0]) и номер версии спецификации AGP (биты [23:20] — старшая цифра, биты [19:16] — младшая).Регистр состояния AGP (адрес
CAP_PTR
+4) содержит следующие поля:♦ биты [31:24] —
RQ
, допустимое суммарное число запросов, находящихся в очередях: 0–1 команда, 255–256 команд;♦ биты [23:10] — резерв (0);
♦ бит 9 —
SBA
, поддержка внеполосной подачи команд;♦ биты [8:6] — резерв (0);
♦ бит 5 —
4G
, поддержка адресации памяти свыше 4 Гбайт;♦ бит 4 —
FW
, поддержка быстрой записи;♦ биты 3 — резерв (0);
♦ биты [2:0] —
RATE
, поддерживаемые режимы обмена по AD и SBA: бит 0–1 x, бит 1 — 2х, бит 2 — 4х.Регистр команд AGP служит для разрешения этих свойств. Регистр команд AGP (адрес
CAP_PTR
+8) содержит следующие поля:♦ биты [31:24] —
RQ_DEPTH
, глубина очереди команд;♦ биты [23:10] — резерв (0);
♦ бит 9 —
SBA_ENABLE
, установка внеполосной подачи команд;♦ бит 8 —
AGP_ENABLE
, разрешение операций AGP;♦ биты [7:6] — резерв (0);
♦ бит 5 —
4G
, разрешение адресации памяти свыше 4 Гбайт (двухадресных циклов и посылок 4-го типа по SBA);♦ бит 4 —
FW_Enable
, разрешение быстрой записи;♦ биты 3 — резерв (0);
♦ биты [2:0] —
DATA_RATE
, установка режима обмена: бит 0 — 1х, бит 1 — 2х, бит 2 — 4х (должен быть установлен лишь один бит).Графический адаптер с интерфейсом AGP может быть встроен в системную плату, а может располагаться и на карте расширения, установленной в слот AGP. Внешне карты с портом AGP похожи на PCI (рис. 6.13), но у них используется разъем повышенной плотности с «двухэтажным» (как у EISA) расположением ламелей. Сам разъем находится дальше от задней кромки платы, чем разъем PCI.
Рис. 6.13. Слоты AGP: а — 3,3 В, б — 1,5 В, в — универсальные
Порт AGP может использовать два возможных номинала питания интерфейсных схем: 3,3 В и 1,5 В (уровни сигналов
RST#
и CLK
всегда равны 3,3 В). Снижение напряжения питания буферных схем позволяет повысить достижимую частоту переключений. Для режимов 1х и 2х может использоваться любой из номиналов питания буферов, для режима 4х — только 1,5 В. Для работы в режимах 2х и 4х приемникам требуется опорное напряжение Vref. Его номинал для 3,3 В составляет 0,4×Vddq, для 1,5 В — 0,5×Vddq. Опорное напряжение для приемников генерируется на стороне передатчиков. На контакт А66 (Vrefgc) графическое устройство подает сигнал для порта, на контакт B66 (Vrefcg) порт (чипсет) подает напряжение для устройства AGP.По уровню питания буферов карты и порты AGP могут быть трех типов: 3,3 В, 1,5 В и универсальные, причем имеются механические ключи, предотвращающие ошибочные подключения. Слот и карта 3,3 В имеют ключи на месте контактов 22–25 (перегородка в слоте, см. рис. 6.13, а, вырез на разъеме карты); слот и карта 1,5 В — на месте контактов 42–45. Универсальный слот не имеет перегородок, а универсальная карта имеет оба выреза. Универсальная системная плата узнает о номинале питания буферов установленной карты по сигналу
TYPEDET#
— на картах 3,3 В контакт свободен, на картах 1,5 В и универсальных — заземлен. Универсальная карта узнает о номинале питания буферов по уровню напряжения на контактах Vddq (3,3 или 1,5 В). Таким образом и обеспечивается согласование.Назначение контактов слота AGP приведено в табл. 6.15, в позициях ключей через дробь указано назначение для карт 3,3/1,5 В. На универсальном слоте присутствуют все эти цепи, на универсальных картах все цепи, назначенные ключам, отсутствуют. Из-за двух ключей на универсальной карте теряется пара контактов для подачи питания
VCC3.3
, и их остается только 4, что ограничивает потребляемый ток (допустимый ток для каждого контакта — 1 А). На универсальной карте также нет дополнительного питания 3,3Vaux, используемого для питания цепей формирования сигнала РМЕ#
в режиме «сна».
Таблица 6.15. Сигналы порта AGP
Ряд В N Ряд A Ряд В N Ряд A 12V 1 OVRCNT# Vddq 34 Vddq TYPEDET# 2 5.0V AD22 35 AD21 Резерв 3 5.0V AD20 36 AD19 USB- 4 USB+ GND 37 GND GND 5 GND AD18 38 AD17 INTA# 6 INTB# AD16 39 C/BE2# RST# 7 CLK Vddq 40 Vddq GNT# 8 REQ# FRAME# 41 IRDY# VCC3.3 9 VCC3.3 Резерв/Ключ 1,5 В 42 3,3Vaux/Ключ 1,5 В ST1 10 ST0 GND/Ключ 1,5B 43 GND/Ключ 1,5 В Резерв 11 ST2 Резерв/Ключ 1,5 В 44 Резерв/Ключ 1,5 В PIPE# 12 RBF# VCC3.3/Ключ 1,5В 45 VCC3.3/Ключ 1,5В GND 13 GND TRDY# 46 DEVSEL# Резерв 14 Резерв STOP# 47 Vddq3.3 SBA1 15 SBA0 РМЕ# 48 PERR# VCC3.3 16 VCC3.3 GND 49 GND SBA3 17 SBA2 PAR 50 SERR# SB_STB#¹ 18 SB_STB AD15 51 C/BE1# GND 19