- •1)Программное управление
- •2) Обмен с прямым доступом к памяти(пдп)
- •1)Метод занятия цикла
- •2)Каналы ввода/вывода
- •3)Основные функции квв:
- •Структура селекторного канала:
- •4)Последовательность работы канала
- •Выполнение канальной программы
- •Завершение канальной программы
- •Типы каналов вв
- •1)Селекторный канал
- •2)Мультиплексный канал
- •Организация работы мультиплексного канала
- •Блок-мультиплексный канал
- •Ввод-вывод с прерыванием от нескольких устройств вв
- •Контроллер прерываний
- •Обобщенная схема
- •Регистровая модель кпп
- •Форматы операционных командных слов
- •Реализация прерывания от кву на ведущем контроллере прерываний
- •Программа обработчика прерываний
- •Обработка прерывания от кву на ведомом контроллере прерываний
- •Прямой доступ к памяти
- •Организация обмена с использование кпдт
- •Цикл обмена
- •Организация кодирования данных
- •Устройства вв
- •Клавиатура
- •Клавиатура ibm pc
- •Последовательность работы:
- •Универсальный периферийный адаптер:
- •Работа обработчика прерывания 9h
- •Работа обработчика 16h
- •Манипуляторы
- •1. Манипулятор типа мышь
- •2. Планшеты
- •Сканеры
- •Механическая структура протяжного сканера
- •Сканирование цветных изображений
- •Диапазон оптической плотности
- •Принтеры
- •Механические знакопечатающие устройства
- •Знакосинтезирующие печатные устройства
- •Механические знакосинтезирующие ПчУ
- •Формирование шрифтов
- •Управление матричными принтерами
- •Безударные знакосинтезирующие печатающие устройства
- •Монохромная печать
- •Цветная печать
- •Термопринтеры
- •Ксерографические ПчУ
- •Светодиодный принтер
- •Управление лазерным принтером
- •Внешние запоминающие устройства (взу)
- •Оптические диски
Ввод-вывод с прерыванием от нескольких устройств вв
IntA,int –сигналы на линиях
intAi,inti – выходы прерываний
intA- interrupt Acnolig - подтверждение на прерывание
Такая схема не является распространенной.
Более удобная – вторая.
Возникает проблема : обнаружение КВУ, которое выставило прерывание
Полинг – определенная последовательность опроса устройства с целью обнаружения, какое устройство выставило прерывание.
Для определения какое устройство выставило сигнал прерывание и имеющее больший приоритет.
Последовательность:
Процессор среагировать на сигнал Int (открыл маску или закрыл)
Процессор выставил сигнал Int A
На вход контроллера поступает 0 сигнал
Если КВУ выставило Int то 0 превращается в 1
Если Int выставлено, то сигнал IntA не доходит.
Эта схема еще называется Дейзи-цепочка : htfkbpfwbz c[tvs ghbjhbntnjd/
КВУ которое выставит Int (наиболее приорит. контроль)
Запирает цепочку Дейзи
Реагирует на Int A
Контроллер передает процессору некоторый код – свой условный номер(вектор прерываний)
У всех контроллеров свой код уникальный. Процессор по этому коду выбирает программу обработки прерываний, соответствующую данному контроллеру.
Контроллер прерываний
С использованием программного управления – программируемый контроллер прерываний
Функции:
Расширение числа входов прерываний(до 10)
Определение номера устройства, выставившего Int с использование процедуры векторного прерывания.
Реализация системы приоритетов
Реализация вложенных прерываний
Рассмотрим контроллер прерываний на основе Intel 8059A
Обобщенная схема
Эта схема, условно говоря, вырабатывает сигнал Int A.
Управляется контроллер четырьмя регистрами:
ICW – initialization Command Word (ICW1,ICW2,ICW3,ICW4)
Тремя
OCW – Operatin Command Word
Регистром статуса
Status Register (sr)
Регистры прерываний:
Interrupt Requement Register(IRR)
Регистр затребованных прерываний
К нему подключены линии прерываний от подчиненных контроллеров прерываний, то этот контроллер называется ведущий, а остальные ведомые(у них по 8 входов)
Получаем 8*8=64 затребованных прерываний
Маскируются прерывания с помощью:
Interrupt Mask Register (IMR)
1 в соотв. Разряде говорит о том, что не будет обслуживатся IRR
Interrupt Service Register(ISR)
Регистр обслуживаемых прерываний.
Регистровая модель кпп
Форматы операционных командных слов
Реализация прерывания от кву на ведущем контроллере прерываний
На контроллере прерываний пришел сигнал IRQn(n- номер линии прерываний от КВУ) на ПКП
На IRR в n-ом разряде устанавливается в 1
Устройство управл. Данного ПКП выполныет анализ:
А) Анализируется IMR
Если Н-ный разряд = 0 – обработка прерываний
Н-ный разряд = 11 – прерывания замаскированы
Б) В ISR (регистр обслуживаемых прерываний)
Если в i-м разряде 1 , то процессору передано на обработку прерывание от i-той линии.
Пришло прерывание от j-той линии.
Процессор должен определить какой приоритет он имеет.
По умолчанию определено что 0-ая линия имеет самый высокий приоритет.
Предположим j имеет более высокий приоритет, он должен начать обрабатывать этот процесс(если оно не замаскировано)
Если пришло г-тое прерывание, то оно с меньшим приоритетом, и контроллер даже не должен пытаться его обрабатывать.
Обработка прерывания:
IMRn=0
N<i
Где i-разряд ISR=1 наименьший
Если выполняются эти условия то контроллер прерываний выставит сигнал Int
Если флаг IF=1 , то прерывание разрешено, и процессор всегда будет срабатывтаь на Int
Если IFцп=1, то процессор начинает обработку этого прерывания(проверяется флажок)
Процессор выставляет сигнал подтверждения(т.е. берет сигнал на обслуживание
В ответ на это из регистра требуемых прерываний – это прерывание исключается
В регистре обслуживаемых прерываний уст 1, что говорит о том что прерывание взять по линии N
В ответ на второй сигнал INTA КПК формирует вектор прерывания и выставляет его на шину данных
ЦП засылает в стек PSW,CS,IP
После этого ЦП сбрасывает в 0 два флажка PSW
Далее ЦП формирует адрес обработчика прерываний.