
книги из ГПНТБ / Дроздов Е.А. Многопрограммные цифровые вычислительные машины
.pdfном количеством подканалов. Для каждого подканала отводится отдельное поле памяти, включающее в свой состав до 16 ячеек. Кроме того, одно поле используется для хранения информации, от носящейся к работе канала в целом; здесь могут размещаться списки заявок, очереди заявок на обслуживание и т. п.
В ячейках поля подканала хранятся слова, |
относящиеся |
к нему |
и необходимые для организации его работы |
в процессе |
обмена |
информацией между ОЗУ машины и соответствующим внешним устройством; к таким словам в первую очередь относятся АСК, УСК и ИС. В процессе работы выбранного УВВ управляющее сло-
ОЗУК ОУК
Рис. 12.2. Структурная схема мультиплексного канала
во канала, как правило, модифицируется в операционном устрой стве; промежуточное хранение модифицированных УСК обеспечи вается той же ячейкой или теми же ячейками памяти подканала, что и начального, получаемого из ОЗУ машины, УСК. Ячейка ин формационного слова частично выполняет функции «собирателя» ИС при выполнении операций записи в ОЗУ машины и «раздели теля» ИС при выполнении операций выборки. Действительно, если в каждом сеансе связи УВВ может выдавать или воспринимать только один байт, то передаваемое в ОЗУ машины информационное слово составляется в течение нескольких сеансов и окончательно формируется в ячейке ИС подканала, а слово, передаваемое в УВВ, разделяется на байты, причем нереализованные после очередного сеанса связи байты сохраняются в ячейке ИС подканала.
Связь оперативного запоминающего устройства канала с дру гими устройствами осуществляется через группы вентилей и кодо вые шины канала КДЖ. На рис. 12.2 показана только одна группа
входных вентилей Bi |
для ОЗУ К; очевидно, что |
она должна раз |
деляться на две части, |
одна из которых служит для ввода адреса, |
|
а другая — для ввода |
записываемого в ОЗУК |
слова. К кодовым |
380
шинам канала подключены группы вентилей В7 и В8, обеспечи вающие связь с ОЗУ машины, и В9, через которые в УУ машины передается информация о состоянии канала. В устройство управ ления канала из ОЗУК передаются коды признаков, а непосред ственно из УУК в ОЗУК поступают управляющие сигналы, опре деляющие порядок действий, выполняемых этими устройствами.
Операционное устройство канала представляет собой набор ре гистров, счетчиков, групп вентилей и других узлов, служащих для временного хранения и преобразования символьной информации, выражаемой словами или их частями. Набор узлов ОУК обеспечи вает выполнение действий над словами, относящимися только к одному подканалу. Поэтому, когда действия по обслуживанию не которого подканала заканчиваются, все модифицированные слова из ОУК пересылаются в ячейки ОЗУК этого подканала, после чего в операционное устройство принимаются слова, относящиеся к подканалу, который является очередным по обслуживанию. Связь ОУК с кодовыми шинами канала осуществляется посред ством групп входных и выходных вентилей В3 и В*. Регистры опе рационного устройства, обеспечивающие промежуточное хранение байтов информационных слов, через группы вентилей Вп и В|2 связаны с внешними устройствами. Вся работа ОУК происходит под воздействием управляющих сигналов, получаемых из устрой ства управления канала.
Устройство анализа запросов представляет собой комплекс уз лов, обеспечивающих поочередное подключение работающих внеш них устройств к каналу. Каждое УВВ посылает в УАЗ сигнал за проса по мере своей готовности к приему или выдаче очередного байта информации или полного информационного слова. В УАЗ происходит анализ запросов и формирование сигналов управления внешними устройствами; при этом УАЗ непрерывно обменивается информацией с устройством управления канала. В состав УАЗ может включаться приоритетная схема при разделении всех внеш них устройств на несколько уровней по срочности обслуживания.
Устройство управления канала реализует все основные микро программы операций, непосредственно выполняемые в канале. От устройства управления машины через группу вентилей Вю оно по лучает коды операций ввода — вывода, а также управляющие сигналы, по которым осуществляется пуск отдельных микропро грамм. В качестве дополнительной первичной командной инфор мации в УУК используются коды признаков, поступающие от от дельных устройств канала. Реализация микропрограмм приводит к формированию наборов управляющих сигналов, посредством которых координируется работа устройств канала. При парал лельном выполнении нескольких команд ввода — вывода УУК вы рабатывает управляющие сигналы циклически, что и приводит в конечном итоге к поочередному подключению соответствующих внешних устройств через канал к оперативной памяти машины.
Рассмотрим принципы;'разделения времени между УВВ при параллельном выполнений нескольких команд ввода — вывода.
381
При этом положим, что все необходимые для выполнения опера ций УСК уже введены в ОЗУК канала и что между каналом и УВВ осуществляется побайтный обмен информацией, а каждое информационное слово состоит из четырех байтов. Работающие
внешние |
устройства |
посылают |
запросы |
на |
обслуживание, |
когда |
|||||
в их выходных |
регистрах |
зафиксирован |
очередной |
байт |
выда |
||||||
ваемой |
информации |
или |
они |
готовы для |
приема |
очередного |
|||||
байта. |
|
|
|
|
|
|
|
|
|
|
|
При обслуживании одного УВВ в канале происходит следую |
|||||||||||
щее. По номеру данного внешнего |
устройства, |
формируемому в |
|||||||||
УАЗ, из ОЗУК |
выбирается |
отвечающее ему УСК и пересылается |
|||||||||
|
|
|
|
код УСК из ОЗУК |
|
|
|
|
|
||
|
ус ■ |
|
|
|
|
|
|
|
|
|
|
|
|
кк |
|
КА |
|
КП |
|
ккс |
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
Рг уск I Рг |
С41 |
г 1 |
Рг1 |
|
Сч 2 |
1 |
|
|
||
|
|
f l |
|
|
|||||||
|
___ |
|
|
|
|
|
|
|
I |
|
|
|
|
|
|
УС |
|
|
|
J |
|
|
|
|
|
|
|
|
|
|
|
УС» |
|
|
|
|
в УУК |
в ш — в — |
|
—КДШ - И Я |
|
СхА |
— В УУК |
|
|||
|
УС- |
|
----------f |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
код УСК' в ОЗУК |
|
|
|
|
|
|||
|
Рис. 12.3. |
Схема преобразования и модификации управляю |
|
||||||||
|
|
|
щего слова канала |
|
|
|
|
|
в операционное устройство. Каждое УСК |
содержит код команды |
КК (записи, выборки и т. п.), код адреса |
КА, код признаков КП |
и код количества слов ККС. Коды команд и признаков не изме |
|
няются в течение реализации данного УСК. Поэтому они разме |
|
щаются в соответствующих регистрах ОУК. Код адреса после пе |
редачи |
очередного |
информационного |
слова в ОЗУ машины или |
|
в |
схемы |
внешнего |
устройства должен |
увеличиваться на единицу, |
а |
код количества |
слов — уменьшаться |
на единицу. Поэтому пер |
вый из них размещается в суммирующем счетчике, второй — в вы читающем счетчике. Комплекс из двух регистров и двух счетчи ков, служащих для размещения частей УСК, называют регистром управляющего слова.
Преобразование и модификация УСК обеспечиваются схемой, приведенной на рис. 12.3. После ввода управляющего слова в ре гистр РгУСК коды команд и признаков выдаются в устройство управления канала. На счетчик Сч1, в котором размещается код адреса, подается УС|, вызывающий увеличение содержимого этого счетчика на единицу. Два младших разряда Сч1 представляют собой счетчик байтов и управляют работой дешифратора Дш, ко
382
торый обеспечивает распределение принимаемых от УВВ байтов по группам разрядов ячейки ИС. подканала ОЗУК, а также вы дачу в УВВ байтов из определенных групп разрядов этой ячейки. Содержимое основных разрядов Сч1 изменяется на единицу после каждых четырех сеансов связи с данным внешним устройством, когда оказывается полностью сформированным информационное слово при выполнении операции записи в ОЗУ машины или когда информационное слово полностью передано в УВВ при выполне нии операции выборки из ОЗУ машины. Новый адрес выдается в КШК и далее в регистр адреса ОЗУ машины для записи в этом ОЗУ очередного слова или его выборки с последующим размеще нием в ячейке ИС данного подканала ОЗУК.. Содержимое счет чика Сч2 уменьшается на единицу по сигналу УСг, который фор мируется только после окончания действий по передаче полного информационного слова.
В ходе одного сеанса связи с УВВ управляющее слово канала обязательно модифицируется; три последовательных сеанса ха рактеризуются изменением кода адреса, а каждый четвертый — изменением как КА, так и ККС. После завершения сеанса моди фицированное управляющее слово УСК' из регистра РгУСК пере сылается в соответствующую ячейку (ячейки) ОЗУК. Узлы операционного устройства очищаются и на них принимается управ ляющее слово, относящееся к тому УВВ, которое является оче редным по обслуживанию. Если какое-либо УСК полностью реализовано каналом, то содержимое счетчика Сч2 становится рав ным нулю. Схема анализа СхА в этом случае формирует финиш ный сигнал, который передается в устройство управления канала; соответствующая команда ввода — вывода считается выпол ненной.
§ 12.3. Селекторные каналы
Селекторные каналы служат для организации и управления обменом информацией между оперативной памятью высокопроиз водительной многопрограммной ЦВМ и внешними запоминающи ми устройствами при максимальной разгрузке процессора маши ны по выполнению соответствующих операций. Селекторные ка налы обычно проще мультиплексных, так как они обслуживают внешние ЗУ в так называемом монопольном режиме, т. е. без разделения времени внутри цикла обслуживания между отдель ными устройствами. Иначе говоря, обслуживание заданного командой ввода — вывода устройства не прерывается до окончат ния обмена информацией между ним и оперативной памятью си стемы. При организации работы селекторных каналов использу ются те же управляющие слова, что и при организации работы мультиплексных каналов, т. е. КВВ, АСК и УСК.
Упрощенная схема селекторного канала приведена на рис. 12.4, где показана основная часть его операционного устройства, устройство управления канала УУК, а также узлы для формиро-
383
вания и разделения информационных слов; оперативное ЗУ в состав селекторного канала не включается. Обмен информацией между каналом и оперативной памятью машины осуществляется по кодовым шинам чисел КШЧ и кодовым шинам адресов КША. Обмен информацией между каналом и внешними ЗУ производит ся по шинам прямой передачи ШПП и шинам обратной передачи ШОП; системы ШПП и ШОП обычно рассчитываются на пере дачу информации по байтам.
кшч
Рис. 12.4. Общая схема селекторного канала
Непосредственная организация выполнения заданной команды ввода — вывода в селекторном канале, как и в мультиплексном, осуществляется в соответствии с управляющим словом канала УСК. Поэтому в операционном устройстве канала центральное место занимает комплексный регистр УСК. УСК в комплексный регистр вводится через группу вентилей Вь если формат УСК пре вышает предельный формат машинных слов, то группа венти лей В] разбивается на части, отвечающие частям УСК, передаваемым
раздельно |
по кодовым шинам чисел КШЧ. |
При разделе |
нии В! на |
части соответственно увеличивается |
количество управ |
384
ляющих сигналов, по которым УСК вводится в комплексный регистр канала.
Код команды канала КК и код признаков КП выдаются из РгУСК непосредственно в устройство управления канала, где ис пользуются для формирования необходимых наборов управляю щих сигналов УС. К двум младшим разрядам счетчика Сч1, кото рые выполняют функции счетчика байтов в передаваемом полно разрядном слове, подключен дешифратор байтов ДшБ; сигналы с выхода этого дешифратора подаются в УУК.. В старших разрядах Сч1 формируется адрес очередного информационного слова, вы бираемого из ОЗУ машины или записываемого в это ОЗУ. Вы дача адреса в КША осуществляется через группу вентилей В2; очевидно, что УС2 должен подаваться с частотой, в четыре раза меньшей частоты выработки управляющего сигнала УС5, если ин формационное слово состоит из четырех байтов. Управляющие сигналы УСб, подаваемые на вход Сч2, формируются одновремен но с УС2. При подаче каждого УС6 содержимое Сч2 уменьшается на единицу; поэтому, когда будет передано заданное количество слов, определяемое кодом количества слов ККС, этот счетчик уста навливается в нулевое состояние. Схема анализа СхА при уста новке Сч2 в нулевое состояние выдает сигнал в УУК о заверше нии передачи заданного количества слов. По этому сигналу УУК прекращает формирование наборов управляющих сигналов и по сылает в УУ машины финишный сигнал, т. е. сообщение о завер шении работ по данному УСК.
Регистр РгЗ служит для формирования информационных слов, передаваемых из внешних ЗУ в оперативную память машины, а также для разбиения слов на байты при обратной передаче ин формации. С кодовыми шинами чисел этот регистр связан через полноразрядные группы входных В3 и выходных В4 вентилей. Прием байтов, передаваемых из внешних ЗУ по ШПП, осуще ствляется посредством 8-разрядных групп вентилей В\, В\
и т. д.; если полноразрядное информационное слово отвечает че
тырем байтам, то к ШПП подключается четыре группы |
вентилей |
(рис. 12.4). Четыре группы вентилей В 2,1 Щ, В\, В* |
обеспечи |
вают разделение слова, передаваемого из ОЗУ машины в выбран ное внешнее ЗУ, на байты; через эти группы вентилей регистр РгЗ связан с шинами обратной передачи ШОП.
Устройство управления канала представляет собой преобразо ватель первичной командной информации, задаваемой кодами команд и признаков, во вторичную командную информацию, кото рая выражается соответствующими наборами управляющих сиг налов. Из устройства управления машины УУК. получает код опе рации ввода — вывода КОпВВ, а также стартовый управляющий сигнал УСС. Код команды канала и код признаков поступают в УУК из Рг1 и Рг2 комплексного регистра управляющего слова. Сигналы номеров байтов, вырабатываемые в процессе формиро вания информационных слов, а также при их разделении на байты
385
в РгЗ, подаются в устройство управления канала непосредст венно с выходов ДшБ. По финишному сигналу от схемы анализа УУК вырабатывает общий финишный сигнал, передаваемый в УУ машины.
Рассмотрим работу селекторного канала по выполнению опе рации ввода — вывода, код которой совместно с номером внеш него ЗУ поступает в УУК из устройства управления машины. По заданному номеру УУК обеспечивает подготовку соответствую щего внешнего ЗУ к работе, посылая командную информацию по цепям, не показанным на рис. 12.4. Вся работа канала по реали зации заданной операции начинается с поступлением в УУК стар тового управляющего сигнала. На начальном этапе кроме подго товки к работе внешнего ЗУ осуществляется выборка управляю щего слова канала из оперативной памяти машины и размещение
его в РгУСК. |
для выполнения операция |
выдачи группы |
слов |
Пусть задана |
|||
из ОЗУ машины |
в некоторое внешнее ЗУ, |
а управляющее |
слово |
канала в качестве КА содержит код 110101000000, а в качестве ККС — код 100000000. Это означает, что в данном сеансе связи с заданным внешним ЗУ в это устройство необходимо передать 256 слов, располагающихся в ячейках ОЗУ, начиная с ячейки, имеющей восьмеричный номер 6500; считается, что каждое инфор мационное слово разделяется на четыре байта. Код адреса КА размещается в старших разрядах Сч1, а код количества слов ККС — в счетчике Сч2.
После приема управляющего слова канала коды КК и КП пе редаются из Рг1 и Рг2 соответственно в УУК. Этим завершается предварительный этап выполнения операции вывода из ОЗУ ма шины в заданное внешнее ЗУ группы машинных слов. Собственно передача этих слов начинается с момента выработки управляю щего сигнала УС2, по которому производится выдача из счетчика Сч1 адреса первого машинного (информационного) слова в ОЗУ машины. Далее вырабатывается УСз, обеспечивающий ввод в ре гистр РгЗ первого машинного слова, выбранного из ОЗУ машины. Одновременно с УС3 вырабатывается управляющий сигнал УСб, подача которого на вход Сч2 вызывает уменьшение содержимого этого счетчика на единицу; очевидно, что после выборки первого слова из ОЗУ машины в Сч2 будет содержаться код 11111111.
Принятое в РгЗ информационное слово должно выдаваться в шины обратной передачи ШОП по байтам. Это обеспечивается последовательной выработкой управляющих сигналов УС^ УС^(
УС^ и УСф Управляющий сигнал УС^ вырабатывается сразу
же вслед за УС3, когда два младших разряда Сч1 содержат нули и сигнал кода единицы поступает в устройство управления канала с первого выхода дешифратора байтов. Практически одновремен но с формированием УС:2 на вход Сч1 посылается управляющий
сигнал У С5, устанавливающий в двух мл'адших разрядах этого счетчика код 01. В соответствии с этим кодом устройство управ
386
ления канала формирует управляющий сигнал УС|; на вход Сч 1
посылается очередной УС5 . На ШОП выдается второй байт ин формационного слова, а в двух младших разрядах Сч 1 устанав ливается код 10 и т. д. После выдачи четвертого байта на ШОП в двух младших разрядах Сч1 устанавливается код 00, а содер жимое основных старших разрядов этого счетчика увеличивается на единицу. На этом заканчивается первый цикл работы канала, отвечающий передаче из ОЗУ машины во внешнее ЗУ первого ин формационного слова.
Очередной цикл работы канала, как и первый, начинается с выработки управляющего сигнала УСг, по которому очередной адрес из Сч1 передается в ОЗУ машины. В рассматриваемом примере второй цикл работы канала начинается с отсылки в ОЗУ машины восьмеричного адреса 6501, так как в конце первого цикла в основной части Сч1 фиксируется двоичный код 110101000001. Завершается каждый цикл выработкой управляю щих сигналов УС| и УС5 . В начале последнего цикла работы
канала (для рассматриваемого примера — в начале 256-го цикла) счетчик Сч2 устанавливается в нулевое состояние, и схема анализа СхА посылает в устройство управления канала финишный сигнал, который может рассматриваться как предварительный. Схемы УУК продолжают выработку управляющих сигналов и после вы дачи на группу вентилей В* сигнала УС^ формируют резуль
тирующий финишный сигнал, посылаемый в устройство управле ния машины.
Работа канала при выполнении операции по передаче инфор мации из заданного внешнего ЗУ в ОЗУ машины также осуще ствляется по циклам, отвечающим передаче отдельных информа ционных слов. Но каждый цикл начинается с выработки последо вательности управляющих сигналов УС}, УС}, УС}, УС}, по
которым в РгЗ формируется полное информационное слово. Да лее одновременно вырабатываются УСг, У С 4 и УСв, что обеспечи вает запись принятого из внешнего ЗУ слова в требуемую ячейку ОЗУ машины и уменьшение содержимого Сч2 на единицу. В конце каждого цикла вырабатывается четвертый, считая с начала цик ла, сигнал У С 5 , что позволяет сформировать в Сч1 адрес, по кото рому в очередном цикле в ОЗУ машины записывается следующее информационное слово.
§12.4. Порядок обслуживания абонентов
Впроцессе работы ЦВМ в режиме разделения времени обслу* живаются различные группы абонентов, причем некоторым из них может предоставляться определенное преимущество при установ лении очередности удовлетворения одновременно поступающих за просов. Это достигается введением системы приоритетов. Наивыс ший приоритет присваивается тем задачам (и соответствующим
абонентам), которые должны решаться в первую очередь.
387
При установлении дисциплины (очередности, расписания, по рядка) обслуживания запросов абонентов необходимо удовлетво рить следующие требования:
—обслуживать срочные требования (запросы) и выполнять соответствующие программы абонентов в кратчайшее время;
—обслуживать требования низшего приоритета в приемле мые для абонентов сроки (во всяком случае в такие сроки, которые бы не дали повода абонентам отказаться от услуг си стемы) ;
—наиболее полно загрузить центральный процессор полезной работой, т. е. выполнением программ абонентов; от того, какая принята дисциплина обслуживания требований абонентов, зави сит частота переключения процессора от выполнения одной про граммы к другой, а значит, и суммарная потеря времени на эти переключения;
—уменьшить среднее время реакции СРВ и среднее число
требований, ожидающих обслуживания; |
реализации выбран |
||
— обеспечить |
относительную |
простоту |
|
ного алгоритма |
определения |
очередности |
обслуживания або |
нентов.
Первые два требования являются взаимно противоречивыми, так как предоставление льготных условий срочным запросам осу ществляется за счет запросов более низких приоритетов. И на оборот, стремление уменьшить среднее время обслуживания за просов низких приоритетов неизбежно связано (при прочих рав ных условиях) с необходимостью сокращения перечня запросов, относящихся к категории срочных, принадлежащих высшему прио ритету. Противоречивыми являются также требование миними зации среднего времени реакции системы и среднего числа абонен тов, ожидающих в очереди, с одной стороны, и требование учета степени важности и срочности исполнения отдельных программ, с другой стороны. В связи с этим при разработке алгоритма опре деления порядка обслуживания абонентов (иначе называемого алгоритмом диспетчирования) возникает задача нахождения ком промиссного решения, удовлетворяющего в той или иной степени указанным требованиям.
Разработка оптимального алгоритма диспетчирования — слож ная задача исследования операций, требующая для своего ре шения привлечения методов математической статистики, теории очередей, а также учета ряда соображений инженерного харак тера. Качество такого алгоритма оценивается обычно с помощью стоимостной функции, или функции штрафа за ожидание резуль татов вычислений.
В используемых в настоящее время СРВ нашли применение круговое (циклическое) и приоритетное обслуживание.
Круговое обслуживание представляет собой простейшую стра тегию обслуживания поступивших требований. При круговом об служивании предполагается, что для всех абонентов стоимость ожидания результатов выполнения их программ одинакова. Каж
388
дый абонент по очереди получает одинаковый квант времени. Если за время одного кванта программа i-ro абонента не выполняется, ее прерывают и переходят к выполнению программы очередного абонента. При этом программа /-го абонента устанавливается в конец очереди. Очередь обычно формируется в порядке поступ
ления требований, т. е. по принципу «первый |
пришел — первый |
обслужен». Стратегия кругового обслуживания |
применяется в слу |
чае, когда для требований абонентов не устанавливается никакой дифференциации по степени их важности и срочности и не извест но время на выполнение программ абонентов.
Приоритетное обслуживание представляет собой более высо кую организацию обслуживания абонентов, учитывающую в боль шей степени их потребности.
Можно выделить следующие разновидности приоритетного об служивания:
—приоритетное обслуживание по принципу «чем короче про грамма, тем выше ее приоритет»; очередность обслуживания уста навливается в порядке возрастания х0г (т0г — время на обслужи вание требования t-rо абонента без учета потерь времени на ожи дание обслуживания в очереди и на прерывания при выполнении соответствующей рабочей программы), т. е. в первую очередь вы полняется наиболее «короткая» программа, требующая наимень ший объем вычислений; если априорно распределение объема вычислений не известно, могут быть введены так называемые динамические приоритеты, которые присваиваются программам або нентов на основании предыдущих оценок программ, произведен ных системой в процессе ее работы; приоритетное обслуживание по указанному принципу применяется в случае, когда стоимость ожидания обслуживания для всех абонентов одинакова;
—приоритетное обслуживание по так называемому правилу т/С в порядке возрастания отношения -toi/Ci, где через Сгобозна чена величина, определяющая стоимость ожидания обслуживания требования /-го абонента, отнесенная к единице времени;
—приоритетное обслуживание по принципу «чем важнее тре бование, тем выше его приоритет», т. е. здесь при установлении очередности обслуживания абонентов вообще не принимается во внимание распределение объема вычислительной работы между реализуемыми программами, а учитывается степень важности и
срочности требований абонентов.
При использовании приоритетного обслуживания любой раз новидности не обязательно устанавливается только одна очередь обслуживания активных абонентов. Обычно активные абоненты по тому или иному признаку разбиваются на несколько групп, каж дой из которых присваивается свой уровень приоритета. Каж дому уровню приоритета соответствует своя очередь, упорядочен ная в порядке поступления требований этого уровня. Приоритет требований убывает с увеличением номера уровня. Требование, которое должно обслуживаться следующим, выбирается из непу стой очереди требований наивысшего приоритета.
3R9