Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СиФО часть 5.2.doc
Скачиваний:
38
Добавлен:
15.09.2014
Размер:
687.62 Кб
Скачать

5.9. Аппаратно-программные средства обработки прерываний

Выполнение основной программы пользователя обычно допускает прерывание вычислительного процесса от различных источников и, в частности, от устройств ввода-вывода. Как правило, опрос внешних устройств в системах с разрядно-модульной архитектурой осуществляется в специально отведенные моменты времени. Эти моменты предусматриваются в конце каждой микропрограммы, соответствующей текущей макрокоманде или команде языка высокого уровня. Если процессор имеет фиксированную архитектуру, то взаимодействие организуется с помощью пары сигналов INT и INTA.

При обнаружении запросов на обслуживание в компьютере организуется обращение к соответствующим программным или микропрограммным средствам. В случае, если система ввода-вывода имеет простую конфигурацию, в микропрограммных системах может быть организовано обращение к МПП (микропрограммной памяти) путем преобразования вектора запросов в адрес микропрограммы обслуживания прерываний (см. рис.5.43). При наличии в вычислительной системе разветвленной сети УВВ обслуживание организуется с помощью программ, хранимых в системном ОЗУ. Данное ПО позволяет распознать наиболее приоритетные запросы, осуществить управление вводом-выводом, передать управление прерванным задачам.

В ряде случаев программа обработки прерываний может также выполнять и сравнение приоритетов выполняемых программ с приоритетами портов, номера которых зарегистрированы в регистре запросов. При этом приоритеты программ хранятся в таблицах, расположенных в служебной области ОЗУ, а сравнение уровней значимости осуществляется с помощью специальной подпрограммы.

Если приоритеты программ пользователя регистрируются в специальных триггерах, то эти триггеры также могут включаться в состав регистра запросов, а все сформированное слово обрабатываться в соответствии со схемой, приведенной на рис.5.43. В любом случае – входят триггеры приоритетов программ в состав вектора запросов или нет, вновь сформированное слово инициирует чтение из ПЗУ микрокоманд некоторой микропрограммы. Эта микропрограмма должна содержать в своей структуре или адрес области ОП, в которой хранится подпрограмма обслуживания УВВ, или, в случае микропрограммной системы обработки прерываний, передавать управление соответствующей микропрограмме в этом же блоке МПП.

При обращении к ОЗУ формирование адресов программ обслуживания УВВ может быть выполнено по схеме, представленной на рис.5.44. В данной схеме в режиме опроса УВВ адрес из ПНА через MUX передается на вход RG A, а СУАМ как приемник адреса не используется. Если запросов на прерывание в текущий момент времени не обнаружено, то управление передается некоторой заданной ячейке памяти, содержащей команду вида «продолжить выполнение программы».

В некоторых случаях при обработке запросов в ПНА формируется не весь физический адрес ОЗУ, а только его младшая часть или «код прерывания». При этом схема взаимодействия программно-аппаратных средств машины и УВВ будет иметь вид, показанный на рис. 5.45. В данной схеме в качестве запроса на обслуживание используется код прерывания, формируемый ПНА запросов. Такая техническая реализация порождается требованием сокращения длины адресного слова, хранимого в МПП, за счет исключения из разрядов микрокоманды такого поля, как «прямой адрес ОЗУ».

167