
- •Организация системы ввода вывода
- •Задачи системы вводы вывода
- •Глобальные задачи СВВ
- •Элементы системы ввода -вывода
- •Типы ввода – вывода процессора
- •Уровни обслуживания ввода-вывода
- •Функции драйверов
- •Способы организации СВВ
- •Алгоритм программного ввода-вывода под управлением процессора
- •Система прерываний
- •Диаграмма прерывания
- •Процедура обработки прерывания
- •Характеристики систем прерывания
- •Глубина прерывания
- •СВВ с использованием системы прерываний
- •Способы разрешения конфликтов на магистральной шине
- •Арбитраж шины
- •Арбитраж шины
- •Прерывание
- •Фрагмент контроллера с разрядом разрешение прерывания в регистре состояния и управления
- •Вектор прерываний
- •Контроллер прерываний Intel 8259A
- •Связи контроллера прерываний
- •Обработка прерываний с программным опросом готовности
- •Обобщенная схема контроллера
- •Параллельный контроллер вывода
- •Параллельный контроллер ввода
- •Контроллер последовательного вывода
- •Контроллер последовательного ввода
- •Контроллер асинхронного последовательного вывода
- •Контроллер асинхронного последовательного ввода
- •Контроллер прямого доступа к памяти
- •Структура МПС с контроллером ПДП
- •Последовательность ПДП
- •Контроллер прямого доступа к памяти блок схема Intel 8237
- •Назначение блоков контроллера ПДП
- •Фрагмент контроллера прямого доступа к памяти
- •PIO- parallel Input-Output
- •Программная модель UART(Universal Asynchronous Receiver Transmitter) МП AVR фирмы ATMEL
- •Программная модель UART
- •Организация программ для передачи данных UART AVR
- •Организация кольцевого буфера на передачу в UART
- •Организация программ для приема данных UART AVR
- •Организация буфера на прием данных в UART

Организация системы ввода вывода
Логическая организация СВВ, аппаратная организация СВВ, контроллеры:
параллельного В-В, последовательного В- В, ПДП. Микросхемы UART, PIO.

Задачи системы вводы вывода
|
Системная шина |
|
|
||
|
|
400/533 МГц |
|
|
|
|
|
ЦП Р4 |
|
|
|
Универсальная шина |
|
Поддержка до 3 модулей, |
|||
AGP 3.0/2.0 |
|
|
|
до 1 Гбайт на модуль |
|
Main |
AGP 8x/4x |
SIS-648 |
|
DDR DIM |
|
Board |
|
|
(без буферизации) |
||
|
|
|
|||
ATA 133/100/66 |
|
|
|
3 порта |
|
|
|
|
|
||
HDD, |
|
|
|
IEEE |
|
CD-ROM |
|
|
|
1394a |
|
USB 2.0/1.1 |
|
|
|
|
PHY |
|
|
SIS-963 |
|
|
|
6 PCI Master |
|
|
АС`97 |
|
PHY |
|
|
|
|
|
PHY |
Клавиатура, |
|
|
|
|
|
мышь |
|
|
|
A |
Модем |
|
LPC |
|
|
||
|
|
|
|
||
|
MII |
|
C |
|
|
|
ROM |
|
|
||
|
|
|
R |
|
|
|
|
|
|
Телефон |
|
|
|
|
|
|
|
FDD, джостик, |
LPC |
BIOS |
|
|
|
|
MIDI |
|
|
||
|
|
|
|
|
6-канальный звук

Глобальные задачи СВВ
•Обеспечение максимальной производительности вычислительной системы.
•Возможность изменения конфигурации периферийных устройств (ПУ).
•Возможность модифицировать ПУ , не изменяя ядро системы.

Элементы системы ввода -вывода
Каналы |
|
|
|
Контроллеры |
|
|
|
|
Интерфейсы |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Физическая |
||
Порты |
|
|
|
Драйверы |
|||||||||||
|
|
|
|
|
|
|
|
организация |
|||||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Конструктивы |
||
BIOS |
|
|
Способы обмена |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
Логическая |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
организация |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программный |
|
Прямой доступ |
|
|
Через систему |
|
||||||||
|
|
К памяти |
|
|
прерываний |
|
|
||||||||
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Типы ввода – вывода процессора
• Изолированный ввод-вывод.
Используются специальные команды МП: ввод, вывод, чтение состояния.
Передача данных производится между регистрами МП и ПУ.
•Ввод – вывод с отображением на память.
Обращение ПУ как ячейке ОЗУ. В памяти резервируется
ячейки для ПУ, имеющие регистр адреса, регистр состояния и регистр данных устройства.

Уровни обслуживания ввода-вывода
Программа
Система ввода-вывода
|
|
|
Блок |
|
Системная таблица |
|
||
|
||
управления |
|
|
|
Буфер данных |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
или |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
или |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
Драйвер1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Драйвер N |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Уровень ОС
Логический
уровень
Физический
уровень
Порт |
Контроллер 1 |
Порт |
Контроллер N |
Аппаратура |
|
|
|
|
|
|
ПУ 1 |
|
ПУ N |
СВВ |
|
|
|

Функции драйверов
•Проверка готовности контроллера и ПУ к обмену;
•Формирование управляющих сигналов и данных для ПУ;
•Определение действий при обнаружении ошибок;
•Формирование сообщения о завершении операции с указанием успешности или неуспешности;
•Передача управления на логический уровень.

Способы организации СВВ
•Программный.
•На основе системы прерываний.
•Прямой доступ к памяти.
•Коммутаторный.
•Без адресный «точка –точка».
Они могут комбинироваться при конкретной реализации системы.

Алгоритм программного ввода-вывода под управлением процессора
•1. Сформировать начальный адрес области обмена ОЗУ.
•2. Занести длину передаваемого массива данных в регистр МП (Счетчик данных).
•3. Выдать команду чтения из ВУ (Адрес ВУ, сигнал чтения на шину управления, данные записать в регистр МП).
•4. Выдать команду записи данных в ОЗУ ( Адрес ячейки ОЗУ, сигнал записи в ОЗУ, Данные передать из регистра МП в ячейку памяти).
•5. Модифицировать регистр, содержащий адрес ОЗУ.
•6. Уменьшить счетчик данных на единицу.
•7. Повторить все предыдущие шаги пока счетчик данных не обнулится.

Система прерываний
•Обработка прерывания.
•Организация системы приоритетов через систему арбитража.