|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Примеры применения систолических массивовПример применения систолического массива для умножения типа Y=AX
Систолический массив применяется для умножения типа Y=AX, где A-ленточная матрица (матрица nxn), ширина полосы w=p+q-1, а Х – вектор (см. рис.) В данном случае p=2 и q=3. Управление операциями производится следующим образом. В начальном состоянии значения всех yi равно нулю. На основные операционные элементы РЕ с интервалом в два такта в порядке возрастания индекса i подаются xi и yi соответственно вправо и влево с интервалом в один такт. Элементы а ленточной матрицы перемещаются сверху вниз. Таким образом, в следующем по отношению к показанному на рисунке состоянию (через один такт) y1 перемещается в РЕ2, у2- в РЕ4, х1- в РЕ2, а11 –в РЕ2. В процессорных элементах поступившие значения х и а перемножаются, а результаты суммируются с поступившими значениями у (т. е. имеет место операция умножения с суммированием).
а11 а12 х1 y1 а21 а22 а23 ... х2 y2 а31 а32 а33 а34 х х3 = y3 а42 а43 а44 ... х4 y4 а53......
а34 а43 а33 а42 а23 а32 а22 а31 а12 а21
а11 y1 y2 x2 x1
1 2 3 4 Рис.
Пример применения систолического массива для выполнения операции D=C+AB
Пусть требуется создать устройство для вычисления матрицы D=C+AB, где а11 а12 0 b11 b12 b 13 0 с11 с12 с 13 с 14 0 а21 а22 а23 .. b21 b22 … …. с21 с22 с23 … … A = а31 а32 … … В = b32 … С = с31 с32 … … а42... … с41 ..... 0 0 0
Здесь все матрицы - ленточные, порядка n. Матрица А имеет одну диагональ выше и две диагонали ниже главной; матрица В – одну диагональ ниже и две диагонали выше главной; матрица С – по три диагонали выше и ниже главной. Пусть каждый ПЭ может выполнять скалярную операцию c+ab и одновременно осуществлять передачу данных. Каждый ПЭ, следовательно, должен иметь три входа: a, b, c и три выхода a, b, c. Входные (in) и выходные (out) данные связаны соотношениями aout=ain, bout=bin, cout=cin Если в момент выполнения операции какие-то данные не поступили будем считать, что они доопределяются нулями. Предположим далее, что все ПЭ расположены на плоскости и каждый из них соединен с шестью соседними (см. рис.). Если расположить данные как показано на рис, то схема будет вычислять матрицу D. Поясним работу массива. Массив работает по тактам. За каждый такт все данные перемещаются в соседние узлы по направлениям, указанным стрелками. На рисунке показано состояние систолического массива в некоторый момент времени. В следующий такт все данные переместятся на один узел и элементы a11, b11, с11 окажутся в одном ПЭ, находящемся на пересечении штриховых линий. Следовательно, будет вычислено выражение c11+a11b11. В этот же такт данные а12 и b21 вплотную приблизятся к ПЭ, находящемуся в вершине систолического массива. В следующий такт все данные снова переместятся на один узел в направлении стрелок и в верхнем ПЭ окажутся а12 и b21 и результат предыдущего срабатывания процесорного элемента, находящегося внизу., т.е. с11+а11b11. Следовательно, будет вычислено выражение с11+а11b11+ а12b21. Это и будет элемент d11 матрицы D. Продолжая рассмотрение процесса по тактам, можно убедиться, что на выходах ПЭ, соответствующих верхней границе систолического массива, периодически через три такта выдаются элементы матрицы D, причем на каждом выходе появляются элементы одной и той же диагонали. Примерно через 3n тактов будет закончено вычисление всей матрицы D. При этом загруженность каждой систолической ячейки асимптотически равна 1/3. Анализ функционирования систолических массивов показывает, что такие массивы имеют черты как процессорных матриц (совокупность связанных ПЭ, выполняющих единую команду, так и явные признаки конвейерного вычислителя. (потактное получение результата).
а12 b21 b22 а22
а31 а21 а11 b11 b12 b13
с11
с21 с12
с31 с22 с13
с41 с32 с23 с14
с42 с33 с24
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |