Графика
Начерталка

Математика

Лабы

Основы вычислительных систем Курс лекций начало

 

2.2. Матричные системы

 

Наиболее распространенными из систем класса ОКМД являются матричные системы, которые лучше всего приспособлены для решения задач, характеризующихся параллелизмом независимых объектов или параллелизмом данных. Организация систем этого типа на первый взгляд достаточно проста: общее управляющее устройство, генерирующее поток команд, и большое число устройств, работающих параллельно и обрабатывающих каждое свой поток данных. Таким образом, производительность системы оказывается равной сумме производительности всех обрабатывающих устройств. Однако на практике, чтобы обеспечить достаточную эффективность системы при решении широкого круга задач, необходимо организовать связи между обрабатывающими устройствами (в дальнейшем будем называть их процессорными элементами – ПЭ). Характер связей может быть различным, так же как и характер взаимодействия ПЭ. Все это и определяет разные свойства систем.

 

Если не считать машины Унгера (1958 г.), которая была узкоспециализированной и предназначалась только для решения задач распознавания образов, то, по-видимому, первой матричной системой следует считать систему SOLOMON упрощенная структура которой представлена на рис. 2.4. Система содержит 1024 ПЭ, соединенных в виде матрицы 32X32. Каждый ПЭ в матрице соединен с четырьмя соседними и включает в себя процессор, обеспечивающий выполнение последовательных поразрядных арифметических и логических операций, а также оперативное ЗУ емкостью 16 Кбит, разбитое на модули по 4 Кбит каждый. Длина слова переменная – от 1 до 128 разрядов. Разрядность слов устанавливается программно. По каналам связи от УУ передаются команды и общие константы. В ПЭ используется так называемая многомодальная логика, которая позволяет каждому ПЭ выполнять (т. е быть активным) или не выполнять (быть пассивным) общую операцию в зависимости от значений обрабатываемых данных.

Рис. 2.4. Система типа ОКМД

 

В каждый момент все активные ПЭ выполняют одну и ту же операцию над данными, хранящимися в собственной памяти и имеющими один и тот же адрес. Идея многомодальности заключается в том, что в каждом ПЭ имеется специальный регистр на четыре состояния – регистр моды. Мода (или модальность) заносится в этот регистр от УУ. При выполнении последовательности команд модальность передается в коде операции и сравнивается с содержимым регистра моды. Если есть совпадение, то операция выполняется. В других случаях ПЭ не выполняет операцию, но может в зависимости от кода пересылать свои операнды соседнему ПЭ. Такой механизм позволяет, в частности, выделить строку или столбец ПЭ, что может быть полезным при операциях над матрицами. Взаимодействуют ПЭ с периферийным оборудованием через внешние ПЭ.

Система SOLOMON оказалась нежизнеспособной вследствие громоздкости, недостаточной гибкости и эффективности. Однако идеи, заложенные в ней, получили развитие в системе ILLIAC-IV, разработанной Иллинойсским университетом и изготовленной фирмой «Барроуз».

Рис. 2.5. Система ILLIАС-IV (проект)

 

По первоначальному проекту система ILLIAC-IV должна была включать в себя 256 ПЭ, разбитых на 4 группы – квадранты (рис 35), каждый из которых должен управляться специальным процессором (УП). Управление всей системой, содержащей кроме ПЭ и УП также внешнюю память и оборудование ввода – вывода, предполагалось от центрального управляющего процессора (ЦУП). Однако реализовать этот замысел не удалось из-за возникших технологических трудностей при создании интегральных схем, ОЗУ и удорожания всего проекта почти в два раза. В результате с опозданием на два года (в 1971 г.) система была создана в составе одного квадранта и одного УП и с начала 1974 г. введена в эксплуатацию. Ранее предполагалось получить на этой системе производительность примерно 1 млрд. операций в секунду, однако реализовано 200 млн. операций в секунду. Тем не менее этого оказалось достаточно, чтобы система в течение ряда лет считалась самой высокопроизводительной в мире.

Рис. 2.6. Квадрант системы ILLIAC-IV

 

В каждом квадранте 64 ПЭ образуют матрицу размером 8x8. Схема связей между ПЭ (рис. 2.6) похожа на схему системы SOLOMON, но связь с внешней средой имеют все ПЭ без исключения. Реально действующая система ILLIAC-IV состоит, таким образок, из двух частей: центральной с устройством управления и 64 ПЭ, а также подсистемы ввода – вывода, включающей в себя универсальную ЭВМ В-6700, файловые диски и лазерную архивную память большой емкости. Каждый ПЭ состоит из собственно процессора и ОЗУ. Процессор оперирует с 64-разрядными числами и выполняет универсальный набор операций. Быстродействие процессора достаточно высокое, операция сложения 64-разрядных чисел выполняется за 240 нс, а умножения – за 400 нс. Таким образом, процессор выполняет в среднем 3 млн. операций в секунду, а следовательно производительность системы равна 3X64≈200 млн. операций в секунду.

Емкость ОЗУ каждого ПЭ составляет 2048 64-разрядных слов, длительность цикла обращения к памяти 350 нс. Память выполнена на интегральных схемах. Каждый процессор имеет счетчик адресов и индексный регистр, так что конечный адрес в каждом процессоре может формироваться как сумма трех составляющих: адреса, содержащегося в команде для данного ПЭ, кода, содержащегося в центральном индексном регистре УУ, и кода, содержащегося в собственном индексном регистре. Это существенно повышает гибкость системы по сравнению с системой SOLOMON, где все ПЭ выбирают информацию по одному адресу. Каждый процессор кроме индексного регистра имеет в своем составе пять программно-адресуемых регистров: накапливающийся сумматор, регистр для операндов, регистр пересылок, используемый при передачах от одного ПЭ к другому, буферный регистр на одно слово и регистр управления состоянием ПЭ (аналогичный регистру моды в системе SOLOMON). Регистр управления имеет 8 разрядов. В зависимости от содержимого этого регистра ПЭ становится активным или пассивным, а также выполняет ряд пересылочных операций. Если вычисления не требуют полной разрядности, то процессор может быть разбит на два 32-разрядных подпроцессора или даже восемь 8-разрядных. Это позволяет в случае необходимости обрабатывать векторные операнды из 64, 2X64=128 и 8X64=512 элементов.

Как видно из рис. 2.6, каждый i-й ПЭ связан с четырьмя другими:   и м. При такой связи передача данных между любыми двумя ПЭ осуществляется не более, чем за 7 шагов, а среднее число шагов равно 4.

По шине состояния ПЭ могут передавать сигналы о состоянии в УУ, которое таким образом всегда определяет состояние системы. Оперативное ЗУ каждого процессорного элемента связано со своим процессором, устройством управления центральной частью и подсистемой ввода – вывода.

Подсистема ввода – вывода включает в себя стандартную ЭВМ В-6700 (первоначально В-6500) и два уровня внешней памяти: на магнитных дисках с фиксированными дорожками и лазерную память. Накопители на дисках имеют магнитные головки для каждой дорожки (128 головою на диск), и обмен данными осуществляется по 256-разрядной шине. Емкость каждого диска – около 1 млрд. бит. Для того чтобы согласовать скорость передачи информации с дисков и работу управляющей ЭВМ, в систему включено буферное ОЗУ, состоящее из четырех модулей памяти.

Лазерная память представляет собой одностороннее ЗУ очень большой емкости (1012 бит). Информация записывается на тонкой металлической пленке путем прожигания микроотверстий лазерным лучом. Емкость ЗУ – 1200 млрд. бит. Время доступа к данным от 0,2 до 5 с.

Машина В-6700 выполняет и различные другие функции: транслирует и компонует программы, управляет запросами на ресурсы, производит предварительную обработку информации и т. д.

Следует подчеркнуть, что сверхвысокая производительность системы достигается только на определенных типах задач, таких, например, как операции над матрицами, быстрое преобразование Фурье, линейное программирование обработка сигналов, где как раз имеет место параллелизм данных или параллелизм независимых объектов. Необходимо отметить также и то, что разработка программ для систем ILLIAC-IV, обеспечивающих высокую производительность, является весьма сложным делом. Для упрощения этой работы были разработаны специальные алгоритмические языки.

Система ILLIAC-IV была включена в состав вычислительной сети ARPA. В результате усовершенствования программного обеспечения производительность системы выросла до 300 млн. операций в секунду.

 

В начале 80-х годов в Советском Союзе в классе систем ОКМД была создана «Параллельная система 2000» (ПС-2000), которая также может быть отнесена к матричным [5]. Эта система ориентирована на решение задач, характеризующихся параллелизмом данных, независимых ветвей и объектов. Разработчики системы считают, в частности, что ПС-2000 найдет особенно широкое и эффективное применение для обработки геофизической информации, получаемой при поиске нефти и газа, решения задач плазменной кинетики, расчетов устойчивости летательных аппаратов, обработки гидролокационных сигналов и изображений, решения задач в частных производных и др.

Рис. 2.7. Система ПС-2000

 

Укрупненная структура системы ПС-2000 изображена на рис. 2.7. Центральная часть системы – мультипроцессор ПС-2000, состоящий из решающего поля и устройства управления мультипроцессором. Решающее поле строится из одного, двух, четырех или восьми устройств обработки (УО), в каждом из которых восемь процессорных элементов. Таким образом, мультипроцессор может содержать 8, 16, 32 или 64 процессорных элемента. Процессорный элемент обрабатывает 24-разрядные слова, используемые для представления 12-, 16- и 24- разрядных чисел с фиксированной запятой, в которых 20 разрядов определяют мантиссу и 4 разряда – шестнадцатеричный порядок. Емкость оперативной памяти процессорного элемента – 4096 или 16 384 24-разрядных слова с циклом обращения соответственно 0,64 или 0,94 мкс. Мультипроцессор из 64 процессорных элементов обеспечивает при обработке данных следующую производительность (в миллионах операций в секунду):

 

Сложение с фиксированной запятой (регистр–регистр)

200

Сложение с плавающей запятой

66,4

Умножение

28,5 – 50,0

Время выполнения основных операций (в микросекундах):

Транспонирование матрицы 64X64

0,45

Умножение матриц 64X64:

 

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

1,0

с плавающей запятой

1,4

Быстрое преобразование Фурье на 1024 комплексные точки:

 

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

1,0 – 2,5

с плавающей запятой

1,4 – 2,8

 

Устройство управления содержит блок микропрограммного управления емкостью 16384 микрокоманды, ОЗУ емкостью 4096 или 16384 24-разрядных слов и АЛУ. В блок микропрограммного управления загружаются микропрограммы обработки данных, ввода – вывода и управления. В комплект программного обеспечения системы входит набор микропрограмм базовой системы операций, ориентированной, на обработку матриц, реализацию быстрого преобразования Фурье и решение задач математической статистики, спектрального анализа, линейного и динамического программирования. Возможна реализация на микропрограммном уровне любой необходимой системы операции. В ОЗУ загружается программа обработки. Команды программы выполняются в обычном порядке. Выполнение сводится к инициированию соответствующей микропрограммы, микрокоманды которой формируют управляющие сигналы, воздействующие на процессорные элементы.

Ввод – вывод данных в память решающего поля, т. е. в ОЗУ процессорных элементов, производится через канал прямого доступа, состоящий из магистралей ввода и вывода. Операции ввода – вывода инициируются мониторной подсистемой и выполняются под управлением устройства управления мультипроцессора. Обработка, ввод и вывод данных могут выполняться одновременно. Обмен данными может осуществляться до 1,8 Мбайт/с при вводе и до 1,4 Мбайт/с при выводе. Процессорные элементы решающего поля связаны регулярным каналом, по которому передаются данные. Конфигурация регулярного канала перестраивается под управлением программы, образуя одно кольцо из 64 процессорных элементов, как на рисунке, или несколько одинаковых колец: 8 колец по 8 процессорных элементов, 4 по 16 или 2 по 32.

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

Для хранения больших объемов данных система ПС-2000 снабжена внешней памятью, состоящей из микропрограммируемого контроллера, четырех накопителей на сменных магнитных дисках и восьми накопителей на магнитных лентах. Накопители подключаются к контроллеру через модули управления (локальные контроллеры).

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

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

Программное обеспечение ППС-2000 разработано на базе агрегатной системы программного обеспечения (АСПО) СМ ЭВМ, к которому добавлены модули, организующие работу ППС-2000.

Система ПС-2000 имеет ряд преимуществ перед ранее разработанными матричными системами, в частности системой ILLIAC-IV.

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

2. Благодаря наличию собственной памяти и индексной арифметики, используемой для организации счетчиков адресов, возможно совмещение обмена информацией между модулями памяти ПЭ, АЛУ и устройствами ввода – вывода.

3 Достаточно большая емкость памяти в каждом ПЭ (16 кслов) в сочетании с многоуровневой системой прерываний делает возможной организацию мультипрограммного режима с выделением независимых ресурсов для каждой задачи.

4. Двухуровневое управление (командное и микрокомандное) обеспечивает более эффективное программирование.

5. Возможно наращивание системы модулями по восемь процессорных элементов, причем и конструкция, и набор команд позволяет это делать без изменения средств управления.

6. Стоимость системы сравнительно невысока.

Опыт использования первых систем ПС-2000 показал, что при решении типичных задач геофизики, ядерной физики, аэродинамики и других система обеспечивает высокую системную производительность – до 200 млн. операций сложения с фиксированной запятой в секунду.

Машиностроительное черчение, инженерная графика, начертательная геометрия. Выполнение контрольной