[go: up one dir, main page]

RU2040039C1 - Device for calculation absolute value of three- dimensional vector - Google Patents

Device for calculation absolute value of three- dimensional vector Download PDF

Info

Publication number
RU2040039C1
RU2040039C1 RU93005835A RU93005835A RU2040039C1 RU 2040039 C1 RU2040039 C1 RU 2040039C1 RU 93005835 A RU93005835 A RU 93005835A RU 93005835 A RU93005835 A RU 93005835A RU 2040039 C1 RU2040039 C1 RU 2040039C1
Authority
RU
Russia
Prior art keywords
output
input
arithmetic
block
information input
Prior art date
Application number
RU93005835A
Other languages
Russian (ru)
Inventor
Е.И. Духнич
А.А. Серов
Original Assignee
Волгоградский Политехнический Институт
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Волгоградский Политехнический Институт filed Critical Волгоградский Политехнический Институт
Priority to RU93005835A priority Critical patent/RU2040039C1/en
Application granted granted Critical
Publication of RU2040039C1 publication Critical patent/RU2040039C1/en

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

FIELD: computer engineering. SUBSTANCE: device has first register 2, first commutator 3, second register 4, second commutator 5, third register 6, third commutator 7, decoder 15. In addition device has constants memory unit 1, control unit 8, first, second and third arithmetic units 9-11, memory unit 12, sign inversion unit 13, fourth commutator 14, fifth commutator 16, device mode input 17. Introduced memory unit, constants memory unit, two commutators and control unit provides possibility to increase functional capabilities when problems having large number of coordinate conversions are solved. In particular, this provides possibility to compute directive cosines of vector which is done by one operations and the result does not need further correction. This results in possibility to increase speed of coordinate conversions, simplify control operations with device, to facilitate use and reliability of programming with insignificantly increased complexity of hardware. EFFECT: increased functional capabilities. 3 dwg

Description

Изобретение относится к вычислительной технике, а именно к устройствам нахождения функций путем вычислений, и может быть использовано в специализированных вычислителях для решения задач, содержащих координатные преобразования в пространстве. The invention relates to computing, and in particular, to devices for finding functions by means of calculations, and can be used in specialized calculators for solving problems containing coordinate transformations in space.

Известно арифметическое устройство, работающее по алгоритму Волдера [1] состоящее из трех буферных регистров, двух счетчиков, трех арифметических узлов и умножителя:

Figure 00000002
(1) где Xi, Yi, θi значение координат и угла на i-й итерации;
ζi оператор направления вращения;
i=1,2,n.Known arithmetic device operating according to the Walder algorithm [1] consisting of three buffer registers, two counters, three arithmetic nodes and a multiplier:
Figure 00000002
(1) where X i , Y i , θ i are the coordinates and the angle at the i-th iteration;
ζ i rotation direction operator;
i = 1,2, n.

Результатом вычисления является значение
R=K

Figure 00000003
(2) где k коэффициент деформации модуля.The result of the calculation is the value
R = K
Figure 00000003
(2) where k is the coefficient of deformation of the module.

Недостатком данного устройства является увеличение времени вычислений модуля трехмерного вектора, который может быть определен за две операции типа (2):
R=

Figure 00000004
(3) что ведет к уменьшению области применения указанного устройства в вычислительных системах, работающих в режиме реального времени. Наиболее близким к изобретению является устройство для определения трехмерного вектора [2] Оно содержит три регистра, три коммутатора, блок изменения знака, дешифратор и три арифметических блока, каждый из которых содержит два вычитателя и два сумматора-вычитателя.The disadvantage of this device is the increase in the computation time of the module of a three-dimensional vector, which can be determined in two operations of type (2):
R =
Figure 00000004
(3) which leads to a decrease in the scope of this device in computing systems operating in real time. Closest to the invention is a device for determining a three-dimensional vector [2] It contains three registers, three switches, a sign-changing unit, a decoder and three arithmetic units, each of which contains two subtracters and two adders-subtracters.

Данное устройство позволяет вычислить модуль трехмерного вектора (3) в виде одной макрооперации (при вычислении на устройстве не требуется определения и задания операций низкого уровня, например сложений и сдвига). This device allows you to calculate the module of the three-dimensional vector (3) in the form of a single macro operation (when calculating on the device, it is not necessary to determine and specify low-level operations, such as additions and shifts).

Недостатком данного устройства для определения трехмерного вектора является отсутствие возможности вычислить направляющие косинусы вектора в рамках единого неразрывного вычислительного процесса, что ограничивает функциональные возможности данного устройства, и реализация указанной операции ведет к увеличению времени расчета. The disadvantage of this device for determining a three-dimensional vector is the inability to calculate the direction cosines of the vector within a single inextricable computing process, which limits the functionality of this device, and the implementation of this operation leads to an increase in the calculation time.

Техническим результатом заявленного устройства является расширение функциональных возможностей при решении задач, содержащих большое количество координатных преобразований, а именно дополнительная возможность вычисления направляющих косинусов вектора, которое выполняется в виде одной макрооперации, причем результат не нуждается в коррекции за счет введения узла оперативной памяти узла постоянной памяти, двух коммутаторов и блока управления. Тем самым разработана система управления, реализующая новый алгоритм работы устройства определения модуля трехмерного вектора. Это позволяет повысить производительность при вычислении координатных преобразований и упрощает управление самим устройством, повышает удобство и надежность его программирования при незначительном увеличении объема оборудования. The technical result of the claimed device is the expansion of functionality in solving problems containing a large number of coordinate transformations, namely, the additional ability to calculate the direction cosines of a vector, which is performed in the form of a single macro operation, and the result does not need to be corrected by introducing a random access memory node, two switches and a control unit. Thus, a control system is developed that implements a new algorithm for the operation of the device for determining the module of a three-dimensional vector. This allows you to increase productivity in the calculation of coordinate transformations and simplifies the management of the device itself, increases the convenience and reliability of its programming with a slight increase in the volume of equipment.

Сущность изобретения заключается в том, что в устройство для определения модуля трехмерного вектора, содержащее три регистра, три коммутатора, блок изменения знака, дешифратор и три арифметических блока, каждый из которых содержит два вычитателя и два сумматора-вычитателя, причем первый и второй входы первого вычитателя i-го арифметического блока (i=1,3) являются первым и вторым информационными входами i-го арифметического блока, выход первого сумматора-вычитателя i-го арифметического блока соединен с первым входом второго сумматора-вычитателя блока, выход которого является выходом i-го арифметического блока, пятый информационный вход которого соединен с вторым входом второго сумматора-вычитателя блока, управляющие входы первого и второго сумматоров-вычитателей блока являются первым и вторым знаковыми входами i-го арифметического блока, первый выход первого регистра соединен с первым информационным входом первого арифметического блока, второй и пятый информационные входы которого соединены соответственно с первым выходом первого коммутатора и первым выходом третьего коммутатора, выход первого арифметического блока соединен с первым информационным входом первого регистра, вторые выходы первого, второго и третьего регистров соединены соответственно с информационными входами первого, второго и третьего коммутаторов, выход второго арифметического блока соединен с информационным входом блока изменения знака, первый выход третьего коммутатора соединен с вторым информационным входом третьего арифметического блока, введены блок памяти констант, четвертый и пятый коммутаторы, блок управления и блок памяти, причем третий и четвертый информационные входы i-го арифметического блока соединены с первым и вторым входами второго вычитателя блока, выходы первого и второго вычитателей которого соединены с первым и вторым входами первого сумматора-вычитателя блока, первый выход первого коммутатора соединен с пятым информационным входом третьего арифметического блока, с первым информационным входом второго арифметического блока, второй и третий информационные входы которого соединены соответственно с вторым выходом первого коммутатора и первым выходом третьего регистра, управляющий вход которого соединен с управляющими входами первого и второго регистров и первым выходом блока управления, второй выход которого соединен с управляющими входами блока памяти, четвертого и пятого коммутаторов, первый информационный вход четвертого коммутатора соединен с выходом блока изменения знака и информационным входом второго регистров, первый выход которого соединен с третьим информационным входом третьего арифметического блока, первый информационный вход которого соединен с вторым выходом третьего коммутатора, первый выход которого соединен с четвертым информационным входом второго арифметического блока, пятый информационный вход которого соединен с четвертым информационным входом первого арифметического блока, четвертым информационным входом третьего арифметического блока и первым выходом второго коммутатора, второй выход которого соединен с третьим информационным входом первого арифметического блока, второй знаковый вход которого соединен с выходом пятого коммутатора, первым знаковым входом второго арифметического блока, вторым знаковым входом третьего арифметического блока, вторым информационным входом блока памяти и вторым входом дешифратора, выход которого соединен с первым знаковым входом третьего арифметического блока, выход которого соединен с информационным входом третьего регистра и первым информационным входом пятого коммутатора, второй информационный вход которого соединен с первым выходом блока памяти, второй выход которого соединен с вторым информационным входом четвертого коммутатора, выход которого соединен с первым знаковым входом первого арифметического блока, управляющим входом блока изменения знака, вторым знаковым входом второго арифметического блока, первым входом дешифратора и первым информационным входом блока памяти, вход номера итерации которого соединен с управляющими входами первого, второго и третьего коммутаторов и третьим выходом блока управления, вход которого соединен с входом режима работы устройства, выход блока памяти констант соединен с вторым информационным входом первого регистра. The essence of the invention lies in the fact that the device for determining the module of a three-dimensional vector, containing three registers, three switches, a sign-changing unit, a decoder and three arithmetic blocks, each of which contains two subtractors and two adders-subtracters, the first and second inputs of the first the subtractor of the i-th arithmetic block (i = 1,3) are the first and second information inputs of the i-th arithmetic block, the output of the first adder-subtractor of the i-th arithmetic block is connected to the first input of the second adder-subtract block, the output of which is the output of the i-th arithmetic block, the fifth information input of which is connected to the second input of the second adder-subtractor of the block, the control inputs of the first and second adders-deductors of the block are the first and second sign inputs of the i-th arithmetic block, the first output the first register is connected to the first information input of the first arithmetic unit, the second and fifth information inputs of which are connected respectively to the first output of the first switch and the first output of the third switch, the output of the first arithmetic block is connected to the first information input of the first register, the second outputs of the first, second and third registers are connected respectively to the information inputs of the first, second and third switches, the output of the second arithmetic block is connected to the information input of the sign changing unit, the first output of the third switch connected to the second information input of the third arithmetic block, a constant memory block, fourth and fifth switches, a control block and a pa block are introduced and the third and fourth information inputs of the i-th arithmetic block are connected to the first and second inputs of the second subtractor of the block, the outputs of the first and second subtractors of which are connected to the first and second inputs of the first adder-subtractor of the block, the first output of the first switch is connected to the fifth information input the third arithmetic unit, with the first information input of the second arithmetic unit, the second and third information inputs of which are connected respectively to the second output of the first switch and the first output of the third register, the control input of which is connected to the control inputs of the first and second registers and the first output of the control unit, the second output of which is connected to the control inputs of the memory unit, the fourth and fifth switches, the first information input of the fourth switch is connected to the output of the sign-changing unit and information the input of the second registers, the first output of which is connected to the third information input of the third arithmetic unit, the first information input of which is connected to the second the output of the third switch, the first output of which is connected to the fourth information input of the second arithmetic block, the fifth information input of which is connected to the fourth information input of the first arithmetic block, the fourth information input of the third arithmetic block and the first output of the second switch, the second output of which is connected to the third information input the first arithmetic unit, the second sign input of which is connected to the output of the fifth switch, the first sign input of the second ar an arithmetic block, the second sign input of the third arithmetic block, the second information input of the memory block and the second input of the decoder, the output of which is connected to the first sign input of the third arithmetic block, the output of which is connected to the information input of the third register and the first information input of the fifth switch, the second information input of which connected to the first output of the memory unit, the second output of which is connected to the second information input of the fourth switch, the output of which is connected to the sign input of the first arithmetic unit, the control input of the sign changing unit, the second sign input of the second arithmetic unit, the first input of the decoder and the first information input of the memory unit, the input of the iteration number of which is connected to the control inputs of the first, second and third switches and the third output of the control unit, the input of which is connected to the input of the operating mode of the device, the output of the constant memory block is connected to the second information input of the first register.

На фиг. 1 представлена функциональная схема устройства; на фиг.2 схема арифметического узла; на фиг.3 схема блока управления. In FIG. 1 shows a functional diagram of a device; figure 2 diagram of the arithmetic unit; figure 3 diagram of the control unit.

Устройство для определения модуля трехмерного вектора (фиг.1) содержит блок 1 памяти констант, первый регистр 2 и коммутатор 3, вторые регистр 4 и коммутатор 5, третьи регистр 6 и коммутатор 7, блок 8 управления, с первого по третий арифметические блоки 9-11, блок 12 памяти, блок 13 изменения знака, четвертый коммутатор 14, дешифратор 15 и пятый коммутатор 16, а также вход 17 режима устройства. A device for determining a three-dimensional vector module (Fig. 1) contains a constant memory unit 1, a first register 2 and a switch 3, a second register 4 and a switch 5, a third register 6 and a switch 7, a control unit 8, from the first to the third arithmetic units 9- 11, a memory unit 12, a sign changing unit 13, a fourth switch 14, a decoder 15 and a fifth switch 16, as well as a device mode input 17.

Арифметический блок (фиг.2) содержит два вычитателя 18 и 19 и два сумматора-вычитателя 20 и 21. The arithmetic unit (figure 2) contains two subtractors 18 and 19 and two adders-subtractors 20 and 21.

Первый выход первого регистра 2 соединен с первым информационным входом первого арифметического блока 9, второй и пятый информационные входы которого соединены соответственно с первым выходом первого коммутатора 3 и первым выходом третьего коммутатора 7, а выход соединен с первым информационным входом первого регистра 2. Вторые выходы первого 2, второго 4 и третьего 6 регистров соединены соответственно с информационными входами первого 3, второго 5 и третьего 7 коммутаторов. Выход второго арифметического блока 10 соединен с информационным входом блока 13 изменения знака. Первый выход третьего коммутатора 7 соединен с вторым информационным входом третьего арифметического блока 11, первый выход первого коммутатора 3 соединен с пятым информационным входом третьего арифметического блока 11, с первым информационным входом второго арифметического блока 10, второй и третий информационные входы которого соединены соответственно с вторым выходом первого коммутатора 3 и первым выходом третьего регистра 6. Управляющий вход регистра 6 соединен с управляющими входами первого 2 и второго 4 регистров и первым выходом блока 8 управления, второй выход которого соединен с управляющими входами блока 12 памяти, четвертого 14 и пятого 16 коммутаторов. Первый информационный вход четвертого коммутатора 14 соединен с выходом блока 13 изменения знака и информационным входом второго регистра 4, первый выход которого соединен с третьим информационным входом третьего арифметического блока 11. Первый информационный вход последнего соединен с вторым выходом третьего коммутатора 7, первый выход которого соединен с четвертым информационным входом второго арифметического блока 10. Пятый информационный вход блока 10 соединен с четвертым информационным входом первого арифметического блока 9, четвертым информационным входом третьего арифметического блока 11 и первым выходом второго коммутатора 5, второй выход которого соединен с третьим информационным входом первого арифметического блока 9. Второй знаковый вход блока 9 соединен с выходом пятого коммутатора 16, первым знаковым входом второго арифметического блока 10, вторым знаковым входом третьего арифметического блока 11, вторым информационным входом блока 12 памяти и вторым входом дешифратора 15, выход которого соединен с первым знаковым входом третьего арифметического блока 11. Выход блока 11 соединен с информационным входом третьего регистра 6 и первым информационным входом пятого коммутатора 16, второй информационный вход которого соединен с первым выходом блока 12 памяти. Второй выход последнего соединен с вторым информационным входом четвертого коммутатора 14, выход которого соединен с первым знаковым входом первого арифметического блока 8, управляющим входом блока 13 изменения знака, вторым знаковым входом второго арифметического блока 10, первым входом дешифратора 15 и первым информационным входом блока 12 памяти. Вход номера итерации блока 12 соединен с управляющими входами первого 3, второго 5 и третьего 7 коммутаторов и третьим выходом блока 8 управления, вход которого соединен с входом 17 режима работы устройства. Выход блока 1 памяти констант соединен с вторым информационным входом первого регистра 2. The first output of the first register 2 is connected to the first information input of the first arithmetic unit 9, the second and fifth information inputs of which are connected respectively to the first output of the first switch 3 and the first output of the third switch 7, and the output is connected to the first information input of the first register 2. Second outputs of the first 2, second 4 and third 6 registers are connected respectively to the information inputs of the first 3, second 5 and third 7 switches. The output of the second arithmetic unit 10 is connected to the information input of the sign changing unit 13. The first output of the third switch 7 is connected to the second information input of the third arithmetic block 11, the first output of the first switch 3 is connected to the fifth information input of the third arithmetic block 11, with the first information input of the second arithmetic block 10, the second and third information inputs of which are connected to the second output, respectively the first switch 3 and the first output of the third register 6. The control input of the register 6 is connected to the control inputs of the first 2 and second 4 registers and the first output ka 8 control, the second output of which is connected to the control inputs of the memory unit 12, the fourth 14 and fifth 16 switches. The first information input of the fourth switch 14 is connected to the output of the sign-changing unit 13 and the information input of the second register 4, the first output of which is connected to the third information input of the third arithmetic unit 11. The first information input of the last is connected to the second output of the third switch 7, the first output of which is connected to the fourth information input of the second arithmetic unit 10. The fifth information input of the unit 10 is connected to the fourth information input of the first arithmetic unit 9, four the first information input of the third arithmetic unit 11 and the first output of the second switch 5, the second output of which is connected to the third information input of the first arithmetic unit 9. The second sign input of block 9 is connected to the output of the fifth switch 16, the first sign input of the second arithmetic block 10, and the second sign input the third arithmetic unit 11, the second information input of the memory unit 12 and the second input of the decoder 15, the output of which is connected to the first sign input of the third arithmetic unit 11. Output unit 11 is connected to the information input of the third register 6 and the first information input of the fifth switch 16, the second information input of which is connected to the first output of the memory unit 12. The second output of the latter is connected to the second information input of the fourth switch 14, the output of which is connected to the first sign input of the first arithmetic unit 8, the control input of the sign changing unit 13, the second sign input of the second arithmetic unit 10, the first input of the decoder 15 and the first information input of the memory unit 12 . The input of the iteration number of block 12 is connected to the control inputs of the first 3, second 5, and third 7 switches and the third output of the control unit 8, the input of which is connected to the input 17 of the device operation mode. The output of the constant memory unit 1 is connected to the second information input of the first register 2.

Первый и второй входы первого вычитателя 18 i-го арифметического блока (i= 1,3) являются первым 22 и вторым 23 информационными входами i-го арифметического блока. Выход первого сумматора-вычитателя 20 i-го арифметического блока соединен с первым входом второго сумматора-вычитателя 21 блока, выход которого является выходом 29 i-го арифметического блока. Пятый информационный вход 26 последнего соединен с вторым входом второго сумматора-вычитателя 21 блока. Управляющие входы первого 20 и второго 21 сумматоров-вычитателей блока являются первым 27 и вторым 28 знаковыми входами i-го арифметического блока. Третий 24 и четвертый 25 информационные входы i-го арифметического блока соединены с первым и вторым входами второго вычитателя 19 блока, выходы первого 18 и второго 19 вычитателей которого соединены с первым и вторым входами первого сумматора-вычитателя 20 блока. The first and second inputs of the first subtractor 18 of the i-th arithmetic block (i = 1,3) are the first 22 and second 23 information inputs of the i-th arithmetic block. The output of the first adder-subtractor 20 of the i-th arithmetic block is connected to the first input of the second adder-subtractor 21 of the block, the output of which is the output 29 of the i-th arithmetic block. The fifth information input 26 of the latter is connected to the second input of the second adder-subtractor 21 of the block. The control inputs of the first 20 and second 21 adders-subtractors of the block are the first 27 and second 28 sign inputs of the i-th arithmetic block. The third 24 and fourth 25 information inputs of the i-th arithmetic block are connected to the first and second inputs of the second subtractor 19 of the block, the outputs of the first 18 and second 19 subtractors of which are connected to the first and second inputs of the first adder-subtractor 20 of the block.

Блок 8 управления (фиг.3) состоит из генератора 30 импульсов, счетчика 31, двух дешифраторов 32 и 33, двух схем И 34 и 35, двух триггеров 36 и 37. Кроме того, имеются первый 38 и второй 39 управляющие выходы блока управления, выход 40 номера итерации и вход 17 режима. The control unit 8 (Fig. 3) consists of a pulse generator 30, a counter 31, two decoders 32 and 33, two circuits AND 34 and 35, two triggers 36 and 37. In addition, there are first 38 and second 39 control outputs of the control unit, output 40 iteration numbers and input 17 mode.

Выход генератора 30 импульсов соединен с входом сброса первого триггера 36 и первым входом первой схемы И 34, выход которой соединен со счетным входом счетчика 31, выход которого соединен с входами первого 32 и второго 33 дешифраторов и с выходом 40 номера итерации. Выход первого дешифратора 32 соединен с вторым входом второй схемы И 35, выход которой соединен с входами установки первого 36 и второго 37 триггеров. Выход второго дешифратора 33 соединен с входом сброса второго триггера 37. Прямой выход первого триггера 36 соединен с первым управляющим входом 38 блока 8 управления, инверсный выход первого триггера 36 соединен с вторым входом схемы И 34. Выход второго триггера 37 соединен с управляющим входом счетчика 31 и вторым управляющим выходом 39. Вход 17 режима соединен с первым входом второй схемы И 35. The output of the pulse generator 30 is connected to the reset input of the first trigger 36 and the first input of the first circuit And 34, the output of which is connected to the counting input of the counter 31, the output of which is connected to the inputs of the first 32 and second 33 of the decoders and to the output 40 of the iteration number. The output of the first decoder 32 is connected to the second input of the second circuit And 35, the output of which is connected to the installation inputs of the first 36 and second 37 triggers. The output of the second decoder 33 is connected to the reset input of the second trigger 37. The direct output of the first trigger 36 is connected to the first control input 38 of the control unit 8, the inverse output of the first trigger 36 is connected to the second input of the AND circuit 34. The output of the second trigger 37 is connected to the control input of the counter 31 and a second control output 39. The input 17 of the mode is connected to the first input of the second circuit And 35.

Устройство функционирует следующим образом. The device operates as follows.

Работа устройства выражается зависимостями

Figure 00000005
(4) где i 1.n;
μi sign Yi;
εi sign Zi;
X1 X, Y1 Y, Z1 Z,
и
Figure 00000006
(5) где j n.1;
ηj μj;
εj εj;
X1 1/k, Y1 0, Z1 0,
k
Figure 00000007
(1-2-1+2-2i) коэффициент деформации.The operation of the device is expressed by dependencies
Figure 00000005
(4) where i 1.n;
μ i sign Y i ;
ε i sign Z i ;
X 1 X, Y 1 Y, Z 1 Z,
and
Figure 00000006
(5) where j n. 1;
η j μ j ;
ε j ε j ;
X 1 1 / k, Y 1 0, Z 1 0,
k
Figure 00000007
(1-2 -1 +2 -2i ) strain coefficient.

Система управления реализует вычисление двух функций. The control system implements the calculation of two functions.

Вычисление функции определения модуля вектора происходит по зависимости (4). Вычисление направляющих косинусов производится последовательно по зависимостям (4) и (5). The calculation of the function of determining the modulus of a vector occurs according to dependence (4). The calculation of guide cosines is carried out sequentially according to dependencies (4) and (5).

Начальными значениями координат зависимости (4) являются координаты конца заданного вектора. При расчете по зависимости (5) используются значения ε и μ полученные при расчете по зависимости (4). Значение 1/k рассчитывается заранее и хранится в блоке 1 памяти констант. The initial coordinates of dependence (4) are the coordinates of the end of a given vector. When calculating according to dependence (5), the values of ε and μ obtained when calculating according to dependence (4) are used. The value 1 / k is calculated in advance and stored in the constant memory block 1.

Режим работы устройства определяется наличием или отсутствием потенциала (сигнала) на входе 17. Если на нем нет сигнала, то блок 8 настраивается на расчет модуля трехмерного вектора, а при наличии сигнала на расчет направляющих косинусов трехмерного вектора. The operation mode of the device is determined by the presence or absence of potential (signal) at input 17. If there is no signal on it, then block 8 is configured to calculate the three-dimensional vector module, and if there is a signal to calculate the direction cosines of the three-dimensional vector.

Перед началом итерационного процесса в регистры 2, 4 и 6 соответственно заносятся значения координат конца трехмерного вектора X, Y и Z. С началом очередной итерации с выхода номера итерации блока 8 управления подается сигнал на управляющие входы коммутаторов 3, 5 и 7, настраивая их таким образом, чтобы с их первого входа снималось число (Х, Y и Z соответственно), сдвинутые на i разрядов в сторону младших разрядов, а с второго на 2i разрядов в сторону младших разрядов. Таким образом, на входы с первого по пятый аргументов арифметического блока 9 подаются Xi, Xi2-i, Yi2-2i, Yi2-i и Zi2-i, а с выхода получается значение Xi+1. Аналогично с выхода арифметического блока 11 получается значение Zi+1. С выхода арифметического блока 10 получается значение Yi+1 без учета знака μi Поэтому получаемое значение подается на информационный вход блока 13 изменения знака (на управляющий вход которого подается значение μi ), в котором происходит учет знака μiи с выхода которого получается результат Yi+1. Значения Xi+1, Yi+1 и Zi+1 записываются в регистры 2, 4 и 6 соответственно вместо значений Xi, Yi и Zi. Коммутаторы 14 и 16 передают соответственно значения знаков Zi+1 и Zi+1 на свои выходы, с которых получаются соответственно значения μi и εi Дешифратор 15 служит для получения значения μi . εi Сигнал с выхода номера итерации блока 8 управления подается также на вход номера итерации блока 12 памяти, в котором запоминаются соответствующие номеру итерации значения μi и εi подаваемые на соответствующие информационные входы этого блока. Сигнал с второго управляющего выхода блока управления настраивает блок 12 памяти на запись значений μi и εi
После выполнения n итераций (n разрядность операндов) исходный вектор совпадает с осью ОХ и в регистр 2 записывается значение
Xn=k

Figure 00000008

Если на вход 17 режима устройства подается "0", то счет на этом заканчивается. Если на вход режима подается "1", то блок 8 управления начинает обеспечивать работу устройства согласно зависимости (5). На первом управляющем выходе блока управления вырабатывается сигнал, подаваемый на управляющие входы регистров 2, 4 и 6, под воздействием которого в регистр 2 записывается значение 1/k из блока 1 памяти констант, а в регистры 4 и 6 записывается "0". Дальнейшее функционирование регистров 2, 4 и 6, коммутаторов 3, 5 и 7, арифметических блоков 9, 10 и 11, блока 13 изменения знака, дешифратора 15 соответствует описанию счета по зависимости (4). Сигнал с второго управляющего выхода блока 8 управления переключает блок 12 памяти в режим чтения записанных ранее значений μi и εi для всех номеров итераций. Этот же сигнал переключает коммутаторы 14 и 16 таким образом, что считываются инвертированные значения μi и εi с соответствующих инверсных выходов блока 12 памяти и выдаются эти значения на свои выходы в виде значений ηi и εi Номера итераций теперь уменьшаются от n до 1.Before the iteration process begins, the values of the coordinates of the end of the three-dimensional vector X, Y and Z are respectively entered into registers 2, 4, and 6. With the beginning of the next iteration, the signal is sent to the control inputs of switches 3, 5, and 7 from the output of the iteration number of control unit 8, setting them as follows so that from their first input a number is removed (X, Y and Z, respectively), shifted by i digits towards the lower digits, and from the second by 2i digits towards the lower digits. Thus, X i , X i 2 -i , Y i 2 -2i , Y i 2 -i and Z i 2 -i are fed to the inputs from the first to fifth arguments of the arithmetic unit 9, and the value X i + 1 is obtained from the output . Similarly, the output of the arithmetic unit 11 yields the value Z i + 1 . From the output of the arithmetic block 10, the value Y i + 1 is obtained without taking into account the sign of μ i Therefore, the resulting value is fed to the information input of the block 13 of the sign change (to the control input of which the value of μ i is supplied), in which the sign of μ i is taken into account and from the output of which it turns out the result is Y i + 1 . The values of X i + 1 , Y i + 1 and Z i + 1 are recorded in registers 2, 4 and 6, respectively, instead of the values of X i , Y i and Z i . The switches 14 and 16 respectively transmit the values of the signs Z i + 1 and Z i + 1 to their outputs, from which the values μ i and ε i are obtained respectively. The decoder 15 serves to obtain the value μ i . ε i The signal from the output of the iteration number of the control unit 8 is also fed to the input of the iteration number of the memory unit 12, in which the values μ i and ε i supplied to the corresponding information inputs of this block are stored corresponding to the iteration number. The signal from the second control output of the control unit sets the memory unit 12 to record μ i and ε i
After performing n iterations (n bits of operands), the initial vector coincides with the axis OX and the value is written in register 2
X n = k
Figure 00000008

If the input 17 of the device mode is "0", then the count ends. If "1" is supplied to the mode input, then the control unit 8 starts to ensure the operation of the device according to dependence (5). At the first control output of the control unit, a signal is generated that is applied to the control inputs of registers 2, 4 and 6, under the influence of which the value 1 / k from the block 1 of the constant memory is written to register 2, and "0" is written to the registers 4 and 6. The further functioning of registers 2, 4 and 6, switches 3, 5 and 7, arithmetic units 9, 10 and 11, sign change unit 13, decoder 15 corresponds to the account description according to dependence (4). The signal from the second control output of the control unit 8 switches the memory unit 12 to the read mode of the previously recorded values μ i and ε i for all iteration numbers. The same signal switches the switches 14 and 16 in such a way that the inverted values μ i and ε i are read from the corresponding inverse outputs of the memory unit 12 and these values are output to their outputs in the form of values η i and ε i The iteration numbers are now reduced from n to 1 .

После выполнения n итераций (номер итерации равен "1") по зависимости (5) вектор единичной длины (координаты которого записаны в соответствующих регистрах 2, 4 и 6) коллереарен исходному. Таким образом, в регистре 2 записано значение X/R=cosα где R=

Figure 00000009
, в регистре 4 Y/R=cosβ а в регистре 6 Z/R= cosγ т. е. в регистрах 2, 4 и 6 записаны соответствующие значения направляющих косинусов исходного вектора. Значения направляющих косинусов вектора имеют истинное значение и в дальнейшей коррекции не нуждаются.After performing n iterations (the iteration number is "1") according to dependence (5), a unit length vector (whose coordinates are written in the corresponding registers 2, 4, and 6) is collinear to the original one. Thus, in register 2, the value X / R = cosα is written where R =
Figure 00000009
, in register 4 Y / R = cosβ and in register 6 Z / R = cosγ, i.e., in registers 2, 4 and 6, the corresponding values of the direction cosines of the original vector are written. The values of the direction cosines of the vector have a true value and do not need further correction.

Арифметические блоки 9, 10 и 11 функционирует следующим образом (фиг.2). Arithmetic blocks 9, 10 and 11 operates as follows (figure 2).

Арифметический блок обеспечивает вычисление в соответствии со следующей формулой:
Q= t1-t2-e1(t3-t4)+e2t5 (6) где t1, t2, t3, t4, t5 с первого по пятый входы аргументов арифметического блока;
Q значение результата, подаваемое на выход арифметического блока;
е1 и е2 значения, подаваемые на знаковые входы и влияющие на выполнение операций сложения-вычитания.
The arithmetic unit provides the calculation in accordance with the following formula:
Q = t 1 -t 2 -e 1 (t 3 -t 4 ) + e 2 t 5 (6) where t 1 , t 2 , t 3 , t 4 , t 5 from the first to fifth inputs of the arithmetic block arguments;
Q is the value of the result supplied to the output of the arithmetic block;
e 1 and e 2 values supplied to the sign inputs and affecting the performance of addition-subtraction operations.

Сигнал на знаковом входе 27 устанавливает сумматор-вычитатель 20 в режим сложения, а сигнал на знаковом входе 28 устанавливает сумматор-вычитатель 21 в режим вычитания. На входы первого 22, второго 23, третьего 24, четвертого 25 и пятого 26 аргументов подаются соответствующие значения. Таким образом, на входы первого и второго операндов первого вычитателя 18 подаются значения первого t1 и второго t2 аргументов, а с выхода снимается значение t1-t2, которое подается на вход первого операнда сумматора-вычитателя 20. Аналогично с входа второго вычитателя 19 снимается значение t3-t4, подаваемое на вход второго операнда сумматора-вычитателя 20, с выхода которого снимается значение t1-t2-e1(t3-t4), которое подается на вход первого операнда второго сумматора-вычитателя 21. На вход второго операнда сумматора-вычитателя 21 подается значение пятого аргумента t5, а с выхода снимется значение (t1-t2)-e1(t3-t4)+e2t5, которое подается на выход 29 арифметического блока, реализуя тем самым вычисление по формуле (6).The signal at the sign input 27 sets the adder-subtractor 20 into the addition mode, and the signal at the sign input 28 sets the adder-subtractor 21 in the subtraction mode. The inputs of the first 22, second 23, third 24, fourth 25 and fifth 26 arguments are given the corresponding values. Thus, the values of the first t 1 and second t 2 arguments are supplied to the inputs of the first and second operands of the first subtractor 18, and the value t 1 -t 2 is taken from the output, which is fed to the input of the first operand of the adder-subtractor 20. Similarly, from the input of the second subtractor 19, the t 3 -t 4 value supplied to the input of the second operand of the adder-subtractor 20 is removed, the output of which is taken to the value of t 1 -t 2 -e 1 (t 3 -t 4 ), which is fed to the input of the first operand of the second adder-subtractor 21. At the input of the second operand of the adder-subtractor 21 is served the fifth argument t 5 , and the value (t 1 -t 2 ) -e 1 (t 3 -t 4 ) + e 2 t 5 , which is fed to the output 29 of the arithmetic block, is removed from the output, thereby realizing the calculation by the formula (6 )

Блок 8 управления функционирует следующим образом (фиг.3). The control unit 8 operates as follows (figure 3).

В начале счета триггеры 36 и 37 и счетчик 31 находятся в сброшенном состоянии. На инверсном выходе триггера 36 вырабатывается сигнал "1", который открывает схему И 34 для нахождения тактовых импульсов, вырабатываемых генератором 30 импульсов. С выхода схемы И 34 тактовые импульсы поступают на счетный вход счетчика 31, увеличивая его содержимое на "+1". Содержимое счетчика представляет собой номер итерации, выдается на вход 40 номера итерации и анализируется в дешифраторах 32 и 33. Первый дешифратор 32 проверяет равенство <<Cч31>>=n и при совпадении вырабатывает сигнал, который при наличии сигнала на входе 17 режима (что соответствует режиму расчета направляющих косинусов вектора) посредством схемы И 35 подается на входы установки триггеров 36 и 37. В этом случае импульс на прямом выходе триггера 36 сбрасывает регистры 4 и 6 в "0" и обеспечивает запись в регистр 2 значения 1/k из блока 1 памяти констант. Сигнал на выходе триггера 37 (выход 39 блока 8 управления) устанавливает счетчик 31 в режим декрементации (с каждым импульсом из счетчика вычитается "1"), переключает коммутаторы 14 и 16 и блок 12 памяти на выдачу значений знаков, заполненных ранее. По достижении <<Cч31>>=0 на выходе дешифратора 33 вырабатывается сигнал, сбрасывающий триггер 37. Осуществляется расчет косинусов вектора. Если на вход 17 режима подается "0", то сигнал, вырабатываемый дешифратором 32 при <<Cч31>>=n, блокируется схемой И 35. Расчет модуля трехмерного вектора закончен. At the beginning of the count, triggers 36 and 37 and counter 31 are in the reset state. At the inverted output of the trigger 36, a signal "1" is generated, which opens the circuit And 34 to find the clock pulses generated by the pulse generator 30. From the output of the circuit And 34, clock pulses are supplied to the counting input of the counter 31, increasing its content by "+1". The content of the counter is an iteration number, iterated to the input 40 of the iteration number and analyzed in the decoders 32 and 33. The first decoder 32 checks the equality << Cch31 >> = n and, if it matches, it generates a signal that, if there is a signal at mode input 17 (which corresponds to mode of calculating the directional cosines of the vector) through the AND 35 circuit is supplied to the inputs of the installation of triggers 36 and 37. In this case, the pulse at the direct output of the trigger 36 resets registers 4 and 6 to "0" and ensures that the value 1 / k from block 1 is written to register 2 memory constants. The signal at the output of the trigger 37 (output 39 of the control unit 8) sets the counter 31 to decrementation mode ("1" is subtracted from the counter with each pulse), switches the switches 14 and 16 and the memory unit 12 to output the values of characters filled previously. Upon reaching << Sch31 >> = 0 at the output of the decoder 33, a signal is generated that resets the trigger 37. The cosines of the vector are calculated. If the input 17 of the mode is "0", then the signal generated by the decoder 32 with << Cch31 >> = n is blocked by the AND 35 circuit. The calculation of the three-dimensional vector module is completed.

Применение устройства для определения модуля трехмерного вектора для нахождения функций путем вычислений, а именно для использования в специализированных вычислителях для решения задач, содержащих большое количество координатных преобразований, позволяет существенно повысить производительность при вычислении координатных преобразований и упростить управление вычислительным процессом, повышает удобство и надежность программирования работы устройства при незначительном увеличении объема оборудования, что в итоге ведет к повышению эффективности применения устройства в составе специализированного вычислителя для решения задач координатных преобразований в режиме реального времени. The use of a device for determining the module of a three-dimensional vector for finding functions by means of calculations, namely, for use in specialized calculators for solving problems containing a large number of coordinate transformations, can significantly increase productivity in the calculation of coordinate transformations and simplify the control of the computing process, increases the convenience and reliability of programming work devices with a slight increase in the volume of equipment, which ultimately leads to increased ju effective use of the device as part of a specialized computer for solving problems of coordinate transformations in real time.

Claims (1)

УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ МОДУЛЯ ТРЕХМЕРНОГО ВЕКТОРА, содержащее три регистра, три коммутатора, блок изменения знака, дешифратор, три арифметических блока и два сумматора-вычитателя, причем первый и второй входы первого вычитателя i-го арифметического блока (i 1,3) являются первым и вторым информационными входами i-го арифметического блока, выход первого сумматора-вычитателя i-го арифметического блока соединен с первым входом второго сумматора-вычитателя блока, выход которого является выходом i-го арифметического блока, пятый информационный вход которого соединен с вторым входом второго сумматора-вычитателя блока, управляющие входы первого и второго сумматоров-вычитателей блока являются первым и вторым знаковыми входами i-го арифметического блока, первый выход первого регистра соединен с первым информационным входом первого арифметического блока, второй и пятый информационные входы которого соединены соответственно с первым выходом первого коммутатора и первым выходом третьего коммутатора, выход первого арифметического блока соединен с первым информационным входом первого регистра, вторые выходы первого, второго и третьего регистров соединены соответственно с информационными входами первого, второго и третьего коммутаторов, выход второго арифметического блока соединен с информационным входом блока изменения знака, первый выход третьего коммутатора соединен с вторым информационным входом третьего арифметического блока, отличающееся тем, что оно содержит блок памяти констант, четвертый и пятый коммутаторы, блок управления и блок памяти, причем третий и четвертый информационные входы i-го арифметического блока соединены с первым и вторым входами второго вычитателя блока, выходы первого и второго вычитателей которого соединены с первым и вторым входами первого сумматора-вычитателя блока, первый выход первого коммутатора соединен с пятым информационным входом третьего арифметического блока, первым информационным входом второго арифметического блока, второй и третий информационные входы которого соединены соответственно с вторым выходом первого коммутатора и первым выходом третьего регистра, управляющий вход которого соединен с управляющими входами первого и второго регистров и первым выходом блока управления, второй выход которого соединен с управляющими входами блока памяти, четвертого и пятого коммутаторов, первый информационный вход четвертого коммутатора соединен с выходом блока изменения знака и информационным входом второго регистра, первый выход которого соединен с третьим информационным входом третьего арифметического блока, первый информационный вход которого соединен с вторым выходом третьего коммутатора, первый выход которого соединен с четвертым информационным входом второго арифметического блока, пятый информационный вход которого соединен с четвертым информационным входом первого арифметического блока, четвертым информационным входом третьего арифметического блока и первым выходом второго коммутатора, второй выход которого соединен с третьим информационным входом первого арифметического блока, первый знаковый вход которого соединен с выходом пятого коммутатора, первым знаковым входом второго арифметического блока, вторым знаковым входом третьего арифметического блока, вторым информационным входом блока памяти и вторым входом дешифратора, выход которого соединен с первым знаковым входом третьего арифметического блока, выход которого соединен с информационным входом третьего регистра и первым информационным входом пятого коммутатора, второй информационный вход которого соединен с первым выходом блока памяти, второй выход которого соединен с вторым информационным входом четвертого коммутатора, выход которого соединен с вторым знаковым входом первого арифметического блока, управляющим входом блока изменения знака, вторым знаковым входом второго арифметического блока, первым входом дешифратора и первым информационным входом блока памяти, вход номера итерации которого соединен с управляющими входами первого, второго и третьего коммутаторов и третьим выходом блока управления, вход которого соединен с входом режима работы устройства, выход блока памяти констант соединен с вторым информационным входом первого регистра. A DEVICE FOR DETERMINING A THREE-DIMENSIONAL VECTOR MODULE, comprising three registers, three switches, a sign changing unit, a decoder, three arithmetic blocks and two adder-subtracters, the first and second inputs of the first subtractor of the i-th arithmetic block (i 1,3) are the first and the second information inputs of the i-th arithmetic block, the output of the first adder-subtractor of the i-th arithmetic block is connected to the first input of the second adder-subtractor of the block, the output of which is the output of the i-th arithmetic block, the fifth information the first input of which is connected to the second input of the second adder-subtractor of the block, the control inputs of the first and second adders-subtractors of the block are the first and second sign inputs of the i-th arithmetic block, the first output of the first register is connected to the first information input of the first arithmetic block, the second and fifth the information inputs of which are connected respectively to the first output of the first switch and the first output of the third switch, the output of the first arithmetic unit is connected to the first information input the first register, the second outputs of the first, second and third registers are connected respectively to the information inputs of the first, second and third switches, the output of the second arithmetic unit is connected to the information input of the sign-changing unit, the first output of the third switch is connected to the second information input of the third arithmetic unit, characterized in that it contains a constant memory unit, fourth and fifth switches, a control unit and a memory unit, and the third and fourth information inputs of the i-th arithmetic of the static block are connected to the first and second inputs of the second subtractor of the block, the outputs of the first and second subtractors of which are connected to the first and second inputs of the first adder-subtractor of the block, the first output of the first switch is connected to the fifth information input of the third arithmetic block, the first information input of the second arithmetic block, the second and third information inputs of which are connected respectively to the second output of the first switch and the first output of the third register, the control input of which is connected connected with the control inputs of the first and second registers and the first output of the control unit, the second output of which is connected to the control inputs of the memory unit, the fourth and fifth switches, the first information input of the fourth switch is connected to the output of the sign-changing unit and the information input of the second register, the first output of which is connected with the third information input of the third arithmetic unit, the first information input of which is connected to the second output of the third switch, the first output of which is connected to the fourth information input of the second arithmetic block, the fifth information input of which is connected to the fourth information input of the first arithmetic block, the fourth information input of the third arithmetic block and the first output of the second switch, the second output of which is connected to the third information input of the first arithmetic block, the first sign input of which is connected to the output of the fifth switch, the first sign input of the second arithmetic unit, the second sign input of the third arithmetic unit, the second information input of the memory unit and the second input of the decoder, the output of which is connected to the first sign input of the third arithmetic unit, the output of which is connected to the information input of the third register and the first information input of the fifth switch, the second information input of which is connected to the first output of the memory unit, the second output of which is connected to the second information input of the fourth switch, the output of which is connected to the second sign input of the first arithmetic unit, controlling the ode of the sign-changing unit, the second significant input of the second arithmetic unit, the first input of the decoder and the first information input of the memory unit, the input of the iteration number of which is connected to the control inputs of the first, second and third switches and the third output of the control unit, the input of which is connected to the input of the device operation mode , the output of the constant memory block is connected to the second information input of the first register.
RU93005835A 1993-02-01 1993-02-01 Device for calculation absolute value of three- dimensional vector RU2040039C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU93005835A RU2040039C1 (en) 1993-02-01 1993-02-01 Device for calculation absolute value of three- dimensional vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU93005835A RU2040039C1 (en) 1993-02-01 1993-02-01 Device for calculation absolute value of three- dimensional vector

Publications (1)

Publication Number Publication Date
RU2040039C1 true RU2040039C1 (en) 1995-07-20

Family

ID=20136518

Family Applications (1)

Application Number Title Priority Date Filing Date
RU93005835A RU2040039C1 (en) 1993-02-01 1993-02-01 Device for calculation absolute value of three- dimensional vector

Country Status (1)

Country Link
RU (1) RU2040039C1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1. Авторское свидетельство СССР N 1142830, кл. G 06F 7/544, 1981. *
2. Авторское свидетельство СССР N 1164696, кл. G 06F 7/544, 1985. *

Similar Documents

Publication Publication Date Title
EP0656582B1 (en) Parallel adding and averaging circuit and method
JP3573808B2 (en) Logical operation unit
Koppermann et al. Low-latency X25519 hardware implementation: Breaking the 100 microseconds barrier
EP0216700A2 (en) System for generating mask pattern for vector data processor
US6917956B2 (en) Apparatus and method for efficient modular exponentiation
RU2439667C1 (en) Processor of higher functioning reliability
US5363322A (en) Data processor with an integer multiplication function on a fractional multiplier
RU2040039C1 (en) Device for calculation absolute value of three- dimensional vector
US20050246406A9 (en) Emod a fast modulus calculation for computer systems
RU2079879C1 (en) Matrix processor
US20230060275A1 (en) Accelerating multiplicative modular inverse computation
SU866559A1 (en) Device vector processor control
US7590677B2 (en) Processor with summation instruction using overflow counter
RU2030785C1 (en) Computing device
US3196259A (en) Parity checking system
SU560229A1 (en) Device for calculating elementary functions
SU703823A1 (en) Device for computing elementary functions
SU593211A1 (en) Digital computer
RU2069009C1 (en) Adding device
SU1111173A1 (en) Control unit for fast fourier transform processor
SU1167604A1 (en) Calculating device
SU696476A1 (en) Trigonometric function computing device
SU883897A1 (en) Device for square root calculation
SU1120347A1 (en) Arithmetic unit for fast fourier transform processor
SU1462299A1 (en) Device for performing coordinate conversion