Реклама:

Шина - это несколько проводников, соединяющих различные устройства. Шины можно разделить на категории в соответствии с выполняемыми функциями. Они могут быть внутренними по отношению к процессору и служить для передачи данных в АЛУ и из АЛУ, а могут быть внешними по отношению к процессору и связывать процессор с памятью или устройствами ввода-вывода. Каждый тип шины обладает определенными свойствами, и к каждому из них предъявляются определенные требования. В этом и следующих подразделах мы сосредоточимся на шинах, которые связывают центральный процессор с памятью и устройствами ввода-вывода. В следующей главе мы подробно рассмотрим внутренние шины процессора.

Первые персональные компьютеры имели одну внешнюю шину, которая называлась системной. Она состояла из нескольких медных проводов (от 50 до 100), которые встраивались в материнскую плату. На материнской плате на одинаковых расстояниях друг от друга находились разъемы для микросхем памяти и устройств ввода-вывода. Современные персональные компьютеры обычно содержат специальную шину между центральным процессором и памятью и по крайней мере еще одну шину для устройств ввода-вывода. На рис, 3.33 изображена система с одной шиной памяти и одной шиной ввода-вывода.

Компьютерные шины

Рис. 3.33. Компьютерная система с несколькими шинами

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

Хотя разработчики процессоров могут использовать любой тип шины для микросхемы, должны быть введены четкие правила о том, как работает шина; и все устройства, связанные с шиной, должны подчиняться этим правилам, чтобы платы, которые выпускаются сторонними производителями, подходили к системной шине. Эти правила называются протоколом шины. Кроме того, должны существовать определенные технические требования, чтобы платы от сторонних производителей подходили к направляющим для печатных плат и имели разъемы, соответствующие материнской плате механически, с точки зрения напряжений, синхронизации и т. д.

Существует ряд широко используемых в компьютерном мире шин, например: Omnibus (PDP-8), Unibus (PDP-11), Multibus (8086), IBM PC (PC/XT), ISA (PC/AT), EISA (80386), MicroChannel (PC/2), PCI (различные персональные компьютеры), SCSI (различные персональные компьютеры и рабочие станции), Nubus (Macintosh), Universal Serial Bus (современные персональные компьютеры), FireWire (бытовая электроника), VME (оборудование в кабинетах физики) и Сатас (физика высоких энергий). Может быть, все стало бы намного проще, если бы все шины, кроме одной или двух, исчезли с поверхности земли. К сожалению, стандартизация в этой области кажется очень маловероятной, поскольку во все эти несовместимые системы уже вложено слишком много средств.

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

Таблица 3.3. Примеры задающих и подчиненных устройств

Задающее устройство

Центральный процессор

Подчиненное устройство

Память

Пример

Вызов команд и данных

Центральный процессор

Устройство ввода-вывода

Инициализация передачи данных

Центральный процессор

Сопроцессор

Передача команды от процессора к сопроцессору

Устройство ввода-вывода

Память

Прямой доступ к памяти

Сопроцессор

Центральный процессор

Вызов сопроцессором операндов из центрального процессора

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

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

Разработка шин и принципы действия шин - это достаточно сложные вопросы, и по этому поводу написан ряд книг [11, 193]. Принципиальными вопросами в разработке являются ширина шины, синхронизация шины, арбитраж шины и функционирование шины. Все эти параметры существенно влияют на пропускную способность шины. В следующих четырех подразделах мы рассмотрим каждый из них.

Микросхемы процессоров || Оглавление || Ширина шины