Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 253

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

В системах 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