Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора на печать.docx
Скачиваний:
26
Добавлен:
16.12.2018
Размер:
2.47 Mб
Скачать

35. Построение системы прерываний с несколькими контроллерами. Идентификация запроса прерываний.

СAS – локальная шина для идентификации ведомого контроллера

Форматы управляющих слов:

ICW1, A0=0

A7

A6

A5

1

0

1 – один Кпр

0 – несколько Кпр

1 – 4 байта

0 – 8 байт

0

ICW2, A0=1

A15

A14

A13

A12

A11

A10

A9

A8

Вычисляемый адрес перехода addr = base + 8∙n (4∙n),

addr 8 = A15 A14 … A6 n2 n1 n0 0 0 0, addr 4 = A15 A14 … A5 n2 n1 n0 0 0.

ICW3(а) для ведущего, A0=1

S7

S6

S5

S4

S3

S2

S1

S0

Sn = 1, если ко входу IRi присоединен ведомый КGр, 0 – присоединения нет.

ICW3(б) для ведомого, A0=1

0

0

0

0

0

ID2

ID1

ID0

36. Программирование контроллера прерываний. Назначение управляющих слов при инициализации контроллера и во время работы.

Инициализация для каждого контролера прерываний производится отдельно.

Регистры инструкций (для конфигурации системы прерываний и определения базового адреса таблицы прерываний): 1 – ICW1, 2 – ICW2, 3 – ICW3.

Регистры оперативного управляющего слова (назначение видов или режимов обработки запросов): 4 – OCW1, 5 – OCW2, 6 – OCW3.

IRR – регистр запросов

ISR – регистр обслуженных запросов

Доступны для записи регистры инструкций OCW и ICW. Доступны для чтения IRR, ISR, SW.

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

Форматы управляющих слов:

ICW1, A0=0

A7

A6

A5

1

0

1 – один Кпр

0 – несколько Кпр

1 – 4 байта

0 – 8 байт

0

ICW2, A0=1

A15

A14

A13

A12

A11

A10

A9

A8

Вычисляемый адрес перехода addr = base + 8∙n (4∙n),

addr 8 = A15 A14 … A6 n2 n1 n0 0 0 0, addr 4 = A15 A14 … A5 n2 n1 n0 0 0.

ICW3(а) для ведущего, A0=1

S7

S6

S5

S4

S3

S2

S1

S0

Sn = 1, если ко входу IRi присоединен ведомый КGр, 0 – присоединения нет.

ICW3(б) для ведомого, A0=1

0

0

0

0

0

ID2

ID1

ID0

Показывает номер входа ведущего Кпр.

Режимы обработки прерываний, которые можно выполнить с помощью контролера прерываний:

1) Векторные прерывания с фиксированным приоритетом.

2) Векторные прерывания с циклическим перераспределением приоритета – вся система приоритетов изменяется по кругу, притом обслуженный запрос получает самый низкий приоритет.

3) Векторные прерывания с адресуемым распределением приоритета – задается статус запроса низшего приоритета и относительно его выстраивается очередь запросов.

4) Приоритет по результату опроса (метод Полинга).

Программирование режимов работы:

OCW1 (задание маски)

M7

M6

M5

M4

M3

M2

M1

M0

Mi = 1 – разрешено i-ое прерывание, 0 – запрещено.

OCW2

R

SL

EOI

0

0

L2

L1

L0

L2-L0 – адрес запроса низшего приоритета.

R – указатель кругового приоритета.

SL – бит программной установки низшего приоритета.

EOI – бит конца прерывания (сброс ISR-бита обслуженного прерывания).

Примеры: 1).

0

0

1

0

0

*

*

*

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

2)

0

1

1

0

0

0

1

1

До: 5 6 7 0 1 2 3 4

После: 3 4 5 6 7 0 1 2

 возрастание приоритета

3.

1

0

1

0

0

*

*

*

Циклическая смена приоритетов.

До: 5 6 7 0 1 2 3 4

После: 6 7 0 1 2 3 4 5

 возрастание приоритета

OCW3

-

ESMM

SMM

0

1

P

1-метод Полинга

0-нет

ERIS

RIS

(режимы те же)

ESMM|SMM:

0*-нет операций

10–сбрасывается специальное маскирование

11–прерывания разрешены (обработка запросов по мере поступления)

ERIS|RIS

0*-нет операций

10-выбор ISR

11-выбор IRR

SW

I

Присутствие ЗПр

-

-

-

-

W2

W1

W0

номер ЗПр с высшим приоритетом