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

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

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

Современная вычислительная техника решает эти проблемы путем создания специальных унифицированных

устройств для управления

вводом-выводом (каналов)

и унифицированных систем

связи между устройствами

(интерфейсов).

В настоящей главе рассматриваются логическая орга­ низация, свойства и виды каналов ввода-вывода. Вопро­ сы, связанные с построением интерфейсов, рассматрива­ ются в гл. 10.

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

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

490

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

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

что

и другие

периферийные устройства

(машина

CDC

3600).

системы, например IBM 7030,

с цент­

Существуют

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

Однако, несмотря на различие конфигураций, системы с переменным составом оборудования обладают рядом общих свойств, принципиально отличающих их структуру от машин с фиксированным составом оборудования:

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

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

в) Наличие общих информационных магистралей для всех (или части) периферийных устройств системы.

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

491

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

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

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

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

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

492

устройствами с осуществлением параллельной работы переменного набора периферийных устройств различных типов.

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

9 - 2 . Ф У Н К Ц И И К А Н А Л О В В В О Д А - В Ы В О Д А

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

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

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

Рассмотрим более подробно некоторые основные функции, которые могут быть возложены на канал вво­

да-вывода.

памяти. Для

определения ис­

Определение области

пользуемой в операции

ввода-вывода

области

памяти

необходимо знать начальный адрес и

размер

области.

Размер области памяти

задается в

виде количества

стандартных для данной машины единиц информации (слов, байтов и т. п.).

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

При выполнении операции ввода-вывода канал фор­ мирует адреса последовательных ячеек памяти, начиная

493

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

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

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

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

494

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

Пропуск информации. При операциях ввода может возникать необходимость переносить в память с носите­ ля информации отдельные части массива, пропуская ненужные данные. Для выполнения таких процедур без участия процессора в УС вводят разряд-указатель про­ пуска информации. Если этот указатель содержит нуль, то производится нормальная операция по вводу инфор­ мации в определенную данным УС область памяти. Если указатель пропуска поставлен в состояние 1, то во вре­ мя исполнения УС ввод данных в память не произво­ дится, канал только подсчитывает приходящие из пери­

ферийного устройства слова (байты).

Это

свойство

в сочетании с возможностью организации

цепи

данных

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

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

вать вмешательства

процессора, в программе которого

в соответствующих

местах должны располагаться

команды ввода-вывода. Однако можно придать каналу большую степень логической автономности посредством организации цепи операций.

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

в

данном периферийном устройстве новую операцию

ввода-вывода.

операций необходимо ввести

в

Для обозначения цепи

УС поле, определяющее

код операции ввода-вывода,

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

495

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

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

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

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

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

Сигнал о нормальном окончании операции ввода-вы­ вода сообщает программе, что она может продолжить

496

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

9-3 У П Р А В Л Я Ю Щ А Я И Н Ф О Р М А Ц И Я Д Л Я О П Е Р А Ц И Й В В О Д А -В Ы В О Д А . П Р О Г Р А М М Ы К А Н А Л А

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

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

В системе команд машины для пуска любой опера­ ции ввода-вывода, вообще говоря, достаточно иметь од­ ну команду со следующей типовой структурой:

Код операции

Номер канала и периферийного

 

процессора

Адрес У С

(пуск ввода -

устройства

вывода)

 

 

По этой команде все ее поля, кроме кода операции процессора, передаются в канал и начинается выполне­ ние УС из указанной в команде ячейки ОЗУ.

В некоторых машинах, например в машинах IBM 360,

ЕС ЭВМ, адрес УС не

указывается в команде

процес­

сора, а содержится в

так называемом

«адресном сло­

ве канала», хранимом

в определенной

ячейке

памяти,

куда оно должно быть помещено до исполнения коман­ ды пуска ввода-вывода. Адресное слово канала обыч­ но содержит также информацию, управляющую защи­ той памяти (о защите памяти см. § 11-2).

32—333

497

В случае использования адресного слова канала ко­ манда пуска ввода-вывода процессора содержит только два поля (код операции и номер канала и периферийно­

го устройства).

Для управления вводом-выводом система команд машины обычно содержит также:

команду прекращения ввода-вывода; команду опроса состояния канала;

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

для всех типов периферийных устройств.

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

Коды состояния позволяют каналу определять теку­ щее состояние любого из многочисленных и разнообраз­ ных периферийных устройств, включенных в вычисли­ тельную систему (исправность устройства, готовность его к работе, целостность носителя информации и др.). В различных вычислительных системах коды состояния формируются по-разному. Например, в системах IBM 360 и ЕС ЭВМ используются два вида кодов состояния. Основная информация о состоянии устройства в виде 8-разрядного «байта состояния» автоматически посыла­ ется устройством в канал при пуске операции ввода-вы­ вода, ее окончании или при возникновении каких-либо ненормальных ситуаций в работе периферийного устрой­ ства. Разряды байта состояния характеризуют заня­ тость устройств ранее начатой операцией, окончание операции, обнаружение ошибки в работе устройства, об­ наружение определенных особых условий (маркер на

498

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

Для получения более подробной информации о сос­ тоянии ПУ используется так называемый код уточненно­ го состояния. Длина и смысл кода уточненного состоя­ ния зависят от типа периферийного устройства.

Для получения уточненного состояния используется специальный приказ, посылаемый из канала в перифе­ рийное устройство. Код уточненного состояния заносит­ ся в ОЗУ.

Структура управляющего слова канала. В соответст­

вии с изложенным

в § 9-2 можно

представить следую­

щий типовой формат управляющего слова канала:

Указатели

П Р

Адрес данных

Счетчик

ЦД 1 цо 1 пи

Код операции

 

(А Д )

данных (СД )

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

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

32'

499

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