- •1 Введение
- •3 Вида мп:
- •Структурная схема трех-магистральной микроЭвм
- •2 Структурная схема мп
- •Регистры мп:
- •Устройство управления (уу)
- •Работа управляющего автомата. Цикл и такт
- •Работа первичного автомата
- •3 Способы адресации. Форматы команд
- •Форматы команд
- •Формирование кода команды на примере команд пересылки
- •Система команд
- •4 Ассемблер в системе команд 8-разрядного мп
- •5 Организация шин микроЭвм
- •Системный контроллер вк 28, вк 38
- •Генератор тактовых импульсов (гти)
- •6 Организация интерфейса ввода-вывода
- •Программируемый параллельный адаптер (ппа) ик 55
- •7 Контроллер прямого доступа в память (кпдп) (dma) ик 57
- •2 Типа работы:
- •8 Программируемый контроллер прерывания (пкп) вн 59
- •9 Программный интервальный таймер
8 Программируемый контроллер прерывания (пкп) вн 59
МП имеет 1 вход запроса прерываний. А внешних устройств много и прерывания возникают в разные моменты времени. ПКП формирует адрес подпрограммы обработки прерывания и код команды CALL.
Позволяет обслуживать до 8 запросов на прерывание. При соединении в каскадную схему – до 64 запросов на прерывание.
БШД – буфер шины данных. 8 разрядов
А0 – младший разряд ША. Задает режим функционирования ПКП
ВДН – сигнал ведущий – ведомый
УСИ – управляющее слово инициализации УСО – управляющее слово обмена
Формирование кода команды САLL и сигнала прерывания происходит схемой управления
РЗПР – регистр запроса прерывания. Фиксация прерываний
РМЗПР – регистр маски запроса прерывания и логика управления приоритетами. Обеспечивает запрещение одной или нескольких линий запросов прерывания.
РОЗПР – регистр обслуживания запроса на прерывание.
ПР – сигнал прерывания – к внешнему устройству
ППР – подтверждение прерывания от внешнего устройства
Физический адрес должен быть четным (0 – УСИ, 1 - УСО)
Режимы работы ПКП: (зависят от приоритетов)
Векторное прерывание с установленным типом приоритета – наивысший приоритет имеет 0-й запрос на прерывание. Наименьший – у 7-го.
Векторное прерывание с циклическим типом приоритета – запрос, который обслужился, встает в конец очереди, очередь продвигается – для равномерного обслуживания запросов.
Векторное прерывание с адресуемым типом приоритета – программным путем можно выставить любой запрос к конец очереди. Очередь продвинется.
Векторное прерывание по опросу – очередь выставляется по мере появления запросов
При обслуживании прерываний по запросу от внешних устройств выполняется следующая последовательность операций:
Запросы прерывания поступают на входы ЗПР0 – ЗПР7 и устанавливают соответствующие разряды РЗПР
ПКП принимает запросы, оценивают их приоритеты и формирует сигнал прерывания INT
МП принимает сигнал INT, если прерывания разрешены, и подтверждает прием выдачей сигнала INTA
После получения сигнала INTA ПКП устанавливает разряд регистра РОЗПР, соответствующий запросу с наивысшим приоритетом, сбрасывает соответствующий разряд и выдает на ШД код команды CALL
МП выдает еще два сигнала INTA, которые позволяют ПКП передать на шину данных 16-разрядный адрес подпрограммы обслуживания прерывания, причем младший байт адреса передается по первому сигналу INTA, а старший – по второму.
При обслуживании прерываний по опросу МП производит считывание кода номера запроса с высшим уровнем приоритета по сигналу Чт
Управляющее слово инициализации (УСИ)
-
A0
D7
D6
D5
D4
D3
D2
D1
D0
УСИ 1
0
A7
A6
A5
1
0
Ф
Е
0
Е = 1 – 1 ПКП в системе Е = 0 – много ПКП в системе
Ф – формат – для каждого запрета прерывания отводится 4 или 8 байт, в которые записываются команды передачи управления. Ф = 1 – интервал 4 байта Ф = 0 – 8 байт
А7…А5 – разряды младшего байта адреса команды CALL
-
A0
D7
D6
D5
D4
D3
D2
D1
D0
УСИ 2
1
А15
А14
А13
А12
А11
А10
А9
А8
Старший байт начального адреса команды CALL.
Адреса находятся путем сдвига на 4 или 8 байт базового адреса ЗПР 0.
УСИ 3 – используется для каскадного включения
-
A0
D7
D6
D5
D4
D3
D2
D1
D0
УСИ 3а
1
V7
V6
V5
V4
V3
V2
V1
V0
Для ведущего контроллера. Если разряд установлен в 1 – имеет ведомые контроллеры на соответствующем порте.
-
A0
D7
D6
D5
D4
D3
D2
D1
D0
УСИ 3б
1
A7
A6
A5
1
0
Ф
Е
0
Для ведомого контроллера. D2…D0 задается двоично-десятичный код ведомого ПКП в системе. Может иметь номер от 0 до 7.
Управляющее слово обмена (УСО) подается в программе
-
A0
D7
D6
D5
D4
D3
D2
D1
D0
УСО 1
1
М7
М6
М5
М4
М3
М2
М1
М0
Задание маски. Если 1 поставлен в соответствующий разряд, то сигнал маскируется. Запросы с низкими приоритетами обслуживаются, но только те, которые попадают в РОЗПР.
Наложением и сбросом маски можно управлять запросами программным путем.
-
A0
D7
D6
D5
D4
D3
D2
D1
D0
УСО 2
0
Ц
СКП
КП
0
0
АР2
АР1
АР0
УСО 2 заканчивает программу обслуживания прерывания.
АР2…АР0 – адрес сбрасываемого разряда ПКП в РОЗПР.
КП – конец прерывания. Сброс разряда РОЗПР с максимальным приоритетом.
СКП – специальный конец прерывания. Если 1, то используется поле младших разрядов.
Ц – циклический приоритет.
-
A0
D7
D6
D5
D4
D3
D2
D1
D0
УСО 3
0
Х
СМУ
СМ
0
1
ОП
ЧТР
ОЗПР
D6 и D5 управляют специальным маскированием.
-
D6
D5
0
Х
- специальное маскирование не разрешено
1
1
- установить специальную маску
1
0
- сбросить специальную маску
D2 – ОП – режим опроса. 0 – нет опроса.
D1 и D0 – управляют чтением регистра (ЧТР) и обслуживанием запроса прерывания (ОЗПР)
-
D1
D0
0
Х
- запрет чтения регистра
1
1
- считывается РОЗПР
1
0
- считывается РЗПР
Схема каскадирования (3 контроллера – 22 прерывания) 8 * 3 = 24 – 2 (ЗПР6 и ЗПР7)
|
ВДН – сигнал ведущий – ведомый. КАС – шина каскадирования ШД – шина данных ЗПР – запрос прерывания ПР - прерывание
Если ЗПР поступают на ведущий, то каскадная схема работает как одиночный ПКП Если ЗПР поступает на ведомый контроллер, ведущий по сигналу INTA выдает на ШД код команды CALL, а на шины КАС0-КАС7 – код номера ведомого ПКП. С приходом сторого и третьего сигналов INTA адрес подпрограммы обслуживания на шину данных выдает выбранный по коду на шинах КАС0-КАС2 ведомый ПКП. |
По сигналу подтверждения прерывания (на ведущий) на шину каскадирования он выставляем номер ведомого обратившегося контроллера. Ведомый выставляем младший байт адреса, а затем и старший.