
книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем
.pdfже номер управляемой машины. Таким образом, запрос на выделение блока памяти формируется программно в управляющей машине; непосредственное подключение требуемого блока памяти к соответствующим ШКС осу ществляется аппаратно средствами управляемой маши ны. Отключение использованного блока памяти от ШКС осуществляется после поступления от управляющей ма шины требования по очередному слову запроса на пере ход к режиму автономного пользования блоками памяти.
При организации |
работы |
вычислительной |
системы |
|
в режиме |
с общей |
памятью |
обслуживающая |
система |
учитывает |
приоритетность задач, решаемых |
во время |
перехода к этому режиму отдельными машинами. Так если приоритет задачи, решаемой управляемой машиной, выше приоритета задачи, решаемой управляющей маши ной, то требование управляющей машины на выделение блока памяти не удовлетворяется. В том случае, когда удовлетворение такого требования связано с прерыва нием выполнения программы в управляемой машине, об служивающая система обеспечивает запоминание состоя ний тех регистров, содержимое которых необходимо для возобновления работы по прерванной программе.
Переход к режиму общей памяти производится в сле дующем порядке. По команде входа в обслуживающую систему управляющая машина (ЦВМІ на рис. 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