close

Вход

Забыли?

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

?

Laba3mpsmy

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Факультет автоматики и вычислительной техники
Кафедра "Электронные вычислительные машины"
Исследование системы прерываний на основе контроллера прерываний K1810BH59A для микропроцессоров K580BM80 и K1810BM86
Отчёт
Лабораторная работа №3 по дисциплине
"Микропроцессорные системы"
Вариант - 5
Выполнил студент группы ВМ-43_____________________/Дудин С. Л./
Проверил _____________________/Томчук М.Н./
Киров 2005
1 Задание на лабораторную работу
* разработать программу инициализации ПКП для режимов фиксированных приоритетов, спецмаскирования и программного опроса;
* разработать текст пользовательской программы, во время выполнения которой приходят запросы на прерывание IRQ;
* разработать также тексты подпрограмм обработки прерываний, во время выполнения которых также могут приходить запросы IRQ;
* выполнить исследования принципов обслуживания запросов для следующих дисциплин обслуживания прерываний:
* фиксированных приоритетов;
* специального маскирования;
* циклического сдвига с использованием OCW2 формата RE по типу А;
* циклического сдвига с использованием OCW2 формата RSE по типу В (L2-L0 = №ППОП + X);
* программного опроса.
В таблице 1 указан вариант задания режимов.
Таблица 1 - Вариант задания режимов
фиксированный приоритетi8080, шаг 4спецмаскированиеВедомаясдвиг типа Асдвиг типа BВедущая с PSVпрограммного опросX для типа B4Ведомые на входы IRQ ведущей:6, 3 В таблице 2 приведены начальные адреса ППОП.
Таблица 2 - Начальные адреса ППОП
№IRQCSIPОП4
11
185
7, 4
1000h000hППОП03BF9h050h13425h090h24512h110h32630h120h41846h100h56FFFh080h63058h070h74777h060h В таблице 3 приведена последовательность запросов.
Таблица 3 - Последовательность запросов
5, 67,30,5463,130,2 В таблице 4 приведены параметры для режима программного опроса.
Таблица 4 - Параметры для режима программного опроса
№ командыЧтение СС ПКППоступление IRQ4591291414 2 Листинги программ инициализации
2.1 Режим фиксированных приоритетов
┌───┬────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,00010001b │ 1 │00000000│ │
│021│out 38h, al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00000000b │ 1 │00000000│адрес IDT 000h │
│023│out 39h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al,00000110b │ 1 │00000000│ │
│025│out 39h,al │ 1 │00000000│загрузка ICW3 │
│026│mov al, 00011101b │ 1 │00000000│ │
│027│out 39h,al │ 1 │00000000│загрузка ICW4 │
│028│ret │ 1 │00000000│ │
│029│ │ │ │ │
└───┴────────────────────────┴─────┴────────┴──────────────────────────────┘
2.2 Режим специального маскирования
┌───┬─────────────────────────┬─────┬────────┬─────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼─────────────────────────┼─────┼────────┼─────────────────────────────┤
│020│mov al,00010011b │ 1 │00000000│ │
│021│out 38h, al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00000000b │ 1 │00000000│адрес IDT 000h │
│023│out 39h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al, 00001101b │ 1 │00000000│ │
│025│out 38h,al │ 1 │00000000│загрузка ICW4 │
│026│mov al, 01101000b │ 1 │00000000│ │
│027│out 38h,al │ 1 │00000000│загрузка OCW3 │
│028│ret │ 1 │00000000│ │
│029│ │ │ │ │
└───┴─────────────────────────┴─────┴────────┴─────────────────────────────┘
2.3 Режим циклического сдвига по типу А
┌───┬──────────────────────────┬─────┬────────┬────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────┼─────┼────────┼────────────────────────────┤
│020│mov al,00010011b │ 1 │00000000│ │
│021│out 38h, al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00000000b │ 1 │00000000│адрес IDT 000h │
│023│out 39h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al, 00001101b │ 1 │00000000│ │
│025│out 39h,al │ 1 │00000000│загрузка ICW4 │
│026│ret │ 1 │00000000│ │
│027│ │ │ │ │
└───┴──────────────────────────┴─────┴────────┴────────────────────────────┘
2.4 Режим циклического сдвига по типу В
┌───┬────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,10110101b │ 1 │00000000│ │
│021│out 38h, al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00000000b │ 1 │00000000│старший байт адреса │
│023│out 39h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al,00000000b │ 1 │00000000│ │
│025│out 39h, al │ 1 │00000000│загрузка ICW3 │
│026│mov al, 00010101b │ 1 │00000000│ │
│027│out 39h,al │ 1 │00000000│загрузка ICW4 │
│028│mov al, 01001011b │ 1 │00000000│ │
│029│out 38h, al │ 1 │00000000│загрузка OCW3 │
│02A│ret │ 1 │00000000│ │
└───┴────────────────────────┴─────┴────────┴──────────────────────────────┘
2.5 Режим программного опроса
┌───┬─────────────────────────┬─────┬────────┬─────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼─────────────────────────┼─────┼────────┼─────────────────────────────┤
│020│mov al,00010011b │ 1 │00000000│ │
│021│out 38h, al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00000000b │ 1 │00000000│адрес IDT 000h │
│023│out 39h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al, 00001101b │ 1 │00000000│ │
│025│out 39h,al │ 1 │00000000│загрузка ICW4 │
│026│ret │ 1 │00000000│ │
│027│ │ │ │ │
└───┴─────────────────────────┴─────┴────────┴─────────────────────────────┘
3 Листинги ППОП
3.1 Режим фиксированных приоритетов
┌───┬────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│push ax │ 1 │00000000│ППОП №3 │
│041│sti │ 1 │00000000│ │
│042│dec ax │ 1 │00000000│ │
│043│inc ax │ 1 │00000000│ │
│044│cmp ax,10h │ 1 │00000000│ │
│045│dec ax │ 1 │00000000│ │
│046│inc ax │ 1 │00000000│ │
│047│cmp ax,5h │ 1 │00000000│ │
│048│mov al,00100000b │ 1 │00000000│сброс бита в ISR │
│049│out 38h,al │ 1 │00000000│загрузка OCW2 │
│04A│pop ax │ 1 │00000000│ │
│04B│iret │ 1 │00000000│ │
└───┴────────────────────────┴─────┴────────┴──────────────────────────────┘
3.2 Режим спецмаскирования
┌───┬─────────────────────────┬─────┬────────┬─────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼─────────────────────────┼─────┼────────┼─────────────────────────────┤
│040│push ax │ 1 │00000000│ППОП №3 │
│041│sti │ 1 │00000000│ │
│042│dec ax │ 1 │00000000│ │
│043│inc ax │ 1 │00000000│ │
│044│cmp ax,10h │ 1 │00000000│ │
│045│dec ax │ 1 │00000000│ │
│046│inc ax │ 1 │00000000│ │
│047│cmp ax,5h │ 1 │00000000│ │
│048│cli │ 1 │00000000│ │
│049│mov al,01100011b │ 1 │00000000│сброс бита в ISR │
│04A│out 38h,al │ 1 │00000000│загрузка OCW2 │
│04B│pop ax │ 1 │00000000│ │
│04C│iret │ 1 │00000000│ │
└───┴─────────────────────────┴─────┴────────┴─────────────────────────────┘
3.3 Режим циклического сдвига по типу А
┌───┬──────────────────────────┬─────┬────────┬─────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────┼─────┼────────┼─────────────────────────────┤
│040│push ax │ 1 │00000000│ППОП №3 │
│041│sti │ 1 │00000000│ │
│042│dec ax │ 1 │00000000│ │
│043│inc ax │ 1 │00000000│ │
│044│cmp ax,10h │ 1 │00000000│ │
│045│dec ax │ 1 │00000000│ │
│046│inc ax │ 1 │00000000│ │
│047│cli │ 1 │00000000│ │
│048│mov al,10100000b │ 1 │00000000│сброс бита в ISR │
│049│out 38h,al │ 1 │00000000│загрузка OCW2 │
│04A│pop ax │ 1 │00000000│ │
│04B│iret │ 1 │00000000│ │
└───┴──────────────────────────┴─────┴────────┴─────────────────────────────┘
3.4 Режим циклического сдвига по типу В
3.4.1 Таблица переходов к ППОП
┌───┬──────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────┼─────┼────────┼──────────────────────────────┤
│0A0│jmp 0070h │ 1 │00000000│ППОП 0 │
│0A1│ │ │ │ │
│0A2│ │ │ │ │
│0A3│ │ │ │ │
│0A4│jmp 0100h │ 1 │00000000│ППОП 1 │
│0A5│ │ │ │ │
│0A6│ │ │ │ │
│0A7│ │ │ │ │
│0A8│jmp 0120h │ 1 │00000000│ППОП 2 │
│0A9│ │ │ │ │
│0AA│ │ │ │ │
│0AB│ │ │ │ │
│0AC│jmp 0040h │ 1 │00000000│ППОП 3 │
│0AD│ │ │ │ │
│0AE│ │ │ │ │
│0AF│ │ │ │ │
│0B0│jmp 0090h │ 1 │00000000│ППОП 4 │
│0B1│ │ │ │ │
│0B2│ │ │ │ │
│0B3│ │ │ │ │
│0B4│jmp 0080h │ 1 │00000000│ППОП 5 │
│0B5│ │ │ │ │
│0B6│ │ │ │ │
│0B7│ │ │ │ │
│0B8│jmp 0050h │ 1 │00000000│ППОП 6 │
│0B9│ │ │ │ │
│0BA│ │ │ │ │
│0BB│ │ │ │ │
│0BC│jmp 0060h │ 1 │00000000│ППОП 7 │
└───┴──────────────────────────┴─────┴────────┴──────────────────────────────┘
3.4.2 ППОП
┌───┬──────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼──────────────────────────┼─────┼────────┼──────────────────────────────┤
│050│push ax │ 1 │00000000│ППОП №0 │051│cli │ 1 │00000000│ │052│sti │ 1 │00000000│ │053│nop │ 1 │00000000│ │054│nop │ 1 │00000000│ │055│cli │ 1 │00000000│ │056│call B7h │ 1 │00000000│ │057│nop │ 1 │00000000│ │058│mov bl,00000001b │ 1 │00000000│ │059│mov cx,0003h │ 1 │00000000│ │05A│nop │ 1 │00000000│ │05B│and al,11110111b │ 1 │00000000│ │05C│out 35h,al │ 1 │00000000│ │05D│sti │ 1 │00000000│ │05E│pop ax │ 1 │00000000│ │05F│iret │ 1 │00000000│ │0B7│call A8h │ 1 │00000000│ │0B8│mov cx,0003h │ 1 │00000000│ │0B9│call AEh │ 1 │00000000│ │0BA│or al,00001000b │ 1 │00000000│ │0BB│out 35h,al │ 1 │00000000│ │0BC│ret │ 1 │00000000│ │0A8│mov al,11000100b │ 1 │00000000│OCW2 для приор. кольца 0+4 │0A9│out 34h,al │ 1 │00000000│ │0AA│mov al,01100000b │ 1 │00000000│сброс 0 бита │0AB│out 34h,al │ 1 │00000000│ │0AC│ret │ 1 │00000000│ │0AE│mov al,00001011b │ 1 │00000000│OCW3 │0AF│out 34h,al │ 1 │00000000│ │0B0│in al,35h │ 1 │00000000│ │0B1│and al, 10110111b │ 1 │00000000│ │0B2│xor ah,ah │ 1 │00000000│ │0B3│shl ax,cl │ 1 │00000000│ │0B4│or al,ah │ 1 │00000000│ │0B5│ret │ 1 │00000000│ └───┴─────────────-
3.5 Режим программного опроса
3.5.1 Подпрограмма формирования адреса перехода на ППОП
┌───┬─────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼─────────────────────────┼─────┼────────┼──────────────────────────────┤
│030│pushf │ 1 │00000000│чтение СС ПКП │
│031│push ax │ 1 │00000000│ │
│032│mov al, 01001110b │ 1 │00000000│OCW3 - уст. прог. опрос │
│033│out 38h, al │ 1 │00000000│ │
│034│in al, 38h │ 1 │00000000│чт. СС ПКП │
│035│test al, 80h │ 1 │00000000│ │
│036│jz 39h │ 1 │00000000│ │
│037│and al, 07h │ 1 │00000000│ │
│038│callidt │ 1 │00000000│ │
│039│pop ax │ 1 │00000000│ │
│03A│popf │ 1 │00000000│ │
│03B│ret │ 1 │00000000│ │
└───┴─────────────────────────┴─────┴────────┴──────────────────────────────┘
3.5.2 ППОП
┌───┬─────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼─────────────────────────┼─────┼────────┼──────────────────────────────┤
│040│push ax │ 1 │00000000│ППОП №3 │
│041│nop │ 1 │00000000│ │
│042│dec ax │ 1 │00000000│ │
│043│inc ax │ 1 │00000000│ │
│044│cmp ax,10h │ 1 │00000000│ │
│045│dec ax │ 1 │00000000│ │
│046│inc ax │ 1 │00000000│ │
│047│nop │ 1 │00000000│ │
│048│mov al,10100000b │ 1 │00000000│сброс бита в ISR │
│049│out 38h,al │ 1 │00000000│загрузка OCW2 │
│04A│pop ax │ 1 │00000000│ │
│04B│retf │ 1 │00000000│ │
└───┴─────────────────────────┴─────┴────────┴──────────────────────────────┘
4 Графики вложенности обработки последовательности запросов
4.1 Режим фиксированных приоритетов
4.2 Режим спецмаскирования
4.3 Режим циклического сдвига по типу А
4.4 Режим циклического сдвига по типу В
4.5 Режим программного опроса
5 Теоретическая часть
Разработать функциональную схему каскадного включения БИС ПКП ВН59А для микропроцессора К1810ВМ86, вариант задания приведён в таблице 5.1. Привести программу инициализации ведущей и одной ведомой БИС с настройкой на заданный режим.
Таблица 5.1 - 18 вариант задания
Ведущаярежимсдвиг по типу Вмаска (IRQ)4ВедомаярежимБез вложенностимаска (IRQ) Ни рисунке 5.1 приведена функциональная схема каскадного включения БИС ПКП ВН59А.
Рисунок 5.1 - Функциональная схема каскадного включения БИС ПКП ВН59А
5.1 Программа инициализации ведущей БИС
┌───┬────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼────────────────────────┼─────┼────────┼──────────────────────────────┤
│020│mov al,10110101b │ 1 │00000000│ │
│021│out 38h, al │ 1 │00000000│загрузка ICW1 │
│022│mov al,00000000b │ 1 │00000000│старший байт адреса │
│023│out 39h,al │ 1 │00000000│загрузка ICW2 │
│024│mov al,01000100b │ 1 │00000000│ │
│025│out 39h, al │ 1 │00000000│загрузка ICW3 │
│026│mov al, 00011101b │ 1 │00000000│ │
│027│out 39h,al │ 1 │00000000│загрузка ICW4 │
│028│mov al, 01001011b │ 1 │00000000│ │
│029│out 38h, al │ 1 │00000000│загрузка OCW3 │
│02A│ret │ 1 │00000000│ │
└───┴────────────────────────┴─────┴────────┴──────────────────────────────┘
5.2 Программа инициализации одной из ведомых БИС
┌───┬────────────────────────┬─────┬────────┬──────────────────────────────┐
│ N%│ Команда │^INTA│ IRQ7-0 │ Комментарии │
├───┼────────────────────────┼─────┼────────┼──────────────────────────────┤
│050│mov al,10110101b │ 1 │00000000│ │
│051│out 38h, al │ 1 │00000000│загрузка ICW1 │
│052│mov al,00000000b │ 1 │00000000│старший байт адреса │
│053│out 39h,al │ 1 │00000000│загрузка ICW2 │
│054│mov al,00000110b │ 1 │00000000│ │
│055│out 39h, al │ 1 │00000000│загрузка ICW3 │
│056│mov al, 00001001b │ 1 │00000000│ │
│057│out 39h,al │ 1 │00000000│загрузка ICW4 │
│058│mov al, 01001011b │ 1 │00000000│ │
│059│out 38h, al │ 1 │00000000│загрузка OCW3 │
│05A│ret │ 1 │00000000│ │
└───┴────────────────────────┴─────┴────────┴──────────────────────────────┘
6 Выводы по лабораторной работе
а) в режимах фиксированных приоритетов, спецмаскирования приоритеты входов запросов на прерывание не меняются во время работы, а в режиме циклического сдвига приоритетов приоритеты изменяются: по типу А - после завершения выполнения текущей ППОП низший приоритет присваивается номеру запроса на прерывание, завершившего обслуживание, по типу В - номеру запроса на прерывание, установленного программистом;
б) в режимах фиксированных приоритетов и циклических сдвигов во время выполнения ППОП вновь поступившие запросы на прерывание смогут прервать выполнение ППОП, если эти запросы имеют более высокий приоритет по сравнению текущим обрабатываемым запросом; а в режиме спецмаскирования ППОП будут прерывать только те запросы, которые еще не находятся в обработке (не замаскированы);
в) во всех режимах при одновременном поступлении нескольких запросов на прерывание обрабатывается запрос с более высоким приоритетом, также он не должен быть замаскирован (для режима спецмаскирования);
г) в режиме программного опроса определение источника прерывания выполняется непосредственно программистом путем последовательного опроса источников запроса на прерывание многократной загрузкой управляющего слова OCW3 и чтением в МПР СС ПКП;
д) при каскадном включении нужно устанавливать режим строгого упорядочения приоритетов, при этом необходимо учитывать, что разрешается прием нового запроса, только что принятого на обработку, поэтому те входы ведущей БИС, к которым не подключены ведомые БИС, должны маскироваться в начале ППОП и размаскироваться при выходе из ППОП;
е) для ведомых БИС при каскадном включении после сброса бита в регистре ISR ведомой нужно анализировать этот регистр, и при равенстве его нулю сбрасывать соответствующий бит в ISR ведущей.
2
Документ
Категория
Рефераты
Просмотров
16
Размер файла
356 Кб
Теги
laba3mpsmy
1/--страниц
Пожаловаться на содержимое документа