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

Иллюстрации

Показать все

Реферат

 

Изобретение относится к области вычислительной техники и может использоваться при построении вычислительных систем для реализации операций над дифференциальными кортежами , в частности при решении дифференциальных уравнений в частных производных . Цель изобретения - повьш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 триггера, вход останона узла пуска-останова подключен к входу К триггера, выход генератора тактовых импульсов подключен к первому входу элемента И узла пуска-останова и тактовому входу триггера, прямсй выход триггера подключен к второму входу элемента И узла пускаостанова, выход элемента И узла пуска-останона подключен к выходу узла пуска-останона, при этом счетный узел содержит пять счетчиков, с первого по четвертый входы счетного узла подключены к входам установки н ноль соответственно с первого по четвертый счетчиков, пятый вход счетного узла подключен к входу записи начального значения пятого счетчика, входы с шестого по десятый счетного узла подключены к счетным входам соответственно с первого по пятый счетчиков, выходы с первого по пятый счетного узла подключены к ныкодам соответственно с первого по пятый счетчиков, выход четвертого счетчика подключен к информационному входу пятого счетчика, при этом узел сравнения содержит с первого по сеЛьмой элементы сравнения и мультиплексор, первый вход узла сравнения подключен к первому входу первого элемента сравнения, второй вход узла сравнения подключен к первому входу второго элемента сраннения,и первому входу третьего элемента сравнения, третий вход узла сравнения подключен к первому входу четвертого элемента сравнения, четвертый вход узла сравнения подключен к первому входу пятого элемента сравнения, пятый вход узла сравнения подключен к первому входу шестого элемента сраннения и второму входу третьего элемента сравнения, шестой вход узла сравнения подключен к первому входу седьмого элемента сравнения и первому информационному входу мультиплексора блока сравнения, седьмой вход узла сравнения подключен к второму входу седьмого элемента сравнения и второму информационному входу мультиплексора