Структура и элементная база цифровых систем. Реализуемая логическая функция. Нагрузочная способность, страница 36

Для реализации режима прерывания в МПС включаются специальные устройства – контроллеры прерываний (КПР), которые выдают в МП команду (RST или CALL), вызывающую программу обработки прерывания.


   При поступлении запроса ЗПi схема управления КПР  вырабатывает запрос прерывания ЗПР = 1, поступающий в МП. Если прерывание разрешено, после выполнения очередной команды МП выдает в КПР сигнал подтверждения прерывания ППР = 0. Получив его, КПР выдает в МП команду CALL. Выполняя эту команду, МП еще дважды вырабатывает ППР = 0, по которым получает от КПР два байта адреса первой команды программы обработки прерывания и переходит к ее выполнению. Адрес формируется из содержимого регистров УС1 и УС2,причем в зависимости от длины программы в двух или трех младших разрядах адреса содержатся нули, так как  обычно эта программа содержит от 4-х до 8 – ми команд. В регистре обслуживания запросов устанавливается в «1» триггер, соответствующий данному прерыванию.

Если при обработке прерывания поступает другой запрос, то анализатор приоритетов сравнивает приоритет поступившего запроса с обрабатываемым и, если приоритет поступившего запроса выше, прерывает программу обработки после чего запускается программа обработки нового прерывания. Обслуживание запроса может быть запрещено установкой в «1» разряда регистра маски, каждый из 8 –ми разрядов которой соответствует одному из запросов.

Программирование КПР производится путем записи в соответствующие регистры БУ управляющих и командных слов, задающих адрес начала программы обработки прерываний, приоритеты запросов и маску прерываний. Если в контроллере реализовано векторное прерывание, то каждому прерыванию соответствует свой адрес начала программы обработки прерываний.

Для обслуживания большего количества запросов предусмотрено каскадирование КПР. При этом запросы, формируемые на любом из КПР, поступают на ведущий КПР, который и вырабатывает запрос на прерывание к МП. Ведущий КПР определяется установкой сигнала «1» на входе КВ.

Вариант совместной работы КПР определяется управляющим словом УС3, которое вводится в каждый КПР.

Командные слова КС1, КС2, и КС3 используются для установки и изменения приоритетов запросов на прерывание в процессе работы МПС. Например, может быть установлен циклический приоритет, при котором каждый обслуженный запрос получает низший приоритет, т.е. ставится в конец очереди на обслуживание.


      Таким образом, КПР позволяет реализовать различные варианты  обслуживания запросов ВУ, причем эти варианты могут оперативно меняться в процессе работы МПС

Контроллер прямого доступа к памяти (КПД)

Таблица формирования сигналов записи в регистры БУ при программировании контроллера


ЧтВУ

ЗпВУ

А3

А2

А1

А0

Выполняемая функция

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

0

1

0

1

0

1

0

1

0

0

Шина Д  на РА1

Шина Д на РС1, РР1

Шина Д на РА2

Шина Д на РС2, РР2

Шина Д на РА3

Шина Д на РС3, РР3

Шина Д на РА4

Шина Д на РС4, РР4

Шина Д на рег. УС

СС на шину Д


При программировании КПД в управляющем слове, размещаемом в БУ, содержатся маска запросов и приоритеты обслуживания запросов. Помимо управляющего слова МП заносит в каждый из БОЗ КПД содержимое РА, РС и РР. Адресация регистров в этом случае производится разрядами А0 и А1. С помощью команды IN МП  может считать слово состояния, показывающее результаты обмена (окончание обмена, наличие ошибок).