Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

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

 

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

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


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

Таблица 13.1. Источники аппаратных прерываний в IBM PC AT
Запрос Источник Приоритет Номер вектора
NMI Ошибка памяти или другая неисправимая ошибка в системе   02h
IRQ0 Системный таймер   08h
IRQ1 Клавиатура   09h
IRQ8 Часы реального времени   70h
IRQ9 Устройство на шине ISA   71h
IRQ10 Устройство на шине ISA   72h
IRQ11 Устройство на шине ISA   73h
IRQ12 Устройство на шине ISA   74h
IRQ13 Ошибка сопроцессора   75h
IRQ14 IDE контроллер   76h
IRQ15 Устройство на шине ISA   77h
IRQ3 Последовательный порт (COM2 или COM4)   0Bh
IRQ4 Последовательный порт (COM1 или COM3)   0Ch
IRQ5 Параллельный порт (LPT2) или IDE контроллер (вторичный)   0Dh
IRQ6 Контроллер дисковода   0Eh
IRQ7 Параллельный порт (LPT1)   0Fh

 

Поскольку в каждый момент времени может поступить более чем один запрос на прерывание, контроллер прерываний имеет схему приоритетов. В основном режиме - режиме полного вложения, - до тех пор, пока установлен разряд в регистре ISR, соответствующий запрашиваемому прерыванию, все последующие запросы с таким же или более низким приоритетом игнорируются, подтверждаются лишь запросы с более высоким приоритетом. В циклическом режиме используется круговой порядок использования приоритетов. Последнему обслуженному запросу присваивается низший приоритет, следующему по кругу - наивысший, что гарантирует обслуживание остальных устройств до очередного обслуживания данного устройства. Контроллер допускает маскирование отдельных запросов прерываний, что позволяет устройствам с более низким приоритетом получить возможность генерировать прерывания. Режим специального маскирования разрешает прерывания всех уровней, кроме уровней, обслуживаемых в данный момент. Кроме того, для каскадного включения возможен специальный режим полного вложения. Этот режим программируется любым ведущим контроллером при инициализации. В данном режиме игнорируются запросы с приоритетом более низким, чем приоритет обрабатываемого в данный момент запроса, и обслуживаются все запросы с равным или более высоким приоритетом.




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 925; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.