Рис. 8.11, возможные конфигурации систем прямого доступа к памяти
Число необходимых циклов шины может быть уменьшено при объединении функций КПДП и ВУ. Как видно из рис. 8.11,6, это означает, что между КПДП и одним или несколькими ВУ есть другой тракт, не включающий системную шину. Логика ПДП может быть частью ВУ, либо это может быть отдельный КПДП, уп­равляющий одним или несколькими внешними устройствами. Допустим и еще один шаг в том же направлении (см. рис, 8.11, в) — соединение КПДП с ВУ посредством шины ввода/вывода. Это уменьшает число интерфейсов В/ВЫВ в КПДП и делает такую конфигурацию легко расширяемой. В двух последних ва­риантах системная шина задействуется КПДП только для обмена данными с па­мятью. Обмен данными между КПДП и ВУ реализуется минуя системную шину.
Каналы и процессоры ввода/вывода
По мере развития систем В/ВЫВ юс функции усложняются. Главная цель такого усложнения — максимальное высвобождение ЦП от управления процессами вво­да/вывода. Некоторые пути решения этой задачи уже были рассмотрены. Следу­ющими шагами в преодолении проблемы могут быть:
1.   Расширение возможностей МВБ и предоставление ему прав процессора со специализированным набором команд, ориентированных на операции ввода/ вывода. ЦП дает указание такому процессору В/ВЫВ выполнить хранящуюся в памяти ВМ программу ввода/вывода. Процессор В/ВЫВ извлекает и испол­няет команды этой программы без участия центрального процессора и преры­вает ЦП только после завершения всей программы ввода/вывода.
2.   Рассмотренному в пункте 1 процессору ввода/вывода придается собственная локальная память, при этом возможно управление множеством устройств В/ ВЫВ с минимальным привлечением ЦП.
В первом случае МВБ называют каналом ввода/вывода (КВВ), а во втором — процессором ввода/вывода. В принципе различие между каналом и процессором ввода/вывода достаточно условно, поэтому в дальнейшем будем пользоваться тер­мином "канал".
Концепция системы ввода/вывода с КВВ характерна для больших универсаль­ных вычислительных машин (мэйнфреймов), где проблема эффективной органи-
4 08 Глава 8. Системы ввода/выводе
зации В/ВЫВ и максимального высвобождения центрального процессора в пользу его основной функции стоит наиболее остро. СВВ с каналами ввода/вывода была предложена и реализована в ВМ семейства IBM 360 и получила дальнейшее раз­витие в семействах IBM 370 и IBM 390.
В ВМ с каналами ввода/вывода центральный процессор практически не уча­ствует в непосредственном управлении внешними устройствами, делегируя эту задачу специализированному процессору, входящему в состав КВВ. Все функции ЦП сводятся к запуску и остановке операций в КВВ, а также проверке состояния канала и подключенных к нему ВУ. Для этих целей ЦП использует лишь несколь­ко (от 4 до 7) команд ввода/вывода. Например, в IBM 360 таких команд четыре:
-    «Начать ввод/вывода;
-    «Остановить ввод/вывод»;
-    «Проверить ввод/вывод»;
-   «Проверить канал».
КВВ реализует операции В/ВЫВ путем выполнения так называемой капан­ной программы. Канальные программы для каждого ВУ, с которым предполагает­ся обмен информацией, описывают нужную последовательность операций ввода/ вывода и хранятся в основной памяти ВМ. Роль команд в канальных программах выполняют управляющие слова канала (УСК), структура которых отличается от структуры обычной машинной команды. Типовое УСК содержит:
код операции, определяющий для КВВ и ВУ тип операции: «Записать» (вывод
информации из ОП в ВУ), «Прочитать» (ввод информации из ВУ в ОП), «Уп­равление» (перемещение головок НМД, магнитной ленты и т. п.);
указатели — дополнительные предписания, задающие более сложную после-
довательность операций В/ВЫВ, например при вводе пропускать отдельные записи или наоборот — с помощью одной команды вводить «разбросанный»- по ОП массив как единый;
адрес данных, указывающий область памяти, используемую в операции ввода/
вывода;
счетчик данных, хранящий значение длины передаваемого блока данных.
Кроме того, в УСК может содержаться идентификатор ВУи информация о его уровне приоритета, указания по действиям, которые должны быть произведены при возникновении ошибок и т. п.
Центральный процессор инициирует ввод/вывод путем инструктирования канала о необходимости выполнить канальную программу, находящуюся в ОП, и указания начального адреса этой программы в памяти ВМ. КВВ следует этим указаниям и управляет пересылкой данных. Отметим, что пересылка информа­ции каналом ведется в режиме прямого доступа к памяти. ВУ взаимодействуют с каналом, получая от него приказы. Таким образом, в ВМ с КВВ управление вво­дом/выводом строится иерархическим образом. В операциях ввода/вывода уча­ствуют три типа устройств:
-  процессор (первый уровень управления);
-   канал ввода/вывода (второй уровень);
Каналы и процессоры ввода/вывода 4 0 9
-  внешнее устройство (третий уровень).
Каждому типу устройств соответствует свой вид управляющей информации:
-  процессору — команды ввода/вывода;
-  каналу — управляющие слова канала; -периферийному устройству — приказы.
Структура ВМ с канальной системой ввода/вывода показана на рис. 8.12.
Обмен информацией между КВВ и основной памятью осуществляется посред­ством системной шины ВМ. ВУ подключаются к каналу не непосредственно, а че­рез блоки управления внешними устройствами (БУВУ). БУВУ принимает от ка­нала приказы по управлению внешним устройством (чтение, запись, перемещение носителя или магнитной головки и т. п.) и преобразует их в сигналы управления, свойственные данному типу ВУ. Обычно один БУВУ может обслуживать несколь­ко однотипных ВУ, но для подключения быстродействующих внешних устройств часто применяются индивидуальные блоки управления. В свою очередь, некото­рые ВУ могут подключаться одновременно к нескольким БУВУ. Это позволяет воспользоваться свободным трактом другого БУВУ при занятости данного БУВУ обслуживанием одного из подключенных к нему ПУ. Физически БУВУ можетбыть самостоятельным устройством или интегрирован с ВУ или каналом.
Обмен информацией между БУВУ и КВВ обеспечивается так называемыми канальными трактами. Обычно каждое БУВУ связано с одним из канальных трак­тов, но возможно также подключение блока управления сразу к нескольким трак­там, что дает возможность избежать нежелательных задержек при занятости одного из них.
В пределах канала ввода/вывода считается, что каждое ВУ подключено к свое­му подканалу. Подканалы имеют свои уникальные логические номера, с помощью которых канальная программа адресуется к конкретному ВУ. Физически подка­нал реализуется в виде участка памяти, в котором хранятся параметры операции
4 1 0 Глава 8. Системы ввода/вывода
ввода/вывода, выполняемой данным ВУ: текущие значения адреса и счетчика дан­ных, код и указатели операции ввода/вывода, адрес следующего УСК и др. Для хранения этих параметров обычно используется локальная память канала.
Обмен информацией между ВУ и ОП, как уже упоминалось, реализуется в ре­жиме прямого доступа к памяти, при этом для взаимодействия ЦП и канала задей­ствованы сигналы «Запрос ПДП» и «Подтверждение ПДП».
Чтобы известить ЦП об окончании текущей канальной программы или об ошиб­ках, возникших при ее выполнении, КВВ выдает в ЦП сигнал «Запрос прерывания». В свою очередь, ЦП может привлечь внимание канала сигналом «Внимание».
Способ организации взаимодействия ВУ с каналом определяется соотношени­ем быстродействия ОП и ВУ. По этому признаку ВУ образуют две группы: быст­родействующие (накопители на магнитных дисках (НМД), накопители на магаит-ныхлентах (НМЛ)) со скоростью приема и выдачи информации около 1 Мбайт/с и медленнодействующие (дисплеи, печатающие устройства и др.) со скоростями порядка 1 Кбайт/с и менее. Быстродействие основной памяти обычно значитель­но выше. С учетом производительности ВУ в КВВ реализуются два режима рабо­ты: мультиплексный (режим разделения времени) и монопольный.
В мультиплексном режиме несколько внешних устройств разделяют канал во времени, при этом каждое из параллельно работающих с каналом ВУ связывается с КВВ на короткие промежутки времени только после того, как ВУ будет готово к приему или выдаче очередной порции информации (байта, группы байтов и т. д.). Такая схема принята в мультиплексном канале ввода/вывода. Если в тече­ние сеанса связи пересылается один байт или несколько байтов, образующих одно машинное слово, канал называется байт-мультиплексным. Канал, в котором в пре­делах сеанса связи пересылка данных выполняется поблочно, носит название блок-мультиплексного.
В монопольном режиме после установления связи между каналом и ВУ послед­нее монополизирует канал на все время до завершения инициированной процес­сором канальной программы и всех предусмотренных этой программой пересы­лок данных между ВУ и ОП. На все время выполнения канальной программы канал оказывается недоступным для других ВУ. Данную процедуру обеспечивает селек­торный канал ввода/вывода. Отметим, что в блок-мультиплексном канале в рам­ках сеанса связи пересылка блока осуществляется в монопольном режиме.
Канальная подсистема
В последовавших за IBM 360 семействах универсальных ВМ семейства IBM 370 и особенно IBM 390 концепция системы ввода/вывода на базе каналов получила дальнейшее развитие и вылилась в так называемую канальную подсистему ввода/ вывода (КПВВ). Главная идея заключается в интегрировании отдельных КВВ в единый специализированный процессор ввода/вывода с большим числом каналь­ных трактов и подканалов. Блоки управления внешними устройствами обычно подключаются к нескольким канальным трактам, что позволяет динамически ме­нять путь пересылки информации с учетом текущей их загруженности. Кроме того, разные канальные тракты могут обладать различной пропускной способностью, и при выборе трактов для подключения определенных ВУ может быть учтено их быстродействие.
Контрольные вопросы 4 11
Одной из наиболее совершенных канальных подсистем обладают ВМ семей­ства IBM 390. В ней предусмотрено использование до 65 536 подканалов и до 256 канальных трактов. Реализованы два типа канальных трактов: параллельный и последовательный.
Параллельные канальные тракты посвоим возможностям и принципудействия аналогичны рассмотренным ранее мультиплексному и селекторному каналам, но в отличие от них являются универсальными, то есть могут работать в байт-муль­типлексном, блок-мультиплексном и селекторном режимах. Такие канальные трак­ты в КПВВ называют параллельными, поскольку они обеспечивают пересылку информации параллельным кодом.
Для работы с ВУ, соединенными с КПВВ волоконно-оптическими линиями, используются последовательные канальные тракты, реализующие протокол ESCON (Enterprise Systems Connection Architecture). Последовательный каналь­ный тракт рассчитан на передачу информации только в последовательном коде и только в селекторном режиме. Для подключения блоков управления внешними устройствами (БУВУ) к ESCON-тракту служат специальные устройства, называ­емые ESCON-директорами. Каждое такое устройство может обеспечить одновре­менное подключение до 60 БУВУ и одновременную передачу информации от 30 из них со скоростью до 10 Мбайт/с.
Кроме того, в КПВВ предусмотрены специальные коммуникационные каналь­ные тракты для подключения к сетям ВМ, модемам, другим системам.
В принципе основное преимущество КПВВ — динамическое перераспределе­ние канальных трактов — в какой-то мере может быть реализовано и в рамках каж­дого отдельного канала. Однако объединение всех канальных ресурсов в единую канальную подсистему позволяет применить оптимальную стратегию динамичес­кого распределения и использования этих ресурсов и благодаря этому достичь ка­чественно нового уровня эффективности системы ввода/вывода.
Контрольные вопросы
1.   Поясните достоинства и недостатки трех вариантов подключения системы вво­да/вывода к процессору ВМ.
2.   Сформулируйте достоинства, недостатки и область применения двух способов организации адресного пространства ввода/вывода
3.   Дайте развернутую характеристику структуры ВУ, отображая ее элементы в каждый из трех типов ВУ.
4.   В чем состоит локализация данных, выполняемая модулем ввода/вывода?
5.   Опишите содержание процедуры «рукопожатия» при выполнении операции ввода.
6.   Конкретизируйте последовательность действий процессора при обмене инфор­мацией с жестким диском.
7.   Выберите конкретную скорость работы ЦП. Рассчитайте емкость буферной памяти МВБ для обмена с клавиатурой, символьным принтером и оптическим диском.
Hosted by uCoz