31641

Системные и локальные шины

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-09-01

23.51 KB

2 чел.

Системные и локальные шины

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

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

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

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

Как уже было отмечено, с целью снижения стоимости некоторые компьютеры имеют единственную шину для памяти и устройств ввода/вывода. Такая шина часто называется системной. Персональные компьютеры, как правило, строятся на основе одной системной шины в стандартах ISA, EISA или MCA. Необходимость сохранения баланса производительности по мере роста быстродействия микропроцессоров привела к двухуровневой организации шин в персональных компьютерах на основе локальной шины. Локальной шиной называется шина, электрически выходящая непосредственно на контакты микропроцессора. Она обычно объединяет процессор, память, схемы буферизации для системной шины и ее контроллер, а также некоторые вспомогательные схемы. Типичными примерами локальных шин являются VL-Bus и PCI.

Рассмотрим типичную транзакцию на шине. Шинная транзакция включает в себя две части: посылку адреса и прием (или посылку) данных. Шинные транзакции обычно определяются характером взаимодействия с памятью: транзакция типа "Чтение" передает данные из памяти (либо в ЦП, либо в устройство ввода/вывода), транзакция типа "Запись" записывает данные в память. В транзакции типа "Чтение" по шине сначала посылается в память адрес вместе с соответствующими сигналами управления, индицирующими чтение. Память отвечает, возвращая на шину данные с соответствующими сигналами управления. Транзакция типа "Запись" требует, чтобы ЦП или устройство в/в послало в память адрес и данные и не ожидает возврата данных. Обычно ЦП вынужден простаивать во время интервала между посылкой адреса и получением данных при выполнении чтения, но часто он не ожидает завершения операции при записи данных в память.

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

Следующий термин, указанный в таблице, - количество главных устройств шины (bus master). Главное устройство шины - это устройство, которое может инициировать транзакции чтения или записи. ЦП, например, всегда является главным устройством шины. Шина имеет несколько главных устройств, если имеется несколько ЦП или когда устройства ввода/вывода могут инициировать транзакции на шине. Если имеется несколько таких устройств, то требуется схема арбитража, чтобы решить, кто следующий захватит шину. Арбитраж часто основан либо на схеме с фиксированным приоритетом, либо на более "справедливой" схеме, которая случайным образом выбирает, какое главное устройство захватит шину.

В настоящее время используются два типа шин, отличающиеся способом коммутации: шины с коммутацией цепей (circuit-switched bus) и шины с коммутацией пакетов (packet-switched bus), получившие свои названия по аналогии со способами коммутации в сетях передачи данных. Шина с коммутацией пакетов при наличии нескольких главных устройств шины обеспечивает значительно большую пропускную способность по сравнению с шиной с коммутацией цепей за счет разделения транзакции на две логические части: запроса шины и ответа. Такая методика получила название "расщепления" транзакций (split transaction). (В некоторых системах такая возможность называется шиной соединения/разъединения (connect/disconnect) или конвейерной шиной (pipelined bus). Транзакция чтения разбивается на транзакцию запроса чтения, которая содержит адрес, и транзакцию ответа памяти, которая содержит данные. Каждая транзакция теперь должна быть помечена (тегирована) соответствующим образом, чтобы ЦП и память могли сообщить что есть что.

Шина с коммутацией цепей не делает расщепления транзакций, любая транзакция на ней есть неделимая операция. Главное устройство запрашивает шину, после арбитража помещает на нее адрес и блокирует шину до окончания обслуживания запроса. Большая часть этого времени обслуживания при этом тратится не на выполнение операций на шине (например, на задержку выборки из памяти). Таким образом, в шинах с коммутацией цепей это время просто теряется. Расщепленные транзакции делают шину доступной для других главных устройств пока память читает слово по запрошенному адресу. Это, правда, также означает, что ЦП должен бороться за шину для посылки данных, а память должна бороться за шину, чтобы вернуть данные. Таким образом, шина с расщеплением транзакций имеет более высокую пропускную способность, но обычно она имеет и большую задержку, чем шина, которая захватывается на все время выполнения транзакции. Транзакция называется расщепленной, поскольку произвольное количество других пакетов или транзакций могут использовать шину между запросом и ответом.

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

Асинхронная шина, с другой стороны, не тактируется. Вместо этого обычно используется старт-стопный режим передачи и протокол "рукопожатия" (handshaking) между источником и приемником данных на шине. Эта схема позволяет гораздо проще приспособить широкое разнообразие устройств и удлинить шину без беспокойства о перекосе сигналов синхронизации и о системе синхронизации. Если может использоваться синхронная шина, то она обычно быстрее, чем асинхронная, из-за отсутствия накладных расходов на синхронизацию шины для каждой транзакции. Выбор типа шины (синхронной или асинхронной) определяет не только пропускную способность, но также непосредственно влияет на емкость системы ввода/вывода в терминах физического расстояния и количества устройств, которые могут быть подсоединены к шине. Асинхронные шины по мере изменения технологии лучше масштабируются. Шины ввода/вывода обычно асинхронные.

Возможность

Высокая производительность

Низкая стоимость

Общая разрядность шины

Отдельные линии адреса и данных

Мультиплексирование линий адреса и данных

Ширина (рязрядность)
данных

Чем шире, тем быстрее (например, 32 бит)

Чем уже, тем дешевле (например, 8 бит)

Размер пересылки

Пересылка нескольких слов имеет меньшие накладные расходы

Пересылка одного слова дешевле

Главные устройства шины

Несколько
(требуется арбитраж)

Одно
(арбитраж не нужен)

Расщепленные
транзакции?

Да - отдельные пакеты Запроса и Ответа дают большую полосу пропускания (нужно несколько главных устройств)

Нет - продолжающееся соединение дешевле и имеет меньшую задержку

Тип синхронизации

Синхронные

Асинхронные

Рис. 9.1. Основные возможности шин 

Стандарты шин 

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

Иногда широкое распространение и популярность конкретных машин становятся причиной того, что их шина ввода/вывода становится стандартом де факто. Примерами таких шин могут служить PDP-11 Unibus и IBM PC-AT Bus. Иногда стандарты появляются также в результате определенных достижений по стандартизации в некотором секторе рынка устройств ввода/вывода. Интеллектуальный периферийный интерфейс (IPI - Intelligent Peripheral Interface) и Ethernet являются примерами стандартов, появившихся в результате кооперации производителей. Успех того или иного стандарта в значительной степени определяется его принятием такими организациями как ANSI (Национальный институт по стандартизации США) или IEEE (Институт инженеров по электротехнике и радиоэлектронике). Иногда стандарт шины может быть прямо разработан одним из комитетов по стандартизации: примером такого стандарта шины является FutureBus.

На рис. 9.2 представлены характеристики нескольких стандартных шин. Заметим, что строки этой таблицы, касающиеся пропускной способности, не указаны в виде одной цифры для шин процессор-память (VME, FutureBus, MultibusII). Размер пересылки, из-за разных накладных расходов шины, сильно влияет на пропускную способность. Поскольку подобные шины обычно обеспечивают связь с памятью, то пропускная способность шины зависит также от быстродействия памяти. Например, в идеальном случае при бесконечном размере пересылки и бесконечно быстрой памяти (время доступа 0 нсек) шина FutureBus на 240% быстрее шины VME, но при пересылке одиночных слов из 150-нсекундной памяти шина FutureBus только примерно на 20% быстрее, чем шина VME.

 

VME bus

FutureBus Multibus II IPI SCSI

Ширина шины
(кол-во сигналов)

128

96 96 16 8

Мультиплекси-рование
адреса/данных


Нет


Да
Да
(
(

Разрядность
данных

16/32 бит

32 бит 32 бит 16 бит 8 бит

Размер пересылки (слов)

Одиночная
или
групповая

Одиночная
или
групповая Одиночная
или
групповая Одиночная
или
групповая Одиночная
или
групповая

Количество главных устройств шины

Несколько

Несколько Несколько Одно Несколько

Расщепление
транзакций

Нет

Доп. возможность Доп. возможность Доп. возможность Доп. возможность

Полоса пропускания
(время доступа -
0 нс - 1 слово)


25.9 Мб/c


37.0 Мб/c
20.0 Мб/c
25.0 Мб/c
5.0 Мб/c

Полоса пропускания
(время доступа -
150 нс - 1 слово)


12.9 Мб/c


15.5 Мб/c
10.0 Мб/c
25.0 Мб/c
5.0 Мб/c

Полоса пропускания
(время доступа - 0 нс - неогр. размер
блока)


27.9 Мб/c


95.2 Мб/c
40.0 Мб/c
25.0 Мб/c
5.0 Мб/c

Полоса пропускания
(время доступа -
150 нс - неогр. размер блока)


13.6 Мб/c


20.8 Мб/c
13.3 Мб/c
25.0 Мб/c
5.0 Мб/c

Максимальное количество устройств

21

20 21 8 7

Максимальная
длина шины

0.5 м

0.5 м 0.5 м 50 м 25 м

Стандарт

IEEE 1014

IEEE 896.1 ANSI/
IEEE 1296 ANSI
X3.129 ANSI
X3.131

Рис. 9.2. Примеры стандартных шин 


 

А также другие работы, которые могут Вас заинтересовать

17866. Спрос, предложение и их взаимодействие 462 KB
  Лекция 5 Тема: Спрос предложение и их взаимодействие Учебная цель лекции: изложить основные положения теорий спроса и предложения дать перечень факторов влияющих на спрос и предложение благ оказать содействие развитию у студентов экономического мышления
17867. Микроэкономическая модель предприятия 550 KB
  Лекция 6 Тема: Микроэкономическая модель предприятия Учебная цель лекции: изложить основы теории производства выявить основные мотивы функционирования и параметры хозяйственной деятельности предприятия оказать содействие развитию у студентов экономическ
17868. Вариации факторов производства и оптимум производителя 614 KB
  Лекция 7 Тема: Вариации факторов производства и оптимум производителя Учебная цель лекции: детально изложить модель процесса производства в виде производственной функции дать понятия оптимума производителя различных вариаций факторов производства: частичной ...
17869. Расходы и прибыль предприятия 448.5 KB
  Лекция 8 Тема: Расходы и прибыль предприятия Учебная цель лекции: изложить основы теории расходов и прибыли рассмотреть взаимосвязи между различными видами расходов с учётом экономического времени оказать содействие развитию у студентов экономического мышл...
17870. Рынок совершенной конкуренции 898 KB
  Лекция 9 Тема: Рынок совершенной конкуренции Учебная цель лекции: изложить основные положения теории конкуренции дать характеристику рынка совершенной конкуренции как модели идеального рынка оказать содействие развитию у студентов экономического мышления...
17871. Монопольный рынок 629 KB
  Лекция 10 Тема: Монопольный рынок Учебная цель лекции: изложить основные положения теории монополии дать понятия монопольной власти ценовой дискриминации оказать содействие развитию у студентов экономического мышления формированию самостоятельности при...
17872. Модели олигополии 261 KB
  17 Лекция 11 Тема: Модели олигополии Учебная цель лекции: изложить основные положения олигопольной структуры дать понятия моделей олигопольного поведения оказать содействие развитию у студентов экономического мышления формированию самост...
17873. Монополистическая конкуренция 197.5 KB
  11 Лекция 12 Тема: Монополистическая конкуренция Учебная цель лекции: изложить основные положения теории монополистической конкуренции дать понятия дифференциации экономических благ неценовой конкуренции оказать содействие развитию у студ
17874. Спрос на факторы производства 699.5 KB
  Лекция 13 Тема: Спрос на факторы производства Учебная цель лекции: изложить основные положения теории предельной полезности дать понятия потребностей экономических благ равновесия потребителя оказать содействие развитию у студентов экономического мышлени...