Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Функционирование арбитра шины при захвате системной шины
Арбитр шины начинает процедуру захвата системной шины при наступлении следующих событий: · микропроцессор начинает цикл обмена (эта информация поступает в АШ по линиям состояния микропроцессора); · дешифратор адреса сообщает АШ, что обмен будет производиться по системной шине (установкой в активной состояние сигнала 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; Просмотров: 249; Нарушение авторского права страницы