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

1.13.3.2. Выводы контроллера

На рис. 13.8 представлено условное графическое изображение контроллера прерывания. Кратко скажем о выводах контроллера.

CS - разрешает связь контроллера прерываний с шиной данных.

WR - загрузка данных в адресуемый регистр контроллера прерываний.

RD - считывание состояния контроллера на шину данных.

INT - соединен с микропроцессором, если есть запросы прерывания, то на нем выставляется высокий уровень.

INTA - подтверждение прерывания. С его помощью микропроцессор вызывает у контроллера прерывания инициализацию команды CALL. А0 - адресуемый внутренний регистр контроллера. CAS - линии каскадирования. Образуют локальную шину и являются выходами ведущего контроллера и входами ведомого. SP - фиксирует состояние контроллера.

1.13.3.3. Принцип работы контроллера прерываний

При появлении запросов на одной или нескольких линиях IR контроллер сравнивает их приоритеты между собой и с приоритетом возможно обрабатываемого запроса. Если один из новых запросов должен быть обработан, вырабатывается сигнал INT. Если прерывания разрешены, процессор вырабатывает сигнал INTA, в ответ на который контроллер выдает на шину данных код команды CALL. Этот код побуждает процессор выработать еще два импульса INTA для выдачи двух байтов адреса программы обработки прерываний.

1.13.3.4. Каскадирование контроллеров

На рис. 13.9 семь входов ведущего контроллера принимают запросы непосредственно от вызывающих устройств, а вход IR2 присоединен к выходу INT ведомого контроллера, который принимает запросы еще восьми внешних устройств, т. е. всего присоединено 15 устройств. Линии CAS соединяются параллельно и являются выходом у ведущего контроллера и входом у ведомого. По этим линиям ведущий контроллер выбирает ведомый, который должен выдать адрес подпрограммы обслуживания прерываний в ответ на второй и третий импульс INTA .

В результате приоритеты убывают в следующем порядке (рис. 13.10).

1.13.3.5. Порядок работы с контроллером

Работа с контроллером производится по этапам:

  • инициализация контроллера;

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

  • прием запросов прерывания.

Командами инициализации (ICW) ПКП устанавливается в исходное состояние. Внутренний однобитовый адрес регистра АО определяет команду (A0 = 0 - ICW1; АО = 1 - ICW2). После записи команд инициализации ПКП подготовлен к приему запросов прерывания от ВУ и может работать в режиме с фиксированными приоритетами запросов.

Команды инициализации вводятся в последовательности:

  • ICW1;

  • ICW2.

Команда ICW1 присваивает высший приоритет входу IR0 контроллера, низший - входу IR7.

Загрузка производится путем подачи управляющего слова, формат которого приведен на рис. 13.11.

Разряд S этого слова определяет наличие одного или нескольких ПКП в системе (1 - один контроллер, 0 - более одного, т. е. имеет место каскадирование). Разряд F (формат) задает шаг между соседними адресами подпрограмм, обслуживающих прерывания (1 - 4 байта, 0 - 8 байт). Разряды А7-А5 используются для формирования младшего байта адресов подпрограмм обслуживания прерываний (А7-А0) в соответствии с табл. 13.1.

Таблица 13.1

Вход

Адресный интервал 4 байта

Адресный интервал 8 байт

запроса

D7

D6

D5

D4

D3

D2

D1

D0

D7

D6

D5

D4

D3

D2

D1

D0

IR7

A7

A6

A5

1

1

1

0

0

A7

A6

1

1

1

0

0

0

IR6

A7

A6

A5

1

1

0

0

0

A7

A6

1

1

0

0

0

0

IR5

A7

A6

A5

1

0

1

0

0

A7

A6

1

0

1

0

0

0

IR4

A7

A6

A5

1

0

0

0

0

A7

A6

1

0

0

0

0

0

IR3

A7

A6

A5

0

1

1

0

0

A7

A6

0

1

1

0

0

0

IR2

A7

A6

A5

0

1

0

0

0

A7

A6

0

1

0

0

0

0

IR1

A7

A6

A5

0

0

1

0

0

A7

A6

0

0

1

0

0

0

IR0

A7

A6

A5

0

0

0

0

0

A7

A6

0

0

0

0

0

0

Таблица 13.2

Режим

Входы

RD

WR

A0

INT

INTA

CS

SP

Ввод ICW1

1

0

0

X

1

0

1

Ввод ICW2

1

0

1

X

1

0

1

Ввод ICW1

1

0

1

X

1

0

1

При загрузке в ПКП управляющего слова сигналы на управляющие входы должны быть выставлены в соответствии с таблицей истинности (табл. 13.2).

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

Формат управляющего слова для команды ICW2 показан на рис. 13.12.

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

Команда OCW1 отвечает за маскирование (запрет) прерываний на отдельных входах (IR0-IR7).

Команда OCW2 осуществляет циклический сдвиг приоритета запроса.

Команда OCW3 позволяет задать режим специального маскирования и режим опроса, а также произвести считывание состояния ПКП.

Рассмотрим команду OCW1. Команда управления операциями OCW1 осуществляет установку или сброс разрядов регистра маскирования ПКП. Установка значения 1 в некотором разряде регистра маскирования приводит к запрету прерывания по соответствующему входу. Формат управляющего слова команды OCW1 показан на рис. 13.13. После инициализации и настройки режима работы контроллер прерываний готов к работе.

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