JPH0876973A - 演算処理装置及び拡張演算装置 - Google Patents

演算処理装置及び拡張演算装置

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
English (en)
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/ja
Publication of JPH0876973A publication Critical patent/JPH0876973A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 マイクロプロセッサやDSP等の演算処理装
置において、画像処理のように演算処理量が多くても高
速な演算処理を実現する。 【構成】 演算処理装置Sはハンドシェークによる非同
期処理動作が可能となっており、例えばDSP(ディジ
タルシグナルプロセッサ)にて構成される。演算処理装
置Sには拡張演算装置Pと接続するための外部端子t1a
〜t5aが設けられ、拡張演算装置Pには演算処理装置S
と接続するための外部端子t1b〜t5bが設けられてい
る。演算処理装置Sと拡張演算装置Pは各外部端子t1a
〜t5a,t1b〜t5bを介してデータの転送が可能に接続
されている。拡張演算装置Pは拡張演算ユニット17を
備え、例えば画像処理においてフィルタ演算やマトリク
ス演算等の演算処理量の多い演算実行時には、データが
拡張演算ユニット17へ送られ、演算処理能力の高い拡
張演算ユニット17にて演算が実行されるようになって
いる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロプロセッサ、D
SP(ディジタルシグナルプロセッサ)などのプログラ
ムにより動作する演算処理装置及び拡張演算装置に関す
るものである。
【0002】
【従来の技術】画像処理を目的としたアーキテクチャを
持つ演算処理装置として、ドイツITT社のDSP:Da
ta-driven array processor (以下本明細書ではD-D.A.
P.と略記する)がある。そのアーキテクチャ、動作につ
いての詳細は以下の文献に詳細に示されている。
【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) そのアーキテクチャはデータ駆動形アレイプロセッサ構
成と呼ばれており、以下にその特徴を簡単に説明する。
【0004】命令発生部(プログラムカウンタ、命令読
み出し、命令デコード)、レジスタファイル、入出力ポ
ート、MAC(乗累算器)、ALU(算術論理演算器)
で構成されており、それぞれがパイプライン処理構造で
ある。外部データの授受にはハンドシェーク動作の入力
ポート、出力ポートを用いるが、ここでデータの授受に
待ちが生じた場合には全てのパイプライン処理が途中で
停止する方式を用いている。D-D.A.P.ではこの動作をセ
ルフタイムドハンドシェークと表現している。
【0005】以上の基本構成を持つプロセッサ(D-D.A.
P.ではセルと表現する)を複数個接続し、セル間で個別
のプログラムを動作させ、データの授受を行うが、前記
セルフタイムドハンドシェークを用いることで、セル間
のタイミングを意識せず、プログラムの記述が可能とな
っている。
【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はハンドシェーク機能を持つ出力ポート(以
下、ハンドシェーク出力ポートという)である。
【0007】最初にプログラムカウンタ1、命令読み出
し回路2、命令デコード回路3からなる命令発生部分に
ついて述べる。プログラムカウンタ1は実行するプログ
ラムのアドレスを指示し、0番地から順次カウントアッ
プを行う。命令読み出し回路2ではプログラムカウンタ
1の示すアドレスに対応した命令をRAM等から読み出
す。更に命令デコード回路3でデコード処理を行い、レ
ジスタファイル4、演算器9,10、MUX11,1
4、入出力ポート12,13,15、バス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ポート構造を
持つ。
【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に示すブロック全体が停止され、そのハンドシェ
ーク動作の復帰を待つようになっている。
【0010】
【発明が解決しようとする課題】一般に、DSP等のよ
うにプログラムにより動作する演算処理装置を用いて画
像処理を行う場合には、その処理の大半が積和演算であ
り、しかもその演算処理を行うべきデータ量は膨大であ
る。そのため、MAC10が行うべき演算処理量が非常
に多くなってその演算処理時間が長くなり、例えばリア
ルタイム処理ができなくなってしまう。
【0011】上記従来方式のアーキテクチャを持つDS
P(D-D.A.P.の1セル)では、MACが1個のみであ
り、高速動作のためには数倍〜10倍程度の高速なシス
テムクロックの使用により演算処理速度を速くさせるこ
とが考えられる。しかし、クロックの高速化は回路の場
合では素子、ICの場合ではプロセスにおいて製造上の
困難があり、現状では技術的に実現不可能である。
【0012】また、複数のDSP(セル)を設け、演算
処理を各DSPに分担させて時分割処理を行わせること
により演算処理速度の高速化を図ろうとする試みが実際
に行われている。しかし、複数個のDSPによる時分割
処理では、DSPの増加に伴うハードウェアの大型化が
避けられないうえ、コスト的な課題も残る。
【0013】本発明は上記問題点を解決するためになさ
れたものであり、その目的は、画像処理のように演算処
理量が多くても高速な対応ができる演算処理装置及び拡
張演算装置を提供することにある。
【0014】
【課題を解決するための手段】請求項1に記載の発明で
は、演算処理装置に、拡張演算装置を接続するための外
部端子を備えた。
【0015】請求項2に記載の発明では、拡張演算装置
に、演算処理装置に接続するための外部端子を備えた。
請求項3に記載の発明では、所定の演算命令を指令する
演算命令部と、前記演算命令部からの演算命令に基づい
て入力されるデータに演算処理を施して出力する演算ユ
ニットと、該演算ユニットから出力される出力データを
記憶する記憶部とを備えた主演算処理装置に対して、前
記演算指令部からの演算命令を入力し、該主演算処理装
置を介して入力される入力データに演算処理を施して該
主演算処理装置に出力する拡張演算装置を外付けした。
【0016】請求項4に記載の発明では、所定の演算命
令を指令する演算命令部と、該演算命令部からの演算命
令を外部に伝送するための第1の命令バスと、前記演算
命令部からの演算命令に基づいて入力される入力データ
に演算処理を施して出力する演算ユニットと、演算ユニ
ットから出力される出力データを記憶する記憶部と、前
記入力データを外部に対して出力するための第1のデー
タバスと、外部から演算結果を入力するための第2のデ
ータバスとを備えた主演算処理装置に対して、前記主演
算処理装置の第1の命令バスから演算命令を入力するた
めの第2の命令バスと、前記第1のデータバスから入力
データを入力するための入力データバスと、前記第2の
命令バスを介して入力される演算命令に基づき入力デー
タバスを介して入力される入力データに演算処理を施し
て出力する演算ユニットと、前記演算ユニットから出力
される出力データを前記主演算処理装置の第2のデータ
バスに出力するための出力データバスとを備えた拡張演
算装置を外部端子を介して外付けした。
【0017】請求項5に記載の発明では、演算処理装置
に、所定の演算命令を指令する演算命令部と、該演算命
令部からの演算命令を外部に伝送するための第1の命令
バスと、前記演算命令部からの演算命令に基づいて入力
される入力データに演算処理を施して出力する演算ユニ
ットと、前記演算ユニットから出力される出力データを
記憶する記憶部と、前記入力データを外部に対して出力
するための第1のデータバスと、外部から演算結果を入
力するための第2のデータバスとを備えた。
【0018】請求項6に記載の発明では、拡張演算装置
に、外部演算処理装置からの演算命令を入力するための
命令バスと、前記外部演算処理装置からの入力データを
入力するための入力データバスと、前記命令バスからの
演算命令に基づき入力データバスから入力される入力デ
ータに演算処理を施して出力する演算ユニットと、前記
演算ユニットから出力される出力データを前記外部演算
処理装置に出力するための出力データバスとを備えた。
【0019】請求項7に記載の発明では、拡張演算装置
に、外部演算処理装置から演算命令を入力するための命
令バスと、前記命令バスに接続された演算命令デコード
回路と、前記外部演算処理装置から係数データを入力す
るための係数データバスと、前記係数データバスを介し
て入力された係数データを記憶する記憶装置と、前記外
部演算処理装置から入力データを入力するための入力デ
ータバスと、前記命令バスを介して演算命令デコード回
路に入力された演算命令に基づき前記記憶装置に記憶さ
れた係数データと入力データバスから入力される入力デ
ータとに演算処理を施す乗加算器と、前記乗加算器によ
る演算結果を外部演算処理装置に出力するための出力デ
ータバスとを備えた。
【0020】請求項8に記載の発明では、請求項7に記
載の拡張演算装置において、前記乗加算器を、フィルタ
演算機能とマトリクス演算機能とを選択的に実行可能と
した。
【0021】
【作用】請求項1に記載の発明によれば、外部端子を介
して演算処理装置に拡張演算装置を接続することが可能
となる。
【0022】請求項2に記載の発明によれば、外部端子
を介して拡張演算装置を演算処理装置に接続することが
可能となる。請求項3に記載の発明によれば、主演算処
理装置は演算命令部、演算ユニット及び記憶部を備え、
該主演算処理装置を介して拡張演算装置に入力データが
入力され、拡張演算装置は演算命令部からの演算命令に
基づいて入力データに施すべき演算処理を主演算処理装
置に代わって行う。
【0023】請求項4に記載の発明によれば、主演算処
理装置は演算命令部、演算ユニット及び記憶部を備え、
主演算処理装置から第1のデータバス及び入力データバ
スを介して拡張演算装置内の演算ユニットに入力データ
が入力される。演算ユニットは主演算処理装置の演算命
令部から第1及び第2の命令バスを介して入力された演
算命令に基づき入力データに施すべき演算処理を主演算
処理装置に代わって行う。
【0024】請求項5に記載の発明によれば、演算処理
装置は演算命令部、演算ユニット及び記憶部を備え、演
算命令部から第1の命令バスを介して演算命令の外部へ
の伝送が可能となり、第1のデータバスを介して入力デ
ータの外部への出力が可能となり、さらに第2のデータ
バスを介して外部からの演算結果の入力が可能となる。
そのため、拡張演算装置の外付けが可能となる。
【0025】請求項6に記載の発明によれば、命令バス
を介して外部演算処理装置からの演算命令の入力が可能
となり、入力データバスを介して外部演算処理装置から
の入力データの入力が可能となる。さらに演算命令に基
づいて入力データに演算処理を施した演算ユニットの出
力データの外部演算処理装置への出力が出力データバス
を介して可能となる。
【0026】請求項7に記載の発明によれば、命令バス
を介して外部演算処理装置からの演算命令の演算命令デ
コード回路への入力が可能となり、係数データバスを介
して外部演算処理装置からの係数データの記憶装置への
入力が可能となる。さらに入力データバスを介して外部
演算処理装置からの入力データの入力が可能となる。演
算命令に基づき乗加算器により記憶装置に記憶された係
数データと入力データに演算処理が施される。乗加算器
による演算結果を出力データバスを介して外部演算処理
装置に出力することが可能となる。
【0027】請求項8に記載の発明によれば、拡張演算
装置に設けられた乗加算器によりフィルタ演算機能とマ
トリクス演算機能とが選択的に実行される。
【0028】
【実施例】図1に本発明の演算処理装置の構成を示す。
図1における各部1〜15は従来技術において図4で説
明した構成と同じであるので、同一符号を付して説明を
省略し、特に異なった点についてのみ説明する。
【0029】図1に示すように、各部1〜15を備えた
演算処理装置Sは一つのチップ上に形成されており、そ
のチップとは別個のチップ上に拡張演算装置Pが形成さ
れている。演算処理装置Sと拡張演算装置Pをそれぞれ
構成する2枚のチップは同一基板上に外部端子t1a,t
1b〜t5a,t5bを介して接続された状態で配置されてい
る。
【0030】演算処理装置Sには、従来の構成に対して
命令読み出し回路2から命令バス16が新たに付加され
ており、各バス5〜8,16の末端に外部端子t1a〜t
5aがそれぞれ設けられている。
【0031】拡張演算装置Pには拡張演算ユニット17
と、演算処理装置Sに設けられた各外部端子t1a〜t5a
と接続可能な外部端子t1b〜t5bとが設けられている。
外部端子t1b〜t5bは演算処理装置S中の各バス5〜
8,16と対応する各バス5a〜8a,16aに接続さ
れている。
【0032】演算処理装置Sと拡張演算装置Pとは外部
端子t1a〜t5aと外部端子t1b〜t5bとの結合により接
続されており、演算処理装置Sと拡張演算装置Pとの間
でデータの伝送が可能となっている。拡張演算ユニット
17はAバス5a、Bバス6a及び命令バス16a上の
データを入力し、その演算結果をCバス7aあるいはD
バス8aに選択的に出力するようになっている。
【0033】図2に拡張演算ユニット17の構成を示
す。同図に示すように、命令デコード部18は命令バス
16,16aを介して命令デコーダ3から命令セットを
取り込み、各種のデコード処理を行う。このデコード処
理には、「係数入力」、「Aバス入力」、「Bバス入
力」、「タップ数設定」、「モード設定」、「クリ
ア」、「演算実行」、「Cバス出力」、「Dバス出力」
の9種類が設定されている。
【0034】「係数入力」は、演算処理装置S中のRA
M(図示せず)に予め記憶された積和演算に使用するた
めの係数データの入力を指令する。「Aバス入力」は、
係数データをAバス5aから入力することを指令する。
「Bバス入力」は、係数データをBバス6aから入力す
ることを指令する。「タップ数設定」は、実行される積
和演算において積和すべき項数Mの読み込みを指令す
る。「モード設定」は、実行される演算処理がフィルタ
演算であるかマトリクス演算であるかを指定する。「ク
リア」は、データのクリアを指令する。「演算実行」
は、演算の実行を指令する。「Cバス出力」は、データ
の出力をCバス7aに指定する。「Dバス出力」は、デ
ータの出力をDバスに指定する。命令デコード部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個設けられている。
【0036】モード選択回路22には命令デコード部1
8から「モード設定」及び「演算実行」での各デコード
結果として命令コードが印加されるようになっている。
モード選択回路22は、各命令コード「1」の印加によ
りBバス6a上からの入力データを入力し、その入力デ
ータをその指定された演算モード、すなわちフィルタ演
算またはマトリクス演算に応じたそれぞれの設定出力タ
イミングで順次にデータを出力するようになっている。
【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からの係数データの読出しタイ
ミングに同期して設定されている。
【0038】各MUX30は、図3の(b) 矢印から入力
された命令デコード部18からのモード指定コードが
「0」のときに同図のデータ信号Aを、そのモード指定
コードが「1」のときに同図のデータ信号Bをそれぞれ
図3の(c) 〜 (e)へ選択出力する。
【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に
対して出力選択する指定信号を出力するようになってい
る。
【0040】MUX26は、各DFF24からの入力信
号のうち出力カウンタ25からの指定信号に基づき指定
されたDFF24からの入力データを出力する。MUX
26からの出力データは、ハイインピーダンス出力機能
を有する2つのバッファ27,28が入力する。各バッ
ファ27,28は、命令デコード部18の「Cバス出
力」及び「Dバス出力」から出力指定コード「0」,
「1」を入力し、その出力指定コードとして「1」が印
加された側の指定バスに接続された側が開かれるように
なっている。
【0041】次に、上記のように構成された演算処理装
置の作用を説明する。拡張演算装置Pは演算処理装置S
側の演算処理能力を越えるフィルタ演算あるいはマトリ
クス演算が必要なときに使用される。拡張演算ユニット
17は命令デコード回路3から命令バス16,16aを
介して送られる命令に基づき動作し、Aバス5,5aあ
るいはBバス6,6aを介して送られてくる係数データ
と画像データとの積和演算を行い、その演算結果をCバ
ス7aあるいはDバス8a上に出力する。
【0042】拡張演算ユニット17による演算処理実行
前の段階では、拡張演算ユニット17内のRAMアドレ
スカウンタ19、RAMバンクカウンタ20、MAC2
3及び出力カウンタ25は予めリセットされている。
【0043】拡張演算ユニット17の動作開始時には、
まず実行される演算モードがフィルタ演算であるかマト
リクス演算であるかが設定される。すなわち、フィルタ
演算である場合にはモード選択回路22の図2における
(b) にモード設定コード「1」が印加され、マトリクス
演算である場合にはモード選択回路22の(b) にモード
設定コード「0」が印加される。その結果、モード選択
回路22から各MAC23への出力タイミングが、これ
から実行される演算モードに合わせて設定される。ま
た、これと同時にタップ数Mが設定され、RAMアドレ
スカウンタ19、RAMバンクカウンタ20及び出力カ
ウンタ25の分周数がそれぞれMカウントに設定され、
各カウント範囲の初期化が行われる。
【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に印加され
る。
【0045】こうしてAバス5,5aを介して拡張演算
ユニット17まで係数データが送られてくると、命令デ
コード部18からRAMアドレスカウンタ19及びRA
Mバンクカウンタ20に係数入力コード「1」が印加さ
れる。この印加に基づきRAMアドレスカウンタ19か
ら各RAM21へアドレス信号(ロ)の出力が開始され
るとともに、RAMバンクカウンタ20から各RAM2
1のうち書込みを行うべきRAM21に書込み信号
(イ)が出力される。
【0046】まず、拡張演算ユニット17により実行さ
れる演算がフィルタ演算の場合を例として説明する。フ
ィルタ演算の場合、各RAM21に同じ係数データが書
き込まれる。RAMバンクカウンタ20から係数データ
の書込みを行うべき各RAM21に書込み信号(イ)が
同時に出力され、Aバス5から入力された係数データは
各RAM21に同時進行的に並行して書込まれる。この
書込み方法以外に、例えば個々のRAM21に順次に書
込み信号(イ)を出力して同一の係数データを各RAM
21に順次に書き込む方法を採用することもできる。各
RAM21には同じデータ値の係数データ(a0
1 ,a2 ,…,aM )がそれぞれ書き込まれる。
【0047】こうして各RAM21への係数データの書
込みが完了すると、次にフィルタ処理すべき画像データ
(x0 ,x1 ,x2 ,…,xM )がBバス6aを介して
送られてくる。その際、予め命令デコード部18から演
算実行コードとして「1」がRAMアドレスカウンタ1
9及びモード選択回路22に印加される。この印加に基
づきRAMアドレスカウンタ19から各RAM21に読
出し信号(ニ)が出力され、この読出し信号(ニ)に基
づき各RAM21から係数データが書込まれた順番と同
じ順番で同時並列的にそれぞれ対応する各MAC23に
出力される。
【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にラッチされる。
【0049】DFF24にラッチされた演算結果がMU
X26でデータ順(図2の各DFF24の上からの出力
順)に選択され、MUX26からバッファ27,28を
介してCバス7aあるいはDバス8aのいづれかに出力
される。MUX26の選択制御は出力カウンタ25に従
うが、このカウンタの歩進は命令バス16aを介して転
送されてくる拡張演算ユニット17の演算結果読みだし
命令をデコードした信号(命令デコード部18中の「C
バス出力」、「Dバス出力」)に従う。演算結果の読み
だし個数は出力カウンタ25のカウント数に基づきM個
毎に行われる。
【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)がそれぞれ書き
込まれる。
【0051】次にマトリクス処理すべき画像データ(x
0 ,x1 ,x2 ,…,xM )がBバス6aを介して送ら
れてくる。この画像データ(x0 ,x1 ,x2 ,…,x
M )は順次にモード選択回路22に入力され、モード選
択回路22から順次に各MAC23に同時並列的に出力
される。このとき、モード選択回路22内では図3に示
すように、MUX30は遅延されない画像データAと、
DFF29を介して遅延されたデータBとを入力し、遅
延されていないデータAを選択出力する。
【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側へ転送される。
【0053】以上詳述したように本実施例によれば、演
算処理装置Sに拡張演算装置Pと接続するための外部端
子t1a〜t5aを設けるとともに、拡張演算装置Pに演算
処理装置Sと接続するための外部端子t1b〜t5bを設け
たので、拡張演算装置Pを必要に応じて接続することが
できる。そのため、例えば演算処理量の多い画像処理等
に演算処理装置Sを使用する場合でも、拡張演算装置P
を接続することにより演算処理能力確保のために演算処
理装置Sを複数設ける構成をとる必要がなくなる。つま
り、不足する演算器のみを必要に応じて付加することが
できる。
【0054】その結果、データ待ち状態となっても演算
処理装置S全体が復帰するまで駆動停止するようなこと
が防止されるので、演算処理を高速に行うことができ
る。また、頭脳をもったDSPやLSI等のチップを演
算処理能力を補うために付加する必要がなくなるので、
チップの占有面積が小さくて済むうえ、コスト的に安価
で済む。
【0055】また、拡張演算装置Pを構成する拡張演算
ユニット17に、演算最大次数Nに応じた個数NのRA
M21及びMAC23を設け、各積和演算を並列にほぼ
並行に実行する構成としたので、次数に関わらずフィル
タ演算またはマトリクス演算を<1サンプルの結果出力
/1命令ステップ>の処理速度で実行することができ
る。そのため、画像処理において、フィルタ演算やマト
リクス演算等のように演算処理量の多い演算を処理させ
ても、高速処理の実現が可能となる。
【0056】なお、本発明は上記実施例に限定されるも
のではなく、発明の趣旨を逸脱しない範囲で例えば次の
ようにその構成を変更することもできる。 (1)拡張演算装置Pが行う演算は、フィルタ演算やマ
トリクス演算以外の積和演算でもよい。さらに、積和演
算以外の演算処理を実行させてもよい。
【0057】(2)一つの演算処理装置Sに2つ以上の
拡張演算装置Pを接続する構成としてもよい。 前記実施例から把握され、特許請求の範囲に記載されて
いない発明を、その効果とともに以下に記載する。
【0058】(イ)ハンドシェークで非同期動作するD
SPに接続するための外部端子を拡張演算器に備えた。
拡張演算器とDSPとを接続した演算処理装置を非同期
動作させることができる。
【0059】
【発明の効果】以上詳述したように請求項1に記載の発
明によれば、外部端子を介して演算処理装置に拡張演算
装置を接続することができる。
【0060】請求項2に記載の発明によれば、外部端子
を介して拡張演算器を演算処理装置に接続することがで
きる。請求項3及び請求項4に記載の発明によれば、拡
張演算装置に主演算処理装置に代わって演算処理を行わ
せることができる。
【0061】請求項5に記載の発明によれば、演算命令
や入力データの外部への出力が可能となり、演算結果の
入力が可能となるため、演算処理装置に拡張演算装置を
外付けすることができる。
【0062】請求項6及び請求項7に記載の発明によれ
ば、拡張演算装置を外部演算処理装置に接続することが
できる。請求項8に記載の発明によれば、拡張演算装置
に設けられた乗加算器にフィルタ演算機能とマトリクス
演算機能とを選択的に実行させることができる。
【図面の簡単な説明】
【図1】本発明を具体化した一実施例の演算処理装置の
ブロック回路図である。
【図2】拡張演算ユニットのブロック回路図である。
【図3】モード選択回路のブロック回路図である。
【図4】従来の演算処理装置のブロック回路図である。
【符号の説明】
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…拡張演算装置

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 拡張演算装置を接続するための外部端子
    を備えた演算処理装置。
  2. 【請求項2】 演算処理装置に接続するための外部端子
    を備えた拡張演算装置。
  3. 【請求項3】 所定の演算命令を指令する演算命令部
    と、前記演算命令部からの演算命令に基づいて入力され
    るデータに演算処理を施して出力する演算ユニットと、
    該演算ユニットから出力される出力データを記憶する記
    憶部とを備えた主演算処理装置に対して、前記演算指令
    部からの演算命令を入力し、該主演算処理装置を介して
    入力される入力データに演算処理を施して該主演算処理
    装置に出力する拡張演算装置を外付けした演算処理装
    置。
  4. 【請求項4】 所定の演算命令を指令する演算命令部
    と、 該演算命令部からの演算命令を外部に伝送するための第
    1の命令バスと、 前記演算命令部からの演算命令に基づいて入力される入
    力データに演算処理を施して出力する演算ユニットと、 演算ユニットから出力される出力データを記憶する記憶
    部と、 前記入力データを外部に対して出力するための第1のデ
    ータバスと、 外部から演算結果を入力するための第2のデータバスと
    を備えた主演算処理装置に対して、 前記主演算処理装置の第1の命令バスから演算命令を入
    力するための第2の命令バスと、 前記第1のデータバスから入力データを入力するための
    入力データバスと、前記第2の命令バスを介して入力さ
    れる演算命令に基づき入力データバスを介して入力され
    る入力データに演算処理を施して出力する演算ユニット
    と、 前記演算ユニットから出力される出力データを前記主演
    算処理装置の第2のデータバスに出力するための出力デ
    ータバスとを備えた拡張演算装置を外部端子を介して外
    付けした演算処理装置。
  5. 【請求項5】 所定の演算命令を指令する演算命令部
    と、 該演算命令部からの演算命令を外部に伝送するための第
    1の命令バスと、 前記演算命令部からの演算命令に基づいて入力される入
    力データに演算処理を施して出力する演算ユニットと、 前記演算ユニットから出力される出力データを記憶する
    記憶部と、 前記入力データを外部に対して出力するための第1のデ
    ータバスと、 外部から演算結果を入力するための第2のデータバスと
    を備えた演算処理装置。
  6. 【請求項6】 外部演算処理装置からの演算命令を入力
    するための命令バスと、 前記外部演算処理装置からの入力データを入力するため
    の入力データバスと、 前記命令バスからの演算命令に基づき入力データバスか
    ら入力される入力データに演算処理を施して出力する演
    算ユニットと、 前記演算ユニットから出力される出力データを前記外部
    演算処理装置に出力するための出力データバスとを備え
    た拡張演算装置。
  7. 【請求項7】 外部演算処理装置から演算命令を入力す
    るための命令バスと、 前記命令バスに接続された演算命令デコード回路と、 前記外部演算処理装置から係数データを入力するための
    係数データバスと、 前記係数データバスを介して入力された係数データを記
    憶する記憶装置と、 前記外部演算処理装置から入力データを入力するための
    入力データバスと、 前記命令バスを介して演算命令デコード回路に入力され
    た演算命令に基づき前記記憶装置に記憶された係数デー
    タと入力データバスから入力される入力データとに演算
    処理を施す乗加算器と、 前記乗加算器による演算結果を外部演算処理装置に出力
    するための出力データバスとを備えた拡張演算装置。
  8. 【請求項8】 前記乗加算器は、フィルタ演算機能とマ
    トリクス演算機能とを選択的に実行することができる請
    求項7に記載の拡張演算装置。
JP6213693A 1994-09-07 1994-09-07 演算処理装置及び拡張演算装置 Pending JPH0876973A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6213693A JPH0876973A (ja) 1994-09-07 1994-09-07 演算処理装置及び拡張演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6213693A JPH0876973A (ja) 1994-09-07 1994-09-07 演算処理装置及び拡張演算装置

Publications (1)

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

Family

ID=16643431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6213693A Pending JPH0876973A (ja) 1994-09-07 1994-09-07 演算処理装置及び拡張演算装置

Country Status (1)

Country Link
JP (1) JPH0876973A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215028A (ja) * 1998-10-06 2000-08-04 Texas Instr Inc <Ti> 乗算器/アキュムレ―タ・ユニット

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215028A (ja) * 1998-10-06 2000-08-04 Texas Instr Inc <Ti> 乗算器/アキュムレ―タ・ユニット

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
US7366881B2 (en) Method and apparatus for staggering execution of an instruction
JPS59132070A (ja) アレイ演算用デ−タ処理装置
WO2000017744A1 (en) High frequency pipeline decoupling queue design
US6343337B1 (en) Wide shifting in the vector permute unit
JP7507304B2 (ja) レジスタデータの消去
JP2002358288A (ja) 半導体集積回路及びコンピュータ読取り可能な記録媒体
JPH0916398A (ja) 情報処理装置
JP2000322235A (ja) 情報処理装置
JP3183844B2 (ja) 可変パイプライン段数のデータ処理装置
US6725355B1 (en) Arithmetic processing architecture having a portion of general-purpose registers directly coupled to a plurality of memory banks
JPH0876973A (ja) 演算処理装置及び拡張演算装置
JP2701955B2 (ja) レジスタ論理演算ユニット
JPS63147255A (ja) 複数の直列接続段を有する計算用プロセッサおよびこのプロセッサを応用したコンピュータならびに計算方法
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
CN121478350B (zh) 一种指令执行设备、执行方法及电子装置
US5784634A (en) Pipelined CPU with instruction fetch, execution and write back stages
JP3144859B2 (ja) 算術論理演算装置
Srini et al. Parallel DSP with memory and I/O processors
JP2654451B2 (ja) データ出力方法
JP3470432B2 (ja) 信号処理装置
JP2000293357A (ja) マイクロプロセッサ
JPS63197217A (ja) デ−タ処理装置
JP2001092658A (ja) データ処理回路及びデータ処理装置

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