Организация ввода-вывода

Лекция 6

 

Передача информации от периферийного устройства в ядро ЭВМ называется операцией ввода, а передача из ядра ЭВМ в периферийное устройство - операцией вывода.

Связь устройств ЭВМ друг с другом осуществляется с помощью средств сопряжения - интерфейсов.

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

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

1) Должна быть обеспечена возможность реализации машин с переменным составом оборудования.

2) Для эффективного использования оборудования ЭВМ должны реализовываться параллельная во времени работа процессора над программой и выполнение периферийными устройствами процедур ввода-вывода.

3) Необходимо стандартизировать программирование операций ввода-вывода для обеспечения их независимости от особенностей периферийного устройства.

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

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

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

 

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

Внешние устройства (ВУ) подключаются к интерфейсу ввода-вывода (ИВВ) через контроллеры (К) по схеме, представленной на рис. 1.

 

Ядро ЭВМ
Интерфейс ввода-вывода

       
   

 


 

Рис.1. Схема подключения внешних устройств

Контроллер – электронное устройство, выполняющее следующие функции:

1) Опознавание обращения к ВУ путем сравнения собственного адреса с адресом ВУ, представленным на шине ввода-вывода;

2) Прием команды ввода-вывода, посылаемой по шине;

3) Исполнение команды ввода-вывода, что сводится к передаче данных между интерфейсом и ВУ и формированию сигналов, управляющих работой ВУ;

4) Формирование и передачу в шину информации о завершении операции ввода-вывода или об особых ситуациях в работе ВУ (неготовность к работе, ошибка в передаче данных и т.п.);

5) Формирование сигналов запроса от ВУ на передачу информации через интерфейс.

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

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

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

-разрядностью адреса ВУ, представляемого на линиях интерфейса.

Структура компьютера с программно управляемым интерфейсом (ПУИ) ввода-вывода.

 
 
Процессор Запрос


КО АВУ

Интерфейс ввода-вывода

…..….

               
     
     
 
 


Оперативная память
Рис. 2.Структура компьютера с программно-управляемым интерфейсом ввода-вывода

В данной структуре (см. рис. 2.), на процессор возлагаются функции обеспечения ввода-вывода и ВУ подключаются через интерфейс ввода-вывода непосредственно к процессору. Команда ввода-вывода содержит код операции (КО) и адрес внешнего устройства (АВУ) и исполняется следующим образом:

1) Код операции КО и адрес АВУ посылается процессором в шину ввода-вывода;

2) Контроллеры ВУ сравнивают свои адреса с АВУ. Контроллер с заданным адресом принимает КО и инициирует работу ВУ;

3) При вводе данных СД предается по шине ввода-вывода в процессор, а при выводе – из процессора в контроллер ВУ, после чего команда ввода-выводасчитается выполненной.

(СД- слово данных пересылается специальным устройством ввода-выводамежду контроллером и регистром СД.)

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

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

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

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

Однако структуре с программно-управляемым интерфейсом присущи следующие недостатки:

1) Снижение производительности процессора за счет:

· простоев процессора при ожидании передачи данных в ВУ (или обратно)

· выполнения процессором операций по обслуживанию передачи последовательности слов.

2) Невозможность подключения к интерфейсу ввода-вывода высоко скоростных ВУ, поскольку для передачи данных между процессором и оперативной памятью требуется несколько процессорных операций.

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

Структура компьютера с общей шиной.

 


Рис. 3. Структура компьютера с общей шиной

Все устройства компьютера (см рис. 3.) процессор П, оперативная память ОП и внешние устройства ВУ подключаются к обшей шине , через контроллеры К.

Общая шина состоит из совокупности шин:

· шины адреса, по которой передаются адреса ячеек оперативной памяти и ВУ;

· шины данных, по которой передаются слова данных;

  • шины управления, по которой передаются запросы на передачу данных, тип передачи (чтение/запись) и т.п.

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

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

Чем выше пропускная способность шины, тем меньше ее длина. А этот фактор влияет на количество устройств, подключаемых к общей шине.

Структура компьютеров с каналами ввода-вывода.

В этой структуре (см. рис. 4) процессор полностью освобождается от обслуживания ввода-вывода данных, а выполнение операций ввода-вывода возлагается на каналы ввода-вывода (КВВ).

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

КВВ
Команды ввода-вывода Интерфейс ввода-вывода

       
   
 
 

 


Рис. 4. Структура

К ВУ  
К ВУ  
компьютера с каналами ввода-вывода

 

КВВ реализует следующие функции:

 

1) Выборку из ОП управляющего слова канала, содержащего код операции исполняемой КВВ и заданным ВУ, адрес области оперативной памяти, в которую вводятся данные, и длину сегмента вводимых (выводимых) данных;

2) Выполнение управляющего слова канала путем управления работой внешнего устройства ВУ и передачи данных между ВУ и ОП через интерфейс ввода-вывода. По окончанию передачи сегмента данных КВВ выбирает из ОП следующее управляющее слово канала;

3) Формирование сигналов, поступающих в процессор, о завершении программы ввода-вывода или особых ситуациях, возникших в процессе выполнения программы (неготовность ВУ, ошибка в данных и т.п.).

При наличии нескольких КВВ одновременно могут исполняться несколько программ ввода-вывода. При этом процессор освобожден от обслуживания ввода-вывода и способен обрабатывать данные по другим программам.

КВВ функционирует во времени в следующих режимах:

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

2) Монопольный режим, при котором ресурсы КВВ и интерфейс ввода-вывода предоставляются для обслуживания одного внешнего устройства на весь период передачи блока данных.

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

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