Топология систолических структур
В настоящее время разработаны систолические матрицы с различной геометрией связей: линейные, квадратные, гексагональные, трехмерные и др. Перечисленные конфигурации систолических матриц приведены на рис. 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-элементы: а-б – с хранимыми в памяти двумя значениями;
в-г - с внешними даннымицы.
- 29. Вычислительные системы класса simd
- Векторные и векторно-конвейерные вычислительные системы
- Понятие вектора и размещение данных в памяти
- Понятие векторного процессора
- Структура векторного процессора
- Ускорение вычислений
- Матричные вычислительные системы
- Массив процессоров
- Структура процессорного элемента
- Подключение и отключение процессорных элементов
- Сети взаимосвязей процессорных элементов
- Ассоциативные вычислительные системы
- Вычислительные системы с систолической структурой
- Классификация систолических структур
- Топология систолических структур
- Пример вычислений с помощью систолического процессора
- Вычислительные системы с командными словами сверхбольшой длины (vliw)