Прогр контр прерываний
Intel 82259.
Контр прерываний (КП) предназначаен для задания адрес –векторов подпрогр обработки прерыванй от 8 до 64 (при каскадном включении контроллеров.
MN/MX-режим мин/макс включения(ведущий или ведомый)
Контроллер в процессе работы может нах-ся в одном из 3 реж:
1)Режим программирования, в этом реж-ме задается начальный адрес-вектор подпрогр обработки прерываний IRQ(0) каждое след прерывание отстоит от предыдущего на 8(16) адресов ячеек памяти. Задается вид приоритетов, разрешается или запрещается прерыв. Указ-ся что явл прерыв (полож фронт, отриц фронт, Ур 0, Ур 1). Если в системе нах-ся 1 контр то он явл ведущим и прор-ся своей группой команд если в сист-ме несколько контроллеров то ведущий котр и ведомый контр прогр по разному
Ведомый контроллер упр ведущим с помощью сигнала CAS0-CAS2, а их запрос на прерывание JNT поступает на один входов ведущего контроллера (а не на ЦП как у ведущего контр).
2)Режим обслуживания прерываний по опросу.
В режиме по опросу ЦП может периодически опрашивать регистр запросов и смотреть какие из ВУ требуют прерывания. Прогр высокого уровня сама определяет приоритеты и необх обслуживания поступивших запросов.
3)Режим обслуживания по запросу. ВУ выставляет запрос на прерыв ктр запоминв рег-ре запросов. Схема приоритетов и маскирования выбирает из всех поступивших запросов прерывания с высшим приоритетом, разрешенного для обслуживания. Это прерыв поступает в рег обрабатываемого запроса( РгОЗ). БФ формирует запрос на прерыв JNT=0 для ЦП. Если прерыв было разрешено на длинном участке прогр то ЦП преступает к обработке прерываний, устанавливая сигнал JNTE=0 (только после того как закончит выполнение команды). Получив сигнал JNTE=0 контр прерываний выставляет на ШД для ЦП код команды CALL (вызов подпрогр) после чего ЦП 2 раза дергает сигнал JNTE чтобы получить 16-разр адрес с 8 разр ШД. По 1 фронту выдается младший байт адреса подпрогр обработки прерыв , по2-му старший. В подпрогр о\обр прерыв в общем случае другие прерыв запрещены (вложенных прерыв нет) их можно разрешить специально) возвратиз подпрогр заканчивается командой RETI, которая разрешает следующее прерывание.
Таймер
82253 (580ВИ53)
Предназначен для формир временных интервалов. Использ в восновном для контроля правильности выполн программ и работоспособности прогр средств. Если через 64 такта никакого ответа на запрос не приходит выдается ошибка.
1)Вызывает прерывание при обращении к несущ и не инициализи-рованныв устройствам при отсутствии сигнала готовности.
2)Для организации контрольных точек
3)Ограничивает длительность захвата одним устр общих ресурсов.
Таймер представляет собой три независимых канала
Каждый канал содержит 16разр таймер-счетчик и регистр и может работать в двоичном коде или в двоично-десятичном коэфф пересчета 216-104. Каждый из каналов может работать в одном из 6-ти режимов
0)Программируемая задержка или режим терминального счета.С-входные импульсы(надо считать) ТС-разрешение счета OUT- выход счетчика. В счетчик загружается код,после загр кода OUT=0 по установке сигнала TC=1 счетчик начинает декрементироваться с приходом каждого тактового импульса С. Если в момент счета установит ТС=0 то счетчик прекращает реагировать на импкльсы С. По возвращении ТС=1 счетчик продолжает с того момента где остановился. По окончании счета устанавл OUT=1.
1)Режим ждущего мультивибратора. Счетчик запускается в работу полож фронтом сигнала ТС .Если во время счета приходит новый импульс ТС то счетчик перезапускается с самого начала.
2)Генератор импульсов. В счетчик загр код, OUT=1 по окончании счета в течении одного периода С устанавл OUT=0 затем счет продолжается с самого начала.
3)Генератор Миандра. Используется как делитель тактовой частоты С на коэффициент загр в счетчик. (OUT=0 по длительности равно OUT=1).
4-5)Два последних режима: управление идет от фронтов сигнала ТС (остальное как у 2,3)