Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Режим прерывания программы

Читайте также:
  1. Access позволяет создавать запросы в режиме Конструктора и с помощью про­грамм-мастеров.
  2. D. Программы использования
  3. I «Волевые* метапрограммы_________________________ 161
  4. II. Модульное структурирование содержания образовательной программы
  5. II. Требования к структуре образовательной программы дошкольного образования и ее объему
  6. II. Требования к структуре образовательной программы дошкольного образования и ее объему
  7. II. Требования к структуре основной общеобразовательной программы дошкольного образования

Используемый для обмена данными с ВУ режим ожидания имеет очевидный недостаток - снижение производительности МП за счет бесполезной траты времени на ожидание готовности ВУ. Режим прерывания программы не имеет этого недостатка и является особенно полезным для организации работы МС в реальном масштабе времени. Сущность режима прерывания заключается в том, что ВУ обращается с запросом на обмен данными тогда, когда оно готово обменяться данными. Инициатором обмена данными является ВУ, которое выдает сигнал запроса прерывания асинхронно по отношению к МП в виде сигнала ЗПР высокого уровня. Запрос на прерывание может быть воспринят МП не всегда и может быть удовлетворен только в том случае, если до поступления сигнала ЗПР триггер запроса прерывания установлен. Для установки триггера используется специальная команда EI (разрешение прерывания). Если же после режима начальной установки команда EI не была выполнена, то запросы ВУ на прерывания игнорируются.

Возможность восприятия прерываний сигнализируется МС сигналом РПР (разрешение прерываний). Если на этом выводе МП присутствует лог. "1", то прерывание программы возможно. В противном случае запросы на прерывание игнорируются.

Инициаторами на прерывание могут быть несколько ВУ одновременно. Поэтому, если МП находится в состоянии восприятия запроса прерывания, то должны выполняться следующие действия: идентификация источника запроса прерывания; сохранение состояния МП (содержание счетчика команд PC, аккумулятора, РОН, РП) с тем, чтобы обеспечить возможность возобновления вычислений по прерванной программе; выполнение программы обработки прерывания; восстановление состояния МП и возврат к выполнению прерванной программы. Для временного запоминания состояния МП используется стековая память.

В МС на базе МП К580 реализована так называемая векторная система прерываний. Асинхронный сигнал высокого уровня ЗПР может появиться в любой момент цикла выполняемой команды. Поэтому внутренняя схема управления должна синхронизировать внешний запрос и установить соответствие с сигналами системной синхронизации, обеспечивая завершение выполнения текущей команды. В последнем такте последнего машинного цикла всех команд, кроме команды EI, при действии сигналов ЗПР=1 и РПР=1 по нарастающему фронту сигнала Ф2 устанавливается внутренний триггер прерывания. Это приводит к тому, что следующим тактом оказывается такт Т1 машинного цикла М3 (подтверждение прерывания). Он напоминает цикл М1 - выбора кода операции, так как в байте состояния установлен бит D5, но одновременно устанавливается и бит прерывания DO, который подтверждает восприятие микропроцессором запроса на прерывание, а бит D7 - считывание из памяти - сбрасывается.

В такте Т1 (рис. 3) МП выдает на шину адреса содержимое счетчика команд PC, а на шину данных - байт состояния, соответствующий циклу М3. В том же такте по нарастающему фронту сигнала Ф2 с максимальной задержкой 200 нс формируется низкий уровень на выводе РПР.

 

Рис. 3 - Режим прерывания

Следовательно, МП будет игнорировать последующие запросы на прерывание до тех пор, пока триггер разрешения прерываний не будет установлен командой EI. В такте Т2 генерируется сигнал считывания ПМ, который в обычном цикле М1 вводит код операции из программной памяти в регистр команд. Но в цикле МЗ обращение к программной памяти запрещено (бит D7 равен 0), поэтому код операции должен быть сформирован подсистемой прерываний. Заметим, что в такте Т1 цикла МЗ инкремент PC не производится (формируется внутренний сигнал запрещения выхода схемы инкремента), поэтому в нем сохраняется адрес команды, которая выполнялась бы при отсутствии прерывания. Кроме того, в такте Т2 сбрасывается внутренний триггер прерывания.

Очевидно, что для загрузки содержимого PC в стек необходимо сформировать команду вызова подпрограммы прерывания. Стандартная команда вызова подпрограммы CALL является трехбайтовой и выполняется за пять машинных циклов. Чтобы ускорить реакцию микропроцессора на прерывание и упростить интерфейс подсистемы прерываний, в систему команд включена специальная однобайтовая команда рестарта RST с кодом операции ххАА Аххх.

Трехбитовое поле ААА, называемое вектором, должно быть сформировано периферийным устройством, на запрос которого реагирует микропроцессор. В такте ТЗ команда рестарта с шины данных загружается в регистр команд, а такты Т4 и Т5 отведены на дешифрирование команды RST.

Команда RST инициирует выполнение двух действий:

содержимое PC в циклах М2 и МЗ загружается в стековую память;

в PC передается код 0000000000ААА000, который сообщает микропроцессору начальный адрес обработчика прерываний.

Таким образом, биты ААА однозначно идентифицируют устройство, сформировавшее запрос на прерывание.

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


Дата добавления: 2015-11-26; просмотров: 61 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.007 сек.)