Скачиваний:
27
Добавлен:
01.05.2014
Размер:
736.26 Кб
Скачать

4.2. Пример применения систолического массива

Особенности функционирования систолической массива рассмотрим на следующем примере.

Систолический массив применяется для умножения типа Y=AX, где A-ленточная матрица (матрица nxn), ширина полосы =p+q-1, а Х – вектор (см. рис.)

В данном случае p=2 и q=3. Управление операциями производится следующим образом. В начальном состоянии значения всех yi равно нулю. На основные операционные элементы РЕ с интервалом в два такта в порядке возрастания индекса i подаются xi и yi соответственно вправо и влево с интервалом в один такт. Элементы а ленточной матрицы перемещаются сверху вниз. Таким образом, в следующем по отношению к показанному на рисунке состоянию (через один такт) y1 перемещается в РЕ2, у2- в РЕ4, х1- в РЕ2, а11 –в РЕ2. В процессорных элементах поступившие значения х и а перемножаются, а результаты суммируются с поступившими значениями у (т. е. имеет место операция умножения с суммированием). При этом в процессорном элементе РЕ2 у1 принимает значение а11х1, а в РЕ4 значение у2 остается равным нулю. Далее, в состоянии через два такта в процессорном элементе РЕ1 производятся операции умножения и суммирования поступивших х2, а12 и у1 в соответствии с выражением у1у112х2, т.е. у1 принимает значение а11х112х2. В процессорных элементах РЕ2 и РЕ4 операции не производятся из-за отсутствия в них

а11 а12 0 х1 y1

а21 а22 а23 . . . х2 y2

а31 а32 а33 а34 х3 = y3

0 а42 а43 а44 . . . х4 y4

0 0 а53 . . . . . .

A X Y

а)

Рис. 4.3 Ленточный процесс на основе систолических массивов и схема векторного умножителя

данных. В РЕ3 операции умножения и суммирования осуществляются над имеющимися в нем данными х1, а21 и у2 в соответствии с выражением у20+а21х1. В состоянии через три такта у1 выдается в виде значения а11х112х2, а в РЕ2 производятся умножение и суммирование элементов х2, а22 и у2 в соответствии с выражением у2 у222х2, в результате чего у2 принимает значение а21х122х2, в результате чего у2 принимает значение а21х122х2. В это время в РЕ4 значение у3 становится равным а31х1. В РЕ1 и РЕ3 операции не производятся из-за отсутствия в них данных. В дальнейшем подобные операции повторяются, и с левого конца конвейера с процессорного элемента РЕ1 выдаются через каждые два такта значения уi в порядке возрастания индекса, начиная с у1. Если при ширине ленточной матрицы  в структуре, аналогичной показанной на рис 6.3 управлять  процессорными элементами, то все расчеты завершаются через 2n+ тактов. При выполнении всех вычислений для умножения АХ в обычной последовательной машине потребовалось бы время, пропорциональное n. В структуре на рис. 4.3.

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