Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шины.doc
Скачиваний:
27
Добавлен:
01.03.2025
Размер:
203.26 Кб
Скачать

Арбитраж шины

Возникает вопрос: «Что происходит, когда задающим устройством шины могут стать два или несколько устройств одновременно?** Чтобы предотвратить хаос, который может при этом возникнуть, нужен специальный механизм — так называемый арбитраж шины.

Механизмы арбитража могут быть централизованными или децентрализованными.

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

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

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

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

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

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

Примеры шин

Шины соединяют компьютерную систему в одно целое. В этом разделе мы рассмотрим несколько примеров шин: шину ISA, шину PCI и Universal Serial Bus (универсальную последовательную шину). Шина ISA представляет собой небольшое расширение первоначальной шины IBM PC. По соображениям совместимости она все еще используется во всех персональных компьютерах Intel'. Однако такие компьютеры всегда содержат еще одну шину, которая работает быстрее, чем шина ISA. Шина ISA не используется в современных компьютерах. Уже несколько лет компания Intel настоятельно рекомендует разработчикам компьютеров не использовать эту шину.

Это шина PCI. Она шире, чем ISA, и функционирует с более высокой тактовой частотой. Шина USB обычно используется в качестве шины ввода-вывода для периферийных устройств малого быстродействия (например, мыши и клавиатуры).

В следующих разделах мы рассмотрим каждую из этих шин по очереди.