Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ.

2.13.8.2.

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

 
  Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ. - student2.ru Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ. - student2.ru Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ. - student2.ru Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ. - student2.ru

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

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

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

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

 
  Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ. - student2.ru Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ. - student2.ru

1.13.9. Арбитраж шин

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

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

         
    Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ. - student2.ru
 
  Данная структура взаимосвязей является простой и имеет низкую стоимость, но не в состоянии обеспечивать высокие интенсивность и скорость транзакций, является «узким местом» ВМ. - student2.ru
 
   
Рис. 2.33 Одноуровневый централизованный арбитраж с использованием системы последовательного опроса (а); двухуровневый централизованный арбитраж

Когда арбитр видит запрос шины, он запускает линию предоставление шины, которая последовательно связывает все устройства ввода/вывода. Когда физически ближайшее к арбитру устройство воспринимает сигнал предоставление шины, то оно проверяет наличие запроса шины. Если запрос есть, то устройство пользуется шиной, но не распространяет сигнал предоставление шины дальше по линии. Если запроса нет, то устройство передает сигнал предоставления шины следующему устройству. Передача сигнала предоставления шины продолжается до тех пор, пока какое-нибудь устройство не воспользуется предоставленной шиной. Такая система называется системой последовательного опроса. При этом приоритеты устройств зависят от того, насколько близко они находятся к арбитру. Ближайшее к арбитру устройство обладает главным приоритетом. Устройства, стоящие в конце данной цепочки, имеют низкий приоритет. Чтобы обойти такую систему в некоторых шинах несколько уровней приоритетов. На каждом уровне приоритета есть линии запроса шины и линии предоставления шины. На рис. 2.33, б изображено два уровня (в действительности шины обычно содержат 4, 8 или 16 уровней). Каждое устройство связано с одним уровнем запроса шины, причем, чем выше уровень приоритета, тем больше устройств привязано к этому уровню. Для предотвращения потери информации от высокоскоростных устройств ввод/вывода и необходимости прерывания работы для предоставления доступа к шине высокоприоритетным устройствам в современных компьютерах память помещают на одну шину, а устройства ввода/вывода на другую.

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

· параллельный арбитраж - каждый ведущий имеет уникальный уровень приоритета и обладает собственным контроллером шины, способным формировать сигналы предоставления и занятия шины. Сигналы запроса от любого ведущего поступают на входы всех остальных ведущих. Логика арбитража реализуется в контроллере шины каждого ведущего;

· кольцевая схема - сигнал может возникнуть в различных точках цепочки, замкнутой в кольцо, реализуется циклическая смена приоритетов с учетом последнего запроса;

· распределенный арбитраж с самостоятельным выбором – группы арбитражных линий организованны по схеме «монтажного ИЛИ», любой ведущий может видеть сигналы, выставленные остальными устройствами. Каждому ведущему присваивается уникальный номер, совпадающий с кодом уровня приоритета данного ведущего. По особому алгоритму (алгоритм арбитража был предложен М. Таубом в 1975 году) выявляется номер устройства, обладающего наиболее высоким приоритетом.

1.13.10. Принципы работы шины

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

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

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

Цикл для осуществления прерываний – когда центральный процессор командует устройству ввода/вывода произвести какое-либо действие, то он ожидает прерывания после завершения работы. Для передачи сигнала прерывания требуется шина. Одновременно несколько устройств могут захотеть произвести прерывания, то есть может возникнуть конфликтная ситуация. Чтобы избежать подобных проблем каждому устройству приписывается определенный приоритет, используется централизованный арбитр для распределения приоритетов. Существует стандартный контроллер прерываний (микросхема Intel 8259A), который определяет на какой именно вход поступил сигнал прерывания и помещает номер входа на информационную шину. Центральный процессор использует этот номер для обращения в таблицу указателей (таблица векторов прерывания), чтобы найти адрес процедуры, производящей соответствующее прерывание.


Наши рекомендации