Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вычислительная машина с одной шиной

Поиск

 

В структурах взаимосвязей с одной шиной имеется одна системная шина, обеспечивающая обмен информацией между процессором и памятью, а также между УВВ с одной стороны, и процессором либо памятью — с другой (рис. 38).

 

 

Рис. 38. Структура взаимосвязей с одной шиной.

 

Для такого подхода характерны простота и низкая стоимость. Однако одношинная организация не в состоянии обеспечить высокие интенсивность и скорость транзакций, причем «узким местом» становится именно шина.

Вычислительная машина с двумя видами шин

 

Хотя контроллеры устройств ввода/вывода (УВВ) могут быть подсоединены не­посредственно к системной шине, больший эффект достигается применением од­ной или нескольких шин ввода/вывода. УВВ подключаются к шинам ввода/вывода, которые берут на себя основной трафик, не связанный с выходом на процессор или память. Адаптеры шин обеспечивают буферизацию данных при их пересылке между системной шиной и контроллерами УВВ. Это позволяет ВМ под­держивать работу множества устройств ввода/вывода и одновременно «развязать» обмен информацией по тракту процессор-память и обмен информацией с УВВ.

 

Рис. 39. Структура взаимосвязей с двумя видами шин.

 

Подобная схема существенно снижает нагрузку на скоростную шину «процессор-память» и способствует повышению общей производительности ВМ. В каче­стве примера можно привести вычислительную машину Apple Macintosh II, где роль шины «процессор-память» играет шина NuBus. Кроме процессора и памяти к ней подключаются некоторые УВВ. Прочие устройства ввода/вывода подключа­ется к шине SCSI Bus.

Вычислительная машина с тремя видами шин

 

Дляподключения быстродействующих периферийных устройств в систему шин может быть добавлена высокоскоростная шина расширения.

 

 

Рис. 40. Структура взаимосвязей с тремя видами шин.

 

Шины ввода/вывода подключаются к шине расширения, а уже с нее через адаптер к шине «процессор-память». Схема еще более снижает нагрузку на шину «процессор-память». Такую организацию шин называют архитектурой с «пристройкой» (mezzanine architecture).

Физическая реализация шин

 

Кратко остановимся на различных аспектах физической реализации шин в вычислительных машинах и системах.

Механические аспекты

 

Основная шина, объединяющая устройства вычислительной машины, обычно размещается на так называемой объединительной или материнской плате. Шину образуют тонкие параллельные медные полоски, поперек которых через большие интервалы установлены разъемы для подсоединения устройств ВМ. Подключаемые к шине устройства обычно также выполняются в виде печатных плат, часто называемых дочерними платами, модулями или платами расширения.

Дочерние платы вставляются в разъемы на материнской плате. В дополнение к тонким сигнальным ли­ки на материнской плате имеются также и более широкие проводящие линии, которым к дочерним платам подводится питающее напряжение. Несколько контактов разъема обычно подключаются к общей точке — «земле». «Земля» на материнской плате реализуется либо в виде медного слоя (одного из внутренних слоев многослойной печатной платы), либо как широкая медная дорожка на обратной стороне материнской платы.

Контактные пружины в разъемах обеспечивают независимое подключение сиг­нальных линий, расположенных по обеим сторонам вставляемой в разъем дочер­ней платы. При создании соединительных разъемов прилагаются значительные усилия с тем, чтобы гарантировать надежный контакт после многократного извле­чения платы из разъема, а также при длительной (многолетней) эксплуатации разъема в загрязненной или коррозийной среде.

«Механические» спецификации шины обычно включают такие детали, как раз­меры плат, размеры и размещение направляющих для установки платы, разрешен­ное место для установки кабельного разъема, максимальная высота элементов на плате и т. д.

Электрические аспекты

 

Все устройства, использующие шину, электрически подсоединены к ее сигналь­ным линиям, представляющим собой электрические проводники. Меняя уровни напряжения на сигнальных линиях, ведущее устройство формирует на них инфор­мационные или управляющие сигналы. Когда ведущее устройство выставляет на сигнальной шине какой-то уровень напряжения, этот уровень может быть воспри­нят приемниками в любой точке линии. Такое описание дает лишь идеализиро­ванную картину происходящих на шине процессов — реальные процессы значи­тельно сложнее.

Схему, меняющую напряжение на сигнальной шине, обычно называют драйве­ром или возбудителем шины. В принципе драйвером может быть любая цифровая схема, поскольку на ее цифровом выходе всегда присутствует один из двух воз­можных уровней напряжения.

При реализации шины необходимо предусмотреть возможность отключения драйвера от сигнальной линии на период, когда он не использует шину. Один из возможных способов обеспечения подобного режима — применение драйвера, вы­ход которого может находиться в одном из трех состояний: «высокий уровень на­пряжения» (high), «низкий уровень напряжения» (low) и «отключен» (off). Для перевода в состояние «off», эквивалентное отключению выхода драйвера от сиг­нальной линии, используется специальный вход драйвера. Режим «off» необхо­дим для исключения возможности одновременного управления шиной двумя или более устройствами, в противном случае на линиях могут возникать пиковые вы­бросы напряжения или искаженные сигналы, которые кроме некорректной пере­дачи информации могут привести к преждевременному отказу электронных ком­понентов.

Совместное использование линии шины несколькими устройствами возможно также за счет подключения этой линии к выходу драйвера через резистор, соединен­ный с источником питания. В зависимости от полупроводниковой технологии, примененной в выходных каскадах драйвера, подобную возможность обеспечивают схемы с открытым коллектором (ТТЛ), открытым стоком (МОП) или открытым эмиттером (ЭСЛ). Данный способ не только исключает электрические конфлик­ты на шине, но и позволяет реализовать очень полезный вид логической операции, известный как «монтажное ИЛИ» или «монтажное И» (трактовка зависит от со­ответствия между уровнями напряжения и логическими значениями 1 и 0). Если к линии одновременно подключается несколько драйверов, то сигнал на линии представляет собой результат логического сложения (операция ИЛИ) всех посту­пивших на линию сигналов. Это оказывается весьма полезным при решении зада­чи арбитража, которая рассматривается позже. В некоторых шинах «монтажное ИЛИ» используется лишь в отдельных сигнальных линиях, но иногда эту опера­цию допускают по отношению ко всем линиям шины.

Приемниками в операциях на шинах называют схемы, сравнивающие уровень сигнала на входе со стандартными значениями, формируемыми внутренними це­пями приемников. По итогам сравнения приемник генерирует выходной сигнал, уровень которого соответствует одному из двух возможных логических значений – 1 или 0. Трансивер (приемопередатчик) содержит приемник и драйвер, причем выход драйвера и вход приемника сводятся в общую точку.

Рассматривая процесс распространения сигнала по сигнальной линии, необхо­димо учитывать четыре основных фактора:

· скорость распространения;

· отражение;

· перекос;

· эффекты перекрестного влияния.

Теоретическая граница скорости распространения сигнала — скорость света в свободном пространстве, то есть около 300 мм/нс. Реальная скорость, определя­емая физическими характеристиками сигнальных линий и нагрузкой, не может превысить 70% от скорости света.

Процессы в линии рассмотрим на примере сигнальной линии, которая через резистор, соединенный с источником питания, удерживается на уровне напряжения, соответствующем логической единице. Сигнал драйвера «подтягивает» ли­нию к своему уровню напряжения. Изменение напряжения распространяется от точки подключения драйвера в обоих направлениях, пока на всей линии не уста­новится уровень сигнала драйвера. Характер распространения сигнала определя­ют емкость, индуктивность и характеристическое сопротивление линии, локаль­ные значения которых по длине линии зависят от локальных свойств проводника и его окружения.

По мере распространения по реальной линии сигнал преодолевает области с раз­личным сопротивлением. Там, где оно меняется, сигнал не может оставаться по­стоянным, поскольку меняется соотношение между током и напряжением. Часть сигнала продолжает продвижение, а часть — отражается в противоположную сто­рону. Прямой и отраженный сигналы могут повторно отражаться, в результате чего на линии формируется сложный результирующий сигнал. В конце линии сигнал отражается назад, если только он не поглощен правильно подобранным согласую­щим резистором. Если на конце линии имеется согласующий резистор, с сопро­тивлением, идентичным импедансу линии, сигнал будет поглощен без отражения. Такие резисторы должны размещаться по обоим концам сигнальной линии. К со­жалению, точное значение импеданса реальной линии никогда не известно, из-за чего номиналы резисторов невозможно точно согласовать с линией, и отражение всегда имеет место.

При параллельной передаче по линиям шины битов адреса или данных сигна­лы на разных линиях достигают соответствующих приемников совсем не одновре­менно. Это явление известно как перекос сигналов.

Распространяясь по линии, сигнал создает вокруг нее электростатическое и ма­гнитное поля. Сигнальные линии в шине располагаются параллельно и в непо­средственной близости одна от другой. Поля от близко расположенных линий пе­рекрываются, приводя к тому, что сигнал на одной линии влияет на сигнал в другой. Этот эффект называют перекрестной или переходной помехой.

Наиболее очевидный способ уменьшения перекрестной помехи эффекта – про­странственно разнести линии шины так, чтобы их поля не влияли на «соседей», – для печатной платы ограниченного размера не подходит. К снижению эффектов перекрестного влияния ведет уменьшение взаимных емкости и индуктивности линий, чего можно добиться, разместив вблизи сигнальных линий «земляные» линии или включив в многослойную печатную плату «земляные» слои. Это, одна­ко, приводит к нежелательному эффекту увеличения собственной емкости линий. Наиболее распространенный подход к снижению перекрестной помехи состоит в разделении линий изолятором с малой диэлектрической постоянной. В целом, при проектировании шин обычно используется комбинация перечисленных мето­дов борьбы с перекрестной помехой.

Из-за несовершенства физической реализации сигнальных линий фронты им­пульсов по мере распространения сигналов меняются, соответственно, меняется и форма сигнала. Для каждой шины существует некое минимальное значение ши­рины импульса, при которой он еще способен дойти от одного конца к другому так, что его еще можно распознать. Эта ширина выступает в качестве основного ограничения на полосу пропускания данной шины, то есть на число импульсов, которые могут быть переданы по шине в единицу времени.

Поскольку драйвер одновременно «видит» две линии, передающие информа­цию в противоположных направлениях, он должен поддерживать двойную по срав­нению с одной линией величину тока. Для типичных линий импеданс не превы­шает 20 Ом, а сигналы имеют уровень порядка 3 В, что выражается в величине тока около 150 мА. Приведенные цифры для современных драйверов не составля­ют проблемы, поскольку применяемые в настоящее время схемы способны при­способиться к гораздо худшим параметрам сигналов.

Порождаемый сигналом ток замыкается через «земляной» контакт драйвера. Когда одновременно активны все сигнальные линии, ток возврата через «землю» может быть весьма большим. Положение осложняет то, что ток этот не является постоянным и в моменты подключения и отключения драйвера содержит высоко­частотные составляющие. Кроме того, из-за сопротивления и индуктивности «зем­ляного» слоя печатной платы потенциалы на «земляных» выводах дочерних плат могут различаться. Это может приводить к неверной оценке сигналов приемника­ми, следствием чего становится некорректное срабатывание логических схем. С «зе­мляным» шумом легче бороться на стадии проектирования шины. Прежде всего, необходимо улучшать характеристики «земляных» слоев на материнской и дочер­них платах. Между системами заземления материнской и дочерних плат должно быть много хорошо распределенных надежных контактов. Для высокоскоростных шин на каждые четыре сигнальных шины следует иметь отдельный «земляной» контакт. Кроме того, дочерняя плата должна быть спроектирована так, чтобы «зем­ляной» ток от данного драйвера протекал к тому «земляному» контакту, который расположен как можно ближе к сигнальным выводам. «Земля» материнской пла­ты обычно реализуется в виде внутреннего медного слоя в многослойной печат­ной плате; отверстия с зазором вокруг сигнальных выводов предотвращают корот­кое замыкание сигнального вывода с этим слоем. Разъем должен быть достаточно широким, чтобы на дочерней плате трансиверы можно было разместить по воз­можности ближе к нему, что позволяет сократить длину тех участков шины, где нарушается ее неразрывность.

В целом ряде известных шин многие из рассмотренных положений игнорируются. По практическим соображениям используются линии с высоким импедансом. На­дежность работы с такими «плохими» шинами достигается за счет их замедления: затягивание перехода сигналов от одного уровня напряжения к другому приводит к уменьшению отражений. Снижается также влияние перекрестных помех.

Высокое быстродействие драйверов шины имеет и отрицательную сторону: они оказываются слишком быстрыми для управляемых ими шин, при этом сигналы на линиях сильно искажаются. Эта проблема обычно преодолевается за счет введения задержки, часто называемой временем установления сигнала (временем успокоения). Задержка выбирается так, что сигналы стабилизируются до момента их использования. Зачастую достаточно задержки, принципиально присущей используемым схемам, но иногда приходится вводить и явную задержку.

В синхронных шинах, где для синхронизации транзакций используется единая система тактовых импульсов (ТИ), такая задержка может быть добавлена весьма просто путем замедления тактирования. Так, можно разрешить всем сигналам из­меняться только по одному из фронтов ТИ, что создает достаточную заминку для распространения сигналов и их стабилизации.

В асинхронных шинах проблема должна быть решена либо в самом драйвере. либо за счет введения искусственной приостановки, компенсирующей излишнее быстродействие драйвера. Еще одна возможность – замедление цепей приемника.

Распределение линий шины

 

Любая транзакция на шине начинается с выставления ведущим устройством ад­ресной информации. Адрес позволяет выбрать ведомое устройство и установить соединение между ним и ведущим. Для передачи адреса используется часть сиг­нальных линий шины, совокупность которых часто называют шиной адреса (ША).

На ША могут выдаваться адреса ячеек памяти, номера регистров ЦП, адреса портов ввода/вывода и т. п. Многообразие видов адресов предполагает наличие дополнительной информации, уточняющей вид, используемый в данной транзак­ции. Такая информация может косвенно содержаться в самом адресе, но чаще пе­редается по специальным управляющим линиям шины.

Разнообразной может быть и структура адреса. Так, в адресе может конкрети­зироваться лишь определенная часть ведомого, например, старшие биты адреса могут указывать на один из модулей основной памяти, в то время как младшие биты определяют ячейку внутри этого модуля.

В некоторых шинах предусмотрены адреса специального вида, обеспечиваю­щие одновременный выбор определенной группы ведомых либо всех ведомых сразу (broadcast). Такая возможность обычно практикуется в транзакциях записи (от ведущего к ведомым), однако существует также специальный вид транзакции чте­ния (одновременно от нескольких ведомых общему ведущему). Английское назва­ние такой транзакции чтения broadcall можно перевести как «широковещательный опрос». Информация, возвращаемая ведущему, представляет собой результат поби­тового логического сложения данных, поступивших от всех адресуемых ведомых.

Число сигнальных линий, выделенных для передачи адреса (ширина шины ад­реса), определяет максимально возможный размер адресного пространства. Это одна из базовых характеристик шины, поскольку от нее зависит потенциальная емкость адресуемой памяти и число обслуживаемых портов ввода/вывода.

Совокупность линий, служащих для пересылки данных между модулями сис­темы, называют шиной данных (ШД). Важнейшие характеристики шины данных – ширина и пропускная способность.

Ширина шины данных определяется количеством битов информации, которое может быть передано по шине за одну транзакцию (цикл шины). Цикл шины сле­дует отличать от периода тактовых импульсов — одна транзакция на шине может занимать несколько тактовых периодов. В середине 1970-х годов типовая ширина шины данных составляла 8 бит. В наше время это обычно 32, 64 или 128 бит. В лю­бом случае ширину шины данных выбирают кратной целому числу байтов, при­чем это число, как правило, представляет собой целую степень числа 2.

Элемент данных, задействующий всю ширину ШД, принято называть словом, хотя в архитектуре некоторых ВМ понятие «слово» трактуется по-другому, то есть слово может иметь разрядность, не совпадающую с шириной ШД.

В большинстве шин используются адреса, позволяющие указать отдельный байт слова. Это свойство оказывается полезным, когда желательно изменить в памяти лишь часть полного слова.

При передаче по ШД части слова пересылка обычно производится по тем же сигнальным линиям, что и в случае пересылки полного слова, однако в ряде шин «обрезанное» слово передается по младшим линиям ШД. Последний вариант мо­жет оказаться более удобным при последующем расширении шины данных, поскольку в этом случае сохраняется преемственность со «старой» шиной.

Ширина шины данных существенно влияет на производительность ВМ. Так, если шина данных имеет ширину вдвое меньшую чем длина команды, ЦП в тече­ние каждого цикла команды вынужден осуществлять доступ к памяти дважды.

Пропускная способность шины характеризуется количеством единиц инфор­мации (байтов), которые допускается передать по шине за единицу времени (се­кунду), а определяется физическим построением шины и природой подключае­мых к ней устройств. Очевидно, что чем шире шина, тем выше ее пропускная способность.

Некоторые шины содержат дополнительные линии, используемые для обнару­жения ошибок, возникших в процессе передачи. Выделение по одной дополни­тельной линии на каждый отдельный байт данных позволяет контролировать лю­бой байт по паритету, причем и в случае пересылки по ШД лишь части слова. Возможен и иной вариант контроля ошибок. В этом случае упомянутые дополни­тельные линии используются совместно. По ним передается корректирующий код, благодаря которому ошибка может быть не только обнаружена, но и откорректи­рована. Такой метод удобен лишь при пересылке по шине полных слов.

Если адрес и данные в шине передаются по независимым (выделенным) сиг­нальным линиям, то ширина ША и ШД обычно выбирается независимо. Наибо­лее частые комбинации: 16-8, 16-16, 20-8, 20-16, 24-32 и 32-32. Во многих ши­нах адрес и данные пересылаются по одним и тем же линиям, но в разных тактах цикла шины. Этот прием называется временным мультиплексированием и будет рассмотрен позже. Здесь же отметим, что в случае мультиплексирования ширина ША и ширина ШД должны быть взаимоувязаны.

Применение раздельных шин адреса и данных позволяет повысить эффектив­ность использования шины, особенно в транзакциях записи, поскольку адрес ячейки памяти и записываемые данные могут передаваться одновременно.

Помимо трактов пересылки адреса и данных, неотъемлемым атрибутом любой шины являются линии, по которым передается управляющая информации и ин­формация о состоянии участвующих в транзакции устройств. Совокупность та­ких линий принято называть шиной управления(ШУ), хотя такое название пред­ставляется не совсем точным. Сигнальные линии, входящие в ШУ, можно условно разделить на несколько групп.

Первую группу образуют линии, по которым пересылаются сигналы управле­ния транзакциями,то есть сигналы, определяющие:

· тип выполняемой транзакции (чтение или запись);

· количество байтов, передаваемых по шине данных, и, если пересылается часть слова, то какие байты;

· какой тип адреса выдан на шину адреса;

· какой протокол передачи должен быть применен.

На перечисленные цели обычно отводится от двух до восьми сигнальных ли­ний.

Ко второй группе отнесем линии передачи информации состояния (статуса). В эту группу входят от одной до четырех линий, по которым ведомое устройство может информировать ведущего о своем состоянии или передать код возникшей ошибки.

Третья группа – линии арбитража. Вопросы арбитража рассматриваются не­сколько позже. Пока отметим лишь, что арбитраж необходим для выбора одного из нескольких ведущих, одновременно претендующих на доступ к шине. Число линий арбитража в разных шинах варьируется от 3 до 11.

Четвертую группу образуют линии прерывания. По этим линиям передаются запросы на обслуживание, посылаемые от ведомых устройств к ведущему. Под собственно запросы обычно отводятся одна или две линии, однако при одновре­менном возникновении запросов от нескольких ведомых возникает проблема ар­битража, для чего могут понадобиться дополнительные линии, если только с этой целью не используются линии третьей группы.

Пятая группа — линии для организации последовательных локальных сетей. Наличие от 1 до 4 таких линий стало общепринятой практикой в современных шинах. Обусловлено это тем, что последовательная передача данных протекает значительно медленнее, чем параллельная, и сети значительно выгоднее строить, не загружая быстрые линии основных шин адреса и данных. Кроме того, шины этой группы могут быть использованы как полноценный, хотя и медленный, из­быточный тракт для замены ША и ШД в случае их отказа. Иногда шины пятой группы назначаются для реализации специальных функций, таких, например, как обработка прерываний или сортировка приоритетов задач.

В некоторых ШУ имеется шестая группа сигнальных линий — от 4 до 5 линий позиционного кода, подсоединяемых к специальным выводам разъема. С помощью перемычек на этих выводах можно задать уникальный позиционный код разъема на материнской плате или вставленной в этот разъем дочерней платы. Такой код может быть использован для индивидуальной инициализации каждой отдельной платы при включении или перезапуске системы.

Наконец, в каждой шине обязательно присутствуют линии, которые в нашей классификации входят в седьмую группу, которая по сути является одной из важ­нейших. Это группа линий тактирования и синхронизации. При проектировании шины таким линиям уделяется особое внимание. В состав группы, в зависимости от протокола шины (синхронный или асинхронный), входят от двух до шести линий.

В довершение необходимо упомянуть линии для подвода питающего напряже­ния и линии заземления.

Большое количество линий в шине предполагает использование разъемов со значительным числом контактов. В некоторых шинах разъемы имеют сотни кон­тактов, где предусмотрены подключение вспомогательных шин специального на­значения, свободные линии для локального обмена между дочерними платами, множественные параллельно расположенные контакты для «размножения» пи­тания и «земли»



Поделиться:


Последнее изменение этой страницы: 2016-09-18; просмотров: 733; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.105.85 (0.011 с.)