Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура компьютеров / 10_Большие системы.doc
Скачиваний:
57
Добавлен:
20.03.2015
Размер:
389.63 Кб
Скачать

10.2. Матричная обработка данных

Первым способом параллельной обработки данных, который был изучен и реали­зован на практике, была архитектура SIMD, называемая также матричной обра­боткой (array processing). В начале 1970-х годов в университете штата Иллинойс на основе принципа матричной обработки была создана система ILLIAC-IV, позднее изготовленная компанией Burroughs Corporation.

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

Массив процессорных элементов

Рис. 10.1. Матричный процессор

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

Для выполнения таких расчетов необходимо, чтобы каждый элемент матрич­ного процессора обеспечивал обмен данными с соседними элементами через по­казанные на рисунке соединения. Каждый элемент должен иметь несколько реги­стров и небольшой объем локальной памяти для хранения данных. Кроме того, важно наличие у элемента так называемого сетевого регистра, служащего для об­мена данными с соседними элементами. Центральный процессор направляет всем элементам команду пересылки значений сетевых регистров на один уровень вверх, вниз, вправо или влево. Каждый элемент должен содержать АЛУ для вы­полнения арифметических команд, получаемых от центрального процессора. Ор­ганизовав итеративный цикл, с помощью этих базовых средств команды элемен­там можно передавать многократно. При этом необходимо, чтобы управляющий процессор определял момент, когда каждый процессорный элемент вычислит тем­пературу в определенной точке с указанной точностью. С этой целью по достиже­нии заданного значения внутренний бит состояния каждого из элементов должен устанавливаться в 1. Соединения между элементами позволяют контроллеру уста­навливать все биты состояния в 1, что равнозначно завершению операции.

При разработке матричных процессоров возникает вопрос: что эффективнее ис­пользовать — несколько мощных процессоров или большое количество очень простых процессоров. Примером реализации первого подхода может служить суперкомпь­ютер ILLIAC-IV. В его состав входят 64 процессора, обрабатывающих 46-разряд­ные числа. Примером реализации второго подхода является применение матричных процессоров, разработанных в конце 1980-х годов. В системе СМ-2 производства корпорации Thinking Machines можно было установить до 65536 процессоров, но разрядность каждого из них равнялась одному биту. В системе Maspar MP-1216 допускалась установка 16384 процессоров разрядностью 4. Системы Cambridge Parallel Processing Gamma II Plus могли содержать до 4096 процессоров, обрабаты­вающих данные длиной в 1 байт или 1 бит. Разработчики этих систем полагали, что в SIMD-архитектуре наличие высокого уровня параллелизма эффективнее ис­пользования небольшого количества мощных процессоров.

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

Соседние файлы в папке Архитектура компьютеров