32. Механизм обработки прерываний.
Контроллеры прерываний имеют регистры IRR-запросов и прерываний, IMR-масок (1-замаскированно, т.е. не будет прерывать процессор), ISR-обслуживание прерываний (1-обработка прерывания в данный момент), PR-арбитр приоритетов. Процесс прерывания: Поступает сигнал прерывания в регистр IRR,идёт проверка на замаскированность(если 0 то дальше), на приоритет. Процессор осуществляет цикл обработки прерывания. Если прерывание разрешено, то формируется сигнал подтверждения прерывания, который возвращается обратно в контроллер. Устанавливается флаг ISR. Контроллер формирует код прерывания d0-d7, который поступает в процессор.Проц по номеру находит процедуру обработки прерываний и передаёт управление ей.Она срабатывает, закончив работу, процесстор переходит к выполнению прерванной программы.
В реальном режиме.
В защищённом режиме
Каждая процедура обработки прерываний имеет дескриптор IDT (interrupt descriptor table), регистр IDTR. Когда процессор получает номер прерывания, он его умножает на 8 и находит дескриптор, запускает процедуру обработки прерываний.