Конвейер AGP


Из состояния покоя IDLE порт может вывести запрос транзакции PCI или запрос AGP. В состоянии PCI транзакция PCI выполняется целиком, от подачи адреса и команды до завершения передачи данных. В состоянии AGP ведущее устройство передает только команду и адрес для транзакции, ставящийся в очередь, т.е. несколько запросов могут следовать сразу друг за другом. В состояние DATA порт переходит, когда у него в очереди имеется необслуженная команда, готовая к исполнению. В этом состоянии происходит передача данных для команд, стоящих в очереди. Это состояние может прерываться запросами PCI или AGP, но прерывание возможно только на границах данных транзакций AGP. Когда порт AGP обслужит все команды, он снова переходит в состояние покоя. Все переходы происходят под управлением арбитра порта AGP, реагирующего на поступающие запросы REQ# и ответы контроллера памяти.

Передача данных AGP выполняется когда шина находится в состоянии DATA. Фазы данных вводит порт AGP (системная логика), исходя из порядка ранее пришедших к нему команд от ускорителя. Ускоритель узнает о назначении шины AD в последующей транзакции по сигналам ST[2:0], которые действительны только во время сигнала GNT#:

— 100-110 – коды зарезервированы;

— 000 – ведущему устройству будут передаваться данные низкоприоритетного запроса чтения, ранее поставленного в очередь или выполняется очистка;

— 001 – ведущему устройству будут передаваться данные высокоприоритетного запроса чтение;

— 010 – ведущее устройство должно будет предоставлять данные низкоприоритетного запроса записи;

— 011 – ведущее устройство должно будет предоставлять данные высокоприоритетного запроса записи;

— 111 – ведущему устройству разрешается поставить а очередь команду AGPсигналом PIPE# или начать транзакцию PCI сигналом FRAME#.

Загрузка...