Главная страница
Навигация по странице:

  • Классификация

  • Стековой

  • Понятие прерывания 2 Цель и механизм


    Скачать 58.82 Kb.
    НазваниеПонятие прерывания 2 Цель и механизм
    Дата29.03.2023
    Размер58.82 Kb.
    Формат файлаdocx
    Имя файлаlection4.docx
    ТипДокументы
    #1022852
    страница8 из 10
    1   2   3   4   5   6   7   8   9   10

    Обработка прерываний

    Обработка прерывания в реальном (однозадачном) режиме


    производится в три этапа:


    1. прекращениевыполнениятекущейпрограммы;


    Должно произойти так, чтобы потом вернуться и продолжить работу. Для этого необходимо сохранить содержимое регистров, так как они являются ресурсами, разделяемыми между программами.
    Эти регистры сохраняются микропроцессором автоматически. Наиболее удобным местом хранения регистров является стек.


    1. переходквыполнениюивыполнениепрограммыобработкипрерывания;


    Здесь определяется источник прерывания и вызывается соответствующий обработчик прерывания.
    В реальном режиме микропроцессора допускается 256 источников - по кол-ву элементов таблицы векторов прерываний.


    1. возвратуправленияпрерваннойпрограмме.


    Необходимо привести стек в состояние, в котором он был сразу после передачи управления данной процедуре.

    Работа системы прерываний в защищенном (многозадачном) режиме


    Обработка прерываний в защищенном режиме отличается от обработки в реальном режиме так же сильно, как и защищенный режим отличается от реального.
    Потому что:


    1. В защищенном режиме немного изменено распределение номеров векторов прерываний.




    1. Принципиально иным является механизм обработки прерываний.


    Классификация прерываний в защищенном режиме

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


      • сбой;

      • ловушка;

      • аварийное завершение.


    Это деление производится в соответствии со следующими признаками:


      • какая информация сохраняется о месте возникновения прерывания (исключения)?

      • возможно ли возобновление прерванной программы?


    Исходя из этих признаков, можно дать следующие характеристики вышеперечисленным группам:
    Сбой (ошибка) прерывание или исключение, при возникновении которого в стек (в память) записываются значения регистров, указывающие на команду, вызвавшую данное прерывание.
    Это позволяет, получив доступ к сегменту кода, исправить ошибочную команду в обработчике прерывания и, вернув управление программе, фактически осуществить ее рестарт (вспомните, что в реальном режиме при возникновении прерывания в стеке всегда запоминается адрес команды, следующей за той, которая вызвала это прерывание).
    Стековой называют память, доступ к которой организован по принципу: "последним записан - первым считан" (Last Input First Output - LIFO).
    Ловушка прерывание или исключение, при возникновении которого в стек записываются значения регистров, указывающие на команду, следующую за командой, вызвавшей данное прерывание.

    Так же, как и в случае ошибок возможен рестарт программы..

    Аварийноезавершение прерывание, при котором информация о месте его возникновения недоступна или неполна и поэтому рестарт практически невозможен, если только данная ситуация не была запланирована заранее.
    соответствующие программы-обработчики ошибок, ловушек и аварий будут отличаться алгоритмами работы.
    Микропроцессор жестко определяет, какие прерывания являются ошибками, ловушками и авариями.

    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта