JPH04283832A - 除算回路 - Google Patents

除算回路

Info

Publication number
JPH04283832A
JPH04283832A JP3047904A JP4790491A JPH04283832A JP H04283832 A JPH04283832 A JP H04283832A JP 3047904 A JP3047904 A JP 3047904A JP 4790491 A JP4790491 A JP 4790491A JP H04283832 A JPH04283832 A JP H04283832A
Authority
JP
Japan
Prior art keywords
register
quotient
divisor
dividend
bit
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.)
Withdrawn
Application number
JP3047904A
Other languages
English (en)
Inventor
Akira Ito
明 伊藤
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 JP3047904A priority Critical patent/JPH04283832A/ja
Publication of JPH04283832A publication Critical patent/JPH04283832A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル信号処理用
プロセッサ、DSP等の演算回路における高速の除算回
路に関する。近年の信号処理プロセッサの高機能化、高
速化の要求に伴い、多種の演算を高速に実行できる演算
回路が要求されている。このため、乗算器、加算器、論
理回路およびシフタ等をそなえた演算回路が提供されて
いるが、除算に関しては、減算を除数のビットごとに行
って求める方式をとっているため、多くのサイクルを要
し、処理が遅い。本発明は、除算回路の高速化を図るも
のである。
【0002】
【従来の技術】従来の除算回路の原理は、被除数の最上
位ビットから下位ビットに向けて1ビットずつずらしな
がら除数を減算していくもので、減算できれば商にビッ
ト“1”を立て、減算できなければビット“0”を立て
るというものである。図7に従来の除算回路の構成を示
す。図7において、1はnビットの被除数を設定する2
n−1ビットの被除数レジスタであり、演算過程ではM
SB(最上位ビット)側のnビットが剰余の格納に、L
SB(最下位ビット)側のn−1ビットが商を格納する
ために用いられる。2はnビットの除数を設定する除数
レジスタである。6は減算器であり、被除数レジスタ1
の内容から除数レジスタ2の内容を減算する。13はセ
レクタであり、減算器6の減算結果の符号の正負、つま
り商のビット“1”が立つか立たないかにより、それぞ
れ減算結果の値(新しい剰余)を選択するか被除数レジ
スタ1のMSB側nビットにある値(前回の剰余)を選
択する。
【0003】被除数レジスタ1の更新は左1ビットシフ
トして行われる。MSB側nビットには1ビット左シフ
トしたセレクタ出力が設定され、LSB側n−1ビット
には元の内容を1ビット左シフトしたものが設定され、
その結果、空きとなるLSBには、減算結果の符号が商
として設定される。除算全体でn回の減算とシフト動作
が行われる。
【0004】
【発明が解決しようとする課題】従来の除算回路では、
被除数(除数)のビット数だけ減算とシフトを繰り返さ
なければ、除算を多用する処理では時間が問題となって
いた。本発明は、除算回路の演算時間を短縮することを
目的としている。
【0005】
【課題を解決するための手段】本発明は、従来商の先頭
“1”ビット位置に達するまでにデータの値により多く
のサイクルを要する場合のあったものを被除数と除数の
各有意最上位ビットすなわち先頭“1”ビットに注目し
て、これらの先頭“1”ビット位置から商の先頭“1”
ビットを予測し、そこから除算動作を開始することによ
り演算時間を短縮するものである。
【0006】図1は、本発明の原理的構成図である。図
1中、1は、被除数を設定する被除数レジスタである。 2は、除数を設定する除数レジスタである。3は、商を
保持する商レジスタである。5は、除数レジスタ2と商
レジスタ3に結合され、除数と中間段階の商を乗算する
乗算器である中間段階の商が確定している被除数中の部
分を与える。
【0007】6は、乗算器5と被除数レジスタ1に結合
され、被除数から乗算結果を減算する減算器である。こ
の減算結果は、中間段階の剰余を与える。10は、商レ
ジスタ3の上位から下位の順次のビット位置に商のビッ
トを立てる商設定制御を行う制御部であり、立てたビッ
トの適否は、減算器6の減算結果、つまり剰余が正か負
かにしたがって判定する。つまり、商のあるビット位置
に“1”を立てたとき剰余が負になった場合は、商の設
定値が大きすぎたことを意味するので、設定値を1/2
に減らすため、いま立てたビット“1”を取り消し、代
わりにその下位のビット位置に“1”を立て、また剰余
が正であった場合には、設定値を1/2増やすため立て
た“1”をそのままにしてさらにその下位のビット位置
に“1”を立てる動作を、順次MSBまで繰り返す。
【0008】12は、商の先頭位置被除数と除数の各先
頭“1”ビット位置に基づいて予測する商先頭ビット予
測回路であり、制御部10に指示して制御部10が商レ
ジスタ3に“1”を立てる最初のビット位置までの動作
時間を短縮させる。
【0009】
【作用】図に示された本発明回路の動作を図2のフロー
を用いて説明する。■:商先頭ビット予測回路12で被
除数レジスタ1の被除数について先頭“1”ビット位置
を求める。■:同様に除数レジスタ2の除数について先
頭“1”ビット位置を求める。■:求めた被除数と除数
の各先頭“1”ビットの位置間の差分(距離)を算出し
、これを商の先頭“1”ビット位置と予測して制御部1
0に通知する。■:制御部10は、通知された商の先頭
“1”ビット位置に基づいて商レジスタ3の該当するビ
ット位置に“1”を立て商の初期値を仮設定する。この
ビット位置が除算動作の開始位置となる。■:乗算器5
で商レジスタ3の設定値と除数レジスタ2の値を乗算す
る。
【0010】■:減算器6で、乗算器5の乗算結果を被
除数レジスタ1の値から減算し、剰余を求める。■:制
御部10は、減算器6の減算結果の剰余の符号の正負か
ら、先に仮設定した商の値の過不足を判定する。符号が
負ならば設定値は過大、符号が正ならば設定値は不足と
する。■、■´制御部10は、過不足の判定結果にした
がって商レジスタ3の注目ビット位置の下位ビットの値
の更新を行い、設定値を+12、−12修正する。その
後■に戻り、商レジスタ3のLSBまで繰り返し、順次
のビットの値を確定させる。
【0011】
【実施例】図3に本発明の実施例回路の構成を示す。図
において、1は被除数レジスタ、2は除数レジスタ、3
は商レジスタ、4は剰余レジスタ、5は乗算器、6は減
算器、7および8はそれぞれ被除数および除数の先頭“
1”ビット位置を検出するプライオリティエンコーダ、
9は被除数の各先頭“1”ビット位置間の差分値を求め
る減算器、10は制御部、11は除数値が零である場合
を検出する零検出回路である。
【0012】図4のフローを用いて、図3の実施例回路
の動作を説明する。ここで被除数をA、除数をB、商を
C、剰余をDで表し、またA、Bの各先頭“1”ビット
位置をa1、b1とし,Cの値を制御しようとする注目
ビット位置をc1とする。演算開始とともに、零検出回
路11は除数B=0かどうかを検出し、B=0であれば
商Cに最大値を設定し、演算終了DVEフラグをONに
設定して演算を終了する。B=0でない場合には、プラ
イオリティエンコーダ7で被除数Aから先頭“1”ビッ
ト位置a1を検出し、プライオリティエンコーダ8で除
数Bから先頭“1”ビット位置b1を検出する。
【0013】減算器9は、a1−b1を算出して制御部
10にc1を通知し、制御部10は、c1の符号が負(
c1<0)ならばcに最小値を設定して終了し、正なら
ば2c1をCとして設定する。乗算器5は、B×Cを演
算し、減算器6はA−(B×C)を演算して剰余Dを求
める。制御部10は、Dの符号を調べ、D<0でないな
らば商レジスタ3のc1の下位c1−1に“1”ビット
を立てて更新し、C+2c1−1を新たなCとし、c1
−1を新たなc1として、再びA−(B×C)を演算し
て剰余Dを求める動作を繰り返す。
【0014】D<0である場合には、c1が正であれば
現在の注目ビット位置c1の“1”ビットを取り消して
下位c1−1に“1”ビットを立て、つまり、C−2c
1+2c1−1を新たなCとし、c1−1を新たなc1
として剰余Dを求める動作を繰り返す。D<0でもc1
が正でない場合、つまりc1<0で商の最下位ビットL
SB以下である場合にはそれ以上の演算を終了する。次
に図5、図6を用いて、除算動作の具体例を説明する。
【0015】被除数として“90”、除数として“7”
を設定する。それぞれのプライオリティエンコーダによ
り、“6”および“2”というビット位置が求まり、こ
れより“4”という減算結果が求まる。この“4”より
商の初期値として“16”が設定される。この初期値と
除数の乗算を行い、“112”なる数が求まり、被除数
との差分が求められる。ここで、“112”は“90”
より大きく、減算結果の符号は負となり、設定した商は
大きかったことが判る。そこで“1”の位置を右に1ビ
ットずらし、“8”なる更新値が設定される。“8”と
“7”の乗算により“56”なる数値が求まり、前記と
同様、被除数との差分が求められ、“34”という数値
が剰余として求まる。
【0016】この数値から、プライオリティエンコーダ
により、“5”が求められ、除数のプライオリティエン
コーダの結果との差が“3”と求まる。商の値は、ビッ
ト位置“3”のところにすでに“1”が設定されている
ので、その右隣りのビットに“1”を追加した値に更新
される(“12”になる)。この更新値と除数の乗算を
行い、結果として“84”が求まり、被除数との差がま
た求められる。ここで剰余として“6”が求まる。次に
、プライオリティエンコーダにて、“0”が求まり、最
下位ビットに“1”を追加した値に商は更新される。 同様に乗算が行われ、“91”なる数が求まるが、これ
は被除数より大きいことから、“12”という数値が商
として決定される。
【0017】
【発明の効果】以上説明したように、本発明によれば、
被除数と除数の大きさを先頭の“1”ビット位置より判
断し、商を設定して演算を開始することから、従来のよ
うに、被除数の先頭ビットより順次減算を繰り返す方式
にくらべ、演算に要するサイクルが少なくてすむという
効果がある。
【図面の簡単な説明】
【図1】本発明の原理的構成図である。
【図2】本発明回路のフロー図である。
【図3】本発明実施例回路の構成図である。
【図4】本発明実施例回路のフロー図である。
【図5】本発明実施例動作の具体例の説明図(その1)
である。
【図6】本発明実施例動作の具体例の説明図(その2)
である。
【図7】従来例回路の構成図である。
【符号の説明】
1  被除数レジスタ 2  除数レジスタ 3  商レジスタ 5  乗算器 6  減算器 10  制御部 12  商先頭ビット予測回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  被除数レジスタ(1)と、除数レジス
    タ(2)と、商レジスタ(3)と、除数レジスタ(2)
    および商レジスタ(3)に結合されて除数と商の乗算を
    行う乗算器(5)と、乗算器(5)および被除数レジス
    タ(1)に結合されて乗算結果を被除数から減算する減
    算器(6)と、被除数レジスタ(1)および除数レジス
    タ(2)に結合されて被除数と除数の各先頭“1”ビッ
    ト位置間の差分を求める商先頭ビット予測回路(12)
    と、減算器(6)における減算結果の符号に基づいて商
    レジスタ(3)のビットの値を制御する制御部(10)
    とをそなえ、上記制御部(10)は、商先頭ビット予測
    回路(12)が求めた被除数と除数の各先頭“1”ビッ
    ト位置間の差値に基づいて商の先頭ビット位置を予測し
    除算を開始することを特徴とする除算回路。
  2. 【請求項2】  被除数を格納する被除数レジスタ(1
    )と、除数を格納する除数レジスタ(2)と、中間およ
    び最終の各段階での商を格納する商レジスタ(3)と、
    中間および最終の各段階での剰余を格納する剰余レジス
    タ(4)と、除数レジスタ(2)と商レジスタ(3)の
    各出力を乗算する乗算器(5)と、当該乗算結果を被除
    数から減算する第1の減算器(6)と、被除数レジスタ
    (1)と除数レジスタ(2)の各出力よりそれぞれ先頭
    “1”のビット位置を検出する第1と第2のプライオリ
    ティエンコーダ(7)、(8)と、第1のプライオリテ
    ィエンコーダ(7)の出力から第2のプライオリティエ
    ンコーダ(8)の出力を減算し、被除数と除数の各先頭
    “1”ビット位置間の差分を求める第2の減算器(9)
    と、サイクルごとに、第1の減算器(6)の減算結果の
    符号と、第2の減算器(9)の減算結果の値および符号
    とに基づいて商レジスタ(3)の制御すべきビット位置
    と値を決定し、商レジスタ(3)を更新する制御部(1
    0)とにより構成され、除数と被除数の大きさより商レ
    ジスタ(3)の最初の有意ビット位置を予測して除算を
    開始することを特徴とする除算回路。
JP3047904A 1991-03-13 1991-03-13 除算回路 Withdrawn JPH04283832A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3047904A JPH04283832A (ja) 1991-03-13 1991-03-13 除算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3047904A JPH04283832A (ja) 1991-03-13 1991-03-13 除算回路

Publications (1)

Publication Number Publication Date
JPH04283832A true JPH04283832A (ja) 1992-10-08

Family

ID=12788378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3047904A Withdrawn JPH04283832A (ja) 1991-03-13 1991-03-13 除算回路

Country Status (1)

Country Link
JP (1) JPH04283832A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995016951A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Method and apparatus for integer division
JP2008299510A (ja) * 2007-05-30 2008-12-11 Casio Comput Co Ltd 撮影装置及びそのコンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995016951A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Method and apparatus for integer division
JP2008299510A (ja) * 2007-05-30 2008-12-11 Casio Comput Co Ltd 撮影装置及びそのコンピュータプログラム

Similar Documents

Publication Publication Date Title
JP3352887B2 (ja) クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法
JPH07234778A (ja) 演算回路
US20070118584A1 (en) Apparatus and method for calculation of divisions and square roots
JP2006227939A (ja) 演算装置
JPH04283832A (ja) 除算回路
JPH0690668B2 (ja) ファジイ演算装置
US6047305A (en) Division circuit not requiring taking complements of divisor, dividend and remainder
JPH0234054B2 (ja)
JPH01302425A (ja) 浮動小数点加減算回路
KR0176883B1 (ko) 복소수 승산기
JP2608090B2 (ja) 高基数非回復型除算装置
JPH10133856A (ja) 丸め機能付き乗算方法及び乗算器
JPS61224036A (ja) 演算装置
JP2591250B2 (ja) データ処理装置
JPS6285333A (ja) 浮動小数点乗算器丸め処理方式
JPH0426495B2 (ja)
JPH0414173A (ja) 固定小数点演算器
JP2856791B2 (ja) バレルシフタおよび浮動小数点演算器
JP2002318792A (ja) データ演算処理装置及びデータ演算処理プログラム
JPS6165362A (ja) デジタル信号処理装置
JPH086762A (ja) 乗算回路
JPS6074028A (ja) 演算装置における十進除算方式
JPH0449138B2 (ja)
JPH07104777B2 (ja) 浮動小数点加減算装置
JPH05181644A (ja) 乗算回路

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980514