logo search
Архитектура ВС (Карцева А

Топология систолических структур

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

Рис.29.14. Конфигурация систолических матриц: а – линейная; б – прямоугольная; в – гексагональная; г - трехмерная

Каждая конфигурация матрицы наиболее приспособлена для выполнения оп­ределенных функций, например линейная матрица оптимальна для реализации фильтров в реальном масштабе времени; гексагональная — для выполнения опе­раций обращения матриц, а также действий над матрицами специального вида (Теплица-Генкеля); трехмерная — для нахождения значений нелинейных дифференциальных уравнений в частных производных или для обработки сигналов антенной решетки. Наиболее универсальными и наиболее распространенными, тем не менее, можно считать матрицы с линейной структурой.

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

Учитывая то, что матрицы ПЭ обычно реализуются на основе сверхбольших интегральных схем, возникающие при этом ограничения привели к тому, что наиболее распространены матрицы с одним, двумя и тремя трактами данных и с оди­наковым либо противоположным направлением передачи, обозначаемые как ULA, BLA и TLA соответственно.

ULA (Unidirectional Linear Array) — это однонаправленный линейный процессорный массив, где потоки данных перемещаются в одном направлении. ПЭ в массиве могут быть связаны одним, двумя или тремя трактами.

Рис.29.15. Поток данных при векторном перемножении матриц в ULA (n=4)

При реализации алгоритма векторного произведения матриц один из потоков данных перемещается вправо, в то время как второй резидентно расположен в мас­сиве (рис.29.15). Используемый ПЭ представляет собой модифицированный IPS-элемент, поскольку имеется только один тракт данных, а элементы второго потока хранятся в ПЭ массива.

BLA (Bidirectional Linear Array) — это двунаправленный линейный процессор­ный массив, в котором два потока данных движутся навстречу друг другу. BLA, где один из потоков является выходным, называется регулярным.

Рис.29.168. Поток данных при векторном перемножении матриц в BLA (n=4)

Реализация рассмотренной ранее операции с применением BLA показана на рис. 29.16.

TLA (Three-path communication Linear Array) — линейный процессорный мас­сив с тремя коммуникационными трактами, в котором по разным направлениям перемещаются три потока данных. На рис. 29.17 показан пример фильтра ARMA, предложенного Кунгом и построенного по схеме TLA. Возможны несколько вариантов такого фильтра, в зависимости от числа выходных потоков данных и от значений, хранящихся в памяти ( в примере фигурирует один

Рис.29.17. Поток данных в TLA фильтра ARMA (n=3)

выходной поток). Про­цессорные элементы выполняют две операции IPS и обычно называются сдвоен­ными IPS-элементами. Две версии таких ПЭ представлены на рис. 29.18. ПЭ могут использовать как хранимые в памяти значения (рис. 29.18, а, б), так и внешние данные (рис. 29.18, в, г).

Рис.29.18. Сдвоенные IPS-элементы: а-б – с хранимыми в памяти двумя значениями;

в-г - с внешними даннымицы.