Рассмот­рим сначала централизованный арбитраж.

Простой пример централизованного арбитража показан на рис. 3.37, д.

В данном примере один арбитр шины опреде­ляет, чья очередь следующая.

Часто механизм арбитража встраивается в микро­схему процессора, но иногда используется отдельная микросхема.

Шина содер­жит одну линию запроса (монтажное ИЛИ), которая может запускаться одним или несколькими устройствами в любое время.

Арбитр не может определить, сколько устройств запрашивают шину. Он может определить только факт наличия или отсутствия запросов.

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

 
 

Если запрос есть, устройство пользуется шиной, но не распро­страняет сигнал предоставления дальше по линии.

Если запроса нет, устройство передает сигнал предоставления шины следующему устройству.

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

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

Такая система называется системой последовательно­го опроса.

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

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

На каждом уров­не приоритета есть линия запроса шины и линия предоставления шины.

На рис, 337, 6 изображено 2 уровня (хотя в действительности шины обычно поддер­живают 4, 8 или 16 уровней).

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

На рис. 3,37, б можно видеть, что устройства 1, 2 и 4 обладают приоритетом уровня 1, а устройства 3 и 5 — приоритетом уровня 2.

Если одновременно запрашивается несколько уровней приоритета, арбитр предоставляет шину самому высокому уровню.

Среди устройств одинакового приоритета реализуется система последовательного опроса.

На рис. 3.37, 6 вид­но, что в случае конфликта устройство 2 «побеждает» устройство 4, а устройство 4 «побеждает» устройство 3.

Устройство 5 имеет низший приоритет, поскольку оно находится в самом конце самого нижнего уровня.

Линия предоставления шины уровня 2 не обязательно должна последова­тельно связывать устройства 1 и 2, поскольку они не могут посылать на нее за­просы.

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

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

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

В результате другие устройства могут запрашивать шину, пока первое устройство ее исполь­зует.

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

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

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

Чтобы решить эту проблему, можно предоставить цен­тральному процессору самый низкий приоритет.

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

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

Например, диски, вращающиеся с высокой скоростью, не могут ждать.

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








Дата добавления: 2015-07-24; просмотров: 1137;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.