JP2741869B2 - Inverse coordinate transformation processor - Google Patents

Inverse coordinate transformation processor

Info

Publication number
JP2741869B2
JP2741869B2 JP15657488A JP15657488A JP2741869B2 JP 2741869 B2 JP2741869 B2 JP 2741869B2 JP 15657488 A JP15657488 A JP 15657488A JP 15657488 A JP15657488 A JP 15657488A JP 2741869 B2 JP2741869 B2 JP 2741869B2
Authority
JP
Japan
Prior art keywords
register
input
data
output
basic
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP15657488A
Other languages
Japanese (ja)
Other versions
JPH025129A (en
Inventor
龍雄 樋口
充隆 亀山
秀樹 江上
秀明 栗原
安弘 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP15657488A priority Critical patent/JP2741869B2/en
Publication of JPH025129A publication Critical patent/JPH025129A/en
Application granted granted Critical
Publication of JP2741869B2 publication Critical patent/JP2741869B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Control Of Position Or Direction (AREA)
  • Manipulator (AREA)

Description

【発明の詳細な説明】 〔概要〕 例えばロボットマニピュレータの手先の位置姿勢を各
関節の変位に逆変換することに用いられる座標逆変換プ
ロセッサに関し, プログラム開発が容易なマクロ命令を使用しつつ,基
本演算回路を稼動率100%で動作させることを目的と
し, 所与の解析解をCORDIC算法により演算する演算回路
と,演算回路の動作制御をマクロ命令を用いて行う制御
回路とを具備し,制御回路はアップダウン可能なプログ
ラムカウンタを含み,プログラムカウンタによって現マ
クロ命令によるCORDIC演算実行中にその前後のマクロ命
令の読出しを行ってデータのRAM入出力処理を並行して
行うように構成される。
DETAILED DESCRIPTION OF THE INVENTION [Summary] For example, a coordinate inversion processor used to inversely convert the position and orientation of a hand of a robot manipulator into displacement of each joint, using a macro instruction which is easy to develop a program, A control circuit that operates a given analytical solution using the CORDIC algorithm, and a control circuit that controls the operation of the circuit using macro instructions, with the objective of operating the circuit at an operating rate of 100%. The circuit includes a program counter that can be up / down. During execution of CORDIC operation by the current macro instruction, the program counter reads the previous and subsequent macro instructions and performs data RAM input / output processing in parallel.

〔産業上の利用分野〕[Industrial applications]

本発明は例えばロボットマニピュレータの手先の位置
姿勢を各関節の変位に逆変換することに用いられる座標
逆変換プロセッサに関する。
The present invention relates to a coordinate inverse transformation processor used for, for example, inversely transforming the position and orientation of a hand of a robot manipulator into displacement of each joint.

〔従来の技術〕 従来,ロボットマニピュレータの手先の位置姿勢を各
関節の変位に高速に逆変換する座標逆変換プロセッサと
して,例えば亀山,江上,樋口により提案されたロボッ
ト制御用超高速座標逆変換プロセッサ(日本ロボット学
会誌,1988年2月号,P3〜P13に掲載)がある。
[Prior Art] Conventionally, an ultra-high-speed coordinate inversion processor for robot control proposed by Kameyama, Egami, and Higuchi as a coordinate inversion processor for inversely converting the position and orientation of a hand of a robot manipulator into displacement of each joint at high speed. (Published in The Journal of the Robotics Society of Japan, February 1988, pages 3-13).

この座標逆変換プロセッサはマニピュレータの手先の
位置姿勢から得られる各関節の変位の解析解を回転移動
と逆正接の組合せに分解し,この解析解の演算をCORDIC
アルゴリズムを用いて座標の回転移動を離散的に繰り返
し行い任意の回転角に収束させることにより高速に行う
ものである。
This coordinate inverse transformation processor breaks down the analytical solution of the displacement of each joint obtained from the position and orientation of the manipulator's hand into a combination of rotational movement and arctangent, and computes the analytical solution using CORDIC.
This is performed at high speed by discretely repeating the coordinate rotational movement using an algorithm and converging to an arbitrary rotation angle.

このCORDICアルゴリズムにおいては,2次元直交座標
(Xi,Yi)の任意の回転角度θに対する回転移動は, tanθi=2-j となるようにθを選び, 次の基本演算式 Xi+1=Xi−δiYi・2-j Yi+1=Yi−δiXi・2-j Zi+1=Zi−δθ を、θの累積値が任意の回転角度θに収束するように
繰り返し演算する。この演算を行う演算回路は制御回路
によって動作制御されており,制御回路による演算回路
の制御には第9図に一例が示されるようなマイクロプロ
グラム方式が用いられている。
In this CORDIC algorithm, for the rotational movement of the two-dimensional rectangular coordinates (X i , Y i ) for an arbitrary rotational angle θ, θ j is selected so that tan θ i = 2 −j, and the following basic operation expression X i + 1 = X i −δ i Y i · 2 -j Y i + 1 = Y i −δ i X i · 2 -j Z i + 1 = Z i −δ i θ j and the cumulative value of θ j is arbitrary Is repeatedly calculated so as to converge to the rotation angle θ of The operation of the arithmetic circuit that performs this operation is controlled by a control circuit, and the control circuit controls the arithmetic circuit using a microprogram method as shown in FIG. 9 by way of example.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

上述の従来形の座標逆変換プロセッサでは,一つのCO
RDIC演算を実行するために,基本演算のための14ビッ
ト,メモリへの転送のための14ビット計28ビット幅のマ
イクロプログラムを32ワード(i=1〜31までの繰返
し)書かねばならず,プログラム作成量が多いためプロ
グラム開発が容易ではなく,これらのプログラムを格納
するためのプログラムメモリの容量も著しく増大する。
また演算回路のハードウェア構成あるいは動作タイミン
グなどの知識がないとプログラム開発が困難である。
In the conventional coordinate inverse transformation processor described above, one CO
In order to execute the RDIC operation, a microprogram having a total of 28 bits in width, i.e., 14 bits for the basic operation and 14 bits for transfer to the memory, must be written in 32 words (i = 1 to 31 repetition). Because of the large amount of program creation, program development is not easy, and the capacity of a program memory for storing these programs is significantly increased.
Also, program development is difficult without knowledge of the hardware configuration or operation timing of the arithmetic circuit.

この問題を解決するために,マクロ命令を用いて制御
回路を作動させることが提案されるが,この場合,CORDI
C演算とその演算のために必要な入出力データのRAMへの
読出し/書込みとが並列的に行えなくなり,基本演算回
路を稼動率100%で動作させることができない。
In order to solve this problem, it is proposed to operate the control circuit using a macro instruction.
The C operation and the read / write of the input / output data necessary for the operation to / from the RAM cannot be performed in parallel, and the basic operation circuit cannot be operated at the operation rate of 100%.

したがって本発明の目的は,プログラム開発が容易な
マクロ命令を使用しつつ,基本演算回路を稼動率100%
で動作させることができる座標逆変換プロセッサを提供
することにある。
Therefore, an object of the present invention is to use a macro instruction which is easy to develop a program and to reduce the basic operation circuit to an operation rate of 100%.
It is an object of the present invention to provide a coordinate inverse transformation processor which can be operated by the above.

〔課題を解決する手段〕[Means to solve the problem]

第1図は本発明に係る原理ブロックである。 FIG. 1 is a principle block according to the present invention.

本発明に係る座標逆変換プロセッサは,所与の解析解
をCORDIC算法により演算する演算回路61と,演算回路61
の動作制御をマクロ命令を用いて行う制御回路62とを具
備し,制御回路62はアップダウン可能なプログラムカウ
ンタ63を含み,プログラムカウンタ63によって現マクロ
命令によるCORDIC演算実行中にその前後のマクロ命令の
読出しを行ってデータのRAM入出力処理を並行して行う
ように構成される。
The coordinate inverse transformation processor according to the present invention comprises: an operation circuit 61 for operating a given analytical solution by CORDIC algorithm;
And a control circuit 62 that controls the operation of the macro instruction using a macro instruction. The control circuit 62 includes a program counter 63 that can be up / down. To perform data RAM input / output processing in parallel.

〔作用〕[Action]

制御回路62はアップダウンカウンタ63をアップダウン
させることによって現実行中のマクロ命令とその前後の
マクロ命令の読出しを並列的に行い,それにより演算回
路61におけるCORDIC基本演算実行中に入出力データ転送
を並列的に行うように制御し、それにより基本演算回路
の稼動率を100%としている。
The control circuit 62 reads the currently executed macroinstruction and the macroinstructions before and after it in parallel by moving the up / down counter 63 up and down, thereby transferring the input / output data during the execution of the CORDIC basic operation in the operation circuit 61. Are performed in parallel, so that the operation rate of the basic arithmetic circuit is set to 100%.

〔実施例〕〔Example〕

以下,図面を参照しつつ本発明にかかる実施例を説明
する。第2図は本発明の一実施例としての座標逆変換プ
ロセッサの全体構成を示すブロック図である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 2 is a block diagram showing the overall configuration of a coordinate inverse transformation processor as one embodiment of the present invention.

第2図において,1はCORDIC演算を行う演算部,2は演算
部1の動作制御をマクロ命令を用いて行う制御部,3は演
算部1での演算に必要な数値データを格納する32ビット
×64ワードのデータRAM,4は演算部1での演算に必要な
各定数を格納する(32+5)ビット×32ワードの定数RO
M,5は制御部2を作動させるマクロ命令からなるユーザ
プログラムを格納する6ビット×1kワードのプログラム
ROMである。
In FIG. 2, 1 is an operation unit for performing a CORDIC operation, 2 is a control unit for controlling the operation of the operation unit 1 using a macro instruction, and 3 is a 32-bit memory for storing numerical data required for the operation in the operation unit 1 The data RAM of 4 × 64 words stores constants required for the operation in the operation unit 1 (32 + 5) bits × 32 words of constant RO
M, 5 is a 6-bit × 1k word program that stores a user program consisting of macro instructions for operating the control unit 2.
ROM.

演算部1におけるCORDIC演算は,次のような3つの漸
化式(基本式)を繰り返し演算することによって,第3
図に示されるような回転移動,ベクトル,乗算,除算,
ハイパボリック回転移動,ハイパボリックベクトルの6
種類の演算を実行するものである。
The CORDIC operation in the operation unit 1 is performed by repeating the following three recurrence formulas (basic expressions), thereby obtaining the third
Rotational movement, vector, multiplication, division,
Hyperbolic rotational movement, hyperbolic vector 6
It performs various types of calculations.

Xi+1=QXi+Si・Yi・2-j ……(1) Yi+1=QYi+Ti・Xi・2-j ……(2) Zi+1=Zi+Ui・Cj ……(3) ただし,Cjは,回転/ベクトル演算モードの時, Cj=θ=tan-1 2-j 乗算/除算モードの時, Cj=α=2-j ハイパボリック回転/ハイパボリックベクトル演算モ
ードの時, Cj=γ=tanh-1 2-j でありQ,Sj,Ti,Uiは演算の種類とYi,Ziの符号ビットか
ら生成され,第4図に示されるテーブルに基づき1(加
算)または−1(減算)の値をとる。すなわち第4図は
CORDIC演算部1の加減算器への信号線のデコーダに関す
るテーブルであり,演算モードとYiおよびZiレジスタの
MSB(最上位ビット)符号とを入力として加減算器が加
算モードをとるか減算モードをとるかを決定する。
X i + 1 = QX i + S i · Y i · 2 -j (1) Y i + 1 = QY i + T i · X i · 2 -j (2) Z i + 1 = Z i + U i · C j ...... (3), however, C j is the rotation / h of vector operation mode, when the C j = θ j = tan -1 2 -j multiply / divide mode, C j = α j = 2 - when j hyperbolic rotation / hyperbolic vector operation mode, generates a C j = a γ j = tanh -1 2 -j Q , S j, T i, U i is the arithmetic type and Y i, the sign bit of the Z i Then, a value of 1 (addition) or -1 (subtraction) is taken based on the table shown in FIG. That is, FIG.
9 is a table relating to a decoder for a signal line to an adder / subtractor of the CORDIC operation unit 1. The operation mode and the Y i and Z i registers
The MSB (most significant bit) code is input to determine whether the adder / subtractor takes the addition mode or the subtraction mode.

この第4図のテーブルに従って基本式(1)〜(3)
におけるSi,Ti,Uiを決定すると, X=0のとき,Si=1 X=1のとき,Si=−1 Y=0のとき,Ti=1 Y=1のとき,Ti=−1 Z=0のとき,Ui=1 Z=1のとき,Ui=−1 となる。
According to the table of FIG. 4, the basic expressions (1) to (3)
When S i , T i , and U i are determined, when X = 0, S i = 1 when X = 1, S i = −1 when Y = 0, T i = 1 when Y = 1, T i = −1 When Z = 0, U i = 1 When Z = 1, U i = −1.

これら3つの基本式を並列的に処理するための演算部
1の詳細な構成が第5図に示される。この演算部1は大
略的には基本演算部と入出力レジストとによって構成さ
れており,基本演算部はマルチプレクサ101,106,108,レ
ジスタ102,105,107,シフタ103,104,アンドゲート109,11
0,加減算器111,112,113,パイプラインレジスタ114等を
含み構成される。
FIG. 5 shows a detailed configuration of the arithmetic unit 1 for processing these three basic expressions in parallel. The operation unit 1 is generally constituted by a basic operation unit and an input / output register, and the basic operation unit includes multiplexers 101, 106, 108, registers 102, 105, 107, shifters 103, 104, and gates 109, 11
0, adder / subtracters 111, 112, 113, pipeline register 114 and the like.

Xoレジスタ116,Yoレジスタ117,およびZoレジスタ118
は,基本演算部により基本式(1)〜(3)の演算を行
うために,初期値Xo,Yo,ZoをRAM3からそれぞれ読み出し
て基本演算部に設定するための入力レジスタである。
Xo register 116, Yo register 117, and Zo register 118
In order to perform the calculation of the basic type by the basic operation unit (1) to (3), is the input register for setting the basic operation unit initial value X o, Y o, the Z o is read from each of RAM3 .

Xnレジスタ119,Ynレジスタ120,およびZnレジスタ121
は基本演算部での基本式(1)〜(3)の演算結果
Xi+1,Yi+1,Zi+1をマルチプレクサ122を介してRAM3に格
納するための出力レジスタである。
X n register 119, Y n registers 120 and Z n register 121,
Is the operation result of basic expressions (1) to (3) in the basic operation unit
This is an output register for storing X i + 1 , Y i + 1 , and Z i + 1 in the RAM 3 via the multiplexer 122.

この演算部1での演算動作について以下に説明する。
基本式(1)は,Xレジスタ102から出力されるXiと,Yレ
ジスタ105から出力されるYiをシフタ104(シフト量j
(i))ビット)を通して得られるYi・2-jとを加減算
器111で加減算することによって実現される。加減算器1
11はSi=1で加算,Si=−1で減算となる。この演算結
果として加減算器111から出力されるXi+1はマルチプレ
クサ101の入力aを通して元のXレジスタ102に次のクロ
ックCLKの立上りで取り込まれ,次の演算に用いられ
る。ここで基本式(1)中のQは演算の種類に応じて0
または1となる数であり,AND回路109,110で実現される
ものであり,例えば回転移動モードではQ=1である。
The operation of the arithmetic unit 1 will be described below.
Basic formula (1) is provided with X i output from the X register 102, the Y i shifter 104 output from the Y register 105 (shift amount j
(I)) Addition and subtraction by the adder / subtractor 111 with Y i · 2 −j obtained through bit) is realized. Adder / subtractor 1
11 added with S i = 1, the subtraction S i = -1. X i + 1 output from the adder / subtractor 111 as the operation result is taken into the original X register 102 through the input a of the multiplexer 101 at the rising edge of the next clock CLK and used for the next operation. Here, Q in the basic expression (1) is 0 according to the type of operation.
Alternatively, the number is 1 and is realized by the AND circuits 109 and 110. For example, in the rotational movement mode, Q = 1.

基本式(2)についても同様にして演算され,Xレジス
タ102のXiをシフタ103でシフトして得たX・2-jとYレ
ジスタ105からのYiとを加減算器112で加減算してYi+1
生成する。
Is calculated in the same manner for the basic formula (2), by adding or subtracting the X i of the X register 102 and Y i from X · 2 -j and Y register 105 obtained by shifting by the shifter 103 in adder 112 Generate Y i + 1 .

基本式(3)については,Zレジスタ107から出力され
るZiと定数ROM4から出力される定数とを加減算器113で
加減算することにより得られ,その演算結果Zi+1は次の
演算のためにマルチプレクサ108の入力aを通してZレ
ジスタ107に再び戻される。
The basic formula (3), obtained by adding or subtracting a constant output from Z i and a constant ROM4 outputted from the Z register 107 in subtractor 113, the operation result Z i + 1 is the next operation To the Z register 107 again through the input a of the multiplexer 108.

以上の漸化式(1)〜(3)の演算はi=0〜31まで
繰り返して実行され,この間,マルチプレクサ101,106,
108は常に入力a側が選ばれるように制御される。この
繰返し演算の初期値Xo,Yo,ZoはそれぞれRAM3から読み出
されてレジスタ116,117,118に保持されており,繰返し
演算の初めにマルチプレクサ101,106,108の入力cを通
してレジスタ102,105,107にそれぞれロードされる。
The operations of the above recurrence formulas (1) to (3) are repeatedly executed from i = 0 to 31, while the multiplexers 101, 106,
108 is controlled so that the input a side is always selected. The initial value X o of this repeated computation, Y o, Z o are held respectively read out from RAM3 to the register 116, 117, 118 are respectively loaded into registers 102,105,107 through the input c of the multiplexer 101,106,108 at the beginning of the repeated calculation.

Xレジスタ102はマルチプレクサ101が入力aを選択す
れば一つ前の演算結果Xnが入力され、入力bならば一つ
前の演算結果Ynが,入力CならばXoレジスタ116から初
期値Xoが入力される。またYレジスタ105はマルチプレ
クサ106が入力aを選択すれば一つ前の演算結果Ynが入
力され、入力bならば一つ前の演算結果Xnが,入力cな
らばYoレジスタ117から初期値Yoが入力される。同様に,
Zレジスタ107はマルチプレクサ108が入力aを選択すれ
ば一つ前の演算結果Znが,入力cならばZoレジスタ118
から初期値Zoが入力される。
X register 102 is the previous operation result X n is inputted by selecting the input a multiplexer 101, an input b if the previous calculation result Y n is the initial value from the input C if X o register 116 Xo is entered. Initial addition Y register 105 is the previous calculation result Y n are input by selecting the multiplexer 106 is input a, the operation result X n of the input b if the previous is the input c if Y o register 117 The value Yo is entered. Similarly,
Z register 107 the operation result Z n of the previous one by selecting the multiplexer 108 is input a is input c if Z o register 118
, An initial value Zo is input.

加減算器111〜113による演算結果Xn,Yn,Znは次の演算
のために用いられる他,外部のデータRAM3に記憶させる
ために一時的にレジスタ119〜121に蓄えられる。これは
同時に出力される演算結果Xn,Yn,Znを一度にデータRAM3
に書き込めないためである。同様に,RAM3から一度に初
期値Xo,Yo,Zoを読み出せないため3つの入力レジスタ11
6〜118が用意されている。
The operation results X n , Y n , and Z n by the adders / subtractors 111 to 113 are used for the next operation and are temporarily stored in the registers 119 to 121 for storage in the external data RAM 3. This means that the operation results X n , Y n , and Z n output at the same time can be
Because it cannot be written to. Similarly, since the initial values X o , Y o , and Z o cannot be read from the RAM 3 at one time, three input registers 11
6 to 118 are prepared.

第3図の6種類の演算を実行するためには演算部1に
ついて次のような各種の制御が必要となる。
In order to execute the six types of calculations shown in FIG. 3, the following various controls of the calculation unit 1 are required.

マルチプレクサ101,106,108については,初期値Xo,
Yo,Zoとしてどの値を用いるかを制御する。i=0〜31
における繰返し演算中は基本式(1)〜(3)を実現す
るために入力a側が選択されるように制御される。
For the multiplexers 101, 106, 108, the initial values X o ,
Control which values are used as Y o and Z o . i = 0 to 31
Is controlled so that the input a side is selected in order to realize the basic expressions (1) to (3).

Xレジスタについては,乗算モードおよび除算モー
ドでは基本式(1)においてSi=0,Q=1として, Xi+1=Xi ……(4) にしなけれはならない。これはXレジスタ102に入力さ
れるクロックCLKを強制的に止めることにより実現で
き,よってこのモードではXレジスタ102のクロックCLK
の停止制御が必要となる。その他の演算モードではYレ
ジスタ105,Zレジスタ107と同様に常時,クロックCLKを
入力させておく。
Regarding the X register, in the multiplication mode and the division mode, in the basic expression (1), S i = 0 and Q = 1, and X i + 1 = X i ... (4). This can be realized by forcibly stopping the clock CLK input to the X register 102. Therefore, in this mode, the clock CLK of the X register 102 is
Stop control is required. In other operation modes, the clock CLK is always input as in the case of the Y register 105 and the Z register 107.

シフタ103,104については,右シフトのシフト量j
を制御することが必要である。
For shifters 103 and 104, shift amount j of right shift
It is necessary to control

加減算器111,112,113については,基本式(1)〜
(3)の繰返し演算において,第4図のテーブルに従い
加算あるいは減算のモード選択の制御が必要となる。こ
れは演算モードの種類とYレジスタ105,Zレジスタ107の
符号ビット(最上位ビットMSB)とに基づき決定され,
繰返し演算の一回毎に変化する。
Regarding the adders / subtractors 111, 112, 113, the basic equations (1) to
In the repetitive operation of (3), it is necessary to control addition or subtraction mode selection according to the table shown in FIG. This is determined based on the type of operation mode and the sign bit (most significant bit MSB) of Y register 105 and Z register 107.
It changes every time the repetition operation is performed.

AND回路109,110については,回転移動モードおよび
ベクトルモードにおける±90゜の回転変換が,基本式
(1),(2)においてj=0,Q=0とした。
Regarding the AND circuits 109 and 110, the rotation conversion of ± 90 ° in the rotational movement mode and the vector mode is set to j = 0 and Q = 0 in the basic expressions (1) and (2).

Xi+1=Si・Yi ……(5) Yi+1=Ti・XI ……(6) で表されるため,これらのモードで式(5),(6)を
実現するようにAND回路109,110を閉じて基本式(1),
(2)の第1項目を0とする制御が必要となる。
X i + 1 = S i · Y i (5) Since Y i + 1 = T i · X I (6), equations (5) and (6) are realized in these modes. To close the AND circuits 109 and 110,
It is necessary to control the first item in (2) to be 0.

定数ROM4については,演算モードの種類に応じて基
本式(3)の3種類の定数θjjを選択して読み
出すように制御することが必要となる。
It is necessary to control the constant ROM 4 so as to select and read out three types of constants θ j , α j , and γ j of the basic formula (3) according to the type of operation mode.

その他,入力データXo,Yo,Zoと出力データXn,Yn,Zn
をレジスタ−RAM間で転送するために,データRAM3のア
ドレス指定・読出し/書込み信号と入力レジスタ116〜1
18へのクロック供給,マルチプレクサ122での出力デー
タの選択などの制御が必要となる。
In addition, input data X o , Y o , Z o and output data X n , Y n , Z n
In order to transfer data between the register and the RAM, the addressing / read / write signal of the data RAM 3 and the input registers 116 to 1
It is necessary to control the clock supply to 18, the selection of output data by the multiplexer 122, and the like.

これらの演算部1の制御はプロセッサ制御部2によっ
て機械語レベルのユーザプログラムに基づいて実行され
る。このユーザプログラムにおけるマクロ命令からなる
演算命令セットは第3図の各演算モードに対応するよう
に定義されており,演算モードの指定,入力データセレ
クタの指定,および6つの入出力データのメモリ番地指
定によって構成される。この演算命令フォーマットの一
例が第7図に示される。
The control of the arithmetic unit 1 is executed by the processor control unit 2 based on a user program at a machine language level. An operation instruction set consisting of macro instructions in this user program is defined so as to correspond to each operation mode shown in FIG. 3, and specifies an operation mode, an input data selector, and a memory address of six input / output data. Composed of An example of this operation instruction format is shown in FIG.

この演算命令フォーマットは8つのワードW0〜W7から
なり,ワードW0,W1における各命令の意味は以下の通り
である。
This operation instruction format includes eight words W0 to W7, and the meaning of each instruction in words W0 and W1 is as follows.

演算モード…6種類の演算を指定 000 回転移動モード 001 ベクトルモード 010 乗算モード 011 除算モード 100 ハイパボリック回転モード 101 ハイパボリックベクトルモード ルート処理 0 通常のハイバポリックベクトルモード 1 Xo,Yoの場合(tanh-1は正しくない) スタート/エンド 命令が最初のステップの場合,スタートが1,最後の場
合,エンドが1,その他は両ビットとも0 Xセレクタ(マルチプレクサ101の入力選択) 00 内部Xレジスタ(出力Xn)を選択 01 内部Yレジスタ(出力Yn)を選択 10 RAMデータ(アドレス2)を選択 Yセレクタ(マルチプレクサ106の入力選択) 00 内部Yレジスタ(出力Yn)を選択 01 内部Xレジスタ(出力Xn)を選択 10 RAMデータ(アドレス3)を選択 Zセレクタ(マルチプレクサ108の入力選択) 0 内部Zレジスタ(出力Zn)を選択 1 RAMデータ(アドレス4)を選択 ワードW2〜W4は,入力データXo,Yo,ZoのRAM3からの読
出しアドレスであり,ワードW5〜W7は出力データXn,Yn,
ZnのRAM3への書込みアドレスである。
Calculation mode ... six specify an operation 000 the rotation movement mode 001 vector mode 010 multiply mode 011 divide mode 100 hyperbolic rotation mode 101 hyperbolic vector mode route processing 0 normal high Bapo Rick vector mode 1 X o, the case of Y o (tanh -1 incorrect) when the start / end instruction is the first step, start 1, the last case, the end is 1, the other input selection of both bit 0 X selector (multiplexer 101) 00 internal X register (output X n ) 01 Internal Y register (output Y n ) selected 10 RAM data (address 2) selected Y selector (input selection of multiplexer 106) 00 Internal Y register (output Y n ) selected 01 Internal X register (output Y n ) input selection) 0 internal Z Regis selects the output X n) selective 10 RAM data (address 3) Z selector (multiplexer 108 Select (output Z n) the Selection 1 RAM data (address 4) words W2~W4 the input data X o, Y o, a read address from RAM3 of Z o, word W5~W7 output data X n , Y n ,
A write address to the RAM3 of Z n.

プロセッサ制御部2の詳細な構成が第6図に示され
る。第6図において,固定シーケンサ205は固定シーケ
ンスプログラムカウンタ201,固定シーケンスデコーダ20
2,パイプラインレジスタ203によって構成される。209は
スタートフラグレジスタ,210はスタートアドレスレジス
タ,211はオーバフロー状態フラグレジスタである。
The detailed configuration of the processor control unit 2 is shown in FIG. 6, a fixed sequencer 205 includes a fixed sequence program counter 201 and a fixed sequence decoder 20.
2. It is composed of a pipeline register 203. 209 is a start flag register, 210 is a start address register, and 211 is an overflow state flag register.

ユーザプログラムカウンタ204は繰り返し行う演算i
=0〜31のうちの何ステップ目かを指定する信号が9−
3を出力するカウンタであり,固定シーケンサ205から
の制御信号UP/DWNによってカウント値のアップ/ダウン
が可能に構成されている。ユーザプログラムカウンタ20
4の出力信号PGA9−3はユーザプログラムメモリ5にア
ドレス入力されている。ユーザプログラムメモリ5には
また固定シーケンサ205から出力信号PGA2−0がアドレ
ス入力されている。この出力信号PGA2−0は第7図図示
の演算命令の何ワード目かを指定するアドレス信号であ
る。
The user program counter 204 performs a repetitive operation i
= 9-
This counter outputs 3 and is configured so that the count value can be increased / decreased by a control signal UP / DWN from the fixed sequencer 205. User program counter 20
The output signal PGA9-3 of 4 is input to the user program memory 5 as an address. An output signal PGA2-0 is input to the user program memory 5 from the fixed sequencer 205. This output signal PGA2-0 is an address signal for designating the word of the operation instruction shown in FIG.

ユーザプログラムメモリ5には第7図の演算命令が格
納されており、ユーザプログラムメモリ5からの出力信
号PGA9−3および固定シーケンサ205からの出力信号PGA
2−0をアドレスとして命令が読み出される。すなわち
何ステップ目の演算命令の何ワード目かが指定されてそ
の命令が読み出される。読み出された命令はオペレーシ
ョンレジスタ206,セレクタレジスタ207に送られるとと
もに,データRAM3にアドレス入力される。
7 are stored in the user program memory 5, and the output signal PGA9-3 from the user program memory 5 and the output signal PGA from the fixed sequencer 205 are stored.
The instruction is read with 2-0 as an address. That is, the word of the operation instruction of what step is designated and the instruction is read. The read instruction is sent to the operation register 206 and the selector register 207, and the address is input to the data RAM3.

オペレーションレジスタ206は固定シーケンサ205らの
信号PGD5−0に応じて演算命令セットの第1ワード目W0
を保持するレジスタであり,またセレクタレジスタ207
は演算命令セットの第2ワード目W1を保持するレジスタ
である。
The operation register 206 stores the first word W0 of the operation instruction set in accordance with the signals PGD5-0 from the fixed sequencer 205 and the like.
And the selector register 207
Is a register for holding the second word W1 of the operation instruction set.

この制御部2ではユーザプログラムメモリ5へのアド
レス指定を行って演算命令を読み出し,それにしたがっ
て演算モードのフェッチ,入力データXo,Yo,Xoのレジス
タ116〜118への書込み,あるいは出力データXn,Yn,Zn
データRAM3への転送等を固定シーケンサ205によって実
行するものであり,その詳細な動作が以下に説明され
る。
Read the operation instruction control unit 2, performs the addressing to the user program memory 5, accordingly fetching operation mode, the input data X o, Y o, write to register 116 to 118 of the X o or output data, The transfer of X n , Y n , and Z n to the data RAM 3 and the like are performed by the fixed sequencer 205, and the detailed operation will be described below.

すなわち,この制御部2が行う制御は大きく分けて
(i)入力データXo,Yo,ZoのデータRAM3から入力レジス
タ116〜118への転送,(ii)基本式(1)〜(3)の繰
返し演算,(iii)出力データXn,Yn,Znの出力レジスタ1
19〜121からデータRAM3への転送の3つであり,以下こ
の順に説明する。
That is, the control of the control unit 2 performs the roughly (i) the input data X o, Y o, the transfer from the data RAM3 of Z o to the input register 116-118, (ii) basic equation (1) to (3 repeated operation), (iii) output data X n, Y n, the output register 1 Z n
There are three types of transfer from the data 19 to 121 to the data RAM 3, which will be described in this order.

(i)入力データのメモリから入力レジスタへの転送 データRAM3から入力レジスタ116〜118への入力データ
Xo,Yo,Zoの転送は,第7図の演算命令のワードW2〜W4が
固定シーケンサ205からの出力信号PGA2−0に応じてユ
ーザプログラムメモリ5から読み出され,このワードW2
〜W4のアドレス指定に従ってデータRAM3からデータが読
み出されて入力レジスタ116〜118に転送されることによ
り行われる。
(I) Transfer of input data from memory to input register Input data from data RAM3 to input registers 116 to 118
X o, Y o, the transfer of Z o, the word W2~W4 operation instruction of Figure 7 is read from the user program memory 5 in response to the output signal PGA2-0 from fixed sequencer 205, the word W2
This is performed by reading data from the data RAM 3 in accordance with the address designation of .about.W4 and transferring the data to the input registers 116 to 118.

ここでは繰返し演算のうちのNステップ目の演算命令
の実行を考えることとし,ユーザプログラムカウンタ20
4の内容がNであるとする。一方,固定シーケンサ205か
らは演算命令のワードを表す出力信号PGA2−0が出力さ
れており,これら二つの信号によるアドレス指定によっ
てユーザプログラムメモリ5がアクセスされる。
Here, it is assumed that the execution instruction of the Nth step of the repetition operation is executed, and the user program counter 20 is executed.
It is assumed that the content of 4 is N. On the other hand, the fixed sequencer 205 outputs an output signal PGA2-0 representing the word of the operation instruction, and the user program memory 5 is accessed by addressing with these two signals.

まず出力信号PGA2−0が「2」となり,それによりユ
ーザプログラムのNステップ目のXo入力のRAMアドレス
指定データが読み出される。このアドレス指定データは
直接にデータRAM3のアドレス線に入力されており,した
がってこのアドレス指定によりデータRAM3から読み出さ
れたXo入力値が演算部1のデータバスに載せられる。次
に固定シーケンサ205からXo入力レジスタ116に書込み信
号が送られ,それによりXo入力値はXo入力レジスタ116
に書き込まれる。
First output signal PGA2-0 is "2", thereby RAM addressing data X o input of N-th step of the user program is read out. The addressing data is directly input to the address line of data RAM3, therefore X o input values read from the data RAM3 This addressing is placed on the data bus of the arithmetic unit 1. Next, a write signal is sent from the fixed sequencer 205 to the Xo input register 116, whereby the Xo input value is changed to the Xo input register 116.
Is written to.

以上と全く同様にして固定シーケンサ205の出力信号P
GA2−0を「3」,「4」とすることによりデータRAM3
中のYo入力値,Zo入力値をそれぞれYo入力レジスタ117,Z
o入力レジスタ118に書き込むことができる。
The output signal P of the fixed sequencer 205
By setting GA2-0 to "3" and "4", the data RAM3
Y o input value in, Z o input value each Y o input register 117, Z
o The input register 118 can be written.

(ii)基本演算式(1)〜(3)の繰返し演算 繰返し演算操作では,演算命令中の演算モードおよび
入力データセレクタ部分(ワードW0,W1)に従って制御
が行われる。
(Ii) Iterative operation of basic arithmetic expressions (1) to (3) In the iterative operation, control is performed according to the operation mode and the input data selector portion (word W0, W1) in the operation instruction.

まず固定シーケンサ205の出力信号PGA2−0が「0」
となり,ユーザプログラム中のNステップ目の演算命令
のワードW0の演算モードがユーザプログラムメモリ5か
ら出力される。このワードW0の演算モードは固定シーケ
ンサ205からの書込み信号に応じてオペレーションレジ
スタ206によって取り込まれる。
First, the output signal PGA2-0 of the fixed sequencer 205 is "0".
The operation mode of the word W0 of the operation instruction at the Nth step in the user program is output from the user program memory 5. The operation mode of the word W0 is fetched by the operation register 206 in response to a write signal from the fixed sequencer 205.

このオペレーションレジスタ206から出力される演算
モード信号は定数ROM4およびデコーダ213に入力され,
デコーダ213では演算モードの解読が行われ,それによ
り演算部1において,前述のXレジスタ102の入力クロ
ックの停止,シフタ103,104のシフト量jの指定,加減
算器111〜113の加減算の制御,AND回路109,110のON/OFF
制御,定数ROM4からの読出し定数の選択などの制御が行
われる。
The operation mode signal output from the operation register 206 is input to the constant ROM 4 and the decoder 213,
In the decoder 213, the operation mode is decoded, whereby the operation unit 1 stops the input clock of the X register 102, specifies the shift amount j of the shifters 103 and 104, controls the addition / subtraction of the adders / subtractors 111 to 113, and the AND circuit. 109,110 ON / OFF
Control, such as selection of a constant read out from the constant ROM 4, is performed.

入力データセレクタの指定は,固定シーケンサ出力信
号PGA2−0が「1」となることで,ユーザプログラムの
Nステップ目のワードW1がユーザプログラムメモリ5か
ら読み出され,それが固定シーケンサ205からの書込み
信号によってセレクタレジスタ207に取り込まれること
により行われる。このセレクタレジスタ207から出力さ
れるセレクタ指定信号によって演算部1のマルチプレク
サ101,106,108の入力選択制御が行われる。
The input data selector is specified by setting the fixed sequencer output signal PGA2-0 to "1" so that the word W1 at the Nth step of the user program is read from the user program memory 5 and is written from the fixed sequencer 205. This is performed by being taken into the selector register 207 by a signal. Input selection control of the multiplexers 101, 106, and 108 of the arithmetic unit 1 is performed by the selector designation signal output from the selector register 207.

以上のような制御が演算部1で行われることによって
基本式(1)〜(3)が計算され,ユーザプログラムカ
ウンタ204を順次にカウントアップすることによって繰
返し演算がi=0〜31まで実行される。繰返し演算の最
終ステップでは,最終値Xn,Yn,Znが各加減算器111〜113
から出力されて出力レジスタ119〜121に同時に取り込ま
れる。
The above control is performed by the arithmetic unit 1 to calculate the basic expressions (1) to (3), and the user program counter 204 is sequentially counted up to execute the repetitive operation from i = 0 to 31. You. In the final step of the repeated operation, the final value X n, Y n, Z n are each subtracter 111 to 113
And are taken into the output registers 119 to 121 at the same time.

(iii)出力データXn,Yn,Znの出力レジスタからデータR
AMへの転送 この転送は演算命令中のワードW5〜W7のアドレス指定
に従って行われる。まず固定シーケンサ出力信号PGA2−
0が「5」となり,ユーザプログラムのNステップ目の
ワードW5のXn出力のデータメモリアドレス指定データが
ユーザプログラムメモリ5から読み出され,これがデー
タRAM3の書込みアドレスとして直接使用される。一方,
演算部1のマルチプレクサ122は出力レジスタ119を選択
するように固定シーケンサ出力信号によって制御されて
おり,よってXn出力値がデータRAM3へのデータバスに載
せられる。
(Iii) Data R from the output register of output data X n , Y n , Z n
Transfer to AM This transfer is performed according to the address designation of words W5 to W7 in the operation instruction. First, the fixed sequencer output signal PGA2−
0 becomes "5", and the data memory addressing data of the Xn output of the word W5 at the Nth step of the user program is read from the user program memory 5, and this is directly used as the write address of the data RAM3. on the other hand,
The multiplexer 122 of the operation unit 1 is controlled by the fixed sequencer output signal so as to select the output register 119, and therefore the Xn output value is loaded on the data bus to the data RAM3.

次に固定シーケンサ205からデータRAM3に書込み信号
が出力され,それらによりデータバス上のXn出力値はデ
ータRAM3に書き込まれる。
Next, a write signal is output from the fixed sequencer 205 to the data RAM 3, whereby the Xn output value on the data bus is written to the data RAM 3.

Yn,Zn出力値についても全く同様であり,出力信号PGA
2−0をそれぞれ「6」,「7」とすることによりYn
力レジスタ120,Zn出力レジスタ121からデータRAM3への
転送を行うことができる。
Y n, is exactly same for Z n output values, the output signal PGA
2-0 respectively "6", can be transferred to the data RAM3 from Y n output register 120, Z n output register 121 by "7".

以上の制御部2における制御操作は基本演算制御(i
i)と入出力データの転送制御(i),(iii)とが並列
して実行されるようになっており,それにより基本演算
操作が連続して稼動率100%で行われるようになってい
る。
The control operation in the control unit 2 is performed by the basic arithmetic control (i
i) and the input / output data transfer control (i) and (iii) are executed in parallel, so that the basic arithmetic operation is performed continuously at an operation rate of 100%. I have.

すなわち,第8図に示されるように,基本演算部分を
常時稼動させるために,N番目の演算命令の演算モードの
フェッチや入力データXo,Yo,Zoの入力レジスタ116〜118
へのロードは(N−1)番目の演算命令実行中に行い,
出力データXn,Yn,ZnのデータRAM3への格納は(N+1)
番目の演算命令実行中に行う。
That is, as shown in FIG. 8, in order to operate the basic operation component constantly, N-th operation mode of the operation instruction fetch and input data X o, Y o, the Z o input registers 116-118
Is loaded during execution of the (N-1) th operation instruction.
The output data X n , Y n , and Z n are stored in the data RAM 3 at (N + 1).
Performed during execution of the th operation instruction.

すなわち制御の手順としては,N番目の入力データ転送
→N番目の基本演算→(N−1)番目の出力データ転送
→(N+1)番目の入力データ転送→(N+1)番目の
基本演算→N番目の出力データ転送…となり,ユーザプ
ログラムカウンタ204の値は基本演算から出力データ転
送への移行時において+2,出力データ転送から入力デー
タ転送への移行時において−1とされ,これは固定シー
ケンサ205の制御信号UP/DWNによりユーザプログラムカ
ウンタ204をアップダウンさせることにより実現され
る。
That is, the control procedure is as follows: Nth input data transfer → Nth basic operation → (N−1) th output data transfer → (N + 1) th input data transfer → (N + 1) th basic operation → Nth basic operation , And the value of the user program counter 204 is set to +2 at the transition from the basic operation to the output data transfer, and to -1 at the transition from the output data transfer to the input data transfer. This is realized by raising and lowering the user program counter 204 by the control signal UP / DWN.

〔発明の効果〕〔The invention's effect〕

本発明によれば,座標逆変換プロセッサにおいて,プ
ログラム開発が容易なマクロ命令を使用しつつ,基本演
算回路を稼動率100%で動作させることができる。
According to the present invention, in the coordinate inverse transformation processor, the basic arithmetic circuit can be operated at an operation rate of 100% while using macro instructions for which program development is easy.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明にかかる原理ブロック図, 第2図は本発明の一実施例としての座標逆変換プロセッ
サの全体構成図, 第3図は6種類のCORDIC演算モードを説明するための
図, 第4図は演算部の加減算器における加減算モードを決定
するためのテーブル, 第5図は第2図の実施例装置における演算部の詳細な構
成を示すブロック図, 第6図は第2図の実施例装置における制御部の詳細な構
成を示すブロック図, 第7図は演算命令のフォーマットを示す図, 第8図は制御部における基本演算と入出力データ転送の
並列処理を説明するタイムチャート, 第9図は従来のマイクロプログラム方式によるプログラ
ムの一例を示す図である。 図において, 1……演算部、2……制御部 3……データRAM、4……定数ROM 5……ユーザプログラムメモリ 101,106,108,122……マルチプレクサ 102,105,107……データレジスタ 103,104……シフタ 111,112,113……加減算器 116,117,118……入力レジスタ 119,120,121……出力レジスタ 109,110……AND回路 204……ユーザプログラムカウンタ 205……固定シーケンサ 206……オペレーションレジスタ 207……セレクタレジスタ 213……デコーダ
FIG. 1 is a block diagram of the principle of the present invention, FIG. 2 is an overall configuration diagram of a coordinate inverse transformation processor as one embodiment of the present invention, FIG. 3 is a diagram for explaining six kinds of CORDIC operation modes, FIG. 4 is a table for determining the addition / subtraction mode in the adder / subtractor of the operation unit, FIG. 5 is a block diagram showing a detailed configuration of the operation unit in the embodiment apparatus of FIG. 2, and FIG. FIG. 7 is a block diagram showing a detailed configuration of a control unit in the apparatus according to the embodiment, FIG. 7 is a diagram showing a format of an operation instruction, FIG. 8 is a time chart explaining parallel processing of basic operation and input / output data transfer in the control unit; FIG. 9 is a diagram showing an example of a program according to a conventional microprogram method. In the figure, 1... Arithmetic unit, 2... Control unit 3... Data RAM 4,... Constant ROM 5,... ... Input registers 119,120,121 ... Output registers 109,110 ... AND circuit 204 ... User program counter 205 ... Fixed sequencer 206 ... Operation register 207 ... Selector register 213 ... Decoder

───────────────────────────────────────────────────── フロントページの続き (72)発明者 斎藤 安弘 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭63−178324(JP,A) 特開 昭62−139043(JP,A) ──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Yasuhiro Saito 1015 Uedanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture Inside Fujitsu Limited (56) References JP-A-63-178324 (JP, A) JP-A-62-139043 (JP, A)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】所与の解析解をCORDIC算法により演算する
演算回路(61)と, 該演算回路(61)の動作制御をマクロ命令を用いて行う
制御回路(62)とを具備し, 該制御回路(62)はアップダウン可能なプログラムカウ
ンタ(63)を含み,該プログラムカウンタ(63)によっ
て現マクロ命令によるCORDIC演算実行中にその前後のマ
クロ命令の読出しを行ってデータのメモリ入出力処理を
並行して行うように構成された座標逆変換プロセッサ。
An arithmetic circuit (61) for calculating a given analytical solution by a CORDIC algorithm, and a control circuit (62) for controlling the operation of the arithmetic circuit (61) by using a macro instruction. The control circuit (62) includes a program counter (63) that can be up / down, and during the execution of the CORDIC operation by the current macro instruction, the macro counter reads the preceding and following macro instructions and executes the memory input / output processing of the data. Inverse coordinate transformation processor configured to perform in parallel.
JP15657488A 1988-06-24 1988-06-24 Inverse coordinate transformation processor Expired - Fee Related JP2741869B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15657488A JP2741869B2 (en) 1988-06-24 1988-06-24 Inverse coordinate transformation processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15657488A JP2741869B2 (en) 1988-06-24 1988-06-24 Inverse coordinate transformation processor

Publications (2)

Publication Number Publication Date
JPH025129A JPH025129A (en) 1990-01-10
JP2741869B2 true JP2741869B2 (en) 1998-04-22

Family

ID=15630741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15657488A Expired - Fee Related JP2741869B2 (en) 1988-06-24 1988-06-24 Inverse coordinate transformation processor

Country Status (1)

Country Link
JP (1) JP2741869B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6606265B1 (en) 2018-12-25 2019-11-13 株式会社メルカリ SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM

Also Published As

Publication number Publication date
JPH025129A (en) 1990-01-10

Similar Documents

Publication Publication Date Title
US4862407A (en) Digital signal processing apparatus
US4916606A (en) Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions
JPS6313215B2 (en)
US4628436A (en) Digital controller
KR880011681A (en) Memory-Connected Wavefront Array Processors
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6351287B2 (en)
EP0530372A1 (en) Numerical expression converter and vector processor using the same
US6505288B1 (en) Matrix operation apparatus and digital signal processor capable of performing matrix operations
EP0201833B1 (en) Instruction processor
JPH0412503B2 (en)
JPH0444970B2 (en)
US5860152A (en) Method and apparatus for rapid computation of target addresses for relative control transfer instructions
US5390306A (en) Pipeline processing system and microprocessor using the system
JP2741869B2 (en) Inverse coordinate transformation processor
JP2617733B2 (en) Elementary function arithmetic unit
US4812970A (en) Microprogram control system
JP2697619B2 (en) N-point FFT dedicated processor
JP2654451B2 (en) Data output method
JP3180447B2 (en) Digital signal processor
JPH0445860B2 (en)
JP2708013B2 (en) Memory control circuit for N-point FFT processor
JP3088956B2 (en) Arithmetic unit
JPH01266668A (en) Information processor
JPH0414173A (en) Fixed point product sum computing element

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees