|
|||
![]() |
![]() |
||
|
|||
Рис. 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. Выберите конкретную скорость работы ЦП. Рассчитайте емкость буферной памяти МВБ для обмена с клавиатурой, символьным принтером и оптическим диском.
|
||
|
||