- •5.7.6. Команды ввода-вывода
- •5.8. Переход от алгоритма к структуре компьютера. Эмуляция вычислительных устройств в микропроцессорной среде
- •5.8.1. Переход от алгоритма к структуре
- •5.8.2. Эмуляция архитектуры посредством микропрограммирования
- •5.8.3. Микропрограммная интерпретация команд языка компьютера
- •5.9. Аппаратно-программные средства обработки прерываний
5.9. Аппаратно-программные средства обработки прерываний
Выполнение основной программы пользователя обычно допускает прерывание вычислительного процесса от различных источников и, в частности, от устройств ввода-вывода. Как правило, опрос внешних устройств в системах с разрядно-модульной архитектурой осуществляется в специально отведенные моменты времени. Эти моменты предусматриваются в конце каждой микропрограммы, соответствующей текущей макрокоманде или команде языка высокого уровня. Если процессор имеет фиксированную архитектуру, то взаимодействие организуется с помощью пары сигналов INT и INTA.
При обнаружении запросов на обслуживание в компьютере организуется обращение к соответствующим программным или микропрограммным средствам. В случае, если система ввода-вывода имеет простую конфигурацию, в микропрограммных системах может быть организовано обращение к МПП (микропрограммной памяти) путем преобразования вектора запросов в адрес микропрограммы обслуживания прерываний (см. рис.5.43). При наличии в вычислительной системе разветвленной сети УВВ обслуживание организуется с помощью программ, хранимых в системном ОЗУ. Данное ПО позволяет распознать наиболее приоритетные запросы, осуществить управление вводом-выводом, передать управление прерванным задачам.
В ряде случаев программа обработки прерываний может также выполнять и сравнение приоритетов выполняемых программ с приоритетами портов, номера которых зарегистрированы в регистре запросов. При этом приоритеты программ хранятся в таблицах, расположенных в служебной области ОЗУ, а сравнение уровней значимости осуществляется с помощью специальной подпрограммы.
Если приоритеты программ пользователя регистрируются в специальных триггерах, то эти триггеры также могут включаться в состав регистра запросов, а все сформированное слово обрабатываться в соответствии со схемой, приведенной на рис.5.43. В любом случае – входят триггеры приоритетов программ в состав вектора запросов или нет, вновь сформированное слово инициирует чтение из ПЗУ микрокоманд некоторой микропрограммы. Эта микропрограмма должна содержать в своей структуре или адрес области ОП, в которой хранится подпрограмма обслуживания УВВ, или, в случае микропрограммной системы обработки прерываний, передавать управление соответствующей микропрограмме в этом же блоке МПП.
При обращении к ОЗУ формирование адресов программ обслуживания УВВ может быть выполнено по схеме, представленной на рис.5.44. В данной схеме в режиме опроса УВВ адрес из ПНА через MUX передается на вход RG A, а СУАМ как приемник адреса не используется. Если запросов на прерывание в текущий момент времени не обнаружено, то управление передается некоторой заданной ячейке памяти, содержащей команду вида «продолжить выполнение программы».
В некоторых случаях при обработке запросов в ПНА формируется не весь физический адрес ОЗУ, а только его младшая часть или «код прерывания». При этом схема взаимодействия программно-аппаратных средств машины и УВВ будет иметь вид, показанный на рис. 5.45. В данной схеме в качестве запроса на обслуживание используется код прерывания, формируемый ПНА запросов. Такая техническая реализация порождается требованием сокращения длины адресного слова, хранимого в МПП, за счет исключения из разрядов микрокоманды такого поля, как «прямой адрес ОЗУ».


![]()
![]()
![]()

