- •1)Программное управление
- •2) Обмен с прямым доступом к памяти(пдп)
- •1)Метод занятия цикла
- •2)Каналы ввода/вывода
- •3)Основные функции квв:
- •Структура селекторного канала:
- •4)Последовательность работы канала
- •Выполнение канальной программы
- •Завершение канальной программы
- •Типы каналов вв
- •1)Селекторный канал
- •2)Мультиплексный канал
- •Организация работы мультиплексного канала
- •Блок-мультиплексный канал
- •Ввод-вывод с прерыванием от нескольких устройств вв
- •Контроллер прерываний
- •Обобщенная схема
- •Регистровая модель кпп
- •Форматы операционных командных слов
- •Реализация прерывания от кву на ведущем контроллере прерываний
- •Программа обработчика прерываний
- •Обработка прерывания от кву на ведомом контроллере прерываний
- •Прямой доступ к памяти
- •Организация обмена с использование кпдт
- •Цикл обмена
- •Организация кодирования данных
- •Устройства вв
- •Клавиатура
- •Клавиатура ibm pc
- •Последовательность работы:
- •Универсальный периферийный адаптер:
- •Работа обработчика прерывания 9h
- •Работа обработчика 16h
- •Манипуляторы
- •1. Манипулятор типа мышь
- •2. Планшеты
- •Сканеры
- •Механическая структура протяжного сканера
- •Сканирование цветных изображений
- •Диапазон оптической плотности
- •Принтеры
- •Механические знакопечатающие устройства
- •Знакосинтезирующие печатные устройства
- •Механические знакосинтезирующие ПчУ
- •Формирование шрифтов
- •Управление матричными принтерами
- •Безударные знакосинтезирующие печатающие устройства
- •Монохромная печать
- •Цветная печать
- •Термопринтеры
- •Ксерографические ПчУ
- •Светодиодный принтер
- •Управление лазерным принтером
- •Внешние запоминающие устройства (взу)
- •Оптические диски
Программа обработчика прерываний
Сохранение контекста (регистры ЦП – стек)
Обработка прерываний
Восстановление контекста(встретив Ret, восст 4 старшие )
Необх. Извлечь со стека еще PSW для этого iRet
Представим, что было прерывание от таймера(по 0-й линии)
Обработка прерывания от кву на ведомом контроллере прерываний
Последовательность работы:
На вход КПК поступил сигнал прерывания от КВУ
Если IMR и ISR позволяют, то КПК выставляет сигнал INt
(если 4-й бит = 0, в IMR, то сигнал прерывания должен обработаться. Опрашиваем ISR
Все разряды включая 4 должны быть 0
Если будет 0010 – это говорит о том что в п-том разряде( по этой линии уже обрабатывается прерывание более приоритетрое) поэтому мы пока не можем его обработать.
Ведущий контроллер проверяет свой IMR и ISR и при условии (как и в 2) выставляет сигнал Int/ Этот сигнал Int уже поступает на вход ЦП
Ответный флаг ЦП(ЦП реагирует,З если IF не замаскирован в PSW)
IFвpsw=1 то IntA(1)
При этом ведомый контроллер, еще не знает, что это касается его или какого то другого контроллера.
Ведущий знает, что пришло прерывание по и-0той линии и он выставил обработку этого прерывания
У ведущего контроллера в и-том разряде уст.1 , это значит что к этой линии подключен ведомый контроллер, а не КВУ
Ведущий устанавливает IRRi=0 ISRi=1
Поскольку прерывание пришло от ведомого контроллера, то ведущий выполныет след. Действия(у ПКП есть шинаCAS: у ведущего она настроена на выход, у ведомых на вход)
От спец. Схемы управления посылаются сигналы управления в КПК, чтобы знать какие ведомые, а какой ведущий(ведущий-0. Ведомый-1)
На линии CAS устанавливается номер ведущего контроллера, который берется на обслуживание.
Ведомый и-тый контроллер знает, что его ведущий пригласит к работе.
(Если КПК j тоже выставил сигнал прер. Но сравнение не произошло – то одыхает)
Цп выставляет 2-й сигнал INTA
Он воспринимается тем ведомым контроллеров, которого пригласили к работе(ПКПi)
Получив пригл. К работе ПКПi выполняет аналогичные действия
IRRr=0 ISRr=1
Он формирует на ШД вектор прерывания.
(Как формирует, берет номер ICWz
По формирования вектора прерывания ЦП обрабатывает прерывания
(в обработчике прерывания для ведомого и для ведущего будет различатся обращение к портам контроллера)
Для ведомого: чтобы сбросить ISRr в 0 в порт ISR=$20
Нужно сбросить ISR в 0, от ведущего т.к. все прерывания от ПКП будут заблокированы.
В порт ведущего ISR $20
Прямой доступ к памяти
Организация обмена с использование кпдт
Инициализация КВУ и КПДП (выполняет ЦП)
Инициализация заключается в том, что
КВУ в РгУ указывается направление передачи работы с ПДП
В КПДП указыв. В РГу- режим работы
В РгА записывается адрес ОП, начиная с которого необходимо работать с ОП
В Рг СбБ записывается количество байт, которое контроллер должен обменять между кву и ОП, начиная с указанного адреса
КВУ, получив задание считывания байт, готовится к его выполнению
После готовности КВУ обращается к КПДП с просьбой разрешения выполнения
Если КПДП готов к такой организации обмена, он реагирует на эту просьбу следующим образом:
КПДП обращается к ЦП, отдать ему системную шину. Он не может отказать этому запросу. Он обязан после получения этого запроса и отдать системную шину (после завершения очередной команды)
Т.е. все сигналы, которые пост. На системную шину, переводит в z-состояние сигналом HLDA
После того, как КПДП убедился что ему разрешили, ЦП передает КВУ, что он готов управлять обменом.
После чего происходит несколько циклов обмена между КВУ под управление КПДП
Количество таких циклов обмена(в одиночном – 1), в блочном -несколько. В блочном режиме – КПДП после каждого цикла обмена выполняет декремент СчБ
После чего КПДП отдает системную шину ЦП
КПДП сообщает КВУ, что обмен завершен
КПДП может выставить сигнал прерывания на ЦП
В Рг сост. КПДП и КВУ взводится соотв. Бит, который говорит о завершении обмена.