Почему программные прерывания устанавливают линии прерывания процесса на высокое напряжение

Я узнал, что всякий раз, когда происходит аппаратное прерывание, он устанавливает на линии прерывания процессора высокое напряжение (или низкое, зависит от архитектуры процессора), чтобы процессор останавливал свою работу и обслуживал запрос на прерывание. Но почему то же самое происходит в случае программного прерывания. Я имею в виду, зачем устанавливать эти контакты прерывания процессора на высокое напряжение, почему ОС не может обрабатывать программные прерывания как вызов функции, например, выполнить шаги: 1. сохранить текущее состояние,2. Загрузите указатель инструкций с адресом памяти подпрограммы обработки прерываний. Почему программному прерыванию нужно идти так низко, чтобы его обслуживали?

1 ответ

Программные прерывания не должны быть привязаны к каким-либо аппаратным выводам.

Например, программные прерывания RSTx в 8085 году не имеют аппаратных контактов и используются для изменения потока программы.

Одно из существенных отличий: подпрограммы прерывания выполняются в привилегированном режиме, а функции - нет. Это один из вариантов использования программных прерываний для переключения из режима пользователя в режим привилегий.

Другие вопросы по тегам