Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

 

 

 

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

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

 

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 4.9. Временная диаграмма пересылки данных

Сначала устройство А выставляет данные на шину. Здесь tn — это задержка между моментом выставления данных устройством А и моментом их появления на шине. Этот интервал времени может составлять от 1 до 4 не. Как уже отмечалось, скорость распространения данных по шине реально не в состоянии превысить 70% от скорости света. Единственный способ уменьшения задержки распространения tpc — сокращение длины шины. Когда сигнал достигает устройства, он должен быть «захвачен». Захват данных устройством В может быть произведен только по про­шествии некоторого времени стабилизации. Время стабилизации t cт— это время, в течение которого данные на входе устройства В должны стабилизироваться с тем, чтобы их можно было однозначно распознать. Необходимо также упомянуть и вре­мя удержания t уд — интервал, в течение которого информация должна оставаться на шине данных после того, как они были зафиксированы устройством В. Общее время передачи данных по шине t попределяется выражением t п = t зд + t рс .+ t ст + t уд. Если подставить типовые значения этих параметров, получим 4 + 1,5 + 2 + 0 = 7,5 не, что соответствует частоте шины 109/7,5 = 133,3 МГц.

На практике передача данных осуществляется с задержкой на инициализацию транзакции (£„). Учитывая эту задержку, максимальную скорость передачи можно определить как

 
 


 

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

Арбитраж шин

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

Схемы приоритетов

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

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

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

Наибольшее распространение получили следующие алгоритмы динамического изменения приоритетов:

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

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

 

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

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

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

В схеме равных приоритетов при поступлении к арбитру нескольких запросов каждый из них имеет равные шансы на обслуживание. Возможный конфликт раз­решается арбитром. Такая схема принята в асинхронных системах.

В алгоритме наиболее давнего использования (LRU, Least Recently Used) после каждого цикла арбитража наивысший приоритет присваивается ведущему, кото­рый дольше чем другие не использовал шину.

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

  • алгоритм очереди (первым пришел — первым обслужен);
  • алгоритм фиксированного кванта времени.

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

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

Схемы арбитража

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

Централизованный арбитраж

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

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

Идею централизованного параллельного арбитража на примере восьми веду­щих устройств иллюстрирует рис. 4.11, а.

Здесь и далее под «текущим ведущим» будем понимать ведущее устройство, управляющее шиной в момент поступления нового запроса. Устройство, выста­вившее запрос на управление шиной, будем называть «запросившим ведущим». Сигналы запроса шины (ЗШ) поступают на вход центрального арбитра по индиви­дуальным линиям. Ведущему с номером i, который был выбран арбитром, также по индивидуальной линии возвращается сигнал предоставления шины (ПШ{). Ре­ально же занять шину новый ведущий сможет лишь после того, как текущий веду­щий (пусть он имеет номеру) снимет сигнал занятия шины (ШЗ). Текущий веду­щий должен сохранять сигналы ШЗ и 31Ц активными в течение всего времени, пока он использует шину. Получив запрос от ведущего, приоритет которого выше, чем у текущего ведущего, арбитр снимает сигнал ПШ^ на входе текущего ведущего и выдает сигнал предоставления шины ПШ, запросившему ведущему. В свою оче­редь, текущий ведущий, обнаружив, что центральный арбитр убрал с его входа сигнал niUj, снимает свои сигналы ШЗ и 3UJj, после чего запросивший ведущий мо­жет перенять управление шиной. Если в момент пропадания сигнала ПШ на шине происходит передача информации, текущий ведущий сначала завершает передачу и лишь после этого снимает свои сигналы.


Рис. 4.11. Централизованный параллельный арбитраж: а — общая схема; б — возможная реализация

Логика выбора одного из запрашивающих ведущих обычно реализуется аппа­ратными средствами. В качестве примера рассмотрим реализацию системы цент­рализованного параллельного арбитража для статических приоритетов (рис. 4.11, б). Пусть имеется восемь потенциальных ведущих 7-0, восемь сигналов запроса шины ЗШ7-ЗШО и восемь соответствующих им сигналов предоставления шины ПШ7-ПШ0. Положим, что приоритеты ведущих последовательно убывают с уменьшением их номера. Если текущим является ведущий 3, то шину у него могут перехватить ве­дущие с номерами от 4 до 7, а ведущие 0-2 этого сделать не могут. Ведущий 0 вправе использовать шину лишь тогда, когда она свободна, и должен освободить ее по запросу любого другого ведущего. Схема статических приоритетов может быть относительно просто реализована на основе логических выражений, которые применительно к рассматриваемому примеру имеют вид:

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

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

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

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

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

Рис. 4.12. Централизованный последовательный арбитраж с цепочкой для сигнала предоставления шины

Запросы от ведущих объединяются на линии запроса шины по схеме «монтаж­ного ИЛИ». Аналогично организована и линия, сигнализирующая о том, что шина в данный момент занята одним из ведущих. Когда один или несколько ведущих выставляют запросы, эти запросы транслируются на вход центрального арбитра. Получив сигнал ЗШ, арбитр анализирует состояние линии занятия шины, и если шина свободна, формирует сигнал ПШ. Сигнал предоставления шины последова­тельно переходит по цепочке от одного ведущего к другому. Если устройство, на которое поступил сигнал ПШ, не запрашивало шину, оно просто пропускает сигнал дальше по цепочке. Когда П Ш достигнет самого левого из запросивших ведущих, последний блокирует дальнейшее распространение сигнала ПШ по цепочке и бе­рет на себя управление шиной.

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

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

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

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...