Многопроцессорные системы

Многопроцессорные системы.

ВВЕДЕНИЕ

Универсальные приборы, эквивалентные по значению транзистору, которые создаются на тонких кремниевых пластинках СБИС, в настоящее время так миниатюрны и дешевы, что чрезвычайно большое число процессоров может быть объединено в единую сеть. В 1978 г. 100. 000 элементов было успешно интегрировано в ЗУ объемом 64Кбит. В 1981 г. фирма Hewlett-Packard объявила о создании микропроцессорного кристалла, содержащего 450. 000 элементов. Следовательно, многопроцессорные компьютеры «среднего класса» с числом кристаллов от нескольких тысяч и до нескольких миллионов скоро станут рельностью. Т. е. отдельный компьютер может содержать 10 х 10 =10 элементов.

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

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

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

Самым непосредственным способом реализации параллельной обработки сигналов является простое присоединение ряда процессоров к общей шине.

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

В духе этих тенденций развитие архитектуры микропроцессорных систем сводится к построению многопроцессорных систем различных типов и разрешению попутно появляющихся задач.

Мы остановимся на основных направлениях развития многопроцессорных систем и на проблеме взаимодействия процессоров с магистралями (затронем историю развития модульных системиз магистрально-модульных).

Традиционные однопроцессорные последовательные ЭВМ и многопроцессорные сети.

Обычная «последовательная универсальная ЭВМ» строится, как правило, посредством подключения быстродействующей памяти к единственному центральному процессору (ЦП), который выбирает команды из памяти, декодирует каждую из них, выбирает данные (в соответствии с предписанием в команде), хранящиеся в указанных ячейках памяти, выполняет указанные операции и запоминает результаты в предписанных ячейках. Кроме того, к системе должны быть подключены устройства ввода и вывода.

Конвейерные системы компьютеров (или процессоров).

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

рис. 2. Конвейер из N процессоров, через которые проходят данные.

Устройство ввода ->П1->П2->П3->… ->ПN-> Устройство вывода

В такте 1 процессор П1 будет выполнять первую команду над первым блоком

данных. В такте 2 процессор П2 будет выполнять вторую команду над первым блоком данных, а П1-первую команду над вторым блоком данных, и т. д.

Если в конвйере имеется N процессоров, программа будет выполняться приблизительно в d*N раз быстрее, чем в однопроцессорной ЭВМ (d-коэффициент, учитывающий, что нет необходимости в выборке и декодировании следующей команды, поскольку каждый процессор осуществляет выборку один раз, а затем многократно повторяет выполнение одной и той же команды).

Наиболее высокопроизводительные из современных «супер-ЭВМ», например, Cray-1 и CDC-255 фирмы Seymour Cray содержат подобные конвейеры из примерно десятка очень мощных и дорогостоящих процессоров для выполнения векторных операций над массивами данных.

Наиболее мощный из построенных к концу 90х г. г. конвейеров-конвейер многопроцессорной системы CytoComputer, специализированный на выполнение операций обработки изображений. Каждый из процессоров машины CytoComputer гораздо проще и меньше, чем в ЭВМ Cray-1, но их общее число-113.

Используя новые кристаллы СБИС (один процессор в кристалле), проектируемые на будущее системы планируется построить из еще большего числа процессоров, которые могут быть объединены в конвейеры (теоретически произвольной длины).

Матричные структуры из очень большого числа простых процессоров.

В 80е г. г. были построены 3 очень большие двумерные системы. В их число входят:

-распределенный матричный процессор DAP (distributed array processor) размером 64Х64, спроектированный фирмой ICL.

-сотовый логический процессор изображений CLIP-4(cellular logic image processor) размером96Х96, разработанный в лондонском университетском колледже,

-и большой параллельный процессор MPP (massively parallel processor) размером 128Х128, спроектированный фирмами GoodYear-Aerospace и NASA Goddard.