Управление и синхронизация
Функция управления и синхронизации заключается в том, что МВВ должен координировать перемещение данных между внутренними ресурсами ВМ и внешними устройствами. При разработке системы управления и синхронизации модуля ввода/вывода необходимо учитывать целый ряд факторов. Прежде всего, нужно принимать во внимание, что ЦП может взаимодействовать одновременно с несколькими ВУ, причем быстродействие подключаемых к МВВ внешних устройств варьируется в очень широких пределах — от нескольких байтов в секунду в терминалах до десятков миллионов байтов в секунду при обмене с магнитными дисками. Если в системе используются шины, каждое взаимодействие между ЦП и МВВ включает в себя одну или несколько процедур арбитража. В отличие от обмена с памятью процессы ввода/вывода и работа ЦП протекают не синхронно. Очередная порция информация может быть выдана на устройство вывода лишь тогда, когда это устройство готово их принять. Аналогично, ввод от устройства ввода допустим только в случае доступности информации на устройстве ввода. Несинхронный характер процессов ввода/вывода предполагает обмен сигналами, аналогичный процедуре «рукопожатия» (handshake), описанной в главе 4. Для двухпроводной системы синхронизации эта процедура состоит из четырех шагов, которые применительно к операции вывода можно описать следующим образом: 1. Центральный процессор с помощью сигнала ДД = 1 (данные достоверны) извещает о доступности данных, подлежащих выводу. 2. Приняв данные, устройство вывода сообщает процессору об их получении сигналом ДП = 1 (данные приняты). 3. Получив подтверждение, ЦП обнуляет сигнал ДД и снимает данные с шины, после чего может выставить на шину новые данные.
4. Обнаружив, что ДД = 0, устройство вывода, в свою очередь, устанавливает в нулевое состояние сигнал ДП, после чего оно готово для обработки принятых данных все время до получения очередного сигнала ДД = 1. Описанную процедуру иллюстрирует рис. 8.4 (в скобках указаны номера шагов).
Рис. 8.4. Временная диаграмма процедуры «рукопожатия»
Таким образом, модуль ввода/вывода обязан снабдить центральный процессор информацией о собственной готовности к обмену, а также готовности подключенных к модулю ВУ. Помимо этого, процессор должен обладать оперативными сведениями и об иных происходящих в CBB событиях. Обмен информацией Основной функцией МВВ является обеспечение обмена информацией. Со стороны «большого» интерфейса — это обмен с ЦП, а со стороны «малого» интерфейса — обмен с ВУ. В таком плане требования к МВВ непосредственно проистекают из типовой последовательности операций, выполняемых процессором при вводе/выводе. 1. Выбор требуемого внешнего устройства. 2. Определение состояния МВБ и ВУ. 3. Выдача указания модулю ввода/вывода на подключение нужного ВУ к процессору. 4. Получение от МВБ подтверждения о подключении затребованного ВУ к процессору. 5. Распознавание сигнала готовности устройства к передаче очередной порции информации. 6. Прием (передача) порции информации. 7. Циклическое повторение двух предшествующих пунктов до завершения передачи информации в полном объеме. 8. Логическое отсоединение ВУ от процессора. С учетом описанной процедуры функция обмена информацией с ЦП включает в себя: дешифровку команды: МВБ получает команды из ЦП в виде сигналов на шине управления; пересылку данных между МВБ и ЦП по шине данных; извещение о состоянии: из-за того, что БУ — медленные устройства, важно знать состояние модуля ввода/вывода. Так, в момент получения запроса на пересылку данных в центральный процессор МВВ может быть не готов выполнить эту пересылку, поскольку еще не завершил предыдущую команду. Этот факт должен быть сообщен процессору с помощью соответствующего сигнала. Возможны также сигналы, уведомляющие о возникших ошибках;
распознавание адреса; МВВ обязан распознавать адрес каждого ВУ, которым он управляет. Наряду с обеспечением обмена с процессором МВВ должен выполнять функцию обмена информацией с ВУ. Такой обмен также включает в себя передачу данных, команд и информации о состоянии. Буферизация Важной задачей модуля ввода/вывода является буферизация данных, необходимость которой иллюстрирует табл. 8.1. Таблица 8.1. Примеры устройств ввода/вывода, упорядоченные по режиму работы, субъекту и скорости передачи данных
Несмотря на различия в скорости обмена информацией для разных ВУ, все они в этом плане значительно отстают от ЦП и памяти. Такое различие компенсируется за счет буферизации. При выводе информации на ВУ данные пересылаются из основной памяти в МВБ с большой скоростью. В модуле эти данные буферизируются и затем направляются в ВУ со скоростью, свойственной последнему. При вводе из ВУ данные буферизируются так, чтобы не заставлять память работать в режиме медленной передачи. Таким образом, МВБ должен обладать способностью работать как со скоростью памяти, так и со скоростью ПУ. Обнаружение ошибок Еще одной из важнейших функций МВБ является обнаружение ошибок, возникающих в процессе ввода/вывода. Центральный процессор следует оповещать о каждом случае обнаружения ошибки. Причинами возникновения последних бывают самые разнообразные факторы, которые в первом приближении можно свести к следующим группам:
Из наиболее «активных» факторов окружения ВМ следует выделить:
Степень влияния каждого из этих факторов зависит от типа и конструкции МВБ и ВУ. Так, к загрязнению наиболее чувствительны оптические и механические элементы ВУ, в то время как работа электронных компонентов СВВ в большей степени зависит от температуры внешней среды, электромагнитного воздействия и стабильности питающего напряжения. Фактор старения характерен как для механических, так и для электронных элементов СВВ. В механических элементах он выражается в виде износа, следствием чего может быть неточное позиционирование головок считывания/записи на внешних запоминающих устройствах или неправильная подача бумаги в принтерах. Старение электронных элементов обычно выражается в изменении электрических параметров схем, приводящем к нарушению управления и синхронизации. Так, отклонения в параметрах электронных компонентов в состоянии вызвать недопустимый «перекос» сигналов, передаваемых между ЦП и МВВ или внутри МВВ. Источником ошибок может стать и несовершенство системного программного обеспечения (ПО):
Среди ошибок, порождаемых пользовательским ПО, наиболее частыми являются:
Вероятность возникновения ошибки внутри процессора для современных ЦП оценивается величиной порядка 10-18, в то время как для остальных составляющих ВМ она лежит в диапазоне 10-8 – 10-12.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|