МНОГОПРОЦЕССОРНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ С ПРОГРАММИРУЕМОЙ АРХИТЕКТУРОЙ

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

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

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

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

Многопроцессорная вычислительная система с программи­руемой архитектурой должна иметь мощную универсальную коммутационную структуру, которая позволяет образовывать путем программирования любые прямые каналы связи между входами и выходами любых процессоров, входящих в систему, между процессорами и распределенной памятью, а также меж­ду отдельными секторами памяти. Универсальная коммутаци­онная структура дает возможность запрограммировать при ре­шении любой задачи такую систему каналов связи между про­цессорами многопроцессорной системы, которая будет адекват­на внутренней структуре решаемой задачи. Программирование прямых каналов связи обеспечивает наилучшее распараллели­вание вычислительного процесса, высокую скорость обмена данными между процессорами и максимальную производитель­ность системы. Особое значение имеет то, что программирова­ние прямых каналов связи адекватно отражает внутреннюю структуру задачи, обеспечивает линейный рост производитель­ности многопроцессорной системы с программируемой архи­тектурой в зависимости от числа задействованных в решении задачи процессоров, что не удается обеспечить в многопроцес­сорных системах с жесткой архитектурой. Конструктивно каж­дая многопроцессорная вычислительная система с программи­руемой архитектурой может быть выполнена в модульной фор­ме, состоящей из сверхбольших интегральных схем, каждая из которых включает процессор, сектор распределенной памяти, локальную коммутационную структуру. Внутренние каналы связи СБИС организуются так, чтобы процессор имел прямой доступ к распределенной памяти и коммутационной структуре, а рас­пределенная память была связана прямым каналом связи с ком­мутационной структурой.

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

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

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