JPH0459652B2 - - Google Patents
Info
- Publication number
- JPH0459652B2 JPH0459652B2 JP9851882A JP9851882A JPH0459652B2 JP H0459652 B2 JPH0459652 B2 JP H0459652B2 JP 9851882 A JP9851882 A JP 9851882A JP 9851882 A JP9851882 A JP 9851882A JP H0459652 B2 JPH0459652 B2 JP H0459652B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- storage device
- register
- arithmetic processing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
(1) 発明の技術分野
本発明はデータの演算処理部が演算を行うと
き、処理ステツプ数を少なくすることによりデー
タ処理の簡略化・高速化を意図したデータ処理装
置に関する。[Detailed Description of the Invention] (1) Technical Field of the Invention The present invention provides a data processing device intended to simplify and speed up data processing by reducing the number of processing steps when a data processing unit performs calculations. Regarding.
(2) 従来技術と問題点
データ処理装置、特に畳込み演算を行うデータ
処理装置の従来の例を第1図により説明する。第
1図において、ADRはアドレスレジスタ、シー
ケンスROMはデータ処理の手順をマイクロプロ
グラムの形式で格納しているROM、IGMは命令
発生用記憶装置、DECはデコーダ、IDRはイン
デツクスレジスタ、データROMは演算処理用デ
ータ、例えば離散フーリエ変換(DFT)の処理
における係数データ、DFTの次数、データRAM
に対する格納アドレスのような固定データが格納
されているもの、データRAMは演算用データ
(変数)が格納されているもの、APRは演算処理
部でこの場合フリツプフロツプなどで形成したフ
ラグレジスタFR,アキユムレータACCなどを具
備している。SELは条件分岐情報選択器を示し、
演算処理部APRにおけるフラグレジスタFRなど
の出力は選択器SELに印加されて、アドレスレジ
スタADRの値を選択し、分岐動作を行う。(2) Prior Art and Problems A conventional example of a data processing device, particularly a data processing device that performs a convolution operation, will be explained with reference to FIG. In Figure 1, ADR is an address register, sequence ROM is a ROM that stores data processing procedures in the form of a microprogram, IGM is a memory device for generating instructions, DEC is a decoder, IDR is an index register, and data ROM is a ROM that stores data processing procedures in the form of a microprogram. Data for arithmetic processing, such as coefficient data in discrete Fourier transform (DFT) processing, DFT order, data RAM
The data RAM stores fixed data such as storage addresses, the data RAM stores calculation data (variables), the APR is the calculation processing unit, and in this case, the flag register FR, which is formed by flip-flops, and the accumulator ACC. Equipped with etc. SEL indicates conditional branch information selector,
The outputs of the flag register FR and the like in the arithmetic processing unit APR are applied to the selector SEL, which selects the value of the address register ADR and performs a branch operation.
インデツクスレジスタIDRは処理の最初におい
て、当初に読出すべきデータが格納されているデ
ータRAMのアドレスを指すべくデータROMを
読出すためのアドレス初期値を得るように命令発
生用記憶装置IGMから指定される。 At the beginning of processing, the index register IDR is specified by the instruction generation memory device IGM to obtain the initial address value for reading the data ROM, pointing to the address of the data RAM where the data to be read is initially stored. be done.
次にインデツクスレジスタIDRのアドレス指定
によりデータROMのアドレスを介してデータ
RAMから具体的なデータを読出し、演算処理部
APRに印加する。なお、インデツクスレジスタ
IDRはそのアドレス値によりデータROM・RAM
を各々個別にアクセスすることも可能である。 Next, the data is transferred via the address of the data ROM by addressing the index register IDR.
Reads specific data from RAM and performs arithmetic processing
Apply to APR. In addition, the index register
IDR is set to data ROM/RAM depending on its address value.
It is also possible to access each individually.
演算処理部APRにおいては、命令発生用記憶
装置IGMから読出され、デコーダDECにおいて
デコードされた命令データに基づき、データ
RAMから読出されたデータについて演算処理を
行う。演算処理として高速フーリエ変換
(FET)、離散フーリエ変換(DFT)、相関計算な
どを行うと、データROMにおける或る範囲内の
アドレス、即ち或る範囲内のデータを巡回使用す
ることがある。離散フーリエ変換(DFT)の場
合であると、一般式は
FK=N-1
〓n=0
foWnk
で与えられ、ここでFkは出力系列、foは入力系
列、Wnkはひねり係数を示す。ここで、
W=e-j(2〓/N)
n,k=0〜(N−1)
であるから、Wnkはnk=N毎に巡回している。即
ちeにべき乗した数値が0から2πまで、次に再
び0から2πまでを繰り返すことである。 The arithmetic processing unit APR generates data based on the instruction data read from the instruction generation memory device IGM and decoded by the decoder DEC.
Performs arithmetic processing on data read from RAM. When fast Fourier transform (FET), discrete Fourier transform (DFT), correlation calculation, etc. are performed as arithmetic processing, addresses within a certain range in the data ROM, that is, data within a certain range may be used cyclically. In the case of discrete Fourier transform (DFT), the general formula is given by F K = N-1 〓 n=0 f o W nk , where F k is the output sequence, f o is the input sequence, and W nk is Indicates twist factor. Here, since W=e -j(2 〓 /N) n, k=0 to (N-1), W nk cycles every nk=N. That is, the value raised to the power of e goes from 0 to 2π, and then repeats from 0 to 2π again.
データROMの領域Mには前記離散フーリエ変
換の式におけるWnkの値のうちW0〜WN-1を、ア
ドレス1〜N(N<M)に格納しておく。そして
n,kの値を0から(N−1)まで順次増加させ
てアドレスを得ながら、そのアドレスにおけるデ
ータROMを読出し、演算処理部APRに印加す
る。データROMに格納されたデータは一連とな
つているから、ROMにおけるアドレスは
n=1ならばROMアドレスは単純に1ずつ増
加するが、
n=2となるROMアドレスは飛び飛びにな
る。nが更に大きくなるとROMアドレスは膨大
なアドレスの方々が指示されてくる。実際は
ROMの容量が有限のため、或る範囲内で巡回さ
せることが必要となる。例えばn=5,k=5の
ようにn,kの値を与えたとき、設定アドレスが
ROMのアドレスの限界値を越えているかどうか
の判断を行うことは、演算処理部APRの処理と
して実行する。例えば演算処理部APRにはレジ
スタが幾つか設けられ、nとkの値を二つのレジ
スタR1,R2に、フーリエ級数の次数を他のレジ
スタR3に、nとkの値についての演算結果を更
に他のレジスタR4に入れるとき、他のレジスタ
R4の値(n×k)からレジスタR3の値を引い
て負となれば良いが、(演算結果のROMアドレ
スが通常使用領域内にあるから問題がない)しか
しその引算値が負とは限らず正となることがあ
る。その場合はROM領域を越えてしまうから、
演算処理部APRにおいてモジユロ演算のような
別の演算を行つて新しいアドレスを求める必要が
ある。このように
○データを持つてくる
○演算する
○正負の判定をする
○新アドレスの適正な設定
というROMアドレスに対しての余分な処理が必
要であつた。新アドレスを得るための演算処理が
必要となつたとき、演算処理部APRはフラグレ
ジスタFRを例えば“1”として、選択器SELに
対し条件分岐することの指示を与える。このとき
の演算処理部APの処理は本来のデータ処理とは
別の動作であり、動作についてステツプ数が多量
となつて、制御が複雑となり、遅延を生じ易かつ
た。 In area M of the data ROM, W 0 to W N-1 of the values of W nk in the above-mentioned discrete Fourier transform equation are stored at addresses 1 to N (N<M). Then, while obtaining an address by sequentially increasing the values of n and k from 0 to (N-1), the data ROM at that address is read out and applied to the arithmetic processing unit APR. Since the data stored in the data ROM is a series, if the address in the ROM is n=1, the ROM address will simply increase by 1, but if n=2, the ROM address will be intermittently. If n becomes even larger, a huge number of ROM addresses will be specified. Actually
Since the capacity of ROM is limited, it is necessary to circulate within a certain range. For example, when giving the values of n and k such as n=5, k=5, the setting address is
Determining whether or not the ROM address limit value is exceeded is performed as a process by the arithmetic processing unit APR. For example, the arithmetic processing unit APR is provided with several registers, the values of n and k are stored in two registers R1 and R2, the order of the Fourier series is stored in another register R3, and the calculation results for the values of n and k are stored in two registers R1 and R2. When inputting data into another register R4, it would be fine to subtract the value of register R3 from the value (n x k) of other register R4 and get a negative value, but (because the ROM address of the operation result is within the normally used area, there is a problem) However, the subtracted value is not necessarily negative and may be positive. In that case, it will exceed the ROM area, so
It is necessary to perform another operation such as a modulo operation in the arithmetic processing unit APR to obtain a new address. In this way, extra processing was required for the ROM address, including ○ data, ○ calculation, ○ positive/negative determination, and ○ appropriate setting of the new address. When arithmetic processing is required to obtain a new address, the arithmetic processing unit APR sets the flag register FR to, for example, "1" and instructs the selector SEL to perform a conditional branch. The processing of the arithmetic processing unit AP at this time is an operation different from the original data processing, and the operation involves a large number of steps, making control complicated and easily causing delays.
(3) 発明の目的
本発明の目的は前述の欠点を改善し、データ記
憶装置に与えるアドレスについて処理するインデ
ツクスレジスタの所定のビツトの状態が、当初状
態から見て反転したことにより分岐条件を得て、
演算処理部における処理を軽減化して、制御ステ
ツプ数を減少させ、データ処理を高速化すること
の可能なデータ処理装置を提供することにある。(3) Purpose of the Invention The purpose of the present invention is to improve the above-mentioned drawbacks, and to solve the problem of a branch condition when the state of a predetermined bit of an index register that processes an address given to a data storage device is reversed from the initial state. Get,
It is an object of the present invention to provide a data processing device capable of reducing processing in an arithmetic processing unit, reducing the number of control steps, and speeding up data processing.
(4) 発明の構成
本発明は前記目的を達成するため、下記の構成
とする。即ち、
演算処理部に供給するマイクロ命令とインデツ
クスレジスタに供給するデータ記憶装置読出しア
ドレスを生成するためのデータとを記憶している
命令発生用記憶装置と、該命令発生用記憶装置か
ら供給される初期値と更新量に基づき、初期値に
更新量を加算して新たなアドレスを得るように演
算する演算装置と、データ記憶装置にアドレスと
して供給する該演算結果を格納するレジスタとを
有するインデツクスレジスタと、演算処理に用い
られるデータをその所定の領域に記憶しているデ
ータ記憶装置と、該データ記憶装置から読出され
たデータを用い、前記命令発生用記憶装置から読
出された命令データにより演算処理を行う演算処
理部と、該演算処理部の処理結果に基づく分岐条
件の与えられる選択器と、該選択器出力によりそ
の内容が制御される、前記命令発生用記憶装置に
アドレスを供給するアドレスレジスタとで構成さ
れるデータ処理装置において、前記データ記憶装
置における前記所定の領域をその最上位アドレス
が2n−1(nは整数)となるように設定し、前記
インデツクスレジスタにおける演算結果を格納す
るレジスタの第nビツトを、前記演算処理部の処
理結果に基づく分岐条件の与えられる選択器の分
岐条件入力に直接接続する接続線を設けたことで
構成する。(4) Structure of the invention In order to achieve the above object, the present invention has the following structure. That is, an instruction generation memory device that stores microinstructions to be supplied to the arithmetic processing unit and data for generating a data storage device read address to be supplied to the index register; An index having an arithmetic unit that performs an operation to obtain a new address by adding an update amount to the initial value based on an initial value and an update amount, and a register that stores the result of the operation and supplies it as an address to a data storage device. A data storage device that stores data used for arithmetic processing in a predetermined area thereof, and data read from the data storage device, and by instruction data read from the instruction generation storage device. An arithmetic processing unit that performs arithmetic processing, a selector to which a branch condition is given based on the processing result of the arithmetic processing unit, and an address is supplied to the instruction generation storage device whose contents are controlled by the output of the selector. In a data processing device configured with an address register, the predetermined area in the data storage device is set so that its highest address is 2 n −1 (n is an integer), and the calculation result in the index register is A connecting line is provided to directly connect the n-th bit of the register storing the processing result to the branch condition input of the selector to which the branch condition based on the processing result of the arithmetic processing section is given.
(5) 発明の実施例
第2図は本発明の一実施例を示す構成図であつ
て、第1図と同一符号は同様のものを示してい
る。第2図において、CLは接続線を示し、イン
デツクスレジスタIDRにおける演算結果を格納す
るレジスタの、データROMに印加されるアドレ
スのビツト数より1ビツト上位のビツトより導出
して選択器SELと接続している。(5) Embodiment of the Invention FIG. 2 is a block diagram showing an embodiment of the present invention, and the same reference numerals as in FIG. 1 indicate the same parts. In Figure 2, CL indicates a connection line, which is derived from the bit one bit higher than the number of bits of the address applied to the data ROM of the register that stores the operation result in the index register IDR, and is connected to the selector SEL. are doing.
以下離散フーリエ変数の演算を行うことを例
に、第2図の動作を説明する。データROMの領
域Mには前記離散フーリエ変換の式におけるWnk
の値のうちW0〜WN-1をアドレス0〜(N−1)
(N<M)に格納しておく。そして、n,kの各
値を0から(N−1)まで順次増加させてアドレ
スを得ながら、そのアドレスにおけるROMを読
出し、演算処理部APRに印加する。 The operation shown in FIG. 2 will be explained below, taking as an example the calculation of discrete Fourier variables. In the area M of the data ROM, W nk in the above-mentioned discrete Fourier transform equation is
Of the values, W 0 to W N-1 are assigned to addresses 0 to (N-1)
(N<M). Then, while obtaining an address by sequentially increasing each value of n and k from 0 to (N-1), the ROM at that address is read out and applied to the arithmetic processing unit APR.
演算処理はWnk=Wiとおけば
i=(n・k)modNと書くことが出来るので、
k=0〜3,n=0〜3とすれば、
n=0 W0,W0,W0,W0
n=1 W0,W1,W2,W3
n=2 W0,W2,W0,W2
(これはW0,W2,W4,W6となる筈の
所、(n.k)modNにより演算するから、上
記のように巡回している)
n=3 W0,W3,W2,W1
(これもW0,W3,W6,W9を演算して求めてい
る)
例えばデータROMの容量とアドレスから判断
しインデツクスレジスタを3ビツト構成のものと
する。ROMはアドレス0から前述の式における
n・k=N−1までについてデータを格納する。
n・k=0〜3として前述の演算を行うとき、初
期値と加算値との値により、演算結果がアドレス
上限値を超えることがある。そのとき超えるか否
かの判定として、前記インデツクスレジスタの最
上位ビツト(即ちこの場合3ビツト目)を見てい
ると、当初の状態は“0”であつて、演算途中も
“0”のときはROM領域を逸脱してないと判断
できる。若し、演算結果について前記最上位ビツ
トが“0”→“1”と変化したときは、そのとき
にROM領域を逸脱したアドレス指定となること
であるから、3ビツトレジスタにおけるその反転
データを選択器SELへ伝送すれば、状態変化の起
こつたことと判断できる。そのためインデツクス
レジスタIDRにおいてモジユロ演算を行つて、
ROM領域内のアドレスを指定するように、選択
器SELにより分岐動作を行う。 Arithmetic processing can be written as i=(n・k)modN by setting W nk = W i , so if k=0 to 3, n=0 to 3, n=0 W 0 , W 0 , W 0 , W 0 n=1 W 0 , W 1 , W 2 , W 3 n=2 W 0 , W 2 , W 0 , W 2 (This should be W 0 , W 2 , W 4 , W 6 (nk) is calculated using modN, so it cycles as above) n = 3 W 0 , W 3 , W 2 , W 1 (also W 0 , W 3 , W 6 , W 9 For example, the index register is determined to have a 3-bit configuration based on the capacity and address of the data ROM. The ROM stores data from address 0 to n·k=N-1 in the above equation.
When performing the above calculation with n·k=0 to 3, the calculation result may exceed the address upper limit value depending on the initial value and the added value. To determine whether or not the value is exceeded, we look at the most significant bit of the index register (i.e., the 3rd bit in this case), and find that the initial state is "0" and that it remains "0" during the operation. At this time, it can be determined that the ROM area has not been exceeded. If the most significant bit of the operation result changes from "0" to "1", then the address specification is outside the ROM area, so select the inverted data in the 3-bit register. If the signal is transmitted to the device SEL, it can be determined that a state change has occurred. Therefore, by performing a modulo operation on the index register IDR,
A branch operation is performed by the selector SEL so as to specify an address within the ROM area.
選択器SELはこのビツト反転情報によりアドレ
スレジスタADRの例えば使用ページを変えるな
どの手段により、新たなアドレスをシーケンス
ROMに与えることができる。 The selector SEL uses this bit inversion information to sequence a new address by, for example, changing the page to be used in the address register ADR.
Can be given to ROM.
(6) 発明の効果
このようにして本発明によると、演算処理部に
おいて、データ記憶装置に対するアドレス処理の
ための演算を行うことがなくなるから、データ処
理のために動作ステツプを使うことで良い。即
ち、データ処理のための本来の動作を行うから、
演算処理部の動作プログラムが簡略化され、且つ
データ処理の動作が高速化されるので、有効であ
る。(6) Effects of the Invention As described above, according to the present invention, the arithmetic processing section does not need to perform arithmetic operations for address processing for the data storage device, so it is sufficient to use operation steps for data processing. In other words, since it performs the original operation for data processing,
This is effective because the operation program of the arithmetic processing section is simplified and the data processing operation is sped up.
第1図は従来のデータ処理装置の構成を示す
図、第2図は本発明の一実施例の構成を示す図で
ある。
ADR……アドレスレジスタ、SEL……条件分
岐情報選択器、APR……演算処理部、IDR……
インデツクスレジスタ、CL……接続線、IGM…
…命令発生用記憶装置。
FIG. 1 is a diagram showing the configuration of a conventional data processing device, and FIG. 2 is a diagram showing the configuration of an embodiment of the present invention. ADR...address register, SEL...conditional branch information selector, APR...arithmetic processing unit, IDR...
Index register, CL...connection line, IGM...
...Storage device for command generation.
Claims (1)
ツクスレジスタに供給するデータ記憶装置読出し
アドレスを生成するためのデータとを記憶してい
る命令発生用記憶装置と、 該命令発生用記憶装置から供給される初期値と
更新量に基づき、初期値に更新量を加算して新た
なアドレスを得るように演算する演算装置と、デ
ータ記憶装置にアドレスとして供給する該演算結
果を格納するレジスタとを有するインデツクスレ
ジスタと、 演算処理に用いられるデータをその所定の領域
に記憶しているデータ記憶装置と、 該データ記憶装置から読出されたデータを用
い、前記命令発生用記憶装置から読出された命令
データにより演算処理を行う演算処理部と、 該演算処理部の処理結果に基づく分岐条件の与
えられる選択器と、 該選択器出力によりその内容が制御され、前記
命令発生用記憶装置にアドレスを供給するアドレ
スレジスタと、 で構成されるデータ処理装置において、 前記データ記憶装置における前記所定の領域を
その最上位アドレスが2n−1(nは整数)となる
ように設定し、 前記インデツクスレジスタにおける演算結果を
格納するレジスタの第nビツトを、前記演算処理
部の処理結果に基づく分岐条件の与えられる選択
器の分岐条件入力に直接接続する接続線を設けた
こと を特徴とするデータ処理装置。[Scope of Claims] 1. A memory device for generating instructions that stores microinstructions to be supplied to an arithmetic processing unit and data for generating a data storage device read address to be supplied to an index register; an arithmetic unit that performs an operation to obtain a new address by adding the update amount to the initial value based on the initial value and update amount supplied from the storage device, and stores the operation result that is supplied as an address to the data storage device an index register having a register; a data storage device that stores data used in arithmetic processing in a predetermined area; and a data storage device that uses the data read from the data storage device to read from the instruction generation storage device. an arithmetic processing section that performs arithmetic processing based on the instruction data that has been issued; a selector that is given a branch condition based on the processing result of the arithmetic processing section; an address register for supplying an address; and a data processing device, wherein the predetermined area in the data storage device is set so that its highest address is 2 n −1 (n is an integer), and the index Data characterized in that a connection line is provided that directly connects the n-th bit of the register that stores the operation result in the operation processing section to the branch condition input of the selector that is given the branch condition based on the processing result of the operation processing section. Processing equipment.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9851882A JPS58217050A (en) | 1982-06-10 | 1982-06-10 | Data processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9851882A JPS58217050A (en) | 1982-06-10 | 1982-06-10 | Data processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58217050A JPS58217050A (en) | 1983-12-16 |
| JPH0459652B2 true JPH0459652B2 (en) | 1992-09-22 |
Family
ID=14221866
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9851882A Granted JPS58217050A (en) | 1982-06-10 | 1982-06-10 | Data processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58217050A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2675010B2 (en) * | 1986-08-29 | 1997-11-12 | 株式会社日立製作所 | Information processing device |
-
1982
- 1982-06-10 JP JP9851882A patent/JPS58217050A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58217050A (en) | 1983-12-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07168753A (en) | Modulo adder circuit and operating method thereof | |
| JPH0459652B2 (en) | ||
| US5708842A (en) | Apparatus for changing coefficients utilized to perform a convolution operation having address generator which uses initial count number and up/down count inputs received from external | |
| JPS6148174B2 (en) | ||
| JP3531208B2 (en) | Digital signal processor | |
| JP3135252B2 (en) | Addressing device | |
| JP3030962B2 (en) | Micro program controller | |
| JPH02190968A (en) | Vector processor | |
| JPS586232B2 (en) | memory device | |
| JPS6031646A (en) | Data processor | |
| JPH08272606A (en) | Ladder instruction processor | |
| JPH05324315A (en) | Program controller | |
| JPH07244608A (en) | Address arithmetic unit | |
| JPS6030977B2 (en) | pattern generator | |
| JPH02204828A (en) | Arithmetic processing unit | |
| JPS62259145A (en) | Generating device for algorithmic pattern | |
| JPS6310254A (en) | Information processor | |
| JPS5998254A (en) | Address circuit | |
| JPS6333175B2 (en) | ||
| JPS6133228B2 (en) | ||
| JPH0319570B2 (en) | ||
| JPH0216665A (en) | Data transfer equipment | |
| JPS58129570A (en) | Pattern generating device | |
| JPS6133229B2 (en) | ||
| JPH03269626A (en) | Microprocessor |