JP3205020B2 - 演算装置 - Google Patents

演算装置

Info

Publication number
JP3205020B2
JP3205020B2 JP32215691A JP32215691A JP3205020B2 JP 3205020 B2 JP3205020 B2 JP 3205020B2 JP 32215691 A JP32215691 A JP 32215691A JP 32215691 A JP32215691 A JP 32215691A JP 3205020 B2 JP3205020 B2 JP 3205020B2
Authority
JP
Japan
Prior art keywords
dividend
register
divisor
shift circuit
digit
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.)
Expired - Fee Related
Application number
JP32215691A
Other languages
English (en)
Other versions
JPH05158660A (ja
Inventor
勝 澤田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32215691A priority Critical patent/JP3205020B2/ja
Publication of JPH05158660A publication Critical patent/JPH05158660A/ja
Application granted granted Critical
Publication of JP3205020B2 publication Critical patent/JP3205020B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は例えば乗算又は積和演算
の結果に対して除算を実行できる演算装置に関する。
【0002】近年、例えばサーボ制御系等の制御に使用
されるデジタルアナログプロセッサ(DSP)では、
(A×B+D)のような積和演算を高速に行えるだけで
なく、積和演算結果に対し除算を高速に実行できる必要
がでてきた。
【0003】
【従来の技術】通常のコンピュータにおける引き戻し法
による除算を図8〜図13に従って説明すると、まず、
図8に示すように、例えば積和演算結果である2nビッ
ト(nは自然数)の被除数bが被除数レジスタ30に設
定され、nビットの除数aが除数レジスタ31に設定さ
れる。図9に示すように除数レジスタ31の除数aを左
に(n−1)ビットだけシフトしてa・2n-1 とするこ
とにより、被除数と除数との桁合わせが行われる。この
とき、除数レジスタ31の除数aの上位桁及び除数aの
(n−1)個の下位桁はすべて論理零となる。
【0004】次に、図10に示すように被除数bから除
数a・2n-1 を減算することにより1ビット分の除算を
行い、余りrを被除数レジスタ30及び除数レジスタ3
1とは異なる別の汎用レジスタ32に格納する。この
際、被除数bから除数a・2n- 1 を引き切れない場合の
余りrは
【0005】
【数1】r=b−0・a・2n-1 =b となる。この場合には、図11に示すように、余りrを
左に1ビットだけシフトした2・rが、次の1桁分の除
算の(部分)被除数Rpとして被除数レジスタ30に設
定され、最下位ビットは論理零となる。尚、除数aは除
数レジスタ31に設定される。
【0006】又、図10において、被除数bから除数a
・2n-1 を引き切れる場合の余りrは
【0007】
【数2】r=b−1・a・2n-1 =b−a・2n-1 となる。この場合には、図12に示すように、余りrを
左に1ビットだけシフトして最下位ビットに論理壱を加
えた(2・r+1)が、次の1桁分の除算の(部分)被
除数Rpとして被除数レジスタ30に設定される。
【0008】次に、図11又は図12に示す部分被除数
Rpから除数a・2n-1 を減算することにより2ビット
目の除算を行い、部分被除数Rpから除数a・2n-1
引き切れない場合にはその余りを左に1ビットだけシフ
トして次の除算の部分被除数として設定し、部分被除数
Rpから除数a・2n-1 を引き切れる場合にはその余り
を左に1ビットだけシフトして最下位ビットを「1」と
することにより次の除算の部分被除数として設定する。
【0009】以下、前記と同様にして部分被除数から除
数を減算することにより各ビットの除算を行ってその余
りを左に1ビットだけシフトして、又は左に1ビットだ
けシフトしかつ最下位ビットを「1」として新たな部分
被除数を設定する。そして、この新たな部分被除数に基
づいて除算を繰り返し実行することにより、図13に示
すように上位nビットからなる剰余と、下位nビットか
らなる商を求める。
【0010】
【発明が解決しようとする課題】しかしながら、上記し
たように、一般的に用いられる引き戻し法による除算で
は、被除数レジスタ30及び除数レジスタ31に被除数
及び除数を転送して減算を行い、余りrを汎用レジスタ
32に格納するまでが1マシンサイクルで行われる。
又、被除数b又は部分被除数Rpからの除数a・2n-1
の減算結果によって汎用レジスタ32を経由して次に被
除数レジスタ30に設定する値が異なる。従って、例え
ばDSP等の高速プロセッサでも除算命令は商を1ビッ
ト分ずつ求める命令であることが多く、商と剰余を求め
るためにはこの除算命令を除数のビット数分のサイクル
がかかり、除算スピードの改善ができないという問題を
生じていた。
【0011】本発明は上記問題点を解決するためになさ
れたものであって、DSPの演算回路を大幅に変更する
ことなく、1.5マシンサイクルで2桁分の除算を実行
でき、除算スピードを向上できることを目的とする。
【0012】
【課題を解決するための手段】本発明は上記目的を達成
するため、2n桁(nは自然数)からなる被除数を格納
する第1及び第2の被除数レジスタと、n桁からなる除
数を格納する除数レジスタと、第1又は第2の被除数レ
ジスタのいずれか一方を選択してそのレジスタに保持さ
れた被除数を出力する選択回路と、選択回路の出力値を
入力し、その出力値を桁シフトせずに、又は左に1桁だ
けシフトして出力する被除数シフト回路と、除数レジス
タの除数を入力し左に(n−1)桁だけシフトして出力
する除数シフト回路と、被除数シフト回路の出力値から
除数シフト回路の出力値を減算することにより1桁分の
除算を行う演算器と、演算器の減算結果を左に1桁だけ
シフトするとともに最下位桁に論理壱を入力する演算結
果シフト回路と、入力されたデータを桁シフトせずに、
又は1桁だけ左にシフトして出力するシフト回路と、シ
フト回路の出力値を保持する補助レジスタと、演算結果
シフト回路と第2の被除数レジスタとを接続するための
バススイッチと、マシンサイクルの前半又は後半の半サ
イクルにおいて第1の被除数レジスタ及び除数レジスタ
にそれぞれ被除数及び除数が保持されるように制御する
とともに、この半サイクルの次の半サイクルにおいて第
2の被除数レジスタに被除数が保持されるように制御す
るデータ転送制御手段と、マシンサイクルの前半又は後
半の半サイクルにおいて当該半サイクルの直前の半サイ
クルにおいて被除数を保持した被除数レジスタが選択さ
れるように選択回路を制御する選択制御手段と、選択回
路により第1の被除数レジスタが選択されたとき、演算
器が被除数から除数を引き切れるときには演算結果シフ
ト回路の出力値が第2の被除数レジスタに入力されるよ
うにバススイッチを制御し、演算器が被除数から除数を
引き切れないときには第1の被除数レジスタに保持され
た被除数が第2の被除数レジスタに入力されるようにバ
ススイッチを制御するバススイッチ制御手段と、選択回
路により第1の被除数レジスタが選択されたとき、又は
選択回路により第2の被除数レジスタが選択されかつ直
前の半サイクルにおいて演算器が被除数から除数を引き
切れたときには被除数が桁シフトされないように被除数
シフト回路を制御し、選択回路により第2の被除数レジ
スタが選択されかつ直前の半サイクルにおいて演算器が
被除数から除数を引き切れなかったときには被除数が左
に1桁シフトされるように被除数シフト回路を制御する
被除数シフト回路制御手段と、選択回路により第1の被
除数レジスタが選択されたとき、演算器が被除数から除
数を引き切れたときには演算結果シフト回路の出力値が
桁シフトされずに補助レジスタに保持されるようにシフ
ト回路を制御し、演算器が被除数から除数を引き切れな
かったときには第1の被除数レジスタに保持された被除
数が左に1桁シフトされて補助レジスタに保持されるよ
うにシフト回路を制御するシフト回路入力制御手段と、
選択回路により第2の被除数レジスタが選択されたと
き、演算器が被除数から除数を引き切れたときには演算
結果シフト回路の出力値が除算結果として出力されるよ
うに制御し、演算器が被除数から除数を引き切れなかっ
たときには補助レジスタに保持されたデータがシフト回
路により左に1桁シフトされて除算結果として出力され
るように制御する除算結果出力制御手段とを備えて構成
した。
【0013】
【作用】マシンサイクルの前半又は後半の半サイクルに
おいて、第1の被除数レジスタ及び除数レジスタに被除
数及び除数が転送される。この半サイクルの次の半サイ
クルにおいて第1の被除数レジスタの被除数及び除数レ
ジスタの除数に基づいて演算器により1桁目の除算が実
行され、演算器の演算結果に基づいて第2の被除数レジ
スタに演算結果シフト回路の出力値がバススイッチを介
して、又は第1の被除数レジスタに保持された被除数が
転送されるとともに、補助レジスタに演算結果シフト回
路の出力値、又は第1の被除数レジスタに保持された被
除数をシフト回路によりシフトしたデータが1桁目の除
算結果として保持される。そして、次の半サイクルにお
いて第2の被除数レジスタの被除数及び除数レジスタの
除数に基づいて演算器により2桁目の除算が実行され、
演算器の演算結果に基づいて演算結果シフト回路の出力
値、又は補助レジスタに保持された1桁目の除算結果を
左に1桁シフトしたデータが2桁目の除算結果として出
力される。従って、1.5マシンサイクルで2桁分の除
算が実行され、除算スピードが向上される。
【0014】
【実施例】以下、本発明を具体化した一実施例を図1〜
図7に従って説明する。図1は本実施例におけるデジタ
ルシグナルプロセッサ(DSP)1を示し、汎用レジス
タRL,Rの出力側はスイッチバッファ(図示略)を介
してそれぞれn本(本実施例では16本)の信号線より
なるデータバスB1H,B1L、B2H,B2Lに接続
されるとともに、汎用レジスタRL,Rの入力側はスイ
ッチバッファ(図示略)を介してそれぞれn(nは自然
数で、本実施例では16)本の信号線よりなるデータバ
スB3H,B3Lに接続されている。汎用レジスタRL
は2nビットのデータを保持できるようになっており、
nビットよりなる2数u,vの乗算結果(u×v)、又
はnビットよりなる3数x,y,zの積和演算結果(x
×y+z)等の2nビットよりなるデータを被除数デー
タとして保持している。汎用レジスタRはnビットのデ
ータを除数データとして保持している。
【0015】データバスB1H,B1L,B2H,B2
LとデータバスB3H,B3Lとの間にはバススイッチ
BSWが設けられ、同スイッチBSWは後記するコント
ローラ7からの制御信号に基づいてデータバスB1H,
B1LとデータバスB3H,B3L、又はデータバスB
2H,B2LとデータバスB3H,B3Lとを接続する
ようになっている。
【0016】データバスB1H,B1L,B2H,B2
Lには第1及び第2の被演算レジスタとしての第1及び
第2のラッチLTP,LTSがスイッチバッファ(図示
略)を介して接続されるとともに、除数レジスタとして
の第3のラッチLTがスイッチバッファ(図示略)を介
して接続されている。第1及び第2のラッチLTP,L
TSはそれぞれ2nビットよりなるデータを保持でき、
第1及び第2のラッチLTP,LTSはマシンサイクル
の前半又は後半の半サイクルにおいてデータバスB1
H,B1L又はB2H,B2Lを介して転送される前記
汎用レジスタRLのデータを除算における被除数又は部
分被除数(商の1ビット目を算出したときの余り)とし
て保持するようになっている。第3のラッチLTは2n
ビットよりなるデータを保持でき、第3のラッチLTは
マシンサイクルの前半又は後半の半サイクルにおいてデ
ータバスB1H,B1L又はB2H,B2Lを介して転
送される前記汎用レジスタRのnビットのデータを除算
における除数として保持するようになっている。
【0017】第1及び第2のラッチLTP,LTSには
選択回路としてのマルチプレクサMPXが接続され、同
マルチプレクサMPXは第1のラッチLTP又は第2の
ラッチLTSのうち、マシンサイクルの直前の半サイク
ルにおいて被除数データを保持したラッチを選択し、そ
の選択したラッチに保持された被除数データを出力する
ようになっている。
【0018】マルチプレクサMPXには被除数シフト回
路SN1が接続され、同被除数シフト回路SN1はマル
チプレクサMPXの出力値(被除数データ)を入力し、
コントローラ7からの制御信号に基づいてその被除数デ
ータを桁シフトせずに、又は図11又は図12に示すよ
うに左に1ビットだけシフトして算術論理演算器(以
下、ALUという)2に出力するようになっている。
【0019】前記第3のラッチLTに接続された除数シ
フト回路SN2は、同第3のラッチLTから出力される
除数データを入力し、図9に示すように左に(n−1)
ビット(本実施例では15ビット)だけシフトしてAL
U2に出力するようになっている。
【0020】演算器としてのALU2は被除数シフト回
路SN1の出力値と除数シフト回路SN2の出力値とを
入力し、被除数シフト回路SN1の出力値から除数シフ
ト回路SN2の出力値を減算することにより1ビット分
の除算を行い、その減算結果、即ち、余りを出力するよ
うになっている。又、ALU2は被除数シフト回路SN
1の出力値から除数シフト回路SN2の出力値を引き切
れないときにはボロー(桁借り)信号を論理零としてフ
ラグレジスタFRに出力し、引き切れるときにはボロー
信号を論理壱としてフラグレジスタFRに出力するよう
になっている。又、ALU2は除算以外に乗算、積和演
算等の算術演算や論理演算を行うようになっている。
【0021】ALU2の出力側には演算結果シフト回路
CLPが接続され、この演算結果シフト回路CLPの出
力は前記データバスB3H,B3Lに接続されている。
演算結果シフト回路CLPにはALU2の減算結果、即
ち、余りが入力されており、同シフト回路CLPはコン
トローラ7から出力制御信号が入力されると、その余り
を左に1ビットだけシフトすることによりALU2の次
の1ビット分の部分被除数又は商を生成してデータバス
B3H,B3Lに出力するようになっている。
【0022】マルチプレクサ3は前記データバスB1
H,B1L,B2H,B2L,B3H,B3Lに接続さ
れるとともに、後記する補助レジスタAXRに接続され
ている。マルチプレクサ3はコントローラ7からの選択
制御信号に基づいてデータバスB1H,B1L、データ
バスB2H,B2L、データバスB3H,B3L又は補
助レジスタAXRのうち、いずれか1つを選択してその
データをシフト回路としてのバレルシフタBSFに出力
するようになっている。
【0023】バレルシフタBSFはマルチプレクサ3の
出力値を入力し、コントローラ7からの制御信号に基づ
いてマルチプレクサ3から入力されたデータを左に任意
ビット数だけシフトして出力するようになっている。本
実施例ではバレルシフタBSFはその入力されたデータ
を桁シフトせずに、又は1ビットだけシフトするように
なっている。
【0024】バレルシフタBSFには補助レジスタAX
Rが接続され、同補助レジスタAXRはバレルシフタB
SFの出力を保持するようになっている。又、バレルシ
フタBSFにはスイッチバッファ4〜6が接続され、ス
イッチバッファ4〜6はそれぞれデータバス対B1H,
B1L、データバス対B2H,B2L、及びデータバス
対B3H,B3Lに接続されている。各スイッチバッフ
ァ4〜6はコントローラ7からの制御信号に基づいてバ
レルシフタBSFの出力を対応するデータバス対に出力
するようになっている。
【0025】本実施例のDSP1では、上記のように、
従来公知のDSPに備えられた汎用レジスタRL,R、
データバスB1H,B1L、B2H,B2L,B3H,
B3L、第1のラッチLTP、第3のラッチLT、マル
チプレクサMPX、フラグレジスタFR、ALU2、マ
ルチプレクサ3及びバレルシフタBSFに加えて、補助
レジスタAXR、スイッチバッファ4〜6、バススイッ
チBSW、第2のラッチLTS、被除数シフト回路SN
1、除数シフト回路SN2及び演算結果シフト回路CL
Pを設けている。
【0026】そして、データ転送制御手段、選択制御手
段、バススイッチ制御手段、被除数シフト回路制御手
段、シフト回路入力制御手段及び除算結果出力制御手段
としてのコントローラ7は、フラグレジスタFRの値に
基づいて汎用レジスタRL,R、マルチプレクサMP
X、マルチプレクサ3、バレルシフタBSF、スイッチ
バッファ4〜6、バススイッチBSW、被除数シフト回
路SN1、除数シフト回路SN2及び演算結果シフト回
路CLPを制御して、1.5マシンサイクルで2ビット
分の商を算出させるようになっている。
【0027】次に、コントローラ7が実行する処理を図
7に示すフローチャートに従って説明する。尚、ステッ
プ10はマシンサイクルの前半の半サイクルに行われる
データ転送を示し、ステップ11〜14はマシンサイク
ルの後半の半サイクルに行われる1ビット目の除算を示
し、更にステップ15〜19は次のマシンサイクルの前
半の半サイクルに行われる2ビット目の除算を示してい
る。
【0028】まず、ステップ10で図2に示すように汎
用レジスタRL,Rを制御し、32ビットよりなる被除
数をデータバスB1H,B1Lを介して転送して第1の
ラッチLTPに保持させるとともに、16ビットよりな
る除数をデータバスB2H(又はB2L)を介して転送
して第3のラッチLTに保持させる。これにより、第1
のラッチLTPに保持された被除数はマルチプレクサM
PX1に出力され、第3のラッチLTに保持された除数
は除数シフト回路SN2に出力される。
【0029】ステップ11では図3に示すようにマルチ
プレクサMPXを制御して第1のラッチLTPを選択
し、第1のラッチLTPに保持された被除数を被除数シ
フト回路SN1により桁シフトさせずにALU2に出力
させる。従って、第1のラッチLTPに保持された被除
数は破線で示すようにALU2に出力されたものと同等
となる。又、除数シフト回路SN2を制御して除数を左
に15ビットシフトさせてALU2に出力させる。そし
て、ALU2にて1ビット目の除算を実行させる。
【0030】ステップ12ではフラグレジスタFRのボ
ロー信号が論理零か否か、即ち、ALU2が被除数シフ
ト回路SN1の出力値(第1のラッチLTPの被除数)
から除数シフト回路SN2の出力値(除数)を引き切れ
るか否かを判定する。
【0031】そして、ステップ12でボロー信号が論理
零、即ち、引き切れないと判定するとステップ13に進
む。ステップ13では、図3に示すように汎用レジスタ
RLを制御し、直前の半サイクルにて第1のラッチLT
Pに転送した被除数をデータバスB1H,B1Lを介し
て転送し第2のラッチLTSに保持させる。
【0032】又、このステップ13でマルチプレクサ3
によりデータバスB1H,B1Lのデータ、即ち、直前
の半サイクルにて第1のラッチLTPに転送した被除数
を選択させる。そして、バレルシフタBSFによりこの
被除数を左に1ビットだけシフトさせ、補助レジスタA
XRに1ビット目の除算結果として保持させる。従っ
て、補助レジスタAXRに保持される除算結果は図11
の部分被除数Rpのように最下位桁に論理零を備えたも
のとなる。
【0033】ステップ13に続くステップ15では図5
に示すようにマルチプレクサMPXを制御して第2のラ
ッチLTSを選択し、第2のラッチLTSに保持された
被除数を被除数シフト回路SN1に出力させる。このと
き、第2のラッチLTSに保持されている被除数は汎用
レジスタRLから転送されたものであるため、被除数シ
フト回路SN1によりこの被除数を左に1ビットだけシ
フトさせてALU2に出力させる。又、第3のラッチL
Tに保持された除数を除数シフト回路SN2により左に
15ビットシフトしてALU2に出力させる。そして、
ALU2にて2ビット目の除算を実行させる。
【0034】又、前記ステップ12でボロー信号が論理
壱、即ち、ALU2が被除数シフト回路SN1の出力値
(第1のラッチLTPの被除数)から除数シフト回路S
N2の出力値(除数)を引き切れると判定するとステッ
プ14に進む。
【0035】ステップ14では、図4に示すように演算
結果シフト回路CLPによりALU2の減算結果、即
ち、余りを左に1ビットだけシフトしてデータバスB3
H,B3Lに出力させるとともに、バススイッチBSW
によりデータバスB2H,B2LとデータバスB3H,
B3Lとを接続する。これにより、演算結果シフト回路
CLPの出力値をデータバスB3H,B3L、バススイ
ッチBSW及びデータバスB2H,B2Lを介して転送
し第2のラッチLTSに保持させる。
【0036】又、このステップ14でマルチプレクサ3
によりデータバスB3H,B3Lのデータ、即ち、演算
結果シフト回路CLPの出力値を選択させる。そして、
バレルシフタBSFによりこの出力値を桁シフトさせず
にそのまま補助レジスタAXRに1ビット目の除算結果
として保持させる。従って、補助レジスタAXRに保持
される除算結果は図12の部分被除数Rpのように最下
位桁に論理壱を備えたものとなる。
【0037】ステップ14に続くステップ16では図6
に示すようにマルチプレクサMPXを制御して第2のラ
ッチLTSを選択し、第2のラッチLTSに保持された
被除数を被除数シフト回路SN1に出力させる。このと
き、第2のラッチLTSに保持されている被除数は演算
結果シフト回路CLPの出力値であるため、被除数シフ
ト回路SN1により桁シフトさせずにALU2に出力さ
せる。従って、第2のラッチLTSに保持された被除数
は破線で示すようにALU2に出力されたものと同等と
なる。又、除数シフト回路SN2を制御して除数を左に
15ビットシフトさせてALU2に出力させる。そし
て、ALU2にて2ビット目の除算を実行させる。
【0038】そして、ステップ17ではフラグレジスタ
FRのボロー信号が論理零か否か、即ち、ALU2が被
除数シフト回路SN1の出力値(第2のラッチLTSの
被除数)から除数シフト回路SN2の出力値(除数)を
引き切れるか否かを判定する。
【0039】ステップ17でボロー信号が論理零、即
ち、引き切れないと判定するとステップ18に進む。ス
テップ18では図5に示すようにマルチプレクサ3によ
り補助レジスタAXRに保持されている1ビット目の除
算結果を選択させる。そして、バレルシフタBSFによ
りこの除算結果を左に1ビットだけシフトさせて2ビッ
ト目の除算結果を生成させるとともに、スイッチバッフ
ァ6をデータバスB3H,B3Lに接続させ、スイッチ
バッファ6及びデータバスB3H,B3Lを介してこの
2ビット目の除算結果を転送し、汎用レジスタRLに保
持させる。
【0040】従って、ステップ18で汎用レジスタRL
に保持される除算結果は、補助レジスタAXRに保持さ
れている1ビット目の除算結果が、図11の部分被除数
Rpのように最下位桁に論理零を備えたものであるとき
には最下位桁及びその上位桁に論理零を備えたものとな
る。又、補助レジスタAXRに保持されている1ビット
目の除算結果が、図12の部分被除数Rpのように最下
位桁に論理壱を備えたものであるときには最下位桁に論
理零、その上位桁に論理壱を備えたものとなる。
【0041】又、前記ステップ17でボロー信号が論理
壱、即ち、引き切れると判定するとステップ19に進
む。ステップ19では図6に示すように演算結果シフト
回路CLPによりALU2の減算結果、即ち、余りを左
に1ビットだけシフトし、データバスB3H,B3Lを
介して転送し、汎用レジスタRLに2ビット目の除算結
果として保持させる。
【0042】従って、ステップ19で汎用レジスタRL
に保持される除算結果は、第2のラッチLTSに保持さ
れた被除数が汎用レジスタRLから転送されたものであ
る場合には、最下位桁に論理零、その上位桁に論理零を
備えたものとなり、第2のラッチLTSに保持された被
除数が演算結果シフト回路CLPから転送されたもので
ある場合には、最下位桁及びその上位桁に論理壱を備え
たものとなる。
【0043】このように、本実施例のDSP1では、汎
用レジスタRL,R、データバスB1H,B1L、B2
H,B2L,B3H,B3L、第1のラッチLTP、第
3のラッチLT、マルチプレクサMPX、フラグレジス
タFR、ALU2、マルチプレクサ3及びバレルシフタ
BSFを備えかつ乗算又は積和演算を行うことができる
従来のDSPに対して、補助レジスタAXR、スイッチ
バッファ4〜6、バススイッチBSW、第2のラッチL
TS、被除数シフト回路SN1、除数シフト回路SN2
及び演算結果シフト回路CLPを設けた簡単な構成で、
1.5マシンサイクルで2ビット分の除算を実行でき、
除算スピードの向上を図ることができる。
【0044】尚、本実施例では2進表示のデータを扱う
DSPに具体化したが、これに限定されるものではな
く、例えば、10進表示のデータを扱う演算装置に具体
化してもよい。
【0045】
【発明の効果】以上詳述したように、本発明によれば、
DSP等の演算装置に対して特殊な回路を付加すること
なく、1.5マシンサイクルで2桁分の除算を実行で
き、除算スピードを向上できる優れた効果がある。
【図面の簡単な説明】
【図1】DSPに具体化した一実施例を示すブロック図
である。
【図2】被除数及び除数の転送を示す図である。
【図3】1ビット目の除算処理において被除数から除数
を引き切れないときの作用を示す図である。
【図4】1ビット目の除算処理において被除数から除数
を引き切れるときの作用を示す図である。
【図5】2ビット目の除算処理において被除数から除数
を引き切れないときの作用を示す図である。
【図6】2ビット目の除算処理において被除数から除数
を引き切れるときの作用を示す図である。
【図7】コントローラが実行する処理を示すフローチャ
ートである。
【図8】引き戻し法による除算の被除数及び除数の設定
状態を示す図である。
【図9】引き戻し法による除算の被除数及び除数の桁合
わせを説明する図である。
【図10】引き戻し法による1ビット目の除算処理を説
明する図である。
【図11】引き戻し法による2ビット目の除算処理を説
明する図である。
【図12】引き戻し法による2ビット目の除算処理を説
明する図である。
【図13】引き戻し法による除算結果を示す図である。
【符号の説明】
2 演算器としての算術論理演算器(ALU) 7 データ転送制御手段、選択制御手段、バススイッチ
制御手段、被除数シフト回路制御手段、シフト回路入力
制御手段及び除算結果出力制御手段としてのコントロー
ラ AXR 補助レジスタ BSF シフト回路としてのバレルシフタ BSW バススイッチ CLP 演算結果シフト回路 LT 除数レジスタとしてのラッチ LTP 第1の被除数レジスタとしてのラッチ LTS 第2の被除数レジスタとしてのラッチ MPX 選択回路としてのマルチプレクサ SN1 被除数シフト回路 SN2 除数シフト回路
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 2n桁(nは自然数)からなる被除数を
    格納する第1及び第2の被除数レジスタ(LTP,LT
    S)と、 n桁からなる除数を格納する除数レジスタ(LT)と、 第1又は第2の被除数レジスタ(LTP,LTS)のい
    ずれか一方を選択してそのレジスタに保持された被除数
    を出力する選択回路(MPX)と、 選択回路(MPX)の出力値を入力し、その出力値を桁
    シフトせずに、又は左に1桁だけシフトして出力する被
    除数シフト回路(SN1)と、 除数レジスタ(LT)の除数を入力し左に(n−1)桁
    だけシフトして出力する除数シフト回路(SN2)と、 被除数シフト回路(SN1)の出力値から除数シフト回
    路(SN2)の出力値を減算することにより1桁分の除
    算を行う演算器(2)と、 演算器(2)の減算結果を左に1桁だけシフトするとと
    もに最下位桁に論理壱を入力する演算結果シフト回路
    (CLP)と、 入力されたデータを桁シフトせずに、又は1桁だけ左に
    シフトして出力するシフト回路(BSF)と、 シフト回路(BSF)の出力値を保持する補助レジスタ
    (AXR)と、 演算結果シフト回路(CLP)と第2の被除数レジスタ
    (LTS)とを接続するためのバススイッチ(BSW)
    と、 マシンサイクルの前半又は後半の半サイクルにおいて第
    1の被除数レジスタ(LTP)及び除数レジスタ(L
    T)にそれぞれ被除数及び除数が保持されるように制御
    するとともに、この半サイクルの次の半サイクルにおい
    て第2の被除数レジスタ(LTS)に被除数が保持され
    るように制御するデータ転送制御手段(7)と、 マシンサイクルの前半又は後半の半サイクルにおいて当
    該半サイクルの直前の半サイクルにおいて被除数を保持
    した被除数レジスタが選択されるように選択回路(MP
    X)を制御する選択制御手段(7)と、 選択回路(MPX)により第1の被除数レジスタ(LT
    P)が選択されたとき、演算器(2)が被除数から除数
    を引き切れるときには演算結果シフト回路(CLP)の
    出力値が第2の被除数レジスタ(LTS)に入力される
    ようにバススイッチ(BSW)を制御し、演算器(2)
    が被除数から除数を引き切れないときには第1の被除数
    レジスタ(LTP)に保持された被除数が第2の被除数
    レジスタ(LTS)に入力されるようにバススイッチ
    (BSW)を制御するバススイッチ制御手段(7)と、 選択回路(MPX)により第1の被除数レジスタ(LT
    P)が選択されたとき、又は選択回路(MPX)により
    第2の被除数レジスタ(LTP)が選択されかつ直前の
    半サイクルにおいて演算器(2)が被除数から除数を引
    き切れたときには被除数が桁シフトされないように被除
    数シフト回路(SN1)を制御し、選択回路(MPX)
    により第2の被除数レジスタ(LTS)が選択されかつ
    直前の半サイクルにおいて演算器(2)が被除数から除
    数を引き切れなかったときには被除数が左に1桁シフト
    されるように被除数シフト回路(SN1)を制御する被
    除数シフト回路制御手段(7)と、 選択回路(MPX)により第1の被除数レジスタ(LT
    P)が選択されたとき、演算器(2)が被除数から除数
    を引き切れたときには演算結果シフト回路(CLP)の
    出力値が桁シフトされずに補助レジスタ(AXR)に保
    持されるようにシフト回路(BSF)を制御し、演算器
    (2)が被除数から除数を引き切れなかったときには第
    1の被除数レジスタ(LTP)に保持された被除数が左
    に1桁シフトされて補助レジスタ(AXR)に保持され
    るようにシフト回路(BSF)を制御するシフト回路入
    力制御手段(7)と、 選択回路(MPX)により第2の被除数レジスタ(LT
    S)が選択されたとき、演算器(2)が被除数から除数
    を引き切れたときには演算結果シフト回路(CLP)の
    出力値が除算結果として出力されるように制御し、演算
    器(2)が被除数から除数を引き切れなかったときには
    補助レジスタ(AXR)に保持されたデータがシフト回
    路(BSF)により左に1桁シフトされて除算結果とし
    て出力されるように制御する除算結果出力制御手段
    (7)とを備えることを特徴とする演算装置。
JP32215691A 1991-12-05 1991-12-05 演算装置 Expired - Fee Related JP3205020B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32215691A JP3205020B2 (ja) 1991-12-05 1991-12-05 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32215691A JP3205020B2 (ja) 1991-12-05 1991-12-05 演算装置

Publications (2)

Publication Number Publication Date
JPH05158660A JPH05158660A (ja) 1993-06-25
JP3205020B2 true JP3205020B2 (ja) 2001-09-04

Family

ID=18140566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32215691A Expired - Fee Related JP3205020B2 (ja) 1991-12-05 1991-12-05 演算装置

Country Status (1)

Country Link
JP (1) JP3205020B2 (ja)

Also Published As

Publication number Publication date
JPH05158660A (ja) 1993-06-25

Similar Documents

Publication Publication Date Title
US5991785A (en) Determining an extremum value and its index in an array using a dual-accumulation processor
US5299319A (en) High performance interlock collapsing SCISM ALU apparatus
JP3418460B2 (ja) 倍精度除算回路および方法
JPH0823811B2 (ja) 3オペランド演算論理機構におけるオーバーフローを決定する方法及び算術上のオーバーフローを検出する機構
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JPH08123769A (ja) 並列プロセッサ
JPH0479015B2 (ja)
US5576982A (en) Fast significant bit calculator and its application to integer multiplication and division
JPH07107664B2 (ja) 乗算回路
JP3205020B2 (ja) 演算装置
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JPH0346024A (ja) 浮動小数点演算器
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
US3417236A (en) Parallel binary adder utilizing cyclic control signals
JP2000081966A (ja) 演算装置
JP2664750B2 (ja) 演算装置及び演算処理方法
KR100315303B1 (ko) 디지탈 신호 처리기
JPH0435777B2 (ja)
JP2608090B2 (ja) 高基数非回復型除算装置
JP2654062B2 (ja) 情報処理装置
KR100246472B1 (ko) 디지탈신호처리기
JPS6149234A (ja) 浮動小数点乗算回路
JP2000076045A (ja) シフト機能付きalu命令を持つマイクロプロセッサ
JPS62159224A (ja) 浮動小数点演算回路
JPH04160533A (ja) マイクロ・プロセッサ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010619

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090629

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees