
Микропроцессоры Токхайм / 7.5. СИНХРОНИЗАЦИЯ ПРЕРЫВАНИЕМ ПЕРЕДАЧИ ДАННЫХ В УВВ
.doc7.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 МП.
Прерывание информирует МП о том, что УВВ готово и надо действовать. Реализует эту операцию специальная подпрограмма обслуживания прерывания. Если несколько устройств вызывают прерывание МП, линии вызова прерывания подвергаются операциям ИЛИ, и МП в таком случае необходимо определить ответственное за прерывание УВВ. Этот процесс выбора относится к способу опроса и составляет схему опроса-прерывания. В таком случае каждому порту ВВ соответствует одно состояние, код которого указывает МП — готов ли порт ввести или вывести данные.
Существуют МП, снабженные несколькими входами прерывания и командами признания или непризнания по крайней мере некоторого числа этих входов. Многие МП снабжены векторным прерыванием, когда МП знает устройство, вызвавшее прерывание, и ветвится на подпрограмму обслуживания соответствующего прерывания. Многие МП снабжены также устройствами определения приоритета обслуживания (аппаратно или программно) в случае двух одновременных прерываний (арбитраж приоритета прерывания). Эта система решает, согласиться ли с приоритетом обслуживания одного из прерываний, она обычно содержится в специальной ИС (например, устройство Intel 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.
Достоинства: большее быстродействие,
лучшее использование микропроцессора,
меньше программных средств. Недостатки:
асинхронизм, более сложный аппаратный
интерфейс.