Четверг, 19.09.2024
Kober
Меню сайта
Поиск
Категории раздела
Шпоры Орг ЭВМ [42]
Шпоры ОС [22]
Главная » Статьи » Шпоры Орг ЭВМ

40 Сопроцессоры (каналы) ввода–вывода: назначение структуры, режимы работы. Основное отличие сопроцессора ввода–вывода и контроллера ПДП.
40 Сопроцессоры (каналы) ввода–вывода: назначение структуры, режимы работы. Основное отличие сопроцессора ввода–вывода и контроллера ПДП.

По мере развития систем В/ВЫВ их функции усложняются. Главная цель такого усложнения — максимальное высвобождение ЦП от управления процессами ввода/вывода. Некоторые пути решения этой задачи уже были рассмотрены. Следующими шагами в преодолении проблемы могут быть:

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

2. Рассмотренному в пункте 1 процессору ввода/вывода придается собственная локальная память, при этом возможно управление множеством устройств В/ВЫВ с минимальным привлечением ЦП.

В первом случае МВВ называют каналом ввода/вывода (КВВ). а во втором – процессором ввода/вывода. В принципе различие между каналом и процессором ввода/вывода достаточно условно, поэтому в дальнейшем будем пользоваться термином «канал».

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

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

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

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

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

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

КВВ реализует операции В/ВЫВ путем выполнения так называемой канальной программы. Канальные программы для каждого ВУ, с которым предполагается обмен информацией, описывают нужную последовательность операций ввода/вывода и хранятся в основной памяти ВМ. Роль команд в канальных программах выполняют управляющие слова канала (УСК), структура которых отличается от структуры обычной машинной команды. Типовое УСК содержит:

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

указатели — дополнительные предписания, задающие более сложную последовательность операций В/ВЫВ, например при вводе пропускать отдельные записи или наоборот — с помощью одной команды вводить «разбросанный» по ОП массив как единый;

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

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

Кроме того, в УСК может содержаться идентификатор ВУ и информация о его уровне приоритета, указания по действиям, которые должны быть произведены при возникновении ошибок и т. п.

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

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

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

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

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

■ процессору — команды ввода/вывода;

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

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

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


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

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

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

Обмен информацией между ВУ и ОП, как уже упоминалось, реализуется в режиме прямого доступа к памяти, при этом для взаимодействия ЦП и канала задействованы сигналы «Запрос ПДП» и «Подтверждение ПДП».

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

Способ организации взаимодействия ВУ с каналом определяется соотношением быстродействия ОП и ВУ. По этому признаку ВУ образуют две группы: быстродействующие (накопители на магнитных дисках (НМД), накопители на магнитных лептах (НМЛ)) со скоростью приема и выдачи информации около 1 Мбайт/с и медленнодействующие (дисплеи, печатающие устройства и др.) со скоростями порядка 1 Кбайт/с и менее. Быстродействие основной памяти обычно значительно выше. С учетом производительности ВУ в КВВ реализуются два режима работы: мультиплексный (режим разделения времени) и монопольный.

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

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

Помимо указанных функций на канал может возлагаться ряд дополнительных для минимизации участия процессора в операциях I/O:

· Организация цепочки данных. Для случаев, когда массив информации, предназначенный для операции ввода или вывода с некоторым ПУ, не располагается в памяти подряд, а состоит из нескольких подмассивов, размещенных в произвольно расположенных участках ОП. Чтобы в этом случае ввод (вывод) каждого подмассива не требовал включения в программу процессора отдельной команды ввода (вывода), а передача всех подмассивов инициировалась одной командой процессора, канал должен допускать задание в программе управления каналом цепочки для передачи такого составного массива.

· Организация пропуска информации. При операциях I/O может возникнуть необходимость переносить в память с носителя информации отдельные части массива, пропуская ненужные данные.

· Формирование запросов прерывания от I/O. Канал должен прерыванием извещать процессор  об окончании каждой операции I/O, а также об обнаружении ошибки или каких-либо других необычных условий, вследствие чего произошло принудительное окончание выполняемой операции. Наряду с этим должна иметься возможность задания прерывания на любом этапе операции I/O. Такое прерывание называется программно-управляемым. Оно не нарушает нормальное выполнение текущей операции I/O. Появление запроса программно-управляемого прерывания означает, что выполнены все операции I/O, предшествующие в программе управления каналом этому запросу.

· Управляющая информация для операций I/O. В операциях I/O участвуют три типа устройств: процессор (превый уровень управления), сопроцессор I/O (второй уровень), ПУ (третий уровень). Каждому типу устройств соответствует определенный вид управляющей информации: процессору – команды, сопроцессору – управляющие слова  канала (УСК), ПУ – приказы. Кроме того, в управлении I/O используются коды состояния канала (слово состояния сопроцессора) и ПУ (байт состояний и байты уточненного состояния). Команды I/O процессора (!) являются привилегированными и выполняются только в состоянии «супервизор».

Классификация сопроцессоров I/O


В зависимости от соотношения быстродействия ОП и ПУ в каналах I/O  могут реализовываться  два режима работы: монопольный (селекторный), разделения времени (мультиплексирования).

<-Монопольный режим. После установки связи между каналом и ПУ последнее монополизирует канал на все время, пока полностью не завершится инициированная процессором программа управлением сопроцессором I/O работы с данным ПУ и не будут произведены все предусмотренные этой программой передачи данных между ОП и ПУ. На все время выполнения данной программы I/O канал оказывается занятым для других ПУ.

 

Режим разделения времени -> (мультиплексный). Несколько ПУ разделяют во времени канал I/O, при этом каждое из параллельно работающих с данным каналом ПУ связывается с каналом на короткие промежутки времени только после того, как ПУ подготовлено к приему или выдаче очередной порции информации. Промежуток времени, в течение которого происходит передача информации между каналом и подготовленным к этому ПУ, может быть назван сеансом связи. Сеансы связи различных ПУ чередуются между собой. Во время сеанса связи одного из устройств с каналом другие устройства могут выполнять работу не требующую использования средств канала. В соответствии с преимущественно реализуемым режимом работы различают каналы I/O мультиплексный, осуществляющий мультиплексирование ПУ, и селекторный, взаимодействующий с ПУ в монопольном режиме.

Сопроцессор может иметь свои управляющие слова.

Категория: Шпоры Орг ЭВМ | Добавил: Kober (10.06.2013)
Просмотров: 1692
Архив записей
Copyright MyCorp © 2024
Бесплатный хостинг uCoz