JPH0876973A - Arithmetic processing unit and extended arithmetic unit - Google Patents

Arithmetic processing unit and extended arithmetic unit

Info

Publication number
JPH0876973A
JPH0876973A JP6213693A JP21369394A JPH0876973A JP H0876973 A JPH0876973 A JP H0876973A JP 6213693 A JP6213693 A JP 6213693A JP 21369394 A JP21369394 A JP 21369394A JP H0876973 A JPH0876973 A JP H0876973A
Authority
JP
Japan
Prior art keywords
arithmetic
unit
data
instruction
bus
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
JP6213693A
Other languages
Japanese (ja)
Inventor
Yosuke Mizutani
陽介 水谷
Yoshikazu Asano
善和 浅野
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP6213693A priority Critical patent/JPH0876973A/en
Publication of JPH0876973A publication Critical patent/JPH0876973A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

PURPOSE: To attain high speed arithmetic processing by an arithmetic processing unit such as a microprocessor and a DSP even when there is much arithmetic processing volume like picture processing. CONSTITUTION: The arithmetic processing unit S can execute asynchronous processing operation based upon hand shaking and is constituted of a digital signal processor(DSP) e.g. The unit S is provided with external terminals t1a to t5a to be connected to an extended arithmetic unit P and the unit P is provided with external terminals t1b to t5b to be connected to the unit S. Both the units S, P are mutually connected so as to transfer data through the external terminals t1a to t5a and t1b to t5b. The unit P is provided with an extended arithmetic unit 17, and at the time of executing operation having much arithmetic processing volume like filter operation and matrix operation in picture processing, data are sent to the unit 17 and operation is executed by the unit 17 having high arithmetic capacity.

Description

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

【0001】[0001]

【産業上の利用分野】本発明はマイクロプロセッサ、D
SP(ディジタルシグナルプロセッサ)などのプログラ
ムにより動作する演算処理装置及び拡張演算装置に関す
るものである。
The present invention relates to a microprocessor, D
The present invention relates to an arithmetic processing unit and an extended arithmetic unit that operate according to a program such as an SP (digital signal processor).

【0002】[0002]

【従来の技術】画像処理を目的としたアーキテクチャを
持つ演算処理装置として、ドイツITT社のDSP:Da
ta-driven array processor (以下本明細書ではD-D.A.
P.と略記する)がある。そのアーキテクチャ、動作につ
いての詳細は以下の文献に詳細に示されている。
2. Description of the Related Art As an arithmetic processing unit having an architecture for image processing, a German ITT company DSP: Da
ta-driven array processor (hereinafter referred to as DD.A.
Abbreviated as P.). Details of its architecture and operation are detailed in the following documents.

【0003】「Data-driven array processor for vide
o signal processing 」 Ulrich Schmidt Kunt Caesar Thomas Himmel IEEE Transaction on Consumer Electronics vol.36, n
o.3 p.327-33 1990 若しくは同一題名、同一著者 ICCE Digest of technical papers 1990 EPM-21.3 (p32
6−p327) そのアーキテクチャはデータ駆動形アレイプロセッサ構
成と呼ばれており、以下にその特徴を簡単に説明する。
[Data-driven array processor for vide
o signal processing "Ulrich Schmidt Kunt Caesar Thomas Himmel IEEE Transaction on Consumer Electronics vol.36, n
o.3 p.327-33 1990 or same author, ICCE Digest of technical papers 1990 EPM-21.3 (p32
6-p327) Its architecture is called a data driven array processor configuration, and its features are briefly described below.

【0004】命令発生部(プログラムカウンタ、命令読
み出し、命令デコード)、レジスタファイル、入出力ポ
ート、MAC(乗累算器)、ALU(算術論理演算器)
で構成されており、それぞれがパイプライン処理構造で
ある。外部データの授受にはハンドシェーク動作の入力
ポート、出力ポートを用いるが、ここでデータの授受に
待ちが生じた場合には全てのパイプライン処理が途中で
停止する方式を用いている。D-D.A.P.ではこの動作をセ
ルフタイムドハンドシェークと表現している。
Instruction generator (program counter, instruction read, instruction decode), register file, input / output port, MAC (multiplier / accumulator), ALU (arithmetic and logic operator)
, Each of which is a pipeline processing structure. The input and output ports of the handshake operation are used for exchanging external data, but when a wait occurs for exchanging data, all pipeline processing is stopped midway. DD.AP describes this operation as a self-timed handshake.

【0005】以上の基本構成を持つプロセッサ(D-D.A.
P.ではセルと表現する)を複数個接続し、セル間で個別
のプログラムを動作させ、データの授受を行うが、前記
セルフタイムドハンドシェークを用いることで、セル間
のタイミングを意識せず、プログラムの記述が可能とな
っている。
A processor (DD.A.
P.) (expressed as cells in P.) are connected, individual programs are operated between cells, and data is transmitted and received, but by using the self-timed handshake, without being aware of the timing between cells, A program can be written.

【0006】次に、D-D.A.P.の1セル部分を従来方式の
演算処理装置とし、図4にその構成を示す。同図におい
て、1はプログラムカウンタ、2は命令読み出し回路、
3は命令デコード回路、4はレジスタファイル、5〜8
はそれぞれデータバスであり、ここではA、B、C、D
バスとそれぞれ表記する。9はALU、10はMAC、
11はマルチプレクサ(以下、MUXと表記する)、1
2,13はハンドシェーク機能を持つ入力ポート(以
下、ハンドシェーク入力ポートという)、14はMU
X、15はハンドシェーク機能を持つ出力ポート(以
下、ハンドシェーク出力ポートという)である。
Next, one cell portion of DD.AP is used as a conventional arithmetic processing unit, and its configuration is shown in FIG. In the figure, 1 is a program counter, 2 is an instruction read circuit,
3 is an instruction decoding circuit, 4 is a register file, 5-8
Are data buses, and here, A, B, C, D
Expressed as a bus. 9 is ALU, 10 is MAC,
11 is a multiplexer (hereinafter referred to as MUX), 1
2 and 13 are input ports having a handshake function (hereinafter referred to as handshake input ports), and 14 are MUs.
X and 15 are output ports having a handshake function (hereinafter referred to as handshake output ports).

【0007】最初にプログラムカウンタ1、命令読み出
し回路2、命令デコード回路3からなる命令発生部分に
ついて述べる。プログラムカウンタ1は実行するプログ
ラムのアドレスを指示し、0番地から順次カウントアッ
プを行う。命令読み出し回路2ではプログラムカウンタ
1の示すアドレスに対応した命令をRAM等から読み出
す。更に命令デコード回路3でデコード処理を行い、レ
ジスタファイル4、演算器9,10、MUX11,1
4、入出力ポート12,13,15、バス5〜8の制御
を行う。
First, the instruction generating portion including the program counter 1, the instruction reading circuit 2 and the instruction decoding circuit 3 will be described. The program counter 1 designates the address of the program to be executed and sequentially counts up from the address 0. The instruction reading circuit 2 reads the instruction corresponding to the address indicated by the program counter 1 from the RAM or the like. Further, the instruction decoding circuit 3 performs a decoding process, and the register file 4, the arithmetic units 9 and 10, the MUXs 11 and 1 are processed.
4, controlling the input / output ports 12, 13, 15 and the buses 5-8.

【0008】次に命令デコード回路3で制御される各部
を順次説明する。レジスタファイル4は複数のレジスタ
で構成されており、書き込みデータの一方はALU9、
若しくはMAC10の演算結果が出力されるDバス8上
のデータである。他方はAバス5かBバス6をMUX1
1で選択したデータである。尚、このAバス5、Bバス
6上のデータとしてはレジスタファイル4からの出力デ
ータ、ハンドシェーク入力ポート12,13からの出力
データ、命令読み出し回路2から直接出力される定数な
どがある。一方レジスタファイル4の読み出しとしてA
バス5とBバス6の2系統を持つ。以上の様にレジスタ
ファイル4は入力2系統、出力2系統の4ポート構造を
持つ。
Next, each part controlled by the instruction decoding circuit 3 will be sequentially described. The register file 4 is composed of a plurality of registers. One of the write data is ALU9,
Alternatively, it is data on the D bus 8 to which the calculation result of the MAC 10 is output. The other is A bus 5 or B bus 6 MUX1
It is the data selected in 1. The data on the A bus 5 and the B bus 6 include output data from the register file 4, output data from the handshake input ports 12 and 13, constants directly output from the instruction reading circuit 2, and the like. On the other hand, as reading of the register file 4, A
It has two systems, bus 5 and B bus 6. As described above, the register file 4 has a 4-port structure with two input systems and two output systems.

【0009】ALU9、MAC10はそれぞれAバス
5、Bバス6上のデータを入力し、その演算結果をCバ
ス7あるいはDバス8に選択的に出力する。各ハンドシ
ェーク入力ポート12,13はAバス5及びBバス6へ
の出力系以外に、MUX14を介してハンドシェーク出
力ポート15ヘ出力する系を備えている。ハンドシェー
ク出力ポート15はCバス7上のデータあるいはMUX
14からの出力データを入力する。ハンドシェーク入力
ポート12,13及びハンドシェーク出力ポート15で
は、外部とのデータの授受をハンドシェークで行ってい
る。そのため、いづれかのハンドシェークが待ち状態に
陥ると、全てのパイプラインの駆動クロックが停止され
て図4に示すブロック全体が停止され、そのハンドシェ
ーク動作の復帰を待つようになっている。
The ALU 9 and the MAC 10 respectively input the data on the A bus 5 and the B bus 6, and selectively output the calculation result to the C bus 7 or the D bus 8. Each of the handshake input ports 12 and 13 has a system for outputting to the handshake output port 15 via the MUX 14, in addition to the output system to the A bus 5 and the B bus 6. The handshake output port 15 is the data on the C bus 7 or MUX.
Input the output data from 14. The handshake input ports 12 and 13 and the handshake output port 15 exchange data with the outside by handshake. Therefore, when any one of the handshakes falls into a waiting state, the driving clocks of all the pipelines are stopped, the entire block shown in FIG. 4 is stopped, and the handshake operation is restored.

【0010】[0010]

【発明が解決しようとする課題】一般に、DSP等のよ
うにプログラムにより動作する演算処理装置を用いて画
像処理を行う場合には、その処理の大半が積和演算であ
り、しかもその演算処理を行うべきデータ量は膨大であ
る。そのため、MAC10が行うべき演算処理量が非常
に多くなってその演算処理時間が長くなり、例えばリア
ルタイム処理ができなくなってしまう。
Generally, when image processing is performed using an arithmetic processing unit that operates according to a program such as a DSP, most of the processing is product-sum operation, and the arithmetic processing is performed. The amount of data to be done is huge. Therefore, the amount of arithmetic processing to be performed by the MAC 10 becomes very large, the arithmetic processing time becomes long, and, for example, real-time processing cannot be performed.

【0011】上記従来方式のアーキテクチャを持つDS
P(D-D.A.P.の1セル)では、MACが1個のみであ
り、高速動作のためには数倍〜10倍程度の高速なシス
テムクロックの使用により演算処理速度を速くさせるこ
とが考えられる。しかし、クロックの高速化は回路の場
合では素子、ICの場合ではプロセスにおいて製造上の
困難があり、現状では技術的に実現不可能である。
DS having the above conventional architecture
In P (one cell of DD.AP), there is only one MAC, and it is conceivable to increase the operation processing speed by using a high-speed system clock of several times to 10 times for high-speed operation. However, the speeding up of the clock is technically unfeasible under the present circumstances because there is a manufacturing difficulty in the process in the case of a circuit and in the case of an IC.

【0012】また、複数のDSP(セル)を設け、演算
処理を各DSPに分担させて時分割処理を行わせること
により演算処理速度の高速化を図ろうとする試みが実際
に行われている。しかし、複数個のDSPによる時分割
処理では、DSPの増加に伴うハードウェアの大型化が
避けられないうえ、コスト的な課題も残る。
Further, an attempt has been actually made to increase the operation processing speed by providing a plurality of DSPs (cells) and allowing each DSP to share the operation processing for time division processing. However, the time-division processing by a plurality of DSPs inevitably increases the size of the hardware due to the increase in the DSPs, and also has a cost problem.

【0013】本発明は上記問題点を解決するためになさ
れたものであり、その目的は、画像処理のように演算処
理量が多くても高速な対応ができる演算処理装置及び拡
張演算装置を提供することにある。
The present invention has been made to solve the above problems, and an object of the present invention is to provide an arithmetic processing unit and an extended arithmetic unit capable of high-speed processing even if the amount of arithmetic processing is large, such as image processing. To do.

【0014】[0014]

【課題を解決するための手段】請求項1に記載の発明で
は、演算処理装置に、拡張演算装置を接続するための外
部端子を備えた。
According to a first aspect of the present invention, the arithmetic processing device is provided with an external terminal for connecting the extended arithmetic device.

【0015】請求項2に記載の発明では、拡張演算装置
に、演算処理装置に接続するための外部端子を備えた。
請求項3に記載の発明では、所定の演算命令を指令する
演算命令部と、前記演算命令部からの演算命令に基づい
て入力されるデータに演算処理を施して出力する演算ユ
ニットと、該演算ユニットから出力される出力データを
記憶する記憶部とを備えた主演算処理装置に対して、前
記演算指令部からの演算命令を入力し、該主演算処理装
置を介して入力される入力データに演算処理を施して該
主演算処理装置に出力する拡張演算装置を外付けした。
According to a second aspect of the present invention, the extended arithmetic device is provided with an external terminal for connecting to the arithmetic processing device.
According to a third aspect of the present invention, an arithmetic instruction unit that issues a predetermined arithmetic instruction, an arithmetic unit that performs arithmetic processing on data input based on the arithmetic instruction from the arithmetic instruction unit, and outputs the arithmetic operation unit; A main operation processing device having a storage unit for storing output data output from the unit, inputs an operation command from the operation instruction unit, and converts the input data input via the main operation processing device into the input data. An extended arithmetic unit for performing arithmetic processing and outputting to the main arithmetic processing unit is externally attached.

【0016】請求項4に記載の発明では、所定の演算命
令を指令する演算命令部と、該演算命令部からの演算命
令を外部に伝送するための第1の命令バスと、前記演算
命令部からの演算命令に基づいて入力される入力データ
に演算処理を施して出力する演算ユニットと、演算ユニ
ットから出力される出力データを記憶する記憶部と、前
記入力データを外部に対して出力するための第1のデー
タバスと、外部から演算結果を入力するための第2のデ
ータバスとを備えた主演算処理装置に対して、前記主演
算処理装置の第1の命令バスから演算命令を入力するた
めの第2の命令バスと、前記第1のデータバスから入力
データを入力するための入力データバスと、前記第2の
命令バスを介して入力される演算命令に基づき入力デー
タバスを介して入力される入力データに演算処理を施し
て出力する演算ユニットと、前記演算ユニットから出力
される出力データを前記主演算処理装置の第2のデータ
バスに出力するための出力データバスとを備えた拡張演
算装置を外部端子を介して外付けした。
According to another aspect of the present invention, there is provided an operation command unit for instructing a predetermined operation command, a first command bus for transmitting the operation command from the operation command unit to the outside, and the operation command unit. An arithmetic unit for performing arithmetic processing on input data input based on an arithmetic instruction from the output unit, a storage unit for storing output data output from the arithmetic unit, and for outputting the input data to the outside. An arithmetic command from a first instruction bus of the main arithmetic processing unit to a main arithmetic processing unit having a first data bus of the above and a second data bus for inputting an arithmetic result from the outside. A second instruction bus for inputting data, an input data bus for inputting input data from the first data bus, and an input data bus based on an operation instruction input via the second instruction bus. Enter Provided with an arithmetic unit for performing arithmetic processing on the input data to be output and outputting the output data output from the arithmetic unit to a second data bus of the main arithmetic processing unit. The arithmetic unit was attached externally via an external terminal.

【0017】請求項5に記載の発明では、演算処理装置
に、所定の演算命令を指令する演算命令部と、該演算命
令部からの演算命令を外部に伝送するための第1の命令
バスと、前記演算命令部からの演算命令に基づいて入力
される入力データに演算処理を施して出力する演算ユニ
ットと、前記演算ユニットから出力される出力データを
記憶する記憶部と、前記入力データを外部に対して出力
するための第1のデータバスと、外部から演算結果を入
力するための第2のデータバスとを備えた。
According to a fifth aspect of the present invention, an arithmetic instruction unit for instructing a predetermined arithmetic instruction to the arithmetic processing unit, and a first instruction bus for transmitting the arithmetic instruction from the arithmetic instruction unit to the outside. An arithmetic unit for performing arithmetic processing on input data input based on an arithmetic instruction from the arithmetic instruction unit and outputting the input data; a storage unit for storing output data output from the arithmetic unit; A first data bus for outputting the data and a second data bus for inputting the operation result from the outside.

【0018】請求項6に記載の発明では、拡張演算装置
に、外部演算処理装置からの演算命令を入力するための
命令バスと、前記外部演算処理装置からの入力データを
入力するための入力データバスと、前記命令バスからの
演算命令に基づき入力データバスから入力される入力デ
ータに演算処理を施して出力する演算ユニットと、前記
演算ユニットから出力される出力データを前記外部演算
処理装置に出力するための出力データバスとを備えた。
According to a sixth aspect of the invention, an instruction bus for inputting an arithmetic instruction from an external arithmetic processing unit to the extended arithmetic unit and input data for inputting input data from the external arithmetic processing unit. A bus, an arithmetic unit for performing arithmetic processing on input data input from an input data bus based on an arithmetic instruction from the instruction bus, and outputting the output data output from the arithmetic unit to the external arithmetic processing device; And an output data bus for

【0019】請求項7に記載の発明では、拡張演算装置
に、外部演算処理装置から演算命令を入力するための命
令バスと、前記命令バスに接続された演算命令デコード
回路と、前記外部演算処理装置から係数データを入力す
るための係数データバスと、前記係数データバスを介し
て入力された係数データを記憶する記憶装置と、前記外
部演算処理装置から入力データを入力するための入力デ
ータバスと、前記命令バスを介して演算命令デコード回
路に入力された演算命令に基づき前記記憶装置に記憶さ
れた係数データと入力データバスから入力される入力デ
ータとに演算処理を施す乗加算器と、前記乗加算器によ
る演算結果を外部演算処理装置に出力するための出力デ
ータバスとを備えた。
According to a seventh aspect of the present invention, an instruction bus for inputting an arithmetic instruction from an external arithmetic processing unit to the extended arithmetic unit, an arithmetic instruction decoding circuit connected to the instruction bus, and the external arithmetic processing. A coefficient data bus for inputting coefficient data from the device, a storage device for storing the coefficient data input via the coefficient data bus, and an input data bus for inputting input data from the external arithmetic processing device. A multiplier / adder for performing arithmetic processing on coefficient data stored in the storage device and input data input from an input data bus based on an arithmetic instruction input to an arithmetic instruction decoding circuit via the instruction bus; An output data bus for outputting the calculation result by the multiplier / adder to an external calculation processing device is provided.

【0020】請求項8に記載の発明では、請求項7に記
載の拡張演算装置において、前記乗加算器を、フィルタ
演算機能とマトリクス演算機能とを選択的に実行可能と
した。
According to an eighth aspect of the present invention, in the extended arithmetic unit according to the seventh aspect, the multiplication / adder can selectively execute a filter arithmetic function and a matrix arithmetic function.

【0021】[0021]

【作用】請求項1に記載の発明によれば、外部端子を介
して演算処理装置に拡張演算装置を接続することが可能
となる。
According to the first aspect of the present invention, it becomes possible to connect the extended arithmetic unit to the arithmetic processing unit via the external terminal.

【0022】請求項2に記載の発明によれば、外部端子
を介して拡張演算装置を演算処理装置に接続することが
可能となる。請求項3に記載の発明によれば、主演算処
理装置は演算命令部、演算ユニット及び記憶部を備え、
該主演算処理装置を介して拡張演算装置に入力データが
入力され、拡張演算装置は演算命令部からの演算命令に
基づいて入力データに施すべき演算処理を主演算処理装
置に代わって行う。
According to the second aspect of the invention, the extended arithmetic unit can be connected to the arithmetic processing unit via the external terminal. According to the invention described in claim 3, the main arithmetic processing unit includes an arithmetic instruction unit, an arithmetic unit, and a storage unit,
Input data is input to the extended arithmetic unit via the main arithmetic processing unit, and the extended arithmetic unit performs arithmetic processing to be performed on the input data on behalf of the main arithmetic processing unit based on the arithmetic instruction from the arithmetic instruction unit.

【0023】請求項4に記載の発明によれば、主演算処
理装置は演算命令部、演算ユニット及び記憶部を備え、
主演算処理装置から第1のデータバス及び入力データバ
スを介して拡張演算装置内の演算ユニットに入力データ
が入力される。演算ユニットは主演算処理装置の演算命
令部から第1及び第2の命令バスを介して入力された演
算命令に基づき入力データに施すべき演算処理を主演算
処理装置に代わって行う。
According to a fourth aspect of the present invention, the main arithmetic processing unit includes an arithmetic instruction section, an arithmetic unit and a storage section,
Input data is input from the main arithmetic processing unit to the arithmetic unit in the extended arithmetic unit via the first data bus and the input data bus. The arithmetic unit performs arithmetic processing to be performed on the input data on behalf of the main arithmetic processing unit based on the arithmetic instruction input from the arithmetic instruction unit of the main arithmetic processing unit via the first and second instruction buses.

【0024】請求項5に記載の発明によれば、演算処理
装置は演算命令部、演算ユニット及び記憶部を備え、演
算命令部から第1の命令バスを介して演算命令の外部へ
の伝送が可能となり、第1のデータバスを介して入力デ
ータの外部への出力が可能となり、さらに第2のデータ
バスを介して外部からの演算結果の入力が可能となる。
そのため、拡張演算装置の外付けが可能となる。
According to the invention described in claim 5, the arithmetic processing unit comprises an arithmetic instruction unit, an arithmetic unit and a storage unit, and the arithmetic instruction unit can transmit the arithmetic instruction to the outside through the first instruction bus. It becomes possible to output the input data to the outside through the first data bus, and further, it becomes possible to input the operation result from the outside through the second data bus.
Therefore, it is possible to attach the extended arithmetic device externally.

【0025】請求項6に記載の発明によれば、命令バス
を介して外部演算処理装置からの演算命令の入力が可能
となり、入力データバスを介して外部演算処理装置から
の入力データの入力が可能となる。さらに演算命令に基
づいて入力データに演算処理を施した演算ユニットの出
力データの外部演算処理装置への出力が出力データバス
を介して可能となる。
According to the invention described in claim 6, it is possible to input an arithmetic instruction from the external arithmetic processing unit via the instruction bus, and input the input data from the external arithmetic processing unit via the input data bus. It will be possible. Further, the output data of the arithmetic unit, which is obtained by performing the arithmetic processing on the input data based on the arithmetic instruction, can be output to the external arithmetic processing device through the output data bus.

【0026】請求項7に記載の発明によれば、命令バス
を介して外部演算処理装置からの演算命令の演算命令デ
コード回路への入力が可能となり、係数データバスを介
して外部演算処理装置からの係数データの記憶装置への
入力が可能となる。さらに入力データバスを介して外部
演算処理装置からの入力データの入力が可能となる。演
算命令に基づき乗加算器により記憶装置に記憶された係
数データと入力データに演算処理が施される。乗加算器
による演算結果を出力データバスを介して外部演算処理
装置に出力することが可能となる。
According to the invention described in claim 7, it is possible to input an arithmetic instruction from the external arithmetic processing unit to the arithmetic instruction decoding circuit via the instruction bus, and from the external arithmetic processing unit via the coefficient data bus. It becomes possible to input the coefficient data of the above into the storage device. Further, it becomes possible to input the input data from the external arithmetic processing unit via the input data bus. Based on the arithmetic instruction, the multiplier / adder performs arithmetic processing on the coefficient data and the input data stored in the storage device. It is possible to output the calculation result by the multiplier / adder to the external calculation processing device via the output data bus.

【0027】請求項8に記載の発明によれば、拡張演算
装置に設けられた乗加算器によりフィルタ演算機能とマ
トリクス演算機能とが選択的に実行される。
According to the eighth aspect of the present invention, the filter operation function and the matrix operation function are selectively executed by the multiplication / adder provided in the extended operation device.

【0028】[0028]

【実施例】図1に本発明の演算処理装置の構成を示す。
図1における各部1〜15は従来技術において図4で説
明した構成と同じであるので、同一符号を付して説明を
省略し、特に異なった点についてのみ説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 shows the configuration of an arithmetic processing unit according to the present invention.
Since each unit 1 to 15 in FIG. 1 is the same as the configuration described in FIG. 4 in the related art, the same reference numerals are given and the description thereof is omitted, and only different points will be described.

【0029】図1に示すように、各部1〜15を備えた
演算処理装置Sは一つのチップ上に形成されており、そ
のチップとは別個のチップ上に拡張演算装置Pが形成さ
れている。演算処理装置Sと拡張演算装置Pをそれぞれ
構成する2枚のチップは同一基板上に外部端子t1a,t
1b〜t5a,t5bを介して接続された状態で配置されてい
る。
As shown in FIG. 1, the arithmetic processing unit S including the respective units 1 to 15 is formed on one chip, and the extended arithmetic unit P is formed on a chip different from the chip. . The two chips constituting the arithmetic processing unit S and the extended arithmetic unit P are external terminals t1a, t on the same substrate.
They are arranged in a state of being connected via 1b to t5a and t5b.

【0030】演算処理装置Sには、従来の構成に対して
命令読み出し回路2から命令バス16が新たに付加され
ており、各バス5〜8,16の末端に外部端子t1a〜t
5aがそれぞれ設けられている。
In the arithmetic processing unit S, an instruction bus 16 is newly added from the instruction reading circuit 2 to the conventional configuration, and external terminals t1a to t are provided at the ends of the buses 5 to 8 and 16, respectively.
5a are provided respectively.

【0031】拡張演算装置Pには拡張演算ユニット17
と、演算処理装置Sに設けられた各外部端子t1a〜t5a
と接続可能な外部端子t1b〜t5bとが設けられている。
外部端子t1b〜t5bは演算処理装置S中の各バス5〜
8,16と対応する各バス5a〜8a,16aに接続さ
れている。
The extended arithmetic unit P includes an extended arithmetic unit 17
And external terminals t1a to t5a provided in the arithmetic processing unit S
There are provided external terminals t1b to t5b that can be connected to.
The external terminals t1b to t5b are connected to the buses 5 to 5 in the arithmetic processing unit S, respectively.
The buses 5a to 8a and 16a corresponding to 8 and 16 are connected.

【0032】演算処理装置Sと拡張演算装置Pとは外部
端子t1a〜t5aと外部端子t1b〜t5bとの結合により接
続されており、演算処理装置Sと拡張演算装置Pとの間
でデータの伝送が可能となっている。拡張演算ユニット
17はAバス5a、Bバス6a及び命令バス16a上の
データを入力し、その演算結果をCバス7aあるいはD
バス8aに選択的に出力するようになっている。
The arithmetic processing unit S and the extended arithmetic unit P are connected by connecting the external terminals t1a to t5a and the external terminals t1b to t5b, and the data transmission between the arithmetic processing unit S and the extended arithmetic unit P. Is possible. The extended arithmetic unit 17 inputs data on the A bus 5a, B bus 6a and instruction bus 16a, and outputs the arithmetic result to the C bus 7a or D.
The data is selectively output to the bus 8a.

【0033】図2に拡張演算ユニット17の構成を示
す。同図に示すように、命令デコード部18は命令バス
16,16aを介して命令デコーダ3から命令セットを
取り込み、各種のデコード処理を行う。このデコード処
理には、「係数入力」、「Aバス入力」、「Bバス入
力」、「タップ数設定」、「モード設定」、「クリ
ア」、「演算実行」、「Cバス出力」、「Dバス出力」
の9種類が設定されている。
FIG. 2 shows the configuration of the extended arithmetic unit 17. As shown in the figure, the instruction decoding unit 18 fetches an instruction set from the instruction decoder 3 via the instruction buses 16 and 16a and performs various decoding processes. This decoding process includes "coefficient input", "A bus input", "B bus input", "tap number setting", "mode setting", "clear", "calculation execution", "C bus output", " D bus output "
9 types are set.

【0034】「係数入力」は、演算処理装置S中のRA
M(図示せず)に予め記憶された積和演算に使用するた
めの係数データの入力を指令する。「Aバス入力」は、
係数データをAバス5aから入力することを指令する。
「Bバス入力」は、係数データをBバス6aから入力す
ることを指令する。「タップ数設定」は、実行される積
和演算において積和すべき項数Mの読み込みを指令す
る。「モード設定」は、実行される演算処理がフィルタ
演算であるかマトリクス演算であるかを指定する。「ク
リア」は、データのクリアを指令する。「演算実行」
は、演算の実行を指令する。「Cバス出力」は、データ
の出力をCバス7aに指定する。「Dバス出力」は、デ
ータの出力をDバスに指定する。命令デコード部18か
らは以上の各指令コードが出力されるようになってい
る。
"Coefficient input" is the RA in the arithmetic processing unit S.
The M (not shown) is instructed to input the coefficient data stored in advance for use in the sum of products operation. "A bus input" is
It is instructed to input the coefficient data from the A bus 5a.
The "B bus input" command inputs the coefficient data from the B bus 6a. “Tap number setting” commands the reading of the number M of terms to be sum-accumulated in the sum-of-products calculation to be executed. The “mode setting” specifies whether the arithmetic processing to be executed is a filter arithmetic or a matrix arithmetic. “Clear” commands the clearing of data. "Calculation"
Command the execution of the operation. “C bus output” specifies the output of data to the C bus 7a. “D bus output” specifies data output to the D bus. The above instruction codes are output from the instruction decoding unit 18.

【0035】「係数入力」、「Aバス入力」、「Bバス
入力」、「タップ数設定」、「クリア」、「演算実行」
でのデコード結果は、RAMアドレスカウンタ19に出
力される。RAMアドレスカウンタ19はその入力した
コードに基づきRAMバンクカウンタ20に係数データ
の書込み先のRAM21を指定するバンク信号を出力す
るとともに、各RAM21に対して係数データの書込み
アドレスを指定する歩進信号(以下、アドレス信号とい
う)(ロ)を出力する。RAMバンクカウンタ20はバ
ンク信号により指定されたRAM21にAバス5aある
いはBバス6a上の係数データの書込みを指令する書込
み信号(イ)を出力する。また、RAMアドレスカウン
タ19は命令デコード部18の「演算実行」からの命令
コード「1」の印加に基づき各RAM21に読出し信号
(ニ)を出力する。RAM21は最大次数N(フィルタ
演算ならタップ数、マトリクス演算なら行列の次元数)
の演算に対応できるようにN個設けられている。
"Coefficient input", "A bus input", "B bus input", "tap number setting", "clear", "calculation execution"
The decoding result at is output to the RAM address counter 19. The RAM address counter 19 outputs to the RAM bank counter 20 a bank signal designating a RAM 21 to which coefficient data is to be written based on the input code, and a step signal (designating a write address of coefficient data to each RAM 21). Hereinafter, referred to as an address signal) (b) is output. The RAM bank counter 20 outputs a write signal (a) for instructing the RAM 21 designated by the bank signal to write the coefficient data on the A bus 5a or the B bus 6a. Further, the RAM address counter 19 outputs a read signal (d) to each RAM 21 based on the application of the instruction code “1” from the “execution of operation” of the instruction decoding unit 18. The RAM 21 has the maximum degree N (the number of taps for filter calculation, the number of matrix dimensions for matrix calculation)
N pieces are provided so as to correspond to the calculation of.

【0036】モード選択回路22には命令デコード部1
8から「モード設定」及び「演算実行」での各デコード
結果として命令コードが印加されるようになっている。
モード選択回路22は、各命令コード「1」の印加によ
りBバス6a上からの入力データを入力し、その入力デ
ータをその指定された演算モード、すなわちフィルタ演
算またはマトリクス演算に応じたそれぞれの設定出力タ
イミングで順次にデータを出力するようになっている。
The mode selection circuit 22 includes an instruction decoding unit 1
From 8 to 8, an instruction code is applied as each decoding result in "mode setting" and "calculation execution".
The mode selection circuit 22 inputs the input data from the B bus 6a by applying each instruction code "1", and sets the input data to the designated operation mode, that is, according to the filter operation or the matrix operation. The data is sequentially output at the output timing.

【0037】モード選択回路22の構成を図3に示す。
同図に示すように、モード選択回路22は(N−1)個
のDフリップフロップ(以下DFFと表記する)29
と、(N−1)個のマルチプレクサ(以下、「MUX」
という)30とを備えている。命令デコード部18から
の演算実行命令コード(図3における(a) 矢印)「1」
は、各DFF29に入力される。図3の(f) 矢印から入
力されたBバス6a上の入力データは、図3の(c) から
出力されるとともに、直列に配列された(N−1)個の
DFF29のうち先頭のDFF29から順次に入力され
るとともに、各MUX30に直接入力されるようになっ
ている。DFF29を介して順次に遅延されたデータ
は、それぞれ対応する各MUX30に出力される。この
遅延時間は各RAM21からの係数データの読出しタイ
ミングに同期して設定されている。
The configuration of the mode selection circuit 22 is shown in FIG.
As shown in the figure, the mode selection circuit 22 includes (N-1) D flip-flops (hereinafter referred to as DFF) 29.
And (N-1) multiplexers (hereinafter referred to as “MUX”).
30). Operation execution instruction code from the instruction decoding unit 18 (arrow (a) in FIG. 3) "1"
Is input to each DFF 29. The input data on the B bus 6a input from the arrow (f) in FIG. 3 is output from (c) in FIG. 3 and at the beginning of the (N-1) DFFs 29 arranged in series. The data are sequentially input from the above, and are directly input to each MUX 30. The data sequentially delayed via the DFF 29 is output to each corresponding MUX 30. This delay time is set in synchronization with the reading timing of the coefficient data from each RAM 21.

【0038】各MUX30は、図3の(b) 矢印から入力
された命令デコード部18からのモード指定コードが
「0」のときに同図のデータ信号Aを、そのモード指定
コードが「1」のときに同図のデータ信号Bをそれぞれ
図3の(c) 〜 (e)へ選択出力する。
Each MUX 30 outputs the data signal A shown in FIG. 3 when the mode designation code from the instruction decoding unit 18 input from the arrow (b) in FIG. 3 is "0" and the mode designation code is "1". At this time, the data signal B in the figure is selectively output to (c) to (e) in FIG.

【0039】図2に示すように、モード選択回路22か
らの出力データは、N個のMAC(乗累算器)23にそ
れぞれ出力されるようになっている。MAC23は、各
RAM21からの係数データと、モード選択回路22か
らの出力データとを順次に積算して累計する乗累演算を
行い、その演算結果をDフリップフロップ(以下DFF
と表記する)24に出力するようになっている。DFF
24は各MAC23に対応してN個設けられ、各MAC
23にて行われた演算結果を同じタイミングでMUX2
6に出力する機能を有する。出力カウンタ25は命令デ
コード部18の「タップ数設定」からのタップ数コード
「M」と、「Cバス出力」及び「Dバス出力」からの出
力指定コード「0」,「1」とを入力する。出力カウン
タ25は出力指定コード「1」の入力時にMUX26に
対して出力選択する指定信号を出力するようになってい
る。
As shown in FIG. 2, the output data from the mode selection circuit 22 is output to each of N MACs (multiply accumulators) 23. The MAC 23 performs a multiplication and accumulation operation in which coefficient data from each RAM 21 and output data from the mode selection circuit 22 are sequentially integrated and accumulated, and the operation result is a D flip-flop (hereinafter DFF).
It will be output to 24). DFF
24 are provided corresponding to each MAC 23, and each MAC is
MUX2 at the same timing as the calculation result performed in 23.
6 has the function of outputting. The output counter 25 inputs the tap number code “M” from the “tap number setting” of the instruction decoding unit 18 and the output designation codes “0” and “1” from the “C bus output” and the “D bus output”. To do. The output counter 25 outputs a designation signal for output selection to the MUX 26 when the output designation code "1" is input.

【0040】MUX26は、各DFF24からの入力信
号のうち出力カウンタ25からの指定信号に基づき指定
されたDFF24からの入力データを出力する。MUX
26からの出力データは、ハイインピーダンス出力機能
を有する2つのバッファ27,28が入力する。各バッ
ファ27,28は、命令デコード部18の「Cバス出
力」及び「Dバス出力」から出力指定コード「0」,
「1」を入力し、その出力指定コードとして「1」が印
加された側の指定バスに接続された側が開かれるように
なっている。
The MUX 26 outputs the input data from the DFF 24 designated based on the designation signal from the output counter 25 among the input signals from each DFF 24. MUX
The output data from 26 is input to two buffers 27 and 28 having a high impedance output function. Each of the buffers 27 and 28 outputs an output designation code “0” from “C bus output” and “D bus output” of the instruction decoding unit 18.
When "1" is input and the output designation code "1" is applied, the side connected to the designated bus is opened.

【0041】次に、上記のように構成された演算処理装
置の作用を説明する。拡張演算装置Pは演算処理装置S
側の演算処理能力を越えるフィルタ演算あるいはマトリ
クス演算が必要なときに使用される。拡張演算ユニット
17は命令デコード回路3から命令バス16,16aを
介して送られる命令に基づき動作し、Aバス5,5aあ
るいはBバス6,6aを介して送られてくる係数データ
と画像データとの積和演算を行い、その演算結果をCバ
ス7aあるいはDバス8a上に出力する。
Next, the operation of the arithmetic processing device configured as described above will be described. The extended arithmetic unit P is the arithmetic processing unit S
It is used when filter calculation or matrix calculation that exceeds the calculation processing capacity on the side is required. The extended operation unit 17 operates based on the instruction sent from the instruction decoding circuit 3 via the instruction buses 16 and 16a, and the coefficient data and the image data sent via the A buses 5 and 5a or the B buses 6 and 6a. The sum-of-products operation is performed and the operation result is output to the C bus 7a or the D bus 8a.

【0042】拡張演算ユニット17による演算処理実行
前の段階では、拡張演算ユニット17内のRAMアドレ
スカウンタ19、RAMバンクカウンタ20、MAC2
3及び出力カウンタ25は予めリセットされている。
At the stage before the execution of the arithmetic processing by the extended arithmetic unit 17, the RAM address counter 19, the RAM bank counter 20, the MAC 2 in the extended arithmetic unit 17
3 and the output counter 25 are reset in advance.

【0043】拡張演算ユニット17の動作開始時には、
まず実行される演算モードがフィルタ演算であるかマト
リクス演算であるかが設定される。すなわち、フィルタ
演算である場合にはモード選択回路22の図2における
(b) にモード設定コード「1」が印加され、マトリクス
演算である場合にはモード選択回路22の(b) にモード
設定コード「0」が印加される。その結果、モード選択
回路22から各MAC23への出力タイミングが、これ
から実行される演算モードに合わせて設定される。ま
た、これと同時にタップ数Mが設定され、RAMアドレ
スカウンタ19、RAMバンクカウンタ20及び出力カ
ウンタ25の分周数がそれぞれMカウントに設定され、
各カウント範囲の初期化が行われる。
At the start of the operation of the extended arithmetic unit 17,
First, it is set whether the operation mode to be executed is filter operation or matrix operation. That is, in the case of the filter calculation, the mode selection circuit 22 in FIG.
The mode setting code "1" is applied to (b), and the mode setting code "0" is applied to (b) of the mode selection circuit 22 in the case of matrix calculation. As a result, the output timing from the mode selection circuit 22 to each MAC 23 is set according to the arithmetic mode to be executed. At the same time, the tap number M is set, and the frequency division numbers of the RAM address counter 19, the RAM bank counter 20, and the output counter 25 are set to M counts, respectively.
Initialization of each count range is performed.

【0044】次に、演算処理装置S側から拡張演算ユニ
ット17にAバス5,5aあるいはBバス6,6aを介
して係数データが送られてくる。この係数データは拡張
演算ユニット17内の各RAM21に書き込まれる。こ
の書込みの前に予めRAMアドレスカウンタ19に係数
データが送られてくるバスがAバス5aであるかBバス
6aであるかが設定される。例えば、係数データがAバ
ス5aから送られてくるとすると、命令デード部18か
らAバス入力コードとして「1」が、Bバス入力コード
として「0」がRAMアドレスカウンタ19に印加され
る。
Next, the coefficient data is sent from the arithmetic processing unit S to the extended arithmetic unit 17 via the A bus 5, 5a or the B bus 6, 6a. This coefficient data is written in each RAM 21 in the extended arithmetic unit 17. Prior to this writing, it is set in advance whether the bus to which the coefficient data is sent to the RAM address counter 19 is the A bus 5a or the B bus 6a. For example, if coefficient data is sent from the A bus 5a, the instruction data unit 18 applies "1" as the A bus input code and "0" as the B bus input code to the RAM address counter 19.

【0045】こうしてAバス5,5aを介して拡張演算
ユニット17まで係数データが送られてくると、命令デ
コード部18からRAMアドレスカウンタ19及びRA
Mバンクカウンタ20に係数入力コード「1」が印加さ
れる。この印加に基づきRAMアドレスカウンタ19か
ら各RAM21へアドレス信号(ロ)の出力が開始され
るとともに、RAMバンクカウンタ20から各RAM2
1のうち書込みを行うべきRAM21に書込み信号
(イ)が出力される。
In this way, when the coefficient data is sent to the extended arithmetic unit 17 via the A buses 5 and 5a, the instruction decoding unit 18 outputs the RAM address counter 19 and RA.
The coefficient input code “1” is applied to the M bank counter 20. Based on this application, the output of the address signal (b) from the RAM address counter 19 to each RAM 21 is started, and the RAM bank counter 20 outputs each RAM 2
The write signal (a) is output to the RAM 21 to be written out of the ones.

【0046】まず、拡張演算ユニット17により実行さ
れる演算がフィルタ演算の場合を例として説明する。フ
ィルタ演算の場合、各RAM21に同じ係数データが書
き込まれる。RAMバンクカウンタ20から係数データ
の書込みを行うべき各RAM21に書込み信号(イ)が
同時に出力され、Aバス5から入力された係数データは
各RAM21に同時進行的に並行して書込まれる。この
書込み方法以外に、例えば個々のRAM21に順次に書
込み信号(イ)を出力して同一の係数データを各RAM
21に順次に書き込む方法を採用することもできる。各
RAM21には同じデータ値の係数データ(a0
1 ,a2 ,…,aM )がそれぞれ書き込まれる。
First, a case where the operation executed by the extended operation unit 17 is a filter operation will be described as an example. In the case of filter calculation, the same coefficient data is written in each RAM 21. A write signal (a) is simultaneously output from the RAM bank counter 20 to each RAM 21 in which coefficient data should be written, and the coefficient data input from the A bus 5 is simultaneously and concurrently written in each RAM 21. In addition to this writing method, for example, the write signal (a) is sequentially output to each RAM 21 to output the same coefficient data to each RAM 21.
It is also possible to adopt a method of sequentially writing in 21. Coefficient data (a 0 , a 0 ,
a 1 , a 2 , ..., A M ) are respectively written.

【0047】こうして各RAM21への係数データの書
込みが完了すると、次にフィルタ処理すべき画像データ
(x0 ,x1 ,x2 ,…,xM )がBバス6aを介して
送られてくる。その際、予め命令デコード部18から演
算実行コードとして「1」がRAMアドレスカウンタ1
9及びモード選択回路22に印加される。この印加に基
づきRAMアドレスカウンタ19から各RAM21に読
出し信号(ニ)が出力され、この読出し信号(ニ)に基
づき各RAM21から係数データが書込まれた順番と同
じ順番で同時並列的にそれぞれ対応する各MAC23に
出力される。
When the writing of the coefficient data to each RAM 21 is completed in this way, the image data (x 0 , x 1 , x 2 , ..., X M ) to be filtered next is sent via the B bus 6a. . At this time, “1” is previously stored as the operation execution code from the instruction decoding unit 18 in the RAM address counter 1
9 and the mode selection circuit 22. Based on this application, a read signal (d) is output from the RAM address counter 19 to each RAM 21, and based on this read signal (d), the coefficient data is written from each RAM 21 in the same order and in parallel at the same time. Output to each MAC 23.

【0048】一方、モード選択回路22では印加された
演算実行コード「1」に基づき各DFF29が動作す
る。図3に示すように、(f) から入力されたデータはM
UX30に直接入力(入力データA)されるとともに、
各DFF29を介して順次に遅延されて各MUX30に
入力(入力データB)される。各MUX30は(b) から
モード設定コード「1」が印加されているため、2つの
入力データA,Bのうち各DFF29を介して入力され
たデータBを選択出力する。こうしてモード選択回路2
2からは(c) から遅延されないデータが出力され、以下
(d) 〜 (e)からは順次に各RAM21からの読出し間隔
に同期して遅延されたデータが出力される。その結果、
各MAC23は対応する各RAM21から所定の読出し
間隔で読み出された係数データ(フィルタ演算では各R
AMからの係数データは同じデータ値)と、モード選択
回路22を介して順次に読出し間隔に同期して遅延され
たデータとを入力し、それらの積を順次にM回累積して
いく。その積和演算結果は各MAC23から出力され、
各DFF24にラッチされる。
On the other hand, in the mode selection circuit 22, each DFF 29 operates based on the applied operation execution code "1". As shown in Fig. 3, the data input from (f) is M
Directly input to UX30 (input data A),
The data is sequentially delayed via each DFF 29 and input to each MUX 30 (input data B). Since the mode setting code “1” is applied to each MUX 30 from (b), the data B input via each DFF 29 among the two input data A and B is selectively output. Thus, the mode selection circuit 2
Data that is not delayed is output from (c) from 2
From (d) to (e), delayed data is sequentially output in synchronization with the read interval from each RAM 21. as a result,
Each MAC 23 reads coefficient data (each R in the filter calculation) read from the corresponding RAM 21 at a predetermined read interval.
The coefficient data from AM is the same data value) and the data delayed in synchronization with the reading interval are sequentially input via the mode selection circuit 22, and the products thereof are sequentially accumulated M times. The product-sum operation result is output from each MAC 23,
It is latched by each DFF 24.

【0049】DFF24にラッチされた演算結果がMU
X26でデータ順(図2の各DFF24の上からの出力
順)に選択され、MUX26からバッファ27,28を
介してCバス7aあるいはDバス8aのいづれかに出力
される。MUX26の選択制御は出力カウンタ25に従
うが、このカウンタの歩進は命令バス16aを介して転
送されてくる拡張演算ユニット17の演算結果読みだし
命令をデコードした信号(命令デコード部18中の「C
バス出力」、「Dバス出力」)に従う。演算結果の読み
だし個数は出力カウンタ25のカウント数に基づきM個
毎に行われる。
The operation result latched by the DFF 24 is MU.
The data is selected in X26 in the data order (the output order from the top of each DFF 24 in FIG. 2) and output from the MUX 26 via the buffers 27 and 28 to either the C bus 7a or the D bus 8a. The selection control of the MUX 26 follows the output counter 25, and the progress of this counter is a signal obtained by decoding the operation result reading instruction of the extended operation unit 17 transferred via the instruction bus 16a (“C in the instruction decoding unit 18”).
Bus output ”,“ D bus output ”). The number of calculation results read out is determined every M based on the count number of the output counter 25.

【0050】次に、拡張演算ユニット17によりマトリ
クス演算が実行される場合を説明する。例えばAバス5
aを介して係数データ(a10,a11,a12,…,
1M),(a20,a21,a22,…,a2M),(a30,a
31,a32,…,a3M),… ,(a M0,aM1,aM2
…,aMM) が送られてくると、その係数データは各R
AM21に順次に書込まれる。各RAM21への係数デ
ータの書込みはアドレス信号(ロ)と書き込み信号
(イ) に基づいて行われる。一つのRAM21に最初の
M個の係数データ(a10,a11,a12,…,a1M)が書
き込まれると、次のバンクのRAM21に次のM個の係
数データ(a20,a21,a22,…,a2M)が書き込まれ
る。こうして送られてきた係数データの全てが各RAM
21に書き込まれる(図中信号(ハ))。このようにマ
トリクス演算時には各RAM21にそれぞれ異なった係
数データが記憶される。こうして各RAM21に係数デ
ータ(a10,a 11,a12,…,a1M),(a20,a21
22,…,a2M),(a30,a31,a32,…,a3M),
… ,(aM0,aM1,aM2,…,aMM)がそれぞれ書き
込まれる。
Then, the extended arithmetic unit 17
The case in which the queue operation is executed will be described. For example, A bus 5
coefficient data (aTen, A11, A12,…,
a1M), (A20, Atwenty one, Atwenty two, ..., a2M), (A30, A
31, A32, ..., a3M), ..., (a M0, AM1, AM2,
…, AMM) Is sent, the coefficient data for each R
Sequentially written in AM21. Coefficient data to each RAM21
Data writing is done by address signal (b) and write signal
It is carried out based on (a). First in one RAM21
M coefficient data (aTen, A11, A12, ..., a1M) Is written
Once loaded, the RAM 21 of the next bank will receive the next M entries.
Numerical data (a20, Atwenty one, Atwenty two, ..., a2M) Is written
It All of the coefficient data sent in this way is stored in each RAM.
21 (signal (c) in the figure). Like this
When performing a trix operation, each RAM 21 has a different function.
Numerical data is stored. In this way, the coefficient data is stored in each RAM 21.
Data (aTen, A 11, A12, ..., a1M), (A20, Atwenty one,
atwenty two, ..., a2M), (A30, A31, A32, ..., a3M),
…, (AM0, AM1, AM2, ..., aMM) Each write
Get caught.

【0051】次にマトリクス処理すべき画像データ(x
0 ,x1 ,x2 ,…,xM )がBバス6aを介して送ら
れてくる。この画像データ(x0 ,x1 ,x2 ,…,x
M )は順次にモード選択回路22に入力され、モード選
択回路22から順次に各MAC23に同時並列的に出力
される。このとき、モード選択回路22内では図3に示
すように、MUX30は遅延されない画像データAと、
DFF29を介して遅延されたデータBとを入力し、遅
延されていないデータAを選択出力する。
Next, the image data (x
0 , x 1 , x 2 , ..., X M ) are sent via the B bus 6a. This image data (x 0 , x 1 , x 2 , ..., x
M ) is sequentially input to the mode selection circuit 22, and sequentially output from the mode selection circuit 22 to each MAC 23 in parallel at the same time. At this time, in the mode selection circuit 22, as shown in FIG. 3, the MUX 30 stores the image data A that is not delayed,
The delayed data B is input through the DFF 29, and the undelayed data A is selectively output.

【0052】また、各MAC23には対応する各RAM
21から順次に所定の読出し間隔で読み出された係数デ
ータが入力される。その結果、各MAC23では各係数
データ(a10,a11,a12,…,a1M),(a20
21,a22,…,a2M),(a30,a31,a32,…,a
3M),… ,(aM0,aM1,aM2,…,aMM)と、画像
データ(x0 ,x1 ,x2 ,…,xM )との積和演算が
それぞれ実行される。各MAC23からは演算結果デー
タ(a10・x0 +a11・x1 +a12・x2 + …+a1M
・xM ),…,(aM0・x0 +aM1・x1 +aM2・x2
+ … +aMM・xM )がそれぞれ出力される。このM
個の演算結果データは各DFF24にてラッチされ、元
の画像データ(x0 ,x1 ,x2 ,…,xM )と対応す
る順にMUX26から選択出力される。MUX26から
出力された演算結果データはバッファ27,28を介し
て指定されたCバス7aあるいはDバス8a上に出力さ
れて演算処理装置S側へ転送される。
Further, each RAM corresponding to each MAC 23
The coefficient data sequentially read at a predetermined read interval from 21 is input. As a result, in each MAC 23, each coefficient data (a 10 , a 11 , a 12 , ..., A 1M ), (a 20 ,
a 21, a 22, ..., a 2M), (a 30, a 31, a 32, ..., a
3M ), ..., (a M0 , a M1 , a M2 , ..., a MM ) and the image data (x 0 , x 1 , x 2 , ..., X M ) are summed. Calculation result data (a 10 · x 0 + a 11 · x 1 + a 12 · x 2 + ... + a 1M from each MAC 23
.X M ), ..., (a M0.x 0 + a M1.x 1 + a M2.x 2
+ ... + a MM · x M ) is output respectively. This M
The individual calculation result data are latched by each DFF 24 and selectively output from the MUX 26 in the order corresponding to the original image data (x 0 , x 1 , x 2 , ..., X M ). The operation result data output from the MUX 26 is output to the specified C bus 7a or D bus 8a via the buffers 27 and 28 and transferred to the operation processing device S side.

【0053】以上詳述したように本実施例によれば、演
算処理装置Sに拡張演算装置Pと接続するための外部端
子t1a〜t5aを設けるとともに、拡張演算装置Pに演算
処理装置Sと接続するための外部端子t1b〜t5bを設け
たので、拡張演算装置Pを必要に応じて接続することが
できる。そのため、例えば演算処理量の多い画像処理等
に演算処理装置Sを使用する場合でも、拡張演算装置P
を接続することにより演算処理能力確保のために演算処
理装置Sを複数設ける構成をとる必要がなくなる。つま
り、不足する演算器のみを必要に応じて付加することが
できる。
As described above in detail, according to this embodiment, the arithmetic processing unit S is provided with the external terminals t1a to t5a for connecting to the extended arithmetic unit P and the extended arithmetic unit P is connected to the arithmetic unit S. Since the external terminals t1b to t5b are provided for this purpose, the extended arithmetic unit P can be connected as necessary. Therefore, for example, even when the arithmetic processing device S is used for image processing with a large amount of arithmetic processing, the extended arithmetic device P
It becomes unnecessary to adopt a configuration in which a plurality of arithmetic processing devices S are provided in order to secure the arithmetic processing capacity by connecting the. That is, it is possible to add only insufficient computing units as needed.

【0054】その結果、データ待ち状態となっても演算
処理装置S全体が復帰するまで駆動停止するようなこと
が防止されるので、演算処理を高速に行うことができ
る。また、頭脳をもったDSPやLSI等のチップを演
算処理能力を補うために付加する必要がなくなるので、
チップの占有面積が小さくて済むうえ、コスト的に安価
で済む。
As a result, even in the data waiting state, it is possible to prevent the driving of the arithmetic processing unit S from being stopped until the entire arithmetic processing unit S is restored, so that the arithmetic processing can be performed at high speed. Moreover, since it is not necessary to add a chip such as a DSP or LSI having a brain to supplement the arithmetic processing capability,
The chip occupies a small area and the cost is low.

【0055】また、拡張演算装置Pを構成する拡張演算
ユニット17に、演算最大次数Nに応じた個数NのRA
M21及びMAC23を設け、各積和演算を並列にほぼ
並行に実行する構成としたので、次数に関わらずフィル
タ演算またはマトリクス演算を<1サンプルの結果出力
/1命令ステップ>の処理速度で実行することができ
る。そのため、画像処理において、フィルタ演算やマト
リクス演算等のように演算処理量の多い演算を処理させ
ても、高速処理の実現が可能となる。
In addition, the number N of RAs corresponding to the maximum degree N of calculation is set in the expanded arithmetic unit 17 which constitutes the expanded arithmetic unit P.
Since the M21 and the MAC 23 are provided and the respective product-sum operations are executed in parallel substantially in parallel, the filter operation or the matrix operation is executed at the processing speed of <result output of 1 sample / 1 instruction step> regardless of the order. be able to. Therefore, in image processing, even if a large amount of calculation processing such as filter calculation or matrix calculation is processed, high-speed processing can be realized.

【0056】なお、本発明は上記実施例に限定されるも
のではなく、発明の趣旨を逸脱しない範囲で例えば次の
ようにその構成を変更することもできる。 (1)拡張演算装置Pが行う演算は、フィルタ演算やマ
トリクス演算以外の積和演算でもよい。さらに、積和演
算以外の演算処理を実行させてもよい。
The present invention is not limited to the above-mentioned embodiments, and the structure can be modified as follows, for example, without departing from the gist of the invention. (1) The calculation performed by the extended calculation device P may be a product-sum calculation other than the filter calculation and the matrix calculation. Furthermore, an arithmetic process other than the sum of products operation may be executed.

【0057】(2)一つの演算処理装置Sに2つ以上の
拡張演算装置Pを接続する構成としてもよい。 前記実施例から把握され、特許請求の範囲に記載されて
いない発明を、その効果とともに以下に記載する。
(2) Two or more extended arithmetic units P may be connected to one arithmetic processing unit S. The invention grasped from the above-mentioned embodiment and not described in the scope of claims is described below together with its effect.

【0058】(イ)ハンドシェークで非同期動作するD
SPに接続するための外部端子を拡張演算器に備えた。
拡張演算器とDSPとを接続した演算処理装置を非同期
動作させることができる。
(A) D which operates asynchronously by handshake
The expansion computing unit was equipped with an external terminal for connecting to the SP.
It is possible to asynchronously operate the arithmetic processing unit in which the extended arithmetic unit and the DSP are connected.

【0059】[0059]

【発明の効果】以上詳述したように請求項1に記載の発
明によれば、外部端子を介して演算処理装置に拡張演算
装置を接続することができる。
As described above in detail, according to the invention described in claim 1, the extended arithmetic unit can be connected to the arithmetic processing unit through the external terminal.

【0060】請求項2に記載の発明によれば、外部端子
を介して拡張演算器を演算処理装置に接続することがで
きる。請求項3及び請求項4に記載の発明によれば、拡
張演算装置に主演算処理装置に代わって演算処理を行わ
せることができる。
According to the second aspect of the invention, the extended arithmetic unit can be connected to the arithmetic processing unit via the external terminal. According to the third and fourth aspects of the invention, it is possible to cause the extended arithmetic unit to perform arithmetic processing in place of the main arithmetic processing unit.

【0061】請求項5に記載の発明によれば、演算命令
や入力データの外部への出力が可能となり、演算結果の
入力が可能となるため、演算処理装置に拡張演算装置を
外付けすることができる。
According to the fifth aspect of the present invention, it is possible to output the operation command and the input data to the outside, and the operation result can be input. Therefore, it is possible to attach the extended operation device to the operation processing device. You can

【0062】請求項6及び請求項7に記載の発明によれ
ば、拡張演算装置を外部演算処理装置に接続することが
できる。請求項8に記載の発明によれば、拡張演算装置
に設けられた乗加算器にフィルタ演算機能とマトリクス
演算機能とを選択的に実行させることができる。
According to the sixth and seventh aspects of the invention, the extended arithmetic unit can be connected to the external arithmetic processing unit. According to the invention described in claim 8, it is possible to cause the multiplier / adder provided in the expansion arithmetic unit to selectively execute the filter arithmetic function and the matrix arithmetic function.

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

【図1】本発明を具体化した一実施例の演算処理装置の
ブロック回路図である。
FIG. 1 is a block circuit diagram of an arithmetic processing unit according to an embodiment of the present invention.

【図2】拡張演算ユニットのブロック回路図である。FIG. 2 is a block circuit diagram of an extended arithmetic unit.

【図3】モード選択回路のブロック回路図である。FIG. 3 is a block circuit diagram of a mode selection circuit.

【図4】従来の演算処理装置のブロック回路図である。FIG. 4 is a block circuit diagram of a conventional arithmetic processing unit.

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

2…演算命令部を構成する命令読み出し回路 3…演算命令部を構成する命令デコード回路 4…記憶部としてのレジスタファイル 5,6…第1のデータバスとしてのデータバス 5a,6a…入力データバス及び係数データバスとして
のデータバス 7,8…第2のデータバスとしてのデータバス 7a,8a…出力データバスとしてのデータバス 9…演算ユニットを構成するALU 10…演算ユニットを構成するMAC 16…第1の命令バスとしての命令バス 16a…第2の命令バスとしての命令バス 17…拡張演算器を構成するとともに、演算ユニットと
しての拡張演算ユニット 18…演算命令デコード回路としての演算デコード部 21…記憶装置としてのRAM 23…乗加算器としてのMAC t1a〜t5a…外部端子 t1b〜t5b…外部端子 S…主演算処理装置及び外部演算処理装置としての演算
処理装置 P…拡張演算装置
2 ... Instruction read circuit forming operation instruction unit 3 ... Instruction decode circuit forming operation instruction unit 4 ... Register file as storage unit 5, 6 ... Data bus as first data bus 5a, 6a ... Input data bus And data bus 7, 8 as coefficient data bus ... Data bus 7a, 8a as second data bus ... Data bus as output data bus 9 ... ALU 10 constituting arithmetic unit ... MAC 16 constituting arithmetic unit ... An instruction bus 16a as a first instruction bus ... An instruction bus as a second instruction bus 17 ... An extended arithmetic unit 18 as an arithmetic unit while constituting an extended arithmetic unit ... An arithmetic decoding unit 21 as an arithmetic instruction decoding circuit 21 ... RAM 23 as a storage device ... MAC t1a to t5a as a power adder ... External terminals t1b to t5b ... External end S ... processor P ... extended arithmetic unit as a main processor and an external processing unit

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 拡張演算装置を接続するための外部端子
を備えた演算処理装置。
1. An arithmetic processing device comprising an external terminal for connecting an extended arithmetic device.
【請求項2】 演算処理装置に接続するための外部端子
を備えた拡張演算装置。
2. An extended arithmetic unit having an external terminal for connecting to an arithmetic processing unit.
【請求項3】 所定の演算命令を指令する演算命令部
と、前記演算命令部からの演算命令に基づいて入力され
るデータに演算処理を施して出力する演算ユニットと、
該演算ユニットから出力される出力データを記憶する記
憶部とを備えた主演算処理装置に対して、前記演算指令
部からの演算命令を入力し、該主演算処理装置を介して
入力される入力データに演算処理を施して該主演算処理
装置に出力する拡張演算装置を外付けした演算処理装
置。
3. An operation command unit for instructing a predetermined operation command, and an operation unit for performing operation processing on data input based on the operation command from the operation instruction unit and outputting the data.
An input that inputs a calculation command from the calculation command unit to a main calculation processing device that includes a storage unit that stores output data that is output from the calculation unit, and that is input through the main calculation processing device. An arithmetic processing device externally provided with an extended arithmetic device for performing arithmetic processing on data and outputting the data to the main arithmetic processing device.
【請求項4】 所定の演算命令を指令する演算命令部
と、 該演算命令部からの演算命令を外部に伝送するための第
1の命令バスと、 前記演算命令部からの演算命令に基づいて入力される入
力データに演算処理を施して出力する演算ユニットと、 演算ユニットから出力される出力データを記憶する記憶
部と、 前記入力データを外部に対して出力するための第1のデ
ータバスと、 外部から演算結果を入力するための第2のデータバスと
を備えた主演算処理装置に対して、 前記主演算処理装置の第1の命令バスから演算命令を入
力するための第2の命令バスと、 前記第1のデータバスから入力データを入力するための
入力データバスと、前記第2の命令バスを介して入力さ
れる演算命令に基づき入力データバスを介して入力され
る入力データに演算処理を施して出力する演算ユニット
と、 前記演算ユニットから出力される出力データを前記主演
算処理装置の第2のデータバスに出力するための出力デ
ータバスとを備えた拡張演算装置を外部端子を介して外
付けした演算処理装置。
4. An operation instruction unit for instructing a predetermined operation instruction, a first instruction bus for transmitting an operation instruction from the operation instruction unit to the outside, and an operation instruction from the operation instruction unit. An arithmetic unit for performing arithmetic processing on input input data and outputting the input data, a storage unit for storing output data output from the arithmetic unit, and a first data bus for outputting the input data to the outside. A second instruction for inputting an arithmetic instruction from a first instruction bus of the main arithmetic processing unit to a main arithmetic processing unit having a second data bus for inputting an arithmetic result from the outside A bus, an input data bus for inputting input data from the first data bus, and an input data input via the input data bus based on an operation instruction input via the second instruction bus. An extended arithmetic unit including an arithmetic unit for performing arithmetic processing and outputting the output data output from the arithmetic unit to a second data bus of the main arithmetic processing unit is provided as an external terminal. An arithmetic processing unit externally attached via.
【請求項5】 所定の演算命令を指令する演算命令部
と、 該演算命令部からの演算命令を外部に伝送するための第
1の命令バスと、 前記演算命令部からの演算命令に基づいて入力される入
力データに演算処理を施して出力する演算ユニットと、 前記演算ユニットから出力される出力データを記憶する
記憶部と、 前記入力データを外部に対して出力するための第1のデ
ータバスと、 外部から演算結果を入力するための第2のデータバスと
を備えた演算処理装置。
5. An operation instruction unit for instructing a predetermined operation instruction, a first instruction bus for transmitting an operation instruction from the operation instruction unit to the outside, and an operation instruction from the operation instruction unit. An arithmetic unit that performs arithmetic processing on input input data and outputs the input data, a storage unit that stores output data output from the arithmetic unit, and a first data bus for outputting the input data to the outside. And a second data bus for inputting a calculation result from the outside.
【請求項6】 外部演算処理装置からの演算命令を入力
するための命令バスと、 前記外部演算処理装置からの入力データを入力するため
の入力データバスと、 前記命令バスからの演算命令に基づき入力データバスか
ら入力される入力データに演算処理を施して出力する演
算ユニットと、 前記演算ユニットから出力される出力データを前記外部
演算処理装置に出力するための出力データバスとを備え
た拡張演算装置。
6. An instruction bus for inputting an arithmetic instruction from an external arithmetic processing unit, an input data bus for inputting input data from the external arithmetic processing unit, and an arithmetic instruction from the instruction bus. Extended operation provided with an arithmetic unit that performs arithmetic processing on input data input from an input data bus and outputs the output data, and an output data bus for outputting output data output from the arithmetic unit to the external arithmetic processing device. apparatus.
【請求項7】 外部演算処理装置から演算命令を入力す
るための命令バスと、 前記命令バスに接続された演算命令デコード回路と、 前記外部演算処理装置から係数データを入力するための
係数データバスと、 前記係数データバスを介して入力された係数データを記
憶する記憶装置と、 前記外部演算処理装置から入力データを入力するための
入力データバスと、 前記命令バスを介して演算命令デコード回路に入力され
た演算命令に基づき前記記憶装置に記憶された係数デー
タと入力データバスから入力される入力データとに演算
処理を施す乗加算器と、 前記乗加算器による演算結果を外部演算処理装置に出力
するための出力データバスとを備えた拡張演算装置。
7. An instruction bus for inputting an arithmetic instruction from an external arithmetic processing device, an arithmetic instruction decoding circuit connected to the instruction bus, and a coefficient data bus for inputting coefficient data from the external arithmetic processing device. A storage device for storing coefficient data input via the coefficient data bus; an input data bus for inputting input data from the external operation processing device; and an operation instruction decode circuit via the instruction bus. A multiplication / adder for performing an arithmetic operation on the coefficient data stored in the storage device and the input data input from the input data bus based on the input arithmetic instruction, and the arithmetic result by the multiplication / adder to an external arithmetic processing device. An extended arithmetic unit having an output data bus for outputting.
【請求項8】 前記乗加算器は、フィルタ演算機能とマ
トリクス演算機能とを選択的に実行することができる請
求項7に記載の拡張演算装置。
8. The extended arithmetic unit according to claim 7, wherein the multiplier-adder can selectively execute a filter arithmetic function and a matrix arithmetic function.
JP6213693A 1994-09-07 1994-09-07 Arithmetic processing unit and extended arithmetic unit Pending JPH0876973A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6213693A JPH0876973A (en) 1994-09-07 1994-09-07 Arithmetic processing unit and extended arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6213693A JPH0876973A (en) 1994-09-07 1994-09-07 Arithmetic processing unit and extended arithmetic unit

Publications (1)

Publication Number Publication Date
JPH0876973A true JPH0876973A (en) 1996-03-22

Family

ID=16643431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6213693A Pending JPH0876973A (en) 1994-09-07 1994-09-07 Arithmetic processing unit and extended arithmetic unit

Country Status (1)

Country Link
JP (1) JPH0876973A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215028A (en) * 1998-10-06 2000-08-04 Texas Instr Inc <Ti> Multiplyer/accumulator unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215028A (en) * 1998-10-06 2000-08-04 Texas Instr Inc <Ti> Multiplyer/accumulator unit

Similar Documents

Publication Publication Date Title
US5218564A (en) Layout efficient 32-bit shifter/register with 16-bit interface
US6510510B1 (en) Digital signal processor having distributed register file
JPH07141175A (en) Active memory and processing system
US20120144160A1 (en) Multiple-cycle programmable processor
US6343337B1 (en) Wide shifting in the vector permute unit
JP2002358288A (en) Semiconductor integrated circuit and computer readable recording medium
JP2000322235A (en) Information processor
JPH0916398A (en) Information processor
JP3183844B2 (en) Variable pipeline stage data processor
US6725355B1 (en) Arithmetic processing architecture having a portion of general-purpose registers directly coupled to a plurality of memory banks
JPH0876973A (en) Arithmetic processing unit and extended arithmetic unit
US11847455B2 (en) Clearing register data using a write enable signal
JP2701955B2 (en) Register logical operation unit
JPS63147255A (en) Calculation processor having several series connection stages and computer and calculation applying the same
US6009483A (en) System for dynamically setting and modifying internal functions externally of a data processing apparatus by storing and restoring a state in progress of internal functions being executed
JP7507304B2 (en) Clearing register data
US5784634A (en) Pipelined CPU with instruction fetch, execution and write back stages
Srini et al. Parallel DSP with memory and I/O processors
JP2654451B2 (en) Data output method
JPS63197217A (en) Data processor
JP3470432B2 (en) Signal processing device
JP2000293357A (en) Microprocessor
JP2001092658A (en) Data processing circuit and data processor
JP2001350714A (en) Data processor
JP3723311B2 (en) Parallel processor

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees