ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.12.2021

Просмотров: 1194

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

4 0 6 Глава 6. Системы ввода/вывода

Когда пересылка завершена (при нулевом значении в СД), КПДП снимает сиг-

нал «Запрос ПДП», в ответ на что ЦП снимает сигнал «Подтверждение ПДП»
и вновь берет на себя управление системной шиной, то есть ЦП вовлечен в про-
цесс ввода/вывода только в начале и конце передачи.

Эффективность ПДП зависит от того, каким образом реализовано распределе-

ние системной шины между ЦП и КПДП в процессе пересылки блока. Здесь мо-

жет применяться один из трех режимов:

- блочная пересылка;
- пропуск цикла;
- прозрачный режим.

При

 блочной пересылке

 КПДП полностью захватывает системную шину с мо-

мента начала пересылки и до момента завершения передачи всего блока. На весь

этот период ЦП не имеет доступа к шине.

В режиме

 пропуска цикла

 КПДП после передачи каждого слова на один цикл

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

фективно распорядиться данным обстоятельством,

В

 прозрачном режиме

 КПДП имеет доступ к системной шине только в тех цик-

лах, когда ЦП в ней не нуждается. Это обеспечивает наиболее эффективную рабо-

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

интенсивность использования шины процессором.

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

ко точек, где КПДП вправе захватить шину (рис 8.10). Отметим, что это не преры-
вание: процессору не нужно запоминать контекст задачи.

Рис. 8.10, Точки возможного вмешательства в цикл команды при прямом доступе

к памяти и при обычном прерывании

Механизм ПДП может быть реализован различными путями. Некоторые воз-

можности показаны на рис. 8.11.

В первом примере (см. рис. 8.11,

 а)

 все ВУ совместно используют общую сис-

темную шину. КПДП работает как заменитель ЦП и обмен данными между памя-
тью и ВУ через КПДП производит через программно управляемый ввод/вывод.

Хотя этот вариант может быть достаточно дешевым, эффективность его невысока.

Как и в случае программно управляемого ввода/вывода, осуществляемого проце-

сором, каждая пересылка требует двух циклов шины.


background image

Каналы и процессоры ввода/вывода  4 0 7

]

Рис. 8.11, возможные конфигурации систем прямого доступа к памяти

Число необходимых циклов шины может быть уменьшено при объединении

функций КПДП и ВУ. Как видно из рис. 8.11,

6,

 это означает, что между КПДП

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

один шаг в том же направлении (см. рис, 8.11,

 в) —

 соединение КПДП с ВУ

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

Каналы и процессоры ввода/вывода

По мере развития систем В/ВЫВ юс функции усложняются. Главная цель такого

усложнения — максимальное высвобождение ЦП от управления процессами вво-

да/вывода. Некоторые пути решения этой задачи уже были рассмотрены. Следу-

ющими шагами в преодолении проблемы могут быть:

1. Расширение возможностей МВБ и предоставление ему прав процессора со

специализированным набором команд, ориентированных на операции ввода/

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

вает ЦП только после завершения всей программы ввода/вывода.

2. Рассмотренному _в пункте 1 процессору ввода/вывода придается собственная

локальная память, при этом возможно управление множеством устройств В/

ВЫВ с минимальным привлечением ЦП.
В первом случае МВБ называют

 каналом ввода/вывода

 (КВВ), а во втором —

процессором ввода/вывода.

 В принципе различие между каналом и процессором

ввода/вывода достаточно условно, поэтому в дальнейшем будем пользоваться тер-
мином "канал".

Концепция системы ввода/вывода с КВВ характерна для больших универсаль-

ных вычислительных машин (мэйнфреймов), где проблема эффективной органи-


background image

4 0 8 Глава 8. Системы ввода/выводе

зации В/ВЫВ и максимального высвобождения центрального процессора в пользу
его основной функции стоит наиболее остро. СВВ с каналами ввода/вывода была
предложена и реализована в ВМ семейства IBM 360 и получила дальнейшее раз-
витие в семействах IBM 370 и IBM 390.

В ВМ с каналами ввода/вывода центральный процессор практически не уча-

ствует в непосредственном управлении внешними устройствами, делегируя эту
задачу специализированному процессору, входящему в состав КВВ. Все функции

ЦП сводятся к запуску и остановке операций в КВВ, а также проверке состояния

канала и подключенных к нему ВУ. Для этих целей ЦП использует лишь несколь-
ко (от 4 до 7) команд ввода/вывода. Например, в IBM 360 таких команд четыре:

-

 «Начать ввод/вывода;

-

 «Остановить ввод/вывод»;

-

 «Проверить ввод/вывод»;

-

 «Проверить канал».

КВВ реализует операции В/ВЫВ путем выполнения так называемой

 канал-

ной программы.

 Канальные программы для каждого ВУ, с которым предполагает-

ся обмен информацией, описывают нужную последовательность операций ввода/
вывода и хранятся в основной памяти ВМ. Роль команд в канальных программах
выполняют

 управляющие слова канала

 (УСК), структура которых отличается от

структуры обычной машинной команды. Типовое УСК содержит:

- код операции,

 определяющий для КВВ и ВУ тип операции: «Записать» (вывод

информации из ОП в ВУ), «Прочитать» (ввод информации из ВУ в ОП), «Уп-
равление» (перемещение головок НМД, магнитной ленты и т. п.);

- указатели

 — дополнительные предписания, задающие более сложную после-

довательность операций В/ВЫВ, например при вводе пропускать отдельные

записи или наоборот — с помощью одной команды вводить «разбросанный»- по
ОП массив как единый;

- адрес данных,

 указывающий область памяти, используемую в операции ввода/

вывода;

-

 счетчик данных,

 хранящий значение длины передаваемого блока данных.

Кроме того, в УСК может содержаться идентификатор ВУ и информация о его

уровне приоритета, указания по действиям, которые должны быть произведены

при возникновении ошибок и т. п.

Центральный процессор инициирует ввод/вывод путем инструктирования

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

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

дом/выводом строится иерархическим образом. В операциях ввода/вывода уча-

ствуют три типа устройств:

-

 процессор (первый уровень управления);

- канал ввода/вывода (второй уровень);


background image

Каналы и процессоры ввода/вывода  4 0 9

- внешнее устройство (третий уровень).

Каждому типу устройств соответствует свой вид управляющей информации:

- процессору — команды ввода/вывода;
- каналу — управляющие слова канала;

-периферийному устройству — приказы.

Структура ВМ с канальной системой ввода/вывода показана на рис. 8.12.

Рис. 8.12. ВМ с канальной системой ввода/вывода

Обмен информацией между КВВ и основной памятью осуществляется посред-

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

Обмен информацией между БУВУ и КВВ обеспечивается так называемыми

канальными трактами.

 Обычно каждое БУВУ связано с одним из канальных трак-

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

В пределах канала ввода/вывода считается, что каждое ВУ подключено к свое-

му

 подканалу.

 Подканалы имеют свои уникальные логические номера, с помощью

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


background image

4 1 0 Глава 8. Системы ввода/вывода

ввода/вывода, выполняемой данным ВУ: текущие значения адреса и счетчика дан-

ных, кoд и указатели операции ввода/вывода, адрес следующего УСК и др. Для

хранения этих параметров обычно используется локальная память канала.

Обмен информацией между ВУ и ОП, как уже упоминалось, реализуется в ре-

жиме прямого доступа к памяти, при этом для взаимодействия ЦП и канала задей-
ствованы сигналы «Запрос ПДП» и «Подтверждение ПДП».

Чтобы известить ЦП об окончании текущей канальной программы или об ошиб-

ках, возникших при ее выполнении, КВВ выдает в ЦП сигнал «Запрос прерывания».
В свою очередь, ЦП может привлечь внимание канала сигналом «Внимание».

Способ организации взаимодействия ВУ с каналом определяется соотношени-

ем быстродействия ОП и ВУ. По этому признаку ВУ образуют две группы: быст-

родействующие (накопители на магнитных дисках (НМД), накопители на магнит-

ных лентах (НМЛ)) со скоростью приема и выдачи информации около 1 Мбайт/с
и медленнодействующие (дисплеи, печатающие устройства и др.) со скоростями

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

ты:

 мультиплексный

 (режим разделения времени) и

 монопольный.

В

 мультиплексном режиме

 несколько внешних устройств разделяют канал во

времени, при этом каждое из параллельно работающих с каналом ВУ связывается

с КВВ на короткие промежутки времени только после того, как ВУ будет готово

к приему или выдаче очередной порции информации (байта, группы байтов
и т. д.). Такая схема принята в

 мультиплексном канале ввода/вывода.

 Если в тече-

ние сеанса связи пересылается один байт или несколько байтов, образующих одно
машинное слово, канал называется

 байт-мультиплексным.

 Канал, в котором в пре-

делах сеанса связи пересылка данных выполняется поблочно, носит название

 блок-

мультиплексного.

В

 монопольном режиме

 после установления связи между каналом и ВУ послед-

нее монополизирует канал на все время до завершения инициированной процес-
сором канальной программы и всех предусмотренных этой программой пересы-

лок данных между ВУ и ОП. На все время выполнения канальной программы канал

оказывается недоступным для других ВУ. Данную процедуру обеспечивает

 селек-

торный канал ввода/вывода.

 Отметим, что в блок-мультиплексном канале в рам-

ках сеанса связи пересылка блока осуществляется в монопольном режиме.

Канальная подсистема

В последовавших за IBM 360 семействах универсальных ВМ семейства IBM 370 и
особенно IBM 390 концепция системы ввода/вывода на базе каналов получила

дальнейшее развитие и вылилась в так называемую

 канальную подсистему ввода/

вывода

 (КПВВ). Главная идея заключается в интегрировании отдельных КВВ

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


Смотрите также файлы