- •Глава 4
- •Организация шин
- •Электрические аспекты
- •164 Глава 4. Организация шин
- •Распределение линий шины
- •Выделенные и мультиплексируемые линии
- •Децентрализованный арбитраж
- •Централизованный опрос
- •Децентрализованный опрос
- •Протокол шины
- •Синхронный протокол
- •Асинхронный протокол
- •Особенности синхронного и асинхронного протоколов
- •Шина адреса Шина данных
- •Конвейеризация транзакций
- •Протокол с расщеплением транзакций
- •Увеличение полосы пропускания шины
- •Ускорение транзакций
- •Повышение эффективности шин с множеством ведущих
- •Надежность и отказоустойчивость
- •Стандартизация шин
- •194 Таблица 4.3 (продолжение)
- •4.5. Шины ввода/вывода
- •Контрольные вопросы
Ускорение транзакций
Для сокращения времени транзакций проектировщики обычно прибегают к следующим приемам:
* арбитражу с перекрытием;
• арбитражу с удержанием шины;
* расщеплению транзакций.
Сущность расщепления транзакций была рассмотрена ранее. Кратко поясним остальные два метода.
Арбитраж с перекрытием (overlapped arbitration) заключается в том, что одновременно с выполнением текущей транзакции производится арбитраж следующей транзакции.
При арбитраже с удержанием шины (bus parking) ведущий может удерживать шину и выполнять множество транзакций, пока отсутствуют запросы от других потенциальных ведущих.
В современных шинах обычно сочетаются все вышеперечисленные способы ускорения транзакций.
Повышение эффективности шин с множеством ведущих
Любая система шин характеризуется пределом пропускной способности, зависящим от их ширины, скорости и протокола. Имеются также издержки, такие как арбитраж, если только он не проводится параллельно с выполнением предшествующей транзакции. Даже простой микропроцессор способен практически монополизировать производительность объединительной шины при выборке инструкций данных, но без блочных пересылок.
При проектировании мультипроцессорных систем целесообразно рассматривать системную шину как коммуникационный тракт между разными процессами и нескольким контроллерами ввода/вывода и снабдить каждый процессор калькой памятью для команд и большей части данных. Это существенно снижает нагрузку на системную шину. Если процессоры используют шину в первую очередь для ввода/вывода и пересылки сообщений, большая часть трафика может быть
191
реализована в виде блочных пересылок, что ведет практически к удвоению пропускной способности. Однако, в зависимости от числа процессоров и природы приложения, шина может стать и «узким местом». Фактически, если шина в течении значительной части времени не свободна, процессоры могут значительную долю времени провести в состоянии ожидания. Система с пересылкой сообщений начинает функционировать скорее как сеть, чем как простая шина ввода/вывода. Одно из решений проблемы пропускной способности — увеличение количества с несколькими процессорами на каждой. Этот подход применен в шине Fastbus, где общее адресное пространство совместно используется нескольким отдельными шинами, называемыми сегментами. Сегменты функционируют независимо, но автоматически объединяются нужным образом, если ведущий из одного сегмента обращается к ведомому из другого сегмента. Это автоматическое объединение выражается во вмешательстве в трафик всех промежуточных сегментов, поэтому, чтобы не возникало заторов, применяться оно должно осторожно. Разумное использование узлов с промежуточным хранением совместно с сетевым протоколом передачи сообщений могут еще более сократить перегрузку путем сглаживания нагрузки, разрешая одновременное объединение как двух, так и нескольких сегментов.
