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