Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pu / конспект лекций11.docx
Скачиваний:
4
Добавлен:
21.02.2016
Размер:
6.17 Mб
Скачать

Программа обработчика прерываний

  1. Сохранение контекста (регистры ЦП – стек)

  2. Обработка прерываний

  3. Восстановление контекста(встретив Ret, восст 4 старшие )

  4. Необх. Извлечь со стека еще PSW для этого iRet

Представим, что было прерывание от таймера(по 0-й линии)

Обработка прерывания от кву на ведомом контроллере прерываний

Последовательность работы:

  1. На вход КПК поступил сигнал прерывания от КВУ

  2. Если IMR и ISR позволяют, то КПК выставляет сигнал INt

(если 4-й бит = 0, в IMR, то сигнал прерывания должен обработаться. Опрашиваем ISR

Все разряды включая 4 должны быть 0

Если будет 0010 – это говорит о том что в п-том разряде( по этой линии уже обрабатывается прерывание более приоритетрое) поэтому мы пока не можем его обработать.

  1. Ведущий контроллер проверяет свой IMR и ISR и при условии (как и в 2) выставляет сигнал Int/ Этот сигнал Int уже поступает на вход ЦП

  2. Ответный флаг ЦП(ЦП реагирует,З если IF не замаскирован в PSW)

IFвpsw=1 то IntA(1)

При этом ведомый контроллер, еще не знает, что это касается его или какого то другого контроллера.

Ведущий знает, что пришло прерывание по и-0той линии и он выставил обработку этого прерывания

У ведущего контроллера в и-том разряде уст.1 , это значит что к этой линии подключен ведомый контроллер, а не КВУ

  1. Ведущий устанавливает IRRi=0 ISRi=1

Поскольку прерывание пришло от ведомого контроллера, то ведущий выполныет след. Действия(у ПКП есть шинаCAS: у ведущего она настроена на выход, у ведомых на вход)

От спец. Схемы управления посылаются сигналы управления в КПК, чтобы знать какие ведомые, а какой ведущий(ведущий-0. Ведомый-1)

На линии CAS устанавливается номер ведущего контроллера, который берется на обслуживание.

Ведомый и-тый контроллер знает, что его ведущий пригласит к работе.

(Если КПК j тоже выставил сигнал прер. Но сравнение не произошло – то одыхает)

  1. Цп выставляет 2-й сигнал INTA

Он воспринимается тем ведомым контроллеров, которого пригласили к работе(ПКПi)

  1. Получив пригл. К работе ПКПi выполняет аналогичные действия

IRRr=0 ISRr=1

Он формирует на ШД вектор прерывания.

(Как формирует, берет номер ICWz

  1. По формирования вектора прерывания ЦП обрабатывает прерывания

(в обработчике прерывания для ведомого и для ведущего будет различатся обращение к портам контроллера)

Для ведомого: чтобы сбросить ISRr в 0 в порт ISR=$20

Нужно сбросить ISR в 0, от ведущего т.к. все прерывания от ПКП будут заблокированы.

В порт ведущего ISR $20

Прямой доступ к памяти

Организация обмена с использование кпдт

  1. Инициализация КВУ и КПДП (выполняет ЦП)

Инициализация заключается в том, что

  • КВУ в РгУ указывается направление передачи работы с ПДП

  • В КПДП указыв. В РГу- режим работы

В РгА записывается адрес ОП, начиная с которого необходимо работать с ОП

В Рг СбБ записывается количество байт, которое контроллер должен обменять между кву и ОП, начиная с указанного адреса

  1. КВУ, получив задание считывания байт, готовится к его выполнению

После готовности КВУ обращается к КПДП с просьбой разрешения выполнения

Если КПДП готов к такой организации обмена, он реагирует на эту просьбу следующим образом:

  1. КПДП обращается к ЦП, отдать ему системную шину. Он не может отказать этому запросу. Он обязан после получения этого запроса и отдать системную шину (после завершения очередной команды)

  2. Т.е. все сигналы, которые пост. На системную шину, переводит в z-состояние сигналом HLDA

  3. После того, как КПДП убедился что ему разрешили, ЦП передает КВУ, что он готов управлять обменом.

  4. После чего происходит несколько циклов обмена между КВУ под управление КПДП

Количество таких циклов обмена(в одиночном – 1), в блочном -несколько. В блочном режиме – КПДП после каждого цикла обмена выполняет декремент СчБ

  1. После чего КПДП отдает системную шину ЦП

КПДП сообщает КВУ, что обмен завершен

КПДП может выставить сигнал прерывания на ЦП

В Рг сост. КПДП и КВУ взводится соотв. Бит, который говорит о завершении обмена.

Соседние файлы в папке pu