Архитектура микропроцессоров и их программирование. Карягин А.П. - 46 стр.

UptoLike

Составители: 

46
5.2.1 Система прерываний компьютера
Сигналы аппаратных прерываний, возникающих в устройствах, входя-
щих в состав компьютера или подключенных к нему, поступают в процессор
через два контроллера прерываний, один из которых является ведущим (рису-
нок 5.2).
К входным выводам IRQ1…IRQ15 (IRQ-Interrupt Request, запрос преры-
вания) подключаются выводы устройств, на которых возникают сигналы пре-
рываний. При этом контроллеры передают в МП по линиям данных номер век-
тора, который образуется путём сложения базового номера контроллера с но-
мером входной линии с запросом прерывания.
Процессор, получив сигнал прерывания, выполняет последовательность
стандартных действий, называемых процедурой прерывания. Объекты вычис-
лительной системы, принимающие участие в процедуре прерывания, и их взаи-
модействия показаны на рисунке 5.2.
Самое начало оперативной памяти от адреса 0000h до 03FFh отводится
под векторы прерываний - четырёхбайтовые области, в которых хранятся адре-
са обработчиков прерываний (ОбрПР на рисунке 5.2). Всего в выделенной об-
ласти памяти помещается 256 векторов.
Получив сигнал на выполнение процедуры прерываний процессор со-
храняет в стеке содержимое трёх регистров: регистра флагов, CS и IP. Далее
процессор загружает CS и IP из соответствующих векторов прерываний, осу-
ществляя переход на программу - обработчик прерываний, связанную с этим
вектором. Обработчик прерываний всегда оканчивается командой IRET (воз-
врат из прерывания), после чего происходит возврат в основную программу в
ту самую точку, где она была прервана.
Рисунок 5.2- Аппаратная организация прерываний
Помимо описанных выше аппаратных прерываний от периферийных
устройств, называемых внешними, имеются ещё два типа прерываний: внут-
ренние и программные.
Жёстк.диск
Ведомый
контроллер
прерываний
Базовый
адрес 08h
IRQ15
IRQ13
IRQ14
IRQ10
IRQ9
IRQ11
IRQ12
IRQ8
Таймер
Клавиатура
Мышь
Гиб.диск
Принтер
Ведущий
контроллер
прерываний
Базовый
адрес 08h
IRQ7
IRQ5
IRQ6
IRQ2
IRQ1
IRQ3
IRQ4
IRQ0
Сигнал
INT
Номер
в
е
кт
ор
а
МП
      5.2.1 Система прерываний компьютера

       Сигналы аппаратных прерываний, возникающих в устройствах, входя-
щих в состав компьютера или подключенных к нему, поступают в процессор
через два контроллера прерываний, один из которых является ведущим (рису-
нок 5.2).
       К входным выводам IRQ1…IRQ15 (IRQ-Interrupt Request, запрос преры-
вания) подключаются выводы устройств, на которых возникают сигналы пре-
рываний. При этом контроллеры передают в МП по линиям данных номер век-
тора, который образуется путём сложения базового номера контроллера с но-
мером входной линии с запросом прерывания.
       Процессор, получив сигнал прерывания, выполняет последовательность
стандартных действий, называемых процедурой прерывания. Объекты вычис-
лительной системы, принимающие участие в процедуре прерывания, и их взаи-
модействия показаны на рисунке 5.2.
       Самое начало оперативной памяти от адреса 0000h до 03FFh отводится
под векторы прерываний - четырёхбайтовые области, в которых хранятся адре-
са обработчиков прерываний (ОбрПР на рисунке 5.2). Всего в выделенной об-
ласти памяти помещается 256 векторов.
       Получив сигнал на выполнение процедуры прерываний процессор со-
храняет в стеке содержимое трёх регистров: регистра флагов, CS и IP. Далее
процессор загружает CS и IP из соответствующих векторов прерываний, осу-
ществляя переход на программу - обработчик прерываний, связанную с этим
вектором. Обработчик прерываний всегда оканчивается командой IRET (воз-
врат из прерывания), после чего происходит возврат в основную программу в
ту самую точку, где она была прервана.

                                              Таймер
     IRQ8                              IRQ0
                           Ведомый            Клавиатура Ведущий
     IRQ9                              IRQ1
                          контроллер                     контроллер   Сигнал
     IRQ10                прерываний   IRQ2              прерываний   INT

     IRQ11                             IRQ3                                     МП
                                               Мышь
     IRQ12                             IRQ4

     IRQ13                 Базовый     IRQ5               Базовый     Номер
             Жёстк.диск   адрес 08h           Гиб.диск   адрес 08h    вектора
     IRQ14                             IRQ6
                                              Принтер
     IRQ15                             IRQ7



       Рисунок 5.2- Аппаратная организация прерываний

      Помимо описанных выше аппаратных прерываний от периферийных
устройств, называемых внешними, имеются ещё два типа прерываний: внут-
ренние и программные.
46