Скачать презентацию Организация системы ввода вывода Логическая организация СВВ аппаратная Скачать презентацию Организация системы ввода вывода Логическая организация СВВ аппаратная

Организация системы ввода вывода.ppt

  • Количество слайдов: 45

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

Задачи системы вводы вывода Задачи системы вводы вывода

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

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

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

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

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

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

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

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

Диаграмма прерывания Диаграмма прерывания

Процедура обработки прерывания 1. 3. 4. 5. Идентификация уровня запроса прерывания и источника. Предоставление Процедура обработки прерывания 1. 3. 4. 5. Идентификация уровня запроса прерывания и источника. Предоставление разрешения на прерывание ( или запрет). Сохранение контекста прерываемой программы. Выполнение программы прерывания. Восстановление контекста прерванной программы. 6. Возврат к выполнению прерванной программы. 2.

Характеристики систем прерывания • • Время реакции Тр. Время на переключение программ Тп=Тз+Тв. Эффективность Характеристики систем прерывания • • Время реакции Тр. Время на переключение программ Тп=Тз+Тв. Эффективность прерывания. Глубина прерываний.

Глубина прерывания Глубина прерывания

СВВ с использованием системы прерываний Прерывания Внутренние Внешние Аппаратные Программные Немаскируемые Отказы Маскируемые Ловушки СВВ с использованием системы прерываний Прерывания Внутренние Внешние Аппаратные Программные Немаскируемые Отказы Маскируемые Ловушки МП различает 256 типов прерываний, которые М кодируются в одном байте. П Аварии

Способы разрешения конфликтов на магистральной шине Арбитраж Система приоритетов Система обработки прерываний Способы разрешения конфликтов на магистральной шине Арбитраж Система приоритетов Система обработки прерываний

Арбитраж шины • Последовательный многоуровневый Арбитр УВВ 1 Разрешение УВВ 2 УВВ 3 УВВ Арбитраж шины • Последовательный многоуровневый Арбитр УВВ 1 Разрешение УВВ 2 УВВ 3 УВВ 4 Запрос шины

Арбитраж шины – Децентрализованный in out УВВ 1 Линия арбитра +5 в in out Арбитраж шины – Децентрализованный in out УВВ 1 Линия арбитра +5 в in out УВВ 2 in out УВВ 3 Запрос шины in out УВВ 4 Шина занята

Прерывание • • Процесс переключения ЦП с одной программы на другую по внешнему сигналу Прерывание • • Процесс переключения ЦП с одной программы на другую по внешнему сигналу с сохранением информации необходимой для продолжения прерванной программы. Вектор прерываний – адрес хранения программы обработки прерывания.

Фрагмент контроллера с разрядом разрешение прерывания в регистре состояния и управления Фрагмент контроллера с разрядом разрешение прерывания в регистре состояния и управления

Вектор прерываний Вектор прерываний

Контроллер прерываний Intel 8259 A • • RGI – регистр запросов на прерывание. PRB Контроллер прерываний Intel 8259 A • • RGI – регистр запросов на прерывание. PRB – схема арбитр. ISR - регистр обслуживаемых прерываний. RGM – регистр маскирования прерываний. BU – схема управления. BD – буфер данных выдает на шину вектор прерывания. CMP – схема организации каскада. RWBU – блок управления записью, чтением. EOI BU

Связи контроллера прерываний RD ЦП 8086 WR Контроллер шины 8288 A 0 EOI INTR Связи контроллера прерываний RD ЦП 8086 WR Контроллер шины 8288 A 0 EOI INTR INTA# Контроллер Прерываний 8259 А Вектор прерывания D 7 -0 IRQ 0 - 7 Запросы на прерывание от внешних устройств

Обработка прерываний с программным опросом готовности Используется одна программа В-В Обработка прерываний с программным опросом готовности Используется одна программа В-В

Обобщенная схема контроллера Обобщенная схема контроллера

Параллельный контроллер вывода Синхронный – приемник и передатчик работают от одного тактового генератора. Асинхронный Параллельный контроллер вывода Синхронный – приемник и передатчик работают от одного тактового генератора. Асинхронный – приемник и передатчик работают от с индивидуальными генераторами.

Параллельный контроллер ввода • Синхронный и асинхронный Параллельный контроллер ввода • Синхронный и асинхронный

Контроллер последовательного вывода • Синхронный Контроллер последовательного вывода • Синхронный

Контроллер последовательного ввода • Синхронный Контроллер последовательного ввода • Синхронный

Контроллер асинхронного последовательного вывода Контроллер асинхронного последовательного вывода

Контроллер асинхронного последовательного ввода Контроллер асинхронного последовательного ввода

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

Структура МПС с контроллером ПДП DRQ – запрос ПДП. DACK - сообщение о начале Структура МПС с контроллером ПДП DRQ – запрос ПДП. DACK - сообщение о начале цикла ПДП. ША IEOP МП HLDA HRQ ШД ШУ A Контроллер ПДП ОЗУ MW IOR MR D DRQ DACK ВУ HRQ – запрос на захват шины. HLDA – подтверждение о переводе шин МП в третье состояние.

Последовательность ПДП 1. Принять запрос на ПДП от ВУ ( сигнал DRQ). 2. Сформировать Последовательность ПДП 1. Принять запрос на ПДП от ВУ ( сигнал DRQ). 2. Сформировать запрос к МП на захват шины (сигнал HRQ). 3. Принять от МП сигнал подтверждения перевода схем приема передатчиков в третье состояние (HLDA). 4. Сформировать для ВУ сигнал о начале цикла ПДП (DACK). 5. Сформировать на шине адрес ячейки памяти для обмена. 6. Выработать сигналы управления, обеспечивающие обмен (MR, MW, IOR, IOW). 7. Уменьшить значение в счетчике данных. 8. Проверить условие окончания ПДП. Если счетчик данных не обнулен, то повторить пункты 5 -8. 9. Если счетчик данных пуст выработать сигнал окончания ПДП – IEOP.

Контроллер прямого доступа к памяти блок схема Intel 8237 данные IOR IOW адрес Буферный Контроллер прямого доступа к памяти блок схема Intel 8237 данные IOR IOW адрес Буферный регистр TR MW READY Регистр команд CR Регистр Условий SR Регистр запросов RR IEOP Регистр маски M DRQ 0 CWR WCR MR HRQ HLDA CAR BAR AEN MR Канал 0 ВУ 0 DACK 0 DRQ 1 Канал 2 ВУ 1 DACK 1 DRQ 2 ВУ 2 DACK 2 DRQ 3 ВУ 3 Канал 3 DACK 3

Назначение блоков контроллера ПДП MR – регистр режима определяет параметры передачи: - порядок изменения Назначение блоков контроллера ПДП MR – регистр режима определяет параметры передачи: - порядок изменения адреса (+ или -); - возможность автоинициализации; - режим обслуживания (словом, блоком); CAR – регистр текущего адреса; BAR - регистр базового адреса (устанавливается инициализацией); CWR – текущий счетчик данных; WCR – базовый счетчик данных (устанавливается инициализацией); CR – регистр команд: - режим память- память через регистр TR или обычный; - запрет или разрешение ПДП; - порядок изменения приоритетов каналов; SR – регистр условий; Сигнал AEN – флаг управления шиной (ПДП; МП).

Фрагмент контроллера прямого доступа к памяти Фрагмент контроллера прямого доступа к памяти

PIO- parallel Input-Output • Микросхема Intel 8255 A CS A 0 -1 Порт А PIO- parallel Input-Output • Микросхема Intel 8255 A CS A 0 -1 Порт А 8 разрядов 2 р WR 8255 A RD Порт С 8 разрядов RESET D 0 -D 7 Порт В 8 разрядов 8 р

Программная модель UART(Universal Asynchronous Receiver Transmitter) МП AVR фирмы ATMEL OUT UDR Прерывание Передатчик Программная модель UART(Universal Asynchronous Receiver Transmitter) МП AVR фирмы ATMEL OUT UDR Прерывание Передатчик Флаг разрешения прерывания Регистр данных передатчика UDRE UDRIE Флаг разрешения прерывания TXCIEN Флаг состояния регистра данных 1 0 Флаг завершения передачи 10 (11) – битный регистр сдвига TDX CHR 9 Флаг 9 бита TXB 8 Тактовый генератор DAUD (бод) =fck/(16(UBRR+1)) Где UBRR = (от 0 до 255) TXEN Разрешение передачи Выход передатчика

Программная модель UART микропроцессоров AVR фирмы ATMEL Приемник IN UDR Регистр данных приемника UDR Программная модель UART микропроцессоров AVR фирмы ATMEL Приемник IN UDR Регистр данных приемника UDR Вход приемника RXD RXEN Прерывание Флаг ошибки кадрирования RXCIEN Флаг разрешения прерывания RXC FE Флаг завершения приема OR RXB 8 Флаг переполнения 10(11) – битный регистр сдвига Флаг наличия 9 бита Тактовый генератор CHR 9 DAUD (бод) =fck/(16(UBRR+1)) Где UBRR = (от 0 до 255)

Организация программ для передачи данных UART AVR Организация обмена данных с использованием прерываний и Организация программ для передачи данных UART AVR Организация обмена данных с использованием прерываний и промежуточного кольцевого буфера UDRIE UDRE Организуется в ОЗУ Программа Movs. Buf Кольцевой буфер UART Out Программа обработки прерываний Transint UDR Программы работают асинхронно. Доступ к кольцевому буферу последовательный или параллельный

Организация кольцевого буфера на передачу в UART Out Начало буфера Голова очереди Количество байт Организация кольцевого буфера на передачу в UART Out Начало буфера Голова очереди Количество байт в очереди Хвост очереди Конец очереди Если они равны то очередь пуста Указатель хвоста очереди Указатель головы очереди ОБЛАСТЬ ОЗУ

Организация программ для приема данных UART AVR Флаг разрешения приема RXC UDR Подпрограмма управления Организация программ для приема данных UART AVR Флаг разрешения приема RXC UDR Подпрограмма управления вводом Подтверждение Приема старт стоп Флаг MR B Буфер UART IN Драйвер Подпрограмма управления записью

Организация буфера на прием данных в UART In Начало буфера Программа проверяет указатель на Организация буфера на прием данных в UART In Начало буфера Программа проверяет указатель на превышение буфера При приеме очередного байта указатель увеличивается на единицу Хвост очереди Указатель хвоста очереди ОБЛАСТЬ ОЗУ