Процессор для обработки массивов данных

 

Изобретение относится к области вычислительной техники и может использоваться при построении вычислительных систем для реализации операций над дифференциальными кортежами , в частности при решении дифференциальных уравнений в частных производных . Цель изобретения - повьш1ение производительности при выполнении кортежных операций сложения, вычитания , умножения и деления. Поставленная цель достигается тем, что процессор содержит блок ввода-вывода, блок управления, регистр входных данных , регистр результата, входной и выходной мультиплексоры, с первого по третий блоки оперативной памяти, с первого по седьмой мультиплексоры, с первого по шестой регистры, блок умножения, арифметический блок,первый и второй блоки постоянной памяти , блок вычисления обратной величины . Повьш1ение производительности достигается за счет организации конвейерных вычислений для кортежных операций. 1 з.п. ф-лы, 8 ил. с б (Л ISD 00 а

А1

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (19) (11) (51)4 G 06 F 15/31

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3940687/24-24 (22) 30.04.83 (46) 28.02.87. Бюл. и 8 (71) Институт проблем машиностроения

АН УССР и Специальное конструкторское бюро Института радиофизики и электроники А11 УССР (72) В.Л. Рвачев, А.А. Галькевич, А.Я. Гребенчук, Г.П. Манько и А.Н. Шевченко (53) 681.32(088.8) (56) Семерджан М.А., Налбандян Ж.С.

Матричный процессор БС-2345, -Изд-во

Финансы и статистика, 1984.

Патент США - 4150434, кл. G 06 F 15/34, 1979. (54) ПРОЦЕССОР ДЛЯ ОБРАБОТКИ. МАССИВОВ ДАННЫХ (57) Изобретение относится к области вычислительной техники и может использоваться при построении вычислнтельных систем для реализации операций над дифференциальными кортежами, в частности при решении дифференциальных уравнений в частных производных. Цель изобретения — повышение производительности при выполнении кортежных операций сложения, вычитания, умножения и деления ° Поставленная цель достигается тем, что процессор содержит блок ввода-вывода, блок управления, регистр входных данных, регистр результата, входной и выходной мультиплексоры, с первого по третий блоки оперативной памяти, с первого по седьмой мультиплексоры, с первого по шестой регистры, блок умножения, арифметический блок,первый и второй блоки постоянной памяти, блок вычисления. обратной величины. Повышение производительности достигается за счет организации конвейерных вычислений для кортежных . операций. 1 з.п, ф-лы, 8 ил.

1.293737

Изобретение относится к вычислительной технике и может быть использовано при построении вычислительных систем для решения различных задач, в частности для решения дифференци- 5 альных уравнений в частных производных.

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

Определение понятия дифференциального кортежа.

Пусть функция U(x) С (Я), (С (Я) пространство непрерывных в ЯеК функций) задана вместе с частными производными до и-го порядка включительно. Вектор-функция U(x)=(U<,Ц

U > ) называется дифференциальным кортежем и-го порядка функции U(x) если она является образом отображения

И „:С (Я) — (C""(a))"" LС (я) х

1 а ее компоненты определяются формулами 4

11р =Э Б ф У (д и ф

Ы

d +S-1) I r! +1, т-К+1 где х — знак прямого произведения, (тп+ -1) 45

k(m t) = — — — — — показатели степени (m-t)!t! пространств (С (Ю) (i=0, 1, ...,n);, g=(g, y..., ) — мультиндекс, . х=(х,, х,..., х, еК D

Размещение компонентов дифференциального кортежа осуществляется группами в порядке возрастания производных (Ы) =0,1,...,n), а в каж55 дой из групп приоритет имеют производные по аргументам с меньшим индексом, т.е. дифференциальный кортеж имеет следующую структуру:

Определение кортежных операций.

Операцией над дифференциальным кортежом U.(х)60„ функций U (х), i=1,2,...,n, порождаемой функцией, называется закон формирования дифАеренциального кортежа M: R — R, WED, S in(n() соответствующего суперпозиции M(U,, U, . ° .,U„) °

Согласно приведенным определениям дифференциальный кортеж есть массив> операции над которыми подчиняются законам кортежной алгебры, отличающимися от законов обычной алгебры, и компоненты которого формируются особым образом.

Цель изобретения — повышение производительности устройства при выполнении кортежных операций.

На фиг. 1 представлена функциональная схема матричного процессора, на фиг. 2 — схема блока управления, на фиг. 3 — схема узла пуска-останова; на фиг. 4 — схема счетного узла", на фиг.5 — схема узла сравнения, на фиг. 6 — схема узла формирования адресов, на фиг. 7 — алгоритм операции деления кортежей; на фиг. 8— микропрограмма деления кортежей.

Матричный процессор для обработки массивов содержит блок 1 вводавывода, блок 2 управления, мультиплексор 3 входных данных, регистр 4 входных данных, регистр 5 результата, выходной мультиплексор 6, три блока 7-9 оперативной памяти, три входных мультиплексора 10-12 блоков оперативной памяти, три выходных регистра 13-15 блоков оперативной памяти, блок 16 умножения, два входных мультиплексора 17 и 18 блока умножения, выходной регистр !9 блока умножения, арифметический блок

20, два входных мультиплексора 20 и

21 арифметического блока, два блока

23 и 24 постоянной памяти, два выходных регистра 25 и 26 блоков постоянной памяти, блок 27 вычисления обратной величины.

Первый информационный вход блока

1 ввода-вывода подключен к выходу выходного мультиплексора 6, второй

1293737

28 и третий 29 информационные входы блока ввода-вывода соединены с внешней ЭВИ, первый выход 30 блока ввода-вывода подключен к входу блока . управления к первому информационно- 5 му входу входного мультиплексора 3.

Второй выход 31 блока управления подключен к внешней ЭВМ. Управляющий вход блока ввода-вывода подключен к выходу 32 блока управления, выходы

50, 33-40 блока управления подключены к входам записи соответственно регист1 ра 4 входных данных, регистров 13, 14 и 19, регистра 5 результата, регистров 15, 25 и 26, выходы 41-49 блока управления подключены к управляющим входам соответственно мультиплексора 6, мультиплексоров 22, 10, 11, 17, 18 и 21, мультиплексора 3 и мультиплексора 12, выходы 50-52

20 блока управления подключены к входам записи-считывания блоков 7-9 оперативной памяти соответственно, выходы

53-57 блока управления — к адресным 25 входам блоков 7-9 оперативной памяти и блоков 23 и 24 постоянной памяти, выход 58 блока управления — к входу кода операции арифметического блока, второй информационный вход 30 входного мультиплексора 3 — к выходу выходного мультиплексора 6, третий информационный вход входного мультиплексора 3 — к выходу блока

27 вычисления обратной величины, чет-3 вертый информационный вход входного мультиплексора 3 — к уровню логической "1" устройства, выход входного мультиплексора 3 — к информационному входу регистра 4 входных данных, вход 50 которого подсоединен к входу блока

27 вычисления обратной величины,третьим информационным входам мультиплексоров 10, 11, 17 и 18 и первому информационному входу мультиплексора

12, информационный вход регистра результата 5 подключен к выходу арифметического блока 20, выход регистра результата 5 — к первым информационным входам выходного мультиплексора 6 и мультиплексора 22, информационный вход блока 7 оперативной памяти — к выходу мультиплексора 10, выход блока 7 оперативной памяти— к информационному входу регистра -13, .выход которого соединен с первыми информационными входами мультиплексоров

17, 18 и 21, вторыми информационными входами мультиплексоров 22 и 11 и выходного мультиплексора 6, и четвертым информационным входом мультиплексора 12, информационный вход блока

8 оперативной памяти подключен к выходу мультиплексора 11, выход блока

8 оперативной памяти — к информационному входу регистра 14, выход которого связан с вторыми информационными входами мультиплексоров 17, 18, 21 и 10 и третьими информационными входами мультиплексоров 22 и 12 и выходного мультиплексора 6, информационный вход блока 9 оперативной памяти подключен к выходу мультпплексора 12, выход блока 9 оперативной памяти — к информационному входу регистра 15, выход которого подсоединен к четвертым информационным входам мультиплексоров 17, 18, 21, 22, 10 и 11 и выходного мультиплексора 6, выходы мультиплексоров 17 и 18 под-., ключены соответственно к первому и второму информационным входам блока

16 умножения, выход блока 23 постоянной памяти подсоединен к информационному входу регистра 25, выход которого связан с третьим информационным входом блока 16 умножения, выход блока 24 постоянной памяти подключен к информационному входу регистра 26, выход которого соединен с четвертым информационным входом блока 16 умножения, выход которого подключен к информационному входу регистра 19, выход которого связан с третьим информационным входом мультиплексора 21, выходы мультиплексоров 21 и 22 подключены соответственно к первому и второму информационным входам арифметического блока 20.

Структура блока ввода-вывода 1 зависит от интерфейса внешней ЭВИ.

В качестве элементной базы для блока ввода-вывода можно использовать микропроцессорные комплекты с наращиваемой разрядностью, например, микропроцессоры серии 585/589,1802, 1804.

Выполнение блока 2 управления зависит от типа конкретной ЭВМ и типа обмена между матричным процессором и ЭВМ.

На фиг, 2 приведена структурная схема блока управления, реализующего программный обмен с внешней

3ВМ. Он содержит узел пуска-останова 59, регистр 60 команд, узел 6 1 микропрограммного управления, счетный узел 62, узел 63 сравнения, узел

5 12937

64 формирования адресов и мультиплексор 65.

Первый разряд 66 входа блока управления подключен к входу пуска узла пуска-останова 59 и входу сброса узла микропрограммного управления 61, второй разряд входа блока подсоединен к входу записи регистра команд 60, третий разряд 67 входа блока — к первому информационному входу мультиплексора условий 65, остальные разряды входа блока — к информационным входам регистра команд 60, вход 68 узла пуска-останова 59 подключен к выходу узла 61 микропрограммного управления, выход 69 узла пуска-останова 59 — к тактовому входу узла 61 микропрограммного управления, выход поля операций (КОП) регистра 60 команд соединена с входом старших разрядов кода команды узла 61 микропрограммного управления, выход поля адреса (М) регистра 60 команд — с входом младших разрядов кода команды узла 61 микропрограммного управления, выходы 70-75 узла микропрограммного управления — с соответствующими управляющими входами узла 64 формирования адресов, выход 76вузла микропрограммного управления — с выходом

32, выходы 77-97 узла 61 микропро. граммного управления — соответственно с выходами 33-52, 58 блока 2 управ ления, выходы 98-107 узла 61 микропРограммного управления — с соответ- 35 ствующими входами счетного узла 62, выход 108 узла 61 микропрограммного управления — с управляющим Hходoм мультиплексора 65 условий, выход 109 узла 61 микропрограммного управле- 40 ния — с вторым информационным входом мультиплексора 65 условий, выходы

110-114 счетного узла 62 подключены к соответствующей группе информационных входов узла 63 сравнения и узла 64 формирования адресов, выход первого поля условий (и„) регистра

60 команд подсоединен к входу 115 узла 63 сравнения, выход второго поля условий (n ) регистра 60 команд — 50 к входу 116 узла 63 сравнения, выходы первого (и,) и второго (n ) полей условий регистра 60 команд объединены и подключены к входу 117 узла 63 сравнения, выход третьего поля усло- 55 вий (n<) регистра 60 команд соединен с входом 118 узла 63 сравнения, вход

119 узла 63 сравнения подключен к

37 соответствующему выходу узла 64 формирования адресов, выходы 120-126 уэ ла 63 сравнения подсоединены к соответствующим информационным входам мультиплексора 65 условий, выход которого подключен к входу условий узла

61 микропрограммного управления, выходы 127-131 узла 64 формирования адресов соединены соответственно с выходами 53, 54, 52, 56, 57 блока 2 управления.

Структурная схема узла 59 пускаостанова приведена на фиг. 3. Узел

59 содержит генератор 132 тактовых импульсов, J- K-триггер 133, элемент

И 134 и одновибратор 135, вход 66 узла 59 пуска-останова подключен к входу одновибратора 135, выход которого подсоединен к входу J триггера 133, вход 68 узла пуска-останова 59 — ко входу К триггера 133, выход генератора 132 тактовых импульсов подключен к первому входу элемента И и тактовому входу триггера 133, прямой выход которого соединен с вторым входом элемента И 134, выход которого подключен к выходу 69 узла 59 пускаостанова.

Счетный узел 62 содержит счетчики 136-140, входы 98-101 счетного узла 62 подключены к входам установки в ноль соответственно счетчиков

136-139, вход 102 счетного узла 62 соединен с входом записи начального значения счетчика 140 входы 103-107 счетного узла 62 — e счетными входами соответственно счетчиков 136-140, выходы счетчиков 136-140 подключены соответственно к выходам 110-114 счетного узла 62, выход счетчика 139 подсоединен к информационному входу счетчика 140, Узел 63 сравнения содержит элементы l41-147 сравнения и мультиплексор 148, вход 110 узла сравнения подключен к первому входу элемента 141 сравнения, вход 111 узла сравнения — к первому входу элемента сравнения 142 и первому входу элемента 143 сравнения, вход 112 узла сравнения — к первому входу элемента 144 сравнения, вход .113 узла сравнения— к первому входу элемента 145 сравне— ния, вход 114 узла сравнения — к первому входу элемента 146 сравнения и второму входу элемента 143 сравнения, вход 115 узла сравнения — к первому входу элемента 147 сравнения

7 12937 и первому информационному входу мультиплексора 148, вход 116 узла сравнения — к второму входу элемента 147 сравнения и второму информационному входу мультиплексора 148, вход 117 узла сравнения — к второму входу элемента 141 сравнения, вход 118 узла сравнения — к второму входу элемента

142 сравнения, вход 119 узла сравнения — к второму входу элемента 144 10 сравнения, второй вход элемента 146 сравнения подсоединен к входу нулевого потенциала устройства, выход элемента 147 сравнения — к управляющему входу мультиплексора 148, выход которого соединен с вторым входом элемента 145 сравнения, выходы элементов 141, 142, 145, 144 и 146 сравнения, подключены соответственно к выходам 120, 121, 122, 124 и 125 узла сравнения, первый и второй выходы элемента сравнения подключены соответственно к выходам 123 и 126 узла сравнения.

1 25

Узел формирования адресов содержит сумматоры 149-153, вычитатели 154-156, блоки 157-160 постоянной памяти, мультиплексоры 16 1-63, регистры 164-168 адреса, вход 110 узла . 64 формирования адресов подключен к первым информационным входам мультиплексоров 161 и 162, вход 111 узла

64 формирования адресов — к первым входам сумматоров 149 и 150 мультиплексора 163 и вторым входам мульти35 плексоров 161 и 162, вход 112 узла

64 формирования адресов — к второму входу сумматора 149, первым входам сумматоров 151 и 153, вход 114 узла 40

64 формирования адресов — к второму входу вычитателя 155 и адресному входу блока 159 постоянной памяти, управляющие входы 70 узла формирования адресов подключены к управляю- 45 щим входам мультиплексоров 16 1-163, управляющие входы 71-75 узла формирования адресов — к входам записи соответственно регистров 168, 167, 164 и 165 адреса, выход сумматора 50

149 соединен с вторым входом вычитателя 154 и адресным входом постоянной памяти 157, выход вычитателя 154 подключен к адресному входу постоянной памяти 158, выход постоянной памяти 159 связан с вторым входом сумматора 150, выход вычитателя 155 подключен к второму входу вычитателя 156, адресному входу постоянной памяти 160

37 8 и выходу 119 узла 64 формирования. адресов, выход постоянной памяти 157 подключен к второму входу сумматора

151, выход постоянной памяти 158 — к первому входу сумматора 152, выход сумматора 150 — к информационному входу регистра адреса 164, выход постоянной памяти 160 — к второму входу сумматора 153, выход которого подключен к информационному входу регистра

165 адреса, выход вычитателя .156— соединен с вторым входом сумматора

152, выход сумматора 151 подключен к третьим информационным входам мультиплексоров 161 и 162 и второму и третьему информационным входам мультиплексора 163, выход сумматора 152— к четвертым информационным входам мультиплексоров 161-163 выходы которых соединены соответственно с информационными входами регистров 166-

167 адреса, выходы регистров 168, 167, 166, 164 и 165 адреса подключены соответственно к выходам 127-13 1 узла формирования адресов.

В блоке управления матричного процессора реализован аппаратно-микропрограммный принцип управления. Наличие независимых счетчиков р, m, 1, k, аппаратных схем сравнения и отдельных схем формирования адресов

ОЗУ1, ОЗУ2, ОЗУЗ, ПЗУ1, ПЗУ2 позволяет организовать конвейерное выпол нение операций, что существенно увеличивает производительность матричного процессора.

Матричный процессор для обработки массивов выполняет следующие операции:

1. Пересылка данных

2 . Y(p) =А(р) Х(р) +В(р), p=O,...,N

3. Y(p) =А(р)» Х(р), 4. (р)=х (р), 5. Y (р) =Х (р) +В (р), й1 1

6. Y= Х (ь.), N 0, 1=0,..., N .p

i=0

I2

7. Y=DХ (1)+В

i=О М

8. У(р)= A(i)«Х (р), р=0,1, -.!

° ...И, i O,..., К, н, 9. Y(p)= А(р,i) X(i)+B(p)

i=o

N)

10. Y(p) = + А(р, i) K(i), i-o (Y, А, Х,  — массивы) .

1293737

2-й формат

Поле КОП определяет векторные one5 рации 6-8 и матричные операции 9 и 10, Функциональное назначение поля М определяется по табл, 2, Поле N=O для векторных операций 6 и 7. Для

10 векторной операции 8 поля N u N onpe1 деляют длину векторов, для матрич" ных операций 9 и 10 поля N и N< определяют размер матрицы 1.

11. "+" Сложение (р)=П, (p)+U,(р);

12. "-" Вычитание (р) =U, (p) -U,(p);

13. »" Умножение

3-й формат

1+) 4 иъ

Индексы р и i в операциях 1-12 из20 меняются линейно. В операциях 13 и

14 индексы р, р,р вычисляются по

Э У формулам: р=((+k) (6+k+1) /2+k;

Индекс m изменяется от нуля до и где n — - порядок кортежа. Индекс изменяется от m до нуля для каждого

m. Индекс k вычисляется k=m-g.

Матричный процессор использует 3 формата команды.

1-й формат

1+J Ф rn

45.определяющая местонахождения операндов. Функциональное назначение поля

M приведено в табл. 1.для команды

"Пересылка", в табл. 2 — для век- 50 торных операций, в табл. 3 — для кортежных операций.

Кроме перечисленных операций мат— ричный процессор для обработки массивов выполняет кортежные операции. к

W(p) =) С, C„U, (р, ) О, (р,), =o i--О

14. "/" Деление р, =(i+j) (i+j+1) /2+j;

Р =(m-i-j) (m-i-j+1) /2+k-j °

В этом формате реализованы следующие операции:

1) пересылка данных;

2) векторные операции 2-5;

3) кортежные операции сложения и вычитания, Тип операции определяется содержанием поля КОП.

Поле M — - модификация команды, Поле N определяет количество передаваемых данных в команде "Пересылка", длину вектора и длину кортежа в векторных и кортежных операциях соответственно.

В этом формате реализованы кортежные операции умножения и деления.

Тип операции определяется содержимым поля КОП. Функциональное назначение поля М определяется по табл.3.

Поля п, и п определяют порядок кортежей U, и Б соответственно.

Рассмотрим принцип работы матричного процессора на примере выполнения одной из самых сложных операций— операции деления кортежей, которая реализуется формулой: е к м(Р)- 0 (О)-,) „ c с Й(р,)»u (p,) (0,0

На фиг ° 7 приведен алгоритм этой операции для произвольной 3ВМ.

На фиг. 8 приведена микропрограмма деления кортежей в матричном процессоре.

Схема выполнена нестандартным образом, чтобы показать совмещение выполнения различных действий в одном такте, а также организацию конвейерных вычислений.

Так, например, в регистр адреса микрокоманды записывается один из

16-ти начальных адресов микропрограммы.

В тактах 4, 7, 8, 9, 10, 11 и 14 выполняются вычислительные действия и одновременно независимые аппаратные схемы осуществляют увеличение счетчиков и анализ соответствующих условий. Такты с индексами а, Я участвуют в организации конвейера.

Матричный процессор при выполнении операции деления кортежей работает следующим образом.

Команда из внешней ЭВМ записывается в регистр 60 команды, а затем

11 12 внешняя ЭВМ подает на устройство сиг нал 66 "пуск", который устанавливает в "0" регистр адреса микрокоманды и разрешает прохождение тактовых импульсов 69. По первому тактовому импульсу выбирается микрокоманда из нулевого адреса. Эта микрокоманда разрешает передачу начального адреса микропрограммы, определяемого полями команды КОП и M.

В соответствии с содержимым поля

M может быть 16 различных микропрограмм для каждой операции, определяемой полем КОП. Эти микропрограммы различаются только местоположением операндов, поэтому рассмотрим одну из них при значении М=О, что в соответствии с табл. 3 означает, что one ранды U 1 и U находятся соответствен но в ОЗУ1 7 и ОЗУ2 8, а результат W помещается в ОЗУЗ 9.

В третьем такте обнуляются счетчики р и m и значение U<(0), т.е. нулевой элемент кортежа U загружает ся в блок 27 вычисления обратной величины.

В четвертом такте увеличивается на 1 содержимое счетчика m 139 и одновременно анализируется условие

m n«„ . При выполнении этого усломин . вия в следующем такте формируется

А ОЗУЗ Р и содержимое Р „ 4 записывается в ОЗУЗ, затем вырабатывается сигнал "Останов" 68, по которому запрещается прохождение тактовых импульсов 69.

В пятом такте индексу f присваивается значение m.

В шестом такте вычисляется индекс k=m-f., увеличивается на 1 содержимое счетчика Р 136, счетчик i

138 обнуляется и в арифметическом блоке 20 формируется константа "0", которая записывается в PP 5.

В седьмом такте происходит формирование адресов ПЗУ1 23, ПЗУ2 24, ОЗУ2 8 и ОЗУЗ 9, в узле 64 формирования адресов по формулам:

АПЗУ1 = MI(F3+i

АПЗУ2 = NI(k)+j

АОЗУ2 = NI(g)+k-j

АОЗУЗ = MI(r3+j где r=.i+j, g=m-r.

Сформированные адреса записываются в регистры 164, 165, 167 и 166, в этом же такте значение индекса j увеличивается на 1 и одновременно анализируется условие j>k.

93737

5

f0

Поскольку управление записью в-регистры 164, 165) 167 и 166 и сигнал

+1j 105 стробирую-.ся тактовыми импульсами, то вполне допустимо использовать предыдущее значение индекса для формирования адреса и изменить значение j одновременно с записью адреса в регистр.

С этого такта начинает . формироваться конвейер для вычисления двойной суммы. Если j>k в седьмом такте то далее следуют такты, в которых соответственно выполняются такие действия: 8а — информация из запоминающих устройств 9, 8, 29 и 24 записывается в .регистры 15, 14, 25 и 26;

8б — в блоке 16 выполняется умножение и результат записывается в регистр 19, 8в — в арифметическом устройстве 20 выполняется сложение РЗ (19)+PP(5) и запись результата в РР(5).

Если условие j x k не выполняется в седьмом такте, то в такте 8 выполняются действия, аналогичные 8а, и, кроме того, повторяются действия такта 7. Таким образом, такт 8 объединяет действия тактов 7 и 8а.

Аналогично такт 9 объединяет действия тактов 7, 8а, 8б, а такт 10 включает в себя действия, выполняемые в тактах 7, 8а, 8б, 8в, т.е. такт 10 реализует 4-ступенчатый конвейер .выполнения операций.

Такты 9а, 9б, 10а используются для завершения конвейерной операции.

B одиннадцатом такте по сигналу

33 результат вычисления обратной величины .записывается из блока 27 и

Р 4. Здесь же индекс i увеличиваетвх ся на 1 и одновременно анализируется условие i= 6.

В операциях деления и умножения кортежей вычисления двойных сумм отличаются тем, что в .операции деления не производится суммирования при

i+j или 1= при j=k. Поэтому в операции деления анализируется условие

i =E » а в операции умнажения i C, Вычисление двойной суммы в тактах

10 и 11 продолжается пока i4t. При выполнении условия = в двенадцатом такте формируются адреса ОЗУ1 7 и ОЗУ 3 9, равные P и записываются в регистры 168, 166 °

В 13-м такте в ОЗУЗ записывается результат выполнения операции

1293737

13

В 14-м такте содержимое ОЗУЗ 9 по адресу P умножается на содержимое

1P „,„ 4 и результат записывается в

ОЗУ. В этом же такте индекс 1 уменьшается на 1 и анализируется условие 5 г. О. При невыполнении этого условия процесс вычислений продолжается с такта 6, а при выполнении — с такта 4, Конвейерный принцип вычислений, реализованный для кортежных опера-, ций умножения и деления для матричных и некоторых векторных операций, повышает быстродействие матричного процессора.

Формула из обретения

1 информационному входу второго регистра, выход которого подключен к вторым информационным входам второго, четвертого и пятого мультиплексоров, третьему информационному входу выходного мультиплексора, второму информационному входу шестого мультиплексора и третьему информационному входу первого мультиплексора, выход блока умножения подключен к информационному входу третьего регистра, выход которого подключен к третьему информационному входу шестого мультиплексора, первый выход блока ввода-вывода подключен к входу блока управления, второй выход блока ввода-вывода подключен к выходу резуль-. ата устройства, второй информационный вход блока ввода;вывода подключен к информационному входу устройства, третий информационный вход блока ввода-вывода подключен к входу задания режимов работы устройства, выход регистра входных данных подключен к третьим информационным входам второго, третьего, четвертого и пятого мультиплексоров, первый выход блока управления подключен к входу задания режима работы блока вводавывода, выходы с второго по шестой блока управления подключены к входам записи соответственно регистра входных данных, первого регистра, второго регистра, третьего регистра, регистра результата, выходы с седьмого по тринадцатый блока управления подключены к управляющим входам соответственно

45 выходного мультиплексора, первого, второго, третьего, четвертого, пятого, шестого мультиплексоров, четырнадцатый и пятнадцатый выходы блока управления подключены к входам эаписи—

5О считывания соответственно первого и второго блоков оперативной памяти, шестнадцатый и семнадцатый выходы блока управления подключены к адресным входам соответственно первого и второго блоков оперативной памя55 ти, восемнадцатый выход блока управления подключен к входу кода операции арифметического блока, о т л и ч а юшийся тем, что, с я елью повышения, Г

1,Процессор для обработки массивов данных, содержащий блок ввода-вывода, блок управления, регистр входных данных, регистр результата, выходной мультиплексор, первый и второй блоки оперативной памяти, первый и второй мультиплексоры, первый и второй регистры, блок умножения, третий и четвертый мультиплексоры, третий регистр, пятый и шестой мультиплексоры, арифметический блок, выход которого подключен к информационному входу регистра результата, выход .которого подключен к первому информационному входу первого мультиплексора, первому информационному входу выходного мультиплексора и первым информационным входам второго и третьего мультиплексоров, выход первого мультиплексора подключен к первому информационному входу арифметического блока, выход выходного мультиплексора подключен к первому информационному входу блока ввода-вывода, выход второго мультиплексора подключен к информационному входу первого блока оперативной памяти, выход третьего.мультиплексора подключен к информационному входу второго блока оперативной памяти, выход первого блока оперативной памяти подключен к информационному входу первого ре. гистра, выход которого подключен к первым информационным входам четвертого и пятого мультиплексоров, второму информационному входу третьего мультиплексора, второму информационному входу выходного мультиплексора, первому информационному входу шестого мультиплексора, и второму информационному входу первого мультиплексора, выходы четвертого и пятого мультиплексоров подключены соответственно к первому и второму информационным входам умножителя, выход шестого мультиплексора подключен к второму информационному входу арифметического блока, выход второго ,блока оперативной памяти подключен к мультиплексора, выход выходного мультиплексора подключен к второму информационному входу входного муль!

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

15 > 12937 производительности при выполнении кортежных операций сложения, вычитания, умножения и деления, в него введены входной мультиплексор, третий блок оперативной памяти, седьмой мультиплексор, четвертый регистр, первый и второй блоки постоянной памяти,пятый и шестой регистры, блок вычисления обратной величины, первый выход блока ввода-вывода подключен к пер- 10 вому информационному входу входного

37 16 шестого регистра, выходы пятого и. шестого регистров подключены соответственно к третьему и четвертому информационным входам блока умноже- ния, адресные входы первого и второго блоков постоянной памяти подключены соответственно к двадцать четвертому и двадцать пятому выходам блока управления, входы записи пятого и шестого регистров подключены соответственно к двадцать шестому и двадцать седьмому выходам блока управления.

2. Процессор по п. 1, отличающийся тем, что блок управления содержит узел пуска-останова, регистр команд, узел микропрограммного управления, счетный узел, узел срав- нения, узел формирования адресов, мультиплексор,первый разряд входа блока подключен к входу пуска узла пуска-останова и входу сброса узла микропрограм- много управления, второй разряд входа блока подключен к входу записи регистра команд блока, третий разряд входа блока подключен к первому информационному входу мультиплексора условий, остальные разряды входа блока подключены к информационным входам регистра команд блока, выход узла пуска-останова подключен к тактовому входу узла микропрограммного 7 управления, выход поля операций pe= гистра команд подключен ко входу старших разрядов кода команды узла микропрограммного управления, выход поля адреса регистра команд подключен к входу младших разрядов команды узла микропрограммного управления, выходы с первого по шестой узла микропрограммного управления подключены к управляющим входам соот,ветственно с первого по шестой узла формирования адресов, седьмой выход узла микропрограммного управления подключен к первому выходу блока, выходы с восьмого по двадцать первый узла микропрограммного управления подключены к выходам соответственно с второго по пятнадцатый блока, выходы с двадцать второго по двадцать восьмой узла микропрограммного управления подключены соответственно к выходам с восемнадцатого по двадцатый, двадцать второму, двадцать третьему, двадцать шестому .и двадцать седьмому блока управления, выходы с двадцать девятого по трид18

З7

17 12937 цать восьмой узла микропрограммного управления подключены к группе нхо- дов счетного узла. Тридцать девятый, выход узла микропрограммного управления подключен к управляющему входу мультиплексора условий, сороковой выход узла микропрограммного управления подключен к первому информационному входу мультиплексора условий, сорок первый выход узла микропрограм- 10 много управления подключен к входу останова узла пуска-останова, первый выход счетного узла подключен к первому входу узла сравнения и первому информационному входу узла формирования адресов, выходы с второго по пятый счетного узла подключены к входам с второго по пятый соответственно узла сравнения и информационным входам с второго по пятый соответственно узла формирования адресов, выход первого поля условий регистра команд подключен к шестому входу узла сравнения, выход второго поля условий регистра команд подключен к седьмому входу узла сравнения, выходы первого и второго полей условий регистра команд объединены и подключены к восьмому входу

; узла сравнения, выход четвертого поля условий регистра команд подключен к девятому входу узла формирования адресов, выходы с первого по седьмой узла сравнения подключены к информационным входам соответственно с третьего по девятый мультиплексора условий, выход которого подключен ко входу условий узла микропрограммного управления, выходы с второго по шестой узла формирования адресов подключены соответственно к шестнадцатому, семнадцатому, двадцать второму, двадцать четвертому и два цать пятому выходам блока управления, при этом узел пуска-останова содержит генератор тактовых импульсов, J-К-триггер, и элемент И и одновибратор, вход пуска узла пуска-останова подключен к входу одно50 вибратора, выход которого подключен ко входу J триггера, вход останона узла пуска-останова подключен к входу К триггера, выход генератора тактовых импульсов подключен к первому входу элемента И узла пуска-останова и тактовому входу триггера, прямсй выход триггера подключен к второму входу элемента И узла пускаостанова, выход элемента И узла пуска-останона подключен к выходу узла пуска-останона, при этом счетный узел содержит пять счетчиков, с первого по четвертый входы счетного узла подключены к входам установки н ноль соответственно с первого по четвертый счетчиков, пятый вход счетного узла подключен к входу записи начального значения пятого счетчика, входы с шестого по десятый счетного узла подключены к счетным входам соответственно с первого по пятый счетчиков, выходы с первого по пятый счетного узла подключены к ныкодам соответственно с первого по пятый счетчиков, выход четвертого счетчика подключен к информационному входу пятого счетчика, при этом узел сравнения содержит с первого по сеЛьмой элементы сравнения и мультиплексор, первый вход узла сравнения подключен к первому входу первого элемента сравнения, второй вход узла сравнения подключен к первому входу второго элемента сраннения,и первому входу третьего элемента сравнения, третий вход узла сравнения подключен к первому входу четвертого элемента сравнения, четвертый вход узла сравнения подключен к первому входу пятого элемента сравнения, пятый вход узла сравнения подключен к первому входу шестого элемента сраннения и второму входу третьего элемента сравнения, шестой вход узла сравнения подключен к первому входу седьмого элемента сравнения и первому информационному входу мультиплексора блока сравнения, седьмой вход узла сравнения подключен к второму входу седьмого элемента сравнения и второму информационному входу мультиплексора блока сравнения, восьмой вход узла сравнения подключен к второму входу первого элемента сравнения, девятый вход узла сравнения подключен к второму входу второго элемента сравнения, десятый вход узла сравнения подключен к второму входу четвертого элемента сравнения, второй вход шестого элемента сравнения подключен к входу нулевого потенциала устройства, выход седьмого элемента сравнения подключен к управляющему входу мультиплексора узла сравнения, выход которого подключен к второму входу пятого элемента сраннения, выход пер19 12937 вого элемента сравнения подключен к первому выходу узла сравнения, выход второго элемента сравнения подключен к второму выходу узла сравнения, выход пятого элемента сравнения подключен к третьему выходу узла сравнения, первый выход третьего элемента сравнения подключен к четвертому выходу узла сравнения, выход четвертого элемента сравнения подклю- 10 чен к пятому выходу узла сравнения, выход шестого элемента сравнения подключен к шестому выходу узла сравнения, второй выход третьего элемента сравнения подключен к седьмому выходу 15 узла сравнения, при этом узел формирования адресов содержит пять сумматоров, три вычитателя, с первой по четвертую постоянные памяти, три. мультиплексора, пять регистров адре- 20 са, первый информационный вход узла формирования адресов подключен к первым информационным входам первого и второго мультиплексоров. узла формирования адресов, второи информа25 ционный вход узла формирования адресов подключен к первым входам первого сумматора, второго сумматора, вторым информационным входам первого. и второго мультиплексоров узла формирования адресов и первому информационному входу третьего мультиплексора узла формирования адресов, третий информационный вход узла формирования адресов подключен к вто- Ç5 рому входу первого сумматора, первым входам третьего сумматора, третьего вычитателя и пятого сумматора, четвертый информационный вход узла формирования адресов подключен к первым входам первого и второго вычитателей, пятый информационный вход узла формирования адресов подключен к второму входу второго вычитателя и адресному входу третьей постоянной памяти, первый управляющий вход узла формирования адресов подключен к управляющим входам мультиплексора с первого по третий узла формирования адресов, второй, третий, четвертый управляющие входы узла формирования адресов подключены к синхровхадам соответственно пятого, четвертого и третьего регистров адреса узла формирования адресов, пятый, шестой

55 управляющие входы узла формирования

20 адресов подключены к входам записи соответственно первого и второго регистров адреса узла формирования адресов, выход .первого сумматора подключен к второму входу первого вычитателя и адресному входу первой постоянной памяти, выход первого вычитателя подключен к адресному входу второй постоянной памяти, выход третьей постоянной памяти подключен к второму входу второго сумматора, выход второго вычитателя подключен к второму входу третьего вычитателя, адресному входу четвертой постоянной памяти и первому выходу узла формирования адресов, выход первой постоянной памяти подключен к второму входу третьего сумматора, выход второй постоянной памяти подключен к первому входу четвертого сумматора, выход второго сумматора подключен к информационному входу первого регистра адреса узла формирования адресов, выход четвертой постоянной памяти подключен к второму входу пятого сумматора, выход которого подключен к информационному входу второго регистра адреса узла формирования адресов, выход третьего вычитателя подключен к второму входу четвертого сумматора, выход третьего сумматора подключен к третьим информационным входам первого и второго мультиплексоров и второму и третьему информационным входам третьего мультиплексора узла формирования адресов, выход четвертого сумматора подключен к четвертым информационным входам с первого по третий мультиплексоров узла формирования адресов, выходы первого, второго и третьего мультиплексоров узла формирования адресов подключены к информационным входам соответственно третьего, четвертого, пятого регистров адреса узла формирования адресов, выходы пятого, четвертого и третьего регистров адреса узла формирования адресов подключены соответственно к второму, третьему и четвертоМу выходам узла формирования адресов, выходы первого и второго регистров адреса узла формирования адресов подключены к пятому шестому выходам узла формирования адре сов.

21 1293737

Таблица 1

Х"

5 11

ОЗУ1

ВЗУ

ОЗУ2

То же

ОЗУЗ

ВЗУ

ОЗУ1

ОЗУ 2

То же

15 16

ЛЗУЗ

ВЗУ

ОЗУ2

ОЗУ1

То же

М . Uf Б M

ОЗУЗ

ОЗУЗ

О

ОЗУ2

ОЗУ1

ВЗУ

ОЗУЗ

ОЗУ1

ОЗУ2

ОЗУЗ

ОЗУ1

То же

ОЗУЗ

ОЗУ2

ОЗУ1

ОЗУ2

ОЗУ2.

ОЗУ1

ОЗУЗ

ОЗУ2

ОЗУЗ

ОЗУ1

ОЗУЗ

ОЗУ2

ОЗУ1

ОЗУЗ

ВЗУ

ОЗУ1

ОЗУ1 ОЗУ2 ОЗУЗ

ОЗУ1 ОЗУЗ ОЗУ2 40

ОЗУ2 ОЗУЗ ОЗУ1

ОЗУ2

ОЗУЗ

ВЗУ

ВЗУ

ОЗУЗ

ОЗУ1

ВЗУ

ВЗУ

ОЗУ2

ОЗУЗ

ВЗУ

ВЗУ

ВЗУ

ОЗУ2 ОЗУ1 ОЗУЗ

ОЗУЗ ОЗУ1 ОЗУ2

ОЗУ1

ОЗУЭ

ВЗУ

03У3

ВЗУ

ОЗУ2

ВЗУ

ОЗУ3 ОЗУ2 ОЗУ1 14

ОЗУ1 ОЗУ2 ОЗУЗ 50

ОЗУ1 ОЗУ3 ОЗуг

ОЗУ2

ВЗУ

ОЗУЗ

ВЗУ

ОЗУ1

ОЗУ1

ВЗУ

ОЗУЗ

ОЗУ2

ВЗУ

ОЗУ1

ОЗУ1

ОЗУ1

ОЗУ2

ОЗУ1.ВЗУ

Таблица 2

ОЗУЗ ОЗУ2 ОЗУ1

22

Продолжение табл. 2

ОЗУ2 ОЗУ2 ОЗУ1 ОЗУЗ

ОЗУ2 ОЗУ2 ОЗУЗ ОЗУ1

ОЗУ2 ОЗУ1 ОЗУЗ ОЗУ2

ОЗУЗ ОЗУЗ ОЗУ1 ОЗУ2

ОЗУЗ ОЗУ1 ОЗУ2 ОЗУЗ

ОЗУЗ ОЗУ1 ОЗУ2 ОЗУЗ

ОЗУ2 ОЗУЗ ОЗУ1 ОЗУ2.Таблица 3

1293737

1 Ю5

100

«» 1И

114

1f9 110 1И

У9

1293737

)мам Ю

1293737 п иа

1293737

Фик B

Составитель В. Смирнов

Редактор Л. Пчелинская Техред Л.Олейник Корректор В. Бутяга

Заказ 388/54 Тираж 673

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Z(-35, Раушская наб., д..4/5

Подписное

Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4

Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных Процессор для обработки массивов данных 

 

Похожие патенты:

Изобретение относится к области вычислительной техники

Изобретение относится к медицинской технике и позволяет повысить помехоустойчивость и информативность регистрации биопотенциалов с плавающим нулевым уровнем за счет исключения неинформативных и искаженных помехой участков сигнала

Изобретение относится к вычислительной технике и может быть использовано в медицинских экспертных системах

Изобретение относится к области вычислительной техники и медицины и предназначено для оперативного принятия решений на различных этапах лечения больного, а также для постановки дифференциальнога диагноза, например, в практике скорой помощи при острой невралгической патологии

Изобретение относится к вычислительной и медицинской технике

Изобретение относится к вычислительной технике и может быть использовано для вычисления информативных параметров диаграмм разрешения радиоактивных индикаторов, а именно площади под диаграммой разрежения и среднего времени циркуляции индикатора

Изобретение относится к области вычислительной техники и позволяет упростить конструкцию устройства при сохранении заданной точности измерения

Изобретение относится к автоматике и вычислительной технике и ножет быть использовано для решения задач логического управления, описываемых системой временных булевых функций

Изобретение относится к автоматическим системам управления технологическими процессами и может быть использовано при построении унифицированных комплексов технических средств комплектования АСУТП различного назначения

Изобретение относится к вьтчислительной технике и мож ет быть использовано для реализации логических алгоритмов, заданных в лингвистической форме

Изобретение относится к вычислительной технике, а именно к специализированным устройствам для решения логических уравнений

Изобретение относится к вычислительной технике и может быть использовано при построении быстродей гствующих специализированных устройств и систем управления технологическими процессами

Изобретение относится к автоматике и вычислительной технике и может быть использовано для преобразования формы представления логических функций и совершенной дизъюнктивной нормальной формы в полиномиальную и наоборот

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении вычислительных устройств, выполняющих алгоритм быстрого преобразования Фурье по основанию 4

Изобретение относится к области вычислительной техники и может быть использовано при построении специализированных устройств, выполнямщи алгоритм быстрого преобразования Фурье по основанию 4

Изобретение относится к вычислительной технике и может быть использовано в информационно-измерительных системах спектрального анализа

Изобретение относится к автома-- тике и вычислительной технике и может найти применение при выполнении опег раций функционального преобразования относительной длительности широтноимпульсных сигналов в частоту импульсной последовательности

Изобретение относится к информатике и вычислительной технике и предназначено для получения, обработки, кодирования, передачи, хранения и восстановления информации
Наверх