Организация ввода и вывода данных в микропроцессоре.

Вводом - выводом информации называют процесс передачи данных между МП и основной памятью (ОЗУ, ПЗУ), между МП и внешними устройствами, а также между основной памятью и внешними устройствами. Различают ввод - вывод программный, по прерываниям и прямым доступом к памяти.

Программный ввод - вывод инициируется программой работы МП. Данный процесс задается использованием в соответствующих местах программы специальных команд: IN port - ввод данных из порта ввода и OUT port - вывод данных в порт вывода. Портами обычно являются регистры для подключения внешних устройств. Эти команды выполняются немедленно, если внешние устройства имеют свойство постоянной готовности к приему или передаче данных. Такими устройствами могут быть, например, светодиодные индикаторы на выходе порта или набор кнопок на входе порта. Если внешнее устройство таким свойством не обладает, то при выполнении команды необходимо осуществлять проверку управляющего сигнала готовности устройства к передаче или приему данных. Если готовность устройства не подтверждается, то МП переходит в режим ожидания активного уровня сигнала готовности. Недостатком такой организации ввода - вывода являются большие временные затраты на ожидание готовности внешнего устройства. Однако такой способ ввода - вывода имеет преимущество, заключающееся в простой аппаратной реализации. Поэтому такая форма организации используется преимущественно для осуществления ввода или вывода данных с устройств постоянно готовых к обмену.

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

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

Ввод - вывод с прямым доступом к памяти (ПДП) используется в случаях, когда необходим обмен между основной памятью и внешними устройствами большими массивами данных. Как правило, ввод и вывод данных в МП реализуется через аккумулятор. Таким образом, для передачи данных из внешнего устройства или внешней памяти в основную память осуществляется с помощью следующей последовательности команд для каждого элемента массива данных: сперва данные заносятся из внешнего устройства или внешней памяти в аккумулятор, затем из аккумулятора в основную память. Т.е. данные пересылаются через МП. Это значительно снижает производительность системы. Чтобы избавиться от этого недостатка прибегают к режиму ПДП. Суть его заключается в следующем: буферные регистры данных и адреса МП переводятся в высокоимпедансное состояние, благодаря чему МП оказывается отключенным от шины данных и шины адреса. Отключение МП позволяет внешнему устройству самостоятельно обмениваться данными с памятью, для чего устройство должно само устанавливать на шине адреса адрес требуемой ячейки памяти, а также формировать соответствующие управляющие сигналы. Для этих целей микропроцессорные комплекты комплектуются специальными микросхемами, называемыми контроллерами прямого доступа к памяти. Отсюда следует недостаток режима ПДП - для его реализации требуется использование дополнительных аппаратных средств.