Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
02. Организация компьютеров.doc
Скачиваний:
13
Добавлен:
16.12.2018
Размер:
556.03 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Снижение производительности процессора за счет простоев процессора при ожидании передачи данных в ВУ (или обратно) и выполнения процессором операций по обслуживанию передачи последовательности слов.

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

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

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

П

ОП

ВУN

КN

ВУ1

К1

КОШ

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

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

       

t

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

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

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

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

К

КВВ

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

П

ОП

К

ВУ

К

ВУ

КВВ

К

ВУ

К

ВУ

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

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

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

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

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

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

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

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

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

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

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