Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архи_тект_Выч_систем_25_06_2012.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
5 Мб
Скачать
☆

4.2 Матричные системы

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

л измом данных. Примером реализации такой архитектуры является достаточно широко известная система ILLIAC-IV, разработанная Иллинойским университетом (США) и изготовленная фирмой «Барроуз» в 1974 году. Она оказалась практически первой реализованной матричной системой. Проект системы ILLIAC-IV показан на рис. 4.3.

Проектом предусматривалось, что система будет иметь 256 процессорных элементов, разбитых на четыре группы – квадранты: по 64 процессора. Каждый квадрант должен управляться своим специальным управляющим процессором (УП), а система в целом – центральным управляющим процессором (ЦУП). Однако, из-за возникших технологических трудностей с реализацией оперативной памяти на интегральных микросхемах и соответствующих экономических проблем проект был реализован в урезанном объеме. Система была изготовлена и введена в эксплуатацию с одним квадрантом производительностью 200 млн. операций в секунду. И в течение ряда лет считалась самой высокопроизводительной в мире.

Система получилась достаточно интересной и, можно сказать, оригинальной. Процессорные элементы связаны между собой и образуют матрицу размером 8х8 (рис. 4.4).

Пожалуйста, запомните схему связи процессорных элементов для того, чтобы сравнить ее с представленными дальше по тексту матрицами вычислительных систем. Каждый ПЭ связан с четырьмя другими ПЭ. При такой связи передача данных между любыми двумя процессорами осуществлялась не более, чем за 7 тактов (шагов). Каждый ПЭ снабжен собственным ОЗУ и имеет связь с внешней средой, оперирует 64-разрядными словами (числами) и выполняет универсальный набор операций.

Быстродействие процессоров было достаточно высоким. Например, операция сложения выполнялась за 240 нс, а умножения за

400 нс. таким образом, процессор выполнял в среднем 3 млн. опе-раций в секунду, а следовательно производительность системы равнялась 3х64=200 млн. операций в секунду.

Емкость памяти процессорного элемента, по современным меркам, была небольшой: 2048 64-разрядных слов, то есть 16 кбайт, а длительность цикла обращения к памяти 350 нс – доста точно приличной. Эта память имела также связи через устройство управления квадрантом с центральным устройством управления комплексом, а через него с устройствами ввода-вывода. Каждый процессор имел счетчик адресов и индексный регистр, так что физический адрес мог формироваться как сумма трех составляющих: адреса, содержащегося в команде для данного ПЭ, кода, содержащегося в индексном регистре устройства управления, и кода, содержащегося в индексном регистре самого процессора. Каждый процессор кроме названных регистров имел пять программно-адресуемых регистров: накапливающийся сумматор, регистр для операндов, регистр, используемый для пересылок данных от одно-го процессора к другому, буферный регистр на одно слово и регистр управления состоянием процессорного элемента емкостью

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

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

Лазерная память достаточно оригинальна. Информация записывалась на металлическую пленку путем прожигания на ней лазером микроотверстий. Естественно, перезапись информации исключалась, могло выполняться только ее считывание. Емкость этого запоминающего устройства была порядка 140 Гбайт. Время доступа к данным составляло от 0,2 до 5 с. Память использовалась для длительного хранения информации.

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

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

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

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

процессорных элементов (ПЭ) – на рисунке выделены цветом. Таким образом, мультипроцессор мог содержать 8, 16, 32 или 64 процессорных элементов. Процессорные элементы в пределе обрабатывали 24-разрядные слова или представления чисел, в которых 20 разрядов отводилось мантиссе, и 4 разряда определяли порядок в шестнадцатеричном виде. Каждый процессорный элемент мог иметь оперативную память емкостью от 4 до 48 Кбайт с циклом обращения к памяти 640 или 940 нс, соответственно (память построена на ферритовых кольцах).

Процессорные элементы имели связь друг с другом через, так называемый, регулярный канал, по которому осуществлялся обмен данными между ними. Конфигурация канала перестраивалась программным путем, образуя одно кольцо из 64 элементов или 8 колец по 8 ПЭ, 4 по 16 или 2 по 32.

Интересно построено устройство управления. В ОЗУ загружалась рабочая программа в привычном для нас понимании, команды которой выполнялись в обычном порядке, но эти команды инициировали соответствующие микропрограммы, микрокоманды которых формировали управляющие сигналы, воздействующие на процессорные элементы. ОЗУ могло иметь объем памяти такой же, как и процессорные элементы, то есть до 48 Кбайт. В блок микропрограммного управления (БМУ) загружались микропрограммы обработки данных, ввода-вывода и управления. В базовый комплект микропрограммного обеспечения системы входил набор, обеспечивающий обработку матриц, реализацию быстрого преоб-

разования Фурье, решение задач математической статистики, спектрального анализа, линейного и динамического программирования. Этот комплект мог быть расширен пользовательскими программами в соответствии со своими задачами.

Ввод-вывод данных в память решающего поля, то есть в ОЗУ процессорных элементов инициировался мониторной подсистемой через канал прямого доступа, состоящий из магистралей ввода и вывода, но проводился под управлением устройства управления (УК – управление каналами) мультипроцессора. В системе могли выполняться одновременно обработка данных, ввод и вывод. Ввод данных мог осуществляться со скоростью 1,8 Мбайт/с, а вывод со скоростью 1,4 Мбайта/с.

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

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

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

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

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

Для сравнения с другими подобными системами можно привести интересные данные производительности этой системы: - при

сложении чисел с фиксированной запятой была получена производительность 200 млн. операций в секунду;

- при сложении чисел с плавающей запятой – 66,4 млн. операций/с;

- операция умножения показала производительность 28,5-50 млн. операций/с.

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

- при умножении матриц 64х64 с плавающей запятой – 1,4;

- при быстром преобразовании Фурье чисел с плавающей запятой – 1,4-2,8.

В заключение следует отметить некоторые особенности, свойственные именно этой системе:

- наличие дополнительной сверхоперативной регистровой памяти ПЭ, ускоряющей операции над адресами;

- наличие процессора активации, обеспечивающего активность или пассивность процессорного элемента;

- возможность совмещенного обмена информацией между модулями памяти ПЭ, АЛУ и устройствами ввода-вывода;

- возможность организации мультипрограммного режима за счет многоуровневой системы прерываний;

- возможность выделения независимых ресурсов для каждой задачи;

- наличие двухуровневого управления: программного и микропрограммного, обеспечивающего более эффективное программирование задач;

- возможность модульного наращивания системы без изменения средств управления.