3. Работа в режиме Захват. 4. Работа в режиме останов. 5. Обслуживание запросов на прерывание. 6. Начальная установка
3. Работа в режиме ЗАХВАТ Режим “Захват” используется для приостановки процесса управления работой всех периферийных устройств. При работе в этом режиме выходные магистрали МП переводятся в третье состояние и отключаются от магистралей внешних устройств, обеспечивая тем самим возможность обмена информацией по каналу прямого доступа к памяти. Режим “Захват” инициируется подачей лог. 1 на вход управления МП “З. Зх”. Переход МП в этот режим подтверждается путем выдачи сигнала лог. 1 на выходе МП “П. Зх”. Состояние “Захват” будет длиться целое число машинных тактов. Снятие сигнала “Захват”, т. е. появление лог. 0 на входе “З. Зх” проверяется на каждом сигнале Ф2 и при его обнаружении МП перейдет к выполнению очередного машинного цикла начиная с такта Т1. 4. Работа в режиме ОСТАНОВ Режим ОСТАНОВ является результатом выполнения команды HALT. Находясь в этом режиме, магистрали МП БИС не отключаются от магистралей микро-ЭВМ, а процессор просто отмечает время, в течение которого он ничего не выполняет. Состояние микро-ЭВМ в этом режиме аналогично состоянию ОЖИДАНИЕ, за исключением того, что это состояние устанавливается программно. Обычно режим ОСТАНОВ оканчивается тогда, когда ВУ выдают запрос на обслуживание. Одним из методов формирования запроса на обслуживание является подача запроса прерывания на вход З. Пр процессора. Если сигналы прерывания не воспринимаются процессором (например, после выполнения команды DI), то остается один выход из состояния ОСТАНОВ - подача сигнала начальной установки на вход R процессора. Специфика режима ОСТАНОВ заключается в том, что в этом состоянии МП может входить в режим ЗАХВАТ и выходить из него. В режиме ОСТАНОВ запрос на ЗАХВАТ не будет удовлетворяться, если запрос на прерывание был уже подан на вход З. Пр., но не было еще подтверждено его обслуживание. После подтверждения получения прерывания (уровень “0” на выходе П. Пр) микро-ЭВМ может войти в состояние ЗАХВАТ.
5. Обслуживание запросов на прерывание Внешние устройства выдают сигнал запроса прерывания асинхронно по отношению к работе МП путем подачи уровня “1” на вход З. Пр. Запрос может быть удовлетворен только в том случае, если МП находится в состоянии разрешения восприятия запросов прерывания. МП автоматически устанавливается в состояние запрета запросов прерывания после выполнения начальной установки, а также после начала обслуживания запроса прерывания. Управление состоянием восприятия запросов прерывания может осуществляться программно с помощью команд: EI - “Разрешение прерываний” и DI - “Запрет прерываний”. Состояние восприятия запросов прерывания МП указывает на своем выходе Р. Пр. Если на этом выходе присутствует уровень “1”, то запросы прерывания могут быть восприняты, в противном случае (уровень “0” на выоде Р. Пр) запросы восприниматься не будут. Если запрос на прерывание принят, то начинается цикл обслуживания прерывания. Машинный цикл прерывания, который начинается в такте Т1 в условиях разрешенного прерывания, в основных чертах повторяет машинный цикл выборки команды. В течение времени, определяемого единичным значением сигнала синхронизацина ШД выставляется слово состояния “Разрешение прерывания”. На такте Т2 слово состояния записывается в регистр состояний и формируется единичный сигнал “Прием”, позволяющий поступление на ШД кода прерывания. Имеется два способа задания кода прерывания: с помощью команды RST (N) или команды CALL (A1), (A2). Отличие машинного цикла прерывания от машинного цикла извлечения кода команды из памяти состоит в том, что содержимое программного счетчика не увеличивается, а запоминается, чтобы оно могло быть восстановлено после окончания программы прерывания и возврата к прерванному процессу (программе).
В такте Т3 по шине данных начальная команда программы прерывания RST, подготовленная периферийным устройством, помещается в регистр команд МП. Получив команду на первом машинном цикле, МП на циклах М2 и М3 записывает в область памяти, отведенной под стек, текущее значение программного счетчика РС. Сохранение содержимого РС в стеке необходимо для возврата к прерванной программе после окончания выполнения подпрограммы обслуживания прерывания. Возврат из подпрограммы осуществляется командой RET, которая загружает содержимое двух верхних ячеек стека в РС. 6. Начальная установка В течение всего времени, пока входе R установлен уровень “1”, все операции в МП будут приостановлены. За это время обнуляются программный счетчик, триггер разрешения прерывания и внутренняя логика, связанная с формированием сигнала П. Зх. Следовательно, первая выполняемая команда будет считываться по адресу 0000. После начала выполнения программы прерывания остаются отключенными. Для восстановления возможности восприятия запросов прерывания в программу необходимо включить команду EI.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|