Мегаобучалка Главная | О нас | Обратная связь


Контроллер прерываний К1810ВН59А (i8259А)



2015-12-07 1028 Обсуждений (0)
Контроллер прерываний К1810ВН59А (i8259А) 0.00 из 5.00 0 оценок




 

Основная задача контроллера – сообщить процессору какое внешнее устройство его запросило.

Подключение ВН59 к системной шине показано на рис. 3.

 


Рис. 3 Подключение ВН59 к системной шине

 

Контроллер имеет восемь входов запросов на прерывание (IR7 – IR0). Восприняв запрос на одном из этих входов ВН59, формирует сигнал на выходе INT. Этот сигнал подается на вход INTR ВМ86. Если внешние прерывания не замаскированы (флаг if установлен в единицу), МП подтверждает прерывание, выставляя два сигнала на выходе INTA. Эти сигналы поступают на одноименный вход контроллера, и по второму из них ВН59 выставляет на ШД тип прерывания. Этот тип он формирует следующим образом: старшие пять разрядов типа задает программист при настройке контроллера, а на место младших трех разрядов ВН59 подставляет двоичный номер линии, по которой пришел запрос.

Внутренняя структура ВН59 представлена на рис. 4

 

 

Рис. 4. Внутренняя структура ВН59.

 

Буфер данных используется для связи контроллера с шиной данных процессора (ШД). Контроллер подключается к ШД, когда на его вход CSприходит активный (нулевой) сигнал и при подтверждении прерывания (сигнал INTA). Система распаивается таким образом, чтобы активный CS приходил, когда процессор обращается к одному из двух внутренних портов контроллера командой inили out.

Схема чтения/записи управляет чтением/записью внутренних регистров контроллера. Активный сигнал IOR (вырабатывается при выполнении процессором команды in) задает операцию чтения, активный IOW(команда out) – операцию записи.

Каскадный буферсодержит схему распознавания каскадного соединения нескольких контроллеров, которая будет рассматриваться в дальнейшем.

IRR – восьмиразрядный регистр запросов прерываний. В нем запоминаются все запросы, приходящие на входы IR7 – IR0. Когда прерывание подтверждается процессором (приходит сигнал INTA), соответствующий разряд IRR сбрасывается. Текущее содержимое IRRможно прочитать с помощью команды OCW3(смотри ниже).

ISR– восьмиразрядный регистр обслуживаемых запросов. Соответствующий бит в этом регистре устанавливается, когда прерывание подтверждается процессором (приходит сигнал INTA). Сбрасывается этот бит, в зависимости от настройки контроллера, либо специальной командой EOI, которую формирует программист, как правило, в конце обработчика, либо автоматически (AEOI). Установленный разряд ISRблокирует (маскирует) восприятие контроллером запросов, имеющих тот же или более низкий по отношению к установленному разряду приоритет (пришедший запрос запоминается в IRR, но запросINT на процессор не вырабатывается). Устранить блокирующее влияние разрядов ISR можно либо путем их сброса (EIO), либо путем специального маскирования. Текущее содержимое IRRможно прочитать с помощью команды OCW3(смотри ниже).

IMR– восьмиразрядный регистр масок. Содержит маски, позволяющие заблокировать прохождение поступившего запроса в процессор. IMRi= 0разрешает запрос на ножке IRi,IMRi = 1 – запрещает.

Несмотря на то, что внутренняя архитектура ВН59 включает в себя довольно много различных регистров, с точки зрения программиста, контроллер содержит всего два адресуемых устройства, выбор между которыми определяет сигнал на линии А0.

В системе могут использоваться несколько ВН59, соединенных каскадно. При этом один контроллер является ведущим (MASTER), а все остальные ведомыми (SLAVE). Выходы INT ведомых контроллеров заводятся на входы IRi ведущего контроллера. Таким образом, максимальное число контроллеров в системе равно девяти, а максимально возможное число источников внешних прерываний равно 64. Например, в IBM-подобных ПЭВМ используются два контроллера прерываний. Ведущему присвоены системные адреса 20h (A0 = 0) и 21h (A0 = 1), ведомому – а0h и а1h. Таким образом, организуется 15 входов запросов на прерывание. Схема подключения контроллеров в IBM проведена на рис. 5.

 

 

Рис 5. Каскадное соединение контроллеров в IBM.

 



2015-12-07 1028 Обсуждений (0)
Контроллер прерываний К1810ВН59А (i8259А) 0.00 из 5.00 0 оценок









Обсуждение в статье: Контроллер прерываний К1810ВН59А (i8259А)

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1028)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)