Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Программируемый контроллер прерываний

Программируемый контроллер прерываний (Programmable Interrupt Controller, PIC) реализуется на микросхеме 8259А фирмы Intel (в современных ПК реализуется чипсетом), и поддерживает 8 уровней прерываний от восьми различных устройств. Основные функции контроллера:

- фиксация запросов на прерывания от восьми внешних источников;

- программное маскирование поступающих запросов;

- присвоение фиксированных или циклически изменяемых приоритетов входам контроллера, на которые поступают запросы;

инициализация вызова процедуры обработки поступившего аппаратного прерывания.

Архитектура контроллера прерывания (PIC) представлена на рис. 9.3. В состав контроллера входят:

- схема управления чтением/записью;

- схема управления;

- схема каскадирования;

- регистр запросов на прерывания (IRR);

- схема обработки приоритетов;

- регистр обслуживаемых запросов (состояния, ISR);

- регистр маскирования запросов на прерывания (IMR).

 

Рисунок 8.3 - Архитектура контроллера прерываний

 

Назначение выводов контроллера следующее:

CS - выбор микросхемы (выход дешифратора); RD - чтение;

WR - запись;

DO - D7 - двунаправленная шина данных;

CASO - CAS2 - двунаправленная шина каскадирования, которая связывает ведущий контроллер со всеми ведомыми;

SP/EN - выбор ведущего контроллера;

INT - запрос на прерывание;

INTA - подтверждение прерывания;

АО - выбор регистров контроллера (младший бит адреса);

IRQO - IRQ7 - входы запросов на прерывания от внешних источников.

Описание работы основных элементов PIC. Схема управления чтением/записью (Read/Write Control Logic). Основной функцией этого блока является прием команд от микропроцессора и передача ему информации о состоянии PIC. Обмен с микропроцессором осуществляется через специальный 8-разрядный буфер данных (Data Bus Buffer), являющийся интерфейсом между PIC и шиной данных.

В состав блока входят регистры управляющих слов ICW и OCW. Схема управляется входами CS, RD, WR и АО. Вход CS (Chip select) отвечает за выбор микросхемы. Низкий уровень сигнала на входе CS разрешает выполнение обмена с PIC. Низкий уровень сигнала на входе WR (Write) разрешает микропроцессору выводить управляющие слова ICW и OCW для приема их PIC. Низкий уровень сигнала на входе RD (Read) разрешает PIC передать микропроцессору информацию о состоянии специальных регистров IRR, ISR и IMR, которые описаны ниже.

Все управляющие слова ICW и OCW принимаются контроллером в виде 9-разрядных значений. Разряды 0-7 передаются через 8-разрядный буфер данных. Старший разряд (восьмой, считая с нуля) носит название АО и устанавливается в 0 или 1 в зависимости от того, через какой из двух возможных портов ввода-вывода (четный или нечетный) было передано управляющее слово. Если для вывода значения использовался порт с четным адресом, АО будет равен 0, если использовался порт с нечетным адресом на единицу большим, чем предыдущий, тогда АО будет равен 1.

Регистр запросов на прерывания (Interrupt Request Register, IRR) обслуживается через входы IRQO - IRQ7 контроллера. Сигнал на одном из входов IRQ0-IRQ7- это запрос на прерывание соответствующего уровня (О - 7). В соответствии с сигналом запроса на прерывание схемой управления устанавливается соответствующий бит в регистре ERR.

Регистр состояния (регистр обрабатываемых запросов, In-Service Register, ISR) описывает в битах 0 - 7 прерывания каких уровней (0 - 7) в данный момент обрабатываются.

Регистр маскирования запросов на прерывания (Interrupt Mask Register, IMR) описывает, прерывания каких уровней в настоящий момент замаскированы. Единичное значение бита в IMR указывает на то, что прерывание соответствующего уровня при появлении запроса в IRR блокируется.

Схема обработки приоритетов (шифратор приоритетов, Priority Resolver) определяет, прерывание какого уровня в данный момент является наиболее приоритетным для выполнения.

Схема управления PIC формирует сигнал запроса на прерывание, поступающий на вход INT (запрос на прерывание) микропроцессора. Если флаг IF регистра флагов процессора равен 1 (прерывания разрешены), процессор отвечает сигналом по линии INTA (подтверждение прерывания), после чего сбрасывается в 0 разряд IRR и устанавливается в 1 разряд ISR, соответствующие уровню обрабатываемого прерывания. После получения второго сигнала подтверждения от процессора по линии INTA, PIC передает на шину данных 8-битовый номер прерывания.

Схема каскадирования отвечает за работу каскада из нескольких контроллеров. При подключении к ведущему контроллеру выход INT каждого ведомого подключается к одному из входов TRQO - ERQ7 ведущего. Далее этот сигнал передается ведущим на вход INT процессора. Когда процессор возвращает сигнал INTA, ведущий контроллер не только устанавливает бит в ISR и сбрасывает бит в IRR, но и выдает на свои выходы CAS0 - CAS2 номер уровня прерывания, к которому подключен ведомый, пославший запрос на прерывание.

Сигналы по линии CAS0 - CAS2 принимаются всеми ведомыми, однако обрабатываются только тем, который подключен к линии IRQi с соответствующим номером.

Режимы работы PIC. PIC может находиться в двух основных состояниях: настройки и обслуживания запросов на прерывания. В состоянии настройки контроллер принимает управляющие слова инициализации (Initialization Command Words, ICW), в состоянии обслуживания -операционные управляющие слова (Operation Control Words, OCW). Возможны режимы обслуживания запросов на прерывание:

- режим фиксированных приоритетов по уровням прерываний;

- два различных варианта циклического сдвига приоритетов;

- режим автоматического завершения обработки прерывания;

- режим специального маскирования;

- режим опроса устройств.

Рассмотрим подробно режимы обслуживания.

1) Режим фиксированных приоритетов (Fixed Priority, Fully Nested Mode). В этом режиме контроллер находится сразу после инициализации. Запросы прерываний имеют жесткие приоритеты от 0 до 7 (0 - высший) и обрабатываются в соответствии с приоритетами. Прерывание с меньшим приоритетом никогда не будет обработано, если в процессе обработки прерываний с более высокими приоритетами постоянно возникают запросы на эти прерывания.

2) Автоматический сдвиг приоритетов (Automatic Rotation). В этом режиме дается возможность обработать прерывания всех уровней без их дискриминации. Например, после обработки прерывания уровня 4 ему автоматически присваивается низший приоритет, при этом приоритеты для всех остальных уровней циклически сдвигаются и прерывания уровня 5 будут иметь в данной ситуации высший приоритет и, следовательно, возможность быть обработанными.

3) Программно-управляемый сдвиг приоритетов(Specific Rotation). Программист может сам передать команду циклического сдвига приоритетов PIC, задав соответствующее управляющее слово. В команде задается номер уровня, которому требуется присвоить максимальный приоритет. После выполнения такой команды устройство работает так же, как и в режиме фиксированных приоритетов, с учетом их сдвига. Приоритеты сдвигаются циклически, таким образом если максимальный приоритет был назначен уровню 3, то уровень 2 получит минимальный и будет обрабатываться последним.

4) Автоматическое завершение обработки прерывания (Automatic End Of Interrupt, AEOI). В обычном режиме работы процедура обработки аппаратного прерывания должна перед своим завершением очистить свой бит в ISR специальной командой, иначе новые прерывания не будут обрабатываться PIC.

В режиме AEOI нужный бит в ISR автоматически сбрасывается в тот момент, когда начинается обработка прерывания нужной процедурой обработки и от нее не требуется издавать команду завершения обработки прерывания (EOI). Сложность работы в данном режиме обуславливается тем, что все процедуры обработки аппаратных прерываний должны быть повторно входимыми, т.к. за время их работы могут повторно возникнуть прерывания того же уровня.

5) Режим специальной маски (Special Mask Mode). Данный режим позволяет отменить приоритетное упорядочение обработки запросов и обрабатывать их по мере поступления. После отмены режима специальной маски предшествующий порядок приоритетов уровней сохраняется.

6) Режим опроса (Polling Mode). В этом режиме аппаратные прерывания не происходят автоматически. Появление запросов на прерывание должно определяться считыванием 1RR. Данный режим позволяет так же получить от PIC информацию о наличии запросов на прерывания и, если запросы имеются, номер уровня с максимальным приоритетом, по которому есть запрос.

<== предыдущая лекция | следующая лекция ==>
Системная поддержка LPT-порта | Предельный продукт труда можно определить как
Поделиться с друзьями:


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


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



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




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