Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба прерывания / осн.Тех защ ПКП ВН59

.docx
Скачиваний:
0
Добавлен:
09.02.2024
Размер:
1.25 Mб
Скачать

Цель работы: познакомиться с системой прерываний ПЭВМ

Вариант задания к лабораторной работе

  1. Настроить КП на заданные типы прерываний (варианты смотри ниже). Учесть при этом, что в системе один КП и запрещен автоконец прерываний.

  2. Поработать, снимая «штору».

  3. Замаскировать заданные входы IRi.

  4. Поработать, снимая «штору».

  5. Размаскировать все входы.

  6. Изменить приоритеты входов, установив старший приоритет входу IRj.

  7. Поработать, снимая «штору».

Вариант

тип (пункт1)

замаскировать (пункт 3)

3

32-39

IR5

Перед началом работы все контроллеры должны быть настроены. Для этого на каждый ВН59 надо последовательно подать три или четыре команды инициализации (ICW1 – ICW4). Три команды подаются, если в системе один контроллер прерываний, четыре – если несколько. Если в системе несколько контроллеров, вначале настраивается MASTER, а затем SLAVE.

ICW1 передается при А0=0 и имеет формат

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

1

LTIM

0

SNGL

IC4

ICW2 передается при А0=1

D7

D6

D5

D4

D3

D2

D1

D0

T7

T6

T5

T4

T3

*

*

*

По сути дела, передавая контроллеру ICW2, мы задаем тип ножке IR0, причем этот тип всегда кратен восьми (0 или 8 или 16 …). Типы всех остальных ножек контроллер формирует автоматически, прибавляя к типу IR0 по единице. То есть, если у IR0 тип 8, то у IR1 тип 9, у IR2 тип 10 и так далее.

Например, хотим задать IR0 тип 16 (00010000 = 00010***)

ICW4 передается при А0=1 и обычно имеет формат

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

SFNM

0

0

AEOI

1

AEOI = 1 – автоматическое окончание прерываний (не нужна команда EOI). AEOI = 0 – обычное окончание прерываний (нужна команда EOI).

SFNM = 0 – обычный полно вложенный режим. SFNM = 1 - специальный полно вложенный режим.

После того как ВН59 настроен, все остальные настроечные слова он воспринимает как команды управления. Всего имеется три таких команды. Обычно их обозначают OCW1, OCW2 и OCW3.

OCW1 передается при А0 = 1. Если в i-ом разряде OCW1 стоит единица, вход IRi контроллера маскируется и запросы на этом входе ВН59 восприниматься не будут до тех пор, пока программист его не размаскирует.

Вывод: в ходе лабораторной работы научились настраивать контроллер прерываний маскировать выходы, снимать штору.

Ход работы

Запустили эмулятор, настроили нужное значения входа RD=1 для чтения данных. Выбрали из меню «Программирование КП» пункт «Команды настройки».

OCW1, OCW2 – входы управления, а ICW1, ICW2, ICW4 – входы для настройки контроллера.

Занесли данные в ICW:

A0=0

ICW1: 00010011

A0=1

ICW2: 00100000

A0=1

ICW4: 00000001

«Штора» на IRQ5. Выставили IRQ5=1 в регистре запросов на прерывания.

Нажали несколько раз на кнопку «Работа», пока не разблокируются регистры запросов на прерывания.

Занесли данные в OCW:

Выбрали из меню «Программирование КП» пункт «Команды управления» и OCW1.

Замаскировали IRQ5:00100000, для этого занесли в OCW1 данные:

A0=1

OCW1: 00100000

Выбрали из меню «Программирование КП» пункт «Команды управления» и OCW2.

Сняли «штору»:00100000, для этого занесли данные:

A0=0

OCW2: 00100000

Сняли маскировку:

A0=1

OCW1: 00000000

Вывод: в ходе лабораторной работы настроили КП для определенных типов прерываний, учитывая ограничения на один КП и запрет автоматического завершения прерываний. Изучили реакцию системы на работу с "шторкой". Замаскировали и размаскировали входы IRQi.

Соседние файлы в папке Лаба прерывания