Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кухтик лекции_ВМСС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
561.66 Кб
Скачать

Вопрос 8.

Контроллер (программируемый) приоритетных прерываний.

(ПКП)

Находится по адресу: 0020h – 003Fh

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

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

Структура прерываний.

INT NMI

ST0

ST1

ST2

Запросы на внешние аппаратные маскируемые прерывания (IRQ0…IRQ7) поступают в МП через программируемый контроллер приоритетных прерываний, который формирует общий сигнал INT (внешнего аппаратного маскируемого прерывания).

Список внешних аппаратных маскируемых

прерываний (в порядки приоритета).

Прерывание

Устройство

IRQ1

Клавиатура

IRQ2

Свободен

IRQ3

Контроллер последовательного ввода-вывода СОМ2

IRQ4

Контроллер последовательного ввода-вывода СОМ1

IRQ5

Контроллер НЖМД

IRQ6

Контроллер НГМД

IRQ7

Контроллер параллельного ввода-вывода LPT1

IRQ0

таймер

Немаскируемые.

Запрос на внешние аппаратные немаскируемые прерывания поступают непосредственно на вход NMI МП и обычно используются для прерывания работы МП при катастрофических событиях, таких, как: сбой питания, обнаружение ошибки памяти и т.п.

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

К программным прерываниям относятся: прерывание по точке прерывания, по переполнению и команда INT.

Обработка прерываний.

Для обслуживания прерываний необходимо определить таблицу векторов прерываний. Вектора прерываний – это указатели на соответствующие программы обслуживания. Таблица занимает первый Кб ОЗУ и содержит 256 элементов. Каждый i-ый элемент представляет собой полный (2 16-ти разрядных значения) начальный адрес программы, которая обслуживает прерывания этого типа.

Если возникает прерывание, производятся следующие действия:

  1. МП выполняет текущую команду до конца.

  2. Адрес очередной команды – содержимое регистров CS и IP и состояние МП-ра (регистр признаков FLAGS) сохраняется в стеке, что позволит впоследствии возобновить прерванную программу.

  3. МП меняет свое состояние (выводы ST0, ST1, ST2), которое отслеживается контроллером системной магистрали.

  4. Контроллер системной магистрали вырабатывает сигнал INTA (подтверждение прерывания), который поступает на ПКП.

  5. ПКП сообщает номер вектора прерывания МП. Номер вектора прерывания – соответствующий элемент векторов прерывания.

  6. Из того элемента берутся 2 16-ти разрядных значения и помещаются в регистры CS и IP.

  7. выполняется программа обслуживания прерывания до команды IRET.

  8. После этого восстанавливается старое состояние МП и адрес прерванной программы (из стека извлекаются значения и записываются в регистр FLAGS, CS и IP).

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

приоритетных прерываний.

Обеспечивает приоритетный выбор запросов внешних аппаратных маскируемых прерываний, формирование вектора прерывания и имеет 8 входов прерываний от 8 различных устройств.

Основные функции контроллера:

  1. Фиксация запросов прерывания от 8 внешних источников.

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

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

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

Структурная схема ПКП.

IRQ0 IRQ1 IRQ7

D0-D7

R

W

CS

A0

INT

INTA

Назначение выводов микросхемы ПКП.

Выводы

Назначение

D0-D7

Шина данных

R

Сигнал чтения микросхемы

W

Сигнал записи микросхемы

CS

Сигнал выбора микросхемы

INT

Сигнал запроса внешнего аппаратного маскируемого прерывания

INTA

Подтверждение запроса внешнего аппаратного маскируемого прерывания

A0

Адресный сигнал

IRQ0…IRQ7

Запросы на внешние аппаратные маскируемые прерывания (от устройств)

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

Описание основных элементов ПКП.

Блок чтения записи принимает команды от МП и передает ему информацию о состоянии ПКП.

Обмен информацией осуществляется через 8 разрядный буфер данных.

Каскадный буфер-компаратор отвечает за работу каскада из нескольких контроллеров.

Блок управления ПКП формирует сигнал запроса на прерывание INT и обрабатывает сигнал INTA.

Регистр запросов прерываний используется для хранения всех входных запросов прерывания.

Блок приоритетов определяет, прерывание какого уровня будет обрабатываться в первую очередь.

Регистр обслуживания прерывания описывает прерывание какого уровня в настоящий момент обрабатывается.

Регистр маскирования прерываний описывает, маскирования какого типа в настоящий момент замаскировано.

Режимы работы ПКП.

  1. Режим фиксированных приоритетов (по умолчанию).

Запросы прерываний IRQ0…IRQ7 имеют фиксированные приоритеты (0 – высший) и обрабатываются в соответствии с ними. Прерывание с меньшим приоритетом никогда не будет обработано, если в процессе обработки прерывания с более высокими приоритетами постоянно возникают запросы на эти прерывания.

  1. Автоматический сдвиг приоритетов.

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

  1. Программно-управляемый сдвиг приоритетов.

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

4. Автоматическое завершение обработки прерываний.

5. Режим специальной маски.

Данный режим позволяет отменить приоритетную обработку прерываний и обрабатывать их по мере поступления.

  1. Режим опроса.

В этом режиме сигнал аппаратного прерывания не появляется автоматически, а наличие запроса на прерывание определяется считыванием определенных регистров МП.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]