Файл: 3 Модуль ввода вывода. Параллельный и последовательный ввод вывод информации в микропроцессорной системе (2 часа).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 70

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

3.7. Модуль ввода - вывода. Параллельный и последовательный ввод - вывод информации в микропроцессорной системе (2 часа)


  1. Архитектура подсистемы ввода/вывода.

  2. Контроллер внешнего устройства. Назначение и функции контроллеров.

  3. Последовательный и параллельный интерфейс

  4. Способы организации ввода-вывода

Микропроцессорная система состоит из трех подсистем: микропроцессора, подсистемы памяти и подсистемы ввода/вывода (модуля ввода/вывода).

Модуль ввода/вывода в составе МПС отвечает за управление подключенными к нему одним или несколькими периферийными устройствами (ПУ) и за обмен данными между этими устройствами, с одной стороны, и основной памятью или регистрами микропроцессора – с другой.

Связь устройств микропроцессорной системы друг с другом осуществляется с помощью специальных совокупностей средств и правил, которые называются интерфейсами. Интерфейс – совокупность линий и шин, сигналов, электронных схем и алгоритмов, предназначенная для осуществления обмена информацией между устройствами компьютерной системы.

При разработке систем ввода/вывода должны быть решены следующие проблемы:

− возможность реализации системы с переменным составом оборудования, в первую очередь с различным набором устройств ввода/вывода, с тем, чтобы пользователь мог выбирать состав оборудования (конфигурацию) системы в соответствии с ее назначением, легко дополнять систему новыми устройствами;

− для эффективного и высокопроизводительного использования оборудования системы возможность параллельной во времени работы процессора над программой и выполнения периферийными устройствами процедур ввода/вывода;

− упрощение для пользователя и стандартизация программирования операций ввода/вывода, обеспечение независимости программирования ввода/вывода от особенностей того или иного устройства ввода/вывода;

− автоматическое распознавание и реакция системы на многообразие ситуаций, возникающих в устройствах ввода/вывода.

Основными путями решения указанных проблем являются:

− модульность;

− унифицированные (не зависящие от типа устройства ввода/вывода) форматы данных, которыми устройства ввода/вывода обмениваются с системой;

− унифицированные интерфейсы;


− унифицированные (не зависящие от типа устройства ввода/вывода) формат и набор команд процессора для операций ввода/вывода.

Для обеспечения параллельной во времени работы устройств ввода/вывода с выполнением программы обработки данных процессором схемы управления вводом/выводом отделяются от процессора и им придается достаточная степень автономности.

Основные функции модуля ввода/вывода:

  1. локализация данных;

  2. управление и синхронизация;

  3. обмен информацией;

  4. буферизация данных;

  5. обнаружение ошибок.

Локализация данных – это возможность обращения к одному из ПУ, а также адресации данных на нем. Адрес ПУ обычно содержится в адресной части команд ввода/вывода. Для простейших периферийных устройств (клавиатура, принтер и т. п.) адрес ПУ однозначно определяет и расположение данных на этом устройстве. Для более сложных ПУ, таких как внешние запоминающие устройства, информация о местонахождении данных требует детализации (например, номер цилиндра, номер сектора и т. п.). Эта часть адресной информации передается в модуль ввода/вывода не по шине адреса, а в виде служебных сообщений, пересылаемых по шине данных. Обработка такой информации в модуле, естественно, сложнее, чем выбор нужного регистра или ПУ. В частности, она может требовать от МВВ организации процедуры поиска на носителе информации.

Функция управления и синхронизации заключается в том, что модуль ввода/вывода должен координировать перемещение данных между внутренними ресурсами МПС и периферийными устройствами. При разработке системы управления и синхронизации модуля ввода/вывода необходимо учитывать целый ряд факторов. Прежде всего, нужно принимать во внимание, что центральный процессор может взаимодействовать одновременно с несколькими ПУ, причем быстродействие подключаемых к модулю ввода/вывода периферийных устройств варьируется в очень широких пределах. В отличие от обмена с памятью, процессы ввода/вывода и работа ЦП протекают не синхронно. Очередная порция информации может быть выдана на устройство вывода лишь тогда, когда это устройство готово их принять. Аналогично, ввод допустим только в случае доступности информации на устройстве ввода. Таким образом, модуль ввода/вывода обязан снабдить центральный процессор информацией о собственной готовности к обмену, а также о готовности подключенных к модулю ПУ. Помимо этого, процессор должен обладать оперативной информацией и об иных событиях, происходящих в СВВ.



Основной функцией модуля ввода/вывода является обеспечение обмена информацией. Помимо обмена с процессором, модуль ввода/вывода должен обеспечивать функцию обмена информацией с ПУ. Такой обмен также включает в себя передачу данных, команд и информации о состоянии. Последовательность операций, выполняемых процессором при вводе/выводе:

  1. Выбор требуемого периферийного устройства.

  2. Определение состояния модуля ввода/вывода и ПУ.

  3. Выдача указания модулю ввода/вывода на подключение нужного ПУ к процессору.

  4. Получение от модуля ввода/вывода подтверждения о подключении затребованного ПУ к процессору.

  5. Распознавание сигнала готовности устройства к передаче очередной порции информации.

  6. Прием (передача) порции информации.

  7. Циклическое повторение двух предшествующих пунктов до завершения передачи информации в полном объеме.

  8. Логическое отсоединение ПУ от процессора.

Буферизация. Несмотря на различия в скорости обмена информацией для разных ПУ, все они в этом плане значительно отстают от ЦП и памяти. Такое различие компенсируется за счет буферизации. При выводе информации на ПУ данные пересылаются из основной памяти в модуль ввода/вывода с большой скоростью. В модуле эти данные буферизируются и затем направляются в ПУ со скоростью, свойственной последнему. При вводе из ПУ данные буферизируются так, чтобы не заставлять память работать в режиме медленной передачи. Таким образом, модуль ввода/вывода должен обеспечивать работу как со скоростью памяти, так и со скоростью ПУ.

Еще одной из важнейших функций модуля ввода/вывода является обнаружение ошибок, возникающих в процессе ввода/вывода. Центральный процессор следует оповещать о каждом случае обнаружения ошибки.

Структура модуля ввода/вывода в значительной мере зависит от числа и сложности периферийных устройств, которыми он управляет, однако в самом общем виде такой модуль можно представить в форме, показанной на рисунке. 3.7.1.

Каждое ПУ подключается к модулю ввода/вывода посредством индивидуальной шины. Интерфейс, по которому организуется взаимодействие модуля ввода/вывода и ПУ, часто называют «малым». Индивидуальная шина обеспечивает обмен данными и управляющими сигналами, а также информацией о состоянии участников обмена. Интерфейс, по которому организуется взаимодействие с ЦП, называют «большим» интерфейсом.



Рисунок 3.7.1 – Структура модуля ввода/вывода
Связь модуля ввода/вывода с ядром МПС осуществляется посредством системной шины. С этой стороны МВВ реализуется так называемый «большой» интерфейс.

Данные, передаваемые между модулем ввода/вывода и ядром МПС, буферизируются в регистре данных, благодаря чему удается компенсировать различие в быстродействии ядра МПС и периферийных устройств. Модуль ввода/вывода может содержать несколько регистров данных, что позволяет независимо хранить текущие данные каждого из периферийных устройств, подключенных к данному модулю ввода/вывода.

Помимо регистра данных, в составе модуля ввода/вывода имеются также регистр управления и регистр состояния (либо совмещенный регистр управления/состояния). В регистре управления фиксируются поступившие из ЦП команды управления модулем или подключенными к нему периферийными устройствами. Отдельные разряды регистра могут представлять такие команды, как очистка регистров модуля ввода/вывода, сброс ПУ, начало чтения, начало записи и т. п.

Регистр состояния служит для хранения битов состояния модуля ввода/вывода и подключенных к нему ПУ. Содержимое определенного разряда регистра может характеризовать, например, готовность устройства ввода к приему очередной порции данных, занятость устройства вывода.

Процедура ввода/вывода предполагает возможность работы с каждым регистром модуля ввода/вывода или периферийным устройством по отдельности. Такая возможность обеспечивается системой адресации. Каждому модулю в адресном пространстве ввода/ вывода выделяется уникальный набор адресов, количество адресов в котором зависит от числа адресуемых элементов. Поступивший из ЦП адрес с помощью селектора адреса проверяется на принадлежность к диапазону, выделенному данному модулю ввода/вывода. В случае подтверждения дешифратор адреса выполняет раскодирование адреса, разрешая работу с соответствующим регистром модуля или ПУ.

Узел управления вводом/выводом, по сути, играет роль местного устройства управления модуля ввода/вывода. На него возлагаются две задачи: обеспечение взаимодействия с ЦП и координация работы всех составляющих модуля ввода/вывода. Связь с ЦП реализуется посредством линий управления, по которым из ЦП в модуль поступают сигналы, служащие для синхронизации операций ввода и вывода. В обратном направлении передаются сигналы,
информирующие о происходящих в модуле событиях, например сигналы прерывания.

Со стороны «малого» интерфейса модуль ввода/вывода обеспечивает подключение периферийных устройств и взаимодействие с ними. Эта часть модуля ввода/вывода более унифицирована, поскольку периферийные устройства всегда «подгоняются» под один из стандартных протоколов. Каждое из периферийных устройств обслуживается своим узлом «малого» интерфейса, который реализует принятый для данного ПУ стандартный протокол взаимодействия.

При управлении широким спектром ПУ модуль должен по возможности освобождать ЦП от знания деталей конкретных ПУ, так чтобы ЦП мог управлять любым устройством с помощью простых команд чтения и записи. Модуль ввода/вывода при этом берет на себя задачи синхронизации, согласования форматов данных и т. п.

При любой форме взаимодействия с микропроцессорной системой аппаратура ввода/вывода обычно состоит из собственно устройства ввода/вывода и устройства управления этим устройством ввода/вывода – контроллера устройства ввода/вывода.

Интерфейс между процессором и контроллером устройства ввода/вывода называется системным интерфейсом, а интерфейс между контроллером и устройством ввода/вывода – интерфейсом ввод/вывода. Системный интерфейс, как правило, является общим для всех видов устройств ввода/вывода, а интерфейсы ввода/вывода специализированы для конкретных видов устройств ввода/вывода.

В общем случае ввод и вывод данных осуществляются путем обмена данными между основной памятью и устройствами ввода/вывода. Данные, находящиеся в основной памяти, подаются на устройства вывода, а от устройства ввода данные поступают для занесения в основную память. Для управления этим обменом необходимо обеспечить выполнение следующих функций:

1) управление адресацией всех данных, подлежащих вводу и выводу, обновление адресов при передаче каждого слова;

2) синхронизация обмена данными между устройствами ввода/вывода и основной памятью или процессором;

3) управление работой устройств ввода/вывода. Необходимо осуществлять не только передачу данных, но и реализацию управляющих действий, например, перемещение магнитной головки на нужную дорожку;

4) преобразование информации. Обычно основная память связана с внутренней системной шиной