Организация вычислительных систем



         

Обработка прерываний на основе контроллера 8259A


Контроллер прерываний 8259A представляет собой устройство, реализующее до восьми уровней запросов на прерывания, с возможностью программного маскирования и изменения порядка обслуживания прерываний.

Контроллер прерываний (рис. 13.3) состоит из следующих блоков:

  • RGI - регистр запретов прерываний; хранит все уровни, на которые поступают запросы IRQx.
  • PRB - схема принятия решений по приоритетам; схема идентифицирует приоритет запросов и выбирает запрос с наивысшим приоритетом.
  • ISR - регистр обслуживаемых прерываний; сохраняет уровни запросов прерываний, находящиеся на обслуживании контроллера прерываний.
  • RGM - регистр маскирования прерываний; обеспечивает запрещение одной или нескольких линий запросов прерывания.
  • BD - буфер данных; предназначен для сопряжения с системной шиной данных.
  • RWCU - блок управления записью/чтением; принимает управляющие сигналы от микропроцессора и задает режим функционирования контроллера прерываний.
  • CMP - схема каскадного буфера-компаратора; используется для включения в систему нескольких контроллеров.
  • CU - схема управления; вырабатывает сигналы прерывания и формирует трехбайтовую команду CALL для выдачи на шину данных.

Структура контроллера прерываний 8259А

увеличить изображение
Рис. 13.3.  Структура контроллера прерываний 8259А

Один контроллер 8259A способен обслуживать прерывания от 8 источников. Для обслуживания большего количества устройств используется каскадное включение контроллеров (рис. 13.4). В системах IBM PC AT каскадное включение позволяет до 15 устройствам сигнализировать о прерывании (табл. 13.1).

Каскадное включение контроллеров прерываний

увеличить изображение
Рис. 13.4.  Каскадное включение контроллеров прерываний

Таблица 13.1. Источники аппаратных прерываний в IBM PC AT

ЗапросИсточникПриоритетНомер вектора
NMIОшибка памяти или другая неисправимая ошибка в системе02h
IRQ0Системный таймер108h
IRQ1Клавиатура209h
IRQ8Часы реального времени370h
IRQ9Устройство на шине ISA471h
IRQ10Устройство на шине ISA572h
IRQ11Устройство на шине ISA673h
IRQ12Устройство на шине ISA774h
IRQ13Ошибка сопроцессора975h
IRQ14IDE контроллер976h
IRQ15Устройство на шине ISA1077h
IRQ3Последовательный порт (COM2 или COM4)110Bh
IRQ4Последовательный порт (COM1 или COM3)120Ch
IRQ5Параллельный порт (LPT2) или IDE контроллер (вторичный)130Dh
IRQ6Контроллер дисковода140Eh
IRQ7Параллельный порт (LPT1)150Fh




Содержание  Назад  Вперед