Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие

.pdf
Скачиваний:
97
Добавлен:
27.10.2023
Размер:
29.24 Mб
Скачать

раммы канала, в которых УС располагаются не в после­ довательных ячейках памяти. Этот вид перехода в прог­ рамме канала является безусловным переходом.

Для выполнения условных переходов в каналах сов­ ременных машин применяется ветвление программ кана­ ла. В зависимости от признаков, характеризующих сос­ тояние периферийного устройства, после выполнения оче­ редного управляющего слова следующее УС в цепи опе­ раций либо выполняется, либо пропускается.

В системах IBM 360 и ЕС ЭВМ признаком условно­ го перехода служит содержимое разряда «Модификатор состояния» в байте состояния, который ПУ посылает в канал по завершении операции, предписанной текущим управляющим словом. Если модификатор состояния со­ держит 0, то выбирается и исполняется следующее по порядку управляющее слово в цепи операций. В случае единицы следующее УС пропускается.

Ниже будет рассмотрен пример программы канала, в которой используются условный и безусловный пере­ ходы.

А д р е с д а н н ы х (АД) и с ч е т ч и к д а н н ы х (С Д) определяют область памяти, используемую в опе­ рации ввода-вывода. Адрес данных указывает адрес пер­ вого (или последнего в случае обратного ввода) слова (байта) из массива информации; счетчик данных ука­

зывает количество слов

(байтов).

У к а з а т е л ь ц е п и

о п е р а ц и й ЦО. При ЦО = 0

программа канала для данного периферийного устройст­ ва заканчивается на рассматриваемом УС, если нет ука­ заний о продолжении цепи данных. При Ц О =1 после выполнения действий, предусмотренных данным УС, сле­ дующее по порядку УС выбирается из памяти и начи­ нается выполнение новой операции ввода-вывода с тем же периферийным устройством.

У к а з а т е л ь п р е р ы в а н и я П Р. При ПР = 1 канал посылает в процессор запрос программно-управляемого прерывания.

У к а з а т е л ь ц е п и д а н н ы х ЦД. При Ц Д —0 опе­

рация

после использования данного УС оканчивается; при

Ц Д = 1

операция продолжается с новым массивом дан­

ных, указанным в следующем УС.

У к а з а т е л ь п р о п у с к а и н ф о р м а ц и и ПИ. При

П И = 1

передача информации между каналом и опера­

тивной

памятью подавляется, канал осуществляет толь­

500

ко подсчет слов, проходящих между каналом и пери­ ферийным устройством.

Примеры программ канала. Рассмотрим выборочную передачу информации между периферийным устройст­ вом и памятью. Предположим, что в оперативную па­ мять машины должны быть приняты из некоторой зоны магнитной ленты, содержащей 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.

В нашем

примере

в

этом случае выполняется

ввод

искомой

информации

в ОЗУ с

окончанием це­

пи операций. При этом в ОЗУ вводятся т байтов и по­ мещаются в группу последовательных ячеек, начиная с ячейки ß.

502

 

9-4. В И Д Ы

К А Н А Л О В

В В О Д А - В Ы В О Д А

Мультиплексный канал.

По способности к одновре­

менному

обслуживанию

нескольких периферийных ус­

тройств

различаются

два

вида каналов: мультиплекс­

ный и селекторный.

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

Если несколько периферийных устройств подготови­ лись к очередному сеансу связи и запрашивают обслу­ живание со стороны канала, то канал выбирает одно из них в соответствии с принятыми для данной системы приоритетными правилами, например в соответствии с- порядком подключения устройств ко входным магистра­ лям канала. Остальные устройства, готовые к сеансу связи, должны ожидать, когда подойдет их очередь на обслуживание. Следовательно, мультиплексный канал предназначен главным образом для работы со сравни­ тельно медленными устройствами,, способными ожидатьобслуживания без потери информации. Аппаратные средства мультиплексного канала можно условно разде­ лить на две части (рис. 9-1,а): средства, предназначен­ ные для обслуживания отдельных периферийных уст­ ройств, присоединенных к каналу, и оборудование, явля­ ющееся общим для всех устройств и разделяемое всеми устройствами во времени.

Средства канала, выделенные для обслуживания од­ ного устройства, принято именовать подканалом.

Количество подканалов определяет максимальное число одновременно работающих с данным каналом пе-

503-

Мультиплексный, канал

Селекторный канал

а )

Поеденный, доступ

в)

Встроенный ка н ал с за -

Один

подканал

И нт ерфейс

Периферийные устройстда

6)

Прямой доступ

г)

‘Бстроенный ка н а л с немед-

е)

Рис. 9-1. Виды каналов.

S04

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

Общее оборудование мультиплексного канала пред­ ставляет собой набор триггерных регистров и комбина­ ционных схем, позволяющих осуществлять изменение текущих параметров операции ввода-вывода, обмен ин­ формацией с ОЗУ и с периферийными устройствами.

Во время сеанса связи канал извлекает из памяти подканалов текущие параметры операции, соответству­ ющие обслуживаемому подканалу, и размещает их в своих триггерных регистрах. Руководствуясь выбранны­ ми из памяти подканалов параметрами, канал произво­ дит передачу порции информации между ОЗУ и пери­ ферийным устройством и соответствующим образом корректирует текущие параметры (прибавляет единицу к адресу данных, вычитает единицу из счетчика данных и т. п.). Измененные во время сеанса параметры возвра­ щаются для хранения в соответствующий участок памя­ ти подканалов.

В следующем сеансе связи триггерные регистры ка­ нала могут быть использованы для обслуживания дру­ гого подканала. Мультиплексный канал способен прини­ мать из процессора новые команды пуска операций вво­ да-вывода, относящиеся к свободным подканалам, и начинать выполнение новых цепей УС, продолжая об­ служивать ранее пущенные устройства.

Селекторный канал. Этот вид каналов предназнача­ ется для привилегированного обслуживания одного пе­ риферийного устройства. В случае работы с селектор­ ным каналом периферийное устройство после пуска опе­ рации остается связанным с каналом до окончания цепи операций. Запросы на обслуживание от других перифе­ рийных устройств, так же как и новые команды пуска операций ввода-вывода от процессора, в это время не воспринимаются каналом: до конца цепи операций се­ лекторный канал по отношению к процессору представ­ ляется занятым устройством.

505

Управляющее слово выбирается селекторным кана­ лом один раз в начале операции и содержится до окон­ чания всех предписанных действий в триггерных регист­ рах канала. Необходимые изменения текущих параметров операции производятся быстро с помощью соответ­ ствующих действий над содержимыми триггерных реги­ стров. Таким образом, все средства селекторного капала монополизируются на время операции одним периферий­ ным устройством; можно считать, что селекторный ка­ нал содержит только один подканал (рис. 9-1,6).

Вследствие отсутствия потерь времени па перезапоминание текущих параметров операции ввода-вывода селекторный канал обладает высокой степенью готов­ ности к обслуживанию пущенного им устройства и пред­

назначается для

работы

с

быстродействующими син­

хронными устройствами,

которые могут

терять инфор­

мацию

вследствие задержек в обслуживании

(накопи­

тели на магнитных лентах, дисках и др.).

 

возмож­

В современных вычислительных

машинах

ность

монопольного обслуживания

периферийных уст­

ройств

вводится

иногда

и в

мультиплексный

канал.

В этом режиме один из подканалов

полностью занимает

канал;

обслуживание других

пущенных

в работу под­

каналов задерживается до окончания монопольной опе­ рации и восстановления мультиплексного режима рабо­ ты. Наличие монопольного режима позволяет подсоеди­ нять быстродействующие периферийные устройства к мультиплексному каналу.

Каналы с прямым и косвенным доступом. В зависи­ мости от путей прохождения информации между ОЗУ и каналом различают каналы с прямым или с косвенным доступом к ОЗУ. Канал с косвенным доступом (рис. 9-1, в) не имеет непосредственной связи с ОЗУ и исполь­ зует для обращения к памяти соответствующие узлы процессора. Поскольку канал и процессор работают па­ раллельно, возможны одновременные обращения к па­ мяти как со стороны процессора, так и со стороны кана­ ла. Узел связи с ОЗУ в процессоре должен производить приоритетный выбор в случае одновременных обраще­ ний к ОЗУ. Обычно приоритетная схема строится так, что предпочтение отдается каналу, так как его обраще­ ния к памяти происходят, как правило, реже, а сроч­ ность исполнения запросов канала может быть более высокой.

506

Каналы с прямым доступом (рис. 9-1, а) имеют соб­ ственные магистрали связи и соответствующую аппара­ туру для адресации ячеек и возбуждения цикла обраще­ ния к памяти. Наличие в вычислительной системе кана­ лов с прямым доступом требует, чтобы в ОЗУ существо­ вало несколько входных магистралей и в него были встроены приоритетные схемы для разрешения конфлик­ тов между процессорами и каналами.

Автономные и встроенные' каналы. Канал в логичес­ ком отношении всегда выступает как отдельное устрой­ ство в вычислительной системе, однако в зависимости от физической реализации каналов их можно разделить на автономные и встроенные.

Автономный канал является отдельным устройством не только в логическом, но и в конструктивном отноше­ нии. Он имеет собственный набор триггерных регистров и схем управления, и если канал является мультиплекс­ ным, то он включает и собственную память для хране­ ния информации о подканалах. Автономный канал мо­ жет иметь как прямой, так и косвенный доступ к памя­ ти, и хотя в последнем случае он разделяет с процессо­ ром часть оборудования (узел связи с ОЗУ), доля этого совместного оборудования по сравнению с собственной аппаратурой канала обычно невелика. Обе представлен­ ные на рис. 9-1,е и г структурные схемы являются при­ мерами автономных каналов.

Встроенный канал не имеет собственной аппаратуры и реализует все свои функции с помощью регистров и управляющих схем процессора. Встроенный канал име­ ет только косвенный доступ к памяти. В вычислитель­ ных системах невысокой производительности каналы встраиваются в процессоры с целью экономии оборудо­ вания. Обычно в виде встроенных каналов реализуются только мультиплексные каналы. Селекторные каналы почти всегда выполняются как автономные устройства, либо они имеют очень небольшую степень совмещения оборудования с процессором. Примеры встроенных ка­ налов приведены на рис. 9-1, д и е.

Лишь небольшая часть оборудования (узел связи с интерфейсом) выделяется в случае встроенного канала специально для выполнения операций ввода-вывода. Этот узел следит за поступлением требований на обслу­ живание от периферийных устройств, формирует сигна­ лы, посылаемые в магистрали интерфейса, и принимает

507

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

ну информации, вычислению текущих адресов

данных,

подсчету данных и т. п.

задержанным

доступом.

Каналы с немедленным и

В случае встроенного канала

допустимый момент для

переключения процессора в режим канала может быть выбран различным образом: сразу же после окончания той микрооперации, во время которой обнаружена необ­ ходимость в связи с периферийным устройством, или только после окончания текущей команды процессора. В соответствии с этим можно выделить две разновидно­

сти встроенных каналов: канал

с немедленным

досту­

пом (рис. 9-1, е)

и канал

с

задержанным

доступом

(рис. 9-1,5).

 

доступом может выполнять

Канал с задержанным

сеансы связи с периферийными

устройствами

только в

промежутках между командами

процессора.

Задержка

начала сеанса в

максимальном

случае равна

 

времени

выполнения самой длинной команды процессора

(время

на разрешение конфликтов между различными канала­ ми здесь не учитывается). Следовательно, канал с за­ держанным доступом является относительно медленным каналом и может быть использован для реализации главным образом мультиплексных режимов работы. До­

стоинством каналов с задержанным

доступом является

возможность

некоторого упрощения

работы

процессора

в режиме канала. В промежутках

между

командами

содержимое

большинства служебных (программно-не­

доступных)

регистров процессора

является

несущест­

венным для программы. Поэтому, если для реализации функций канала использовать именно эти регистры, се­ анс связи с периферийными устройствами может произ­ водиться без предварительного запоминания и последу­ ющего восстановления содержимого регистров процес­ сора.

Канал с немедленным доступом может выполнять сеанс связи с периферийными устройствами в промежут­ ках между любыми микрооперациями процессора. За­ держка начала сеанса в максимальном случае равна

508

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

В результате прогресса, достигнутого в области созда­ ния небольших быстродействующих ЗУ (особенно полу­ проводниковых ЗУ), каналы с немедленным доступом получают в современных машинах все более широкое применение и практически вытеснили каналы с задер­ жанным доступом.

Работа автономных каналов не связана с процеду­ рой выполнения команды в процессоре. Максимальная задержка, вносимая процессором в работу автономного канала, равняется длительности цикла памяти, если процессор успел обратиться к ОЗУ непосредственно пе­ ред тем, как это сделал канал. Поэтому можно условно считать, что автономный канал всегда является каналом с немедленным доступом.

Каналы с микропрограммным и схемным управлени­ ем. При проектировании каналов используются оба изве­ стных принципа построения схем управления: как мик­ ропрограммирование, так и схемное управление («запа­ янная» логика). В машинах небольшой вычислительной мощности часто используются микропрограммные встро­ енные каналы. В крупных вычислительных системах обычно применяют каналы со схемным управлением, обеспечивающие более высокое быстродействие.

9-5. С Т Р У К Т У Р А И О С Н О В Н Ы Е П Р О Ц Е Д У Р Ы РАБОТЫ М У Л Ь Т И П Л Е К С Н О Г О И С Е Л Е К Т О Р Н О Г О К А Н А Л О В

В настоящем параграфе рассматриваются более под­ робно примерные структурные схемы и основные про­ цедуры работы автономных мультиплексного и селек­ торного каналов с прямым доступом к памяти.

Мультиплексный канал (рис. 9-2). В состав мульти­ плексного канала входят следующие основные узлы.

509

Соседние файлы в папке книги из ГПНТБ