- •1990 Г Литература
- •1. Эвм и микроЭвм. Общие сведенья.
- •1.2. Типовая структура эвм.
- •2. Архитектура микропроцессора.
- •2.1. МикроЭвм
- •2.2. Структура микропроцессора
- •2.3. Синхронизация в микропроцессорной системе
- •2.4. Архитектурные особенности микропроцессора кр580ик80а
- •2.5. Архитектурные особенности микропроцессора к1810вм86
- •3. Построение мп системы с тремя шинами на базе бис 580 серии.
- •3.1. Адресная шина (аш).
- •3.2. Шина данных (шд).
- •3.3. Фиксатор состояния микропроцессора.
- •4. Генератор тактовых импульсов для мп системы.
- •4.1. Генератор для микропроцессора вм80.
- •4.2. Синхронизация микропроцессора вм86 и демультиплексирование шин.
- •5. Организация интерфейсов в мп системе
- •5.1. Порты ввода/вывода
- •5.2. Координация взаимодействия с внешними устройствами
- •5.3. Прерывания программы
- •5.3.1. Прерывания с программным опросом
- •5.3.2. Векторная система прерываний
- •5.5. Последовательный ввод/вывод
- •6. Микроконтроллеры
- •7. Пример организации и построения мп-систем управления энергообъектами.
- •7.1. Структура и построения мп-систем защиты и автоматики энергообъекта.
- •7.2. Микропроцессорное устройство защиты, автоматики и контроля присоединений на 6-35 кВ по «Киевприбор». (мрзс).
- •Содержание
5.3. Прерывания программы
Прерыванием программы в микропроцессорной системе называется способность МП прервать выполняемую программу в ответ на внешнее событие и выполнить программу, специально предназначенную для обработки этого события.
Применение прерываний по готовности порта, как правило, удобнее и эффективнее, чем непрерывное опрашивание его состояния. При этом МП освобождается для выполнения других функций.
Прерывание программы напоминает переход на подпрограмму с той разницей, что оно инициируется не командой в программе, а приходом внешнего сигнала по управляющей линии. Этот сигнал называется запросом на прерывание. Так же как и подпрограмма, программа обработки прерывания размещается в памяти, начиная с ячейки, в которую должно подаваться управление.
Обнаружив запрос на прерывание, МП откладывает выполнение текущей программы и начинает выполнять программу прерывания. Программа прерывания обычно заканчивается командой возврата, после которой продолжается выполнение прерванной программы.
МП обладает возможностью запрещать (блокировать) прерывания на какие-то отрезки времени, когда их обработка по тем или иным причинам неудобна. При заблокированных прерываниях поступающие запросы на прерывания игнорируются.
При двух и более запросах на прерывание, поступающих от нескольких устройств возникает проблема идентификации устройства, приславшего запрос, с тем, чтобы можно было выполнить действия по обслуживанию именно этого устройства.
Существует два основных метода устранения этой проблемы.
Разрабатывается главная программа обработки прерываний, которая при поступлении запроса проверяет состояние каждого устройства и находит устройство, требующее обслуживание. Такую схему часто называют системой прерываний с программным опросом.
Разрабатывается аппаратура которая идентифицирует устройство, приславшее запрос. Такую систему прерываний называют векторной приоритетной системой.
5.3.1. Прерывания с программным опросом
В схеме прерываний с программным опросом все запросы на прерывания поступают по одной управляющей линии. Эта линия является выходом вентиля ИЛИ, на входы которого поступают запросы от индивидуальных устройств. Каждому устройству выделяется порт состояния, а в нем отводится один бит, хранящий запрос на прерывание. Когда по общей линии в МП поступает запрос от любого устройства, выполнение текущей команды завершается и, если прерывания не заблокированы, происходит передача управления с фиксированным адресом. С этой ячейки начинается главная программа обработки прерывания, которая последовательно вводит содержимое портов состояния и тестирует биты запросов на прерывания. Обнаружив устройство, запросившее обслуживание, главная программа передает управление программе, обслуживающей данное устройство.
Рис. 5.6. Схема организации обслуживания прерываний с программным опросом.
Когда запросы поступают одновременно от двух или большего числа устройств, возникают конфликтные ситуации. Их разрешение выполняет главная программа обработки прерываний. Один из способов решения конфликта - когда первым обслуживается то устройство, которое раньше попадается в порядке опроса.
Главный недостаток системы прерываний с программным опросом связан со временем, затрачиваемым программой на опрос состояния отдельных устройств.