JPH0748201B2 - Digital signal processing system - Google Patents

Digital signal processing system

Info

Publication number
JPH0748201B2
JPH0748201B2 JP2217341A JP21734190A JPH0748201B2 JP H0748201 B2 JPH0748201 B2 JP H0748201B2 JP 2217341 A JP2217341 A JP 2217341A JP 21734190 A JP21734190 A JP 21734190A JP H0748201 B2 JPH0748201 B2 JP H0748201B2
Authority
JP
Japan
Prior art keywords
data
output
input
register
digital signal
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
JP2217341A
Other languages
Japanese (ja)
Other versions
JPH0498572A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2217341A priority Critical patent/JPH0748201B2/en
Publication of JPH0498572A publication Critical patent/JPH0498572A/en
Publication of JPH0748201B2 publication Critical patent/JPH0748201B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ディジタル信号系列を対象に演算処理を行
なうディジタル信号処理方式に関するものである。
TECHNICAL FIELD The present invention relates to a digital signal processing system for performing arithmetic processing on a digital signal sequence.

〔従来の技術〕 第5図は例えば昭和61年度通信学会通信部門全国大会シ
ンポジウム予稿(No.S10-1)に示された従来のディジタ
ル信号処理プロセッサであるDSSP1(Digital Speech Si
gnal Processor 1)の演算部の構成を示すブロック図で
あり、第5図において、1は同時に2つのデータの読み
出し,書き込みが可能なデュアルポート内部データメモ
リ、2は読出し,または書き込みデータのアドレスを算
出するデータアドレス生成部、3は演算に伴うデータの
内部転送に用いられるデータバス、4および5はセレク
タ、6は被演算データを保持するレジスタ、7は演算デ
ータを保持するレジスタ、8は乗算器、9は乗算器8の
出力を保持するレジスタ、10および11はセレクタ、12は
算術論理演算器、13はセレクタ、14は演算器12の出力を
保持し累算等に使用するアキュムレータ、15は外部用ア
ドレスレジスタ、16は外部用データレジスタ、17は外部
メモリである。
[Prior Art] FIG. 5 shows, for example, the conventional digital signal processor DSSP1 (Digital Speech Si
FIG. 6 is a block diagram showing a configuration of an arithmetic unit of the gnal Processor 1). In FIG. 5, 1 is a dual port internal data memory capable of reading and writing two data at the same time, and 2 is an address of read or write data. A data address generator for calculation, 3 is a data bus used for internal transfer of data associated with operation, 4 and 5 are selectors, 6 is a register for holding data to be operated, 7 is a register for holding operation data, and 8 is multiplication. , 9 is a register for holding the output of the multiplier 8, 10 and 11 are selectors, 12 is an arithmetic and logic operation unit, 13 is a selector, 14 is an accumulator for holding the output of the operation unit 12 and used for accumulation, 15 Is an external address register, 16 is an external data register, and 17 is an external memory.

次に動作について説明する。Next, the operation will be described.

3入力1出力演算を行なう場合の動作を以下に示す。た
だし、演算器12,乗算器8,アドレス生成器2,内部データ
メモリ1,各セレクタ4,5,10,11,13等各部は命令マイクロ
モードに基づいて制御されるものとする。加算,減算,
最大値,最小値等を求める2入力算術演算をまとめて、
aibiと表わし、乗算をai×biと表わすことにする。こ
こで、上記算術演算と乗算を組合せて、3入力1出力の
演算を以下の式で定義する。
The operation when performing 3-input 1-output calculation is shown below. However, each unit such as the arithmetic unit 12, the multiplier 8, the address generator 2, the internal data memory 1, the selectors 4,5, 10, 11, and 13 is controlled on the basis of the instruction micro mode. Addition and subtraction,
Collecting two-input arithmetic operations for finding maximum and minimum values,
Let a i b i and the multiplication be a i × b i . Here, the above-mentioned arithmetic operation and multiplication are combined to define a 3-input 1-output operation by the following equation.

Xi=(aibi)×ci −(1) Yi=(ai×bi)ci −(2) (i=1〜N) ただし、ai,bi,ciはそれぞれ独立のデータ系列とし内部
データメモリ1に記憶されているものとする。例えば、
(1)式の3入力演算をDSSP1で実行する場合の処理フ
ローを第6図に示す。まずカッコ内の演算aibiを2つ
のデータ系列{ai|i=1〜N},{bi|i=1〜N}
に対して行い、(aibi)のデータ系列を外部メモリ17
に一担格納する。次に、データ系列{ci|i=1〜N}
と上記aibiの演算結果のデータ系列とを同時に読み出
し、2番目の演算である乗算を行い(aibi)×ciの出
力データ系列を内部データメモリ1に格納する。実際の
DSSP1では、第7図において、データアドレス生成部2
によりデータ用アドレス値を2つのデータ系列Aおよび
Bのそれぞれの先頭アドレスに設定し単純インクリメン
トのモードにした後、順次2つのデータ系列AおよびB
のデータを2P-RAM1からレジスタ6およびレジスタ7へ
読み出す。セレクタ10および11では、それぞれレジスタ
6およびレジスタ7側を選択し算術論理演算器12にて算
術演算(aibi)を行い、セレクタ13で算術論理演算器
12側を選択し、アキュムレータ14のどれかに一担格納し
た後、データバス3経由で外部メモリ17へ記憶する。こ
の時、外部メモリ用アドレスは上記アドレス生成部2内
で内部データメモリ用アドレスの一つとリンクされてい
るため、単純インクリメントモードとなっている。次に
再びデータアドレス生成部2において、データ用アドレ
ス値をデータ系列および(aibi)のデータ系列の先
頭アドレスとなるように設定し、内部データメモリ1か
らciのデータをレジスタ6へし読出、一方外部メモリ17
から(aibi)のデータをセレクタ5においてデータバ
ス3側を選択することによりレジスタ7へ読み込む。た
だし、データ系列と(aibi)のデータ系列との読み
込みタイミングを一致させるため、予め2命令分だけ外
部メモリ17から空読みする必要がある。この読み出され
た2つのデータは乗算器8で乗算され、その結果がレジ
スタP9に格納され、次のサイクルで算術論理演算器12を
通過し、アキュムレータ14のいづれかに一担格納され、
データバス3を経由して算術論理演算器12へ記憶され
る。
X i = (a i b i ) × c i − (1) Y i = (a i × b i ) c i − (2) (i = 1 to N) where a i , b i , c i are It is assumed that they are stored in the internal data memory 1 as independent data series. For example,
FIG. 6 shows a processing flow when the 3-input operation of the expression (1) is executed by the DSSP1. First, the operation in parentheses, a i b i, is converted into two data series A {a i | i = 1 to N}, B {b i | i = 1 to N}.
And the data sequence of (a i b i ) to the external memory 17
Store a part of it. Next, the data series C {c i | i = 1 to N}
And the data series of the operation result of the above a i b i are read at the same time and the multiplication which is the second operation is performed and the output data series of (a i b i ) × c i is stored in the internal data memory 1. Actual
In the DSSP1, in FIG. 7, the data address generation unit 2
After setting the data address value to the start address of each of the two data series A and B to set the simple increment mode, the two data series A and B are sequentially set.
The data of 2 is read from 2P-RAM1 to register 6 and register 7. In the selectors 10 and 11, the registers 6 and 7 are selected, the arithmetic logic unit 12 performs arithmetic operation (a i b i ), and the selector 13 selects the arithmetic logic unit.
The 12 side is selected and stored in one of the accumulators 14 and then stored in the external memory 17 via the data bus 3. At this time, since the external memory address is linked to one of the internal data memory addresses in the address generator 2, the simple increment mode is set. Next, again in the data address generation unit 2, the data address value is set so as to be the start address of the data series C and the data series of (a i b i ), and the data of the internal data memory 1 to c i is registered in the register 6 Read out, meanwhile, external memory 17
The data from (a i b i ) are read into the register 7 by selecting the data bus 3 side in the selector 5. However, in order to match the read timings of the data series C and the data series of (a i b i ), it is necessary to read two instructions from the external memory 17 in advance. The read two data are multiplied by the multiplier 8, the result is stored in the register P9, passes through the arithmetic and logic unit 12 in the next cycle, and is stored in any one of the accumulators 14,
It is stored in the arithmetic logic unit 12 via the data bus 3.

以上の動作はパイプライン処理により並列動作が行なわ
れるため、N個のデータ系列に対して読出してから処理
結果を外部メモリ17に記憶するまで、算術演算の場合
(N+3)マシンサイクル要する。次に外部メモリ17か
ら空読みを2回(2マシンサイクル)行なった後(タイ
ミング合せ)、N個のデータ系列について乗算を行ない
内部データメモリ1へ格納するのに(N+3)マシンサ
イクル、その他アドレス初期設定に2命令要するため、
合計サイクルは(2N+10)サイクルとなる。(2)式の
演算についても同様に(2N+10)サイクル必要とする。
以上のようにN個のデータ系列に対して3入力1出力演
算をDSSP1のような最大2入力演算しか行なえないプロ
セッサで実行すると、約2Nマシンサイクル(Nが充分大
きい場合)要することがわかる。
Since the above operation is performed in parallel by pipeline processing, it takes (N + 3) machine cycles in the case of arithmetic operation from reading of N data series to storage of the processing result in the external memory 17. Next, after performing an empty read from the external memory 17 twice (2 machine cycles) (timing adjustment), N data sequences are multiplied and stored in the internal data memory 1 (N + 3) machine cycles, other addresses. Since two instructions are required for the initial setting,
The total cycle is (2N + 10) cycles. Similarly, the calculation of equation (2) requires (2N + 10) cycles.
As described above, it can be seen that it takes about 2N machine cycles (when N is sufficiently large) to execute a 3-input 1-output operation on N data series by a processor such as DSSP1 which can perform a maximum 2-input operation.

また、上記3入力1出力演算結果を累算するケースを以
下に説明する。
A case of accumulating the 3-input 1-output calculation result will be described below.

(3)式の場合、(aibi)とciとの乗算結果(レジス
タP9)と、途中までの累算値とを算術論理演算器12の入
力とし、加算結果を再び同一のアキュムレータ14に入力
することで可能であるから、処理サイクル数は(2N+1
0)サイクルと不変である。しかし、(4)式の場合、
一担内部データメモリ1に格納した(ai×bi)ciのデ
ータ系列を再び読出しながら順次算術論理演算器12にて
累算するため、新たにNサイクル必要となり、総サイク
ル数は(3N+10)となる。
In the case of the expression (3), the multiplication result (register P9) of (a i b i ) and c i and the accumulated value up to the middle are used as the input of the arithmetic logic operation unit 12, and the addition result is again the same accumulator. The number of processing cycles is (2N + 1
0) Invariant with cycles. However, in the case of equation (4),
Since the data sequence of (a i × b i ) c i stored in the shared internal data memory 1 is read again and accumulated by the sequential arithmetic logic unit 12, N cycles are newly required, and the total number of cycles is ( 3N + 10).

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

従来のディジタル信号処理方式は以上のように構成され
ているので、3つのそれぞれ独立したデータ系列に対す
る3入力1出力演算を実行する場合、3入力1出力演算
を2段階に分けて、2入力1出力演算を2回行なう以外
に、アドレス制御やメモリへの転送等の処理のため、演
算処理時間が長くなるという問題点があった。
Since the conventional digital signal processing system is configured as described above, when performing a 3-input 1-output calculation for three independent data series, the 3-input 1-output calculation is divided into 2 stages and a 2-input 1-output calculation is performed. In addition to performing the output operation twice, there is a problem that the operation processing time becomes long because of processing such as address control and transfer to the memory.

この発明は上記のような問題点を解消するためになされ
たもので、3入力1出力演算を一度に実行できるととも
に中間結果格納のためのアドレス制御やメモリへの転送
等の処理を省くことで高速に3入力1出力演算を実行で
きるディジタル信号処理方式を得ることを目的とする。
The present invention has been made to solve the above-mentioned problems, and it is possible to perform three-input one-output operation at a time and to omit processing such as address control for storing an intermediate result and transfer to a memory. It is an object of the present invention to obtain a digital signal processing system capable of performing 3-input 1-output calculation at high speed.

〔課題を解決するための手段〕[Means for Solving the Problems]

この発明に係るディジタル信号処理方式は、N個の要素
を持つ3つのデータ系列をそれぞれ1系列ずつ格納する
第1,第2,第3のデータ記憶手段(第1,第2データメモリ
23,24、テンポラリベクトルレジスタ群29)と、演算手
段(演算器36)と、乗算手段(乗算器38)と、上記第3
のデータ記憶手段からの出力データを所定時間遅延させ
て上記演算手段あるいは乗算手段に出力させるための遅
延手段(ラッチ31)とを備えるとともに、内蔵するマイ
クロプログラムには、少なくとも、上記第1〜第3のデ
ータ記憶手段からのデータ読み出し処理、及び、上記演
算手段,乗算手段に対する入力データの選択処理を行う
命令を含ませるものとし、当該マイクロプログラムの命
令により、上記第1,第2,第3のデータ記憶手段からデー
タを同時に読み出して、上記第3のデータ記憶手段から
のデータを上記遅延手段に保持するとともに、上記第1,
第2のデータ記憶手段からの各データを選択して上記演
算手段あるいは乗算手段による第1処理結果を求め、次
に、この第1処理結果と上記遅延手段に保持されている
データとを選択して上記演算手段あるいは乗算手段によ
る第2処理結果を求めることで、3入力1出力演算を行
うようにしたものである。
According to the digital signal processing method of the present invention, the first, second and third data storage means (first and second data memory) each store three data sequences each having N elements.
23, 24, a temporary vector register group 29), a calculation means (calculator 36), a multiplication means (multiplier 38), and the third
And a delay means (latch 31) for delaying the output data from the data storage means for a predetermined time and outputting it to the arithmetic means or the multiplying means. The instruction for performing the data read processing from the data storage means of No. 3 and the selection processing of the input data to the arithmetic means and the multiplication means is included, and the first, second, third The data from the third data storage means at the same time, and the data from the third data storage means is held in the delay means.
Each data from the second data storage means is selected to obtain the first processing result by the arithmetic means or multiplication means, and then the first processing result and the data held in the delay means are selected. The three-input one-output calculation is performed by obtaining the second processing result by the calculation means or the multiplication means.

[作用] マイクロプログラムの1命令により次の処理が行われ
る。
[Operation] The following processing is performed by one instruction of the microprogram.

まず第1〜第3のデータ記憶手段からデータが同時に読
み出される。この時、第3のデータ記憶手段からのデー
タは遅延手段に保持されるとともに、上記第1,第2のデ
ータ記憶手段からの各データを選択して上記演算手段あ
るいは乗算手段に出力し、第1処理結果を求める。次
に、この第1処理結果と遅延手段に保持されていたデー
タとを選択して上記演算手段あるいは乗算手段に出力
し、3入力1出力演算の結果である第2処理結果を求め
る。
First, data is read out simultaneously from the first to third data storage means. At this time, the data from the third data storage means is held in the delay means, and each data from the first and second data storage means is selected and output to the arithmetic means or the multiplication means. 1 Obtain the processing result. Next, the first processing result and the data held in the delay means are selected and output to the arithmetic means or the multiplying means to obtain the second processing result which is the result of the 3-input 1-output operation.

〔発明の実施例〕 以下、この発明の一実施例を図について説明する。第1
図において、20,21はそれぞれ独立に読み出しデータ用
アドレスを生成する第1,第2アドレス生成器、22は書き
込みデータの書き込み先アドレスを生成する第3アドレ
ス生成器、23,24はそれぞれ第1,第2アドレス生成器20,
21にしたがってデータを読み出し、第3アドレス生成器
のアドレス情報にしたがって書き込むデータメモリ、2
5,26は第1,第2データメモリ23,24から読み出しデータ
を転送するそれぞれ独立した第1,第2のデータバス、2
7,28は第1,第2のデータバス25,26から転送されるデー
タを保持するレジスタ、29は読み出し及び書き込み可能
なレジスタを複数個備えたレジスタ群としての、複数の
データを保持可能なテンポラリベクトルレジスタ群、30
はテンポラリベクトルレジスタ群29のアドレスをコント
ロールするアドレスポインタ、31はラッチ、32,33,34,3
5は2つの入力データの内から一つを選択するセレク
タ、36は2つのデータに対して算術論理演算を行う演算
器、37は上記演算器36の出力を保持するレジスタ、38は
2つのデータに対して乗算を行う乗算器、39は上記乗算
器38の出力を保持するレジスタ、40は演算器36の出力と
乗算器38の出力のいずれかを選択して出力する出力セレ
クタ、41は累算用加算器、42は上記加算器41の出力を保
持する複数の累算値保持レジスタとしてのアキュムレー
タ、43は第1,第2データメモリ23,24への書き込みデー
タまたは外部回路との入出力データを転送する第3のデ
ータバス、44は外部回路とのデータ入出力を行う外部イ
ンターフェイス回路、101,111は第3のデータバス25へ
の信号線である。
[Embodiment of the Invention] An embodiment of the present invention will be described below with reference to the drawings. First
In the figure, 20 and 21 are first and second address generators that independently generate read data addresses, 22 is a third address generator that generates write data write destination addresses, and 23 and 24 are first and second address generators, respectively. , The second address generator 20,
A data memory that reads data according to 21 and writes according to the address information of the third address generator, 2
5,26 are independent first and second data buses for transferring read data from the first and second data memories 23 and 24, 2
Reference numeral 7 denotes a register that holds data transferred from the first and second data buses 25 and 26, and 29 that can hold a plurality of data as a register group including a plurality of readable and writable registers. Temporary vector register group, 30
Is an address pointer that controls the address of the temporary vector register group 29, 31 is a latch, 32, 33, 34, 3
5 is a selector that selects one of the two input data, 36 is an arithmetic unit that performs arithmetic logic operation on the two data, 37 is a register that holds the output of the arithmetic unit 36, and 38 is two data Is a register for holding the output of the multiplier 38, 40 is an output selector for selecting and outputting either the output of the arithmetic unit 36 or the output of the multiplier 38, and 41 is an accumulator. An adder for arithmetic operation, 42 is an accumulator as a plurality of accumulated value holding registers for holding the output of the adder 41, and 43 is write data to the first and second data memories 23 and 24 or input / output with external circuits. A third data bus for transferring data, 44 is an external interface circuit for inputting / outputting data to / from an external circuit, and 101 and 111 are signal lines to the third data bus 25.

次に動作について説明する。Next, the operation will be described.

第1図において、N個の要素を持つデータ系列={ai
|i=1〜N},={bi|i=1〜N},={ci|i=1
〜N}がそれぞれ第1〜3のデータとして予めそれぞれ
第1データメモリ23,第2データメモリ24およびテンポ
ラリベクトルレジスタ群29に格納されているものとす
る。上記の条件のもとで、3入力1出力演算を行う場合
の動作を以下に示す。なお、同時に演算処理フローを第
2図にもとづいて説明する。
In FIG. 1, a data series A having N elements A = {a i
| i = 1 to N}, B = {b i | i = 1 to N}, C = {c i | i = 1
˜N} are stored in advance in the first data memory 23, the second data memory 24, and the temporary vector register group 29 as first to third data, respectively. The operation when performing 3-input 1-output calculation under the above conditions is shown below. At the same time, the calculation processing flow will be described with reference to FIG.

まず、第1に第1〜3のデータとしての入力データ3系
列および出力結果格納先の先頭アドレスをそれぞれ第1,
第2アドレス生成器20,21、アドレスポインタ30および
第3アドレス生成器22にて初期設定する。以降各アドレ
ス生成器は単純インクリメント動作を行う。
First, first, the first address of the input data 3 series as the first to third data and the output result storage destination are respectively
Initialization is performed by the second address generators 20, 21, the address pointer 30, and the third address generator 22. After that, each address generator performs a simple increment operation.

第1データメモリ23は、第1アドレス生成器20と第2デ
ータメモリ24は第2アドレス生成器21とそれぞれ対応
し、テンポラリベクトルレジスタ群29についてはアドレ
スポインタ30に対応しており、第1,2データメモリ23,24
及びテンポラリベクトルレジスタ群29はそれぞれ第1,第
2アドレス生成器20,21およびアドレスポインタ30の示
すアドレスに基づいてデータを読み出す。ただし、第1,
第2のデータバス25,26に対し、それぞれ第1,第2デー
タメモリ23,24から入力可能であるため、第1,第2デー
タメモリ23,24からの特定のデータバスに対する出力は
2本中1本のみ有効とし、残り1本はハイインピーダン
ス状態になるよう制御する。例えば、レジスタ27に第1
のデータaiを入力する場合、信号線101に第1のデータa
iを出力し、第2データメモリ24から第1のデータバス2
5への出力の信号線111をハイインピーダンス状態とす
る。第2のデータバス26についても同様である。以上の
ようにしてレジスタ27,28に第1及び第2のデータai
びbiをセットする。
The first data memory 23 corresponds to the first address generator 20, the second data memory 24 corresponds to the second address generator 21, respectively, and the temporary vector register group 29 corresponds to the address pointer 30. 2 Data memory 23, 24
The temporary vector register group 29 reads data based on the addresses indicated by the first and second address generators 20 and 21 and the address pointer 30, respectively. However, the first
Since it is possible to input to the second data buses 25 and 26 from the first and second data memories 23 and 24, respectively, there are two outputs from the first and second data memories 23 and 24 to the specific data bus. Only one of them is valid and the other one is controlled to be in a high impedance state. For example, register 27
When inputting the data a i of
i is output, and the second data memory 24 outputs the first data bus 2
The signal line 111 for output to 5 is set to a high impedance state. The same applies to the second data bus 26. As described above, the first and second data a i and b i are set in the registers 27 and 28.

以下、3入力演算として次の2式を定義し、その処理方
法を示す。
The following two equations are defined as a three-input operation and the processing method thereof will be shown below.

Xi=(aibi)×ci −(1) Yi=(ai×bi)ci −(2) ただし、(aibi)は2入力データai,biに対する加
算,減算,最大値,最小値等を求める算術論理演算を表
わし、(ai×bi)は乗算を表わすものとする。
X i = (a i b i ) × c i − (1) Y i = (a i × b i ) c i − (2) where (a i b i ) is for two input data a i , b i It represents an arithmetic and logical operation for obtaining addition, subtraction, maximum value, minimum value, etc., and (a i × b i ) represents multiplication.

まず、(1)式の処理タイミングの説明図を第3図を用
いて説明する。まず、セレクタ32でレジスタ27側を、セ
レクタ33でレジスタ28側を選択する。その2つの選択さ
れた第1及び第2のデータ(aiおよびbi)を演算器36で
演算(aibi)を行ない、結果をレジスタ37へ格納す
る。一方、テンポラリベクトルレジスタ群の第3のデー
タciはラッチ31により1ステップ遅延させられ、次のス
テップではセレクタ34でレジスタ37側を、セレクタ35で
ラッチ31側をそれぞれ選択し、演算器36の出力データ
(aibi)と第3のデータciを乗算器38により乗算を行
い、乗算結果(aibi)×ciをレジスタ39へ格納する。
この値は次のステップでレジスタ39から出力される。第
5セレクタ40によりレジスタ39側を選択し、出力データ
(aibi)×ciを第3アドレス生成器22の示すアドレス
に基づいて、第3のデータバス43経由により第1,第2デ
ータメモリ23,24へ転送する。尚、アドレス生成器やア
ドレスポインタのアドレスの初期設定によるデータメモ
リ,レジスタ群からのデータ読み出し処理,データバ
ス,各セレクタ,演算器,乗算器,累算用加算器等は、
ディジタル信号処理プロセッサが内蔵するマイクロプロ
グラムの命令によって制御されるものである。
First, an explanatory diagram of the processing timing of the equation (1) will be described with reference to FIG. First, the selector 32 selects the register 27 side and the selector 33 selects the register 28 side. The two selected first and second data is a (a i and b i) performs computed by the computing unit 36 (a i b i), and stores the result to register 37. On the other hand, the third data c i of the temporary vector register group is delayed by one step by the latch 31, and in the next step, the selector 34 selects the register 37 side and the selector 35 selects the latch 31 side. The output data (a i b i ) and the third data c i are multiplied by the multiplier 38, and the multiplication result (a i b i ) × c i is stored in the register 39.
This value is output from register 39 in the next step. The fifth selector 40 selects the register 39 side, and outputs the output data (a i b i ) × c i based on the address indicated by the third address generator 22 via the third data bus 43. Transfer to data memory 23, 24. In addition, the data memory by the initial setting of the address of the address generator and the address pointer, the data read processing from the register group, the data bus, each selector, the arithmetic unit, the multiplier, the adder for accumulation, etc.
It is controlled by the instructions of a microprogram incorporated in the digital signal processor.

ディジタル信号処理プロセッサでは、データ読出し、演
算実行,データ書き込みをパイプライン処理により連続
実行することで、各部の動作制御を並列動作させること
ができる。したがって、上記の3入力1出力演算動作を
N個の要素を持つデータ系列に対して実行した場合、先
頭データを読み出してから最終データ処理結果をメモリ
へ書き込むまで(N+4)サイクル要する。
In the digital signal processor, data read, operation execution, and data write are continuously executed by pipeline processing, so that operation control of each unit can be performed in parallel. Therefore, when the above-described 3-input 1-output arithmetic operation is performed on the data series having N elements, it takes (N + 4) cycles from reading the first data to writing the final data processing result in the memory.

次に(2)式の処理タイミングの説明図を第4図を用い
て説明する。3入力データのデータセットは、上記
(1)式のケースと同様である。(2)式を実行する場
合、セレクタ34でレジスタ27側を、セレクタ35でレジス
タ28を選択し、乗算器38により(ai×bi)を実行し結果
をレジスタ39へセットする。次のステップでセレクタ32
でラッチ31側をセレクタ33でレジスタ39側を選択し、演
算器36により(ai×bi)ciを実行しレジスタ37へセッ
トする。レジスタ37のデータは次のステップにおいて、
セレクタ40でレジスタ37側を選択することにより第1,第
2のデータメモリ23,24へ書き込まれる。
Next, an explanatory diagram of the processing timing of the equation (2) will be described with reference to FIG. The data set of 3 input data is the same as the case of the above formula (1). When executing the equation (2), the selector 34 selects the register 27 side and the selector 35 selects the register 28, the multiplier 38 executes (a i × b i ), and the result is set in the register 39. Selector 32 in next step
The latch 31 side is selected by the selector 33 and the register 39 side is selected by the selector 33. The arithmetic unit 36 executes (a i × b i ) c i and sets it in the register 37. The data in register 37 is
By selecting the register 37 side with the selector 40, the data is written in the first and second data memories 23 and 24.

つまり、2式のケースについても(1)式のケースと同
様、(N+4)サイクル要することになる。
That is, in the case of the formula 2, as in the case of the formula (1), (N + 4) cycles are required.

以上より、従来技術の作用,動作で述べたように同一の
演算処理を実行させた場合、3入力1出力演算処理速度
がDSSP1に比べて、(2N+10)/(N+8)倍、またN
が大きい場合には、約2倍の処理速度となる。
From the above, when the same arithmetic processing is executed as described in the operation and operation of the conventional technique, the three-input one-output arithmetic processing speed is (2N + 10) / (N + 8) times, or N times that of the DSPP1.
Is large, the processing speed is about double.

また、上記3入力1出力演算の累算を求める場合、途中
までの累算結果または初期値を累算値保持レジスタとし
てのアキュムレータ42へ格納し、その累算値と順次3入
力1出力演算結果とを加算器41により加算後再び累算値
保持レジスタとしてのアキュムレータ42へ格納する処理
を繰り返すことにより行なう。したがって累算を行なう
ことによる処理サイクルの増加はない。
In addition, when obtaining the accumulation of the above three-input one-output calculation, the accumulation result or the initial value up to the middle is stored in the accumulator 42 as the accumulated value holding register, and the accumulated value and the three-input one-output calculation result are sequentially stored. Is added by the adder 41 and stored again in the accumulator 42 as a cumulative value holding register. Therefore, there is no increase in the processing cycle due to the accumulation.

なお、第1のデータバス25の第1のデータaiと第2のデ
ータバス26の第2のデータbiとから第1のデータ対が構
成され、テンポラリベクトルレジスタ群29から読み出さ
れた第3のデータciと乗算器38の出力データ(ai×bi
とから第2のデータ対が構成され、第3のデータciと算
術論理演算器36の出力データ(aibi)とから第3のデ
ータ対が構成される。
A first data pair is composed of the first data a i of the first data bus 25 and the second data b i of the second data bus 26, and is read from the temporary vector register group 29. Output data of the third data c i and the multiplier 38 (a i × b i ).
Form the second data pair, and the third data c i and the output data (a i b i ) of the arithmetic logic unit 36 form the third data pair.

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

以上のように、この発明によれば第1〜3のデータに対
して、それぞれ同時に読み出し、プログラムによって算
術論理演算及び乗算を選択的に行うようにしたので、3
入力1出力演算の組合せ順序を可変とし、また高速に3
入力1出力の演算が実行できるという効果がある。
As described above, according to the present invention, the first to third data are simultaneously read out, and the arithmetic logic operation and the multiplication are selectively performed by the program.
The combination order of input 1 output operation is variable, and high speed 3
There is an effect that the operation of one input and one output can be executed.

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

第1図はこの発明の一実施例によるディジタル処理信号
のデータ演算処理部の構成を示すブロック図、第2図は
この発明の一実施例による3入力1出力演算処理のフロ
ーチャートを示す図、第3図,第4図はこの発明の一実
施例による演算処理タイミングの説明図、第5図は従来
のディジタル信号処理プロセッサの1例であるDSSP1の
演算処理部の構成を示す図、第6図はDSSP1における3
入力1出力演算処理フローチャートを示す図、第7図
(a),(b)はDSSP1における3入力1出力演算処理
タイミングの説明図である。 20……第1アドレス生成器、21……第2アドレス生成
器、22……第3アドレス生成器、23,24……第1,第2デ
ータメモリ、25,26……第1,第2のデータバス、27,28…
…レジスタ、29……テンポラリベクトルレジスタ群、30
……アドレスポインタ、31……ラッチ、32,33,34,35,40
……セレクタ、36……演算器、37,39……レジスタ、38
……乗算器、41……加算器、42……アキュムレータ、43
……第3のデータバス、44……外部インターフェイス回
路。 なお、図中、同一符号は同一、又は相当部分を示す。
FIG. 1 is a block diagram showing the configuration of a data processing unit for digitally processed signals according to an embodiment of the present invention, and FIG. 2 is a diagram showing a flow chart of a 3-input 1-output calculation processing according to an embodiment of the present invention. 3 and 4 are explanatory diagrams of arithmetic processing timing according to an embodiment of the present invention, and FIG. 5 is a diagram showing a configuration of an arithmetic processing unit of DSSP1 which is an example of a conventional digital signal processor, and FIG. Is 3 in DSSP1
FIGS. 7 (a) and 7 (b) are views showing a flow chart of the input / output calculation processing, and FIGS. 20 ... First address generator, 21 ... Second address generator, 22 ... Third address generator, 23,24 ... First and second data memory, 25,26 ... First and second Data bus, 27,28 ...
… Registers, 29 …… Temporary vector registers, 30
...... Address pointer, 31 …… Latch, 32,33,34,35,40
...... Selector, 36 …… Calculator, 37,39 …… Register, 38
…… Multiplier, 41 …… Adder, 42 …… Accumulator, 43
...... Third data bus, 44 …… External interface circuit. In the drawings, the same reference numerals indicate the same or corresponding parts.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】内蔵されたマイクロプログラムのフェッ
チ,デコード,データの読み出し,演算および演算結果
書き込みを並列パイプライン処理で実行するディジタル
信号処理プロセッサにおけるディジタル信号処理方式に
おいて、 N個の要素を持つ3つのデータ系列をそれぞれ1系列ず
つ格納する第1,第2,第3のデータ記憶手段と、演算手段
と、乗算手段と、上記第3のデータ記憶手段からの出力
データを所定時間遅延させて上記演算手段あるいは乗算
手段に出力させるための遅延手段とを備えるとともに、 上記内蔵するマイクロプログラムには、少なくとも、上
記第1,第2,第3のデータ記憶手段からのデータ読み出し
処理、及び、上記演算手段,乗算手段に対する入力デー
タの選択処理を行う命令を含ませるものとし、 当該マイクロプログラムの命令により、上記第1,第2,第
3のデータ記憶手段からデータを同時に読み出して、上
記第3のデータ記憶手段からのデータを上記遅延手段に
保持するとともに、上記第1,第2のデータ記憶手段から
の各データを選択して上記演算手段あるいは乗算手段に
よる第1処理結果を求め、次に、この第1処理結果と上
記遅延手段に保持されているデータとを選択して上記演
算手段あるいは乗算手段による第2処理結果を求めるこ
とで、3入力1出力演算を行うようにしたことを特徴と
するディジタル信号処理方式。
1. A digital signal processing method in a digital signal processor for executing fetching, decoding, reading of data, operation and writing of an operation result by a built-in microprogram, in a digital signal processing system having N elements. The output data from the first, second and third data storage means for storing one data series each, one for the second data storage means, the calculation means, the multiplication means, and the third data storage means are delayed for a predetermined time, and The built-in microprogram includes at least data read processing from the first, second, and third data storage means, and a delay means for outputting to the calculation means or the multiplication means. And a command for selecting input data to the multiplying means are included. In accordance with the instruction of the system, the data is read from the first, second and third data storage means at the same time, the data from the third data storage means is held in the delay means, and the first, second and third data storage means are held. Selecting each data from the data storing means to obtain the first processing result by the calculating means or the multiplying means, and then selecting the first processing result and the data held in the delay means to select the above. A digital signal processing system characterized in that a three-input one-output calculation is performed by obtaining a second processing result by the calculation means or the multiplication means.
JP2217341A 1990-08-17 1990-08-17 Digital signal processing system Expired - Fee Related JPH0748201B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2217341A JPH0748201B2 (en) 1990-08-17 1990-08-17 Digital signal processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2217341A JPH0748201B2 (en) 1990-08-17 1990-08-17 Digital signal processing system

Publications (2)

Publication Number Publication Date
JPH0498572A JPH0498572A (en) 1992-03-31
JPH0748201B2 true JPH0748201B2 (en) 1995-05-24

Family

ID=16702660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2217341A Expired - Fee Related JPH0748201B2 (en) 1990-08-17 1990-08-17 Digital signal processing system

Country Status (1)

Country Link
JP (1) JPH0748201B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01116730A (en) * 1987-10-30 1989-05-09 Mitsubishi Electric Corp Digital signal processor
US4916651A (en) * 1988-01-29 1990-04-10 Texas Instruments Incorporated Floating point processor architecture

Also Published As

Publication number Publication date
JPH0498572A (en) 1992-03-31

Similar Documents

Publication Publication Date Title
KR920006283B1 (en) Digital signal processing method
JPS63291134A (en) Logically integrated circuit
JPH10187661A (en) Method for entering scalar value of computer into vector
CN104050148B (en) Fast Fourier Transform (FFT) accelerator
JPH04503720A (en) Flexible control device and method for digital signal processing device
JPH0650512B2 (en) Data processing device
JPH0748201B2 (en) Digital signal processing system
JP3212709B2 (en) Logic simulation device
JPH06309349A (en) Program-controlled processor
JP2885197B2 (en) Arithmetic processing device and arithmetic processing method
JPS58158745A (en) Pipeline control type information processing device
JP2654451B2 (en) Data output method
JPS595941B2 (en) Data array engineering
JP2006293538A (en) Calculation system
JP2778478B2 (en) Correlation processor
JP3693873B2 (en) Mask bit number arithmetic unit, vector processing unit, information processing unit
JP2697619B2 (en) N-point FFT dedicated processor
JP3088956B2 (en) Arithmetic unit
JPH0477349B2 (en)
JPH0721760B2 (en) Digital arithmetic circuit
JP3723311B2 (en) Parallel processor
JP2577452B2 (en) Digital signal processor
JPH01237838A (en) Digital signal processing system
JPS6220590B2 (en)
JPH0260020B2 (en)

Legal Events

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