КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Шины и карты расширения


Остальные коды зарезервированы.
Поле CYCTYPE задает тип и направление передачи. Бит 0 задает направление (0 — чтение, 1 — запись), биты [2:1] — тип обращения (00 — порт, 01 — память, 10 — DMA, 11 — резерв), бит 3 — резерв (0).
Поле TAR (Turn-Around) служит для смены «владельца» шины LAD[3:0], оно зани¬мает 2 такта. В первом такте прежний владелец помещает код 1111, во втором пе¬реводит буферы в третье состояние.
Поле ADDR служит для передачи адреса. В цикле памяти оно занимает 8 тактов (32 бита), в цикле ввода-вывода — 4 такта. Передача адреса начинается со старших битов (чтобы раньше срабатывал дешифратор адреса).
В поле DATA передаются данные. На каждый байт требуется 2 такта, передача начи¬нается с младшей тетрады. Многобайтные передачи начинаются с младшего байта. Поле SYNC служит для введения тактов ожидания устройством, к которому выпол¬няется обращение. Оно может содержать следующие коды (остальные зарезерви¬рованы):

0000 — готовность (без ошибок), для DMA означает снятие запроса для данного канала;

0101 — короткое ожидание (несколько тактов);

0110 —длинное ожидание;

1001 — готовность и присутствие запроса для канала DMA (для других типов
обращения недопустимо);

1010 — ошибка: данные переданы, но возникли условия, при которых на ши¬
нах PCI или ISA выработался бы сигнал SERR* или ЮСНК# (для DMA также
означает снятие сигнала запроса).

226
Глава 6. Шины и карты расширения
Поле синхронизации обеспечивает контроль передачи, введение тактов ожидания и механизм тайм-аутов. Начав цикл, хост читает поле синхронизации. Если в тече¬ние трех тактов адресованное устройство не ответит, хост считает, что его нет на шине, и прекращает транзакцию. Если приходит код короткого ожидания, хост дожидается его смены на готовность или ошибку, но после 8 тактов ожида¬ния он прервет транзакцию по тайм-ауту. Код длинного ожидания может прихо¬дить сколь угодно долго, ответственность за отсутствие зависания ложится на адресованное устройство. При прямом управлении поле SYNC выставляется хостом, и устройство должно терпеливо ожидать готовности, без каких-либо тайм-аутов. В самом быстром варианте (без тактов ожидания) поле SYNC занима¬ет один такт.
На рис. 6.16 приведена последовательность полей при обращениях хоста к памяти или портам (серым цветом помечены поля, вводимые устройством). Во всех этих обращениях передается по одному байту. Для чтения памяти, предполагая 5 так¬тов поля SYNC (время доступа к EPROM 120 не), требуется 21 такт (0,63 мкс), что обеспечивает скорость чтения памяти 1,59 Мбайт/с.

Hosted by uCoz