раммы канала, в которых УС располагаются не в после довательных ячейках памяти. Этот вид перехода в прог рамме канала является безусловным переходом.
Для выполнения условных переходов в каналах сов ременных машин применяется ветвление программ кана ла. В зависимости от признаков, характеризующих сос тояние периферийного устройства, после выполнения оче редного управляющего слова следующее УС в цепи опе раций либо выполняется, либо пропускается.
В системах IBM 360 и ЕС ЭВМ признаком условно го перехода служит содержимое разряда «Модификатор состояния» в байте состояния, который ПУ посылает в канал по завершении операции, предписанной текущим управляющим словом. Если модификатор состояния со держит 0, то выбирается и исполняется следующее по порядку управляющее слово в цепи операций. В случае единицы следующее УС пропускается.
Ниже будет рассмотрен пример программы канала, в которой используются условный и безусловный пере ходы.
А д р е с д а н н ы х (АД) и с ч е т ч и к д а н н ы х (С Д) определяют область памяти, используемую в опе рации ввода-вывода. Адрес данных указывает адрес пер вого (или последнего в случае обратного ввода) слова (байта) из массива информации; счетчик данных ука
зывает количество слов |
(байтов). |
У к а з а т е л ь ц е п и |
о п е р а ц и й ЦО. При ЦО = 0 |
программа канала для данного периферийного устройст ва заканчивается на рассматриваемом УС, если нет ука заний о продолжении цепи данных. При Ц О =1 после выполнения действий, предусмотренных данным УС, сле дующее по порядку УС выбирается из памяти и начи нается выполнение новой операции ввода-вывода с тем же периферийным устройством.
У к а з а т е л ь п р е р ы в а н и я П Р. При ПР = 1 канал посылает в процессор запрос программно-управляемого прерывания.
У к а з а т е л ь ц е п и д а н н ы х ЦД. При Ц Д —0 опе
рация |
после использования данного УС оканчивается; при |
Ц Д = 1 |
операция продолжается с новым массивом дан |
ных, указанным в следующем УС. |
У к а з а т е л ь п р о п у с к а и н ф о р м а ц и и ПИ. При |
П И = 1 |
передача информации между каналом и опера |
тивной |
памятью подавляется, канал осуществляет толь |
ко подсчет слов, проходящих между каналом и пери ферийным устройством.
Примеры программ канала. Рассмотрим выборочную передачу информации между периферийным устройст вом и памятью. Предположим, что в оперативную па мять машины должны быть приняты из некоторой зоны магнитной ленты, содержащей 500 байтов, первые и по следние 10 байтов. Если считать, что требуемая зона уже подведена под считывающие головки и что опе
ративная |
память имеет побайтную |
адресацию, то для |
выполнения |
данной операции |
необходимо выполнить |
следующую |
последовательность |
УС, |
образующих цепь |
данных: |
Ц Д = 1 , ЦО = 0, |
ПИ = 0, |
ПР = 0, АД = а, |
Ввод, |
С Д =10. |
|
|
|
|
|
Ввод, Ц Д = 1 , ЦО = 0, ПИ = |
1, ПР = 1, АД = 0, СД = |
—480. |
ЦД = 0, ЦО = 0, |
ПИ = 0, ПР = 0, АД = а+ 10, |
Ввод, |
СД =10.
В данном примере УС условно записаны в виде строк, в которых перечисляются значения полей данного УС.
Первое УС выполняет ввод первых десяти байтов в ячейки с адресом от а до а+ 9 . Второе УС позволяет пропустить следующие 480 байтов; установленный в этом УС указатель программно-управляемого прерывания по зволяет программе незамедлительно начать обработку начальных 10 байтов. Третье УС выполняет ввод в ОЗУ последних десяти байтов из зоны магнитной ленты и за канчивает программу канала. Автоматически формируе мое каналом по окончании цепи УС прерывание сигнали
зирует программе, что затребованная ею операция вводавывода выполнена полностью.
В качестве другого примера рассмотрим поиск ин формации на магнитном диске по признакам, содержа щимся в самой информации. В качестве признака мо жет быть использовано, например, поле ключа, записан ное в каждом блоке информации на диске перед полем данных (см. гл. 6). Программа задает массив данных в ОЗУ, являющийся ключом-эталоном, а устройство на магнитном диске, просматривая последовательно все блоки информации на носителе (или заданной дорожке), должно найти блок, чей ключ совпадает с эталоном. По скольку поле ключа может иметь большую длину (до256 байтов), невыгодно устанавливать в ЗУ на магнит
ном диске |
триггерные |
регистры для |
хранения ключа- |
эталона целиком на все время поиска. |
В современных |
машинах |
ключ-эталон |
многократно |
считывается из |
ОЗУ (при прохождении каждого блока информации под головкой) и побайтно сравнивается с данными, читае мыми с диска.
Для организации такого поиска принципиально не обходимо построить программу канала в виде цепи операций с использованием безусловного перехода, вы полняемого операцией «Переход в канале», и условного перехода по признаку «Модификатор состояния» в байте состояния, который посылает в канал запоминающее ус тройство на диске.
Предполагая, что требуемые цилиндр и дорожка на магнитном диске уже выбраны, можно записать следую щую последовательность УС, размещенных в ячейках памяти с адресами /, /+ 1, 1-\-2 и выполняющих поиск информации:
(/) приказ (поиск по ключу), ЦД = 0, Ц О = 1 ,П И = 0,
ПР —0, АД = а, СД = и; |
|
|
Ц О='1, ПИ = 0, |
|
(/-(-1) |
переход в |
канале, ЦД —0, |
ПР = 0, АД = /, СД = |
—; |
ПИ = 0, ПР = 0, АД = |
|
(/+2) |
ввод, Ц Д = 0 , Ц О = 0, |
= |
ß, СД = |
т . |
|
|
|
|
|
|
Приказ, посылаемый в ЗУ на диске с помощью уп |
равляющего |
слова, записанного |
в |
ячейке /, инициирует |
в |
устройстве |
операцию поиска. |
ЗУ |
на |
диске начинает |
выбирать из первого подошедшего под головку блока ин формации байты ключа и сравнивать их с байтами эта лона, которые выбираются каналом из ячеек ОЗУ, на чиная с а и кончая <%+(«—1). Если совпадения ключей нет, то следующее УС «Переход в канале» вызывает пов торное выполнение УС из ячейки /, т. е. повторение поис ка для следующего на дорожке блока информации. Ес ли же блок информации с требуемым полем ключа най ден, то ЗУ на диске формирует в конце операции поиска байт состояния с единицей в разряде «Модификатора со стояния». Канал пропускает в своей программе УС из
ячейки /+1 и переходит |
к |
выполнению |
УС из ячейки |
/+ 2. |
В нашем |
примере |
в |
этом случае выполняется |
ввод |
искомой |
информации |
в ОЗУ с |
окончанием це |
пи операций. При этом в ОЗУ вводятся т байтов и по мещаются в группу последовательных ячеек, начиная с ячейки ß.
|
|
|
|
|
|
9-4. В И Д Ы |
К А Н А Л О В |
В В О Д А - В Ы В О Д А |
Мультиплексный канал. |
По способности к одновре |
менному |
обслуживанию |
нескольких периферийных ус |
тройств |
различаются |
два |
вида каналов: мультиплекс |
ный и селекторный.
Мультиплексный канал позволяет одновременно об служивать несколько параллельно работающих перифе рийных устройств. Каждое из этих устройств связывает ся с каналом на короткие периоды времени только после того, как периферийное устройство подготовлено к при ему или выдаче очередной порции информации (слога, байта, группы слогов и т. п.). Период времени, в течение которого происходит передача информации между кана лом и подготовленным к этому периферийным устройст вом, может быть назван сеансом связи. В мультиплекс ном канале сеансы связи различных периферийных уст ройств чередуются между собой. Во время сеанса свя зи одного из устройств с каналом другие устройства мо гут выполнять работу, не требующую использования средств канала (например, печатать очередной символ или вводить символ с носителя информации).
Если несколько периферийных устройств подготови лись к очередному сеансу связи и запрашивают обслу живание со стороны канала, то канал выбирает одно из них в соответствии с принятыми для данной системы приоритетными правилами, например в соответствии с- порядком подключения устройств ко входным магистра лям канала. Остальные устройства, готовые к сеансу связи, должны ожидать, когда подойдет их очередь на обслуживание. Следовательно, мультиплексный канал предназначен главным образом для работы со сравни тельно медленными устройствами,, способными ожидатьобслуживания без потери информации. Аппаратные средства мультиплексного канала можно условно разде лить на две части (рис. 9-1,а): средства, предназначен ные для обслуживания отдельных периферийных уст ройств, присоединенных к каналу, и оборудование, явля ющееся общим для всех устройств и разделяемое всеми устройствами во времени.
Средства канала, выделенные для обслуживания од ного устройства, принято именовать подканалом.
Количество подканалов определяет максимальное число одновременно работающих с данным каналом пе-
риферийных устройств. Физически подканал реализует ся в виде участка памяти, в котором хранятся парамет ры операции ввода-вывода, выполняемой данным уст ройством: текущие значения адреса и счетчика данных, код и указатели операции ввода-вывода, адрес следую щего УС в цепи и др. В качестве памяти для хранения этих параметров может использоваться либо специаль ное ЗУ, встроенное в мультиплексный канал, либо уча сток оперативной памяти машины.
Общее оборудование мультиплексного канала пред ставляет собой набор триггерных регистров и комбина ционных схем, позволяющих осуществлять изменение текущих параметров операции ввода-вывода, обмен ин формацией с ОЗУ и с периферийными устройствами.
Во время сеанса связи канал извлекает из памяти подканалов текущие параметры операции, соответству ющие обслуживаемому подканалу, и размещает их в своих триггерных регистрах. Руководствуясь выбранны ми из памяти подканалов параметрами, канал произво дит передачу порции информации между ОЗУ и пери ферийным устройством и соответствующим образом корректирует текущие параметры (прибавляет единицу к адресу данных, вычитает единицу из счетчика данных и т. п.). Измененные во время сеанса параметры возвра щаются для хранения в соответствующий участок памя ти подканалов.
В следующем сеансе связи триггерные регистры ка нала могут быть использованы для обслуживания дру гого подканала. Мультиплексный канал способен прини мать из процессора новые команды пуска операций вво да-вывода, относящиеся к свободным подканалам, и начинать выполнение новых цепей УС, продолжая об служивать ранее пущенные устройства.
Селекторный канал. Этот вид каналов предназнача ется для привилегированного обслуживания одного пе риферийного устройства. В случае работы с селектор ным каналом периферийное устройство после пуска опе рации остается связанным с каналом до окончания цепи операций. Запросы на обслуживание от других перифе рийных устройств, так же как и новые команды пуска операций ввода-вывода от процессора, в это время не воспринимаются каналом: до конца цепи операций се лекторный канал по отношению к процессору представ ляется занятым устройством.
Управляющее слово выбирается селекторным кана лом один раз в начале операции и содержится до окон чания всех предписанных действий в триггерных регист рах канала. Необходимые изменения текущих параметров операции производятся быстро с помощью соответ ствующих действий над содержимыми триггерных реги стров. Таким образом, все средства селекторного капала монополизируются на время операции одним периферий ным устройством; можно считать, что селекторный ка нал содержит только один подканал (рис. 9-1,6).
Вследствие отсутствия потерь времени па перезапоминание текущих параметров операции ввода-вывода селекторный канал обладает высокой степенью готов ности к обслуживанию пущенного им устройства и пред
|
|
|
|
|
|
|
|
назначается для |
работы |
с |
быстродействующими син |
хронными устройствами, |
которые могут |
терять инфор |
мацию |
вследствие задержек в обслуживании |
(накопи |
тели на магнитных лентах, дисках и др.). |
|
возмож |
В современных вычислительных |
машинах |
ность |
монопольного обслуживания |
периферийных уст |
ройств |
вводится |
иногда |
и в |
мультиплексный |
канал. |
В этом режиме один из подканалов |
полностью занимает |
канал; |
обслуживание других |
пущенных |
в работу под |
каналов задерживается до окончания монопольной опе рации и восстановления мультиплексного режима рабо ты. Наличие монопольного режима позволяет подсоеди нять быстродействующие периферийные устройства к мультиплексному каналу.
Каналы с прямым и косвенным доступом. В зависи мости от путей прохождения информации между ОЗУ и каналом различают каналы с прямым или с косвенным доступом к ОЗУ. Канал с косвенным доступом (рис. 9-1, в) не имеет непосредственной связи с ОЗУ и исполь зует для обращения к памяти соответствующие узлы процессора. Поскольку канал и процессор работают па раллельно, возможны одновременные обращения к па мяти как со стороны процессора, так и со стороны кана ла. Узел связи с ОЗУ в процессоре должен производить приоритетный выбор в случае одновременных обраще ний к ОЗУ. Обычно приоритетная схема строится так, что предпочтение отдается каналу, так как его обраще ния к памяти происходят, как правило, реже, а сроч ность исполнения запросов канала может быть более высокой.
Каналы с прямым доступом (рис. 9-1, а) имеют соб ственные магистрали связи и соответствующую аппара туру для адресации ячеек и возбуждения цикла обраще ния к памяти. Наличие в вычислительной системе кана лов с прямым доступом требует, чтобы в ОЗУ существо вало несколько входных магистралей и в него были встроены приоритетные схемы для разрешения конфлик тов между процессорами и каналами.
Автономные и встроенные' каналы. Канал в логичес ком отношении всегда выступает как отдельное устрой ство в вычислительной системе, однако в зависимости от физической реализации каналов их можно разделить на автономные и встроенные.
Автономный канал является отдельным устройством не только в логическом, но и в конструктивном отноше нии. Он имеет собственный набор триггерных регистров и схем управления, и если канал является мультиплекс ным, то он включает и собственную память для хране ния информации о подканалах. Автономный канал мо жет иметь как прямой, так и косвенный доступ к памя ти, и хотя в последнем случае он разделяет с процессо ром часть оборудования (узел связи с ОЗУ), доля этого совместного оборудования по сравнению с собственной аппаратурой канала обычно невелика. Обе представлен ные на рис. 9-1,е и г структурные схемы являются при мерами автономных каналов.
Встроенный канал не имеет собственной аппаратуры и реализует все свои функции с помощью регистров и управляющих схем процессора. Встроенный канал име ет только косвенный доступ к памяти. В вычислитель ных системах невысокой производительности каналы встраиваются в процессоры с целью экономии оборудо вания. Обычно в виде встроенных каналов реализуются только мультиплексные каналы. Селекторные каналы почти всегда выполняются как автономные устройства, либо они имеют очень небольшую степень совмещения оборудования с процессором. Примеры встроенных ка налов приведены на рис. 9-1, д и е.
Лишь небольшая часть оборудования (узел связи с интерфейсом) выделяется в случае встроенного канала специально для выполнения операций ввода-вывода. Этот узел следит за поступлением требований на обслу живание от периферийных устройств, формирует сигна лы, посылаемые в магистрали интерфейса, и принимает
приходящие из интерфейса порции информации. Когда узел связи с интерфейсом определяет необходимость в выполнении сеанса связи с периферийным устройством, выполнение текущей операции в процессоре временно приостанавливается, процессор переводится в режим канала и выполняет все необходимые операции по обме
ну информации, вычислению текущих адресов |
данных, |
подсчету данных и т. п. |
задержанным |
доступом. |
Каналы с немедленным и |
В случае встроенного канала |
допустимый момент для |
переключения процессора в режим канала может быть выбран различным образом: сразу же после окончания той микрооперации, во время которой обнаружена необ ходимость в связи с периферийным устройством, или только после окончания текущей команды процессора. В соответствии с этим можно выделить две разновидно
сти встроенных каналов: канал |
с немедленным |
досту |
пом (рис. 9-1, е) |
и канал |
с |
задержанным |
доступом |
(рис. 9-1,5). |
|
доступом может выполнять |
Канал с задержанным |
сеансы связи с периферийными |
устройствами |
только в |
промежутках между командами |
процессора. |
Задержка |
начала сеанса в |
максимальном |
случае равна |
|
времени |
выполнения самой длинной команды процессора |
(время |
на разрешение конфликтов между различными канала ми здесь не учитывается). Следовательно, канал с за держанным доступом является относительно медленным каналом и может быть использован для реализации главным образом мультиплексных режимов работы. До
стоинством каналов с задержанным |
доступом является |
возможность |
некоторого упрощения |
работы |
процессора |
в режиме канала. В промежутках |
между |
командами |
содержимое |
большинства служебных (программно-не |
доступных) |
регистров процессора |
является |
несущест |
венным для программы. Поэтому, если для реализации функций канала использовать именно эти регистры, се анс связи с периферийными устройствами может произ водиться без предварительного запоминания и последу ющего восстановления содержимого регистров процес сора.
Канал с немедленным доступом может выполнять сеанс связи с периферийными устройствами в промежут ках между любыми микрооперациями процессора. За держка начала сеанса в максимальном случае равна
времени выполнения самой длинной микрооперации про цессора. Обычно за максимальную задержку в этом слу чае принимают длительность цикла обращения к ОЗУ. Однако в промежутках между микрооперациями содер жимое любого регистра процессора может оказаться важным для продолжения операции процессора. Поэто му в процессоре должно быть предусмотрено сохранение содержимого используемых в режиме канала регистров. В современных ЦВМ для этой цели часто используется имеющаяся в процессоре служебная память (так назы ваемая локальная память), имеющая более высокое быстродействие, чем ОЗУ.
В результате прогресса, достигнутого в области созда ния небольших быстродействующих ЗУ (особенно полу проводниковых ЗУ), каналы с немедленным доступом получают в современных машинах все более широкое применение и практически вытеснили каналы с задер жанным доступом.
Работа автономных каналов не связана с процеду рой выполнения команды в процессоре. Максимальная задержка, вносимая процессором в работу автономного канала, равняется длительности цикла памяти, если процессор успел обратиться к ОЗУ непосредственно пе ред тем, как это сделал канал. Поэтому можно условно считать, что автономный канал всегда является каналом с немедленным доступом.
Каналы с микропрограммным и схемным управлени ем. При проектировании каналов используются оба изве стных принципа построения схем управления: как мик ропрограммирование, так и схемное управление («запа янная» логика). В машинах небольшой вычислительной мощности часто используются микропрограммные встро енные каналы. В крупных вычислительных системах обычно применяют каналы со схемным управлением, обеспечивающие более высокое быстродействие.
9-5. С Т Р У К Т У Р А И О С Н О В Н Ы Е П Р О Ц Е Д У Р Ы РАБОТЫ М У Л Ь Т И П Л Е К С Н О Г О И С Е Л Е К Т О Р Н О Г О К А Н А Л О В
В настоящем параграфе рассматриваются более под робно примерные структурные схемы и основные про цедуры работы автономных мультиплексного и селек торного каналов с прямым доступом к памяти.
Мультиплексный канал (рис. 9-2). В состав мульти плексного канала входят следующие основные узлы.