Скачиваний:
100
Добавлен:
09.05.2014
Размер:
481.28 Кб
Скачать

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

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

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

Ядро ЭВМ

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

К 1

ВУ 1

К к

ВУ к

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

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

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

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

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

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

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

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

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

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

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

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

Процессор

Запрос

КО АВУ

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

…..….

СД

К 1

ВУ 1

К к

ВУ к

Р

Оперативная память

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • последовательности слов.

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

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

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

ВУ

К

ВУ

К

П

ОП

КОШ

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

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

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

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

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

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

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

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

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

       

t

Рис. 1.5.4. Мультиплексный режим работы канала ввода-вывода (, ,  - адреса внешних устройств 0,1,2,…)

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

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

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

К

КВВ

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

П

ОП

К

ВУ

К

ВУ

КВВ

К

ВУ

К

ВУ

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

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

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

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

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

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

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

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

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

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

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

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

1.6. Принцип многоуровневой реализации функций.

Функция (назначение) компьютера – реализация программ. Программы исполняются аппаратурой компьютера: процессором, запоминающими устройствами (ЗУ) и устройствами ввода-вывода (УВВ)(см. рис.1.6.1.), которые взаимодействуют между собой в соответствии с рис.1.4.4 и 1.5.1. Возможности аппаратуры компьютера по вводу-выводу, хранению и обработки информации ограничены технологиями микроэлектроники и электромеханики, позволяющим сделать по приемлемой цене только ограничению по реализуемым функциями и быстродействию аппаратуру. Поскольку возможности аппаратуры ограничены, встает вопрос о разумном по стоимости составе операций, реализуемых аппаратурой компьютера. Состав операций определяют операционные возможности аппаратуры компьютера и, следовательно, состав команд, в которых программируется алгоритмы. Таким образом, аппаратура компьютера устанавливает язык программирования задач, определяющий размер слов, систему команд и операций, размер адресуемой памяти, количество запоминающих устройств и устройств ввода-вывода. Язык программирования компьютера можно рассматривать, как программно-управляемый интерфейс. Существует проблема погружения задач, формулируемых в терминах языка людей, в аппаратуру компьютера, способную выполнять только ограниченный набор операций обработки, хранения и ввода-вывода данных. Эта проблема решается на основе принципа многоуровневой реализации функций.