JPH03223960A - プロセッサ - Google Patents

プロセッサ

Info

Publication number
JPH03223960A
JPH03223960A JP2188494A JP18849490A JPH03223960A JP H03223960 A JPH03223960 A JP H03223960A JP 2188494 A JP2188494 A JP 2188494A JP 18849490 A JP18849490 A JP 18849490A JP H03223960 A JPH03223960 A JP H03223960A
Authority
JP
Japan
Prior art keywords
data
calculation
register
bus line
control signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2188494A
Other languages
English (en)
Other versions
JP2862969B2 (ja
Inventor
Shinichi Uramoto
浦本 紳一
Hideyuki Terane
寺根 秀幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPH03223960A publication Critical patent/JPH03223960A/ja
Priority to US07/888,329 priority Critical patent/US5204962A/en
Application granted granted Critical
Publication of JP2862969B2 publication Critical patent/JP2862969B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、一般にプロセッサに関し、特に、演算処理
の高速化のための改善されたプロセッサに関する。
[従来の技術] コンピュータシステムやマイクロコンピュータなどが社
会の様々な分野で利用されるにつれて、それらによる高
速演算処理への要求が高まっている。コンピュータシス
テムやマイクロコンピュータにおける演算処理は、一般
にはプロセッサまたは論理集積回路であるマイクロプロ
セッサにより実行される。したがって、これらのプロセ
ッサを高速に動作させるための種々の努力が従来からな
されている。
第20図は、従来のマイクロプロセッサを示すブロック
図である。第20図に示したマイクロプロセッサは、た
とえばナカガワ他による’A  50ns  Vide
o  Signal  Processor”と題され
た論文(ISSCC89,ダイジェスト オブ テクニ
カルペーパーズ pp。
168−169)に見られる。この論文ではディジタル
シグナルプロセッサ(D S P)としてこのマイクロ
プロセッサが記されている。
第20図を参照して、このマイクロプロセッサは、様々
な演算を実行するためのデータ演算部1と、データを伝
送するためのパスライン2と、データをストアするため
のデータメモリ部24と、演算を実行するための命令プ
ログラムをストアするための命令メモリ部23と、外部
から制御信号を受けかつ命令プログラムをデコードする
プログラムシーケンス制御部22と、アドレスを演算す
るアドレス演算部8と、外部とデータを入出力するため
のインターフェイス部21とを含む。データ演算部1は
、パスライン2を介して与えられるデータの論理演算を
行なう演算論理ユニット(以下ALUという)と、デー
タバス2を介して与えられるデータの乗算を行なう乗算
器5と、ALU3および乗算器5からの出力データを一
時的に保持するレジスタ部4とを含む。
動作において、プログラムシーケンス制御部22は命令
メモリ部23中にストアされた命令プログラムをデコー
ドし、制御信号SIOおよびS20をデータ演算部1.
アドレス演算部8.データメモリ部24およびインター
フェイス部21に与える。アドレス演算部8はプログラ
ムシーケンス制御部22から出力された制御信号S10
に応答してデータ演算部1において処理すべきデータの
供給元(ソースアドレス)および処理されたデータの格
納先(デスティネーションアドレス)を演算により得る
。アドレス演算部8から出力されたソースアドレスおよ
びデスティネーションアドレスはパスライン2を介して
各部に伝送される。データメモリ部24は、アドレス演
算部8から出力されたアドレスによって指定されたデー
タをパスライン2を介してデータ演算部1に供給する。
データ演算部1では、ALU3および乗算器5が与えら
れたデータの演算を実行し、演算結果をレジスタ部4に
与える。レジスタ部4は与えられたデータを一時的に保
持し、アドレス演算部8からパスライン2を介して与え
られるソース指定信号S1ないしSnに応答して保持し
たデータをパスライン2に出力する。パスライン2に与
えられたデータはアドレス演算部8によって指定された
部分、たとえばデータメモリ部24.インターフェイス
部21などにパスライン2を介して伝送される。
処理されたデータがパスライン2を介してインク−フェ
イス部21に与えられた後、そのデータはたとえば外部
に設けられた外部記憶装置にストアされる。
第21図は、第20図に示したレジスタ部4の模式的な
ブロック図である。第21図を参照して、レジスタ部4
はn個のレジスタR1ないしRnを含む。各レジスタR
1ないしRnは、第20図に示したように、ALU3お
よび乗算器5から演算処理されたデータを受けるように
接続されているものと仮定する(図示せず)。これに加
えて、各レジスタR1ないしRnは、アドレス演算部8
からパスライン2を介してそれぞれソース指定信号S1
ないしSnを受けるように接続される(図示せず)。デ
ータメモリ部24はアドレス演算部8からアドレス信号
ADを受けるように接続される。
データメモリ部24中には、各アドレスM1ないしM8
中に演算されるべきデータa1ないしa8がストアされ
ているものとする。
動作において、たとえばレジスタR1中にALU3また
は乗算器5により演算処理されたデータb1−が保持さ
れる。アドレス演算部8は、ソース指定信号S1を出力
する。レジスタR1は、信号S1に応答して保持してい
るデータb1をデータバス2に供給する。同様にして、
データメモリ部24も、アドレス演算部8から出力され
たアドレス信号ADにより指定されたデータaiをデー
タバス2に供給する。データバス2に供給されたデータ
は、さらにデータ演算部1に与えられ、演算処理が続け
られる。
一般に、マイクロプロセッサでは、ソースデータの格納
場所を指定するためにアドレス指定方式(アドレシング
)が使用される。アドレス指定方式として、直接アドレ
シング、間接アドレシング。
相対アドレシング、即値アドレシング、オフセット付ア
ドレシングおよびインデックス付アドレシングなどが知
られる。
たとえば直接アドレシングでは、命令のオペランド部分
において規定されたアドレスのデータがソースデータと
して指定される。また、間接アドレシングでは、命令の
オペランド部分において指定されたレジスタまたはデー
タメモリ中にソースデータの格納場所が書込まれており
、そこからソースデータが取出される。相対アドレシン
グでは、たとえば現在実行中の命令のアドレスが保持さ
れているプログラムカウンタの値に、何らかの値が加え
られた値がソースデータのアドレスとされる。
即値アドレスでは、命令のオペランド部分中にソースデ
ータが直接書込まれている。オフセット付アドレシング
やインデックス付アドレシングでは、ソースデータがス
トアされているアドレスの値が“修飾”される。これら
のアドレス指定方式に関しては、一般に他の文献により
広く知られている。
上記のアドレス指定方式は、ソースデータが保持されて
いるレジスタの指定、ソースデータがストアされたデー
タメモリのアドレスの指定、および命令のオペランド部
分に直接書込まれた即値データの使用のうちのいずれか
を選択するものであるということができる。別言すると
、データ演算部1においてソースデータとして扱われる
データは、命令のオペランド部分に書込まれた即値デー
タか、レジスタに保持されたデータか、データメモリ中
にストアされたデータのいずれかである。
一方、離散コサイン変換(以下DCTという)は直交変
換の一種として知られており、一般に、互いに強い相関
を有する画像データの変換特性が良好であるため、画像
データの圧縮に用いられている。DCTが画像データの
圧縮に用いられるもう1つの理由として、高速アルゴリ
ズムが存在することが指摘される。これまでに多(の高
速アルゴリズムが発表されており、1つの例として、W
H,Chen他による“A  Fast  Compu
tational  Algorithm  f。
r  the  Discrete  CCo51ne
Trasforと題された論文(IEEE  hランザ
クションズ オン コミュニケーションズ。
VOL、COM、25.No、9.1977年9月)に
見られる。多くの高速アルゴリズムでは、基本的に第2
3図に示すようなバタフライ演算が含まれる。
第23図は、周波数領域分割法による離散フーリエ変換
でのバタフライ演算を示す演算記号図で0 ある。第23図かられかるように、バタフライ演算を実
行することにより、2つの入力データaおよびbから次
式により表わされるような出力データXおよびYが得ら
れる。
X=a+b       ・・・(1)Y= (a−b
)XWN  −(2) ここで、WNはひねり因子と呼ばれる係数である。
高速フーリエ変換(F F T)では、N/2個(Nは
サンプリング数であり、かつ2のべき乗)のバタフライ
演算を含む演算段がLog2N段にわたって直列に接続
される。前述のDCTアルゴリズムにおいても、Log
2N段のバタフライ演算が実行される。
第23図および式(1)および(2)かられかるように
、バタフライ演算を実行するためには、加算、減算およ
び乗算をそれぞれ1回実行する必要があることが指摘さ
れる。
前述のChen他による論文では、N点のサンプリング
値を有する離散関数f (j)、  j=0゜1 1、・・・、N−1の変換式は、次のように表わされれ
ている。
F (k) = 2・c (k) /N・Σ 1(j)
J−’ cos  f(2i+1)kTT/2Nl      
−(3)k=o、  1.・・・、N−1 ここで、 c  ac)=1/(T   (但し、k=0)・・・
(4)=1      (但し、k≧1)・・・(5)
したがって、4点のサンプリング値を有する離散関数f
 (Dが与えられた場合では、式(3)においてN=4
を代入することにより、次の式(6)が得られる。
F (k) = 2 ・c(k)/8−Σ 1(j)c
os t(2i+1)kTT/11  − (6)k=
0. 1. 2. 3 [発明が解決しようとする課題] 従来のマイクロプロセッサでは、ソースデータの指定が
上記のようになされていたので、演算処理に要する時間
が必要な演算回数およびデータ演算部1における演算処
理速度により主に決定され2 る。すなわち、マイクロプロセッサによる演算処理速度
はデータ演算部1における処理速度により制限されてい
る。
マイクロプロセッサの演算処理を高速化するためには、
たとえば1つの命令サイクルの周期を短くする(クロッ
ク周波数を高くする)方法や、浮動小数点演算装置のよ
うに演算装置を並列に用意し、1つの命令により高度な
演算(たとえば乗算や除算、有理関数演算など)を実行
する方法などが採用されている。しかしながら、前者の
方法によると、半導体製造技術上の問題や、周辺素子の
性能上からもたらされる制限などにより、高速動作が妨
げられる。一方、後者の方法では、演算を実行するため
に必要な素子数が多数となり、加えて入出力制御がかな
り複雑となり好ましくない。
数値演算処理では、加算および減算などのような単純な
演算が多数繰返される場合が多くある。そのような場合
に、後者の浮動小数点演算装置を利用する方法では複雑
な演算処理を実行させるための回路部分が無駄となり、
適していない。
3 次に、数値演算の場合の簡単な例として、次式に表わさ
れるような8つのデータa1ないしa8の加算が実行さ
れる場合について説明する。
X=al+a2+a3+−・・・・・+a8  − (
7)ただし各データa1ないしa8は、それぞれデータ
メモリ部24中の各アドレスM1ないしM8にストアさ
れているものとし、結果を示すデータXはレジスタR7
に格納されるものとする。
第22図は、第21図に示したレジスタ部4を用いて式
(7)によって表わされた8つのデータの加算を実行す
る場合の演算フロー図である。この図では、たとえば、
ステップ1におけるal(Ml)+a 2 (M2) 
→b 1 (R1)は、データメモリ部24のアドレス
M1にストアされたデータa1とアドレスM2にストア
されたデータa2とを加算し、かつその加算データb1
をレジスタR1に格納することを示す。
演算動作において、第22図に示すように、7つの計算
ステップにわたる加算が実行され、加算されたデータX
がレジスタR7中に得られる。し4 たがって、第21図に示した回路構成を有するレジスタ
部4を使用して8つのデータa1ないしa8の加算を行
なうためには、7つの命令サイクルに相当する演算時間
が必要となり、演算時間の短縮化が妨げられている。
次に、式(6)により表わされた4点離散コサイン変換
の場合について、第21図に示したレジスタ部4が使用
されるときの演算所要時間について説明する。
第24図は、第21図に示したレジスタ部4を用いてバ
タフライ演算が実行される場合の演算フロー図である。
この図では、たとえば、ステップ1におけるxo (R
1)+x3 (R4)−=a 1(R6)は、レジスタ
R1中に保持されたデータxOとレジスタR4中に保持
されたデータx3とを加算し、かつその加算データa1
をレジスタR6に格納することを示す。なお、各入力デ
ータXOないしX3は、予め各レジスタR1ないしR4
中にそれぞれ保持されているものと仮定する。
演算動作において、第24図に示すように、合5 計14の計算ステップにわたる演算が実行される。
ここでの演算は、加算、減算および乗算を含んでおり、
これらの演算は第20図に示したデータ演算部1中のA
LU3または乗算器5により実行される。14ステツプ
にわたる演算が実行された後、演算結果を示す各出力デ
ータzOないしz3は各レジスタR5ないしR8中にそ
れぞれ保持される。
したがって、第21図に示した回路構成を有するレジス
タ部4を使用してバタフライ演算を行なうためには、合
計14の命令サイクルに相当する演算時間が必要となり
、演算時間の短縮化が妨げられていることが指摘される
この発明は、上記のような課題を解決するためになされ
たもので、プロセッサにおいて、演算をより高速に実行
することを目的とする。
[課題を解決するための手段] 請求項1の発明にかかるプロセッサは、所望の演算の指
定および実行を制御するための制御信号を発生する制御
信号発生手段と、制御信号によって指定された演算を行
なう第1の演算手段と、第6 1の演算手段により用いられるデータを伝送するデータ
バス線と、第1の演算手段により用いられるデータを保
持する保持手段と、保持手段の出力に接続され、予め定
められた演算を行なう第2の演算手段とを含む。
請求項2の発明にかかるプロセッサは、所望の演算の指
定および実行を制御するための制御信号を発生する制御
信号発生手段と、制御信号によって指定された演算を行
なう第1の演算手段と、第1の演算手段により用いられ
るデータを伝送するデータバス線と、第1の演算手段に
よる演算で用いられる第1のデータを保持する保持手段
と、第1の演算手段による演算で用いられる第2のデー
タを記憶するデータ記憶手段と、保持手段の出力および
データ記憶手段の出力に接続され、予め定められた演算
を行なう第2の演算手段とを含む。
請求項3の発明にかかるプロセッサは、演算データを伝
送するためのデータバス線と、データバス線から与えら
れた演算データを演算する演算手段と、演算手段からの
出力データを保持する少な7 くとも第1および第2の保持手段と、第1および第2の
保持手段に接続され、第1および第2の保持手段中に保
持されたデータを加算する加算手段と、第1および第2
の保持手段に接続され、第1および第2の保持手段中に
保持されたデータを減算する減算手段とを含む。
[作用] 請求項1の発明におけるプロセッサでは、第1の演算手
段が演算を実行するとき、その演算において用いられる
データが保持手段中に保持される。
保持手段の出力には第2の演算手段が接続されているの
で、データが保持手段中に保持されるのと同時に保持さ
れたデータについて第2の演算手段において予め定めら
れた演算が実行される。第2の演算手段は、制御信号発
生手段からの制御信号に応答して演算結果をデータバス
線に供給する。
このように、保持手段へのデータの供給と同時に予め定
められた演算が第2の演算手段により実行されるので、
演算に要する時間を短縮することができる。
1.8 請求項2の発明におけるプロセッサでは、第1の演算手
段において用いられる第1および第2のデータが保持手
段およびデータ記憶手段中にそれぞれ保持および記憶さ
れる。保持手段の出力およびデータ記憶手段の出力には
第2の演算が接続されているので、データ記憶手段から
データが読み出されるのと同時に、保持されたデータお
よびデータ記憶手段から読出されたデータについて、第
2の演算が予め定められた演算を実行する。第2の演算
手段は、制御信号発生手段からの制御信号に応答して演
算結果をデータバス線に供給する。
このように、データ記憶手段からのデータの続出と同時
に予め定められた演算が第2の演算手段により実行され
るので、演算に要する時間を短縮することができる。
請求項3の発明におけるプロセッサでは、演算手段から
出力された出力データが第1および第2の保持手段中に
保持されるのと同時に各加算手段および減算手段による
演算が実行される。したがって、従来から演算手段によ
って実行されていた9 加算および減算が演算手段とは別に設けられた加算手段
および減算手段により実行されるので、演算時間が短縮
される。
[発明の実施例] 第1図は、この発明の一実施例を示すレジスタ部7aの
模式的なブロック図である。第1図に示したレジスタ部
7aは、第20図に示したレジスタ部4の代わりにマイ
クロプロセッサ中に適用される。レジスタ部7aは、後
に説明する8つのデータの加算を実行するのに必要な5
つのレジスタR1ないしR5を含む。これに加えて、レ
ジスタ部7aは、レジスタR1およびR2の出力に接続
された加算回路51と、レジスタR3およびR4の出力
に接続された加算回路52とを含む。加算回路51およ
び52は、前置演算回路40として、第20図に示した
データ演算部1中のALU3および乗算器5とは別に設
けられている。アドレス演算部8は加算結果を要求する
ソース指定信号5ADDおよび5ADD′を出力する。
各前置演算回路40は信号5ADDおよび5ADD′に
応答0 して、加算結果を示すデータAR12およびAR34を
パスライン2に供給する。各レジスタR1ないしR5は
、第11図に示したALU3および乗算器5から演算結
果を示すデータを受けるように接続されている(図示せ
ず)。
第2図は、第1図に示したレジスタ部7aを用いて8つ
のデータの加算を実行する場合の演算フロー図である。
第2図を参照して、前述の式(7)により表わされた演
算が第1図に示したレジスタ部7aを用いて実行される
。まず、ステップ1において、ALU3によりデータメ
モリ部24のアドレスM1にストアされているデータa
1とアドレスM2にストアされているデータa2とが加
算され、加算されたデータb1がレジスタR1中に保持
される。同様にして、ステップ2,3および4のそれぞ
れにおいて、データメモリ部24中にストアされている
データの対a3およびR4,R5およびR6,R7およ
びR8が加算され、加算されたデータb2.b3および
b4がそれぞれレジスタR2,R3およびR4中に保持
される。各1 加算されたデータb1ないしb4がそれぞれレジスタR
1ないしR4中に保持されると同時に、前置演算回路4
0が動作する。すなわち、レジスタR1およびR2の出
力に接続された加算回路51は、データb1およびb2
の加算を実行する。
方、レジスタR3およびR4の出力に接続された加算回
路52は、データb3およびb4の加算を実行する。し
たがって、ステップ5において、アドレス演算部8から
加算結果を要求するソース指定信号SA D Dおよび
5ADD′が前置演算回路40に与えられ、前置演算回
路40は信号5AD0およびSA D D′ に応答し
て加算データARI2およびAR34をパスライン40
に供給する。
パスライン2に供給されたAR12およびAR34は、
ALU3において加算された後、加算結果を示すデータ
XがレジスタR5中に保持される(ステップ5)。
第22図に示した従来の演算フロー図と比較すると、第
1図に示したレジスタ部7aを用いて8つのデータの加
算が実行される場合には、2つの2 計算ステップが省かれていることか指摘される。
すなわち、8つのデータa1ないしR8の加算が5つの
命令サイクルに相当する時間をかけて実行されるので、
演算時間が短縮され、その結果高速演算処理が実現され
る。別言すると、演算を実行するのに必要な命令の数が
減少されるので、演算に要する時間が減じられる。一般
に、算術演算においては、加算処理が多数繰返されるこ
とが多いので、命令ステップの減少は演算処理の高速化
に大きく貢献する。
第3図は、第1図に示した加算回路51の入出力データ
の関係を示す模式図である。第3図を参照して、加算回
路51は、データビットDllないしD18からなるデ
ータD1と、データビットD21ないしD28からなる
データD2とを受ける。加算結果として、データビット
A1ないしA8からなる加算されたデータAが出力され
る。このように、第1図に示した加算回路51および5
2は、複数のデータビットからなるデータの演算処理を
行なう。
3 第4図は、第1図に示した加算回路51の例を示すブロ
ック図である。第4図を参照して、加算回路51は、各
々がデータD1およびD2のデータビットを受けるよう
に接続された8つの全加算器(FA)51ないし58を
含む。各全加算器51ないし58から、加算されたデー
タAを構成するデータビット八王ないしA8がそれぞれ
出力される。隣接した全加算器間は、桁上げ信号を伝送
するための信号線により接続されている。各全加算器5
1ないし58を構成する具体的な回路の例は、たとえば
ムラカミ他によるA  DigitalProcess
or  for  Decodingcomposit
e  TV  SignalsUsing  Adap
tive  Filtering”と題された論文(I
EEE、  ジャーナルオブ ソリッド ステート サ
ーキッツ、VOL、5C−21,No、、5.1986
年10月)に見られる。
第5図ないし第10図は、それぞれがこの発明の他の実
施例を示すレジスタ部7aの模式的なブ4 0ツク図である。第5図を参照して、レジスタR1およ
びR2の出力に前置演算回路40として減算回路9が接
続される。減算回路9は、アドレス演算部8から出力さ
れるソース指定信号5SUB応答して減算結果を示すデ
ータD!iUBをパスライン2に供給する。
第6図を参照して、レジスタR1の出力に前置演算回路
40としての符号反転器10が接続される。符号を反転
すべきデータがレジスタR1に格納されるのと同時に、
符号反転器10によって符号が反転されたデータが得ら
れる。前置演算回路40は、符号が反転されたデータを
要求するソース指定信号5NEGに応答して、符号が反
転されたデータI)Ngcをパスライン2に供給する。
第7図を参照して、レジスタR1およびR2の出力に前
置演算回路40としての最大値選択回路11が接続され
る。最大値選択回路11は、レジスタR1およびR2に
それぞれ保持されたデータD1およびD2を比較し、よ
り大きいデータを選択する。前置演算回路40は、ソー
ス指定信号S5 MAXに応答してデータD1およびD2のうちより大き
いデータを出力データDMAxとしてパスライン2に供
給する。
第8図を参照して、レジスタR1およびR2の出力に前
置演算回路40としての最小値選択回路12が接続され
る。レジスタR1に保持されたデータD1およびレジス
タR2に保持されたデータD2のうちより小さいデータ
が出力データDM+8としてパスライン2に供給される
第9図を参照して、レジスタR1の出力に前置演算回路
40としての加算回路53が接続される。
加算回路53は、一方入力がレジスタR1からの出力デ
ータD1を受けるように接続され、他方入力がアドレス
演算部8から命令のオペランド部分に書込まれている即
値データD。STを受けるように接続される。したがっ
て、加算回路53は、データD1およびり。STの加算
を行ない、加算されたデータDADDがソース指定信号
S。8Tに応答してパスライン2に供給される。すなわ
ち、第9図は前置演算回路40がアドレス演算部8か6 ら即値データI)osTを受ける場合を示している。
第10図を参照して、レジスタR1ないしR4の出力に
前置演算回路40としての総和回路14が接続される。
したがって、総和回路14は、次式により表わされるよ
うに、各レジスタR1ないしR4に保持されたデータD
工ないしD4の加算を実行する。
DS=D1+D2+D3+D4  ・・・(8)前置演
算回路40は、アドレス演算部8から出力されるソース
指定信号S8に応答して、データの総和を示すデータD
8をパスライン2に供給する。このように、第10図は
、2を越えるレジスタの出力に前置演算回路40が出力
される場合を示している。
第5図ないし第10図に示したいずれの実施例において
も、前置演算回路40による演算は、データが所定のレ
ジスタへ格納されるのと同時に実行される。前置演算回
路40は、演算結果を要求するソース指定信号に応答し
て演算結果を示すデータをパスライン2に供給する。パ
スライン2に27 供給されたデータは、データ演算部1に伝送され、AL
U3または乗算器5における演算に使われる。
いずれの実施例においても、従来のマイクロプロセッサ
においてALU3により実行されていた一部の演算が前
置演算回路40によりレジスタへのデータの供給と同時
に行なわれるので、演算に要する時間が短縮される。
したがって、データ演算部1中のALU3および乗算器
5は、特定のレジスタにデータを供給することによって
得られた演算結果をソースデータとして受ける。ALU
3および乗算器5は、前置演算回路40から得られたデ
ータについて必要な残りの演算をさらに実行する。
別言すると、前置演算回路40によりALU3および乗
算器5とは別に演算が並列に実行されることが指摘され
る。これに加えて、従来のマイクロプロセッサと比較し
て演算に必要な命令の数が減じられるので、演算の高速
化かもたらされる。
第11図は、この発明のさらに他の実施例を示すレジス
タ部7bの模式的なブロック図である。
8 レジスタ部7bは、第20図に示したレジスタ部4の代
わりにマイクロプロセッサ中に適用される。
レジスタ部7bは、後に説明する8つのデータの加算を
実行するのに必要な5っののレジスタR1ないしR5を
含む。これに加えて、レジスタ部7bは、データメモリ
部24の出力およびレジスタR1の出力に接続された加
算回路54を含む。加算回路54は、前置演算回路40
として第20図に示したデータ演算部1中のALU3お
よび乗算器5とは別に設けられている。アドレス演算部
8は加算結果を要求するソース指定信号5ADDを出力
する。前置演算回路40は信号5ADDに応答して、加
算結果を示すデータDA D Dをパスライン2に供給
する。各レジスタR1ないしR5は、第20図に示した
ALU3および乗算器5から演算結果を示すデータを受
けるように接続される(図示せず)。
第12図は、第11図に示したレジスタ部7bを用いて
8つのデータの加算を実行する場合の演算フロー図であ
る。第12図を参照して、前述の9 式(7)により表わされた演算が実行される。まず、ス
テップ1において、データメモリ部24のアドレスM1
にストアされているデータa1とアドレスM2にストア
されているデータa2とがALU3により加算され、加
算されたデータb1がレジスタR1中に保持される。デ
ータメモリ部24中にストアされているデータの指定は
、アドレス演算部8から発生されるアドレス信号ADに
基づいて行なわれる。同様にして、ステップ2において
、データメモリ部24のアドレスM3およびM4にスト
アされているデータa3およびa4が加算され、加算さ
れたデータb2がレジスタR2中に保持される。
ステップ3では、データメモリ部24のアドレスM5に
ストアされているデータa5とレジスタR2中に保持さ
れているデータb2とが加算され、加算されたデータb
3がレジスタR3中に保持される。同様に、ステップ4
においては、データメモリ部24中のデータa6および
レジスタR3中のデータb3が加算され、加算されたデ
ータb40 がレジスタR4中に保持される。ステップ5において、
データメモリ部24中のデータa7およびレジスタR4
中のデータb4が加算され、加算されたデータb5がレ
ジスタR5中に保持される。
ステップ6において、前置演算回路40が動作する。デ
ータメモリ部24からデータa8が読出され、読出され
たデータとレジスタR1に保持されているデータb1と
が加算器54により加算される。加算されたデータDA
DDは、パスライン2を介してALU3に供給され、デ
ータDADDとレジスタR5に保持されているデータB
5との加算がALU3において行なわれる。したがって
、式(7)により表わされたすべての演算が終了する。
演算結果を示すデータXは、レジスタR5中に保持され
る(ステップ6)。
第22図に示した従来の演算フロー図と比較すると、8
つのデータの加算が行なわれる場合において、1つの計
算ステップが省かれていることが指摘される。すなわち
、8つのデータa1ないしa8の加算が6つの命令サイ
クルに相当する時間1 をかけて実行されるので、演算時間が短縮され、その結
果高速演算処理が実現される。別言すると、演算に必要
な命令の数が減少されるので、演算に要する時間が減じ
られる。
第13図ないし第1−7図は、各々がこの発明の他の実
施例を示す模式的なブロック図である。第1−3図を参
照して、データメモリ部24およびレジスタR2の出力
に前置演算回路40として減算回路9′が接続される。
減算回路9′は、アドレス演算部8から出力されるソー
ス指定信号5SI38に応答して減算結果を示すデータ
DSUBをパスライン2に供給する。
第14図を参照して、データメモリ部24の出力に前置
演算回路40としての符号反転器10’が接続される。
符号を反転すべきデータがデータメモリ部24から読出
されるのと同時に、符号反転器10′によって符号が反
転されたデータが得られる。前置演算回路40は、符号
が反転されたデータを要求するソース指定信号5NEG
に応答して、符号が反転されたデータDN E Gをバ
スタ2 イン2に供給する。
第15図を参照して、データメモリ部24およびレジス
タR2の出力に前置演算回路40としての最大値選択回
路11′が接続される。最大値選択回路11′は、デー
タメモリ部24から読出されたデータD1とレジスタR
2中に保持されたデータD2とを比較し、より大きいデ
ータを選択する。前置演算回路40は、ソース指定信号
SMA工に応答して、データD1およびD2のうちのよ
り大きいデータを出力データDMAXとしてパスライン
2に供給する。
第16図を参照して、データメモリ部24およびレジス
タR2の出力に前置演算回路40としての最小値選択回
路12′が接続される。データメモリ部24から読出さ
れたデータD1とレジスタR2中に保持されたデータD
2とが比較され、より小さいデータが出力データDMI
Nとしてパスライン2に供給される。
第17図を参照して、データメモリ部24の出力に前置
演算回路40としての加算回路53′が3 接続される。加算回路53′ は、一方入力がデータメ
モリ部24から読出されたデータD1を受けるように接
続される。加算回路53の他方入力は、命令のオペラン
ド部分に書込まれている即値データI)os’rを受け
るように接続される。従って、加算回路53′は、デー
タD1およびD08.の加算を行ない、加算されたデー
タDA D Dがソース指定信号S。8Tに応答してパ
スライン2に供給される。
第13図ないし第17図に示したいずれの実施例におい
ても、前置演算回路40による演算は、演算に用いられ
るデータがデータメモリ部24から読出されるのと同時
に実行される。前置演算回路40は、演算結果を要求す
るソース指定信号に応答して、演算結果を示すデータを
パスライン2に供給する。パスライン2に供給されたデ
ータは、データ演算部1に伝送され、ALU3または乗
算器5における演算に使われる。いずれの実施例におい
ても、従来のマイクロプロセッサにおいてALU3によ
り実行されていた一部の演算が、デー4 タメモリ部24からのデータの続出と同時に前置演算回
路40により行なわれるので、演算に要する時間が短縮
される。
第18図は、この発明のさらに他の実施例を示すレジス
タ部7cの模式的なブロック図である。
第18図に示したレジスタ部7Cは、第20図に示した
レジスタ部4の代わりにマイクロプロセッサ中に適用さ
れる。レジスタ部7Cは、後に説明するバタフライ演算
を実行するのに必要な8つのレジスタR1ないしR8と
4つの前置演算回路40とを含む。各前置演算回路40
は、加算回路81および82ならびに減算回路91およ
び92のいずれかをそれぞれ含む。加算回路81は、レ
ジスタR1およびR4の各出力に接続されており、アド
レス演算部8から出力されるソース指定信号5ADDに
応答して加算結果を示すデータARI4をパスライン2
に与える。一方、減算回路91は、レジスタR1および
R4の各出力に接続されており、アドレス演算部8から
出力されるソース指定信号5suaに応答して減算結果
を示すデー5 り5RI4をパスライン2に与える。同様にして、加算
回路82および減算回路92もレジスタR2およびR3
の出力に接続されており、出力データAR32および5
R32をそれぞれパスライン2に与える。なお、各レジ
スタR1ないしR8は、第20図に示したALU3およ
び乗算器5から演算結果を示すデータを受けるように接
続されている(図示せず)。
第19図は、第18図に示したレジスタ部7cを用いて
バタフライ演算を実行する場合の演算フロー図である。
第19図を参照して、以下にバタフライ演算のための演
算処理を説明する。なお、第24図に示した場合と同様
に、各入力データXOないしX3は各レジスタR1ない
しR4中に予め保持されているものと仮定する。したが
って、各前置演算回路から出力される出力データARI
4、AR32,5R14および5R32は、次のように
表わされる。
ARI 4=xO+x3      ++ (9)AR
32=x2+xl      ・・・(10)6 AR14=xO−x3        ・・・ (11
)AR32=x2−xi        −(12)ま
ず、ステップ1において、アドレス演算部8がソース指
定信号5AoDおよび5ADD′を出力するので、加算
回路81および82から加算データAR14およびAR
32がパスライン2に与えられる。データAR14およ
びAR32は、パスライン2を介してALU3に与えら
れ、その加算結果を示すデータa3がレジスタR5(図
示せず)に格納される。同様にして、ステップ2では、
出力データAR14およびAR32がALU3に送られ
、その減算結果を示すデータa4がレジスタR7(図示
せず)に格納される。
ステップ3および4では、各レジスタR5およびR7に
それぞれ保持されているデータa3およびR4について
乗算が実行され、乗算結果を示すデータ20およびz2
が各レジスタR5およびR7にそれぞれ格納される。
ステップ5および6ではアドレス演算部8から出力され
たソース指定信号5SUBおよび5StJ7 8′に応答して各減算回路91および92が出力データ
5R14および5R32をパスライン2を介して乗算器
5に与える。乗算器5では、データ5R14および5R
32についてそれぞれ乗算が実行され、乗算結果を示す
データa7およびR8がそれぞれレジスタR6およびR
8(図示せず)中に格納される。ステップ7では、レジ
スタR6中に保持されたデータa7とレジスタR8中に
保持されたデータa8とが減算され、減算結果を示すデ
ータz1がレジスタR6中に格納される。
ステップ8および9では、アドレス演算部8がら再びソ
ース指定信号5SUBおよび5SUBが出力され、乗算
器5において出力データ5RI4および5R32につい
ての乗算が実行される。
乗算結果を示すデータa9およびaloはそれぞれレジ
スタR3およびR4中に格納される。ステップ10にお
いて、各レジスタR3およびR4中にそれぞれ保持され
たデータa9およびaloがALU3において加算され
、加算結果を示すデータZ3がレジスタR8中に格納さ
れる。
8 上記の演算処理の結果、バタフライ演算の演算結果を示
す各データzOないしZ3が各レジスタR5ないしR8
中にそれぞれ得られる。第24図に示した従来の演算フ
ロー図と比較すると、前置演算回路40を設けたことに
より4つの演算ステップか減じられていることが指摘さ
れる。すなわち、第21図に示した従来のレジスタ部4
を用いてバタフライ演算を実行すると、合計14の演算
ステップが必要であるのに対し、第18図に示したレジ
スタ部7Cを用いた場合では、10の演算ステップで足
りる。すなわち、減じられた4つの演算ステップをAL
U3により実行する必要がなくなるので命令数が減じら
れる。加えて、各レジスタR1ないしR4中に各データ
xOないしX3が与えられるのと同時に前置演算回路4
0による演算が実行されるので、高速演算処理が実現さ
れる。別言すると、演算に必要な命令の数が減少される
ので、演算に要する時間が減じられる。一般に、前述の
Chen他による論文にも見られるように、多くの高速
アルゴリズムにおいてバタフラ9 イ演算が多数回にわたって繰返し実行される。したがっ
て、演算ステップの減少は演算処理の高速化に大きく貢
献する。
上記の実施例において示した前置演算回路40をマイク
ロプロセッサ中に設けるためには、必要な追加の回路部
分として、単純な回路構成を有する加算回路および減算
回路を設けるだけで十分である。前置演算回路40を指
定するためのソース指定信号は、命令メモリ部23中に
ストアされた命令プログラムに従って発生される。この
ことは、複雑な制御回路の追加が必要とされないことを
意味する。すなわち前置演算回路40を新たに設けるた
めの回路変更か極めて少なく、かつ、上記の実施例が容
易に実現できるものであることが指摘される。
[発明の効果] 以上のように、請求項1の発明によれば、第1の演算手
段による演算で用いられるデータを保持する保持手段の
出力に予め定められた演算を行なう第2の演算手段を接
続したので、予め定められ0 た演算を含む演算をより高速に実行することのできるプ
ロセッサが得られた。
また、請求項2の発明によれば、第1の演算手段による
演算で用いられる第1および第2のデータをそれぞれ保
持および記憶する保持手段およびデータ記憶手段が設け
られ、保持手段およびデータ記憶手段の出力に予め定め
られた演算を行なう第2の演算手段を接続したので、予
め定められた演算を含む演算をより高速に実行すること
の出きるプロセッサが得られた。
さらに、請求項3の発明によれば、第1および第2の保
持手段に接続された加算手段および減算手段を設けたの
で、2つのデータの加算および減算を含む演算を高速に
実行することのできるプロセッサが得られた。
【図面の簡単な説明】 第1図は、この発明の一実施例を示すレジスタ部の模式
的なブロック図である。第2図は、第1−図に示したレ
ジスタ部により8つのデータの加算を実行する場合の演
算フロー図である。第3図は、1 第1図に示した加算回路の入出力データの関係を示す模
式図である。第4図は、第1図に示した加算回路の例を
示すブロック図である。第5図ないし第11図は、各々
がこの発明の他の実施例を示すレジスタ部の模式的なプ
ロ・yり図である。第12図は、第11図に示したレジ
スタ部により8つのデータの加算を実行する場合の演算
フロー図である。第13図ないし第18図は、各々がこ
の発明のさらに他の実施例を示すレジスタ部の模式的な
ブロック図である。第19図は、第18図に示したレジ
スタ部によるバタフライ演算の演算フロー図である。第
20図は、従来のマイクロプロセッサのブロック図であ
る。第21図は、第20図に示したレジスタ部の模式的
なブロック図である。 第22図は、第21図に示したレジスタ部により8つの
データの加算を実行する場合の演算フロー図である。第
23図は、バタフライ演算の演算記号図である。第24
図は、第21図に示したレジスタ部によりバタフライ演
算を実行する場合の演算フロー図である。 2 図において、1はデータ演算部、2はパスライン、3は
ALU、5は乗算器、7a、7b、7cはレジスタ部、
8はアドレス演算部、24はデータメモリ部、40は前
置演算回路、R1ないしR5はレジスタである。 3 特開平3 223960 (16) 第 G 図 第 7 図 × X × × ぐりくし力σO−N(ト)寸 平成3年1月30日

Claims (3)

    【特許請求の範囲】
  1. (1)所望の演算の指定および実行を制御するための制
    御信号を発生する制御信号発生手段と、制御信号に応答
    して制御信号によって指定された演算を行なう第1の演
    算手段と、前記第1の演算手段に接続され、前記第1の
    演算手段による演算で用いられるデータを伝送するデー
    タバス線と、 前記データバス線に接続され、前記第1の演算手段によ
    る演算で用いられるデータを保持する保持手段と、 前記保持手段の出力に接続され、予め定められた演算を
    行なう第2の演算手段とを含み、前記第2の演算手段は
    、制御信号に応答して演算結果を示すデータを前記デー
    タバス線に供給する、プロセッサ。
  2. (2)所望の演算の指定および実行を制御するための制
    御信号を発生する制御信号発生手段と、制御信号に応答
    して制御信号によって指定された演算を行なう第1の演
    算手段と、前記第1の演算手段に接続され、前記第1の
    演算手段による演算で用いられるデータを伝送するデー
    タバス線と、 前記データバス線に接続され、前記第1の演算手段によ
    る演算で用いられる第1のデータを保持する保持手段と
    、 前記データバス線に接続され、前記第1の演算手段によ
    る演算で用いられる第2のデータを記憶するデータ記憶
    手段と、 前記保持手段の出力および前記データ記憶手段の出力に
    接続され、予め定められた演算を行なう第2の演算手段
    とを含み、 前記第2の演算手段は、制御信号に応答して演算結果を
    示すデータを前記データバス線に供給する、プロセッサ
  3. (3)演算データを伝送するためのデータバス線と、 前記データバス線に接続され、前記データバス線から与
    えられた演算データを演算する演算手段と、 前記演算手段からの出力データを受けるように接続され
    、その出力データを保持する少なくとも第1および第2
    の保持手段と、 前記第1および第2の保持手段に接続され、前記第1お
    よび第2の保持手段中に保持されたデータを加算する加
    算手段と、 前記第1および第2の保持手段に接続され、前記第1お
    よび第2の保持手段中に保持されたデータを減算する減
    算手段とを含む、プロセッサ。
JP2188494A 1989-11-30 1990-07-16 プロセッサ Expired - Fee Related JP2862969B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US07/888,329 US5204962A (en) 1989-11-30 1992-05-26 Processor with preceding operation circuit connected to output of data register

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP1-313864 1989-11-30
JP31386489 1989-11-30
JP1-316022 1989-12-04
JP31602289 1989-12-04

Publications (2)

Publication Number Publication Date
JPH03223960A true JPH03223960A (ja) 1991-10-02
JP2862969B2 JP2862969B2 (ja) 1999-03-03

Family

ID=26567743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2188494A Expired - Fee Related JP2862969B2 (ja) 1989-11-30 1990-07-16 プロセッサ

Country Status (1)

Country Link
JP (1) JP2862969B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61173382A (ja) * 1985-01-28 1986-08-05 Matsushita Electric Ind Co Ltd デイジタル信号処理装置
JPS63168772A (ja) * 1987-01-07 1988-07-12 Yokogawa Electric Corp 累算器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61173382A (ja) * 1985-01-28 1986-08-05 Matsushita Electric Ind Co Ltd デイジタル信号処理装置
JPS63168772A (ja) * 1987-01-07 1988-07-12 Yokogawa Electric Corp 累算器

Also Published As

Publication number Publication date
JP2862969B2 (ja) 1999-03-03

Similar Documents

Publication Publication Date Title
US5001662A (en) Method and apparatus for multi-gauge computation
US6922716B2 (en) Method and apparatus for vector processing
US6467035B2 (en) System and method for performing table look-ups using a multiple data fetch architecture
JP2835103B2 (ja) 命令指定方法及び命令実行方式
JP3547139B2 (ja) プロセッサ
JP3750820B2 (ja) パック・データの乗加算演算を実行する装置
US20060059221A1 (en) Multiply instructions for modular exponentiation
JPH09231070A (ja) 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
JPH10187438A (ja) 乗算器の入力に対する遷移を減少させる方法
JP2001256038A (ja) 柔軟な乗算ユニットを有するデータ・プロセッサ
JP2000503427A (ja) 画像処理プロセッサ
CA2366830A1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a vliw processor
US6647484B1 (en) Transpose address mode in general purpose DSP processor
US20120191766A1 (en) Multiplication of Complex Numbers Represented in Floating Point
Wang et al. Customized instruction on risc-v for winograd-based convolution acceleration
KR100254915B1 (ko) 축소 데이타 경로 폭을 갖는 2-비트 부스 곱셈기
JP3479385B2 (ja) 情報処理装置
US10656943B2 (en) Instruction types for providing a result of an arithmetic operation on a selected vector input element to multiple adjacent vector output elements
US6549925B1 (en) Circuit for computing a fast fourier transform
US6728741B2 (en) Hardware assist for data block diagonal mirror image transformation
US5204962A (en) Processor with preceding operation circuit connected to output of data register
US7890566B1 (en) Microprocessor with rounding dot product instruction
JPH03223960A (ja) プロセッサ
Verbauwhede et al. A low power DSP engine for wireless communications
US7047271B2 (en) DSP execution unit for efficient alternate modes for processing multiple data sizes

Legal Events

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