ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 5283
Скачиваний: 8
166 Глава 4. Организация шин
просто путем замедления тактирования. Так, можно разрешить всем сигналам из-
меняться только по одному из фронтов ТИ, что создает достаточную заминку для
распространения сигналов и их стабилизации.
В асинхронных шинах проблема должна быть решена либо в самом драйвере,
либо за счет введения искусственной приостановки, компенсирующей излишнее
быстродействие драйвера. Еще одна возможность — замедление цепей приемника.
Чтобы сделать приемники нечувствительными к отражениям и высокочастот-
ному шуму, в них встраивают фильтры нижних частот. В шине NITS Altair, напри-
мер, используются драйверы большой мощности и маломощные приемники. По
причине быстрых драйверов и неудачного дизайна монтажной шины сигналы в этой
шине сильно искажаются, но маломощные приемники достаточно медлительны
и позволяют нивелировать большинство из дефектов сигнала.
Применяющиеся в настоящее время драйверы и приемники на базе транзис-
торно-транзисторной логики (ТТЛ) уже не в полной мере отвечают растущим тре-
бованиям. В новых шинах наметилась тенденция перехода к трансиверам на
основе эмиттерно-связанной логики (ЭСЛ), как, например, в шине Fastbus. Заме-
чательно, что одновременно с уменьшением емкости линий, уровней и крутизны
фронтов сигналов, подавлением шумов в приемнике, в подобных трансиверах со-
храняется преемственность со старыми устройствами: они допускают использова-
ние со стороны дочерних плат источников питания и сигналов, характерных для
ТТЛ-технологии.
Обычно перед установкой или извлечением дочерней платы требуется отклю-
чение источника питания машины. В мультипроцессорных системах это крайне
нежелательно, поскольку временное отключение питания приводит к необходи-
мости перезагрузки и перезапуска каждого процессора. Некоторые системы про-
ектируются так, что допускают извлечение и установку платы в присутствии пи-
тающего напряжения. В них обеспечивается сохранение состояния остальных плат,
но работа шины временно приостанавливается. Естественно, что плата, которая
была удалена и заменена на другую, уже не находится в исходном состоянии и долж-
на быть инициализирована. Чаще всего реализация подобного режима оказывает-
ся чересчур дорогостоящей.
Распределение линий шины
Любая транзакция на шине начинается с выставления ведущим устройством ад-
ресной информации. Адрес позволяет выбрать ведомое устройство и установить
соединение между ним и ведущим. Для передачи адреса используется часть сиг-
нальных линий шины, совокупность которых часто называют
шиной адреса (Ш
К).
На ША могут выдаваться адреса ячеек памяти, номера регистров ЦП, адреса
портов ввода/вывода и т. п. Многообразие видов адресов предполагает наличие
дополнительной информации, уточняющей вид, используемый в данной транзак-
ции. Такая информация может косвенно содержаться в самом адресе, но чаще пе-
редается по специальным управляющим линиям шины.
Разнообразной может быть и структура адреса. Так, в адресе может конкрети-
зироваться лишь определенная часть ведомого, например, старшие биты адреса
Распределение линий шины 167
могут указывать на один из модулей основной памяти, в то время как младшие
биты определяют ячейку внутри этого модуля.
В некоторых шинах предусмотрены адреса специального вида, обеспечиваю-
щие одновременный выбор определенной группы ведомых либо всех ведомых сразу
(broadcast). Такая возможность обычно практикуется в транзакциях записи (от
ведущего к ведомым), однако существует также специальный вид транзакции чте-
ния (одновременно от нескольких ведомых общему ведущему). Английское назва-
ние такой транзакции чтения
broadcall
можно перевести как
«широковещательный
Информация, возвращаемая ведущему, представляет собой результат поби-
тового логического сложения данных, поступивших от всех адресуемых ведомых.
Число сигнальных линий, выделенных для передачи адреса
{ширина шины ад-
реса),
определяет максимально возможный размер адресного пространства. Это
одна из базовых характеристик шины, поскольку от нее зависит потенциальная
емкость адресуемой памяти и число обслуживаемых портов ввода/вывода.
Совокупность линий, служащих для пересылки данных между модулями сис-
темы, называют
шиной данных
(ШД). Важнейшие характеристики шины данных —
ширина и пропускная способность.
Ширина шины данных
определяется количеством битов информации, которое
может быть передано по шине за одну транзакцию
{цикл шины).
Цикл шины сле-
дует отличать от периода тактовых импульсов — одна транзакция на шине может
занимать несколько тактовых периодов. В середине 1970-х годов типовая ширина
шины данных составляла 8 бит. В наше время это обычно 32,64 или 128 бит. В лю-
бом случае ширину шины данных выбирают кратной целому числу байтов, при-
чем это число, как правило, представляет собой целую степень числа 2.
Элемент данных, задействующий всю ширину ШД, принято называть
словом,
хотя в архитектуре некоторых ВМ понятие «слово» трактуется по-другому, то есть
слово может иметь разрядность, не совпадающую с шириной ШД.
В большинстве шин используются адреса, позволяющие указать отдельный байт
слова. Это свойство оказывается полезным, когда желательно изменить в памяти
лишь часть полного слова.
При передаче по ШД части слова пересылка обычно производится по тем же
сигнальным линиям, что и в случае пересылки полного слова, однако в ряде шин
«урезанное» слово передается по младшим линиям ШД. Последний вариант мо-
жет оказаться более удобным при последующем расширении шины данных, по-
скольку в этом случае сохраняется преемственность со «старой» шиной.
Ширина шины данных существенно влияет на производительность ВМ. Так,
если шина данных имеет ширину вдвое меньшую чем длина команды, ЦП в тече-
ние каждого цикла команды вынужден осуществлять доступ к памяти дважды.
Пропускная способность
шины характеризуется количеством единиц инфор-
мации (байтов), которые допускается передать по шине за единицу времени (се-
кунду), а определяется физическим построением шины и природой подключае-
мых к ней устройств. Очевидно, что чем шире шина, тем выше ее пропускная
способность.
Последовательность событий, происходящих на шине данных в процессе од-
ной транзакции, иллюстрирует рис. 4.9. Пусть устройство А на одном конце шины
передает данные устройству В на другом ее конце.
168 Глава 4. Организация шин
Рис. 4.9. Временная диаграмма пересылки данных
Сначала устройство А выставляет данные на шину. Здесь
—
это задержка
между моментом выставления данных устройством А и моментом их появления на
шине. Этот интервал времени может составлять от 1 до 4 нс. Как уже отмечалось,
скорость распространения данных по шине реально не в состоянии превысить 70%
от скорости света. Единственный способ уменьшения задержки распространения
—
сокращение длины шины. Когда сигнал достигает устройства, он должен быть
«захвачен». Захват данных устройством В может быть произведен только по про-
шествии некоторого времени стабилизации. Время стабилизации
—
это время,
в течение которого данные на входе устройства В должны стабилизироваться с тем,
чтобы их можно было однозначно распознать. Необходимо также упомянуть и вре-
мя удержания
—
интервал, в течение которого информация должна оставаться
на шине данных после того, как они были зафиксированы устройством В.
Общее время передачи данных по шине определяется выражением
t
п
=t
зд
+
t
ре
+ t
СТ
+ t
УД
.
Если подставить типовые значения этих параметров, получим 4 + 1,5 +
+ 2 + 0 = 7,5 нс, что соответствует частоте шины 109/7,5 = 133,3 МГц.
На практике передача данных осуществляется с задержкой на инициализацию
транзакции
Учитывая эту задержку, максимальную скорость передачи можно
определить как 1/(
t
П
+t
И
)
Некоторые шины содержат дополнительные линии, используемые для обнару-
жения ошибок, возникших в процессе передачи. Выделение по одной дополни-
тельной линии на каждый отдельный байт данных позволяет контролировать лю-
бой байт по паритету, причем и в случае пересылки по ШД лишь части слова.
Возможен и иной вариант контроля ошибок. В этом случае упомянутые дополни-
тельные линии используются совместно. По ним передается корректирующий код,
благодаря которому ошибка может быть не только обнаружена, но и откорректи-
рована. Такой метод удобен лишь при пересылке по шине полных слов.
Если адрес и данные в шине передаются по независимым (выделенным) сиг-
нальным линиям, то ширина ШАи ШД обычно выбирается независимо. Наибо-
лее частые комбинации: 16-8,16-16, 20-8, 20-16, 24-32 и 32-32. Во многих ши-
нах адрес и данные пересылаются по одним и тем же линиям, но в разных тактах
цикла шины. Этот прием называется
временным мультиплексированием и
будет
Распределение линий шины 169
рассмотрен позже. Здесь же отметим, что в случае мультиплексирования ширина
ША и ширина ШД должны быть взаимоувязаны.
Применение раздельных шин адреса и данных позволяет повысить эффектив-
ность использования шины, особенно в транзакциях записи, поскольку адрес ячейки
памяти и записываемые данные
могут
передаваться одновременно.
Помимо трактов пересылки адреса и данных, неотъемлемым атрибутом любой
шины являются линии, по которым передается управляющая информации и ин-
формация о состоянии участвующих в транзакции устройств. Совокупность та-
ких линий принято называть
шиной управления
(ШУ), хотя такое название пред-
ставляется не совсем точным. Сигнальные линии, входящие в ШУ, можно условно
разделить на несколько групп.
Первую группу образуют линии, по которым пересылаются
сигналы управле-
ния транзакциями,
то есть сигналы, определяющие:
• тип выполняемой транзакции (чтение или запись);
• количество байтов, передаваемых по шине данных, и, если пересылается часть
слова, то какие байты;
• какой тип адреса выдан на шину адреса;
• какой протокол передачи должен быть применен.
На перечисленные цели обычно отводится от двух до восьми сигнальных ли-
ний.
Ко второй группе отнесем линии передачи
информации состояния (статуса).
В эту группу входят от одной до четырех линий, по которым ведомое устройство
может информировать ведущего о своем состоянии или передать код возникшей
ошибки.
Третья группа —
линии арбитража.
Вопросы арбитража рассматриваются не-
сколько позже. Пока отметим лишь, что арбитраж необходим для выбора одного
из нескольких ведущих, одновременно претендующих на доступ к шине. Число
линий арбитража в разных шинах варьируется от 3 до 11.
Четвертую группу образуют
линии прерывания.По
этим линиям передаются
запросы на обслуживание, посылаемые от ведомых устройств к ведущему. Под
собственно запросы обычно отводятся одна или две линии, однако при одновре-
менном возникновении запросов от нескольких ведомых возникает проблема ар-
битража, для чего могут понадобиться дополнительные линии, если только с этой
целью не используются линии третьей группы.
Пятая группа — линии для организации
последовательных локальных сетей.
Наличие от 1 до 4 таких линий стало общепринятой практикой в современных
шинах. Обусловлено это тем, что последовательная передача данных протекает
значительно медленнее, чем параллельная, и сети значительно выгоднее строить,
не загружая быстрые линии основных шин адреса и данных. Кроме того, шины
этой группы могут быть использованы как полноценный, хотя и медленный, из-
быточный тракт для замены ША и ШД в случае их отказа. Иногда шины пятой
группы назначаются для реализации специальных функций, таких, например, как
обработка прерываний или сортировка приоритетов задач.
В некоторых ШУ имеется шестая группа сигнальных линий — от 4 до 5
линий
позиционного кода,
подсоединяемых к специальным выводам разъема. С помощью
170 Глава 4. Организация шин
перемычек на этих выводах можно задать уникальный позиционный код разъема
на материнской плате или вставленной в этот разъем дочерней платы. Такой код
может быть использован для индивидуальной инициализации каждой отдельной
платы при включении или перезапуске системы.
Наконец, в каждой шине обязательно присутствуют линии, которые в нашей
классификации входят в
седьмую группу,
которая по сути является одной из важ-
нейших. Это группа линий
тактирования и синхронизации.
При проектировании
шины таким линиям уделяется особое внимание. В состав группы, в зависимости
от протокола шины (синхронный или асинхронный), входят от двух до шести линий.
В довершение необходимо упомянуть линии для подвода питающего напряже-
ния и линии заземления.
Большое количество линий в шине предполагает использование разъемов со
значительным числом контактов. В некоторых шинах разъемы имеют сотни кон-
тактов, где предусмотрены подключение вспомогательных шин специального на-
значения, свободные линии для локального обмена между дочерними платами,
множественные параллельно расположенные контакты для «размножения» пи-
тания и «земли». Значительно чаще число контактов разъема ограничивают.
В табл. 4.1 показано возможное распределение линий 32-разрядной шины в 64-кон-
тактном разъеме.
Таблица 4.1
. Распределение линий 32-разрядной шины в 64-контактном разъеме
Линии
Адрес
Данные
Арбитраж
Управление
Состояние
Тактирование
и синхронизация
Локальная сеть
Позиционный код
Питание
Типовое число выводов
16-32
8-32
3-11
2-8
1-4
2-6
1-4
4-5
2-20
2-20
Комментарии
Могут быть объединены
в мультиплексируемую шину
Выделенные и мультиплексируемые линии
В некоторых ВМ линии адреса и данных объединены в единую
мультиплексируемую
шину адреса/данных.
Такая шина функционирует в режиме разделения времени, по-
скольку цикл шины разбит на временной интервал для передачи адреса и временной
интервал для передачи данных. Структура такой шины показана на рис. 4.10.
Мультиплексирование адресов и данных предполагает наличие мультиплексора
на одном конце тракта пересылки информации и демультиплексора на его дру-