Обмен информацией
Основной функцией МВВ является обеспечение обмена информацией.
Со стороны «большого» интерфейса - это обмен с ЦП, а со стороны «малого» интерфейса – обмен ВУ В таком плане требования к МВВ непосредственно проистекают из типовой последовательности операций, выполняемых процессором при вводе/выводе:
Выбор требуемого внешнего устройства.
Определение состояния МВВ и ВУ.
Выдача указания МВВ на подключение нужного ВУ к процессору.
Получение от МВБ подтверждения о подключении затребованного ВУ к процессору.
Распознавание сигнала готовности устройства к передаче очередной порции информации.
Прием (передача) порции информации.
Циклическое повторение двух предшествующих пунктов до завершения передачи информации в полном объеме.
Логическое отсоединение ВУ от процессора.
С учетом описанной процедуры функция обмена информацией с ЦП включает в себя:
дешифровку команды: МВВ получает команды из ЦП в виде сигналов на шине управления;
пересылку данных между МВВ и ЦП по шине данных;
извещение о состоянии: из-за того, что ВУ — медленные устройства, важно знать состояние модуля ввода/вывода.
Например, в момент получения запроса на пересылку данных в центральный процессор МВВ может быть не готов выполнить эту пересылку, поскольку еще не завершил предыдущую команду. Этот факт должен быть сообщен процессору с помощью соответствующего сигнала. Возможны также сигналы, уведомляющие о возникших ошибках;
распознавание адреса: МВВ обязан распознавать адрес каждого ВУ, которым он управляет.
МВВ должен выполнять функцию обмена информацией с ВУ. Такой обмен также включает в себя передачу данных, команд и информации о состоянии.
Буферизация
Несмотря на различия в скорости обмена информацией для разных ВУ, все они в этом плане значительно отстают от ЦП и памяти. Такое различие компенсируется за счет буферизации.
При выводе информации на ВУ данные пересылаются из основной памяти в МВВ с большой скоростью. В модуле эти данные буферизируются и затем направляются в ВУ со скоростью, свойственной последнему. При вводе из ВУ данные буферизируются так, чтобы не заставлять память работать в режиме медленной передачи.
Таким образом, МВВ должен обладать способностью работать, как со скоростью памяти, так и со скоростью ПУ
Обнаружение ошибок
Одной из важнейших функций МВВ является обнаружение ошибок, возникающих в процессе ввода/вывода. Центральный процессор следует оповещать о каждом случае обнаружения ошибки. Причинами возникновения последних бывают разнообразные факторы, которые можно свести к следующим группам:
воздействие внешней среды;
старение элементной базы;
системное программное обеспечение;
пользовательское программное обеспечение.
Из наиболее «активных» факторов окружения ВМ следует выделить:
загрязнение и влагу;
повышенную или пониженную температуру окружающей среды
электромагнитное облучение;
скачки напряжения питания
Степень влияния каждого из этих факторов зависит от типа и конструкции МВВ.
К загрязнению наиболее чувствительны оптические и механические элементы ВУ; работа электронных компонентов СВВ в большей степени зависит от температуры внешней среды, электромагнитного воздействия и стабильности питающею напряжения.
Фактор старения характерен как для механических, так и для электронных элементов СВВ.
В механических элементах он выражается в виде износа, следствие его может быть неточное позиционирование головок считывания/записи на внешних запоминающих устройствах или неправильная подача бумаги в принтерах Старение электронных элементов обычно выражается в изменении электрических параметров схем, приводящем к нарушению управления и синхронизации. Так отклонения в параметрах электронных компонентов в состоянии вызвать недопустимый «перекос» сигналов, передаваемых между ЦП и МВВ или внутри МВВ
Источником ошибок может стать и несовершенство системного программного обеспечения (ПО):
непредвиденные последовательности команд или кодовые комбинации;
некорректное распределение памяти;
недостаточный размер буфера ввода/вывода;
недостаточно продуманные и оттестированные комбинации системных модулей.
Среди ошибок, порождаемых пользовательским ПО, наиболее частыми являются:
нарушение последовательности выполнения программы;
некорректные процедуры.
Вероятность возникновения ошибки внутри процессора для современных ЦП оценивается величиной порядка 10-18, в то время как для остальных составляющих ВМ она лежит в диапазоне 10-8-10-12
