ВУЗ:
Составители:
Для временной задержки длительностью менее 32 периодов следования сигнала АLЕ
на вход Т1 можно подавать синхроимпульсы нужной частоты и работать со счетчиком в
режиме подсчета событий.
4.2.6. Система прерываний
Процессор ОМЭВМ имеет одноуровневую систему прерываний по адресу-вектору,
который воспринимает запросы на прерывания от внешнего источника или от внутреннего
таймера-счетчика. Запрос внешнего прерывания поступает на вывод INT. Несколько
источников прерываний можно объединить по схеме ИЛИ. Прерывания могут быть
избирательно разрешены или запрещены с помощью команд ЕNI и DISI. По команде ЕNI
внешние прерывания разрешаются и воспринимаются при подаче сигнала низкого уровня на
вход INТ. При поступлении команды запрещения внешних прерываний DIS I или после
подачи сигнала
SR
ОМЭВМ не реагирует на поступление низкого уровня на входе INT.
Разрешение прерываний по переполнению таймера-счетчика обеспечивается
выполнением команды ЕN ТСNTI. Переполнение таймера-счетчика инициализирует
последовательность обработки прерывания. Запрещение прерывания по переполнению
таймера-счетчика событий происходит по команде DIS ТСNТI.
Внешнее прерывание обладает более высоким приоритетом, то есть, если запросы на
прерывание от внешнего источника и от таймера-счетчика возникают одновременно,
внешнее прерывание обслуживается в первую очередь. При поступлении запроса на
прерывание процессор (после завершения всех циклов текущей команды) передает
управление по адресу 03 при внешнем прерывании, либо по адресу 07 при прерывании по
переполнению таймера-счетчика. При этом, как и при выполнении команды САLL,
обеспечивается загрузка в стек текущего значения 12-разрядного счетчика команд и четырех
старших разрядов слова состояния процессора. Механизм прерывания от таймера- счетчика
можно использовать как источник внешнего прерывания. Для этого необходимо загрузить в
счетчик с помощью программы значение FFН и установить режим счета внешних событий. В
этом случае переход сигнала на входе Т1 ОМЭВМ из состояния "1" в состояние "0" вызовет
прерывание с обращением по адресу ячейки 07 памяти программ.
Ячейка 03 памяти программ соответствует начальному адресу области памяти
программ, где хранится программа обработки внешнего прерывания. Обычно по адресу 03
находится команда безусловного перехода на подпрограмму обслуживания. Завершает
процедуру обслуживания прерывания выполнение команды REТR.
Поскольку в данной ОМЭВМ реализована одноуровневая система прерываний, то
обслуживание вновь поступающих прерываний будет происходить после обработки
текущего прерывания. Обработка очередного прерывания может начаться только после
завершения второго машинного цикла команды RЕТR. Сигнал INT запроса на прерывание,
которое обслуживается в данный момент, должен быть снят до исполнения команды RЕТR, в
противном случае процессор начнет повторное обслуживание данного запроса прерывания.
Подпрограмму обработки любого прерывания нельзя прервать до команды RЕТR.
Если для хранения программы требуется объем памяти, превышающий 2Кбайт, то
при разработке программ обслуживания прерываний пользователю необходимо учитывать
особенности управления памятью программ, присущие данной ОМЭВМ. Процессор
ОМЭВМ может прямо адресовать только 2048 байт памяти программ. Для расширения
объема адресуемой памяти до 4696 байт предусмотрен механизм переключения банков
памяти программ с использованием команд SEL МВ0, SEL МВ1: (0 ... 2047) байт - банк 0;
(2048 ... 4096) байт - банк 1. Однако, его нельзя использовать при обработке прерываний, так
как при выполнении перехода или вызова подпрограммы в одиннадцать младших разрядов
счетчика команд (СК) (А0 ... А10) производится загрузка адреса из команды, 12-й разряд
(А11) загружается из триггера переключения банка памяти DВF, указывающего номер банка
памяти программ.
Для временной задержки длительностью менее 32 периодов следования сигнала АLЕ на вход Т1 можно подавать синхроимпульсы нужной частоты и работать со счетчиком в режиме подсчета событий. 4.2.6. Система прерываний Процессор ОМЭВМ имеет одноуровневую систему прерываний по адресу-вектору, который воспринимает запросы на прерывания от внешнего источника или от внутреннего таймера-счетчика. Запрос внешнего прерывания поступает на вывод INT. Несколько источников прерываний можно объединить по схеме ИЛИ. Прерывания могут быть избирательно разрешены или запрещены с помощью команд ЕNI и DISI. По команде ЕNI внешние прерывания разрешаются и воспринимаются при подаче сигнала низкого уровня на вход INТ. При поступлении команды запрещения внешних прерываний DIS I или после подачи сигнала SR ОМЭВМ не реагирует на поступление низкого уровня на входе INT. Разрешение прерываний по переполнению таймера-счетчика обеспечивается выполнением команды ЕN ТСNTI. Переполнение таймера-счетчика инициализирует последовательность обработки прерывания. Запрещение прерывания по переполнению таймера-счетчика событий происходит по команде DIS ТСNТI. Внешнее прерывание обладает более высоким приоритетом, то есть, если запросы на прерывание от внешнего источника и от таймера-счетчика возникают одновременно, внешнее прерывание обслуживается в первую очередь. При поступлении запроса на прерывание процессор (после завершения всех циклов текущей команды) передает управление по адресу 03 при внешнем прерывании, либо по адресу 07 при прерывании по переполнению таймера-счетчика. При этом, как и при выполнении команды САLL, обеспечивается загрузка в стек текущего значения 12-разрядного счетчика команд и четырех старших разрядов слова состояния процессора. Механизм прерывания от таймера- счетчика можно использовать как источник внешнего прерывания. Для этого необходимо загрузить в счетчик с помощью программы значение FFН и установить режим счета внешних событий. В этом случае переход сигнала на входе Т1 ОМЭВМ из состояния "1" в состояние "0" вызовет прерывание с обращением по адресу ячейки 07 памяти программ. Ячейка 03 памяти программ соответствует начальному адресу области памяти программ, где хранится программа обработки внешнего прерывания. Обычно по адресу 03 находится команда безусловного перехода на подпрограмму обслуживания. Завершает процедуру обслуживания прерывания выполнение команды REТR. Поскольку в данной ОМЭВМ реализована одноуровневая система прерываний, то обслуживание вновь поступающих прерываний будет происходить после обработки текущего прерывания. Обработка очередного прерывания может начаться только после завершения второго машинного цикла команды RЕТR. Сигнал INT запроса на прерывание, которое обслуживается в данный момент, должен быть снят до исполнения команды RЕТR, в противном случае процессор начнет повторное обслуживание данного запроса прерывания. Подпрограмму обработки любого прерывания нельзя прервать до команды RЕТR. Если для хранения программы требуется объем памяти, превышающий 2Кбайт, то при разработке программ обслуживания прерываний пользователю необходимо учитывать особенности управления памятью программ, присущие данной ОМЭВМ. Процессор ОМЭВМ может прямо адресовать только 2048 байт памяти программ. Для расширения объема адресуемой памяти до 4696 байт предусмотрен механизм переключения банков памяти программ с использованием команд SEL МВ0, SEL МВ1: (0 ... 2047) байт - банк 0; (2048 ... 4096) байт - банк 1. Однако, его нельзя использовать при обработке прерываний, так как при выполнении перехода или вызова подпрограммы в одиннадцать младших разрядов счетчика команд (СК) (А0 ... А10) производится загрузка адреса из команды, 12-й разряд (А11) загружается из триггера переключения банка памяти DВF, указывающего номер банка памяти программ.
Страницы
- « первая
- ‹ предыдущая
- …
- 65
- 66
- 67
- 68
- 69
- …
- следующая ›
- последняя »