Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASKS_lektsii_chast_2_2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.49 Mб
Скачать

Программируемый контроллер прерываний i8259a Общие сведения Основные функции, реализуемые микросхемой i8259а

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

  • оценка приоритета поступившего запроса и формирование очереди на обслуживание в соответствии с установленной дисциплиной;

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

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

  • определение и передача процессору номера вектора прерывания.

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

1.  Состояние настройки – инициализация и установка режимов работы ПКП путем его программирования как устройства ввода-вывода с помощью четырех управляющих слов инициализации (Initialization Command Word) ICW1-ICW4.

2. Обслуживание запросов – ПКП принимает операционные управляющие слова (слова рабочих команд, Operation Command World) OCW1-OCW3, определяющие алгоритм обслуживания запросов на прерывание в заданном режиме, и осуществляет обслуживание аппаратных прерываний.

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

  • фиксированные приоритеты;

  • автоматический сдвиг приоритетов;

  • программно-управляемый сдвиг приоритетов;

  • автоматическое завершение обработки прерывания (Automatic End of Interrupt, AEOI);

  • специальное маскирование;

  • опрос.

Структурная схема пкп I 8259a

Схема управления прерываниями. Содержит две группы 8-разрядных регистров:

  • для приема команд инициализации ICW;

  • для приема рабочих команд OCW.

Основные функции:

  • прием команд от процессора;

  • передача процессору информации о состоянии ПКП;

  • посылка сигнала запроса на вход INТR ЦП;

  • управление регистрами IRR и ISR в циклах подтверждения прерывания.

Регистры IRR, ISR, IMR, арбитр приоритетов PR. Предназначены для:

  • восприятия запросов на прерывания на входах IR0-IR7;

  • управления ими;

  • разрешения формирования сигнала INT по незамаскированному запросу наивысшего приоритета.

ISR (In Service Register) – Регистр обслуживаемых прерываний. Хранит текущие обрабатываемые запросы («текущий приоритет» ЦП).

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

IRR (Interrupt Request Register) – Регистр запросов на прерывания. Фиксирует запросы на входах IR.

PR (Priority Resulver) – Арбитр приоритетов. Определяет наиболее приоритетный для выполнения (на данный момент) запрос в IRR.

RWCL (Read/Write Control Logic) – Схема управления чтением/записью. Предназначена для:

  • анализа сигналов СS#, RD#, WR#, A0;

  • активизации микросхемы;

  • инициализации режима чтения процессором содержимого регистров IRR, ISR и IMR;

  • инициализации режима записи процессором в ПКП управляющих слов ICWi и OCWi.

Назначение сигналов пкп I 8259a

А0 (Address 0). Служит для указания порта i8259A, к которому производится обращение. В IBM PC AT для каждого контроллера резервируется два адреса: для ведущего - 20h и 21h, для ведомого - A0h и A1h. В этом случае вход А0 должен быть подсоединен к разряду 0 шины адреса системного интерфейса.

D0-D7 (bidirectional Data bus) – двунаправленная шина данных. Служит для взаимодействия с ЦПУ.

CS# (Chip Select). Идентифицирует обращение к контроллеру.

RD# (ReaD). Совместно с CS и A0 управляет выдачей на D0-D7 содержимого регистров IMR, ISR и IRR или уровня приоритета.

WR# (WRite). Управляет записью слов инициализации и команд в регистры управления.

INTA# (INTerrupt Acknowlege). Вход подтверждения прерывания от ЦПУ.

IR0-IR7 (Interrupt Request). Входы для запросов прерывания от устройств ввода-вывода или ведомых контроллеров

CASx (Cascade) – Линии каскадирования. Служат для идентификации ведомого контроллера. Для ведущего контроллера являются выходными сигналами, для ведомого – входными

SP#/EN# (Slave Program/ENable buffer). Мультифункциональный: в режиме буфера используется как выходной сигнал для управления приемопередатчиками; в не буферном режиме – как входной сигнал для указания назначения контроллера (SP=0 ведомый, SP=1 ведущий)

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