Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микропроцессоры Токхайм / 7.5. СИНХРОНИЗАЦИЯ ПРЕРЫВАНИЕМ ПЕРЕДАЧИ ДАННЫХ В УВВ

.doc
Скачиваний:
160
Добавлен:
13.05.2015
Размер:
1.46 Mб
Скачать

7.5. СИНХРОНИЗАЦИЯ ПРЕРЫВАНИЕМ ПЕРЕДАЧИ ДАННЫХ В УВВ

До сих пор мы предполагали, что когда программа ука­зывала МП ввести данные в порт, они уже имелись в нали­чии и были расположены в строго определенном месте. Од­нако не всегда это так, потому что периферия (например, клавишное устройство) имеет различное с МП быстродей­ствие. В этом случае имеется несколько способов решения проблемы. К ним относятся методы опросов и преры­ваний.

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

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

Предположим очень простую систему с одним только коммутатором на входе и единственным индикатором на выходе. Приведенные на рис. 7.10, а и 7.11, а системы мог­ли бы быть составлены отдельным микропроцессором, од­ним только коммутатором с адаптером интерфейса ввода и одним фотодиодом с адаптером интерфейса вывода. Мож­но было бы предусмотреть предельно простой цикл опро­са, в котором сначала считывалось бы состояние коммута­тора, и затем оно записывалось бы в выходной индикатор. В таком случае МП опрашивал бы вход и одновременно воздействовал на выход через каждые несколько микросе­кунд.

В более общем случае в цикле можно опрашивать одно или несколько УВВ. Микропроцессор опрашивает пер­вое устройство — нужно ли ему обслуживание, и если да, устанавливает индикатор состояния, т.е. устройство полу­чает требуемое обслуживание. В противном случае (инди­катор состояния не устанавливается) МП продолжает оп­рос.

Представленная на рис. 7.14 система снабжена линией требования прерывания, чтобы дать знать МП о готовно­сти данных для передачи в ЦП. Вспомним, что типовой МП имеет только один ввод требования прерывания (INTR). Активизированный Н-сигналом МП выполняет текущую команду, передает на хранение в стек содержи­мое аккумулятора, регистра и счетчика команд и ветвит­ся в подпрограмму обслуживания прерывания. Затем МП возвращается в основную программу. В рассматриваемом примере подпрограмма обслуживания прерывания могла бы быть простой, вводящей и помещающей данные, поступающие с клавишного устройства.

Рассмотрим систему, приведенную на рис. 7.14. Микро- I процессор имеет интерфейс порта ВВ с клавишным уст­ройством, построенный на ИС 8212. Управление состоянием (линия MD) устройства имеет L-уровень и воздействует на адаптер ввода. Вход сброса CLR в устройстве 8212 дезактивируется Н-сигналом. Правильные 8-разрядные данные с клавишного устройства поступают на входы данных DI0—DI7 элемента 8212. В этой системе линия строба (STB) управляет защелками данных, тогда как входы вы-

бора устройстваи DS2 элемента 8212 управляют бу­ферами выхода.

Клавишное устройство должно поместить 8-разрядное слово на входы данных элемента 8212 и выдать импульс

HIGH (строб), чтобы удержать эти данные во внутренних защелках порта ВВ. Эти события представлены на рис. 7.15 тремя верхними графиками. Строб HIGH клавишного устройства снова захватывает данные в элемент ВВ Intel 8212.

Согласно нижним графикам на рис. 7.15 после того, как данные стробированы в защелках, контуром элемента 8212 выдается импульс прерывания INT, который поступает в МП по линии требования прерывания; линии управления буфером вывода активизированы. Кривые 3

и 6 иллюстрируют размещение захваченных данных ко­мандами и DS2 элемента Intel 8212 на шине данных в течение очень короткого промежутка времени. Заметим, что выводы элемента ВВ Intel 8212 возвращаются в свое

третье состояние сразу после того, как команды буферов и DS2 признаются недействительными. Рассмотрим снова интерфейс клавишного устройства на рис. 7.14, когда система имеет изолированный ВВ. Спе­циальный сигнал управления ВВ считывания I/OR активи­зирует вход устройства Intel 8212. Восемь адресных линий младших разрядов (А0—А7) полностью декодируют­ся дешифратором адреса, выводы которого активизируют

вход DS2 по линии выбора устройства. Не забудем, что в этой системе входыи DS2 управляют буферами выво­да элемента порта ВВ 8212. Заметим, что в линию требо­вания прерывания включен инвертор. Инвертор согласо­вывает L-активный выход Intel 8212 с Н-активным входом INTR МП.

Прерывание информирует МП о том, что УВВ готово и надо действовать. Реализует эту операцию специальная подпрограмма обслуживания прерывания. Если несколько устройств вызывают прерывание МП, линии вызова пре­рывания подвергаются операциям ИЛИ, и МП в таком слу­чае необходимо определить ответственное за прерывание УВВ. Этот процесс выбора относится к способу опроса и составляет схему опроса-прерывания. В таком случае каж­дому порту ВВ соответствует одно состояние, код которо­го указывает МП — готов ли порт ввести или вывести дан­ные.

Существуют МП, снабженные несколькими входами прерывания и командами признания или непризнания по крайней мере некоторого числа этих входов. Многие МП снабжены векторным прерыванием, когда МП знает уст­ройство, вызвавшее прерывание, и ветвится на подпрограм­му обслуживания соответствующего прерывания. Многие МП снабжены также устройствами определения приорите­та обслуживания (аппаратно или программно) в случае двух одновременных прерываний (арбитраж приоритета прерывания). Эта система решает, согласиться ли с приори­тетом обслуживания одного из прерываний, она обычно содержится в специальной ИС (например, устройство In­tel 8259).

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

Преимуществом прерывания над опросом является бы­стродействие ответа, лучшее использование МП и потреб­ность во много раз меньших программных средств. Недос­таток состоит в том, что функционирование МП асинхрон­но и требует сложного аппаратного интерфейса.

Упражнения

7.32. Запрос на прерывание поступает ____ (из УВВ,

по команде программы).

Запрос на прерывание поступает в МП, когда порт ВВ _________ (готов, не готов) к обслуживанию.

См. рис. 7.14. Порт ВВ Intel 8212 находится в со­стоянии _______ (ввода, вывода).

См. рис. 7.14. Для того чтобы данные, выданные клавишным устройством, были задержаны во внутренних

защелках элемента Intel 8212, вход _______ (CLR, STB)

должен получить _______ (Н-, L-) импульс. Импульс вы- дается _______ (клавишным устройством, МП).

7.36. См. рис. 7.15. После того как данные захвачены в

элементе Intel 8212, ____ (вывод принимает L-coстояние, буферы вывода активизируются).

7.37. См. рис. 7.14. После выполнения команды IN МП

переводит линию считывания в _____ (Н-, L-) состояние,

а линию выбора устройства — в _____ (Н-, L-) состояние, т.е. активизируются ______ (защелки данных, буферы вывода).

7.38. Другим названием опроса является ВВ ______.

7.39. Перечислить достоинства и недостатки ввода данных прерыванием над способом опроса.

Решения

7.32. Из УВВ. 7.33. Готов. 7.34. Ввода. 7.35. STB; Н-; клавиатурой. 7.36. Вывод принимает L-состояние. 7.37. L-; Н-; буферы вывода. 7.38. Программируемый. 7.39. Достоинства: большее быстродействие, лучшее использование микропроцессора, меньше программных средств. Недостатки: асинхронизм, более сложный аппаратный интерфейс.