578 Глава 13. Вычислительные системы класса SIMD

Вычислительные системы с систолической структурой 579

 


Рис. 13.22. Структура ПЭ: а для прямоугольной систолической матрицы; б — для гексагональной систолической матрицы

В обоих случаях на вход ПЭ подаются два операнда Авх, Ввх, а выходят операнды Авых, Ввых и частичная сумма Свых. На п-м шаге работы систолической системы ПЭ выполняет операцию

на основе операндов, полученных на (п - 1)-м шаге, при этом операнды на входе и выходе ПЭ одинаковы:

Частичная сумма поступает на вход ПЭ либо с данного процессорного элемента (штриховая линия), либо с соседнего ПЭ матрицы.

Пример вычислений с помощью систолического процессора


Рис. 13.23. Функциональная схема процессорного элемента систолической матрицы


Организацию вычислительного процесса в систолических массивах различной конфигурации с использованием ПЭ, функциональная схема которого показана на рис. 13.23, удобнее всего пояснить на примере умножения матрицы А = ij} на вектор X = {х1, х2,,..., xn).

Элементы вектора произведения Y = {у1, у2,..., уn} могут быть получены периодически повторяющимися операциями

yi (1) = 0; yi(k + 1) = уi(k) + ai(k) х xi(k); уi = yi(i + 1), где k — номер шага вычислений.

Пусть имеется матрица А размером п хnс шириной полосы ненулевых элементов р + q - 1 = 4. Схема умножения вектора на матрицу в этом случае представлена на рис.

Рис. 13.24. Схема умножения вектора на матрицу

Определенная выше последовательность операций для вычисления компонентов вектора Y может быть получена за счет конвейерного прохождения х, и y, через р + q - 1 последовательно соединенных ПЭ (рис. 13.25)

Рис. 13.25. Организация вычислений в линейной систолической структуре

Компоненты yi (i = 1, ..., п) вектора Y, имеющие в начальный момент нулевое значение, поступают на вход массива и продвигаются через ПЭ справа налево, в то время как компоненты вектора X движутся слева направо. Элементы матрицы А = {aij} в порядке, указанном на рисунке, вводятся в ПЭ сверху вниз. Промежуточные результаты уi(k) накапливаются по мере продвижения от одного ПЭ к другому.