Студопедия

КАТЕГОРИИ:


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

Система прерываний IBM PC

Дисциплины обслуживания прерываний

 

Программное управление специальными регистрами маски (маскирование сигналов прерывания) позволяет реализовать различные дисциплины обслуживания:

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

2. С абсолютными приоритетами, то есть всегда обслуживается прерывание с наивысшим приоритетом. Для реализации этого режима необходимо на время обработки прерывания замаскировать все запросы с более низким приоритетом. При этом возможно многоуровневое прерывание, то есть прерывание программ обработки прерываний. Число уровней прерывания в этом режиме изменяется и зависит от приоритета запроса.

3. По принципу стека, или, как иногда говорят, по дисциплине LCFS (Last Come First Served — последним пришел, первым обслужен), то есть запросы с более низким приоритетом могут прерывать обработку прерывания с более высоким приоритетом. Для этого необходимо не накладывать маску ни на один из сигналов прерывания и не выключать систему прерываний.

 

 

К аппаратным средствам системы прерываний относятся:

1) выводы микропроцессора (INTR, INTA, NMI);

NMI - немаскируемое прерывание, используется обычно для запросов прерываний по нарушению питания;

При возникновении аппаратного прерывания инициируется выход INT контроллера. Он напрямую соединен с входом INTR процессора. Если флаг IF=0, прерывание отбрасыватеся. Процессор опрашивает вход INTR после выполнения каждой инструкции. Как только обнаруживается сигнал, процессор сразу же подтверждает прерывание через выход INTA. Контроллер прерываний принимает сигнал INTA и выставляет на шину данных значение номера прерывания. Процессор считывает номер прерывания и входит в прерывание по описанной выше схеме.

 

 

 

Рис. Связь процессора с контроллером прерываний.

 

2) программируемый контроллер прерываний 8259А (предназначен для фиксирования сигналов прерываний от восьми различных внешних устройств; выполнен в виде микросхемы; обычно используют две последовательно соединенные микросхемы, поэтому кол-во возможных источников внешних прерываний до 15) (см. рис.);

 

Рис. Аппаратная организация системы прерываний IBM PC.

 

Сигналы аппаратных прерываний, возникающие в устройствах, входящих в состав компьютера или подключенных к нему, поступают в процессор не непосредственно, а через два контроллера прерываний, один из которых называется ведущим, а второй - ведомым.

Два контроллера используются для увеличения допустимого количества внешних устройств. Дело в том, что каждый контроллер прерываний может обслуживать сигналы лишь от 8 устройств. Для обслуживания большего количества устройств контроллеры можно объединять, образуя из них веерообразную структуру. Так устанавливают два контроллера, увеличивая тем самым возможное число входных устройств до 15 (7 у ведущего и 8 у ведомого контроллеров). В современных компьютерах оба контроллера прерываний вместе с другими контроллерами могут входить в состав одной и той же микросхемы, но совместимость распределения прерываний по-прежнему обеспечивается.

 

Архитектура IBM PC ХТ предусматривала всего восемь линий аппаратных прерываний, которыми управлял специальный контроллер. Каждой из них назначался свой уникальный номер, который определял приоритет прерывания и адрес его обработчика (так называемый вектор прерывания). Следующий вариант архитектуры, IBM PC AT, дополнил существующие линии еще восемью, для управления которыми использовался второй контроллер, подключаемый к одной из линий прерывания первого контроллера. К сожалению, на этом данная архитектура остановилась в своем развитии, поэтому все компьютеры до 2001 года, несмотря на значительно возросшее число используемых в них дополнительных устройств, по-прежнему имели только шестнадцать линий прерываний, одно из которых резервируется для эмуляции второго контроллера.

 

Выход ведущего контроллера подключается к входу INT микропроцессора, а выход ведомого - к входу IRQ2 ведущего. Основная функция контроллеров - передача сигналов запросов прерываний от внешних устройств на единственный вход прерываний микропроцессора. При этом, кроме сигнала INT, контроллеры передают в микропроцессор по линиям данных номер вектора, который образуется в контроллере путем сложения базового номера, записанного в одном из его регистров, с номером входной линии, по которой поступил запрос прерывания. Номера базовых векторов заносятся в контроллеры автоматически в процессе начальной загрузки компьютера. Для ведущего контроллера базовый вектор всегда равен 8, для ведомого - 70h. Таким образом, номера векторов, закрепленных за аппаратными прерываниями, лежат в диапазонах 8h...Fh и 70h...77h.

 

3) внешние устройства.

 

 

К программным средствам системы прерываний относятся:

1) таблица векторов прерываний; первый килобайт ОП (адреса 00000h-003FFh) занимает таблица векторов прерываний; она содержит адреса (векторы) обработчиков прерываний и состоит из 256 (0..255) элементов по 4 байта каждый (см. рис.);

 

 

 

Рис. Таблица векторов прерываний IBM PC

2) два флага в регистре флагов:

IF (Interrupt Flag) - флаг прерывания. Предназначен для маскирования (запрещения) аппаратных прерываний. Если IF=1, микропроцессор обрабатывает внешние прерывания, если = 0, то игнорирует.

TF (Trace Flag) - флаг трассировки. Если он=1, то микропроцессор переходит в режим покомандной работы. В этом режиме в микропроцессоре генерируется внутреннее прерывание с номером 1. Флаг захвата (специального прерывания) TF помогает при отладке программ. Этот флаг устанавливается не в результате работы микропроцессора, а - программой, с помощью специальной команды. Этот флаг называется также флагом трассировки или шага. Когда этот флаг установлен, после выполнения каждой команды возникает прерывание. Эффект при этом такой же, как если бы после каждой команды некоторое внешнее устройство запрашивало прерывание. Прерывание по трассировке передает управление в ячейку, определенную вектором прерывания 4. Во время процедуры прерывания микропроцессор сбрасывает флаг специального прерывания. Это позволяет программе обработки прерывания по трассировке избежать прерывания после каждой команды. Когда обработчик прерывания по трассировке возвращает управление программе пользователя, он восстанавливает начальное состояние регистра флагов, в котором флаг трассировки установлен. Микропроцессор выполняет следующую команду пользователя, и снова возникает специальное прерывание. Обработчик прерываний по трассировке получает управление после каждой команды до тех пор, пока программа пользователя не сбросит флаг захвата.

 

3) машинные команды микропроцессора: int, into, iret, cli, sti.

 

<== предыдущая лекция | следующая лекция ==>
Функционирования компьютера при обработке прерывания | Обработка прерывания в IBM PC
Поделиться с друзьями:


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


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



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




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