ПОДСИСТЕМА ВВОДА-ВЫВОДА 1
Общие принципы организации ввода-вывода 2 Систему ВВ можно представить в виде пространства ВВ IOSEGment и ряда команд ВВ. Пространство ВВ IOSEG организовано в виде набора n-разрядных ячеек – портов, каждый из которых может быть адресован независимо от других. В систем команд любого микропроцессора имеются команды работы с устройствами ВВ. Например, для микропроцессора ВМ85А пространство IOSEG организовано в виде разрядных портов ВВ с линейно упорядоченными адресами от 0 до В распоряжении пользователя имеются две команды ВВ в параллельном коде IN port ;Аport OUT port ;portА и две команды ВВ в последовательном коде RIM ;А7SID SIM ;SODА7. Между МПС и ВУ происходит обмен информацией двух типов – служебной и собственно данных. Служебная информация от МП передается с помощью управляющих слов CW (Control Word). Служебные сообщения от ВУ называются словами состояния SW (Status Word). Ввод и вывод информации всегда рассматривают по отношению к МП. Обмен информацией между МП и ВУ осуществляется по определенным правилам, совокупность которых называется протоколом обмена, являющимся основой для составления драйвера ВУ.
Общие принципы организации ввода-вывода 3 Программно-управляемый обмен данными Различают следующие виды обмена информацией: прямой (безусловный, синхронный), при котором для активизации обмена не требуется никаких условий и вспомогательных сигналов. Такой обмен информацией возможен только с внешними устройствами, которые всегда готовы к обмену; условный (асинхронный), при котором активизация обмена возможна при выполнении условий готовности к обмену ВУ. Условный ВВ применяется для обмена с низкоскоростными ВУ и сопровождается сигналов ГтВУ, генерируемым ВУ. Сигнал готовности вводится в МП в составе слова состояния. После завершения обмена сигнал готовности должен быть снят. Для этого МП информирует ВУ об окончании операции обмена с помощью сигнала подтверждения обмена Пт. Принцип условного обмена данными (с квитированием)
Общие принципы организации ввода-вывода 4 Программно-управляемый обмен данными Возможны два вида условного обмена: с занятием цикла и совмещенного. При обмене с занятием цикла в случае неготовности ВУ микропроцессор находится в режиме ожидания; при совмещенном обмене (рис. 5.2,б) после опроса ВУ микропроцессор возвращается к выполнению основной программы. Условный обмен с занятием цикла (а) и совмещенный (б) (а) (б) По способу кодирования различают обмен данными в параллельном и последовательном коде.
Синхронный обмен данными в параллельном коде 5 Прямой ввод (а) и вывод (б) Примеры INPUT: PUSH PSW ;сохранение в стеке содержимого PSW IN port ;ввод данных в аккумулятор А из порта MOV M, А ;запись в память по адресу (HL) из А POP PSW ;возврат из стека содержимого PSW RET ;возврат из подпрограммы (а) (б) Ввод данных в процессор из подсистемы ввода-вывода (ВВ) это операция чтения процессором отдельного порта пространства IOSEG. Вывод данных из процессора в подсистему ВВ это операция записи данных процессором в отдельный порт пространства IOSEG. OUT: PUSH PSW ;запись в стек содержимого PSW MOV А, М ;считывание в А ячейки М с адресом в HL OUT port ;вывод данных из аккумулятора А в порт POP PSW ;возврат из стека содержимого PSW RET ;возврат из подпрограммы
Обмен данными в параллельном коде с программным квитированием 6 В состав устройства ввода данных входят: буфер данных БД, при активизации которого сигналом чтения данных ЧтД= 1 происходит ввод данных в процессор; => буфер состояния БС, при активизации которого сигналом чтения состояния ЧтС = 1 в процессор вводится сигнал ГтВУ. При ГтВУ = 1 процессору разрешено вводить данные; => триггер подтверждения ТПт, предназначен для формирования сигнала подтверждения Пт о том, что данные микропроцессором введены; => дешифратор Дш и логические элементы (ЛЭ) 1, 2, 3 ИЛИ-НЕ, формирующие сигналы для управления БД, БС и ТПт.
Обмен данными в параллельном коде с аппаратным квитированием 7 Сигнал подтверждения формируется аппаратно посредством триггера
Синхронный последовательный обмен 8 В состав контроллера входят: => 8-разрядные буферный регистр данных РД и сдвигающий регистр; => триггер состояния Т, фиксирующий значение флага вывода ФВв; => буфер состояния БС, предназначенный для опроса ФВв; => дешифратор адреса Дш и логические элементы ИЛИ-НЕ, обеспечивающие доступ к триггеру состояния Т при опросе контроллера и к буферному регистру РД при записи байта данных; => трехразрядный счетчик и элемент И, предназначенные для формирования синхроимпульсов СИ.
Асинхронный последовательный обмен 9 Первым в сигнале располагается стартовый бит (старт-бит), имеющий нулевое значение. Далее следуют биты (от 5 до 8) слова данных D6...D0, начиная с младшего бита D0. Слово данных сопровождается битом контроля четности (БКЧ), фиксирующим четное (0) или нечетное (1) число единиц в слове. Замыкают сигнал один или два стоповых бита (стоп-бита) со значениями 1. Используется потенциальный способ кодирования, при котором каждый бит занимает временной интервал, равный периоду синхроимпульсов.
Асинхронный последовательный обмен 10 В состав контроллера входят: => 8-разрядные буферный регистр данных РД и сдвигающий регистр; => триггер состояния Т, фиксирующий значение флага вывода ФВв: при ФВв = 1 микропроцессору дано разрешение на ввод байта данных из РД; => буфер состояния БС, предназначенный для опроса ФВв; => дешифратор адреса Дш и элементы ИЛИ-НЕ, обеспечивающие доступ к триггеру состояния Т при опросе и к буферному регистру РД при записи байта данных; => счетчик по модулю 10 и элемент ИЛИ-НЕ для фиксации состояния счетчика (ФСС); => делитель частоты ДЧ на 16.
СПАСИБО ЗА ВНИМАНИЕ