Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Функционирование арбитра шины при захвате системной шины



Арбитр шины начинает процедуру захвата системной шины при наступлении следующих событий:

· микропроцессор начинает цикл обмена (эта информация поступает в АШ по линиям состояния микропроцессора);

· дешифратор адреса сообщает АШ, что обмен будет производиться по системной шине (установкой в активной состояние сигнала SYSB, рис. 12).

Функционирование АШ при захвате СШ иллюстрируется рис. 17:

Рис. 17.

В момент времени (1) информация о состоянии микропроцессора сигнализирует о начале цикла обмена, в момент времени (2) сигнал SYSB переходит в активное состояние. АШ выдает сигнал запроса системной шины BREQ (3). После этого АШ ожидает наступления следующих условий: перехода сигнала BUSY в состояние логической "1" (говорит об освобождении СШ) и перехода сигнала BPRN в активное состояние логического "0" (означает, что занятие шины разрешено именно этому АШ). Наступление этих двух условий (моменты времени (4) и (5)) означает, что АШ может занять СШ. Он переводит сигнал BUSY в состояние логического "0" (момент (6)), сообщая тем самым другим АШ о занятии шины, и переводит в активное состояние сигнал AEN, "отпирая" схему шинного интерфейса и сигнализируя микропроцессору о возможности продолжения обмена (момент времени (7)).

Функционирование арбитра шины при освобождении системной шины

Освобождение СШ арбитром происходит при наступлении одного из следующих условий:

· по линиям состояния микропроцессор сообщает АШ, что он не будет производить очередной цикл обмена;

· сигнал BPRN на входе АШ переходит в неактивное состояние (логической "1"). Это говорит о том, что какой-то из АШ с более высоким приоритетом запросил доступ к СШ.

Процедура освобождения СШ иллюстрируется рис. 18:

Рис. 18.

АШ переводит в неактивное состояние сигналы BREQ, AEN и устанавливает на линии BUSY сигнал логической "1", показывая другим арбитрам, что он освободил СШ.

Сигнал блокировки шины

Если в процессе обмена по СШ сигнал BPRN на входе АШ переходит в неактивное состояние, СШ немедленно (по завершении текущего цикла обмена) освобождается, и использовавший ее микропроцессор вынужден ждать, пока ему снова будет предоставлен доступ к системной шине. Однако существуют операции ввода-вывода, которые нежелательно прерывать до их полного завершения. Например, при вводе данных с 20-разрядного цифрового датчика положения нужно произвести два цикла обмена, так как за один цикл может быть введено только одно машинное слово (16 разрядов для 16-разрядного микропроцессора). Если доступ к датчику осуществляется по СШ и после первогого цикла доступ к СШ будет прерван, только часть данных окажется введенной. И микропроцессор должен будет ожидать неопределенное время для ввода оставшейся порции данных и продолжения вычислений. Такой ситуации можно избежать, если иметь возможность запретить АШ освобождать СШ при выполнении "критических" операции ввода-вывода. Для этого служит специальная управляющая линия блокировки шины LOCK (рис. 19):

Рис. 19.

Установка активного состояния линии LOCK на выходе микропроцессора производится программно с помощью специального префикса блокировки шины LOCK, например:

LOCK IN AL, 0001

Таким образом, при составлении программы имеется возможность защиты "критических" операции ввода-вывода от прерывания, вызванного отказом в доступе к СШ.

 


Поделиться:



Последнее изменение этой страницы: 2019-05-08; Просмотров: 223; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.01 с.)
Главная | Случайная страница | Обратная связь