Из книги Л.Н.Королева
"Структуры ЭВМ и их математическое обеспечение"
Многопроцессорные вычислительные комплексы Эльбрус
При разработке этих систем главное внимание было уделено трем проблемам:
- эффективности использования оборудования;
- возможности обеспечения предельной производительности;
- созданию высоконадежных резервируемых структур, обладающих возможностью постепенного наращивания производительности с учетом адаптации к решаемым задачам.
Мы здесь дадим краткие сведения об упомянутых комплексах, по которым в какой-то степени можно судить о структурных решениях, принятых для достижения указанных целей.
В состав семейства многопроцессорных вычислительных комплексов входит система Эльбрус-1 с производительностью от 1,5 млн. операций в сек до 10 млн. операций в сек и высокопроизводительная система Эльбрус-2 с суммарным быстродействием более 100 млн. операций в сек. Системы Эльбрус-1 и Эльбрус-2 построены на одних и тех же структурных принципах, их модули функционально идентичны, а их процессоры имеют одинаковую систему команд и одинаковую по функциям единую операционную систему (ЕОС).
Основными модулями вычислительной системы Эльбрус являются:
- центральные процессоры в количестве от 1 до 10;
- модули оперативной памяти (от 4 до 32);
- модули процессоров ввода-вывода (ПВВ) (от 1 до 4);
- модули процессоров передачи данных (ППД) (от 1 до 16);
- модули управления барабанами и дисками, образующие систему управления массовой памятью.
Оперативная память для всех процессоров системы доступна через коммутатор, на который, кроме того, возлагаются функции исключения неисправных блоков памяти и включения в работу резервных. Достоверность вычислений гарантируется развитой системой аппаратного контроля, охватывающей контролем как работу процессоров, так и работу по обмену информацией на всех уровнях системы.
Система команд центрального процессора базируется на принципе магазинного обращения к памяти, на аппаратной реализации стека. Внутренний язык машины подобен инверсной польской бесскобочной записи и представляет собой последовательность имен операндов, помещаемых в стек, и кодов функций, выполняемых над операндами, расположенными в вершине стека. В вершине стека могут находиться также не сами операнды, а ссылки на них или даже ссылки на процедуры, вычисляющие значения требуемого операнда. По принципам своего построения система команд центрального процессора близка к системе команд таких машин, как KDF-9 и Барроуз, структуру которых принято считать нетрадиционной.
В то же время система команд и организация данных имеет существенные отличия в направлении более развитого аппарата описания типов данных, их защиты, способов распределения памяти. Стековый механизм широко используется не только для динамического распределения памяти под локальные объекты программных блоков и процедур, но также для запоминания управляющей информации при переходах на более глубокие уровни вложенности процедур и для запоминания информации об адресном окружении задачи при прерываниях и переключениях с задачи на задачу. В системе команд Эльбрус получил дальнейшее развитие аппарат дескрипторов, отражающий такие конструкции языков высокого уровня, как описатели процедур, массивов и данных.
Каждый объект данных в памяти снабжен дополнительными управляющими разрядами (тегом), в которых содержится информация о типе данных и различные управляющие признаки, включая признаки защиты по чтению и записи. Широкое использование стекового механизма, аппарат дескрипторов и описателей, возможность указывать уровень вложенности - все это позволяет строить так называемые "чистые" реентерабельные (повторновходимые) процедуры или программы, в которых явно не присутствуют ссылки на адреса объектов в математической или физической памяти.
Это очень важно при организации вычислений в многопроцессорных системах, так как это позволяет одно и то же тело программы одновременно использовать несколькими процессорами при работе с разными данными. Аппарат дескрипторов и косвенных ссылок в то же время позволяет разным программам иметь контролируемый доступ к общим данным, что полезно при решении некоторых сложных задач.
При разработке системы Эльбрус большое внимание было уделено проблемам синхронизации при параллельном выполнении ветвей одной задачи над общими данными, т. е. проблеме синхронизации процессов. Многие функции синхронизации вынесены на уровень аппаратуры.
Модуль ПВВ - процессор ввода-вывода - представляет собой специализированную вычислительную машину со своей локальной памятью и с возможностью доступа к основной оперативной памяти и служит для управления связью системы с внешними устройствами. В состав ПВВ входят блоки быстрых каналов и блоки стандартных каналов. В свою очередь блок быстрых каналов состоит из четырех селекторных каналов, которые могут обслуживать до 64 быстрых абонентов каждый. Селекторные каналы рассчитаны на связь с такими устройствами как быстрые магнитные барабаны и сменные диски. Блок стандартных каналов содержит 16 каналов, обслуживающих до 256 внешних абонентов. Стандартный канал обеспечивает мультиплексное обслуживание сравнительно медленных внешних устройств: магнитных лент, устройств ввода-вывода и т.п. Кроме того, в состав ПВВ входит блок сопряжения с процессорами передачи данных (до 4 каналов).
Основное назначение ПВВ-освободить центральную вычислительную систему от функций организации очередей обмена, от функций реакции на прерывания по вводу-выводу, от функций оптимизации обслуживания очередей запросов на обмен. Один ПВВ обеспечивает максимальную скорость обмена с ОЗУ до 36 млн. байт/ сек, скорость обмена по быстрому каналу до 4 млн. байт/сек, и по стандартному каналу и каналу сопряжения с ППД-около 1 млн. байт/сек.
Процессор передачи данных - ППД - представляет собой специализированное вычислительное устройство с гибким программным управлением, производительностью порядка 700 тыс. операций в сек. Он имеет свою локальную память, в которой размещаются управляющие программы, обеспечивающие обслуживание до 160 телефонных и телеграфных линий связи.
В состав ППД могут входить до 10 групповых устройств сопряжения, каждое из которых рассчитано на обслуживание до 16 телефонных или телеграфных линий. Это устройство осуществляет функции контроля и программно-управляемую адаптацию к различным системам передачи данных. Процессоры передачи данных могут служить основой для построения систем телеобработки или дистанционного доступа. Сообщение, принимаемое или передаваемое по телефонным или телеграфным линиям, подвергается многоступенчатому иерархическому обслуживанию по цепочке: модем, групповое устройство сопряжения, центральный вычислитель ППД, блок сопряжения ПВВ, оперативная память, центральный процессор системы. Такая иерархия освобождает более высокие этажи от рутинной работы, связанной с детальным анализом поступающих сигналов, их тщательному контролю, повышая все более и более логический уровень управления.
Базу математического обеспечения вычислительных комплексов Эльбрус составляет операционная система. Структурная организация центральных процессоров позволяет вне зависимости от их числа иметь операционную систему в одном экземпляре. Поскольку диспетчерские функции по управлению вводом выводом переданы специализированным процессорам ПВВ и ППД, на управляющие программы, исполняемые центральными процессорами системы, возлагается работа по управлению ресурсами, планированию потока задач, распределению ресурсов процессоров, контролю за живучестью и управление резервированием. Важной функцией центральной операционной системы является функция управления работой процессов и их синхронизация. Кроме того, центральная операционная система выполняет обычные функции вызова систем программирования, распределения памяти, динамического вызова процедур и необходимых массивов и управление файловой системой. В состав системы программирования вычислительного комплекса Эльбрус должны войти языки высокого уровня: алгол-60, фортран, кобол, ПЛ-1, алгол-68, симула-67, паскаль. Кроме того, в состав системы программирования входит автокод Эльбрус - процедурно-ориентированный, машинно-зависимый язык, сравнимый по своим возможностям с языками высокого уровня. В автокоде Эльбрус предусмотрены возможности, позволяющие строить хорошо структурированные программы. Для системных математиков разработан язык описания сетей-сетран, обеспечивающий автоматизацию программирования алгоритмов управления для процессора передачи данных при создании систем телеобработки и написания программ управления работой по приему-передаче в различных системах передачи данных.
В состав центральной операционной системы как составная часть входит система управления базой данных, которая обеспечивает мультидоступ к файлам и основана на сетевой модели структур данных.
Газета "Московская Правда" от 8.4.78 года сообщила, что в Советском Союзе начато производство универсальных многопроцессорных комплексов четвертого поколения Эльбрус-2 общей производительностью более 100 млн. операций в секунду, и что в настоящее время ведутся разработки еще более высокопроизводительных универсальных вычислительных машин. Это сообщение, сделанное от имени ТАСС, подтверждает то большое значение, которое придается в нашей стране развитию высокопроизводительных вычислительных машин.
Развитие в области исследований и разработки такого рода систем идет по разным направлениям, и это является залогом успешного решения больших и трудных задач, поставленных перед учеными в области вычислительной техники, задач, возникших в ходе технической революции, вызванных к жизни развитием современного производства и важными задачами, стоящими перед обществом.
Текст воспроизволится по изданию: Структуры ЭВМ и их математическое обеспечение. Королев Л.Н. Главная редакция физико-математической литературы, М., Наука, 1978. Стр 166-169.
© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ