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

книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем

.pdf
Скачиваний:
15
Добавлен:
25.10.2023
Размер:
14.65 Mб
Скачать

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

При организации

работы

вычислительной

системы

в режиме

с общей

памятью

обслуживающая

система

учитывает

приоритетность задач, решаемых

во время

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

Переход к режиму общей памяти производится в сле­ дующем порядке. По команде входа в обслуживающую систему управляющая машина (ЦВМІ на рис. 7-6) пере­ ходит на выполнение управляющей части обслуживаю­ щей системы, т. е. ОСі. Сначала производится обработка

слова запроса

(СЗ), проверка запроса на корректность

и выявляется

возможность его выполнения. В случае не­

корректности

запроса ОС^ обеспечивает выдачу специ­

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

шины (ЦВМ2

на рис. 7-6)

организует временный

режим

ожидания; если же от ЦВМ2 поступает сигнал об

отказе

в

удовлетворении запроса, то ОСі осуществляет переход

в

ЦВМі к

выполнению

основной рабочей программы,

содержавшей анализировавшееся слово запроса. При выявлении возможности удовлетворения запроса ОСі

осуществляет передачу

его в управляемую

машину

ЦВМ2. Передача запроса

производится путем

использо­

вания команды обращения к регистрам системы преры­

ваний, по которой триггеры управления

СхПр

ЦВМ2

устанавливаются

в состояния, отвечающие

подключению

запрашиваемых

блоков памяти к соответствующим

ШКС.

350

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

мации в ОС2 ЦВМг.

После этого ЦВМ2

переходит

к вы­

полнению

своей прерванной

рабочей

программы,

если

по запросу

отдан для

работы

ЦВМх блок внешней

памя­

ти, или останавливается, если по запросу отдан для ра­

боты ЦВМІ

блок оперативной

памяти,

и выдает в

ЦВМХ

сигнал для

ее пуска. Получив

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

сигнал

и проанализировав ответ на

запрос,

ЦВМі переходит

в режим выполнения своей основной программы. В даль­

нейшем

ЦВМХ осуществляет обращение к

выделенным

для нее

из

состава

ЦВМг блокам памяти

посредством

команды изменения состояний регистров приращений.

Режим

взаимного

контроля. Этот режим организу­

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

351

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

Режим реализации распараллеленных алгоритмов.

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

7-4. В Ы Ч И С Л И Т Е Л Ь Н А Я СИСТЕМА С АППАРАТНОПРОГРАММНОЙ Р Е А Л И З А Ц И Е Й МЕТОДОВ ПОВЫШЕНИЯ П Р О И З В О Д И Т Е Л Ь Н О С Т И

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

систем, работающих

в режиме с разделением времени

и обладающих высокой

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

352

совместное рассмотрение реализации аппаратных и про­ граммных методов повышения производительности вы­ числительных систем.

Характерным примером системы, в которой нашли широкое применение аппаратные и программные методы повышения производительности, является система ІВМ-360, модель 91 (система ІВМ-360/91). Эта ВС отно­ сится к числу систем сверхвысокой производительности, поскольку ее центральный процессор обладает номиналь-

^Центральное ядро

системы

1

 

 

1

ОЗУ

ЦП

1

 

 

1

 

 

 

 

J

 

 

 

 

 

 

,

 

 

 

 

 

ск-1

ск-г

 

МПК

 

 

j СПК, j

СПKz

\спкз\ 1

I •1

1

КПчУ Г - Ц

I I я

I

1 г - L |

I L - i

I 1 I

г-і—і

ІбУ Ш І

\6ИНМД

бЩ

\ВНВЩ \БНВиУ\ \ВУЩ

6УНМЛ\ \бУНМЛ\ 1 HR

I

1—-г—1 1

ПИ

- ѵу

-

чѵ

НМЛ

НМЛ

 

НМ6

НМД

 

 

 

 

 

 

 

 

 

 

H"?

-

hf

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1- /7ѵУ

Рис. 7-7. Общая структура вычи­

 

Ц/7ѵУ

слительной системы.

 

ным быстродействием до 15 млн. операций в секунду,

используется

весьма быстродействующая

оперативная

память большого объема и обеспечивается

эффективная

организация

последовательности

выполняемых

команд

с минимальными интервалами

между

их

группами

[Л. 49]. Повышение быстродействия и производительно­ сти достигается путем использования совокупности аппаратно-программных методов, в том числе методов опережающего просмотра ряда команд из данной после­ довательности (см. § 1-8).

Общая структура вычислительной системы ІВМ-360/91 построена по классическому принципу организации си­ стем с разделением времени; она представлена на рис. 7-7. Основу центрального ядра системы составляют центральный процессор ЦП и оперативное запоминаю­ щее устройство ОЗУ, или оперативная память системы.

23—1514

353

Вся внешняя и терминальная аппаратура подключается к устройствам центрального ядра посредством селектор­ ных и мультиплексного каналов. Имеется два независи­ мых селекторных канала: СК-1 обеспечивает подключе­ ние к центральным устройствам накопителей на магнит­ ных барабанах НМБ с их блоком управления БУ НМБ, а СК-2 реализует те же функции по отношению к нако­ пителям на магнитных дисках НМД с их блоком управ­ ления БУ НМД. Мультиплексный канал МК включает в свой состав ряд подканалов; это собственно мульти­ плексный подканал МПК и три селекторных подканала СПКІСПКз. Селекторные подканалы СПКІ И СПКг обеспечивают подключение накопителей на магнитных лентах НМЛ с их блоками управления БУ НМЛ,СП Кг— подключение индикационных панелей, в качестве кото­ рых могут использоваться специальные экраны с элек­ тронными перьями. Мультиплексный подканал обеспечи­

вает

подключение к центральным

устройствам

клавиш-

но-печатающих устройств КПчУ,

внешних

устройств

типа

читающих устройств ЧУ для

считывания

информа­

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

Система ІВМ-360/91 представляет собой дальнейшее развитие систем этой серии и практически полностью программно совместима с ними. С целью повышения быстродействия процессорной части в качестве основного принят машинный цикл с Г ц = 6 0 нсек. Поскольку за та­ кой малый временной интервал невозможно реализовать все такты действий по выполнению одной операции, то обеспечивается одновременная обработка до 10 команд. Для этого применяется широкая система буферных

устройств и соответствующая

программная

организация

их

работы. Рассматриваемая

система

может

работать

как

в режиме с плавающей

запятой,

так

и в

режиме

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

354

мам; операции в десятичной системе счисления выпол­ няются по подпрограммам.

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

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

с фиксированной запятой,

а второе — для выполнения

операций с плавающей запя­

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

Выполнение последовательностей команд в системе.

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

ранда, выполнение арифметической

операции. При

Тц=

= 60 нсек и времени обращения к

ОЗУ ГОбр = 750

нсек

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

23;

355

за время, эквивалентное 14 элементарным машинным циклам.

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

 

модуль 1

модуль 2

модуль п

 

 

 

 

п-1

 

 

77+7

 

20-1

 

2п

2пЧ

 

3/7-7

t '

)п

)п+1

7т-Ѵп-1

(т-Г)п

(т-1)п+1

~

/7777-7

 

3

БУ,

Ï Z E Z

 

6У)

 

 

т

Кододые ши.

Рис. 7-8. Модульная

организация оперативной

памяти.

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

соседним

адресам содержатся в разных

модулях ОЗУ

и выбираются из них независимо друг

от друга;

этим

обеспечивается

необходимая

скорость выборки

команд

и операндов из оперативной

памяти системы.

 

 

Расслоения оперативной памяти оказывается недо­

статочно

для организации

функционирования

системы

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

возможной производительностью, так как

к ОЗУ в процессе ее работы

обращается

не только

про­

цессор, но и другие устройства системы; кроме того, воз­ можны ситуации, требующие использования в составе процессора весьма быстродействующей памяти малой емкости. По этим причинам важное место в системе ІВМ-360/91 занимает буферная регистровая память ко-

356

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

Рис. 7-9. Схема включения регистровой памяти центрального про­ цессора.

Схема включения регистровой памяти центрального процессора приведена на рис. 7-9. Оперативная память системы связывается с центральным процессором тремя

основными каналами

передачи информации: по каналу/

в

ОЗУ

поступают адреса, по каналу 2— машинные сло­

ва

для

записи, а по

каналу 3 из ОЗУ в процессор про­

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

мять РПК, состоящую из двух частей — РПК-1 и

РПК-2;

РПК-1

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

память

команд,

а РПК-2 используется при организации

разветв­

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

мятью

УОЗУ.

Исполнительные

адреса из БОК

вводятся

в регистровую

память

адресов

РПА,

которую

дополняет

РПКА

— регистровая намять адресов при

возникновении

конфликтных

ситуаций

(например,

при

одновременном

357

обращении к одному и тому же модулю ОЗУ). Для про­

межуточного хранения результатов выполнения

опера­

ций используется регистровая память результатов

РПР.

Каждое из арифметических устройств процессора

(АУ-1—

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

запятой, АУ-2

— для

выполнения

операций над

числами

с плавающей

запятой) получает

коды операций

из БОК

и операнды из ОЗУ

через соответствующую регистровую

память; РПКОп

— регистровая память кодов

операций,

РПО—-регистровая

память операндов.

 

 

Регистровая

память команд обеспечивает

построение

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

кание цикла в РПК

исключает необходимость обращения

к

оперативной памяти. Очередь операндов формируется

в

РПО-1 и РПО-2,

что помогает разделить команды

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

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

358

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

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

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

359

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