logo
ЗФ / Вопросы-Ответы (ВМСиС)

34. Аппаратные и командные прерывания.

Аппаратные прерывания позволяют процессору узнать о наступлении событий от внещних устройств. На шине ISA Каждому аппаратному прерыванию соответствовал отдельный провод. Если устройство хотело обратить на себя внимание центрального процессора, оно выставляло логическую 1 на соответствующий контакт шины.

Аппаратные прерывания в реальном режиме процессора отображаются на таблицу вектором прерываний, расположенной в первом килобайте оперативной памяти. Аппаратные прерывания IRQ0-IRQ7 начинаются с номера вектора 8, которому соответствует IRQ0. Прерывания IRQ8-IRQ15 расположены в таблице под номерами начиная с 0x70 (70H).

Как работают аппаратные прерывания

Несмотря на то, что за много лет аппаратная часть копьютера очень сильно изменилась, система прерываний осталась прежней. А в первых персональных компьютерах прерывания обслуживала специальная микросхема - 8259A. У нее было несколько выводов для того, чтобы устройства компьютера могли посылать сигнал прерывания и линия связи с центральный процессором в виде системной шины. Когда внешнее устройство запрашавало прерывание, оно устанавливало высокий уровень на входе 8259A. Микросхема 8259A сообщает микропроцессору, что возниколо прерывание с помощью проводка INT. Процессор в ответ отвечает уровнем на проводе шины INTA. После этого 8259A должна выдать на системную шину номер возникшего прерывания. Процессор читает этот номер и выполняет обработчик этого прерывания. После того, как процессор выполнил команду IRET, он подает сигнал контроллеру 8259A, что он снова может получать прерывания. Обычно в компьютере 2 контроллера прерываний, соединенных каскадно для увеличения количества прерываний. На современных чипсетах контроллер 8259A зашит в многофункциональную микросхему Intel ICH10 I/O