устройство для вычисления модуля m-мерного вектора
Классы МПК: | G06F7/544 для нахождения значений функций путем вычислений |
Патентообладатель(и): | Духнич Евгений Иванович[RU] |
Приоритеты: |
подача заявки:
1992-01-22 публикация патента:
20.02.1995 |
Изобретение относится к вычислительной технике и предназначено для построения на его основе специализированных ЭВМ. Устройство содержит m регистров p1...pm, 2m - 1 сумматоров-вычитателей s1...s2m-1, m дешифраторов знака, два сдвигателя 1, 4, блок 2 изменения знака числа, блок 3 умножения на одну из n констант, m входов x1...xm операндов, m входов z1...zm для анализа знака операнда, m выходов y1...ym результата и вход 5 номера итерации. В отличие от известных технических решений в предлагаемом устройстве происходит преобразование компонент вектора в m-мерном пространстве как одна макрооперация за время порядка длительности n операций сложения. Кроме того, результат операции не деформируется (коэффициент удлинения вектора равен единице). Эффективность достигается расширением функциональных возможностей устройства за счет m-мерного преобразования Хаусхолдера при относительно незначительных дополнительных затратах оборудования. 3 ил.
Рисунок 1, Рисунок 2, Рисунок 3
Формула изобретения
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ МОДУЛЯ M-МЕРНОГО ВЕКТОРА, содержащее три регистра, два сдвигателя, шесть сумматоров-вычитателей и три дешифратора знака, причем вход номера итерации устройства соединен с управляющими входами сдвигателей, информационный вход первого из которых соединен с выходом первого регистра, выход второго регистра соединен с первым информационным входом первого сумматора-вычислителя, управляющий вход и выход которого соединены соответственно с выходом первого дешифратора знака и первым информационным входом второго сумматора-вычитателя, второй информационный и управляющий входы которого соединены с выходами третьего регистра и второго дешифратора знака соответственно, выход второго сумматора-вычитателя соединен с первым информационным входом третьего сумматора-вычислителя, управляющий вход которого соединен с выходом третьего дешифратора знака, отличающееся тем, что в него введено m - 3 регистров, m - 3 дешифраторов знака, 2 m-7 сумматоров-вычитателей, блок умножения на константу и блок изменения знака чисел, причем i-й вход операнда устройства (i = 1, m) соединен с входом i-го регистра, первый информационный вход k-го сумматора-вычитателя (k = 4, m - 1) - с выходом (k-1)-го сумматора-вычитателя, выход j-го регистра (j = 4, m) - с вторым информационным входом (j-1)-го сумматора-вычитателя, управляющий вход j-го сумматора-вычитателя - с выходом дешифратора знака, выход первого сдвигателя - с информационным входом блока изменения знака, управляющий вход и выход которого соединен с выходом m-го дешифратора знака и вторым информационным входом первого сумматора-вычитателя, вход i-го дешифратора знака - с i-м входом анализа знака операнда устройства, выход (m-1)-го сумматора-вычитателя - с информационным входом блока умножения на константу, выход которого соединен с первыми информационными входами с (m+1)-го по (2m-1)-й сумматоров-вычитателей и информационным входом второго сдвигателя, выход которого соединен с первым информационным входом m-го сумматора-вычитателя, второй информационный вход l-го сумматора-вычитателя (l = m, 2m - 1) - с выходом i-го регистра, управляющий вход n-го сумматора-вычитателя (n = m+1, 2m-1) - с выходом p-го дешифратора знака (p=1, m-1), выход l-го сумматора-вычитателя является i-м выходом результата устройства.Описание изобретения к патенту
Изобретение относится к вычислительной технике и предназначено для построения на его основе специализированных ЭВМ. Известны специализированные устройства для поворота вектора по алгоритму Волдера, в которых можно вычислять модуль вектора. Устройства содержат сдвигающие регистры, коммутирующие блоки, сумматоры-вычитатели и позволяют решать задачу на порядок быстрее, чем традиционные арифметические устройства (авт. св. СССР N 445042, кл. G 06 f 7/38, 1974). Однако они работают с двумерными векторами и для вычисления модуля m-мерного вектора требуют выполнения последовательности из m-1 операций. Наиболее близким по технической реализации к изобретению является устройство для определения модуля трехмерного вектора (авт. св. СССР N 1205139, кл. G 06 f 7/544, 1986). Это устройство содержит три регистра аргументов, три сдвигателя, вычитатель, шесть сумматоров-вычитателей, три дешифратора знака и реализует итерационный алгоритм "цифра за цифрой" перемещения трехмерного вектора с помощью последовательности из n преобразований отражения до его совпадения с осью абсцисс. Такое линейное преобразование вектора носит название преобразования Хаусхолдера (Ортега Дж. Введение в параллельные и векторные методы решения линейных систем, М.: Мир, 1991, с. 92). Недостатками таких устройств являются большое время определения модуля m-мерного вектора, которое равно
y1 = x1 - a2bc1;
y2 = x2 - ac2; (1)
y3 = x3 - ac3;













ym = xm - acm, где a = 2(m-1+2-i)-1(2bx1c1+x2c2+...+xmcm);
cj = sgnzj =

b = -]0,5i[ - целая часть числа, заключенного в скобках (i = 0,1,2,..., n-1). Алгоритм описывает одно из n преобразований отражения, в результате которых исходный вектор Хо ложится на первую из m осей координат, а остальные координаты вектора равны нулю. Рассмотрим работу устройства на i-й итерации. Операнды-компоненты вектора Xi заносятся в регистры р1...рm по входам x1...xm и подаются на входы z1. ..zm соответственно. Сдвигатели 1 и 4 служат для сдвига числа на b разрядов, поэтому на выходе блока 2 изменения знака числа получается величина 2bx1sgnz1, к которой на сумматоре-вычитателе S1прибавляется (вычитается) величина x2sgnz2. Таким образом, на выходе сумматора-вычитателя Sm-1 получается выражение (2bx1c1 + x2c2+...+xmcm), которое поступает на вход блока 3 умножения. Блок умножения предназначен для умножения входного числа в зависимости от номера итерации на одну из n констант 2 (m-1+2-i)-1, на его выходе получено значение а. Сумматоры-вычитатели Sm...S2m-1 построчно реализуют вычисления (1), причем для вычисления значения у1 используется сдвигатель 4, который формирует величину а

Класс G06F7/544 для нахождения значений функций путем вычислений