June 2, 2018

Лекция №17

Системы ввода/вывода

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

Технически система ввода/вывода в рамках ВМ реализуется комплексом мо­дулей ввода/вывода (МВВ). Модуль ввода/вывода выполняет сопряжение ВУ с ЭВМ и различные коммуникационные операции между ними. Две основные функции МВВ:

- обеспечение интерфейса с ЦП и памятью («большой» интерфейс);

- обеспечение интерфейса с одним или несколькими периферийными устрой­ствами («малый» интерфейс).

Анализируя архитектуру известных ВМ, можно выделить три основных способа подключения СВВ к ядру процессора.

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

Рис. 1. Место системы ввода/вывода в архитектуре вычислительной машины: а – с раздель­ными шинами памяти и ввода/вывода; б – с совместно используемыми линиями данных и адреса; в – подключение на общих правах с процессором и памятью

Второй вариант — с совместно используемыми линиями данных и адреса (см. рис. 1, б). Память и СВВ имеют общие для них линии адреса и линии данных, разделяя их во времени. В то же время управление памятью и СВВ, а также синхронизация их взаимодействия с процессором осуществляются независимо по раздельным линиям управления. Это позволяет учесть особенности процедур обращения к памяти и к модулям ввода/вывода и добиться наибольшей эффективной доступа к ячейкам памяти и внешним устройствам.

Последний тип архитектуры ВМ предполагает подключение СВВ к системной шине на общих правах с процессором и памятью (см. рис. 1, в).

Преимущества: простота и низкая стоимость.

Недостатки: такое подключение не в состоянии обеспечить высокие интенсивность и скорость операций на шине.

Адресное пространство системы ввода/вывода

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

Адресное пространство ввода/вывода может быть совмещено с адресным пространством памяти или быть выделенным.

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

Рис. 2.Распределение совмещенного адресного пространства

Достоинства совмещенного адресного пространства:

- Расширениенабора команд для обращения к внешним устройствам, что позво­ляет сократить длину программы и повысить быстродействие;

- Значительное увеличение количества подключаемых внешних устройств;

- возможность внепроцессорного обмена данными между внешними устройствами, если в системе команд есть команды пересылки между ячейками памяти;

- возможность обмена информацией не только с аккумулятором, но и с любым регистром центрального процессора.

Недостатки совмещенного адресного пространства:

-        сокращение области адресного пространства памяти;

-    усложнение декодирующих схем адресов в СВВ;

-   трудности распознавания операций передачи информации при вводе/выв среди других операций.

Сложности в чтении и отладке программы, в которой простые команды вызывают выполнение сложных операций ввода/вывода;

В случае выделенного адресного пространства для обращения к модулям ввода/вывода применяются специальные команды и отдельная система адресов. Это позволяет разделить шины для работы с памятью и шины ввода/вывода, что дает возможность совмещать во времени обмен с памятью и ввод/вывод. Кроме того, адресное пространство памяти может быть использовано по прямому назначению в полном объеме.

Достоинства выделенного адресного пространства:

- адрес внешнего устройства в команде ввода/вывода может быть коротким. В большинстве СВВ количество внешних устройств намного меньше количества ячеек памяти. Короткий адрес ВУ подразумевает такие же короткие команды ввода/вывода и простые дешифраторы;

- программы становятся более наглядными, так как операции ввода/вывода выполняются с помощью специальных команд;

-  разработка СВВ может проводиться отдельно от разработки памяти.

Недостатки выделенного адресного пространства:

-         ввод/вывод производится только через аккумулятор центрального процессора. Для передачи информации от ВУ в РОН, если аккумулятор занят, требуется выполнение четырех команд (сохранение содержимого аккумулятора, ввод из ВУ, пересылка из аккумулятора в РОН, восстановление содержимого аккумулятора);

-         перед обработкой содержимого В У это содержимое нужно переслать в ЦП.

Внешние устройства

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

-        для общения с пользователем;

-        для общения с ВМ;

-        для связи с удаленными устройствами.

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

Обмен данными с внешней средой

Рис. 3. Структура внешнего устройства

Обобщенная структура ВУ показана на рис. 3. Интерфейс с МВВ реализуется в виде сигналов управления, состояния и данных. Данные представлены совокупностью битов, которые должны быть переданы в модуль ввода/вывода или получены из него. Сигналы управления определяют функцию, которая должна быть выполнена внешним устройством. Это может быть стандартная для всех устройств функция — посылка данных в МВВ или получение данных из него, либо специфичная для данного типа ВУ функция, такая, например, как позиционирование головки магнитного диска или перемотка магнитной ленты. Сигналы состояния характеризуют текущее состояние устройства, в частности включено ли ВУ и готово ли оно к передаче данных.

Логика управления — это схемы, координирующие работу ВУ в соответствии с направлением передачи данных. Задачей преобразователя является трансформация информационных сигналов, имеющих самую различную физическую природу, в электрические сигналы, а также обратное преобразование. Обычно совместно с преобразователем используется буферная память, обеспечивающая временное хранение данных, пересылаемых между МВВ и ВУ.

Модули ввода/вывода

Функции модуля

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

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

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

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

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

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

Структура модуля ввода-вывода

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

Связь модуля ввода/вывода с ядром ВМ осуществляется посредством системной или специализированной шины.

Данные, передаваемые в модуль и из него, буферизируются в регистре данных. Буферизация позволяет компенсировать различие в быстродействии ядра ВМ и внешних устройств.

Помимо регистра данных в составе МВВ имеются также регистр управления и регистр состояния (либо совмещенный регистр управления/состояния).

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

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

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

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

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

Методы управления вводом/выводом

В ЭВМ находят применение три способа организации ввода/вывода:

-    программно управляемый ввод/вывод;

-    ввод/вывод по прерываниям;

-     прямой доступ к памяти.

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

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

Повышение как скорости В/ВЫВ, так и эффективности использования ЦП обеспечивает третий способ В/ВЫВ  –  прямой доступ к памяти (ПДП). В этом режиме основная память и модуль ввода/вывода обмениваются информацией напрямую, минуя процессор.