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

книги из ГПНТБ / Королев, Л. Н. Структуры ЭВМ и их математическое обеспечение учебное пособие

.pdf
Скачиваний:
25
Добавлен:
21.10.2023
Размер:
10.26 Mб
Скачать

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

предусмотрены команды

считывания и записи величин

в эту логически общую

память в обход элементарных

процессоров.

 

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

Для решения многих задач математической физики недостаточно 64 узлов разностной схемы: их требуется иногда несколько сотен для достижения необходимой точности. Методика решения таких больших задач на одном квадранте ИЛЛИАК-IV в этом случае сводится к «прогонке» узлов разностной схемы через простран­ ство узлов элементарных процессоров. В этом случае весьма интенсивно используются магистрали обмена и вторичная память на магнитных дисках. При решении подобных больших задач, связанных с «протаскиванием» сетки через «окошко» физических процессоров, большую роль играет возможность программным образом «пере­ нумеровывать» элементарные процессоры. В ИЛЛИАК-IV есть средства, позволяющие заменять вышедший нз строя элементарный процессор одним из запасных, сле­ довательно, есть принципиальная возможность перенуме­ рации процессоров и их индивидуальных запоминающих устройств. Пока в литературе нет сведений о том, как

160

организован счет таких больших задач на машинах типа ИЛЛИАК-IV. Разработка специальных методов счета и организации вычислений на машинах такого типа пред­ ставляет несомненный интерес и требует нетрадицион­ ного подхода.

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

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

удобен. В

этом случае

можно использовать вводные

и выводные

магистрали

и пересылочные команды цен­

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

В качестве постоянного запоминающего устройства большого объема в ИЛЛИАК-IV использовано лазер­ ное запоминающее устройство. Информация записывает­ ся на тонкую металлическую пленку, покрывающую вращающийся барабан. Запись производится путем выжи­ гания микроотверстий лазерным лучом. Таким образом, запись уже невозможно стереть. Предусмотрена электро­ механическая система смены барабанов. На одном бара­ бане может быть записано до 2,9 миллиона двоичных разрядов, что эквивалентно 625 катушкам магнитной ленты. Среднее время поиска нужной информации оце­ нивается в 200 мсек, что сравнимо со средним временем поиска на хороших дисках. Скорость считывания соста­ вляет около четырех миллионов битов в секунду.

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

6 Л . Н . К о р о л ев

161

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

Машина ИЛЛИАК-IV представляет собой уникаль­ ную систему и, соответственно, весьма дорогую (стои­ мость превышает 30 млн. долларов). Система прямо ориентирована на решение определенного круга задач математической физики, радиолокации, прогноза пого­ ды, т. е. является специализированной системой.

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

Г л а в а 4

МАШИНЫ ФИРМЫ BURROUGHS (БАРРОУЗ)

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

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

6*

163

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

К этому времени имелся опыт создания трансляторов для таких языков высокого уровня, как КОБОЛ, ФОРТ­ РАН, АЛГОЛ. Большую долю в этих транслирующих системах занимает процесс перевода исходных арифме­ тических выражений в обратную польскую запись. Программные методы интерпретации стековой органи­ зации памяти, которые, как уже говорилось, обеспечи­ вают наиболее простой способ распределения памяти для результатов промежуточных вычислений и дают до­ статочно универсальный способ передачи параметров и организации рекурсивных обращений к процедурам, к этому времени также были известны. Учитывая это, раз­ работчики В-5000 решили построить машину со струк­ турой команд, обеспечивающей аппаратную организа­ цию магазинного способа обращения к памяти. В то же время было известно, что чисто магазинная организация требует дополнительных обращений в памяти по срав­ нению с организацией, имеющей адресную структуру ко­ манд. Число обращений при выполнении программ уве­ личивается в 1,5—2 раза.

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

Эта разработка подвергалась критике со стороны кон­ курирующих фирм. В самом деле, когда В.-5000 вступила

164

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

В1966 г. фирма Барроуз выпустила в сгет машину В-5500, структурная организация которой явилась дальнейшим развитием принципов, заложенных в маши­ ну В-5000.

В1969 г., продолжая развивать те же принципы в об­ ласти организации структуры центрального процессора,

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

Каковы же основные особенности машин семейства Барроуз, резко отличающие их от остальных машин традиционной структуры?

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

165

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

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

от содержимого этих разрядов.

организации

Третьей

особенностью структурной

этих машин

является введение нового

объекта — так

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

166

§ 1. Машины В-6500, В-7500

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

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

иобладают следующими общими особенностями.

1.В качестве основных входных языков в этих систе­ мах используются ФОРТРАН, АЛГОЛ и КОБОЛ. В-6500

иВ-7500 полностью программно преемственны. Эти машины программно преемственны и с машиной В-5500, которая оказалась достаточно популярной и продолжала выпускаться, несмотря на появление более совершенной

серии.

2.В В-6500 и в В-7500 предусмотрен одинаковый способ подключения внешних устройств.

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

врежиме телекоммуникационной обработки. Далее мы

более подробно остановимся на характеристиках пере­ численных выше модулей.

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

.167

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

щими в реальном масштабе времени.

ц е н т ­

С т р у к т у р н ы е

о с о б е н н о с т и

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

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

2.Магазинный, или стековой, механизм обращения

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

кподпрограммам (процедурам).

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

4.Программно-аппаратные методы защиты массивов

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

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

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

168

этих двух режимов разработчики В-6500, В-7500 назы­ вают мультипроцессорным режимом.

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

С и с т е м а к о м а н д . Программа в машинном языке представляет собой последовательность «силлабул». Термин «силлабула» утвердился, по-видимому, со вре­ мен машины В-5000 и обозначает некую часть машинного языка, имеющую самостоятельное функциональное зна­ чение. Силлабулы В-6500/7500 одинаковы и занимают один байт (8 двоичных разрядов). Операторы (команды) программы набираются из силлабул.

Программа машины В-6500, В-7500 состоит из эле­ ментов трех типов: операторов (operators), команды вы­ зова значений (value calls) и команды вызова имени

(name calls).

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

Команда вызова значений (обращений по значению) состоит из двух силлабул и помещает операнд в стек. Команда вызова имени помещает в стек имя (косвенную ссылку) и также состоит из двух силлабул.

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

О с н о в н ы е т и п ы о п е р а т о р о в В-6500/ 7500. Оператор вызова имени формирует слово косвен­ ного обращения (Inderect Reference Word — IRW) и по­ мещает его в верхушку магазина. Из шести младших разрядов первой силлабулы и восьми разрядов второй силлабулы данного оператора образуется 14-разрядный адрес, который размещается в младших разрядах фор­ мируемого слова. К полученному слову приформиро-

169

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