
книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем
.pdfпо запросам от абонентов. Запросы на обращение к ОЗУ канального процессора от ЦП и КП поступают в виде соответствующих команд, включающих в свой состав
признаки обращений П и адреса. |
Для |
размещения |
|
команд КП используется регистр РгКи |
а |
для |
размеще |
ния команд ЦП — регистр РгКъ Запросы |
от |
устройств |
сопряжения абонентов обрабатываются с помощью схе
мы |
приоритетов запросов СхПЗ |
и схемы формирования |
|||||
адреса |
СхФА; |
результаты обработки размещаются в ре |
|||||
гистре |
адреса |
по запросу РгАЗ. |
Установление |
очередно |
|||
сти |
обращений |
к ОЗУ в конечном итоге обеспечивается |
|||||
схемой приоритетов обращений |
СхПО, |
вырабатывающей |
|||||
необходимые |
наборы управляющих |
сигналов |
УС |
для |
|||
ОЗУ |
и |
узлов диспетчерского устройства. В состав |
рас |
сматриваемой схемы включаются также группы выход
ных вентилей |
В, |
через |
которые производится |
выдача |
|
выделяемого |
в данном |
такте работы |
системы |
адреса |
|
в регистр адреса |
РгА |
оперативного |
запоминающего |
устройства. Следует иметь в виду, что каждая из пока
занных на рис. 7-4 |
групп вентилей |
Ви В%, В3 |
фактически |
|
состоит из двух частей, связанных |
через собирательные |
|||
схемы |
с кодовыми |
шинами адреса |
соответственно ОЗУу |
|
и ОЗУі |
канального |
процессора. |
|
|
Узел обработки |
запросов абонентов, |
включающий |
||
СхПЗ |
и СхФА, связан по каналам |
передачи требований |
на обслуживание со всеми устройствами сопряжения, т. е. в конечном итоге со всеми абонентами. При .поступлении нескольких запросов-требований от различных абонентов схема приоритетов запросов обеспечивает их запомина ние и выделение только одного из лих в соответствии с приоритетами, присвоенными каждому абоненту. Вы деленный запрос направляется в схему формирования адресов, которая обеспечивает образование адреса Аз ячейки ОЗУ, по которому должно производиться обра щение к ОЗУ данного абонента; зоны памяти могут за крепляться за абонентами постоянно подобно тому, как это делается в рассмотренной выше системе с аппарат ным разделением времени; возможно осуществление рас пределения памяти и программным путем. Кроме кода Аз, в РгАЗ фиксируется и признак запроса абонента Яз.
По принятой для схемы на рис. 7-4 системы обозначений Пу есть признак обращения к ОЗУ канального процессора со стороны программы КП, a Ai-—адрес ячейки ОЗУ, по которому должно произво-
340
диться |
обращение; соответственно П2 |
— признак |
обра |
|||
щения |
к |
ОЗУ |
канального процессора |
со |
стороны |
ЦП, |
а А2—адрес |
по этому обращению. Все три признака об |
|||||
ращений подаются на схему приоритетов |
обращений, |
|||||
которая |
посылкой управляющего сигнала УСі (УС2 |
или |
||||
УС3) разрешает |
обращение к ОЗУ соответствующего эле |
мента системы, передавая отвечающий ему адрес в ре гистр адреса ОЗУ; одновременно вырабатывается необ
ходимый для работы "ОЗУ по записи |
или выборке |
числа |
||||
набор управляющих |
сигналов. |
|
|
|||
|
От ЗУ КП |
от ЦП |
от уел . |
|||
Рек, |
) |
|
|
РгКг j |
і_і |
і± |
|
|
|
|
|
||
|
|
|
|
|
схпа |
|
|
|
|
ш |
СхФЯ |
|
|
|
|
|
|
СхПО |
|
|
|
|
|
|
|
ргяз |
|
|
|
|
|
УС ОЗУ |
|
|
|
- j |
|
y t > |
УС, |
УС, |
|
|
|
L J |
УС, |
|
||
|
\РгЯ |
|
вРгД |
в РгЯ |
|
Рис. 7-4. Схема управления обращениями к ОЗУ канального процес
сора.
Обмен информацией между ОЗУ канального и цен трального процессоров может происходить путем пере дачи как отдельных чисел, так и групп чисел. Макси мальное количество чисел в одной группе определяется с таким расчетом, чтобы не было потерь запросов або нентов, которые имеют более низкий приоритет, чем цен тральный процессор. В то же время групповой обмен между ЦП и КП возможен вследствие того, что обслу живание требования ЦП производится во много раз бы стрее по отношению к обслуживанию требования любого абонента. При обмене группами чисел между ЦП и КП осуществляется, как правило, прерывание выполняемых программ в обоих процессорах; сигналы прерываний из КП в ЦП подаются ,как в начале, так и в конце груп пового обмена.
341
Обращение абонентов к ОЗУ канального процессора происходит фактически без прерывания выполняемой КП программы. Это обеспечивается структурой диспетчер ского устройства и тем, что обмен информацией между КП и абонентами всегда производится отдельными чис лами, а не группами чисел. Действительно, реализация запроса абонента означает для программы КП только пропуск одного та.кта и не требует запоминания содер жимого рабочих регистров, так как выполняемая коман да программы КП сохраняется в РгКі, а операционное устройство и арифметическое устройство канального про цессора не участвуют в процессе обмена информацией. Такая организация обращения абонентов к ОЗУ приво дит к значительной экономии машинного времени ка нального процессора.
Вычислительная система с канальным процессором имеет достаточно высокую пропускную способность при должной организации связей КП со всеми абонентами. Наиболее целесообразной структурой этих связей явля ется такая, когда одно устройство сопряжения объединя ет несколько абонентов типа внешних устройств, пример но одинаковых по быстродействию; управляющие сигналы посылаются из диспетчерского устройства непосредственно на каждое устройство сопряжения; при оритетность же абонентов устанавливается по последо вательности прохождения числовых шин через соответатвующие устройства.
7-3. МНОГОПРОЦЕССОРНАЯ ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА С СИММЕТРИЧНЫМИ с в я з я м и
Многопроцессорные вычислительные системы без же стких связей по управлению их составными частями обычно предназначаются для работы в режиме массово го обслуживания, что обеспечивает хорошее выравнива ние коэффициентов использования аппаратуры. Такие ВС строятся так, что общая синхронизация работы отдель ных процессоров достигается не за счет принудительного тактирования всех процессоров централизованным .по рядком, а за счет использования их систем прерываний и приоритетов. Процессы обмена информацией между частями ВС могут осуществляться практически в произ вольные моменты времени, так как обычно используются специальные каналы для передачи и приема кодов, атак-
342
же общая память. Наиболее приемлемой здесь оказы вается структура ВС из однородных машин, которые могут работать и в автономном режиме, так как в этом случае обеспечивается создание разнообразных связей между процессорами. Связи между процессорами уста навливаются симметричные или кольцевые. При симмет ричных связях некоторая пара процессоров (вычисли тельных машин) имеет такие же связи, как и любая другая пара данной системы. При кольцевых связях каждый процессор связывается с двумя соседними, а все процессоры системы образуют замкнутое кольцо. Если количество процессоров я<с:3, то кольцевые связи иден тичны симметричным (Л. 18].
Рассмотрим принципы построения и функционирова ния многопроцессорной вычислительной системы с сим метрично-кольцевыми связями на примере ВС, объеди няющей три универсальные трехадресные ЦВМ.
Все три машины, включаемые в состав системы, мо гут работать как автономно, так и в режиме общеси стемной обработки информации. Это обеспечивается организацией связей между машинами на уровне опера тивной и внешней памяти с децентрализацией управле ния. В режиме общесистемной обработки информации функции управляющей, или ведущей, может выполнять любая машина системы. Взаимосвязь элементов осуще ствляется путем обмена командной и числовой инфор мацией по шинам кольцевой связи, к которым подклю чаются ОЗУ и ВЗУ всех машин. При этом управляющая машина может использовать блоки оперативной и внеш ней памяти управляемой (ведомой) машины для реали зации своих программ. Кроме указанного, аппаратные средства машин обеспечивают обмен информацией каж дой из них с внешними объектами по телефонному и телеграфному каналам связи.
Основу математического обеспечения рассматривае мой ВС составляет так называемая обслуживающая си стема, позволяющая осуществлять взаимный контроль правильности решения задач отдельными машинами, а также параллельную работу всех машин при решении задачи с независимыми участками машинного алгорит ма. Обслуживающая система обеспечивает также под ключение процессора одной машины к блокам оператив ной и внешней памяти другой машины, которая в этой ситуации считается управляемой; отключение используе-
343
мых блоков от управляющей машины также обеспечи вается обслуживающей системой.
Общая структура рассматриваемой многопроцессор ной вычислительной системы показана на рис. 7-5. Каж дый из трех процессоров Я как центральная часть соот ветствующей вычислительной машины имеет свое опе ративное запоминающее устройство ОЗУ, накопители на магнитных барабанах и лентах НМБ и НМЛ, а также
шкс,
Р и с . 7-5. С т р у к т у р а м н о г о п р о ц е с с о р н о й В С с с и м м е т р и ч н ы м и с в я
з я м и .
схему прерываний СхПр. Поскольку разрядность адреса не позволяет производить обращение к нескольким бло кам как оперативной, так и внешней памяти, то в состав устройств управления процессоров включаются дополни тельно регистры приращений для размещения в них ко дов номеров блоков памяти; содержимое регистров при ращений изменяется по специальным командам програм мным путем. В общем случае для каждого вида памяти имеется отдельный регистр приращений. На рис. 7-5 РгПі является регистром приращений оперативной па мяти, РгПг — регистром приращений НМЛ, РгП3 — ре гистром приращений НМБ.
По всем видам памяти объединение вычислительных машин осуществляется по шинам кольцевых связей ШКС. По этим шинам передаются не только коды адре сов и слов, но и коды соответствующих приращений;
344
ШКСІ |
объединяют оперативную |
память, |
ШКСЪ—нако |
пители |
на магнитных барабанах |
и Я/Д"С4 |
— накопители |
на магнитных лентах. Управляющие сигналы от процес сора к процессору передаются по ШД'С2 , которые обес печивают их объединение через схемы прерываний. По строение СхПр отвечает классическим схемам, рассмот ренным в § 1-7, обеспечивая своевременное выявление запросов на прерывания от различных источников, в том числе и от других процессоров. Схемы прерываний объ единяются с аппаратно-программной системой приорите тов и включают в свой состав дополнительный регистр масок для осуществления защиты от прерываний. При прерывании запоминается очередная команда выполняе мой программы и осуществляется переход к выполнению программ обслуживающей системы, которая, как отме чалось выше, составляет основу математического обес печения рассматриваемой вычислительной системы.
Так как все виды запоминающих устройств объеди нены соответствующими шинами кольцевых связей и возможна работа частей системы в многопрограммном режиме, то предусматривается защита памяти. Для на копителей на магнитных лентах и барабанах защита
обеспечивается программным путем по номерам зон. Защита оперативной памяти обеспечивается аппаратнопрограммным способом с использованием граничных адресов и соответствующих регистров. При этом она осу ществляется, в основном, для программ обслуживающей системы, которые всегда размещаются в строго опреде ленных массивах ячеек каждого из ОЗУ системы.
Системы команд машин, включаемых в состав много процессорной системы, должны содержать команды, обеспечивающие реализацию всех возможных режимов работы. К числу таких команд в первую очередь отно сятся команды входа в обслуживающую систему, выхода из обслуживающей системы, обращения к регистрам си стемы прерываний; кроме того, должны использоваться команды запоминания состояний программно-доступных регистров, восстановления этих состояний при возвра щении к прерванной программе и изменения состояний регистров приращений. Команда входа в обслуживаю щую систему обеспечивает передачу управления из основной программы к требуемой команде, находящей ся в зоне ОС оперативной памяти; по этой же команде осуществляются запоминание состояний (содержимого)
345
всех программно-доступных регистров процессора, вы ключение системы защиты зоны ОС оперативной памяти и блокируется просмотр содержимого регистра запросов системы прерываний. Последнее действие связано с тем, что при выполнении программ обслуживающей системы не допускается их прерывание за исключением случаев аварийных ситуаций.
Команда выхода из обслуживающей системы выпол няется так же, как и команда восстановления состояний программно-доступных регистров; дополнительными дей ствиями при ней являются только осуществление вклю чения системы защиты зоны ОС оперативной памяти и разблокировки просмотра содержимого регистра запро сов системы прерываний. Эта команда по выполняемым действиям обратна команде входа в ОС, которая бази руется на команде запоминания состояний программнодоступных регистров. Регистры системы прерываний за исключением регистра запросов объединяются в одну программно-адресуемую ячейку памяти. Поэтому по команде обращения к регистрам системы прерываний обеспечивается ввод в соответствующую ячейку ОЗУ их содержимого и запись в них необходимого кода (напри мер, нового кода защиты, или маски).
Команда обращения к регистрам системы прерыва ний может выполняться только при реализации про грамм обслуживающей системы; при этом, очевидно, код запросов в регистре запросов системы прерываний не может быть изменен.
Подключение всех |
видов |
запоминающих |
устройств |
к шинам кольцевых |
связей |
производится |
посредством |
групп вентилей, которые управляются специально выде ленными для этого триггерами системы прерываний каж дого процессора. Эти триггеры относятся к программноадресуемым регистрам СхПр. В единичное состояние они устанавливаются в том случае, когда соответствующий блок памяти одной машины подключается к ШКС для использования его при реализации некоторой программы другой машиной. Иначе говоря, подключение блока па мяти к управляющей машине осуществляется за счет
установки соответствующего триггера |
СхПр |
управляе |
||
мой машины в единичное состояние. |
После |
окончания |
||
работы |
с «чужим» блоком памяти управляющая |
маши |
||
на устанавливает соответствующий триггер СхПр |
управ |
|||
ляемой |
машины в исходное нулевое |
состояние. |
После |
346
этого данный блок может использоваться только маши ной, которая была управляемой.
Основой математического обеспечения многопроцес сорной системы, как отмечалось выше, является обслу живающая система, представляющая собой набор спе циальных программ, хранимых постоянно в зоне ОС оперативной памяти каждой части системы. В составе ОС имеются программы управляющей части, выполняю щие диспетчерские функции, программы организации ввода и распределения информации, необходимой для решения задач, и программы библиотеки основных ре жимов, в которых может работать система. С помощью обслуживающей системы организуются три основных режима работы. Первый из них представляет собой ре жим общей памяти, когда любая машина системы мо жет работать с блоками оперативной и внешней памяти других машин; в этом режиме решаются задачи с боль шим объемом исходной и результирующей информации. Вторым является режим работы по распараллеленному алгоритму; в этом режиме решаются задачи, время на реализацию которых одной машиной не удовлетворяет требованиям. И, наконец, возможен режим взаимного контроля машин; в этом режиме решаются задачи при
повышенных требованиях к |
достоверности |
результатов. |
В общем случае обслуживающая система обеспечи |
||
вает управление процессом |
решения задач |
средствами |
ВС, координирует работу отдельных машин, определяет нагрузку процессоров по реализации заданных задач, распределяет между ними блоки памяти различных ви дов, а также определяет реакции по всем возникающим в процессе работы прерываниям. Организация функцио нирования вычислительной системы в конкретном режи ме осуществляется путем переключения ее элементов на работу по программе требуемого режима; все это обес печивается управляющей частью ОС. Таким образом, программы ввода и распределения информации, входя щие в состав обслуживающей системы, рассматриваются как вспомогательные. В тех случаях, когда требуется вмешательство оператора в процесс решения, ОС обес печивает выдачу необходимой информации в формали зованном виде на печать или возбуждение соответствую щих элементов сигнальной системы.
Взаимодействие процессоров рассматриваемой вычис лительной системы осуществляется на основе программ-
347
ного диалога, который предшествует коммутации тре буемого блока оперативной или внешней памяти на шины кольцевых связей. Этот диалог заключается в том, что управляющая часть обслуживающей системы управляе мой машины (процессора), реагируя на запрос, полу чает из управляющей машины всю информацию к запро су программным путем, анализирует эту информацию и выбирает дальнейшее направление процесса.
Обслуживающая система каждой машины состоит из двух частей: ОС( для управляющей, или запрашиваю щей, машины и ОС2 для управляемой, или запрашивае мой, машины. Запрос на реализацию одного из режи мов работы ВС поступает из основной рабочей програм мы управляющей машины через блок входа в ОС\ (рис. 7-6). В ОСІ управляющей машины запрос обра батывается с проверкой его на корректность и выясняет ся возможность его реализации путем анализа таблиц, отражающих состояние взаимодействия запрашиваемой машины со смежными машинами; запрос считается не корректным, если в нем указан номер машины, не вхо дящей в состав ВС, и т. п. Если при обработке запроса устанавливается, что он может быть выполнен, то OCj управляющей машины выдает его в запрашиваемую ма
шину; до получения сигнала |
о выполнении выданного |
ею запроса управляющая |
машина останавливается. |
В случае необходимости ОС4 организует режим ожида ния.
По получении запроса управляемой машиной он об рабатывается в ее ОС2 при прерывании выполняемой рабочей программы. Если устанавливается, что запрос может быть удовлетворен, то осуществляется формиро вание всех необходимых управляющих сигналов для под ключения к ШКС запрошенного блока оперативной или внешней памяти. После этого управляемая машина осу ществляет возврат к своей прерванной рабочей програм ме («восстановление»), если был запрос на блок внеш
ней |
памяти, и выдает в |
управляющую |
машину |
сигнал |
о возможности ее пуска. Управляющая |
машина помеща |
|||
ет в |
стандартную ячейку |
своей памяти |
ответ на |
запрос |
в виде кода состояния регистров приращений соответ ствующих видов запрошенных ЗУ и переходит к выпол нению своей основной рабочей программы. Таким обра зом, при запросе из основной программы ее реализация может быть продолжена только в случае выполнения
348
запроса. Следует отметить, что управляющая часть об служивающей системы, кроме ОС4 и ОСг, содержит так же программы реакции на внутренние сигналы преры ваний. Если управляющая и управляемая машины ме няются ролями, то порядок прохождения информации по запросам изменяется на обратный.
Рабочая |
|
|
|
|
Рабочая |
программа |
ОС,ЦВМ, |
,ппппг0СЦВМг |
программа |
||
ЦВМ] |
ПС, |
Сигналы |
0Сг Прерывание |
ЦЩ |
|
Вход в ОС |
|
||||
ответа |
команда Ma |
||||
Слодо запроса |
OCt |
|
Пуск |
Восстановление |
КпманваМа*1 |
|
|
ОС, |
|
||
Вход в ОС |
|
|
|
|
|
Слововапроса |
|
|
|
|
|
Рис. 7-6. Схема |
взаимодействия |
машин при работе в режиме |
|||
|
с |
|
общей |
памятью. |
|
Организация работы вычислительной системы в том или ином режимеосуществляется по так называемым словам запроса СЗ, которые размещаются в массиве ячеек основной .программы управляющей машины. Пер вой в любом СЗ всегда указывается команда входа в обслуживающую систему, которая обеспечивает пре рывание выполнения основной программы и передачу управления одной из программ обслуживающей системы. Далее располагаются условные числа и служебная ин формация, которые и определяют тот режим, в котором должна работать вычислительная система; обработка условных чисел и служебной информации осуществляет ся программами обслуживающей системы. При переходе к заданному режиму работы по обслуживающей системе предполагается, что каждая из машин ВС работает авто номно по своей рабочей программе, и в ее оперативной памяти записана аналогичная по отношению к управля ющей машине обслуживающая система.
Режим |
общей |
памяти. Для организации работы ВС |
в режиме |
общей |
памяти в слове запроса управляющей |
машины всегда указываются вид блока памяти, который требуется для дальнейшей работы этой машины, а так-
349