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

  • Сигналы

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


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

    Аппаратные (внешние) прерывания


    Аппаратные прерывания (IRQ, от Interrupt Requests) вызываются физическими устройствами и потому приходят асинхронно любой момент) по отношению к выполнению любых программ. Эти прерывания информируют систему о событиях, связанных с работой устройств. Например, о том, что наконец-то завершилась печать символа на принтере и неплохо было бы выдать следующий символ, или о том, что сектор диска уже прочитан и его содержимое доступно программе.
    При аппаратном прерывании инициируется сигнал ( запрос на прерывание ), который сообщает процессору, что в системе произошло некоторое событие ( например нажата клавиши), требующее его внимание. Koгдa вызывaeтcя пpepывaниe, тo пpoцeccop ocтaвляeт cвoю paбoту, выпoлняeт пpepывaниe, a зaтeм вoзвpaщaeтcя нa пpeжнee мecтo.
    Сигналы аппаратных прерываний, возникающих в устройствах компьютера, поступают в процессор через 2 контроллера прерываний, входящих в состав многофункциональной микросхемы периферийного контроллера.
    К входным выводам контроллеров (один из которых называют ведущим, а другой ведомым) подключаются выводы устройств, на которых возникают сигналы прерываний. Выход ведомого контроллера подключается к входу ведущего, а выход ведущего к входу INT микропроцессора. Кроме сигнала INT контроллеры передают в микропроцессор номер вектора (рассмотрим ниже), который образуется в контроллере путем сложения базового номера, записанного в одном из его регистров с номером входной линии, на который поступил запрос прерывания. Номера базовых векторов заносятся в контроллер в процессе начальной загрузке ( и для ведущего контроллера в реальном режиме он равен 8, а для ведомого 70h). Номера аппаратных прерываний однозначно связаны с номерами линий,ачерез нихсконкретнымиустройствами.

    IRQ 8
    IRQ 9
    IRQ 10

    Про

    цесс
    IRQ 11
    IRQ 12
    IRQ 13 IRQ 5
    IRQ 14 IRQ 6
    IRQ 15 IRQ 7

    Рис. Аппаратная организация прерываний
    Процессор получив сигнал по линии INT на выполнение прерывания сохраняет в стеке (элемент временного хранения данных) выполняемой программы содержимое регистров FLAGS, CS:IP .Загружает CS и IP из соответствующего вектора прерываний, и тем самым на обработчик прерываний, связанный с этим вектором и передает ей управление. Обработчик прерываний всегда завершается командой iret (interrupt return, возврат из прерывания) , которая возвращает старые значения CS , IP и регистра флагов , тем самым приводя к возврату в точку программы, где она была прервана.

    1   2   3   4   5   6   7   8   9   10


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