|
||
160 Глава4. Организация шин
|
||
|
||
Иерархия шин
Если к шине подключено большое число устройств, ее пропускная способность падает, поскольку слишком частая передача прав управления шиной от одного устройства к другому приводит к ощутимым задержкам. По этой причине во многих ВМ предпочтение отдается использованию нескольких шин, образующих определенную иерархию. Сначала рассмотрим ВМ с одной шиной.
Вычислительная машина с одной шиной
В структурах взаимосвязей с одной шиной имеется одна системная шина, обеспечивающая обмен информацией между процессором и памятью, атакже между УВВ, с одной стороны, и процессором либо памятью — с другой (рис. 4.5).
|
||
|
||
![]() |
||
|
||
Устройства ввода/вывода Рис. 4.5. Структура взаимосвязей с одной шиной
Для такого подхода характерны простота и низкая стоимость. Однако одношин-ная организация не в состоянии обеспечить высокие интенсивность и скорость транзакций, причем «узким местом» становится именно шина.
Вычислительная машина с двумя видами шин
Хотя контроллеры устройств ввода/вывода (УВВ) могут быть' подсоединены непосредственно к системной шине, больший эффект достигается применением одной или нескольких шин ввода/вывода (рис. 4.6). УВВ подключаются к шинам ввода/вывода, которые берут на себя основной трафик, не связанный с выходом на процессор или память. Адаптеры шин обеспечивают буферизацию данных при их пересылке между системной шиной и контроллерами УВВ. Это позволяет ВМ поддерживать работу множества устройств ввода/вывода и одновременно «развязать» обмен информацией по тракту процессор-память и обмен информацией с УВВ.
|
||
|
||
![]() |
||
|
||
Рис. 4.6. Структура взаимосвязей с двумя видами шин
|
||
|
||
|
||
Физическая реализация шин 161
|
||
|
||
Подобная схема существенно снижает нагрузку на скоростную шину «процессор-память» и способствует повышению общей производительности ВМ. В качестве примера можно привести вычислительную машину Apple Macintosh II, где роль шины «процессор-память» играет шина NuBus. Кроме процессора и памяти к ней подключаются некоторые УВВ. Прочие устройства ввода/вывода подключаются к шине SCSI Bus.
Вычислительная машина с тремя видами шин
Для подключения быстродействующих периферийных устройств в систему шин может быть добавлена высокоскоростная шина расширения (рис. 4.7).
|
||
|
||
![]() |
||
|
||
Шины ввода/вывода подключаются к шине расширения, а уже с нее через адап- ' тер к шине «процессор-память». Схема еще более снижает нагрузку на шину «процессор-память». Такую организацию шин называют архитектурой с «пристрой-Kou»(mezzanine architecture).
Физическая реализация шин
Кратко остановимся на различных аспектах физической реализации шин в вычислительных машинах и системах.
Механические аспекты
Основная шина (рис. 4.8), объединяющая устройства вычислительной машины, обычно размещается на так называемой объединительной или материнской плате. Шину образуют тонкие параллельные медные полоски, поперек которых через небольшие интервалы установлены разъемы для подсоединения устройств ВМ. Подключаемые к шине устройства обычно также выполняются в виде печатных плат, часто называемых дочерними платами аламодулями. Дочерние платы вставляются в разъемы на материнской плате. В дополнение к тонким сигнальным линиям на материнской плате имеются также и более широкие проводящие линии, по которым к дочерним платам подводится питающее напряжение. Несколько контактов разъема обычно подключаются к общей точке — «земле». «Земля» на мате-
|
||
|
||
6 Зак.470
|
||
|
||
|
||
162 Глава4. Организация шин
|
||
|
||
ринской плате реализуется либо в виде медного слоя (одного из внутренних слоев многослойной печатной платы), либо как широкая медная дорожка на обратной стороне материнской платы.
|
||
|
||
![]() |
||
|
||
Рис. 4.8. Организация объединительной шины
|
||
|
||
Контактные пружины в разъемах обеспечивают независимое подключение сигнальных линий, расположенных по обеим сторонам вставляемой в разъем дочерней платы. При создании соединительных разъемов прилагаются значительные усилия с тем, чтобы гарантировать надежный контакт после многократного извлечения платы из разъема, а также при длительной (многолетней) эксплуатации разъема в загрязненной или коррозийной среде.
«Механические» спецификации шины обычно включают такие детали, как размеры плат, размеры и размещение направляющих для установки платы, разрешенное место для установки кабельного разъема, максимальная высота элементов на плате и т. д.
Электрические аспекты
Все устройства, использующие шину, электрически подсоединены к ее сигнальным линиям, представляющим собой электрические проводники. Меняя уровни напряжения на сигнальных линиях, ведущее устройство формирует на них информационные или управляющие сигналы. Когда ведущее устройство выставляет на сигнальной шине какой-то уровень напряжения, этот уровень может быть воспринят приемниками в любой точке линии. Такое описание дает лишь идеализированную картину происходящих на шине процессов — реальные процессы значительно, сложнее.
Схему, меняющую напряжение на сигнальной шине, обычно называют драйвером или возбудителем щины. В принципе драйвером может быть любая цифровая схема, поскольку на ее цифровом выходе всегда присутствует один из двух возможных уровней напряжения.
|
||
|
||
|
||
Физическая реализация шин 163
|
||
|
||
При реализации шины необходимо предусмотреть возможность отключения драйвера от сигнальной линии на период, когда он не использует шину. Один из возможных способов обеспечения подобного режима — применение драйвера, выход которого может находиться в одном из трех состояний: «высокий уровень напряжения» (high), «низкий уровень напряжения» (low) и «отключен» (off). Для перевода в состояние «off», эквивалентное отключению выхода драйвера от сигнальной линии, используется специальный вход драйвера. Режим «off» необходим для исключения возможности одновременного управления шиной двумя или более устройствами, в противном случае на линиях могут возникать пиковые выбросы напряжения или искаженные сигналы, которые кроме некорректной передачи информации могут привести к преждевременному отказу электронных компонентов.
Совместное использование линии шины несколькими устройствами возможно также за счет подключения этой линии к выходу драйвера через резистор, соединенный с источником питания. В зависимости от полупроводниковой технологии, примененной в выходных каскадах драйвера, подобную возможность обеспечивают схемы с открытым коллектором (ТТЛ), открытым стоком (МОП) или открытым эмиттером (ЭСЛ): Данный способ не только исключает электрические конфликты на шине, но и позволяет реализовать очень полезный вид логической операции, известный как «монтажное ИЛИ» или «монтажное И» (трактовка зависит от соответствия между уровнями напряжения и логическими значениями 1 и 0). Если к линии одновременно подключается несколько драйверов, то сигнал на линии представляет собой результат логического сложения (операция ИЛИ) всех посту-' пивших на линию сигналов. Это оказывается весьма полезным при решении задачи арбитража, которая рассматривается позже. В некоторых шинах «монтажное ИЛИ» используется лишь в отдельных сигнальных линиях, но иногда эту операцию допускают по отношению ко всем линиям шины.
Приемниками в операциях на шинах называют схемы, сравнивающие уровень сигнала на входе со стандартными значениями, формируемыми внутренними цепями приемников. По итогам сравнения приемник генерирует выходной сигнал, уровень которого соответствует одному из двух возможных логических значений — 1 или 0. Трансивер (приемопередатчик) содержит приемник и драйвер, причем выход драйвера и вход приемника сводятся в общую точку.
Рассматривая процесс распространения сигнала по сигнальной линии, необходимо учитывать четыре основных фактора:
• скорость распространения;
• отражение;
• перекос;
• эффекты перекрестного влияния.
Теоретическая граница скорости распространения сигнала — скорость света в свободном пространстве, то есть около 300 мм/нс. Реальная скорость, определяемая физическими характеристиками сигнальных линий и нагрузкой, реально не может превысить 70% от скорости света.
Процессы в линии рассмотрим на примере сигнальной линии, которая через резистор, соединенный с источником питания, удерживается на уровне напряже-
|
||
|
||
|
||
164 Глава 4. Организация шин
|
||
|
||
ния, соответствующем логической единице. Сигнал драйвера «подтягивает» линию к своему уровню напряжения. Изменение напряжения распространяется от точки подключения драйвера в обоих направлениях, пока на всей линии не установится уровень сигнала драйвера. Характер распространения сигнала определяют емкость, индуктивность и характеристическое сопротивление линии, локальные значения которых по длине линии зависят от локальных свойств проводника и его окружения.
По мере распространения по реальной линии сигнал преодолевает области с различным сопротивлением. Там, где оно меняется, сигнал не может оставаться постоянным, поскольку меняется соотношение между током и напряжением. Часть сигнала продолжает продвижение, а часть — отражается в противоположную сторону. Прямой и отраженный сигналы могут повторно отражаться, в результате чего на линии формируется сложный результирующий сигнал. В конце линии сигнал отражается назад, если только он не поглощен правильно подобранным согласующим резистором. Если на конце линии имеется согласующий резистор, с сопротивлением, идентичным импедансу линии, сигнал будет поглощен без отражения. Такие резисторы должны размещаться по обоим концам сигнальной линии. К сожалению, точное значение импеданса реальной линии никогда не известно, из-за чего номиналы резисторов невозможно точно согласовать с линией, и отражение всегда имеет место.
При параллельной передаче по линиям шины битов адреса или данных сигналы на разных линиях достигают соответствующих приемников совсем не одновременно. Это явление известно как перекос сигналов. Причины возникновения и способы компенсации перекоса будут рассмотрены позже.
Распространяясь по линии, сигнал создает вокруг нее электростатическое и магнитное поля. Сигнальные линии в шине располагаются параллельно и в непосредственной близости одна от другой. Поля от близко расположенных линий перекрываются, приводя к тому, что сигнал на одной линии влияет на сигнал в другой. Этот эффект называют перекрестной или переходной помехой.
Наиболее очевидный способ уменьшения перекрестной помехи эффекта — пространственно разнести линии шины так, чтобы их поля не влияли на «соседей» — для печатной платы ограниченного размера не подходит. К снижению эффектов перекрестного влияния ведет уменьшение взаимных емкости и индуктивности линий, чего можно добиться, разместив вблизи сигнальных линий «земляные» линии или включив в многослойную печатную плату «земляные» слои. Это, однако, приводит к нежелательному эффекту увеличения собственной емкости линий. Наиболее распространенный подход к снижению перекрестной помехи состоит в разделении линий изолятором с малой диэлектрической постоянной. В целом, при проектировании шин обычно используется комбинация перечисленных методов борьбы с перекрестной помехой.
Из-за несовершенства физической реализации сигнальных линий фронты импульсов по мере распространения сигналов меняются, соответственно, меняется и форма сигнала. Для каждой шины существует некое минимальное значение ширины импульса, при которой он еще способен дойти от одного конца к другому так, что его еще можно распознать. Эта ширина выступает в качестве основного
|
||
|
||
|
||
Физическая реализация шин 165
|
||
|
||
ограничения на полосу пропускания данной шины, то есть на число импульсов, которые могут быть переданы по шине в единицу времени.
Поскольку драйвер одновременно «видит» две линии, передающие информацию в противоположных направлениях, он должен поддерживать двойную по сравнению с одной линией величину тока. Для типичных линий импеданс не превышает 20 Ом, а сигналы имеют уровень порядка 3 В, что выражается в величине тока около 150 мА. Приведенные цифры для современных драйверов не составляют проблемы, поскольку применяемые в настоящее время схемы способны приспособиться к гораздо худшим параметрам сигналов.
Порождаемый сигналом ток замыкается через «земляной» контакт драйвера. Когда одновременно активны все сигнальные линии, ток возврата через «землю» может быть весьма большим. Положение осложняет то, что ток этот не является постоянным и в моменты подключения и отключения драйвера содержит высокочастотные составляющие. Кроме того, из-за сопротивления и индуктивности «зем: ляного» слоя печатной платы потенциалы на «земляных» выводах дочерних плат могут различаться. Это может приводить к неверной оценке сигналов приемниками, следствием чего становится некорректное срабатывание логических схем. С «земляным» шумом легче бороться на стадии проектирования шины. Прежде всего необходимо улучшать характеристики «земляных» слоев на материнской и дочерних платах. Между системами заземления материнской и дочерних плат должно бьпь много хорошо распределенных надежных контактов. Для высокоскоростных шин на каждые четыре сигнальных шины следует иметь отдельный «земляной» контакт. Кроме того, дочерняя плата должна быть спроектирована так, чтобы «земляной» ток от данного драйвера протекал к тому «земляному» контакту, который расположен как можно ближе к сигнальным выводам. «Земля» материнской платы обычно реализуется в виде внутреннего медного слоя в многослойной печатной плате; отверстия с зазором вокруг сигнальных выводов предотвращают короткое замыкание сигнального вывода с этим слоем. Разъем должен быть достаточно широким, чтобы на дочерней плате трансиверы можно было разместить по возможности ближе к нему, что позволяет сократить длину тех участков шины, где нарушается ее неразрывность.
В целом ряде известных шин многие из рассмотренных положений игнорируются. По практическим соображениям используются линии с высоким импедансом. Надежность работы с такими «плохими» шинами достигается за счет их замедления: затягивание перехода сигналов от одного уровня напряжения к другому приводит к уменьшению отражений. Снижается также влияние перекрестных помех.
Высокое быстродействие драйверов шины имеет и отрицательную сторону: они оказываются слишком быстрыми для управляемых ими шин, при этом сигналы на линиях сильно искажаются. Эта проблема обычно преодолевается за счет введения задержки, часто называемой временем установления сигнала (временем успокоения). Задержка выбирается так, что сигналы стабилизируются до момента их использования. Зачастую достаточно задержки, принципиально присущей используемым схемам, но иногда приходится вводить и явную задержку.
В синхронных шинах, где для синхронизации транзакций используется единая система тактовых импульсов (ТИ), такая задержка может быть добавлена весьма
|
||
|
||
|
||
166 Глава 4. Организация шин
просто путем замедления тактирования. Так, можно разрешить всем сигналам изменяться только по одному из фронтов ТИ, что создает достаточную заминку для распространения сигналов и их стабилизации.
В асинхронных шинах проблема должна быть решена либо в самом драйвере, либо за счет введения искусственной приостановки, компенсирующей излишнее быстродействие драйвера. Еще одна возможность — замедление цепей приемника.
Чтобы сделать приемники нечувствительными к отражениям и высокочастотному шуму, в них встраивают фильтры нижних частот. В шине NITS Altair, например, используются драйверы большой мощности и маломощные приемники. По причине быстрых драйверов и неудачного дизайна монтажной шины сигналы в этой шине сильно искажаются, но маломощные приемники достаточно медлительны и позволяют нивелировать большинство из дефектов сигнала.
Применяющиеся в настоящее время драйверы и приемники на базе транзисторно-транзисторной логики (ТТЛ) уже не в полной мере отвечают растущим требованиям. В новых шинах наметилась тенденция перехода к трансиверам на основе эмиттерно-связанной логики (ЭСЛ), как, например, в шине Fastbus. Замечательно, что одновременно с уменьшением емкости линий, уровней и крутизны фронтов сигналов, подавлением шумов в приемнике, в подобных трансиверах сохраняется преемственность со старыми устройствами: они допускают использование со стороны дочерних плат источников питания и сигналов, характерных для ТТЛ-технологии.
Обычно перед установкой или извлечением дочерней платы требуется отключение источника питания машины. В мультипроцессорных системах это крайне нежелательно, поскольку временное отключение питания приводит к необходимости перезагрузки и перезапуска каждого процессора. Некоторые системы проектируются так, что допускают извлечение и установку платы в присутствии питающего напряжения. В них обеспечивается сохранение состояния остальных плат, но работа шины временно приостанавливается. Естественно, что плата, которая была удалена и заменена на другую, уже не находится в исходном состоянии и должна быть инициализирована. Чаще всего реализация подобного режима оказывается чересчур дорогостоящей.
Распределение линий шины
Любая транзакция на шине начинается с выставления ведущим устройством адресной информации. Адрес позволяет выбрать ведомое устройство и установить соединение между ним и ведущим. Для передачи адреса используется часть сигнальных линий шины, совокупность которых часто называют шиной адреса (Ш К).
На ША могут выдаваться адреса ячеек памяти, номера регистров ЦП, адреса портов ввода/вывода и т. п. Многообразие видов адресов предполагает наличие дополнительной информации, уточняющей вид, используемый в данной транзакции. Такая информация может косвенно содержаться в самом адресе, но чаще передается по специальным управляющим линиям шины.
Разнообразной может быть и структура адреса. Так, в адресе может конкретизироваться лишь определенная часть ведомого, например, старшие биты адреса
|
||
|
||