JPH01305424A - Digital signal processor - Google Patents

Digital signal processor

Info

Publication number
JPH01305424A
JPH01305424A JP63136789A JP13678988A JPH01305424A JP H01305424 A JPH01305424 A JP H01305424A JP 63136789 A JP63136789 A JP 63136789A JP 13678988 A JP13678988 A JP 13678988A JP H01305424 A JPH01305424 A JP H01305424A
Authority
JP
Japan
Prior art keywords
memory
data bus
multiplier
data
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.)
Granted
Application number
JP63136789A
Other languages
Japanese (ja)
Other versions
JP2612308B2 (en
Inventor
Atsushi Shinpo
敦 新保
Teruaki Uehara
輝昭 上原
Hiromi Ando
安藤 博美
Shosaku Tsukagoshi
塚越 昌作
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP63136789A priority Critical patent/JP2612308B2/en
Publication of JPH01305424A publication Critical patent/JPH01305424A/en
Application granted granted Critical
Publication of JP2612308B2 publication Critical patent/JP2612308B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE:To perform the parallel processing of an arithmetic processing and data transfer by separating an input bus which transfers data from a memory to a multiplier from an output bus which transfers a computed result from the multiplier to the memory. CONSTITUTION:When the computation of Ai=BiXCi(i=1-10) is performed, Bi is stored in the memory 30-1 and Ci in the memory 30-2, and the computed result Ai is stored in the memory 30-1. Firstly, B1 and C1 are read out from the memories 30-1 and 30-2, and are inputted to a computing element 23 via input data buses 21-1 and 21-2, and the computed result A1 is stored in a product register 24. A1 stored in the register 24 is written on the memory 30-1 via a shifter 25, an output data bus 22, and a write line 30-1a, and in parallel with the operation, next data B2 and C2 in the memory 30-1 are inputted to the computing element 23 via the data buses 21-1 and 21-2, and the computed result A2 is stored in the register 24.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、音声合成、ディジタルフィルタ等に用いられ
るディジタル信号処理プロセッサに関するものである。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a digital signal processing processor used in speech synthesis, digital filters, and the like.

(従来の技術) 従来から音声合成、ディジタルフィルタ等に用いられる
種々の構造のディジタル信号処理プロセッサが提案され
ている。このようなディジタル信号処理プロセッサに要
求される性能は、数値データの演算をいかに高速で行う
ことができるかによって決っていた。
(Prior Art) Digital signal processing processors of various structures have been proposed for use in speech synthesis, digital filters, and the like. The performance required of such digital signal processors was determined by how fast numerical data operations could be performed.

従来、この種のディジタル信号処理プロセッサとしては
、「ゴMS320C25ユーザーズガイド(User 
s Guide) J  (1986)テキサスインス
ツルメンツ、P、3−2に記載されるものがあった。以
下、その構成を図を用いて説明する。
Conventionally, this type of digital signal processing processor was published in the "Go MS320C25 User's Guide.
s Guide) J (1986) Texas Instruments, P, 3-2. The configuration will be explained below using figures.

第2図は従来のディジタル信号処理プロセッサの一措成
例を示す概略のブロック図である。
FIG. 2 is a schematic block diagram showing one example of a conventional digital signal processing processor.

このディジタル信号処理プロセッサは、制御回路1から
出力される制御信号により全体の動作が制御されるもの
で、2つのデータバス2.3のうちの一方のデータバス
2には、データの小数点位置等を調節するためのシフタ
4、及びデータの一時記憶用のテンポラリレジスタ(T
Rレジスタ)5が接続されると共に、その双方のデータ
バス2゜3に信号選択用のセレクタ6が接続されている
The overall operation of this digital signal processor is controlled by control signals output from a control circuit 1, and one of the two data buses 2.3 has information such as the decimal point position of the data. Shifter 4 for adjusting the data, and a temporary register (T
R register) 5 is connected, and a selector 6 for signal selection is connected to both data buses 2.3.

テンポラリレジスタ5及びセレクタ6の出力倶1には乗
算器7が接続され、その乗算器7の出力側が、乗算結果
記憶用のプロダクトレジスタ8及びシフタ9に接続され
ている。シフタ4,9−の出力側には、信号選択用のマ
ルチプレクサ(MUX)10を介して算術論理演算ユニ
ッI−(以下、ALUという)11が接続され、そのA
LUIIがデーター時記憶用のアキュームレータ(AC
C>12及びシフタ13を介してデータバス2に接続さ
れている。
A multiplier 7 is connected to the output 1 of the temporary register 5 and the selector 6, and the output side of the multiplier 7 is connected to a product register 8 and a shifter 9 for storing multiplication results. An arithmetic logic unit I- (hereinafter referred to as ALU) 11 is connected to the output side of the shifters 4 and 9- via a multiplexer (MUX) 10 for signal selection, and its ALU is connected to the output side of the shifters 4 and 9-.
LUII is an accumulator (AC) for storing data.
C>12 and is connected to the data bus 2 via the shifter 13.

データバス2には、マルチプレクサ14を介してメモリ
15が接続されると共に、直接にメモリ16.17が接
続されている。これらのメモリ15.16.17はデー
タの読み書きが可能なメモリであり、そのアドレスAD
の指定・修飾が、データバス2に接続された補助レジス
ター8により行なわれる構成になっている。
A memory 15 is connected to the data bus 2 via a multiplexer 14, and memories 16 and 17 are also directly connected. These memories 15, 16, and 17 are memories that can read and write data, and their addresses AD
The configuration is such that the designation and modification of is performed by an auxiliary register 8 connected to the data bus 2.

次に、動作を説明する。Next, the operation will be explained.

例えば、 A・=B・×C・      ・・・(1)但し、i=
1〜10 の演算動作を各ステップに分けて説明する。なお、変数
B・はメモリー5に、変数C1はメモリー6」 にそれぞれ格納されているものとする。また、演算結果
Aiはメモリ16に書込むものとする。
For example, A・=B・×C・・・・(1) However, i=
The calculation operations 1 to 10 will be explained in each step. It is assumed that variable B is stored in memory 5 and variable C1 is stored in memory 6. Further, it is assumed that the calculation result Ai is written into the memory 16.

(1)ステップ1 メモリ15.16に格納された変数B・、C1のうち、
変数Biはマルチプレクサ14、データバス3及びセレ
クタ6を介して乗算器7に入ると共に、変数℃1はデー
タバス2及びテンポラリレジスタ5を介して乗算器7に
入る。乗算器7は変数B、、C,を乗算し、その結果A
1 (−81×C1)をプロダクトレジスタ8に入れる
(1) Step 1 Among the variables B and C1 stored in the memory 15.16,
Variable Bi enters multiplier 7 via multiplexer 14, data bus 3 and selector 6, and variable °C1 enters multiplier 7 via data bus 2 and temporary register 5. Multiplier 7 multiplies variables B, ,C, and the result is A
1 (-81×C1) is placed in the product register 8.

(2)ステップ2 プロダクトレジスタ8の内容A1は、シフタ9、マルチ
プレクサ10、ALUII、アキュームレータ12、シ
フタ13及びデータバス2を介してメモリ16に書込ま
れる。
(2) Step 2 The content A1 of the product register 8 is written to the memory 16 via the shifter 9, multiplexer 10, ALU II, accumulator 12, shifter 13 and data bus 2.

(3)ステップ3 メモリ15内の変数82はマルチプレクサ】−4、デー
タバス3及びセレクタ6を経由して乗算器7に入ると共
に、メモリ16内の変数C2がデータバス2及びテンポ
ラリレジスタ5を経由して乗算器7に入る。乗算器7は
、変数B2 、C2を乗算し、その結果A2  (−8
2XC2>をプロダクト・レジスタ8に入れる。
(3) Step 3 The variable 82 in the memory 15 enters the multiplier 7 via the multiplexer]-4, the data bus 3 and the selector 6, and the variable C2 in the memory 16 passes through the data bus 2 and the temporary register 5. and enters the multiplier 7. Multiplier 7 multiplies variables B2 and C2, resulting in A2 (-8
2XC2> into product register 8.

(4)ステップ4 プロダグ1〜レジスタ8の内容A2をシフタ9、マルチ
プレクサ10、ALUII、アキュームレータ12、シ
フタ13及びデータバス2を経由してメモリ16に書込
む。
(4) Step 4 Write the contents A2 of PRODAG 1 to register 8 to memory 16 via shifter 9, multiplexer 10, ALU II, accumulator 12, shifter 13, and data bus 2.

(5)ステップ5〜20 以下同様にしてステップ5〜18まで進み、ステップ1
9では変数B1oをデータバス3経出で乗算器7に入れ
ると共に、変数C1oをデータバス2経出でその乗算器
7に入れ、該乗算器7による乗算結果A  (”Blo
XClo)をプロダクトレジスり8に入れる。ステップ
20では、プロダクトレジスタ8の内容A1oをデータ
バス2経出でメモリ16に書込めば、演算処理が終る。
(5) Steps 5 to 20 Proceed to steps 5 to 18 in the same manner, and step 1
9, the variable B1o is entered into the multiplier 7 through the data bus 3, and the variable C1o is entered into the multiplier 7 through the data bus 2, and the multiplication result A ("Blo
XClo) into product register 8. In step 20, the content A1o of the product register 8 is written to the memory 16 via the data bus 2, and the arithmetic processing is completed.

(発明が解決しようとする課題) しかしながら、上記構成のディジタル信号処理プロセッ
サでは、次のような課題があった。
(Problems to be Solved by the Invention) However, the digital signal processor having the above configuration has the following problems.

乗算器7及びALUllという演算器への入力データバ
スと、その演算器からの出力データバスとか同一のバス
て゛あるので、メモリ15.16からの続出しと書込み
を同時に行うことができない。
Since the input data bus to the multiplier 7 and ALUll and the output data bus from the arithmetic unit are the same, it is not possible to read and write data from the memories 15 and 16 at the same time.

そのため、演算器が空いていてもバスが空いていない場
合、演算を行うことができず、ディジタル信号処理プロ
セッサとしての能力を十分に発揮できなかった。
Therefore, even if the arithmetic unit is free, if the bus is not free, calculations cannot be performed, and the ability of the digital signal processor cannot be fully demonstrated.

即ち、第2図において10回の乗算には20ステツプの
処理が必要となる。これは乗算に1ステツプ、メモリ1
6への転送に1ステツプを要しているためで、20ステ
ツプの内、50%しか乗算器7が動作していない。さら
に、第2図の場合は、演算器が乗算器7とALUIIの
2個であるが、この演算器の数が増え、例えば乗算器を
2個、ALUを1個を持つ場合で、 A・ =B・ ×C・ +D・ ×E・但し、Bi、C
i、Di、Ei  :変数i : 1,2.・・・、n
−1,n 等の演算処理を考えると、さらにバスの使用頻度が増し
、演算器の稼動率が低下する。
That is, in FIG. 2, 20 steps are required for 10 multiplications. This takes 1 step for multiplication and 1 memory
This is because one step is required for the transfer to the multiplier 7, and the multiplier 7 is operating only in 50% of the 20 steps. Furthermore, in the case of Fig. 2, there are two arithmetic units, multiplier 7 and ALU II, but if the number of arithmetic units increases, for example, there are two multipliers and one ALU, then A. =B・×C・+D・×E・However, Bi, C
i, Di, Ei: Variable i: 1, 2. ..., n
Considering arithmetic processing such as -1, n, etc., the frequency of use of the bus increases further, and the operating rate of the arithmetic unit decreases.

本発明は前記従来技術が持っていた課題として、データ
バスによる処理ネックのために、演算器の稼動率が低下
して演算速度の向上を図ることが困難であるという点に
ついて解決したディジタル信号処理プロセッサを提供す
るものである。
The present invention is a digital signal processing method that solves the problem that the conventional technology had, in that it is difficult to improve the calculation speed because the operating rate of the calculation unit decreases due to the processing bottleneck caused by the data bus. It provides a processor.

(課題を解決するための手段) 第1の発明は前記課題を解決するために、データの読み
書き可能なメモリと、乗算器と、ALUと、前記メモリ
からの読出しデータを前記乗算器及びALUに伝送し、
かつその乗算器及びAI、Uの出力データを前記メモリ
へ伝送するデータバスとを備えたディジタル信号処理プ
ロセッサにおいて、前記データバスは、入力データ伝送
用の第1および第2の入力データバスと、出力データ伝
送用の出力データバスとで構成し、前記メモリは、読出
し線が前記第1および第2の入力データバスに、書込み
線が前記出力データバスにそれぞれ接続された第1およ
び第2のメモリで構成したものである。
(Means for Solving the Problems) In order to solve the problems, a first invention includes a memory capable of reading and writing data, a multiplier, an ALU, and data read from the memory to the multiplier and the ALU. transmit,
and a data bus for transmitting output data of the multiplier and AI, U to the memory, the data bus comprising first and second input data buses for transmitting input data; an output data bus for transmitting output data; It consists of memory.

第2の発明は、第1の発明において、前記乗算器を、第
1および第2の乗算器で構成する。さらに、前記データ
バスは、入力データ伝送用の第1、第2、第3および第
4の入力データバスと、出力データ伝送用の第1および
第2の出力データバスとで揚成し、前記メモリは、読出
し線が前記第1、第2、第3および第4の入力データバ
スに、書込み線が前記第1および第2の出力データバス
にそれぞれ接続された第1、第2、第3および第4のメ
モリで構成したものである。
In a second invention, in the first invention, the multiplier includes a first and a second multiplier. Further, the data bus includes first, second, third and fourth input data buses for input data transmission and first and second output data buses for output data transmission, The memory includes first, second, and third data buses having read lines connected to the first, second, third, and fourth input data buses, and write lines connected to the first and second output data buses, respectively. and a fourth memory.

また、前記第1、第2の発明において、前記メモリの一
部をファーストイン・ファーストアウト(以下、FIF
Oという)型メモリで構成したり、あるいは前記入力デ
ータバスと出力データバスの間に除nhを接続してもよ
い。
Further, in the first and second inventions, a part of the memory may be configured as a first-in/first-out (hereinafter referred to as FIF).
The input data bus may be constructed of a type memory (referred to as O) type memory, or a diode (nh) may be connected between the input data bus and the output data bus.

(作用) 本発明によれば、以上のようにディジタル信号処理プロ
セッサを構成したので、2個あるいは4個のメモリは複
数の変数の読出し及び書込みを可能にし、さらにそれら
のメモリからデータを読出して乗算器及びALUに入力
するための入力データバスと、乗算器及びALUからの
データを前記メモリへ書込むための出力データバスとを
、それぞれ分離して設けることは、演算処理とメモリへ
のデータ転送とを並行して行うことを可能にさせる。ま
た、メモリの一部にFIFOメモリを設けることは、再
帰式等の演算処理を簡易化し、さらに除算器を設けるこ
とは、除算と並行して他の演算処理を可能にさせる。従
って、前記課題を解決できるのである。
(Function) According to the present invention, since the digital signal processing processor is configured as described above, the two or four memories can read and write a plurality of variables, and furthermore, data can be read and written from these memories. Providing separate input data buses for inputting data to the multiplier and ALU, and output data buses for writing data from the multiplier and ALU to the memory is advantageous in handling arithmetic processing and data transfer to the memory. This makes it possible to perform the transfer in parallel. Furthermore, providing a FIFO memory as part of the memory simplifies arithmetic processing such as recursive expressions, and further providing a divider allows other arithmetic processing to be performed in parallel with division. Therefore, the above problem can be solved.

(実施例) 第1図は本発明の第1の実施例を示すディジタル信号処
理プロセッサの概略の構成ブロック図である。
(Embodiment) FIG. 1 is a schematic block diagram of a digital signal processing processor showing a first embodiment of the present invention.

このディジタル信号処理プロセッサは、制御回路20か
ら出力される制御信号及びアドレス信号等により全体の
動作が制御されるもので、第1、第2の入力データバス
21−1.21−2及び出力データバス22を備え、そ
の第1、第2の入力データバス21−1.21−2に乗
算器23が接続されている。乗算器23の出力側には、
乗算結果を一時記憶するためのプロダクトレジスタ(P
レジスタ)24が接続され、さらにその出力側に、デー
タの小数点位置等を調節するためのシフタ25が接続さ
れている。シフタ25の出力側は、入力データバス21
−2と共に信号選択用のマルチプレクサ(MUX>26
に接続され、さらにそのシフタ25の出力側が出力デー
タバス22にも接続されている。マルチプレクサ26の
出力倶1はALU27を介してデーター時記憶用のアキ
ュムレータ(ACC)28の入力側に接続され、そのア
キュムレータ28の出力側がALU27に接続されると
共に、シフタ29を介して出力データバス22に接続さ
れている。
The overall operation of this digital signal processor is controlled by control signals, address signals, etc. output from the control circuit 20, and the first and second input data buses 21-1, 21-2 and output data A bus 22 is provided, and a multiplier 23 is connected to the first and second input data buses 21-1 and 21-2. On the output side of the multiplier 23,
Product register (P
A register 24 is connected, and a shifter 25 for adjusting the decimal point position of data is further connected to its output side. The output side of the shifter 25 is connected to the input data bus 21.
-2 together with a multiplexer for signal selection (MUX>26
The output side of the shifter 25 is also connected to the output data bus 22. The output 1 of the multiplexer 26 is connected via the ALU 27 to the input side of an accumulator (ACC) 28 for data storage, and the output side of the accumulator 28 is connected to the ALU 27, and the output data bus 22 is connected via the shifter 29. It is connected to the.

出力データバス22には、書込み線3O−1a。The output data bus 22 includes a write line 3O-1a.

3O−2aを介して読み書き可能な第1、第2のメモリ
30−1.30−2がそれぞれ接続されている。第1、
第2のメモリ30−1.30−2は、制御回路20から
出力されるアドレス信号ADによりアドレスの指定が行
われるもので、そのうち第1のメモリ30−1が読出し
線3O−1b及びマルチプレクサ31を介して第1、第
2の入力データバス21−1.21−2に接続されると
共に、第2のメモリ30−2が読出し線3O−2b及び
マルチプレクサ32を介して第1、第2の入力データバ
ス21−1.21−.2に接続されている。
First and second memories 30-1 and 30-2, which are readable and writable, are respectively connected via 3O-2a. First,
The addresses of the second memories 30-1 and 30-2 are specified by the address signal AD output from the control circuit 20. The second memory 30-2 is connected to the first and second input data buses 21-1 and 21-2 via the readout line 3O-2b and the multiplexer 32. Input data bus 21-1.21-. Connected to 2.

次に、動作を説明する。Next, the operation will be explained.

例えば、前記(1)式の乗算を行う場合の動作を各ステ
ップに分けて説明する。なお、変数Biは第1のメモリ
30−1に、変数C1は第2のメモリ30−2にそれぞ
れ格納され、演算結果A。
For example, the operation when performing the multiplication in equation (1) above will be explained in each step. Note that the variable Bi is stored in the first memory 30-1, the variable C1 is stored in the second memory 30-2, and the calculation result A is obtained.

を第1のメモリ30−1に書込むものとする。is written into the first memory 30-1.

(1)ステップ1 メモリ30−1内の変数B1を読出し線3O−1b、マ
ルチプレクサ31及び入力データバス21−1を経由し
て乗算器24に入れると共に、メモリ30−2内の変数
01を読出し線3O−2b、マルチプレクサ32及び入
力データバス21−2を経由して前記乗算器23に入れ
る。乗算器23は変数Bt 、C1の乗算を行い、その
乗算結果A1 (=B1XC1)をプロダクトレジスタ
24に入れる。
(1) Step 1 Enter variable B1 in memory 30-1 into multiplier 24 via readout line 3O-1b, multiplexer 31 and input data bus 21-1, and read variable 01 in memory 30-2. It is input to the multiplier 23 via line 3O-2b, multiplexer 32 and input data bus 21-2. The multiplier 23 multiplies the variables Bt and C1, and stores the multiplication result A1 (=B1XC1) in the product register 24.

(2)ステップ2 プロダクトレジスタ24の内容A1は、シフタ25、出
力データバス22及び書込み線3O−1aを経由してメ
モリ30−1に書込まれる。これと並行して、メモリ3
0−1内の変数B2が読出し線30−1 b、マルチプ
レクサ31及び入力データバス21−1を経由して乗算
器23に入ると共に、メモリ30−2内の変数02が読
出し線3O−2b、マルチプレクサ32及び入力データ
バス21−2を経由して乗算器23に入り、その乗算器
23で変数B2 、C2の乗算が行われ、その結果A2
  (=32 XC2)がプロダクトレジスタ24に入
る。
(2) Step 2 Content A1 of the product register 24 is written to the memory 30-1 via the shifter 25, output data bus 22, and write line 3O-1a. In parallel with this, memory 3
Variable B2 in memory 30-1 enters multiplier 23 via readout line 30-1b, multiplexer 31 and input data bus 21-1, while variable 02 in memory 30-2 enters readout line 30-1b, It enters the multiplier 23 via the multiplexer 32 and the input data bus 21-2, and the multiplier 23 multiplies variables B2 and C2, resulting in A2
(=32 XC2) is entered in the product register 24.

(3)ステップ3 プロダクトレジスタ24の内容A2をシフタ25、出力
データバス22及び書込み線3〇−1aを経由してメモ
リ30−1に書込む。
(3) Step 3 The content A2 of the product register 24 is written into the memory 30-1 via the shifter 25, the output data bus 22, and the write line 30-1a.

(4)ステップ4〜11 以下同様にしてステップ4〜9まで進み、ステップ10
では、メモリ30−1内の変数B1oが入力データバス
21−1を経由して乗算器23に入ると共に、メモリ3
0−2内の変数C1oが入力データバス21−2を経由
して乗算器23に入り、その乗算器23で変数B1o、
C1oの乗算が行われ、その結果A1o(二B1oXC
1o)がプロダクトレジスタ24に入る。ステップ11
では、プロダクトレジスタ24の内容A1oが出力デー
タバス22を経由してメモリ30−1に書込まれ、乗算
処理が終了する。
(4) Steps 4 to 11 Proceed to steps 4 to 9 in the same manner, and then step 10.
Then, the variable B1o in the memory 30-1 enters the multiplier 23 via the input data bus 21-1, and the
The variable C1o in 0-2 enters the multiplier 23 via the input data bus 21-2, and the multiplier 23 converts the variable C1o into the variable B1o,
A multiplication of C1o is performed, resulting in A1o(2B1oXC
1o) is entered into the product register 24. Step 11
Then, the content A1o of the product register 24 is written to the memory 30-1 via the output data bus 22, and the multiplication process ends.

本実施例では、10回の乗算を11ステツプの処理で実
行できる。つまり、パイプライン動作をしているので、
0回の乗算には(n+1)ステップの処理で実行できる
。従って、従来のプロセッサの場合、例えば前記(1)
式のAloを求めるためには20ステツプを必要とし、
0回の乗算には2nステツプを必要としていたのに対し
、本実施例の10セツザでは約50%ステップが削減で
きたことになる。なお、本実施例のディジタル信号処理
プロセッサを用いて積和演算や複素演算等の他の演算処
理を行うことも当然に可能である。
In this embodiment, 10 multiplications can be performed in 11 steps. In other words, it is a pipeline operation, so
Zero multiplications can be performed in (n+1) steps. Therefore, in the case of a conventional processor, for example, the above (1)
It takes 20 steps to find Alo of the equation,
Whereas 2n steps were required for 0 multiplications, the 10 setters of this embodiment can reduce the number of steps by about 50%. Note that it is naturally possible to perform other arithmetic operations such as product-sum operations and complex operations using the digital signal processor of this embodiment.

第3図は本発明の第2の実施例を示すディジタル信号処
理プロセッサの概略の構成ブロック図であり、第1図中
の要素と同一の要素には同一の符号が付されている。
FIG. 3 is a schematic block diagram of a digital signal processor showing a second embodiment of the present invention, and the same elements as those in FIG. 1 are given the same reference numerals.

このディジタル信号処理プロセッサでは、4本の入力デ
ータバス21−1〜21−4、及び2本の出力データバ
ス22−1.22−2を有すると共に、各2個の乗算器
23−1.23−2、プロダクトレジスタ(Pレジスタ
>24−1.24−2、シフタ25−1.25−2、及
びマルチプレクサ(MUX>25−1.25−2をそれ
ぞれ備えている。そして入力データバス21.−3.2
1−4が乗算器23−1に接続され、その乗算器23−
1がプロダクトレジスタ24−1、シフタ25−1及び
マルチプレクサ26−1を介してALU27の一方の入
力側に接続されている。さらに入力データバス21−1
.21−2が乗算器23−2に接続され、その乗算器2
3−2がプロダクトレジスタ24−2、シフタ25−2
及びマルチプレクサ26−2を介してALU27の他方
の入力側に接続されている。また、制御回n20から出
力されるアドレス信号ADでアドレスの指定が行われる
第1、第2、第3および第4の読み書き可能なメモリ3
0−1〜30−4を備え、それらの各メモリ30−1〜
30−4の書込み線3O−1a〜3O−4aが出力デー
タバス22−1.22−2に、読出し線3O−1b〜3
〇−4bが入力データバス21−1〜21−4にそれぞ
れ接続されている。
This digital signal processing processor has four input data buses 21-1 to 21-4, two output data buses 22-1.22-2, and two multipliers 23-1.23. -2, a product register (P register>24-1.24-2, a shifter 25-1.25-2, and a multiplexer (MUX>25-1.25-2), and an input data bus 21. -3.2
1-4 is connected to the multiplier 23-1, and the multiplier 23-
1 is connected to one input side of the ALU 27 via the product register 24-1, shifter 25-1 and multiplexer 26-1. Furthermore, input data bus 21-1
.. 21-2 is connected to the multiplier 23-2, and the multiplier 2
3-2 is the product register 24-2 and shifter 25-2
and is connected to the other input side of the ALU 27 via the multiplexer 26-2. Further, the first, second, third and fourth readable/writable memories 3 whose addresses are specified by the address signal AD outputted from the control circuit n20
0-1 to 30-4, each of these memories 30-1 to 30-4.
The write lines 3O-1a to 3O-4a of 30-4 are connected to the output data bus 22-1.22-2, and the read lines 3O-1b to 3O-3
0-4b are connected to input data buses 21-1 to 21-4, respectively.

以上の構成において、例えば A・=B・×C・+D・×E・    ・・・(2)但
し、i=1〜10 のような演算を行う場合の動作を説明する。なお、変数
B・、C・、D・、Eiはメモリ30−1゜30−2.
30−3.30−4にそれぞれ格納され、演算結果Ai
はメモリ30−1〜30−4中の1つ、例えば30−1
に書込まれるものとする。
In the above configuration, for example, A.=B.×C.+D.×E. . . (2) However, the operation when performing an operation such as i=1 to 10 will be described. Note that the variables B., C., D., and Ei are stored in the memories 30-1, 30-2.
30-3 and 30-4 respectively, and the calculation result Ai
is one of the memories 30-1 to 30-4, for example 30-1
shall be written in.

変数B・、C・の乗算(=B・×C霞は第1図と同様に
一方の乗算器23−2で行い、変数D・、E・の乗算(
=D、XEi )は他方の乗算器23−1で行い、それ
らの乗算結果の和Ai(=B・×C・+D・XEi )
をALU27で求めでアキュムレータ28、シフタ29
及び出力データバス22−2経由でメモリ30−1に書
込めれば、(2)式の演算が行える。このように乗算器
23−1.23−2及びALU27をフルに使用すれば
、(2)式の演算を実行するのに11ステツプで済み、
データバスによる処理ネックが発生せずに、演算処理の
高速化が図れる。
Multiplication of variables B・, C・(=B・×C) is performed by one multiplier 23-2 as in FIG. 1, and multiplication of variables D・, E・(
=D,
is determined by the ALU 27, and the accumulator 28 and shifter 29
If the data can be written into the memory 30-1 via the output data bus 22-2, the calculation of equation (2) can be performed. If the multipliers 23-1, 23-2 and ALU 27 are fully used in this way, it takes only 11 steps to execute the calculation of equation (2).
It is possible to speed up arithmetic processing without creating a processing bottleneck caused by the data bus.

第4図は本発明の第3の実施例を示すディジタル信号処
理プロセッサの概略の構成ブロック図であり、第3図中
の要素と同一の要素には同一の符号が付されている。
FIG. 4 is a schematic block diagram of a digital signal processor showing a third embodiment of the present invention, and the same elements as those in FIG. 3 are given the same reference numerals.

このディジタル信号処理プロセッサでは、第3図のメモ
リ30−3.30−4に代えてFIFOメモリ30−1
3.30−14を設け、そのF I FOメ毛り30−
13.30−14の書込み線3O−13a、3O−14
aを出力データバス22−1.22−2に、読出し線3
O−13b。
In this digital signal processing processor, a FIFO memory 30-1 is used instead of the memory 30-3 and 30-4 in FIG.
3.30-14 is set up, and its FIFO function is 30-14.
13.30-14 write lines 3O-13a, 3O-14
a to output data bus 22-1, 22-2, read line 3
O-13b.

3O−14bを入力データバス21−3.21−4にそ
れぞれ接続している。F I FOメモリ30−13.
30−14はアドレス指定が不要で、最初に書込んだデ
ータが最初に読出される。そのため、例えば XH=f (X H−1)       ・・・(3)
但し、Xl−1’変数 Xi ;演算結果 i;1〜n のような再リポ式を実行する場合、変数X1−1をFI
FOメモリ30−12.30−14に格納しておけば、
アドレスを指定することなく、それらの変数Xト1がF
IFOメモリ30−13.30−14から順次読出され
て乗算器23−1及びAL[J27等で演算処理されて
いく。従って乗算器23−1.23−2及びALU27
の段数によるパイプラインの深さ(多さ)の影響を考慮
せずに、再帰式を実行するプログラムを作成することが
容易になる。
3O-14b are connected to input data buses 21-3 and 21-4, respectively. FIFO memory 30-13.
30-14 requires no addressing, and the data written first is read out first. Therefore, for example, XH=f (X H-1)...(3)
However, when executing a repo expression such as Xl-1' variable Xi; calculation result i; 1 to n, variable X1-1 is
If stored in FO memory 30-12.30-14,
Without specifying the address, those variables
The signals are sequentially read out from the IFO memories 30-13 and 30-14 and subjected to arithmetic processing in the multiplier 23-1, AL[J27, etc. Therefore, multiplier 23-1, 23-2 and ALU 27
It becomes easy to create a program that executes a recursive expression without considering the influence of the depth (number) of the pipeline due to the number of stages.

第5図は本発明の実施例を示すディジタル信号処理プロ
セッサの概略の構成ブロック図であり、第4図中の要素
と同一の要素には同一の符号が付されている。
FIG. 5 is a schematic block diagram of a digital signal processor showing an embodiment of the present invention, and the same elements as those in FIG. 4 are given the same reference numerals.

このディジタル信号処理プロセッサは、第4図のプロセ
ッサにおいて入力データバス21−4と出力データバス
22−1の間に除算器40を接続したものである。固定
小数点の除算は通常、ビット数に応じて処理ステップが
かかる。例えば、16ビツトの精度が必要な場合は16
ステツプを必要とする。そのため、除算器40を設ける
と、その除算器40を珀いた除算の実行中に、乗算器2
3−1.23−2及びAL027等を用いて他の演算を
処理することが可能となる。
This digital signal processing processor is the same as the processor shown in FIG. 4, with a divider 40 connected between the input data bus 21-4 and the output data bus 22-1. Fixed-point division typically takes processing steps depending on the number of bits. For example, if you need 16 bits of precision, use 16
Requires steps. Therefore, when the divider 40 is provided, the multiplier 2
It becomes possible to process other calculations using 3-1.23-2, AL027, etc.

なお、本発明は図示の実施例に限定されず、例えば第1
図のメモリ30−1.30−2中のいずれか一方をFI
FOメモリで構成したり、第1図中の入力データバス2
1−2と出力データバス22の間に除算器を接続したり
、あるいは第3図中の入力データバス21−4と出力デ
ータバス22−1の間に除算器を接続する等、種々の変
形が可能である。
Note that the present invention is not limited to the illustrated embodiment; for example, the first embodiment
FI the memory 30-1 or 30-2 in the figure.
It can be configured with FO memory, or input data bus 2 in Figure 1.
Various modifications may be made, such as connecting a divider between 1-2 and output data bus 22, or connecting a divider between input data bus 21-4 and output data bus 22-1 in FIG. is possible.

(発明の効果) 以上詳細に説明したように、本発明によれば、メモリを
2個あるいは4個設けると共に、乗算器及びALUへの
入力データバスと出力データバスとを分離して設けたの
で、演算処理とメモリへのデータ転送とを並行して行う
ことが可能となり、乗算器及びALtJの稼動率を向上
させて演算能力を向上させることができる。また、並列
処理能力等を高めるために、乗算器の数を増やしたり、
FIFOメモリを使用したり、あるいは除算器を設ける
等、複数演算器構成が可能となる。
(Effects of the Invention) As described above in detail, according to the present invention, two or four memories are provided, and the input data bus and output data bus to the multiplier and ALU are provided separately. , it becomes possible to perform arithmetic processing and data transfer to memory in parallel, and it is possible to improve the operation rate of the multiplier and ALtJ and improve the arithmetic capacity. In addition, in order to increase parallel processing capacity, etc., we can increase the number of multipliers,
It is possible to configure multiple arithmetic units by using FIFO memory or providing a divider.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の第1の実施例を示すディジタル信号処
理プロセッサの構成ブロック図、第2図は従来のディジ
タル信号処理プロセッサの構成ブロック図、第3図、第
4図及び第5図は本発明の第2、第3および第4の実施
例をそれぞれ示すディジタル信号処理プロセッサの構成
ブロック図である。 21−1〜21−4・・・・・・入力データバス、22
゜22−1.22〜2・・・・・・出力データバス、2
3゜23−1.23−2・・・・・・乗算器、27・・
・・・・ALU、30−1〜30−4・・・・・・メモ
リ、30−13゜30−14・−・−・F I FOメ
モリ、3O−1a〜3O−4a、3O−13a、3O−
14a・・・・・・書込み線、3O−1b〜3O−4b
、3O−13b。 3O−14b・・・・・・読出し線、40・・・・・・
除算器。
FIG. 1 is a block diagram of a digital signal processor according to a first embodiment of the present invention, FIG. 2 is a block diagram of a conventional digital signal processor, and FIGS. 3, 4, and 5 are block diagrams of a conventional digital signal processor. FIG. 4 is a configuration block diagram of a digital signal processor showing second, third, and fourth embodiments of the present invention, respectively. 21-1 to 21-4... Input data bus, 22
゜22-1.22~2...Output data bus, 2
3゜23-1.23-2... Multiplier, 27...
...ALU, 30-1 to 30-4...Memory, 30-13゜30-14...F I FO memory, 3O-1a to 3O-4a, 3O-13a, 3O-
14a...Writing line, 3O-1b to 3O-4b
, 3O-13b. 3O-14b...readout line, 40...
Divider.

Claims (1)

【特許請求の範囲】 1、データの読み書き可能なメモリと、データの乗算を
行う乗算器と、データの算術演算及び論理演算を行う算
術論理演算ユニットと、前記メモリからの読出しデータ
を前記乗算器及び算術論理演算ユニットに伝送し、かつ
その乗算器及び算術論理演算ユニットの出力データを前
記メモリへ伝送するデータバスとを備えたディジタル信
号処理プロセッサにおいて、 前記データバスは、入力データ伝送用の第1および第2
の入力データバスと、出力データ伝送用の出力データバ
スとで構成し、 前記メモリは、読出し線が前記第1および第2の入力デ
ータバスに、書込み線が前記出力データバスにそれぞれ
接続された第1および第2のメモリで構成したことを特
徴とするディジタル信号処理プロセッサ。 2、前記乗算器は、第1および第2の乗算器で構成し、 前記データバスは、入力データ伝送用の第1、第2、第
3および第4の入力データバスと、出力データ伝送用の
第1および第2の出力データバスとで構成し、 前記メモリは、読出し線が前記第1、第2、第3および
第4の入力データバスに、書込み線が前記第1および第
2の出力データバスにそれぞれ接続された第1、第2、
第3および第4のメモリで構成したことを特徴とするデ
ィジタル信号処理プロセッサ。 3、前記メモリの一部をファーストイン・ファーストア
ウト型メモリで構成した請求項1又は2記載のディジタ
ル信号処理プロセッサ。 4、前記入力データバスと出力データバスの間に除算器
を接続した請求項1、2又は3記載のディジタル信号処
理プロセッサ。
[Scope of Claims] 1. A memory capable of reading and writing data, a multiplier that multiplies data, an arithmetic and logic operation unit that performs arithmetic and logical operations on data, and a multiplier that performs data read/write from the memory. and a data bus for transmitting output data of the multiplier and the arithmetic and logic unit to the memory, the data bus comprising a data bus for transmitting input data. 1st and 2nd
an input data bus for transmitting output data, and an output data bus for transmitting output data, and the memory has read lines connected to the first and second input data buses, and write lines connected to the output data bus. A digital signal processing processor comprising first and second memories. 2. The multiplier includes first and second multipliers, and the data bus includes first, second, third, and fourth input data buses for input data transmission, and output data transmission. first and second output data buses, the memory has read lines connected to the first, second, third and fourth input data buses, and write lines connected to the first and second input data buses. first, second, and
A digital signal processing processor comprising third and fourth memories. 3. The digital signal processing processor according to claim 1 or 2, wherein a part of the memory is constituted by a first-in first-out type memory. 4. The digital signal processing processor according to claim 1, 2 or 3, further comprising a divider connected between the input data bus and the output data bus.
JP63136789A 1988-06-03 1988-06-03 Digital signal processor Expired - Lifetime JP2612308B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63136789A JP2612308B2 (en) 1988-06-03 1988-06-03 Digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63136789A JP2612308B2 (en) 1988-06-03 1988-06-03 Digital signal processor

Publications (2)

Publication Number Publication Date
JPH01305424A true JPH01305424A (en) 1989-12-08
JP2612308B2 JP2612308B2 (en) 1997-05-21

Family

ID=15183556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63136789A Expired - Lifetime JP2612308B2 (en) 1988-06-03 1988-06-03 Digital signal processor

Country Status (1)

Country Link
JP (1) JP2612308B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52130249A (en) * 1976-04-26 1977-11-01 Hitachi Ltd Register write-in system
JPS5968058A (en) * 1982-10-13 1984-04-17 Hitachi Ltd Floating point multiplier
JPS6297060A (en) * 1985-10-23 1987-05-06 Mitsubishi Electric Corp Digital signal processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52130249A (en) * 1976-04-26 1977-11-01 Hitachi Ltd Register write-in system
JPS5968058A (en) * 1982-10-13 1984-04-17 Hitachi Ltd Floating point multiplier
JPS6297060A (en) * 1985-10-23 1987-05-06 Mitsubishi Electric Corp Digital signal processor

Also Published As

Publication number Publication date
JP2612308B2 (en) 1997-05-21

Similar Documents

Publication Publication Date Title
US5319588A (en) Signed overflow sticky bits
USRE34850E (en) Digital signal processor
US4754421A (en) Multiple precision multiplication device
Pease Organization of large scale Fourier processors
JPS6255724A (en) Processor
US4916658A (en) Dynamic buffer control
JP3137117B2 (en) High-speed processing computer
US4853890A (en) Vector processor
JP3476960B2 (en) Arithmetic logic operation device and control method
CN107357745A (en) Dma controller with arithmetical unit
EP0197945A1 (en) A digital signal processor for single cycle multiply/accumulation
JP2617974B2 (en) Data processing device
JPH01305424A (en) Digital signal processor
JPS6339932B2 (en)
US5650952A (en) Circuit arrangement for forming the sum of products
JPH01119861A (en) Digital signal processing lsi
JPS61143838A (en) Arithmetic unit
JPH01263812A (en) Table reading circuit
JPH07239843A (en) Parallel arithmetic processors
JP2674747B2 (en) Signal processor
JPH1153344A (en) Matrix operation unit and numerical operation processor having the same
JPH0365683B2 (en)
JPS59186070A (en) High speed signal processor
JPH05738B2 (en)
JPH02244329A (en) Digital signal processor