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

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

Если устройство медленное и часто не укладывается в 16 тактов, то оно должно откладывать транзакцию (Delayed Transaction). Кроме того, ЦУ имеет инкрементный механизм слежения за длительностью циклов (Incremental Latency Mechanism), который не позволяет интервалу между соседними фазами данных ъ пакете (target subsequent latency) превышать 8 тактов шины. Если ЦУ не успевает работать в таком темпе, оно обязано остановить транзакцию. Желатель¬но, чтобы устройство сообщало о своем «неуспевании» как можно раньше, не вы¬жидая предельных 16 или 8 тактов, — это экономит полосу пропускания шины.
Инициатор тоже не должен задерживать поток — допустимая задержка от начала FRAME* до сигнала IRDY* (master data latency) и между фазами данных не должна превышать 8 тактов. Если ЦУ время от времени отвергает операцию записи в па¬мять с запросом повтора (это, к примеру, может происходить при записи в видео¬память), то есть «предел терпения» для завершения операции. Таймер максималь¬ного времени исполнения (maximum complete time) имеет порог 10 мкс — 334 такта при 33 МГц или 668 тактов на 66 МГц, за которое инициатор должен иметь возмож¬ность «протолкнуть» хоть одну фазу данных. Таймер начинает отсчет с момента запроса повтора операции записи в память и сбрасывается при последующем за¬вершении транзакции записи в память, отличном от запроса повтора. Устройства, не способные выдерживать ограничение на максимальное время исполнения за¬писи в память, должны предоставлять драйверу возможность определять их со¬стояние, в котором достаточно быстрая запись в память невозможна. Драйвер, естественно, должен учитывать это состояние и не «напрягать» шину и устрой¬ство бесплодными попытками записи.
Каждое ведущее устройство, способное сформировать пакет с более чем двумя фазами данных, должно иметь собственный программируемый таймер задержки (Latency Timer), регулирующий поведение ведущего устройства, когда у него отби¬рают право управления шиной. Таймер запускается по каждому сигналу FRAME*, введенному этим ведущим устройством. Поведение ведущего устройства по до¬стижении порога зависит от типа команды и состояния сигналов FRAME* и GNT* на момент срабатывания таймера.

6.2. Шина PCI
183

Если ведущее устройство снимает сигнал FRAME* до срабатывания таймера, транзакция завершается нормально.

Если сигнал GNT# снят и исполняемая команда не является записью памяти с инвалидацией, то инициатор обязан сократить транзакцию, сняв сигнал FRAME*.При этом ему позволяется завершить текущую и выполнить еще одну фазу данных.

Hosted by uCoz