JPH0944472A - Arithmetic processor - Google Patents

Arithmetic processor

Info

Publication number
JPH0944472A
JPH0944472A JP7189519A JP18951995A JPH0944472A JP H0944472 A JPH0944472 A JP H0944472A JP 7189519 A JP7189519 A JP 7189519A JP 18951995 A JP18951995 A JP 18951995A JP H0944472 A JPH0944472 A JP H0944472A
Authority
JP
Japan
Prior art keywords
data
address
memory
unit
cpu
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.)
Pending
Application number
JP7189519A
Other languages
Japanese (ja)
Inventor
Toshihiro Ishikawa
川 利 広 石
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7189519A priority Critical patent/JPH0944472A/en
Publication of JPH0944472A publication Critical patent/JPH0944472A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the use efficiency of the computing element in the interior of a processor and to improve performance by a parallel processing. SOLUTION: When an inter-memory sum of products operation detection part 12 detects an inter-memory sum of products operation, a bus switch 13 divides the part where a data memory 4 and a product sum arithmetic unit 10 are connected and the part where an ALU 14 and a register 15 are connected in a bus 8 or divides the part where a data memory 5 and the product sum arithmetic unit 10 are connected and the part where the ALU 14 and a register 16 are connected. As a result, the parallel operation of the product sum arithmetic unit 10 and the ALU 14 becomes possible.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ディジタルシグナルプ
ロセッサ(以下DSPと称する)などの半導体基板上に
形成されたディジタル信号処理用の演算処理装置に利用
され、プロセッサ内部の複数の演算器を効率良く用いて
並列処理を行えるようにした演算処理装置に関するもの
である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is used in an arithmetic processing unit for digital signal processing formed on a semiconductor substrate such as a digital signal processor (hereinafter referred to as DSP), and efficiently operates a plurality of arithmetic units inside the processor. The present invention relates to an arithmetic processing device that is often used to perform parallel processing.

【0002】[0002]

【従来の技術】近年、DSPにおいては、積和演算の高
速化や低消費電力化のため、ALUとは別に独立した積
和演算器を有する構造が採用される場合がある。
2. Description of the Related Art In recent years, a DSP may employ a structure having an independent product-sum calculator separate from the ALU in order to speed up the product-sum calculation and reduce power consumption.

【0003】従来のこの種の演算処理装置について図9
を用いて説明する。図9において、1は命令コードを記
憶する命令メモリ、2は命令メモリ1から読み出した命
令コードを一時記憶する命令レジスタ、3は命令デコー
ダであり、命令コードを解読して各種制御信号をバス8
に出力する。4と5はデータを記憶するデータメモリで
あり、それぞれバス8と9にデータを出力する。6と7
はアドレス発生部であり、それぞれデータメモリ4と5
にアドレスを供給する。10は積和演算器であり、バス
8とバス9のデータに対して積和演算を行い、アキュム
レータ11に結果を出力する。14はALUであり、バ
ス8と9のデータに対して算術論理演算を行い、結果を
レジスタ15または16に出力する。レジスタ15と1
6はそれぞれバス8と9に接続されている。
A conventional arithmetic processing unit of this type is shown in FIG.
This will be described with reference to FIG. In FIG. 9, 1 is an instruction memory for storing an instruction code, 2 is an instruction register for temporarily storing the instruction code read from the instruction memory 1, and 3 is an instruction decoder, which decodes the instruction code and sends various control signals to the bus 8.
Output to Data memories 4 and 5 store data, and output the data to the buses 8 and 9, respectively. 6 and 7
Is an address generator, which is the data memory 4 and 5 respectively.
Address. A product-sum calculator 10 performs a product-sum operation on the data on the buses 8 and 9 and outputs the result to the accumulator 11. Reference numeral 14 is an ALU, which performs an arithmetic logic operation on the data on the buses 8 and 9 and outputs the result to the register 15 or 16. Registers 15 and 1
6 is connected to buses 8 and 9, respectively.

【0004】次に、以上のように構成された従来の演算
処理装置で各種演算を行う場合の動作について説明す
る。 (1)メモリ間積和演算 データメモリ4と5に格納されたデータに対して積和演
算を行う場合は、まずデータメモリ4がアドレス発生部
6から指示されるアドレスに従ってデータを読み出し、
バス8に出力する。同様にデータメモリ5は、アドレス
発生部7から指示されるアドレスに従ってデータを読み
出し、バス9に出力する。積和演算器10は、バス8と
9のデータ乗算して累積加算して、結果をアキュムレー
タ11に格納する。このような動作を繰り返すことによ
り、データメモリ4と5に格納された一連データに対し
て、積和演算を行うことができる。 (2)メモリレジスタ間算術論理演算 データメモリ4に格納されたデータとレジスタ16に格
納されているデータの算術論理演算を行う場合は、ま
ず、データメモリ4がアドレス発生部6から指示される
アドレスに従ってデータを読み出し、バス8に出力す
る。同時にレジスタ16は、バス9にデータを出力す
る。ALU14は、バス8と9のデータの算術論理演算
を行い、その結果をレジスタ15に格納する。 (3)レジスタレジスタ間算術論理演算 レジスタ15と16に格納されているデータの算術論理
演算を行う場合は、レジスタ15と16からそれぞれバ
ス8と9にデータを出力する。ALU14は、バス8と
9のデータの算術論理演算を行い、その結果をレジスタ
15に格納する。
Next, the operation of the conventional arithmetic processing device having the above-mentioned configuration when performing various arithmetic operations will be described. (1) Inter-memory product sum operation When performing the product sum operation on the data stored in the data memories 4 and 5, the data memory 4 first reads the data in accordance with the address designated by the address generator 6,
Output to bus 8. Similarly, the data memory 5 reads data according to the address designated by the address generator 7 and outputs the data to the bus 9. The product-sum calculator 10 multiplies the data of the buses 8 and 9 and cumulatively adds the data, and stores the result in the accumulator 11. By repeating such an operation, the product-sum operation can be performed on the series of data stored in the data memories 4 and 5. (2) Arithmetic and logical operation between memory registers When performing arithmetic and logical operation on the data stored in the data memory 4 and the data stored in the register 16, first, the data memory 4 receives an address designated by the address generator 6. Then, the data is read out and output to the bus 8. At the same time, the register 16 outputs data to the bus 9. The ALU 14 performs an arithmetic logic operation on the data on the buses 8 and 9 and stores the result in the register 15. (3) Registers arithmetic logic operation between registers When performing arithmetic logic operation on the data stored in the registers 15 and 16, the data is output from the registers 15 and 16 to the buses 8 and 9, respectively. The ALU 14 performs an arithmetic logic operation on the data on the buses 8 and 9 and stores the result in the register 15.

【0005】以上のように、従来の演算処理装置におい
ても、メモリ間、メモリレジスタ間、レジスタレジスタ
間の演算を柔軟に行うことができる。
As described above, even in the conventional arithmetic processing device, arithmetic between memories, between memory registers, and between register registers can be flexibly performed.

【0006】[0006]

【発明が解決しようとする課題】しかしながら上記従来
の演算処理装置では、演算器の利用効率が高くないとい
う問題点を有している。例えば、メモリ間の積和演算時
には、積和演算器は使用しているが、レジスタとALU
は空いているのに使用されていなかった。
However, the above conventional arithmetic processing device has a problem that the utilization efficiency of the arithmetic unit is not high. For example, when multiply-accumulate between memories, the sum-of-products calculator is used, but the register and ALU
Was unused but unused.

【0007】本発明は、このような従来の問題を解決す
るものであり、複数の演算器を並列して効率的に利用で
きる優れた演算処理装置の提供を目的とする。
The present invention solves such a conventional problem, and an object of the present invention is to provide an excellent arithmetic processing device in which a plurality of arithmetic units can be efficiently used in parallel.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するた
め、本発明の演算処理装置は、命令コードを記憶する命
令記憶手段と、命令記憶手段から出力される命令コード
を解読する命令デコーダと、データを記憶するデータメ
モリおよびレジスタと、データメモリとレジスタに接続
されたデータバスと、データバスのデータに対して演算
する第1の演算器と、データバスのデータに対して演算
し結果をレジスタに格納する第2の演算器と、命令デコ
ーダが解読した命令が第1の演算器でデータメモリのデ
ータに対して演算する命令であることを検出するメモリ
間演算検出手段と、メモリ間演算検出手段の検出結果に
基づいてデータバスをデータメモリおよび第1の演算器
が接続された部分とレジスタおよび第2の演算器が接続
された部分とに分割する第1のバススイッチとを備えた
構成としている。
In order to achieve the above object, an arithmetic processing unit according to the present invention comprises an instruction storage means for storing an instruction code, an instruction decoder for decoding the instruction code output from the instruction storage means, A data memory and a register for storing data, a data bus connected to the data memory and the register, a first arithmetic unit for arithmetically operating on the data on the data bus, and an arithmetic operation on the data on the data bus for registering the result. A second arithmetic unit to be stored in the memory, an inter-memory arithmetic detecting means for detecting that the instruction decoded by the instruction decoder is an instruction for arithmetically operating the data in the data memory in the first arithmetic unit, and an inter-memory arithmetic detection The data bus is divided into a portion connected to the data memory and the first arithmetic unit and a portion connected to the register and the second arithmetic unit based on the detection result of the means. The first has a configuration that includes a bus switch that.

【0009】また上記目的を達成するため、本発明の演
算処理装置は、命令コードを記憶する命令記憶手段と、
命令記憶手段から出力される命令コードを解読する命令
デコーダと、データを記憶するデータメモリおよびレジ
スタと、データメモリとレジスタに接続されたデータバ
スと、データバスのデータに対して演算する第1の演算
器と、命令デコーダが解読した命令が第1の演算器でデ
ータメモリのデータに対して演算する命令であることを
検出するメモリ間演算検出手段と、データメモリにアド
レスを供給するアドレス発生部とを備え、このアドレス
発生部が、アドレスレジスタと、メモリ間演算検出手段
に接続されてアドレスレジスタ出力を格納し、インクリ
メントまたはデクリメントしながらデータメモリにアド
レスを供給するアドレスカウンタと、アドレスレジスタ
を修飾するためのアドレス演算部を備えた構成としてい
る。
In order to achieve the above object, the arithmetic processing unit of the present invention comprises an instruction storing means for storing an instruction code,
An instruction decoder for decoding an instruction code output from the instruction storage means, a data memory and a register for storing data, a data bus connected to the data memory and the register, and a first operation for data on the data bus. An arithmetic unit, an inter-memory arithmetic operation detecting unit for detecting that the instruction decoded by the instruction decoder is an instruction for arithmetically operating the data in the data memory in the first arithmetic unit, and an address generating unit for supplying an address to the data memory. The address generator is connected to the address register and the inter-memory operation detection means, stores the address register output, and supplies the address to the data memory while incrementing or decrementing the address register and the address register are modified. It is configured to include an address calculation unit for doing so.

【0010】[0010]

【作用】このような構成により、本発明の演算処理装置
では、メモリ間演算検出手段がデータメモリのデータに
対して第1の演算器で演算する命令であることを検出し
て、第1のバススイッチがデータバスを分割することに
より、第1の演算器によるメモリ間演算と第2の演算器
によるレジスタ間演算を並列に処理することできるよう
になる。
With such a configuration, in the arithmetic processing unit of the present invention, the inter-memory arithmetic operation detecting means detects that the instruction is an instruction for arithmetically operating the data of the data memory by the first arithmetic unit, and By dividing the data bus by the bus switch, the inter-memory operation by the first arithmetic unit and the inter-register operation by the second arithmetic unit can be processed in parallel.

【0011】また本発明の演算処理装置では、アドレス
カウンタがインクリメントまたはデクリメントしながら
データメモリにアドレスを供給するので、アドレス演算
部で並列に演算処理を行うことができるようになる。
Further, in the arithmetic processing apparatus of the present invention, the address counter supplies the address to the data memory while incrementing or decrementing the address counter, so that the address arithmetic unit can perform arithmetic processing in parallel.

【0012】[0012]

【実施例】以下、本発明の演算処理装置の実施例を図面
を参照して詳細に説明する。 (実施例1:請求項1と2に対応)図1は本発明の第1
の実施例における演算処理装置の構成を示すブロック図
であり、図9に示した従来例と同様な要素には同様な符
号を付してある。図1において、1は命令コードを記憶
する命令記憶手段としての命令メモリ、2は命令メモリ
1から読み出した命令コードを一時記憶する命令レジス
タ、3は命令デコーダ(第1のプログラム制御装置)で
あり、命令コードを解読して各種制御信号を出力する。
4と5はデータを記憶するデータメモリであり、それぞ
れバス8と9にデータを出力する。6と7はアドレス発
生部であり、それぞれデータメモリ4と5にアドレスを
供給する。10は第1の演算器としての積和演算器であ
り、バス8とバス9のデータに対して積和演算を行い、
アキュムレータ11に結果を出力する。12はメモリ間
演算検出手段としてのメモリ間積和演算検出部であり、
命令デコーダ3が解読した命令により、データメモリ4
と5に格納されたデータに対して積和演算器10が積和
演算を行うことを検出する。13は第1のバススイッチ
としてのバススイッチであり、メモリ間積和演算検出部
12がメモリ間積和演算を検出したときに、バス8にお
けるデータメモリ4および積和演算器10が接続されて
いる部分と後述するALU14およびレジスタ15が接
続されている部分とを分割し、またバス9におけるデー
タメモリ5および積和演算器10が接続されている部分
と後述するALU14およびレジスタ16が接続されて
いる部分とを分割する。14は第2の演算器としてのA
LUであり、バス8と9のデータに対して算術論理演算
を行い、結果をレジスタ15または16に出力する。レ
ジスタ15と16はそれぞれバス8と9に接続されてい
る。25はシーケンス制御部であり、命令デコーダ3と
メモリ間積和演算検出部12に接続され、積和演算の繰
り返し実行を指示する制御信号を出力する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The embodiments of the arithmetic processing unit of the present invention will be described in detail below with reference to the drawings. (Embodiment 1: Corresponding to claims 1 and 2) FIG.
FIG. 10 is a block diagram showing the configuration of the arithmetic processing unit in the embodiment of the present invention, in which elements similar to those of the conventional example shown in FIG. In FIG. 1, 1 is an instruction memory as an instruction storage unit for storing an instruction code, 2 is an instruction register for temporarily storing the instruction code read from the instruction memory 1, and 3 is an instruction decoder (first program control device). , Decodes the instruction code and outputs various control signals.
Data memories 4 and 5 store data, and output the data to the buses 8 and 9, respectively. Address generators 6 and 7 supply addresses to the data memories 4 and 5, respectively. Reference numeral 10 denotes a product-sum calculation unit as a first calculation unit, which performs a product-sum calculation on the data on the buses 8 and 9.
The result is output to the accumulator 11. Reference numeral 12 denotes an inter-memory product-sum operation detection unit as an inter-memory operation detection means,
According to the instruction decoded by the instruction decoder 3, the data memory 4
It is detected that the product-sum calculation unit 10 performs the product-sum calculation on the data stored in 5 and 5. Reference numeral 13 denotes a bus switch as a first bus switch, which connects the data memory 4 and the product-sum calculator 10 on the bus 8 when the memory-memory product-sum calculation detector 12 detects the memory-memory product-sum calculation. The part connected to the ALU 14 and the register 15 described later is divided, and the part connected to the data memory 5 and the product-sum calculator 10 on the bus 9 is connected to the ALU 14 and the register 16 described later. And divide the part. 14 is A as the second arithmetic unit
It is an LU and performs an arithmetic logic operation on the data of the buses 8 and 9 and outputs the result to the register 15 or 16. Registers 15 and 16 are connected to buses 8 and 9, respectively. A sequence control unit 25 is connected to the instruction decoder 3 and the inter-memory product-sum operation detection unit 12 and outputs a control signal for instructing repeated execution of the product-sum operation.

【0013】次に、本実施例の構成において、メモリ間
積和演算と並列にレジスタ間の算術論理演算を同時実行
する際の動作について、図1を参照しながら説明する。
命令メモリ1からメモリ間積和演算命令が命令レジスタ
2を経由して、命令デコーダ3に入力される。命令デコ
ーダ3は、メモリ間積和演算を指示する制御信号を各部
に出力する。アドレス発生部6と7は、積和演算対象の
データが格納されているアドレスを発生して、それぞれ
データメモリ4と5に供給する。データメモリ4と5
は、積和演算対象のデータをそれぞれバス8とバス9に
出力する。積和演算器10は、バス8と9のデータを入
力して積和演算を行い、結果をアキュムレータ11に出
力する。シーケンス制御部25は、以上のような積和演
算が事前に定められた回数だけ実行されるように、アド
レス発生部6と7、データメモリ4と5、積和演算器1
0およびアキュムレータ11を制御する。
Next, in the configuration of the present embodiment, an operation for simultaneously executing an arithmetic and logical operation between registers in parallel with an inter-memory product sum operation will be described with reference to FIG.
An inter-memory product sum operation instruction is input from the instruction memory 1 to the instruction decoder 3 via the instruction register 2. The instruction decoder 3 outputs a control signal instructing an inter-memory product sum operation to each unit. The address generators 6 and 7 generate an address in which the data of the product-sum operation target is stored and supply it to the data memories 4 and 5, respectively. Data memory 4 and 5
Outputs the product-sum operation target data to the buses 8 and 9, respectively. The product-sum calculator 10 inputs the data on the buses 8 and 9 to perform a product-sum calculation, and outputs the result to the accumulator 11. The sequence control unit 25 uses the address generators 6 and 7, the data memories 4 and 5, and the product-sum calculator 1 so that the product-sum calculation as described above is executed a predetermined number of times.
0 and accumulator 11 are controlled.

【0014】一方、命令デコーダ3からのメモリ間積和
演算を指示する制御信号を検出した、メモリ間積和演算
検出部12は、バススイッチ13にバス8とバス9の分
割を指示する。バス8とバス9は、バススイッチ13の
位置で分割される。そこで、命令メモリ1からレジスタ
間算術論理演算命令を命令レジスタ2を介して読み出
し、命令デコーダ3に入力する。命令デコーダ3は、今
度は、レジスタ間算術論理演算を指示する制御信号を出
力する。するとレジスタ15と16からそれぞれバス8
とバス9にデータが出力される。ALU14は、バス8
とバス9のデータの算術論理演算を行い、結果をレジス
タ15に出力する。
On the other hand, the inter-memory product-sum operation detecting section 12 which has detected the control signal instructing the inter-memory product sum operation from the instruction decoder 3 instructs the bus switch 13 to divide the bus 8 and the bus 9. The buses 8 and 9 are divided at the position of the bus switch 13. Therefore, the inter-register arithmetic logic operation instruction is read from the instruction memory 1 via the instruction register 2 and input to the instruction decoder 3. The instruction decoder 3 in turn outputs a control signal instructing the arithmetic logic operation between registers. Then from registers 15 and 16 to bus 8 respectively
And the data is output to the bus 9. ALU14 is bus 8
And an arithmetic logic operation of the data on the bus 9 and output the result to the register 15.

【0015】このようにして、メモリ間積和演算とレジ
スタ間算術論理演算が並列実行される。このとき、バス
8と9は、前述のようにバススイッチ13の位置で分割
されているので、データメモリ4と5から出力されるデ
ータとレジスタ15と16から出力されるデータとが衝
突することはない。
In this way, the inter-memory product-sum operation and the inter-register arithmetic logic operation are executed in parallel. At this time, since the buses 8 and 9 are divided at the position of the bus switch 13 as described above, the data output from the data memories 4 and 5 and the data output from the registers 15 and 16 may collide with each other. There is no.

【0016】以上のように、本実施例においては、メモ
リ間積和演算検出部12がメモリ間積和演算を検出した
ときに、バススイッチ13がバス8を、データメモリ4
および積和演算器10が接続されている部分とALU1
4およびレジスタ15が接続されている部分とに分割
し、またバス9を、データメモリ5および積和演算器1
0が接続されている部分とALU14およびレジスタ1
6が接続されている部分とに分割するので、データメモ
リ4と5から出力されるデータとレジスタ15と16か
ら出力されるデータとが衝突することなく、データメモ
リ間の積和演算とレジスタ間の算術論理演算を並列に実
行することができる。したがって、本実施例の演算処理
装置は、演算器の使用効率が向上するいう効果と、定め
られた処理を短い時間で実行できるという効果と、低い
動作周波数で実行できるので低消費電力で実行できると
いう効果を有する。
As described above, in the present embodiment, when the inter-memory product-sum operation detection unit 12 detects the inter-memory product-sum operation, the bus switch 13 connects the bus 8 and the data memory 4 to each other.
And the part to which the product-sum calculator 10 is connected and the ALU1
4 and register 15 are connected to each other, and the bus 9 is divided into a data memory 5 and a product-sum calculator 1
0 is connected to ALU14 and register 1
6 is connected to the connected portion, the data output from the data memories 4 and 5 and the data output from the registers 15 and 16 do not collide with each other, and the product-sum calculation between the data memories and the register The arithmetic logic operations of can be executed in parallel. Therefore, the arithmetic processing unit according to the present embodiment can improve the efficiency of use of the arithmetic unit, can execute the predetermined processing in a short time, and can execute the processing at a low operating frequency so that it can be executed with low power consumption. Has the effect.

【0017】(実施例2:請求項3と8に対応)次に、
本発明の第2の実施例について、図面を用いて説明す
る。図2は本発明の第2の実施例における演算処理装置
の概略ブロック図であり、第1の実施例と同じ要素には
同じ符号を付してある。図2において、17と18は第
1のCPUレジスタファイルを構成するCPUレジスタ
であり、それぞれバス8と9およびALU14の出力に
接続されている。19は第2のバススイッチとしてのバ
ススイッチであり、メモリ間積和演算検出部12と後述
するCPUバス20に接続されている。21はCPUメ
モリであり、CPUバス20に接続され、CPU処理に
必要な命令やデータが格納されている。22はCPU制
御部(第2のプログラム制御装置)であり、メモリ間積
和演算処理部12がメモリ間積和演算が実行されている
ことを示している時にCPUの処理に必要な制御信号を
出力する。24はCPU処理部であり、CPU処理を行
う場合にCPU制御部22から制御される。これら以外
の構成要素は第1の実施例と同様であるので説明を省略
する。
Example 2 (corresponding to claims 3 and 8) Next,
A second embodiment of the present invention will be described with reference to the drawings. FIG. 2 is a schematic block diagram of an arithmetic processing unit according to the second embodiment of the present invention, and the same elements as those in the first embodiment are designated by the same reference numerals. In FIG. 2, reference numerals 17 and 18 denote CPU registers forming the first CPU register file, which are connected to the buses 8 and 9 and the output of the ALU 14, respectively. Reference numeral 19 denotes a bus switch as a second bus switch, which is connected to the inter-memory product-sum operation detection unit 12 and a CPU bus 20 described later. Reference numeral 21 denotes a CPU memory, which is connected to the CPU bus 20 and stores instructions and data necessary for CPU processing. Reference numeral 22 denotes a CPU control unit (second program control device), which outputs a control signal necessary for CPU processing when the memory-memory product-sum calculation processing unit 12 indicates that the memory-memory product-sum calculation is being executed. Output. A CPU processing unit 24 is controlled by the CPU control unit 22 when performing CPU processing. The other constituent elements are the same as those in the first embodiment, and the description thereof will be omitted.

【0018】次に、本実施例の構成において、メモリ間
積和演算と並列にCPU処理を同時実行する際の動作に
ついて、図2を参照しながら説明する。命令メモリ1か
らメモリ間積和演算命令が命令レジスタ2を経由して、
命令デコーダ3に入力される。命令デコーダ3は、メモ
リ間積和演算を指示する制御信号を各部に出力する。ア
ドレス発生部6と7は、積和演算対象のデータが格納さ
れているアドレスを発生して、それぞれデータメモリ4
と5に供給する。データメモリ4と5は、積和演算対象
のデータをそれぞれバス8とバス9に出力する。積和演
算器10は、バス8と9のデータを入力して積和演算を
行い、結果をアキュムレータ11に出力する。シーケン
ス制御部25は、以上のように積和演算が事前に定めら
れた回数だけ実行されるように、アドレス発生部6と
7、データメモリ4と5、積和演算器10およびアキュ
ムレータ11を制御する。
Next, in the configuration of the present embodiment, the operation when the CPU processing is simultaneously executed in parallel with the inter-memory product sum operation will be described with reference to FIG. An inter-memory multiply-accumulate operation instruction from the instruction memory 1 passes through the instruction register 2,
It is input to the instruction decoder 3. The instruction decoder 3 outputs a control signal instructing an inter-memory product sum operation to each unit. The address generators 6 and 7 generate an address in which the data to be subjected to the sum-of-products operation are stored, respectively
And supply to 5. The data memories 4 and 5 output the data of the product sum operation target to the buses 8 and 9, respectively. The product-sum calculator 10 inputs the data on the buses 8 and 9 to perform a product-sum calculation, and outputs the result to the accumulator 11. The sequence controller 25 controls the address generators 6 and 7, the data memories 4 and 5, the product-sum calculator 10 and the accumulator 11 so that the product-sum calculation is executed a predetermined number of times as described above. To do.

【0019】一方、命令デコーダ3からのメモリ間積和
演算を指示する制御信号を検出した、メモリ間積和演算
検出部12は、バススイッチ13にバス8とバス9の分
割を指示する。バス8とバス9は、バススイッチ13の
位置で分割される。このバス8とバス9がバススイッチ
13の位置で分割されている状態で、CPU処理部24
は、CPU制御部22の制御によりCPU処理を行う。
On the other hand, the inter-memory product-sum operation detecting section 12 which has detected the control signal instructing the inter-memory product-sum operation from the instruction decoder 3 instructs the bus switch 13 to divide the bus 8 and the bus 9. The buses 8 and 9 are divided at the position of the bus switch 13. With the bus 8 and the bus 9 divided at the position of the bus switch 13, the CPU processing unit 24
Performs CPU processing under the control of the CPU control unit 22.

【0020】メモリ間積和演算検出部12は、CPU制
御部22にメモリ間積和演算検出結果を出力するととも
に、バススイッチ19にバス8またはバス9とCPUバ
ス20を接続するように指示する。CPUメモリ21と
CPUレジスタ17との間でデータ転送をする場合は、
バス8とCPUバス20が接続される。CPUメモリ2
1とCPUレジスタ18との間でデータ転送をする場合
は、バス9とCPUバス20が接続される。CPUメモ
リ21からCPUレジスタ17と18に転送されたデー
タに対して演算する場合は、CPUレジスタ17と18
からそれぞれバス8と9にデータが出力される。ALU
14は、バス8とバス9のデータの算術論理演算を行
い、結果をCPUレジスタ17に出力する。
The inter-memory product-sum operation detection unit 12 outputs the inter-memory product-sum operation detection result to the CPU control unit 22 and instructs the bus switch 19 to connect the bus 8 or the bus 9 and the CPU bus 20. . When transferring data between the CPU memory 21 and the CPU register 17,
The bus 8 and the CPU bus 20 are connected. CPU memory 2
When data is transferred between 1 and the CPU register 18, the bus 9 and the CPU bus 20 are connected. When operating on the data transferred from the CPU memory 21 to the CPU registers 17 and 18, the CPU registers 17 and 18
To output data to buses 8 and 9, respectively. ALU
14 performs arithmetic and logic operations on the data on the buses 8 and 9 and outputs the result to the CPU register 17.

【0021】このようにして、メモリ間積和演算とCP
U処理が並列実行される。このとき、バス8と9は、前
述のようにバススイッチ13の位置で分割されているの
で、データメモリ4と5から出力されるデータとレジス
タ17と18およびCPUバス20から出力されるデー
タとが衝突することはない。
In this way, the product-sum operation between memories and the CP
U processing is executed in parallel. At this time, since the buses 8 and 9 are divided at the position of the bus switch 13 as described above, the data output from the data memories 4 and 5 and the data output from the registers 17 and 18 and the CPU bus 20 are divided. Do not collide.

【0022】以上のように、本実施例においては、メモ
リ間積和演算検出部12がメモリ間積和演算を検出した
ときに、バススイッチ13がバス8を、データメモリ4
および積和演算器10が接続されている部分とALU1
4およびCPUレジスタ17が接続されている部分とに
分割し、またバス9を、データメモリ5および積和演算
器10が接続されている部分とALU14およびCPU
レジスタ18が接続されている部分とに分割するので、
CPUレジスタ17と18から出力されるデータとデー
タメモリ4と5から出力されるデータとが衝突すること
なく、データメモリ間の積和演算とCPU処理を並列に
実行することができる。またCPUメモリ21とCPU
レジスタ17、18とのデータ転送が可能になる。
As described above, in the present embodiment, when the inter-memory product-sum operation detector 12 detects the inter-memory product-sum operation, the bus switch 13 connects the bus 8 and the data memory 4
And the part to which the product-sum calculator 10 is connected and the ALU1
4 and the portion to which the CPU register 17 is connected, and the bus 9 is connected to the portion to which the data memory 5 and the product-sum calculator 10 are connected, the ALU 14 and the CPU.
Since it is divided into the part to which the register 18 is connected,
The data sum output between the data memories and the CPU processing can be executed in parallel without the data output from the CPU registers 17 and 18 colliding with the data output from the data memories 4 and 5. CPU memory 21 and CPU
Data transfer with the registers 17 and 18 becomes possible.

【0023】したがって、本実施例の演算処理装置は、
DSP処理とCPU処理を共通の演算器で並列に処理す
ることができるので、演算器の使用効率が向上するいう
効果と、定められた処理を短い時間で実行できるという
効果と、低い動作周波数で実行できるので、低消費電力
で実行できるという効果を有する。またALU14をC
PU処理部と兼用することにより、CPU専用のALU
を設置する必要がなくなるので、LSIのチップサイズ
を小さくしてコストを削減できるという効果を有する。
Therefore, the arithmetic processing unit of this embodiment is
Since the DSP processing and the CPU processing can be processed in parallel by the common arithmetic unit, the use efficiency of the arithmetic unit is improved, the predetermined processing can be executed in a short time, and the operating frequency is low. Since it can be executed, it has an effect that it can be executed with low power consumption. ALU14 to C
ALU dedicated to the CPU by also serving as the PU processing unit
Since there is no need to install the device, there is an effect that the chip size of the LSI can be reduced and the cost can be reduced.

【0024】(実施例3:請求項4に対応)次に、本発
明の第3の実施例について、図3と図4を用いて説明す
る。図3は本発明の第3の実施例における演算処理装置
の概略ブロック図であり、第1の実施例と同じ要素には
同じ符号を付してある。図4は図3におけるアドレス発
生部6の概略ブロック図である。図4において、601
はアドレスレジスタであり、バス8と後述するアドレス
ALU603の入力と出力に接続されている。602は
増分レジスタであり、バス8と後述するアドレスALU
603の入力と出力に接続されている。603はアドレ
スALUであり、アドレスレジスタ601の値と増分レ
ジスタ602の値の演算を行って、結果をアドレスレジ
スタ601に格納する。604はアドレスカウンタであ
り、アドレスレジスタ601の出力を格納して、データ
メモリ4にアドレスを供給するとともに、シーケンス制
御部25の指示によりインクリメントまたはデクリメン
トを行う。60はアドレスレジスタ601を修飾するた
めのアドレス演算部であり、アドレスレジスタ601と
増分レジスタ602とアドレスALU603から構成さ
れる。
(Third Embodiment: Corresponding to Claim 4) Next, a third embodiment of the present invention will be described with reference to FIGS. FIG. 3 is a schematic block diagram of an arithmetic processing unit according to the third embodiment of the present invention, and the same elements as those in the first embodiment are designated by the same reference numerals. FIG. 4 is a schematic block diagram of the address generator 6 in FIG. In FIG. 4, 601
Is an address register, which is connected to the bus 8 and the input and output of an address ALU 603 described later. Reference numeral 602 denotes an increment register, which is a bus 8 and an address ALU described later.
It is connected to the input and output of 603. An address ALU 603 calculates the value of the address register 601 and the value of the increment register 602, and stores the result in the address register 601. An address counter 604 stores the output of the address register 601, supplies the address to the data memory 4, and increments or decrements according to an instruction from the sequence control unit 25. Reference numeral 60 is an address calculation unit for modifying the address register 601, and is composed of an address register 601, an increment register 602, and an address ALU 603.

【0025】次に、本実施例の構成において、メモリ間
積和演算と並列にアドレス演算部605でアドレス演算
を行う動作について、図3と図4を参照しながら説明す
る。命令メモリ1からメモリ間積和演算命令が命令レジ
スタ2を経由して、命令デコーダ3に入力される。命令
デコーダ3は、メモリ間積和演算を指示する制御信号を
出力する。アドレス発生部6と7は、積和演算対象のデ
ータが格納されているアドレスを発生して、それぞれデ
ータメモリ4と5に供給する。この時アドレス発生部6
では、図4におけるアドレスレジスタ601からアドレ
スカウンタ604に初期アドレスがロードされ、データ
メモリ4に出力される。データメモリ4と5は、積和演
算対象のデータをそれぞれバス8とバス9に出力する。
積和演算器10は、バス8と9のデータを入力して積和
演算を行い、結果をアキュムレータ11に出力する。シ
ーケンス制御部25は、以上のような積和演算が事前に
定められた回数だけ実行されるように、アドレス発生部
6と7、データメモリ4と5、積和演算器10およびア
キュムレータ11を制御する。
Next, in the configuration of this embodiment, the operation of performing the address operation in the address operation unit 605 in parallel with the inter-memory product sum operation will be described with reference to FIGS. 3 and 4. An inter-memory product sum operation instruction is input from the instruction memory 1 to the instruction decoder 3 via the instruction register 2. The instruction decoder 3 outputs a control signal instructing an inter-memory product sum operation. The address generators 6 and 7 generate an address in which the data of the product-sum operation target is stored and supply it to the data memories 4 and 5, respectively. At this time, the address generator 6
Then, the initial address is loaded from the address register 601 in FIG. 4 to the address counter 604 and output to the data memory 4. The data memories 4 and 5 output the data of the product sum operation target to the buses 8 and 9, respectively.
The product-sum calculator 10 inputs the data on the buses 8 and 9 to perform a product-sum calculation, and outputs the result to the accumulator 11. The sequence controller 25 controls the address generators 6 and 7, the data memories 4 and 5, the product-sum calculator 10 and the accumulator 11 so that the product-sum calculation as described above is executed a predetermined number of times. To do.

【0026】一方、アドレス発生部6においては、シー
ケンス制御部25の指示により、アドレスカウンタ60
4が、アドレスレジスタ601から最初にロードされた
値を順にインクリメントまたはデクリメントしながらデ
ータメモリ4にアドレスを供給していく。したがって、
これと並列に、アドレス演算部60は別のアドレス演算
を行うことができる。すなわち、アドレスレジスタ60
1に格納されているアドレス値と増分レジスタ602に
格納されている修飾値との加算をアドレスALU603
で行い、結果をアドレスレジスタ601に格納する。
On the other hand, in the address generator 6, the address counter 60 is instructed by the sequence controller 25.
4 sequentially supplies the address to the data memory 4 while incrementing or decrementing the value initially loaded from the address register 601. Therefore,
In parallel with this, the address calculation unit 60 can perform another address calculation. That is, the address register 60
The addition of the address value stored in 1 and the modification value stored in the increment register 602 is added to the address ALU 603.
Then, the result is stored in the address register 601.

【0027】以上のように、本実施例では、メモリ間積
和演算実行時に、アドレス発生部6において、アドレス
カウンタ604が独立して積和演算に必要なアドレスを
データメモリ4に供給するので、これと並列にアドレス
演算部601において、アドレスレジスタ601の値を
更新するためのアドレス演算を行うことができ、アドレ
スALU603の利用効率が高まるとともに、処理を高
速に行うことができるという効果を有する。
As described above, in the present embodiment, the address counter 604 in the address generator 6 independently supplies the address required for the product-sum operation to the data memory 4 when the memory-memory product-sum operation is executed. In parallel with this, the address calculation unit 601 can perform an address calculation for updating the value of the address register 601, which has the advantages that the utilization efficiency of the address ALU 603 is increased and the processing can be performed at high speed.

【0028】なお、本実施例において、アドレス発生部
7も図4に示したアドレス発生部6と同様に構成すれ
ば、アドレス発生部7においてもさらに同じ効果を得る
ことができる。
In the present embodiment, if the address generator 7 is also constructed in the same manner as the address generator 6 shown in FIG. 4, the same effect can be obtained in the address generator 7.

【0029】また、図4におけるアドレス演算部605
の構成は、説明を簡単にするため単純な構成を示してあ
るが、アドレスレジスタの本数を増やすなど種々の設計
変更が可能である。
The address calculation unit 605 shown in FIG.
Although a simple structure is shown in FIG. 6 for the sake of simplicity, various design changes such as increasing the number of address registers are possible.

【0030】(実施例4:請求項5と9に対応)次に、
本発明の第4の実施例について、図5と図6を用いて説
明する。図5は本発明の第4の実施例における演算処理
装置の概略ブロック図であり、第1の実施例と同じ要素
には同じ符号を付してある。図6は図5におけるアドレ
ス発生部600の概略ブロック図である。図6におい
て、601から604は、図4の第3の実施例における
ものと同様なので説明を省略する。また601から60
3によりアドレス演算部60が構成されていることも同
様である。605と606は第2のCPUレジスタファ
イルを構成するCPUレジスタである。607は第2の
CPU処理部であり、前述のアドレスALU603とC
PUレジスタ605および606から構成され、CPU
処理を行う場合にCPU制御部22から制御される。
(Example 4: Corresponding to claims 5 and 9) Next,
A fourth embodiment of the present invention will be described with reference to FIGS. FIG. 5 is a schematic block diagram of an arithmetic processing unit according to the fourth embodiment of the present invention, and the same elements as those in the first embodiment are designated by the same reference numerals. FIG. 6 is a schematic block diagram of the address generator 600 in FIG. In FIG. 6, reference numerals 601 to 604 are the same as those in the third embodiment of FIG. Also 601 to 60
The same applies to the case where the address calculation unit 60 is configured by 3. Reference numerals 605 and 606 are CPU registers forming the second CPU register file. Reference numeral 607 denotes a second CPU processing unit, which has the addresses ALU 603 and C described above.
CPU including PU registers 605 and 606
It is controlled by the CPU controller 22 when processing is performed.

【0031】次に、本実施例の構成において、メモリ間
積和演算と並列にCPU処理を同時実行する動作につい
て、図5と6を参照しながら説明する。第1のCPU処
理部24におけるCPU処理の動作は図2を用いて説明
した第2の実施例の場合と同様である。本実施例では、
さらに図6に示した第2のCPU処理部607におい
て、並列にCPU処理を行う動作を説明する。メモリ間
積和演算実行時は、シーケンス制御部25からの制御に
より、アドレスカウンタ604は、初めにアドレスレジ
スタ601からロードされた初期アドレスをインクリメ
ントまたはデクリメントしながら順にデータメモリ4に
アドレスを供給する。第2のCPU処理部607は、こ
れと並列にCPU制御部22に制御されてCPU処理を
行う。すなわち、CPUレジスタ605と606に格納
されたデータに対して、アドレスALU603が算術論
理演算を行い、結果をCPUレジスタ605に格納す
る。CPUレジスタ605および606とCPUメモリ
21との間のデータ転送は、CPUバス20とバススイ
ッチ19およびバス8を介して行うことができる。
Next, in the configuration of the present embodiment, the operation of simultaneously executing the CPU processing in parallel with the inter-memory product sum operation will be described with reference to FIGS. The operation of the CPU processing in the first CPU processing unit 24 is the same as that of the second embodiment described with reference to FIG. In this embodiment,
Further, an operation of performing CPU processing in parallel in the second CPU processing unit 607 shown in FIG. 6 will be described. When performing the memory sum-of-products calculation, the address counter 604 sequentially supplies the addresses to the data memory 4 while incrementing or decrementing the initial address initially loaded from the address register 601 under the control of the sequence controller 25. The second CPU processing unit 607 is controlled by the CPU control unit 22 in parallel with this to perform the CPU processing. That is, the address ALU 603 performs arithmetic logic operation on the data stored in the CPU registers 605 and 606, and stores the result in the CPU register 605. Data transfer between the CPU registers 605 and 606 and the CPU memory 21 can be performed via the CPU bus 20, the bus switch 19 and the bus 8.

【0032】以上のように、本実施例においては、メモ
リ間積和演算実行中に、並列にALU14でCPU処理
が実行できるだけでなく、アドレス発生部600内のア
ドレスALU603においても並列にCPU処理を行う
ことができる。これにより、例えばCPUのアドレス計
算を、第2のCPU処理部607で行いながら、CPU
のデータ処理を第1のCPU処理部24で並列に行うこ
とができる。またアドレスALU603をCPU処理部
と兼用することにより、CPU専用のALUを設置する
必要がなくなるので、LSIのチップサイズを小さくし
てコストを削減できるという効果を有する。
As described above, in the present embodiment, not only the CPU processing can be executed by the ALU 14 in parallel during the execution of the product sum calculation between memories, but also the CPU processing can be executed in parallel by the address ALU 603 in the address generator 600. It can be carried out. Thus, for example, while the CPU address calculation is being performed by the second CPU processing unit 607, the CPU
The data processing can be performed in parallel by the first CPU processing unit 24. Further, since the address ALU 603 is also used as the CPU processing unit, it is not necessary to install an ALU dedicated to the CPU, so that the chip size of the LSI can be reduced and the cost can be reduced.

【0033】なお、アドレス発生部600を図8に示す
ようにCPUレジスタ605と606をバス8でなく、
CPUバス20に接続するようにすれば、処理の並列度
をさらにあげることができる。なぜなら、第1のCPU
処理部24において、バス8を使用しながらCPUレジ
スタ17に対して演算を行っているのと並列に、CPU
バス20を介して第2のCPU処理部607にCPUメ
モリ21からデータを転送できるようになるからであ
る。
In the address generator 600, as shown in FIG. 8, the CPU registers 605 and 606 are not the bus 8 but the
By connecting to the CPU bus 20, the parallelism of processing can be further increased. Because the first CPU
In the processing unit 24, while the bus 8 is being used to perform calculations on the CPU register 17, the CPU
This is because data can be transferred from the CPU memory 21 to the second CPU processing unit 607 via the bus 20.

【0034】(実施例5:請求項6と7に対応)次に、
本発明の第5の実施例について、図7と8を用いて説明
する。図7は本発明の第5の実施例における演算処理装
置の概略ブロック図である。図7において、1から5お
よび7から16および25は、図1に示した第1の実施
例におけるものと同じである。23はメモリアクセス検
出部であり、命令デコーダ3で解読した命令がデータメ
モリ4にアクセスする命令かどうか検出する。800は
アドレス発生部であり、図8のように構成されている。
図8において、601から606は第4の実施例の図6
と同様である。また601から603によりアドレス演
算部60が構成されていることも同様である。図6との
違いは、第2のCPUレジスタファイルとしてのCPU
レジスタ605と606が、バス8でなくCPUバス2
0に接続されている点である。801は第2のCPU処
理部を構成するものである。
(Fifth Embodiment: Corresponding to Claims 6 and 7)
A fifth embodiment of the present invention will be described with reference to FIGS. FIG. 7 is a schematic block diagram of an arithmetic processing unit according to the fifth embodiment of the present invention. In FIG. 7, 1 to 5 and 7 to 16 and 25 are the same as those in the first embodiment shown in FIG. A memory access detector 23 detects whether the instruction decoded by the instruction decoder 3 is an instruction to access the data memory 4. Reference numeral 800 is an address generator, which is configured as shown in FIG.
In FIG. 8, reference numerals 601 to 606 are the same as those in the fourth embodiment.
Is the same as The same applies to that the address calculation unit 60 is composed of 601 to 603. The difference from FIG. 6 is that the CPU as the second CPU register file
Registers 605 and 606 are CPU bus 2 instead of bus 8.
It is connected to 0. Reference numeral 801 constitutes a second CPU processing section.

【0035】以上のように構成された演算処理装置にお
いて、メモリ間積和演算と並列にALU14とレジスタ
15、16を用いたレジスタ間演算を行う動作は、第1
の実施例と同様である。また、メモリ間積和演算と並列
に、第2のCPU処理部801を用いてCPU処理を行
う動作は、第4の実施例の場合と同様である。本実施例
ではさらに、データメモリ4を用いない演算、すなわ
ち、例えばデータメモリ5のデータとレジスタ15のデ
ータに対してALU14を用いて算術論理演算するのと
並列に、第2のCPU処理部801を用いてCPU処理
を行う動作について説明する。まず上記のような算術論
理演算を指示する命令が命令メモリ1から命令レジスタ
2を介して命令デコーダ3に入力される。メモリ間積和
演算検出部12は、バススイッチ13をバス8と9を分
割しない状態にする。データメモリ5から読み出された
データは、バス9を介してALU14に入力される。レ
ジスタ15のデータは、バス8を介してALU14に入
力される。ALU14は、上記2個のデータに対して算
術論理演算を行い、結果をレジスタ16に格納する。こ
の時メモリアクセス検出部23は、データメモリ4に対
するメモリアクセスを検出しないので、CPU制御部2
2は、図8における第2のCPU処理部801を制御で
きる状態となる。すなわち、例えばCPUレジスタ60
5と606のデータに対してアドレスALU603で加
算を行い、結果をCPUレジスタ605に格納する。あ
るいはCPUバス20を介して、CPUメモリ21とC
PUレジスタ606の間のデータ転送を行う。
In the arithmetic processing device configured as described above, the operation for performing the inter-register operation using the ALU 14 and the registers 15 and 16 in parallel with the inter-memory product sum operation is the first operation.
This is the same as the embodiment. The operation of performing CPU processing using the second CPU processing unit 801 in parallel with the inter-memory product sum operation is the same as in the case of the fourth embodiment. In the present embodiment, further, the second CPU processing unit 801 is operated in parallel with an operation that does not use the data memory 4, that is, an arithmetic logical operation using the ALU 14 for the data of the data memory 5 and the data of the register 15, for example. The operation of performing CPU processing by using will be described. First, an instruction instructing the arithmetic logic operation as described above is input from the instruction memory 1 to the instruction decoder 3 via the instruction register 2. The inter-memory product sum operation detection unit 12 puts the bus switch 13 into a state in which the buses 8 and 9 are not divided. The data read from the data memory 5 is input to the ALU 14 via the bus 9. The data in the register 15 is input to the ALU 14 via the bus 8. The ALU 14 performs arithmetic logic operation on the above two data and stores the result in the register 16. At this time, since the memory access detection unit 23 does not detect the memory access to the data memory 4, the CPU control unit 2
2 becomes a state in which the second CPU processing unit 801 in FIG. 8 can be controlled. That is, for example, the CPU register 60
The data of 5 and 606 are added by the address ALU 603, and the result is stored in the CPU register 605. Alternatively, via the CPU bus 20, the CPU memory 21 and C
Data is transferred between the PU registers 606.

【0036】以上のように、本実施例における演算処理
装置では、メモリ間積和演算と並列にALU14とレジ
スタ15、16を用いたレジスタ間演算を行うことがで
き、また、メモリ間積和演算と並列に、第2のCPU処
理部801を用いてCPU処理を行うことができ、さら
に加えてメモリアクセス検出部23がデータメモリ4に
対するアクセスの有無を検出することによって、データ
メモリ4に対するアクセスがない命令を実行するのと並
列に、第2のCPU処理部801を用いてCPU処理を
行うことができる。したがって、アドレス発生部800
におけるアドレスALU603の使用効率をさらに高め
ることができるという効果を有する。またアドレスAL
U603をCPU処理部と兼用することにより、CPU
専用のALUを設置する必要がなくなるので、LSIの
チップサイズを小さくしてコストを削減できるという効
果を有する。
As described above, the arithmetic processing unit according to the present embodiment can perform the inter-register operation using the ALU 14 and the registers 15 and 16 in parallel with the inter-memory product sum operation. In parallel with the above, CPU processing can be performed using the second CPU processing unit 801, and in addition, the memory access detection unit 23 detects whether or not the data memory 4 is accessed, so that the data memory 4 can be accessed. The CPU processing can be performed by using the second CPU processing unit 801 in parallel with the execution of the non-instruction. Therefore, the address generator 800
It is possible to further improve the use efficiency of the address ALU 603 in FIG. Also the address AL
By using U603 as the CPU processing unit,
Since there is no need to install a dedicated ALU, there is an effect that the chip size of the LSI can be reduced and the cost can be reduced.

【0037】なお、本実施例において、アドレス発生部
7もアドレス発生部800と同様な構成にすれば、アド
レス発生部7においてもさらに同様な効果を得ることが
できる。
In this embodiment, if the address generator 7 has the same structure as the address generator 800, the address generator 7 can obtain the same effect.

【0038】また、上記5つの実施例では、データメモ
リのアドレス発生部をCPU処理部と兼用するようにし
ているが、図示していない命令メモリアドレス発生部を
CPU処理部と兼用するように構成してもよい。
In the above five embodiments, the address generating unit of the data memory is also used as the CPU processing unit, but the instruction memory address generating unit (not shown) is also used as the CPU processing unit. You may.

【0039】[0039]

【発明の効果】以上の説明から明らかなように、本発明
の演算処理装置は、演算器の使用効率を向上させて並列
処理による高速化を図ることができ、またCPUと組み
合わせてLSI化する場合に、演算器を共用できるの
で、そのチップ面積を削減してコストを低減できるとい
う効果を有する。
As is apparent from the above description, the arithmetic processing unit of the present invention can improve the efficiency of use of arithmetic units to achieve high speed by parallel processing, and can be integrated with a CPU to form an LSI. In this case, since the arithmetic unit can be shared, the chip area can be reduced and the cost can be reduced.

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

【図1】本発明の第1の実施例における演算処理装置の
構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of an arithmetic processing unit according to a first embodiment of the present invention.

【図2】本発明の第2の実施例における演算処理装置の
構成を示すブロック図
FIG. 2 is a block diagram showing a configuration of an arithmetic processing unit according to a second embodiment of the present invention.

【図3】本発明の第3の実施例における演算処理装置の
構成を示すブロック図
FIG. 3 is a block diagram showing a configuration of an arithmetic processing unit according to a third embodiment of the present invention.

【図4】本発明の第3の実施例におけるアドレス発生部
の構成を示すブロック図
FIG. 4 is a block diagram showing a configuration of an address generator in a third embodiment of the present invention.

【図5】本発明の第4の実施例における演算処理装置の
構成を示すブロック図
FIG. 5 is a block diagram showing a configuration of an arithmetic processing unit according to a fourth embodiment of the present invention.

【図6】本発明の第4の実施例におけるアドレス発生部
の構成を示すブロック図
FIG. 6 is a block diagram showing a configuration of an address generator in a fourth embodiment of the present invention.

【図7】本発明の第5の実施例における演算処理装置の
構成を示すブロック図
FIG. 7 is a block diagram showing a configuration of an arithmetic processing unit according to a fifth embodiment of the present invention.

【図8】本発明の第5の実施例におけるアドレス発生部
の構成を示すブロック図
FIG. 8 is a block diagram showing a configuration of an address generator in a fifth embodiment of the present invention.

【図9】従来例における演算処理装置の構成を示すブロ
ック図
FIG. 9 is a block diagram showing a configuration of an arithmetic processing unit in a conventional example.

【符号の説明】[Explanation of symbols]

1 命令メモリ 2 命令レジスタ 3 命令デコーダ(第1のプログラム制御装置) 4、5 データメモリ 6、7 アドレス発生部 8、9 バス 10 積和演算器 11 アキュムレータ 12 メモリ間積和演算検出部 13 第1のバススイッチ 14 ALU 15、16 レジスタ 17、18 CPUレジスタ(第1のCPUレジスタフ
ァイル) 19 第2のバススイッチ 20 CPUバス 21 CPUメモリ 22 CPU制御部(第2のプログラム制御装置) 23 メモリアクセス検出部 24 CPU処理部 25 シーケンス制御部 60 アドレス演算部 600 アドレス発生部 601 アドレスレジスタ 604 アドレスカウンタ 605、606CPUレジスタ(第2のCPUレジスタ
ファイル)
1 Instruction Memory 2 Instruction Register 3 Instruction Decoder (First Program Control Unit) 4, 5 Data Memory 6, 7 Address Generator 8, 9 Bus 10 Sum of Products Calculator 11 Accumulator 12 Memory Sum of Products Calculation Detecting Unit 13 1st Bus switch 14 ALU 15, 16 registers 17, 18 CPU register (first CPU register file) 19 second bus switch 20 CPU bus 21 CPU memory 22 CPU controller (second program controller) 23 memory access detection Unit 24 CPU processing unit 25 sequence control unit 60 address calculation unit 600 address generation unit 601 address register 604 address counter 605, 606 CPU register (second CPU register file)

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 命令コードを記憶する命令記憶手段と、
前記命令記憶手段から出力される命令コードを解読する
命令デコーダと、データを記憶するデータメモリおよび
レジスタと、前記データメモリにアドレスを供給するア
ドレス発生部と、前記データメモリとレジスタに接続さ
れたデータバスと、前記データバスのデータに対して演
算する第1の演算器と、前記データバスのデータに対し
て演算し結果を前記レジスタに格納する第2の演算器
と、前記命令デコーダが解読した命令が前記第1の演算
器で前記データメモリのデータに対して演算する命令で
あることを検出するメモリ間演算検出手段と、前記メモ
リ間演算検出手段の検出結果に基づいて前記データバス
を前記データメモリおよび前記第1の演算器が接続され
た部分と前記レジスタおよび前記第2の演算器が接続さ
れた部分とに分割する第1のバススイッチとを備えた演
算処理装置。
1. An instruction storage means for storing an instruction code,
An instruction decoder that decodes the instruction code output from the instruction storage unit, a data memory and a register that stores data, an address generator that supplies an address to the data memory, and data connected to the data memory and the register. A bus, a first arithmetic unit that operates on the data of the data bus, a second arithmetic unit that operates on the data of the data bus and stores the result in the register, and the instruction decoder decodes The inter-memory operation detecting means for detecting that the instruction is an instruction to operate on the data of the data memory by the first arithmetic unit, and the data bus based on the detection result of the inter-memory operation detecting means. It is divided into a portion to which the data memory and the first arithmetic unit are connected and a portion to which the register and the second arithmetic unit are connected. First arithmetic processing unit and a bus switch.
【請求項2】 第1の演算器としての積和演算器と、第
2の演算器としてのALUとを備えた請求項1記載の演
算処理装置。
2. The arithmetic processing unit according to claim 1, further comprising a product-sum arithmetic unit as a first arithmetic unit and an ALU as a second arithmetic unit.
【請求項3】 CPUの命令やデータを記憶するCPU
メモリと、前記CPUメモリに接続されたCPUバス
と、メモリ間演算検出手段の検出結果に基づいて前記C
PUバスとデータバスを接続する第2のバススイッチ
と、前記データバスと第2の演算器出力に接続された第
1のCPUレジスタファイルと、前記メモリ間演算検出
手段に接続されて少なくとも前記第1のCPUレジスタ
ファイルおよび前記第2の演算器を制御するCPU制御
部とを備えた請求項1または2記載の演算処理装置。
3. A CPU for storing instructions and data of the CPU
The memory, the CPU bus connected to the CPU memory, and the C based on the detection result of the inter-memory operation detecting means.
A second bus switch connecting the PU bus and the data bus, a first CPU register file connected to the data bus and the output of the second arithmetic unit, and at least the first CPU register file connected to the inter-memory arithmetic operation detecting means. The arithmetic processing unit according to claim 1 or 2, further comprising a CPU register file and a CPU control unit for controlling the second arithmetic unit.
【請求項4】 命令コードを記憶する命令記憶手段と、
前記命令記憶手段から出力される命令コードを解読する
命令デコーダと、データを記憶するデータメモリおよび
レジスタと、前記データメモリにアドレスを供給するア
ドレス発生部と、前記データメモリとレジスタに接続さ
れたデータバスと、前記データバスのデータに対して演
算する第1の演算器と、前記命令デコーダが解読した命
令が前記第1の演算器で前記データメモリのデータに対
して演算する命令であることを検出するメモリ間演算検
出手段とを備え、前記アドレス発生部が、アドレスレジ
スタと、前記アドレスレジスタの出力を格納して、イン
クリメントまたはデクリメントしながら前記データメモ
リにアドレスを供給するアドレスカウンタと、前記アド
レスレジスタを含みこれを修飾するためのアドレス演算
部とを備えた演算処理装置。
4. An instruction storage means for storing an instruction code,
An instruction decoder that decodes the instruction code output from the instruction storage unit, a data memory and a register that stores data, an address generator that supplies an address to the data memory, and data connected to the data memory and the register. A bus, a first arithmetic unit that operates on the data of the data bus, and an instruction decoded by the instruction decoder is an instruction that operates on the data of the data memory by the first arithmetic unit. An inter-memory operation detecting means for detecting, the address generating section stores an address register, an output of the address register, an address counter for supplying an address to the data memory while incrementing or decrementing, and the address. An operation including a register and an address operation unit for modifying the register Management apparatus.
【請求項5】 アドレスレジスタと、前記アドレスレジ
スタの出力を格納して、インクリメントまたはデクリメ
ントしながらデータメモリにアドレスを供給するアドレ
スカウンタと、前記アドレスレジスタを含みこれを修飾
するためのアドレス演算部と、前記アドレス演算部の入
力および出力に接続された第2のCPUレジスタファイ
ルとを有するアドレス発生部を備えた請求項1または2
または3記載の演算処理装置。
5. An address register, an address counter that stores an output of the address register and supplies an address to a data memory while incrementing or decrementing the address register, and an address operation unit that includes the address register and modifies the address register. 3. An address generator having a second CPU register file connected to the input and output of the address calculator.
Or the arithmetic processing unit according to 3.
【請求項6】 命令デコーダが解読した命令がデータメ
モリのデータにアクセスする命令であることを検出する
メモリアクセス検出手段と、CPUの命令やデータを記
憶するCPUメモリと、前記CPUメモリに接続された
CPUバスと、前記メモリアクセス検出手段およびメモ
リ間演算検出手段に接続されてアドレス生成部を制御す
るCPU制御部とを備え、前記アドレス生成部が、アド
レスレジスタと、前記アドレスレジスタの出力を格納し
て、インクリメントまたはデクリメントしながら前記デ
ータメモリにアドレスを供給するアドレスカウンタと、
前記アドレスレジスタを含みこれを修飾するためのアド
レス演算部と、前記アドレス演算部の入力および出力と
前記CPUバスに接続された第2のCPUレジスタファ
イルとを備えた請求項1または2の記載の演算処理装
置。
6. A memory access detection means for detecting that the instruction decoded by the instruction decoder is an instruction for accessing data in a data memory, a CPU memory for storing CPU instructions and data, and a CPU memory connected to the CPU memory. And a CPU control unit connected to the memory access detection unit and the inter-memory operation detection unit to control the address generation unit, the address generation unit storing an address register and an output of the address register. And an address counter that supplies an address to the data memory while incrementing or decrementing,
3. The address arithmetic unit including the address register for modifying the address register, the input / output of the address arithmetic unit, and a second CPU register file connected to the CPU bus. Processing unit.
【請求項7】 命令コードを記憶する命令記憶手段と、
前記命令記憶手段から出力される命令コードを解読する
命令デコーダと、データを記憶するデータメモリおよび
レジスタと、前記データメモリとレジスタに接続された
データバスと、前記データバスのデータに対して演算す
る第1の演算器と、前記命令デコーダが解読した命令が
前記データメモリのデータにアクセスする命令であるこ
とを検出するメモリアクセス検出手段と、前記データメ
モリにアドレスを供給するアドレスレジスタと、前記ア
ドレスレジスタを含みこれを修飾するためのアドレス演
算部と、CPUの命令やデータを記憶するCPUメモリ
と、前記CPUメモリに接続されたCPUバスと、前記
アドレス演算部の入力および出力と前記CPUバスに接
続された第2のCPUレジスタファイルと、前記メモリ
アクセス検出手段および前記メモリ間演算検出手段に接
続されて少なくとも前記第2のCPUレジスタファイル
および前記アドレス演算部を制御するCPU制御部とを
備えた演算処理装置。
7. An instruction storage means for storing an instruction code,
An instruction decoder that decodes an instruction code output from the instruction storage unit, a data memory and a register that stores data, a data bus connected to the data memory and the register, and an operation on the data of the data bus. A first arithmetic unit, memory access detection means for detecting that the instruction decoded by the instruction decoder is an instruction for accessing data in the data memory, an address register for supplying an address to the data memory, and the address An address arithmetic unit including a register for modifying the CPU, a CPU memory for storing CPU instructions and data, a CPU bus connected to the CPU memory, an input / output of the address arithmetic unit and the CPU bus. Second CPU register file connected, and the memory access detection means Preliminary the arithmetic processing device and a CPU control unit connected to the memory operation between the detection means for controlling at least said second CPU register file and the address calculation unit.
【請求項8】 データを記憶するデータメモリと、前記
データメモリに接続されたデータバスと、前記データバ
スに接続された乗算器を含む演算部と、前記データバス
に接続された算術論理演算ユニットとを備えた半導体基
板上に形成されたディジタル信号処理用の演算処理装置
であって、前記演算処理装置を制御する第1のプログラ
ム制御装置と、前記第1のプログラム制御装置が前記算
術論理演算ユニットを制御して使用するかどうかを検出
する検出手段と、前記検出手段が前記第1のプログラム
制御装置が前記算術論理演算ユニットを使用しないこと
を示したときに、前記算術論理演算ユニットを制御して
使用する第2のプログラム制御装置を備えた演算処理装
置。
8. A data memory for storing data, a data bus connected to the data memory, an arithmetic unit including a multiplier connected to the data bus, and an arithmetic logic operation unit connected to the data bus. An arithmetic processing unit for digital signal processing formed on a semiconductor substrate comprising: a first program control unit for controlling the arithmetic processing unit; and the first program control unit including the arithmetic logic operation. Controlling means for controlling whether to use the unit, and controlling the arithmetic logic operation unit when the detection means indicates that the first program controller does not use the arithmetic logic operation unit An arithmetic processing unit equipped with a second program control unit to be used as described above.
【請求項9】 データを記憶するデータメモリと、アド
レス演算器を備えて前記データメモリにアドレスを供給
するアドレス発生部と、前記データメモリに接続された
データバスと、前記データバスに接続された乗算器を含
む演算部と、前記データバスに接続された算術論理演算
ユニットとを備えた半導体基板上に形成されたディジタ
ル信号処理用の演算処理装置であって、前記演算処理装
置を制御する第1のプログラム制御装置と、前記第1の
プログラム制御装置が前記アドレス演算器を制御して使
用するかどうかを検出する検出手段と、前記検出手段が
前記第1のプログラム制御装置が前記アドレス演算器を
使用しないことを示したときに、前記アドレス演算器を
制御して使用する第2のプログラム制御装置を備えた演
算処理装置。
9. A data memory for storing data, an address generator having an address calculator for supplying an address to the data memory, a data bus connected to the data memory, and a data bus connected to the data bus. An arithmetic processing unit for digital signal processing, which is formed on a semiconductor substrate and includes an arithmetic unit including a multiplier and an arithmetic logic operation unit connected to the data bus, the arithmetic processing unit controlling the arithmetic processing unit. No. 1 program control device, detection means for detecting whether or not the first program control device controls and uses the address arithmetic unit, and the detection unit is the first program control device for the address arithmetic unit. An arithmetic processing unit comprising a second program control unit for controlling and using the address arithmetic unit when it is indicated that is not used.
JP7189519A 1995-07-25 1995-07-25 Arithmetic processor Pending JPH0944472A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7189519A JPH0944472A (en) 1995-07-25 1995-07-25 Arithmetic processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7189519A JPH0944472A (en) 1995-07-25 1995-07-25 Arithmetic processor

Publications (1)

Publication Number Publication Date
JPH0944472A true JPH0944472A (en) 1997-02-14

Family

ID=16242648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7189519A Pending JPH0944472A (en) 1995-07-25 1995-07-25 Arithmetic processor

Country Status (1)

Country Link
JP (1) JPH0944472A (en)

Similar Documents

Publication Publication Date Title
US6598148B1 (en) High performance microprocessor having variable speed system clock
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
KR100306107B1 (en) Semiconductor Integrated Circuits with CPUs and Multipliers
US6061779A (en) Digital signal processor having data alignment buffer for performing unaligned data accesses
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
US20060294344A1 (en) Computer processor pipeline with shadow registers for context switching, and method
EP1124181B1 (en) Data processing apparatus
JPH05224929A (en) Computer, pipeline processing method and instruction processing method
KR100288170B1 (en) Data processor with a compute unit that shares a set of register files
JPH05100948A (en) Speed improvement type data processing system executing square arithmetic operation and method thereof
US5757685A (en) Data processing system capable of processing long word data
US5909588A (en) Processor architecture with divisional signal in instruction decode for parallel storing of variable bit-width results in separate memory locations
JPH0581119A (en) General-purpose memory-access system using register indirect mode
JPH04213135A (en) External memory access system
US20080229063A1 (en) Processor Array with Separate Serial Module
JPH0944472A (en) Arithmetic processor
JP2006018411A (en) Processor
US5717891A (en) Digital signal processor with caching of instructions that produce a memory conflict
US20030126178A1 (en) Fast forwarding ALU
JPH053015B2 (en)
JPS60204029A (en) Signal processing device
JP2568760B2 (en) Product-sum operation circuit
Laborie et al. VLSI Digital signal processor (PSI)
JPH08305564A (en) Microcomputer