close

Вход

Забыли?

вход по аккаунту

?

Otchet mps 3

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ЭЛЕКТРОННЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН
Отчет по лабораторной работе №3:
"Обработка прерываний на основе БВПП K1810ВН59A"
дисциплины: "Микропроцессорные системы".
Выполнил студент гр. ВМ-43Благушин В.Н. Проверил: Бакшаев А.М. 2003
Задание
- разработать программу инициализации ПКП для режимов фиксированных приоритетов, спецмаскирования и программного опроса;
- разработать текст пользовательской программы во время выполнения которой приходят запросы на прерывание IRQ;
- разработать также тексты подпрограмм обработки прерываний, во время выполнения которых также могут приходить запросы IRQ;
- выполнить исследования принципов обслуживания запросов для следующих дисциплин обслуживания прерываний:
1) фиксированных приоритетов;
2) специального маскирования;
3) циклического сдвига с использованием OCW2 формата RE по типу А;
4) циклического сдвига с использованием OCW2 формата RSE по типу В (L2-L0 = №ППОП + X);
5) программного опроса.
Таблица 1.1 - Вариант задания режимов Таблица 1.2 - Начальные адреса ППОП
ЗаданиеВариант 31 Фиксированные приоритеты2 СпецмаскированиеВедущая с PSV3 Сдвиг типа А4 Сдвиг типа BВедомая5 Программный опросi8080, шаг 8X для типа B4Ведомые на входы IRQ ведущей:2,5№ ко- Вариант 3Основ-мандыIRQCSIPная прог-рамма5
10
132
3
5,2000h000hППОП
0
1
2
3
4
5
6
7
3
4
2
5
4
6
4
5
586h
825h
279h
0DCh
000h
7A7h
AAAh
121h
110h
100h
040h
060h
080h
050h
070h
090h
Таблица 1.3 - Последовательность запросов IRQ
№ вариантаПоследовательность запросов IRQВариант 33,5; 7,2; 3,5; 3; 6; 2,0; 3; 0,2
Таблица 1.4 - Задание для режима прогр.опроса Таблица 1.5 - Режим работы (теоретич.часть).
Номер команды Номер командычтения СС ПКПпоступления IRQ4297121412Режим/вариант3Ведущая: режим
маска (IRQ)Спец.маскир.
6Ведомая: режим
маска (IRQ)По типу В
Теоретическая часть
1. Разработать функциональную схему каскадного включения БИС ПКП ВН59А для микропроцессора К1810ВМ86.
2. Привести программу инициализации ведущей и одной ведомой БИС с настройкой на режимы работы, заданные в таблице 1.5:
3. Привести фрагмент тексты ППОП для ведомой и ведущей БИС ПКП (начало и конец ППОП).
Листинги программ инициализации
1. Режим фиксированных приоритетов
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,00010011b │ 1 │00000000│UP=0 | одна | загр ICW4 │
│021│out 24h,al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00110000b │ 1 │00000000│Адрес C0h │
│023│out 25h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al,00001101b │ 1 │00000000│ │
│025│out 25h,al │ 1 │00000000│загрузка ICW4 │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
2. Режим специального маскирования (Ведущая с PSV)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,00010001b │ 1 │00000000│UP=0 | каскадн | загр ICW4 │
│021│out 24h,al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00110000b │ 1 │00000000│адрес IDT C0h │
│023│out 25h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al,00100100b │ 1 │00000000│ведомые на 2,5 │
│025│out 25h,al │ 1 │00000000│загрузка ICW3 │
│026│mov al,00011101b │ 1 │00000000│PSV=1 | AEOI=0 | i8086 │
│027│out 25h,al │ 1 │00000000│загрузка ICW4 │
│028│mov al,01101010b │ 1 │00000000│режим спецмаскирования │
│029│out 24h,al │ 1 │00000000│загрузка OCW3 │ └───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
3. Режим циклического сдвига по типу А
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,00010011b │ 1 │00000000│Фиксир. приоритеты │
│021│out 24h,al │ 1 │00000000│Загрузка ICW1 │
│022│mov al,00110000b │ 1 │00000000│Адрес C0h │
│023│out 25h,al │ 1 │00000000│Загрузка ICW2 │
│024│mov al,00001101b │ 1 │00000000│ │
│025│out 25h,al │ 1 │00000000│Загрузка ICW4 │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
4. Режим циклического сдвига по типу В (ведомая)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,00010001b │ 1 │00000000│UP=0 | каскад | ICW4 │
│021│out 24h,al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00110000b │ 1 │00000000│адрес IDT C0h │
│023│out 25h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al,00000010b │ 1 │00000000│CAS 2 │
│025│out 25h,al │ 1 │00000000│загрузка ICW3 │
│026│mov al,00000001b │ 1 │00000000│ведомый | i8086 │
│027│out 25h,al │ 1 │00000000│загрузка ICW4 │
│028│mov al,00001011b │ 1 │00000000│установить чтение ISR │
│029│out 24h,al │ 1 │00000000│загрузка OCW3 │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
5. Режим программного опроса (i8080, шаг 8)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,00010010b │ 1 │00000000│UP=0 | шаг 8 | одна БИС │
│021│out 24h,al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00000000b │ 1 │00000000│адрес IDT 0h │
│023│out 25h,al │ 1 │00000000│загрузка ICW2 │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
Подпрограммы обработки прерываний
1. Режим фиксированных приоритетов, ППОП 2
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│sti │ 1 │00000000│разрешить прерывания │
│041│push ax │ 1 │00000000│сохранение AL │
│042│nop │ 1 │00000000│обработчик │
│043│nop │ 1 │00000000│обработчик │
│044│nop │ 1 │00000000│обработчик │
│045│mov al,00100000b │ 1 │00000000│EOI | clear ISR │
│046│out 24h,al │ 1 │00000000│загрузка OCW2 │
│047│pop ax │ 1 │00000000│восстановление AL │
│048│iret │ 1 │00000000│ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
2. Режим специального маскирования (Ведущая с PSV)
ППОП 2 - ведомый
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│sti │ 1 │00000000│разрешить прерывания │
│041│push ax │ 1 │00000000│сохранение AL │
│042│nop │ 1 │00000000│обработчик │
│043│nop │ 1 │00000000│обработчик │
│044│nop │ 1 │00000000│обработчик │
│045│mov al,00100000b │ 1 │00000000│EOI | clr ISR │
│046│out 2Ah,al │ 1 │00000000│загрузка OCW2 во 2 ведомый │
│047│mov al,01100010b │ 1 │00000000│SEOI | clr ISR[2] │
│048│out 24h,al │ 1 │00000000│загрузка OCW2 │
│049│pop ax │ 1 │00000000│восстановление AL │
│04A│iret │ 1 │00000000│ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
ППОП 3 - ведущий
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│060│sti │ 1 │00000000│разрешить прерывания │
│061│push ax │ 1 │00000000│сохранение AL │
│062│nop │ 1 │00000000│обработчик │
│063│nop │ 1 │00000000│обработчик │
│064│nop │ 1 │00000000│обработчик │
│065│mov al,01100011b │ 1 │00000000│SEOI | clr ISR[3] │
│066│out 24h,al │ 1 │00000000│загрузка OCW2 │
│067│pop ax │ 1 │00000000│восстановление AL │
│068│iret │ 1 │00000000│ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
3. Режим циклического сдвига по типу А, ППОП 2
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│sti │ 1 │00000000│разрешить прерывания │
│041│push ax │ 1 │00000000│сохранение AL │
│042│nop │ 1 │00000000│обработчик │
│043│nop │ 1 │00000000│обработчик │
│044│nop │ 1 │00000000│обработчик │
│045│mov al,10100000b │ 1 │00000000│R-EOI | clear ISR │
│046│out 24h,al │ 1 │00000000│загрузка OCW2 │
│047│pop ax │ 1 │00000000│восстановление AL │
│048│iret │ 1 │00000000│ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
4. Режим циклического сдвига по типу В (ведомая), ППОП 2
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│sti │ 1 │00000000│разрешить прерывания │
│041│push ax │ 1 │00000000│сохранение AL │
│042│nop │ 1 │00000000│обработчик │
│043│nop │ 1 │00000000│обработчик │
│044│mov al,11100110b │ 1 │00000000│R | SEOI[6] | EOI |clr ISR │
│045│out 24h,al │ 1 │00000000│загрузка OCW2 в ведомый │
│046│in al,24h │ 1 │00000000│чтение ISR у ведомого │
│047│or al,00000000b │ 1 │00000000│ISR=0 ? │
│048│jnz 4Bh │ 1 │00000000│ │
│049│mov al,00000100b │ 1 │00000000│ │
│04A│out 1Eh,al │ 1 │00000000│загр OSW2 в ведущего │
│04B│pop ax │ 1 │00000000│восстановить AL │
│04C│iret │ 1 │00000000│ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
5. Режим программного опроса - ППОП 2 ┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│pushf │ 1 │00000000│сохранение СС │
│041│push ax │ 1 │00000000│сохранение AL │
│042│nop │ 1 │00000000│обработчик │
│043│nop │ 1 │00000000│обработчик │
│044│nop │ 1 │00000000│обработчик │
│045│mov al,00100000b │ 1 │00000000│EOI | clear ISR │
│046│out 24h,al │ 1 │00000000│загрузка OCW2 │
│047│pop ax │ 1 │00000000│восстановление AL │
│048│popf │ 1 │00000000│восстановление СС │
│049│retf │ 1 │00000000│ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
- ПП чтения слова состояния ПКП
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│030│mov al,00001100b │ 1 │00000000│режим программного опроса │
│031│out 24h,al │ 1 │00000000│загрузка OCW3 │
│032│in al,24h │ 1 │00000000│чтение СС │
│033│or al,al │ 1 │00000000│ │
│034│jns 38h │ 1 │00000000│не было прерываний │
│035│and al,00000111b │ 1 │00000000│выделение вектора │
│036│or al,00110000b │ 1 │00000000│ │
│037│callidt │ 1 │00000000│обработка прерывания │
│038│ret │ 1 │00000000│ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
Графики вложенности
1. Режим фиксированных приоритетов
2. Режим специального маскирования (ведущая с PSV)
3. Режим циклического сдвига по типу А
4. Режим циклического сдвига по типу В (ведомая)
5. Режим программного опроса (i8080, шаг 8) Выводы
В зависимости от времени поступления запросов и их приоритетов обработка для режимов происходит следующим образом:
- фиксированные приоритеты - запросы с меньшим приоритетом поступают в обработку только при отсутствии запросов с большим приоритетом в очереди или в обработке (за исключением режима разрешения приоритета ведомого для IRQ ведомых), а обработка прерывания с меньшим приоритетом может быть прервана запросом с большим;
- специальное маскирование - любой запрос поступает в обработку за исключением случаев, когда запрос с данным приоритетом уже находится в обработке (кроме режима разрешения приоритета ведомого для IRQ ведомых, когда в ведущей БИС разрешены многократные прерывания от одной ведомой, если прерывания ведомой БИС не находятся в обработке);
- сдвиг типа А - запросы поступают в обработку только в случае, если относительно дна приоритетного кольца нет запросов с большим приоритетом и прерываний в обработке с большим или равным приоритетами (для обработки - за исключением режима разрешения приоритета ведомого);
- сдвиг типа В - аналогично режиму сдвиг типа А, разница заключается в методах установки дна приоритетного кольца;
- программный опрос - запросы поступают на обработку в соответствии с установленным программистом режимом.
Теоретическая часть
1. Функциональная схема каскадного включения БИС ПКП ВН59А для микропроцессора К1810ВМ86.
2. Программы инициализации ведущей и ведомой БИС
- ведущая (режим специального маскирования, порт 24h, ведомая на IRQ 2, маска на IRQ 6)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,00010001b │ 1 │00000000│UP=0 | каскадн | загр ICW4 │
│021│out 24h,al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00110000b │ 1 │00000000│адрес IDT C0h │
│023│out 25h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al,00000100b │ 1 │00000000│ведомая на 2 │
│025│out 25h,al │ 1 │00000000│загрузка ICW3 │
│026│mov al,00011101b │ 1 │00000000│PSV=1 | AEOI=0 | i8086 │
│027│out 25h,al │ 1 │00000000│загрузка ICW4 │
│028│mov al,01101010b │ 1 │00000000│режим спецмаскирования │
│029│out 24h,al │ 1 │00000000│загрузка OCW3 │ │02A│mov al,01000000b │ 1 │00000000│маскирование 6го прерывания │
│02B│out 25h,al │ 1 │00000000│загрузка OCW1 │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
- ведомая (режим сдвига по типу В, порт 30h)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,00010001b │ 1 │00000000│UP=0 | каскад | ICW4 │
│021│out 30h,al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00110000b │ 1 │00000000│адрес IDT C0h │
│023│out 31h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al,00000010b │ 1 │00000000│CAS 2 │
│025│out 31h,al │ 1 │00000000│загрузка ICW3 │
│026│mov al,00000001b │ 1 │00000000│ведомый | i8086 │
│027│out 31h,al │ 1 │00000000│загрузка ICW4 │
│028│mov al,00001011b │ 1 │00000000│установить чтение ISR │
│029│out 30h,al │ 1 │00000000│загрузка OCW3 │ └───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
3. ППОП ведущей и ведомой БИС
- ППОП 7,5-3,1-0 ведущей (режим спец. маскирования, порт 24h, ведомая на IRQ 2, маска на IRQ 6)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│060│sti │ 1 │00000000│разрешить прерывания │
│061│push ax │ 1 │00000000│сохранение AL │
│062│nop │ 1 │00000000│обработчик │
│063│nop │ 1 │00000000│обработчик │
│064│nop │ 1 │00000000│обработчик │
│065│mov al,01100xxxb │ 1 │00000000│SEOI | clr ISR[x] │
│066│out 24h,al │ 1 │00000000│загрузка OCW2 │
│067│pop ax │ 1 │00000000│восстановление AL │
│068│iret │ 1 │00000000│ │
└───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
- ППОП ведомой (режим сдвига по типу В, порт 30h)
┌───┬──────────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│sti │ 1 │00000000│разрешить прерывания │
│041│push ax │ 1 │00000000│сохранение AL │
│042│nop │ 1 │00000000│обработчик │
│043│nop │ 1 │00000000│обработчик │
│044│mov al,11100xxxb │ 1 │00000000│R | SEOI[x] | EOI |clr ISR │
│045│out 30h,al │ 1 │00000000│загрузка OCW2 в ведомый │
│046│in al,30h │ 1 │00000000│чтение ISR у ведомого │
│047│or al,0 │ 1 │00000000│ISR=0 ? │
│048│jnz 4Bh │ 1 │00000000│ │
│049│mov al,00000100b │ 1 │00000000│ │
│04A│out 24h,al │ 1 │00000000│загр OSW2 в ведущего │
│04B│pop ax │ 1 │00000000│восстановить AL │
│04C│iret │ 1 │00000000│ │ └───┴──────────────────────────────┴─────┴────────┴──────────────────────────────┘
Документ
Категория
Рефераты
Просмотров
19
Размер файла
413 Кб
Теги
mps, otchet
1/--страниц
Пожаловаться на содержимое документа