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

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

Одновременность реализуется не всеми чип¬сетами (в описаниях она всегда специально подчеркивается) и может быть запре-щена настройками CMOS Setup.
Для экономии полосы пропускания шины (уменьшения числа бесполезно заня¬тых тактов) при обращениях к устройствам медленных шин (например, ISA) мост может выполнять отложенные транзакции (delayed transaction). Работает этот ме¬ханизм следующим образом. Инициатор, расположенный на «быстрой» шине (это может быть и главный мост), обращается к ЦУ на медленной шине, выставляя адрес и команду, а в командах записи еще и данные. Мост сохраняет эту информа-

200
Глава 6. Шины и карты расширения
цию в своих внутренних регистрах и «от имени ЦУ» вводит сигнал STOP* (пре¬кращение типа «повтор»), что вынуждает инициатор быстро освободить шину. Тем временем мост выполняет транзакцию с настоящим ЦУ и сохраняет у себя результат ее выполнения (для команд чтения это будут данные). Инициатор, полу¬чивший ответ «повтор», вынужден снова начать точно ту же транзакцию, и теперь на нее мост быстро ответит истинным результатом, полученным от ЦУ. В то время как мост выполняет длительную операцию обмена с медленным устройством, быстрая шина остается свободной для обслуживания других инициаторов. Если по каким-либо причинам ведущее устройство «забудет» выполнить повтор тран¬закции, мост должен аннулировать полученные результаты. Аннулирование выпол¬няется по таймеру (discard timer), отсчитывающему время от начала отложенной транзакции до ее повтора. Отложенные транзакции применимы к командам обра¬щения к портам, конфигурационному пространству, подтверждению прерывания и к обычным обращениям к памяти.
Выделение специальных циклов чтения строк, множественного чтения и записи с инвалидацией позволяет контроллеру памяти предпринять определенные меры для оптимизации данных передач. Однако эти инструкции применяют только для обращений к памяти в «чистом виде» (имеющей свойство Pref etchable). Когда инициатор обращается к источнику данных, отделенному мостом, командами чте¬ния строки или множественного чтения, мост может считать из источника данных больше, чем инициатор заберет от него в данной транзакции. Однако в конце транз¬акции лишние данные в буфере моста проще всего аннулировать, поскольку до возможного последующего востребования в их реальном источнике они могут быть уже модифицированы. Более сложный мост может отслеживать и эти изме¬нения, аннулируя лишь модифицированные данные. Обращения командами обыч¬ного чтения памяти разрешают мосту считать только точно затребованное коли¬чество данных.

Hosted by uCoz