- •Глава I
- •06Ласти применения эвм
- •1.6,1. СуперЭвм
- •Глава 2
- •8 Разрядов
- •11110001 11111001 11110001 11110111 А число — 6.285 запишется в память в виде слова из 6 байт:
- •Глава 3
- •Глава 4
- •Лечит узап j
- •Сверхоперативная или местная память
- •4.2. Адресная, ассоциативная и стековая организации памяти
- •Буфер входа-выхода
- •Усилители считывания-записи
- •Глава 5
- •Проклей
- •Идентификатор адреса (s байт)
- •Сектор на дискете
- •Глава 6
- •Управляющий блок автомат)
- •Глава 7
- •В цпршВляющай блок у б
- •Сумматор частичных произведений Регистр множимого
- •О vМножимое перед началом Выполнения умножения
- •Слой элементов и
- •Глава 9
- •Двойное слада па адреса о 32 бит
- •Слобо по адресу z в бит
- •Заслать в стек ад РеЗ
- •Загрузить аз стана в Pa V
- •Номер регист
- •Непосредственный операнд 1а
- •15Ю кГго 51
- •Оповещающий сив нал „Состояние
- •Блок ревастрод
- •Ветвление в макропроерамме по уело дую Акк*0
- •Макрокоманды управления последовательностью выборка микрокоманд
- •Окно процедуры
- •Регистры параметров (а) Регистры глобальных переменных |
- •1 Нуль м Знак-
- •Запоминание состояния процессора (программы)
- •Общий сигнал прерывания
- •Код приоритетного запроса
- •Маска ввоОагвывода
- •Прерывающая
- •01 23*56789 Время
- •I участка I
- •Запись льта мп
- •I Прием операндов на регистры 1
- •Умножение чисел с фиксированной точкой
- •Сложонив чисел с плавающей точкой
- •Глава 10
- •Вызов команды и модификация счетчика команд
- •Процедура тандемных пересылок
- •Однобайтная
- •16 Разрядов
- •Передача д стек а восстановление содержимого регистров
- •Команды досстаяовяения из стеки содержимого регистров
- •Блок сегментных регистров
- •Первый байт команды Второй ffaSm команды (постбайт адресации)
- •Сегментные селекторы
- •Регистры задачи и регистры дескрипторнои таблицы
- •Блок управления и контроля оп
- •Справочник страниц
- •Физическая память
- •16 Мбайт
- •Расширенная память
- •1 Мбайт
- •С каналом ес эвм
- •Связь с другой эвм
- •I Манипулятор % I Графа- I I типа „Мышь” I I построитель I
- •Глава 11
- •Интерфейс основной намята
- •Общее оборудование мультиплексного канала
- •Глава 12
- •Определения четности переносод
- •Глава 13
- •Ill:Выполнснис программы а Выполнение про ерам мы в
- •Пакеты заданий и Входные наборы данных
- •Выходные очереди разных классов в зу на дисках
- •I требует ‘'ода
- •Пользователь обдумывает | ответ системе I (новый запрос)
- •Блок управления памятью
- •Схемы совпадения
- •Шифратор номера отделения
- •Входной коммутатор
- •Коммутации
- •Сегментная таблица п-й программы
- •Векторные, средства
- •К периферийным устройством
- •К периферийным устройствам
- •Глава 15
- •Устройства Ввода- вывода
- •Процессор 2
- •Процессор 3
- •8 Векторных регистров (по 6* слова в каждом)
- •Готовности операндов
- •Глава 16
- •Комплекс абонентского пункта
- •16.2.. Классификация вычислительных сетей
- •1 Элемент
- •Время распрост- ранена*
- •Задержка сета лри коммутации пакетов[
- •Абонентская система
- •Данные пользователя
- •Сеансовый
- •Транспортный
- •Сетевой
- •Интерфейс высоког о уровня
- •Аппаратура передачи данных
- •Установление связи
- •Данные пользователя 00Длина поля и слови я обслуживания
- •Идентификатор протокола
- •7» Бшдта) Данные пользователя б вызове
- •Поток бит
- •Новый пакет (кадр)
- •Станция 1 ведет передачу
- •Передатчик Коаксиальный кйбель
- •Глава 15. Принципы организации многопроцессорных и многомашинных вычислительных систем (комплексов) и суперЭвм 489
- •1S в 7 о Слада па адресу ь
Интерфейс основной намята
Интерфейс
ввода-вывоЯаИнтерфейс
процессор-каналы
L
Канал |
|
Канал |
ввода-вывода. |
• • • |
вдода-дыдода |
Интерфейс Ввода - вывода
пМалые
интерфейсы„Малые
интерфейсы
Х~Х1ГХГ~17~Т
\пу |.. «|ПУ\ \пу |...| пу\ | ПУ \ПУ |.«.[/ЁУ|
Рис. 11.4. Интерфейсы ЭВМ общего назначения (ЕС ЭВМ)
Благодаря наличию в составе ЭВМ каналов ввода-вывода, способных реализовывать достаточно сложные процедуры, появляется возможность полностью разгрузить процессор от управления операциями ввода-вывода.
В вычислительной машине с каналами ввода-вывода отсутствует однородность в структуре потоков и форматах передаваемых данных, что приводит к необходимости иметь в ЭВМ, как это показано на рис. 11.4, несколько специализированных интерфейсов.
Можно выделить четыре типа интерфейсов: интерфейс основной (оперативной) памяти, интерфейс «процессор — каналы», интерфейс ввода-вывода (интерфейс периферийных устройств), интерфейс периферийных аппаратов («малый» интерфейс). Последний имеет место и в ЭВМ с общим интерфейсом.
Через интерфейс основной памяти производится обмен информацией между ОП, с одной стороны, и процессором (процессорами) и каналами ввода-вывода — с другой.
Интерфейс «процессор — каналы» предназначается для передачи информации между процессорами и каналами ^ввода- вывода. Через интерфейс ввода-вывода происходит обмен информацией между каналами и УПУ. Через «гмалый» интерфейс осуществляется передача информации между УПУ и ПУ.
Наиболее быстродействующими являются интерфейс основной памяти и интерфейс «процессор — каналы». В (из) ОП информация передается словами или словами двойной длины (4— в байт). Через интерфейс ввода-вывода информация передается байтами или парами байт. При проектировании ЭВМ стремятся унифицировать интерфейсы, в первую очередь интерфейсы, обеспечивающие сопряжение с периферийными устройствами-^ин- терфейсы ввода-вывода).
Интерфейсы периферийных аппаратов не могут быть унифицированы, так как сами периферийные аппараты весьма разнообразны по принципу действия, по выполняемым операциям и по используемым форматам данных и сигналам.
Интерфейсы характеризуются следующими параметрами:
пропускной способностью интерфейса — количеством информации, которая может быть передана через интерфейс в единицу времени;
максимальной частотой передачи информационных сигналов через интерфейс;
максимально допустимым расстоянием между соединяемыми Устройствами;
динамическими параметрами интерфейса — временем передачи отдельного слова и блока данных с учетом продолжительности процедур подготовки и завершения передачи;
общим числом проводов (линий) в интерфейсе;
информационной шириной интерфейса — числом бит или байт данных, передаваемых параллельно через интерфейс.
Основные функции каналов ввода-вывода. Управляющая информация для операций ввода-вывода
При определении функций, которые следует возложить на каналы ввода-вывода, нужно исходить из необходимости обеспечения условия для реализации параллельной во времени работы процессора над программой с выполнением ПУ операций ввода- вывода. Для этого надо в возможно большей степени освободить процессор от управления операциями обмена информацией между периферийными устройствами и ОП, возложить это на каналы, управляемые канальными программами.
За процессором следует оставить лишь инициирование операции ввода-вывода, задание номеров канала и ПУ, участвующих в операции, и указание адреса начала программы канала для задаваемой операции ввода-вывода.
Канал призван обеспечивать прямой доступ к памяти, а поэтому подобно рассмотренному в § 11.3 контроллеру ПДП должен выполнять следующие функции: задание размера массива данных и области памяти, участвующих в обмене информацией, формирование адресов последовательных ячеек ОП, используемых в передаче, подсчет числа единиц данных -(слов, байт и т.д.), прошедших через канал, и определение момента завершения передачй массива данных. При этом канал должен осуществлять буферизацию и преобразование форматов передаваемых данных для согласования работы ОП и ПУ.
Помимо указанных функций на канал возлагается ряд дополнительных для минимизации участия процессора в операциях ввода-вывода.
Организация цепочки данных. Возможны случаи, когда массив информации, предназначенный для операции ввода или вывода с некоторым ПУ, не располагается в памяти подряд, а состоит из нескольких подмассивов, размещенных в произвольно расположенных участках ОП. Чтобы в этом случае ввод (вывод) каждого подмассива не требовал включения в программу процессора отдельной команды ввода-вывода, а передача всех подмассивов инициировалась всего одной командой процессора, канал должен допускать задание в канальной программе цепочки данных для передачи такого составного массива.
Организация пропуска информации. При операциях ввода может возникнуть необходимость переносить в память с носителя информации отдельные части массива, пропуская ненужные
данные. Должна иметься возможность задания в канальной программе пропуска информации в цепочке данных и реализация пропуска без привлечения процессора для выполнения этой процедуры.
Организация цепочки операций. Для выполнения программы может оказаться необходимым такой обмен информацией между ОП и некоторым ПУ, для выполнения которого с этим ПУ до- 'лжна выполняться определенная последовательность операций ввода-вывода. Например, при работе с ЗУ на магнитных дисках "может потребоваться следующая последовательность операций: а) установить головки на i-Pi цилиндр; б) прочитать информацию с /*-й поверхности дисков; в) прочитать информацию с (/'+ + 1)-й поверхности; г) установить головки на k-n цилиндр и т. д. Целесообразно, чтобы при подобных последовательностях операций ввода-вывода с одним и тем же ПУ не требовалось для каждой новой операции участия процессора, т. е. не требовалась новая команда ввода-вывода в программе процессора. Для этого канал ввода-вывода должен допускать задание цепочек операций в программе канала.
Блокировка контроля неправильной длины считанного массива. Операции ввода-вывода сопровождаются автоматическим контролем, в том числе контролем соответствия длины массива, считанного или записанного в результате операции ввода-выво- ,да, длине физической записи. При нарушении соответствия возникает прерывание от ввода-вывода по неправильной длине. Поскольку имеется много случаев, когда следует блокировать это прерывание (соответствующие примеры будут приведены ' далее), целесообразно, чтобы канал допускал задание такой блокировки в канальной программе.
Формирование запросов прерывания от ввода-вывода. Канал Должен прерыванием извещать процессор об окончании каждой операции ввода-вывода, а также об обнаружении ошибки или каких-либо других необычных условий, вследствие чего произошло принудительное окончание выполняемой операции. Это прерывание формируется автоматически аппаратурой канала. Наряду с этим должна иметься возможность задания в программе канала прерывания на любом этапе операции ввода- вывода. Такое прерывание называется программно-управляе- мым. Оно не нарушает нормальное выполнение текущей операции ввода-вывода. Появление запроса программно-управляемого прерывания означает, что выполнены все операции ввода- вывода, предшествующие в канальной программе этому запросу. Это позволяет процессору следить за выполнением канальной программы ввода-вывода и начинать обработку данных сразу после выполнения очередного этапа операции ввода-вывода.
Процессор
Канал
ддода-дывода
Периферийное устройство
Команда
ддода-дывода
| 1
1
Управляющие
слодо кинала(УСК) Адриенов
слово канала (А С К) Слово состояния
канала (ССК)
1
1 1
Приказ
Байт
состояния
Бийты
дточяенноео состояния
I
Байт
состояния кинияи\ Слово состояния ПУРис.
11.5. Иерархия управляющей информации
для операции ввода- вывода (ЕС ЭВМ)
Управляющая информация для операций ввода-вывода. В ЭВМ с каналами ввода-вывода управление вводом-выводом, строится иерархическим образом (рис. 11.5). В операциях ввода-вывода участвуют три типа устройств: процессор (первый уровень управления), канал ввода-вывода (второй уровень), периферийное устройство (третий уровень). Каждому типу устройств соответствует определенный вид управляющей информации: процессору — команды ввода-вывода, каналу — управляющие слова канала (УСК), периферийному устройству — приказы. Кроме того, в управлении вводом-выводом используются коды состояния канала [слово состояния канала (ССК)] и ПУ (байт состояния и байты уточненного состояния). О кодах состояния см. в § 11.10.
Форматы основных видов управляющей информации для операций ввода-вывода в ЕС ЭВМ представлены на рис. 11.6.
Каждая операция или совокупность операций ввода-вывода производится под управлением соответствующей программы канала, реализуемой аппаратурными средствами канала, ПУ (и его УПУ) и интерфейса ввода-вывода.
Программа канала представляет собой некоторую последовательность УСК, обеспечивающую выполнение определенной операции ввода-вывода. Обычно канальные программы хранятся в ОП.
Таким образом, в ЭВМ организуется параллельное выполнение во времени взаимодействующих между собой программноуправляемых процессов: выполнение процессором программы обработки данных и выполнение каналами и ПУ канальных программ операций ввода-вывода.
Команды ввода-вывода являются привилегированными и выполняются только в состоянии «супервизор». Все команды ввода-вывода завершаются формированием признака результата в ССП.
Система команд ЭВМ содержит небольшое число универсальных по отношению к разным типам ПУ команд ввода-выво
да. Так, в ЕС ЭВМ I очереди для управления вводом-выводом использовались четыре команды: «Начать ввод-вывод», «Остановить ввод-вывод», «Проверить ввод-вывод», «Проверить канал».
Команда «Начать ввод-вывод» инициирует одну или несколько (цепочку) операций ввода-вывода с указанным в команде каналом и ПУ. Этой командой процессора начинаются операции ввода-вывода с любым ПУ. О завершении отдельного ее этапа, или цепочки операций, канал сообщает процессору путем прерываний.
Во всех указанных выше командах ввода-вывода (кроме первой) достаточно указывать код операции и номер канала и ПУ. В команде «Начать ввод-вывод», кроме того, нужно указывать адрес первого УСК в программе канала. Для единообразного представления всех команд ввода-вывода в ЕС ЭВМ для них принят один общий формат, показанный на рис. 11.6, а. Адрес первого УСК программы канала содержится в так называемом адресном слове канала (АСК) (рис. 11.6,6), хранимом в определенной ячейке ОП, куда оно должно быть помещено до начала выполнения команды «Начать ввод-вывод».
При выполнении команды ввода-вывода содержимое указанного в команде регистра В\ складывается с числом в поле D\ и полученная сумма располагаетсяg разрядах 21—31 слова, при этом разряды 21—23 и 24—31 указывают соответственно номер канала и номер ПУ.
Адресное слово канала содержит код «ключа», используемый для защиты памяти (см. гл. 14) при данной операции ввода- вывода. Признак результата, формируемый при выполнении команды «Начать ввод-вывод», указывает, нормально ли прошел пуск операции ввода-вывода.
По команде «Остановить ввод-вывод» операция ввода-выво- да может быть принудительно прекращена процессором до .ее завершения в адресуемых командой канале и ПУ.
Команды «Проверить канал» и «Проверить ввод-вывод» позволяют процессору определять состояние канала и ПУ. По команде «Проверить канал» канал в фиксированной ячейке ОП формирует ССК (рис. 11.6, в) и устанавливает в ССП признак результата, определяющий состояние адресуемого канала: канал доступен, канал хранит условия прерывания, канал работает в монопольном режиме, канал выключен. При выполнении команды «Проверить ввод-вывод» из ПУ в канал выдается байт его состояния, а из канала в процессор поступает признак результата, указывающий следующие возможные ситуации: адресуемое ПУ доступно, ССК записано, канал (подканал) занят, адресуемое ПУ выключено.
Дополнительные команды ввода-вывода, введенные в ЕС ЭВМ II очереди, приведены в § 11.8.
Управляющее слово канала (УСК). В ЕС ЭВМ формат УСК соответствует двойному слову, т. е. 64 разрядам (рис. 11.6, г). При выполнении канальной программы ее управляющие слова выбираются последовательно из памяти, если только не предусмотрено программой канала нарушение естественного порядка выборки УСК. Для удобства дальнейшего изложения материала будем пользоваться следующей упрощенной структурой УСК:
УказателиАдресданных(АД)Кодоперации(приказ)Счетчикданных(СчД)ЦД
ЦО УБ ПИ ПР
Код операции (приказ) определяет как для канала, так и для ПУ тип операции, задаваемой этим управляющим словом.
Приказ представляет собой часть УСК, которая задает операцию, выполняемую каналом, каналом и ПУ совместно или одним ПУ. В последних двух случаях приказ передается в ПУ и инициирует в нем определенные действия (например, установку головок на нужный цилиндр в ЗУ на дисках, запись информации и др.). Приказ содержит информацию, специфичную для данного типа ПУ.
Код операции
*1
О
7 8 1516 7920 йу
37 /Ключ
программы
8800 Адрес
ЯСК
О
ЗЬ 78 31
Рйс. 11.6. Форматы команды ввода-вывода (а), адресного слова канала (б), слова состояния канала (в) и управляющего слова канала (г) в ЕС ЭВМ
/Ключ программы
|
|
Адрес по след пего УСК |
Байт состояния ПУ |
Байт состояния капала |
Счетчик - данных | ||||
0 3* 78 0) 313Z 3940 ¥7*8 63 | |||||||||
Приказ |
Адрес данных |
Указа тели |
ООО |
|
Счетчик данных |
Приведем основные виды приказов, допускающих ряд модификаций:
«Записать» (вывод иноформации из ОП в ПУ);
«Прочитать» (ввод информации из ПУ в ОП);
«Прочитать в обратном направлении» (только для ЗУ на магнитных лентах);
«Управление» (перемещение магнитной ленты, перемещение головок в ЗУ на дисках и другие служебные операции);
«Проверить ввод-вывод» (запрос байта состояния);
«Уточнить состояние» (запрос кода уточненного состояния ПУ).
Кроме операций, управляющих передачами информации, предусматриваются также операции, которые нужны для построения самих программ канала. К ним относится так называемый «Переход в канале». Эта операция является внутренней процедурой канала и непосредственно на работу ПУ не влияет. Управляющее слово, задающее переход в канале, указывает адрес следующего УСК в цепи и, таким образом, позволяет выполнять программы канала, в которых УСК располагаются не в последовательных ячейках памяти. Этот вид перехода в программе канала является безусловным переходом.
Для реализации ветвлений в программах канала применяются условные переходы. В зависимости от признаков, характеризующих состояние ПУ, после выполнения очередного управляющего слова следующее УСК в цепи операции либо выполняется, либо пропускается.
В ЕС ЭВМ признаком условного перехода в канальной программе служит содержимое разряда «Модификатор состояния» в байте состояния, который ПУ посылает в канал по завершении операции, предписанной текущим УСК. Если модификатор состояния содержит 0, то выбирается и исполняется следующее по порядку УСК в цепочке операций. Если модификатор равен 1, следующее УСК пропускается.
Далее будет рассмотрен пример программы канала, в которой используются условный и безусловный переходы.
Адрес данных (АД) и счетчик данных (СчД) определяют область памяти, используемую в операции ввода-вывода. Адрес данных указывает адрес первого (или последнего при обратном вводе) байта из массива информации; счетчик данных указывает число байт.
Указатель цепочки данных (ЦД). При ЦД = 0 операция после использования данного УСК оканчивается, при ЦД= *= 1 она продолжается с новым массивом данных, указанным в следующем УСК.
Указатель цепочки операций (ЦО). При ЦО = 0 программа
канала для данного ПУ заканчивается на рассматриваемом УСК, если нет указаний о продолжении цепочки данных. Если ЦД = 0, то при ЦО=1 после выполнения действий, предусмотренных данным УСК, следующее по порядку УСК выбирается из памяти и начинается выполнение новой операции ввода-вывода с тем же ПУ.
Указатель блокировки (УБ) сигнала неправильной длины, формирующегося (в отсутствие признака цепочки данных ЦД = = 1) при несоответствии числа фактически переданных байт длине физической записи. Этот сигнал прекращает выполнение канальной программы и вызывает прерывание программы процессора. При УБ = 1 сигнал неправильной длины блокируется.
Указатель пропуска информации (ПИ). При ПИ = 1 передача информации между каналом и оперативно^ памятью подавляется, канал осуществляет только подсчет слов, проходящих между каналом и ПУ.
Указатель прерывания (ПР). При ПР=1 канал посылает в процессор запрос программно-управляемого прерывания.
Примеры программ канала
Пример 1. Выборочная передача информации между ПУ и ОП.
Предположим, что в ОП ма&ины должны быть приняты из некоторой зоны магнитной ленты, содержащей 500 байт, первые 10 и последние 20 байт. Если считать, что требуемая зона уже подведена под считывающие головки, то для выполнения данной операции необходимо выполнить следующую последовательность УСК, образующих цепь данных:
Адрес УСК Приказ Указатель
Адрес
данных (АД)
Счетчик
данных (СчД) цд цо УБ ПИ ПР
/ «Прочитать» 1 0 0 0 0 а 10 /-f
8 «Прочитать» 1 0 0 1 1 0 470 /+16 «Прочитать» 0 0 1 0 0 а
+ 10 20
Примечание.В УСК, продолжающих цепочку данных, в
качестве приказа может быть записан
любой код, кроме кода «переход в канале».
Обычно используют нулевой код или
повторяют приказ из первого УСК цепочки
данных.
Первое УСК выполняет ввод первых 10 байт в ячейки с адресом от а до а+9. Второе УСК обеспечивает пропуск следующих 470 байт; установленный в этом УСК указатель ПР= 1, вызывая программно-управляемое прерывание, позволяет программе немедленно начать обработку начальных 10 байт. Третье УСК выполняет ввод в ОП последних 20 байт из зоны магнитной ленты и заканчивает программу канала, так как ЦД = 0 и Ц0=0. Автоматически формируемое каналом по окончании цепочки УСК прерывание сигнализирует процессору, что затребованная операция ввода-вывода выполнена полностью.
Пример 2. Ввод данных с перфокарт.
Пусть необходимо произвести ввод данных с двух перфокарт: с первой 25 байт, расположенных на карте в колонках с 31-й по 55-ю, а со второй 30 байт из колонок 41—70 и располо- - жить их в ОП, начиная с адресов соответственно аир. Для рассматриваемого примера приведем канальную программу:
Адрес УСК |
Приказ |
цд |
цо |
УБ |
пи |
ПР |
АД |
СчД |
/ |
«Прочитать» |
1 |
0 |
0 |
1 |
0 |
0 |
30 |
/ + 8 |
«Прочитать» |
0 |
1 |
1 |
0 |
0 |
а |
25 |
/+16 |
«Прочитать» |
1 |
0 |
0 |
1 |
1 |
0 |
40 |
/ + 24 |
«Прочитать» |
0 |
0 |
1 |
0 |
0 |
Р |
30 |
В программе канала организуется цепочка операций, так как считывание каждой перфокарты составляет самостоятельную операцию ввода-вывода. Использование указателя блокировки неправильной длины позволяет сократить число УСК в программе и освобождать канал раньше, чем закончится чтение физической записи (в данном случае перфокарты).
Пример 3. Поиск информации в ЗУ иа магнитных дисках (ЗУД).
Пусть необходимо найти в ЗУД по ключу (см. гл. 5) блок данных, пользуясь ключом-эталоном, имеющим длину п байт и расположенных в ОП, начиная с адреса а, а затем первые т байт передать в ОП, начиная с адреса р.
Блок управления ЗУД, просматривая последовательно все блоки информации на носителе (или заданной дорожке), должен найти блок, ключ которого совпадает с эталоном. Поскольку поле ключа может иметь большую длину (до 256 байт), невыгодно устанавливать в блоке управления ЗУД триггерные регистры для хранения ключа-эталона целиком на все время поиска. Ключ-эталон многократно считывается из ОП (при прохождении каждого блока информации под головкой) и побайтно сравнивается с данными, считываемыми с диска.
Для организации такого поиска построим программу канала в виде цепи операций с использованием безусловного перехода, выполняемого операцией «Переход в канале», и условного перехода по признаку «Модификатор состояния» в байте состояния, который посылает в канал ЗУД.
Предполагая, что требуемые цилиндр и дорожки в ЗУД уже выбраны, можно написать следующую программу канала:
Адрес УСК |
Приказ |
цд |
ЦО |
УБ |
ПИ |
ПР |
АД |
СчД |
/ |
«Поиск по ключу» |
0 |
1 |
1 |
0 |
0 |
а |
п |
/ + 8 |
«Переход в канале» |
0 |
1 |
0 |
0 |
0 |
2 |
0 |
/+16 |
«Прочитать» |
0 |
0 |
1 |
0 |
0 |
Р |
т |
Первое УСК программы канала инициирует в ЗУД операцию поиска. Запоминающее устройство на диске выбирает из первого подошедшего под головку блока информации байты ключа и последовательно сравнивает их с п байтами эталона, которые выбираются каналом из ОП, начиная с адреса а. Если совпадения ключей нет, то следующее УСК (переход в канале) вызывает повторное выполнение УСК из ячейки /, т. е. повторение поиска для следующего на дорожке блока информации. Если блок информации с требуемым полем ключа найден, то ЗУД формирует байт состояния с 1 в разряде «Модификатора состояния». Канал пропускает в своей программе УСК из ячейки /+8 и переходит к выполнению УСК из ячейки /+16. В этом случае в ОП вводятся т байт, которые помещаются в группу последовательных ячеек, начиная с ячейки р.
Основные типы и структуры каналов ввода-вывода
Способ организации взаимодействия ПУ с каналом определяется соотношением быстродействия ОП и ПУ. По этому признаку ПУ можно классифицировать на две группы: быстродействующие (ЗУ на барабанах, дисках, лентах и другие устройства) со скоростью приема и выдачи информации примерно (0,1—10) 106 байт/с и медленнодействующие (перфоленточные и перфокарточные устройства, печатающие устройства и др.) со скоростью около 1—2 тыс. байт/с и менее. Оперативная память может выдавать или принимать данные со скоростью примерно до 10-106 байт/с.
В зависимости от соотношения быстродействия ОП и ПУ в каналах ввода-вывода реализуются два режима работы: монопольный и разделения времени (мультиплексирования).
Монопольный режим. После установления связи между каналом и ПУ последнее монополизирует канал на все время, пока полностью не завершится инициированная процессором канальная программа (цепочка операций) работы с данным ПУ и не будут произведены все предусмотренные этой программой передачи данных между ПУ и ОП. На все время выполнения данной канальной программы канал оказывается за- нятым для других ПУ.
Режим разделения времени (режим мультиплексирования). Несколько ПУ разделяет во времени канал ввода-вывода, при этом каждое из параллельно работающих с данным каналом ПУ связывается с каналом на короткие промежутки времени только после того, как ПУ подготовлено к приему или выдаче очередной порции информации (байта, группы байт и т.п.). Промежуток времени, в течение которого происходит передача информации между каналом и подготовленным к этому ПУ, может быть назван сеансом связи. Сеансы связи различных ПУ чередуются между собой. Во время сеанса связи одного из устройств с каналом другие устройства могут выполнять работу, не требующую использования средств канала (например, печатать очередной символ или считывать символ с носителя информации).
В соответствии с преимущественно реализуемым режимом работы различают каналы ввода-вывода мультиплексный, осуществляющий мультиплексирование ПУ, и селекторный, взаимодействующий с ПУ в монопольном режиме.
Мультиплексный (байт-мультиплексный) канал одновременно обслуживает несколько параллельно работающих ПУ, попеременно организуя с ними сеансы связи для передачи между ОП и ПУ небольших порций информаций (1 байта или нескольких).
Если несколько ПУ подготовилось к очередному сеансу связи и запрашивает обслуживание со стороны мультиплексного канала, то канал выбирает одно из них в соответствии с принятыми для данной системы приоритетными правилами, например, в соответствии С порядком подключения устройств к каналу. Остальные устройства, готовые к сеансу связи, должны ожидать, когда подойдет их очередь на обслуживание. Мультиплексный канал предназначен главным образом для работы со сравнительно медленными устройствами, способными ожидать обслуживания без потери информации. Аппаратурные средства мультиплексного канала можно условно разделить на две части (рис. 11.7, а) : средства, предназначенные для обслуживания отдельных ПУ, присоединенных к каналу, и оборудование, являющееся общим для всех устройств и разделяемое всеми устройствами во времени.
Средства канала, выделенные для обслуживания отдельных устройств, принято именовать подканалом.
Число подканалов определяет максимальное число одновременно работающих с данным каналом ПУ. Физически подканал реализуется в виде участка памяти, в котором хранятся параметры операции ввода-вывода, выполняемой данным устройством: текущие значения адреса и счетчика данных, код и указатели операции ввода-вывода, адрес следующего УСК и др. В качестве памяти для хранения этих параметров может использоваться либо специальная память, встроенная в мультиплексный канал, либо участок ОП машины.
Общее оборудование мультиплексного канала представляет собой набор триггерных регистров и комбинационных схем, позволяющих осуществлять обмен информацией между ОП и ПУ, модификацию текущих параметров операции ввода-вывода.
Селекторный канал предназначается для монопольного обслуживания одного ПУ. При работе с селекторным каналом ПУ после пуска операции остается связанным с каналом до окончания цепочки операций. До завершения цепочки операций селекторный канал по отношению к процессору представляется занятым устройством.
Управляющее слово, выбранное селекторным каналом из памяти, содержится до окончания всех предписанных им действий в триггерных регистрах канала. Необходимые изменения текущих параметров операции производятся быстро с помощью соответствующих действий над содержимым триггерных регистров. Таким образом, все средства селекторного канала монополизируются на время операции одним ПУ. Можно счи-
ОП
1
Селекторный
канал
Один
подканал |
1-й подканал |
Память мультиплексного |
2-й подканал |
J-й подкапал | |
канала |
ф • • |
.... 1 |
| £-й подканал |