JP2001222410A - 除算器 - Google Patents

除算器

Info

Publication number
JP2001222410A
JP2001222410A JP2000029524A JP2000029524A JP2001222410A JP 2001222410 A JP2001222410 A JP 2001222410A JP 2000029524 A JP2000029524 A JP 2000029524A JP 2000029524 A JP2000029524 A JP 2000029524A JP 2001222410 A JP2001222410 A JP 2001222410A
Authority
JP
Japan
Prior art keywords
divisor
bits
quotient
partial remainder
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.)
Granted
Application number
JP2000029524A
Other languages
English (en)
Other versions
JP3551113B2 (ja
Inventor
Shigeto Inui
重人 乾
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000029524A priority Critical patent/JP3551113B2/ja
Priority to US09/778,258 priority patent/US6847986B2/en
Publication of JP2001222410A publication Critical patent/JP2001222410A/ja
Application granted granted Critical
Publication of JP3551113B2 publication Critical patent/JP3551113B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5352Non-restoring division not covered by G06F7/5375

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 除数に対してスケーリングを行いかつ部分剰
余に冗長二進表現を用いる高基数減算シフト方式の除算
器において、商生成の高速化を図る。 【解決手段】 kを正整数として、1/2k以上1/2
k+1未満に正規化された除数及び被除数と、部分剰余の
全ビットの内演算の基数及び最大デジット数により定め
られるビット長を参照して商を定める高基数型除算器に
おいて、除数を所定の範囲内にスケーリングする乗算係
数を発生するスケーリングファクタ生成部と、乗算係数
を除数及び被除数のそれぞれに乗算する乗算部と、乗算
係数が乗算された除数の3倍数を生成する除数3倍数生
成部と、部分剰余の任意長の上位ビット数を参照し二補
数化された4ビットの部分剰余の上位ビットを生成し該
部分剰余の上位4ビットを参照して商を生成する繰り返
し演算部を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、除算器に関するも
のであり、特に高基数型のデジタル型の除算器に関する
ものである。
【0002】
【従来の技術】従来この種の除算器は、例えば、「19
98年電子情報通信学会総合大会講演論文集エレクトロ
ニクス[2]」に掲載された「商選択テーブルを用いな
い基数4除算器の構成、三浦他」にあるように、高基数
型の除算器をLSIに実装する手段として用いられてい
る。
【0003】除算器の実装においては、除算アルゴリズ
ムとして減算シフト法、あるいは減算引き離し法等を用
いたものが、ハードウェア量と性能のバランスが良いこ
とから一般的に用いられている。この除算アルゴリズム
は我々が通常筆算で除算を行うのと同様に、商の決定
と、余り(部分剰余)のシフトと余りからの分母(除
数)の倍数の減算により除算を行う手法である。このよ
うな除算アルゴリズムについて述べたものとして、「コ
ンピュータの高速演算方式、1980、近代科学社、p
p.214−249」には回復型除算、非回復型除算、
SRT除算、拡張SRT除算といった各種の除算手法に
ついて述べられている。
【0004】まず汎用的な、減算シフト法を用いた除算
の手順について簡単に説明する。演算のビット長をn
(任意の正整数)、演算の基数をr、除数をD、被除数
をR(0)、jを0以上の整数としてj回目の部分剰余
をR(j)、j回目の商をq(j)とする。また、ここ
では除数D、被除数R(0)は正規化されているとす
る。ここでは正規化浮動小数点フォーマットとして、
「1.xxxx」を用いるものとし、除数、被除数共に
正規化されているとする。本フォーマットに合致しない
データ形式を扱う場合でも、演算前後に適当なシフト処
理を実行することで本浮動小数点フォーマットについて
の処理を適用可能である。
【0005】また、ここで使用される商及び部分剰余は
冗長二進表現により表される。すなわち、二補数表現で
あれば各ビットが{0,1}で表されるところを、{−
1,0,1}の3値を採ることを許し、負の値を可能と
している。
【0006】入力データが上述のように正規化されてい
るとの条件の下で、次の(1)式に示される漸化式を用
いて順次商及び部分剰余を求めることができる。 R(j+1)=r×R(j)−q(j+1)×D・・・(1) このとき商q(j+1)は、基数rにより定められるデ
ジット集合の中から以下の(2)式を満たすように選択
される。 0≦|R(j+1)|<k×D・・・(2) ここでkは(3)式を満たす定数である。 k=m/(r−1)・・・(3) ここでmは、基数rの数系におけるデジット集合の内、
最大の絶対値を持つデジットである。この場合、mの最
小値は1/2×rであり、最大値はr−1なのでkの範
囲は、(4)式のようになる。 1/2≦k<1・・・(4)
【0007】例えば基数4の数系を例に取ると、デジッ
ト集合は、{−3,−2,−1,0,1,2,3}と
{−2,−1,0,1,2}の二つが考えられる。前者
についてはk=1であり、後者についてはk=2/3と
なる。kの値が小さくなるということは、(2)式より
演算途中の部分剰余の値域がより狭められるということ
である。すなわち、後者の場合は除数の倍数として3倍
数を選択することができないために、演算途中の部分剰
余の値域に対して制限を加え、除数の2倍数までで除算
を行えるようにしている。また、基数2の数系の場合は
デジット集合が{−1,0,1}のみであり、これはk
=1の場合に相当する。(1)式によりにより商を求め
る場合、一回の除算により求められる商のビット数はl
og2rであるので、n/log2r回除算を繰り返すこ
とにより所望のビット数の商を求めることができる。
【0008】上記のような除算アルゴリズムは、P−D
プロットと呼ばれるグラフに要約することができる。図
6に、上記に挙げた除算アルゴリズムのP−Dプロット
を示す。横軸に除数、縦軸に基数倍した部分剰余(以後
シフト後の部分剰余)を示す。ただしP−Dプロットは
x軸対象なので、y軸について正の範囲のみ示した。こ
のP−Dプロットで表される除算アルゴリズムを実装し
た場合、除数DのMSBを除く上位2ビットと、シフト
後の部分剰余の上位5ビットを参照することにより商を
決定することができる。ここでシフト後の部分剰余の参
照ビットは二補数化されているものと仮定する。除数の
MSBは、正規化により1であることが保証されている
ため、参照の必要はない。除数の参照ビットが2ビット
であるので、除数の範囲に従ってP−Dプロット全体を
4つの区間に区分することができ、各々の区分内では、
シフト後の部分剰余の補数表現での上位5ビットの値に
対してひとつの商の値を関連付けることができる。
【0009】ある一組の、除数上位2ビット(ただし、
MSBを除く)、シフト後の部分剰余の二補数化された
上位5ビットは、P−Dプロット上である一定の範囲の
値を代表する。除数の上位2ビット(ただし、MSBを
除く)をDtとすると、真の除数Dは、下記の範囲に存
在する。 1+Dt≦D<1+Dt+1/4・・・(5) また、シフト後の部分剰余の二補数化された上位5ビッ
トをRt(j)とすると、真のシフト後の部分上の値r
R(j)は、下記の(6)式の範囲に存在する。 Rt(j)−1/2<rR(j)<Rt(j)+1/2・・・(6) 部分剰余は冗長二進表現を取るため、Rt(j)に対し
て負の方向の領域にも真の値が存在する可能性がある。
(5)、(6)式で表されるP−Dプロット上の矩形領
域が、真の除数、部分剰余の存在する範囲であり、以下
不確定領域と呼ぶ。除数、部分剰余の上位ビットのみを
参照して商を決定すると言うことは、この不確定領域内
の全ての値において、(2)式が満たされるように商を
決定することと同義である。例えば商として3を選択す
る場合、(1)、(2)式より、rR(j)=4Dで表
される直線からrR(j)=2Dで表される直線が、商
として3を選択できる領域であり、不確定領域がこの範
囲内に全て収まっている場合のみに、3を選択すること
ができる。不確定領域を大きくとるということ、参照す
る除数と部分剰余のビット数を減らすことであり、商を
決定する論理を簡単にできる。従って、(1)、(2)
式を満たしつつ最大の不確定領域を選択することが重要
である。また、商の決定に先立ち、シフト後の部分剰余
は、商決定に必要な参照ビットは冗長二進数から二補数
表現へ変換しておく必要がある。
【0010】以上に述べてきた除算アルゴリズムでは、
除数DのMSBの次の2ビットと、シフト後の部分剰余
の上位5ビットを参照して不確定領域を定める必要があ
る。この時除数が、除数の参照2ビットにより決定され
るP−Dプロット上の4つの領域のどれかに収まるよう
に乗算係数を選択し、演算前に除数と被除数に該係数を
乗じれば、商を決定する際に除数の2ビットを参照する
必要がなくなる。また除算の性質上、演算前に除数と部
分剰余に同じ係数を乗じても得られる商に変化のないこ
とは自明であろう。
【0011】このように、除算開始前に適切に選択され
た係数(以後乗算係数とする)を乗じることで除算を高
速化する手法をスケーリングと呼ぶ。例えば、除数を
1.50≦除数<1.75の範囲にスケーリングし、更
にシフト後の部分剰余の上位5ビットを非冗長化(二補
数化)することで、シフト後の部分剰余の上位4ビット
の参照で商決定を可能としている。スケーリングは下記
に示すように、「除数の範囲」毎に、「乗算係数」を予
め決めておき、除数に対してこの乗算係数を乗算するこ
とによって、除数を1.50≦除数<1.75の範囲に
収まるようにするものである。 除数の範囲 乗算係数 倍数の組み合わせ 1.000≦除数<1.125 1.500 1+1/2 1.125≦除数<1.250 1.375 1+1/4+1/8 1.250≦除数<1.375 1.250 1+1/4 1.375≦除数<1.500 1.125 1+1/8 1.500≦除数<1.625 1.000 1 1.625≦除数<1.750 1.000 1 1.750≦除数<1.875 0.875 1−1/8 1.875≦除数<2.000 0.875 1−1/8 また、この「乗算係数」は上記の「倍数の組み合わせ」
に示すように、±1/2n倍(ただし、nは0を含む自
然数)の組合せで実現できるため、シフトと加算のみに
よって生成することが可能である。上記の除数の範囲を
同定するには、MSBを除いた除数の上位3ビットを参
照すればよい。除数は正規化されているため、MSBは
必ず1となることが保証されているので参照する必要は
ない。上記の乗算の結果、除数は1.50≦除数<1.
75の範囲にスケーリングされる。この場合のP−Dプ
ロットを図7に示す。除数を参照する必要がないのみな
らず、不確定領域をスケーリングを行わない場合に比べ
て、y方向に1.5倍に拡大することができ、シフト後
の部分剰余の参照ビットを二補数化された上位4ビット
にすることができる。
【0012】次に、この従来技術における具体例を図面
を参照して説明する。図4は、除算器の一例を示すブロ
ック図である。ここでは、演算の基数が4、デジット集
合が{−3,−2,−1,0,1,2,3}、除数、被
除数がnビット長小数で、演算アルゴリズムに拡張SR
T除算アルゴリズムを用いた除算の場合について説明す
る。ここでは、除数及び被除数は、53ビットで入力さ
れるものとする。
【0013】図4において、符号11はスケーリングに
用いる乗算係数を生成するスケーリングファクタ生成部
である。符号21は、53ビット×4ビット乗算器であ
り、入力された53ビットの除数とスケーリングファク
タ生成部11の出力とを乗算して出力する。符号31
は、53ビット×4ビット乗算器であり、入力された5
3ビット被除数とスケーリングファクタ生成部11の出
力とを乗算して出力する。符号41は、53ビット×4
ビット乗算器21の出力を3倍して出力する除数3倍数
生成部である。符号51は、53ビット×4ビット乗算
器21の出力である除数(56ビット)、除数3倍数生
成部41の出力である除数3倍数(57ビット)、及び
53ビット×4ビット乗算器31の出力である被除数
(56ビット)を繰り返し演算することによって商を求
める繰り返し演算部である。符号61は、繰り返し演算
部51の出力を保存する商レジスタであり、符号71は
商の二補数化を行う加算器である。図5に、図4に示す
繰り返し演算部51の詳細な構成の一例を示す。
【0014】次に、図4に示す除算器の動作について説
明する。除数のMSBを除く上位3ビット([2:
4])はスケーリングファクタ生成部11へ入力され、
生成された乗算係数は53ビット×4ビット乗算器21
及び53ビット×4ビット乗算器31へ入力される。こ
こで入力される乗算係数は4ビットで表現された値であ
る。そして、53ビット×4ビット乗算器21及び53
ビット×4ビット乗算器31において、除数及び被除数
に対してそれぞれ乗算係数の乗算が行われ、除数及び被
除数は、56ビット表現の値となって出力される。さら
にこの56ビットの除数は、除数3倍数生成部41によ
って57ビットの除数3倍数が生成される。
【0015】次に、56ビット表現の除数、57ビット
表現の除数3倍数、及び56ビット表現の被除数は繰り
返し演算部51へそれぞれ入力される。そして、繰り返
し演算部51において、入力された3つの値を用いて除
算処理が繰り返しで行われ、商が求められる。
【0016】繰り返し演算部51において生成された商
は、商レジスタ61に保存され、最終的に、必要なビッ
ト数だけ商がそろった後に、加算器71により、商の二
補数化行われて通常数へと変換され、出力されることに
よって除算が終了する。
【0017】
【発明が解決しようとする課題】しかしながら、図4に
示すスケーリングを伴う除算器においては、シフト後の
部分剰余の上位4ビット(二補数表現)を参照すること
で商選択を行えるようにするために、シフト後の部分剰
余の上位5ビットを二補数化する必要があった。このた
め、繰り返し演算部内の二補数変換回路において、回路
の遅延、面積が悪化するという問題がある。特に、繰り
返し演算部51においては、繰り返し除算処理が行われ
るため、繰り返し演算部51内の回路構成が大きいと除
算処理の速度を悪化させてしまうという問題がある。
【0018】本発明は、このような事情に鑑みてなされ
たもので、入力された除数、被除数を予め5/3≦除数
<1.75の範囲にスケーリングすることで、シフト後
の部分剰余の上位4ビットのみを二補数化することで商
を決定でき、さらに除算処理の高速化を図ることができ
る除算器を提供することを目的とする。
【0019】
【課題を解決するための手段】請求項1に記載の発明
は、kを正整数として、1/2k以上1/2k+1未満に正
規化された除数及び被除数と、部分剰余の全ビットの内
演算の基数及び最大デジット数により定められるビット
長を参照して商を定める高基数型除算器であって、前記
除算器は、除数を所定の範囲内にスケーリングする乗算
係数を発生するスケーリングファクタ生成部と、前記乗
算係数を前記除数及び前記被除数のそれぞれに乗算する
乗算部と、前記乗算係数が乗算された前記除数の3倍数
を生成する除数3倍数生成部と、前記乗算係数が乗算さ
れた除数と被除数、及び前記除数の3倍数により除算を
繰り返し行う繰り返し演算部とを備え、前記繰り返し演
算部は、部分剰余の任意長の上位ビット数を参照し二補
数化された4ビットの部分剰余の上位ビットを生成し該
部分剰余の上位4ビットを参照して商を生成することを
特徴とする。
【0020】請求項2に記載の発明は、前記スケーリン
グファクタ生成部は、前記除数が5/3×1/2k以上
3/4×1/2k未満の範囲に収まるように乗算係数を
発生することを特徴とする。
【0021】
【発明の実施の形態】以下、本発明の一実施形態による
除算器を図面を参照して説明する。図1は同実施形態の
構成を示すブロック図である。本実施形態においては、
演算の基数が4、デジット集合が{−3,−2,−1,
0,1,2,3}、除数、被除数がnビット長の小数
で、演算アルゴリズムに拡張SRT除算アルゴリズムを
用いた器であるものとする。
【0022】図1において、符号1はスケーリングに用
いる乗算係数を生成するスケーリングファクタ生成部で
ある。符号2は、53ビット×6ビット乗算器であり、
入力された53ビットの除数とスケーリングファクタ生
成部1の出力とを乗算して出力する。符号3は、53ビ
ット×6ビット乗算器であり、入力された53ビット被
除数とスケーリングファクタ生成部1の出力とを乗算し
て出力する。符号4は、53ビット×6ビット乗算器2
の出力を3倍して出力する除数3倍数生成部である。符
号5は、53ビット×6ビット乗算器2の出力である除
数(58ビット)、除数3倍数生成部4の出力である除
数3倍数(59ビット)、及び53ビット×4ビット乗
算器3の出力である被除数(58ビット)を繰り返し演
算することによって商を求める繰り返し演算部である。
符号6は、繰り返し演算部5の出力を保存する商レジス
タであり、符号7は商の二補数化を行う加算器である。
図2に、図1に示す繰り返し演算部5の詳細な構成の一
例を示す。
【0023】ここで、本発明の除算器について、P−D
プロットを用いて説明する。図3に本実施形態に対応す
るP−Dプロットを示す。本実施形態では、下記に示す
乗算係数を用いて、除数を5/3≦除数<1.75の範
囲にスケーリングを行う。 除数の範囲 乗算係数 倍数の組み合わせ 1.00000≦除数<1.03125 1.68750 1+1/2+1/8+1/16 1.03125≦除数<1.06250 1.62500 1+1/2+1/8 1.06250≦除数<1.09375 1.59375 1+1/2+1/16+1/32 1.09375≦除数<1.12500 1.53125 1+1/2+1/32 1.12500≦除数<1.15625 1.50000 1+1/2 1.15625≦除数<1.18750 1.46875 1+1/2−1/32 1.18750≦除数<1.21875 1.40625 1+1/4+1/8+1/32 1.21875≦除数<1.25000 1.37500 1+1/4+1/8 1.25000≦除数<1.28125 1.34375 1+1/4+1/16+1/32 1.28125≦除数<1.31250 1.31250 1+1/4+1/16 1.31250≦除数<1.34375 1.28125 1+1/4+1/32 1.34375≦除数<1.37500 1.25000 1+1/4 1.37500≦除数<1.40625 1.21875 1+1/4−1/32 1.40625≦除数<1.43750 1.18750 1+1/8+1/16 1.43750≦除数<1.46875 1.18750 1+1/8+1/16 1.46875≦除数<1.50000 1.15625 1+1/8+1/32 1.50000≦除数<1.53125 1.12500 1+1/8 1.53125≦除数<1.56250 1.09375 1+1/16+1/32 1.56250≦除数<1.59375 1.09375 1+1/16+1/32 1.59375≦除数<1.62500 1.06250 1+1/16 1.62500≦除数<1.65625 1.03125 1+1/32 1.65625≦除数<1.68750 1.03125 1+1/32 1.68750≦除数<1.71875 1.00000 1 1.71875≦除数<1.75000 1.00000 1 1.75000≦除数<1.78125 0.96875 1−1/32 1.78125≦除数<1.81250 0.93750 1−1/16 1.81250≦除数<1.84375 0.93750 1−1/16 1.84375≦除数<1.87500 0.90625 1−1/8+1/32 1.87500≦除数<1.90625 0.90625 1−1/8+1/32 1.90625≦除数<1.93750 0.87500 1−1/8 1.93750≦除数<1.96875 0.87500 1−1/8 1.96875≦除数<2.00000 0.87500 1−1/8 また、この「乗算係数」は上記の「倍数の組み合わせ」
に示すように、±1/2n倍(ただし、nは0を含む自
然数)の組合せで実現できるため、シフトと加減算のみ
によって生成することが可能である。除数の範囲の同定
は、MSBを除く除数の上位5ビットの参照により決定
される。
【0024】次に、図1に示す除算器の動作について説
明する。除数のMSBを除く上位5ビット([2:
6])はスケーリングファクタ生成部1へ入力され、生
成された乗算係数は53ビット×6ビット乗算器2及び
53ビット×6ビット乗算器3へ入力される。ここで入
力される乗算係数は6ビットで表現された値である。そ
して、53ビット×6ビット乗算器2及び53ビット×
6ビット乗算器3において、除数及び被除数に対してそ
れぞれ乗算係数の乗算が行われ、除数及び被除数は、5
8ビット表現の値となって出力される。さらにこの58
ビットの除数は、除数3倍数生成部4によって59ビッ
トの除数3倍数が生成される。
【0025】次に、58ビット表現の除数、59ビット
表現の除数3倍数、及び58ビット表現の被除数は繰り
返し演算部5へそれぞれ入力される。そして、繰り返し
演算部5において、入力された3つの値を用いて除算処
理が繰り返しで行われ、商が求められる。
【0026】繰り返し演算部5において生成された商
は、商レジスタ6に保存され、最終的に、必要なビット
数だけ商がそろった後に、加算器7により、商の二補数
化行われて通常数へと変換され、出力されることによっ
て除算が終了する。
【0027】このように、図4に示す除算器において
は、上位4ビットのみの二補数化では商生成に必要な精
度が確保できなかったが、本実施形態では5/3≦除数
<1.75へのスケーリングによりP−Dプロット上で
の不確定領域の範囲を従来例に比べて広く設定すること
ができ、十分な精度で商を選択することが出来る。
【0028】図4に示す除算器においては、本発明と同
じく二補数化ビットを4ビットとした場合、上位ビット
が二進数で0100(10進数で4.0)の場合におい
て、制限範囲を超えてしまう。この場合のシフト後の部
分剰余rR(j)の値域は、 3.0<rR(j)<5.0・・・(7) であり、1.5≦除数<1.75の領域においては、商
が1もしくは2の領域、2もしくは3の領域、3の領域
を共に含むことになり、前述の(1)、(2)式を満足
できない。
【0029】これに対して本発明では、スケーリング範
囲を更に限定することにより、この問題を解消してい
る。本発明の特長であるスケーリング範囲では(7)式
で示される不確定領域は、商が3に限定される領域を含
まず、商が1もしくは2の領域、2もしくは3の領域の
みに限定される。従って、商として2を選択することに
より(1)、(2)式を満足することが出来る。
【0030】図2に示す繰り返し演算部5の回路構成
は、図5に示す繰り返し演算部51の回路構成と比べ
て、規模を小さくすることができるために、繰り返し行
われる除算処理を高速にすることができる。本実施形態
においては、除数及び被除数に対して、乗算係数を乗算
する処理のビット数を増やしたが、商を求める処理にお
いてこの乗算処理は1度のみ実行されるのみである。こ
れに対し、繰り返し演算部5における除算処理は繰り返
し行われるために、この繰り返し演算処理を高速にする
ことによって、除算全体の処理時間を短縮することがで
きる。なお、図5に示す符号A1、A2は、図2に示す
回路において、削減できる部分を示している。
【0031】
【発明の効果】以上説明したように、この発明によれ
ば、除数を5/3≦除数<1.75の範囲にスケーリン
グを行うことにより、部分剰余の上位4ビットの正規化
及びその4ビットの参照により商を決定することができ
るという効果が得られる。また、除算処理を繰り返し行
う繰り返し演算部の回路構成の規模を小さくすることが
できるために、商生成に要する処理時間を短縮すること
ができるという効果も得られる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の構成を示すブロック図
である。
【図2】 図1に示す繰り返し演算部5の詳細な構成を
示す回路図である。
【図3】 除算アルゴリズムを説明するP−Dプロット
である。
【図4】 従来技術による除算器のこうせいを示すブロ
ック図である。
【図5】 図4に示す繰り返し演算部51の詳細な構成
を示す回路図である。
【図6】 除算アルゴリズムを説明するP−Dプロット
である。
【図7】 除算アルゴリズムを説明するP−Dプロット
である。
【符号の説明】
1・・・スケーリングファクタ生成部、 2・・・53ビット×6ビット乗算器、 3・・・53ビット×6ビット乗算器、 4・・・除数3倍数生成部、 5・・・繰り返し演算部、 6・・・商レジスタ、 7・・・加算器。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 kを正整数として、1/2k以上1/2
    k+1未満に正規化された除数及び被除数と、部分剰余の
    全ビットの内演算の基数及び最大デジット数により定め
    られるビット長を参照して商を定める高基数型除算器で
    あって、 前記除算器は、 除数を所定の範囲内にスケーリングする乗算係数を発生
    するスケーリングファクタ生成部と、 前記乗算係数を前記除数及び前記被除数のそれぞれに乗
    算する乗算部と、 前記乗算係数が乗算された前記除数の3倍数を生成する
    除数3倍数生成部と、 前記乗算係数が乗算された除数と被除数、及び前記除数
    の3倍数により除算を繰り返し行う繰り返し演算部と、 を備え、 前記繰り返し演算部は、部分剰余の任意長の上位ビット
    数を参照し二補数化された4ビットの部分剰余の上位ビ
    ットを生成し該部分剰余の上位4ビットを参照して商を
    生成することを特徴とする除算器。
  2. 【請求項2】 前記スケーリングファクタ生成部は、 前記除数が5/3×1/2k以上3/4×1/2k未満の
    範囲に収まるように乗算係数を発生することを特徴とす
    る請求項1に記載の除算器。
JP2000029524A 2000-02-07 2000-02-07 除算器 Expired - Fee Related JP3551113B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000029524A JP3551113B2 (ja) 2000-02-07 2000-02-07 除算器
US09/778,258 US6847986B2 (en) 2000-02-07 2001-02-07 Divider

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000029524A JP3551113B2 (ja) 2000-02-07 2000-02-07 除算器

Publications (2)

Publication Number Publication Date
JP2001222410A true JP2001222410A (ja) 2001-08-17
JP3551113B2 JP3551113B2 (ja) 2004-08-04

Family

ID=18554774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000029524A Expired - Fee Related JP3551113B2 (ja) 2000-02-07 2000-02-07 除算器

Country Status (2)

Country Link
US (1) US6847986B2 (ja)
JP (1) JP3551113B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921149B2 (en) 2004-12-15 2011-04-05 Nec Corporation Division and square root arithmetic unit
JP2020027436A (ja) * 2018-08-10 2020-02-20 株式会社リコー 学習装置および学習方法
US11669304B2 (en) 2021-02-08 2023-06-06 Kioxia Corporation Arithmetic device and arithmetic circuit for performing multiplication and division

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392234B2 (en) * 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US7167891B2 (en) * 2003-03-21 2007-01-23 Intel Corporation Narrow data path for very high radix division
US7149767B2 (en) * 2003-05-12 2006-12-12 International Business Machines Corporation Method and system for determining quotient digits for decimal division in a superscaler processor
US7519649B2 (en) * 2005-02-10 2009-04-14 International Business Machines Corporation System and method for performing decimal division
US8898215B2 (en) * 2007-06-28 2014-11-25 King Fahd University Of Petroleum And Minerals High-radix multiplier-divider
US20090006509A1 (en) * 2007-06-28 2009-01-01 Alaaeldin Amin High-radix multiplier-divider
US8261176B2 (en) * 2009-06-30 2012-09-04 Sandisk Il Ltd. Polynomial division
US8688762B2 (en) * 2011-02-22 2014-04-01 Lsi Corporation Iterative-division operations such as for header compression in packet-based communications
JP5997480B2 (ja) * 2012-03-30 2016-09-28 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US11500612B2 (en) * 2020-02-14 2022-11-15 Arm Limited Method, system and device for multi-cycle division operation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949295A (en) * 1988-07-18 1990-08-14 Lsi Logic Corporation Transformation of divisor and dividend in digital division
JPH07248899A (ja) 1994-03-14 1995-09-26 Hitachi Ltd 除算器
US5777917A (en) * 1996-03-21 1998-07-07 Hitachi Micro Systems, Inc. Simplification of lookup table
US5818745A (en) * 1996-05-31 1998-10-06 Intel Corporation Computer for performing non-restoring division
US5910910A (en) * 1997-06-23 1999-06-08 Sun Microsystems, Inc. Circuit and method for rapid calculation of quotients and square roots
JP2000010763A (ja) 1998-06-19 2000-01-14 Nec Corp 除算回路

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921149B2 (en) 2004-12-15 2011-04-05 Nec Corporation Division and square root arithmetic unit
JP2020027436A (ja) * 2018-08-10 2020-02-20 株式会社リコー 学習装置および学習方法
JP7099163B2 (ja) 2018-08-10 2022-07-12 株式会社リコー 学習装置および学習方法
US11669304B2 (en) 2021-02-08 2023-06-06 Kioxia Corporation Arithmetic device and arithmetic circuit for performing multiplication and division

Also Published As

Publication number Publication date
US20010025293A1 (en) 2001-09-27
US6847986B2 (en) 2005-01-25
JP3551113B2 (ja) 2004-08-04

Similar Documents

Publication Publication Date Title
EP0149248B1 (en) Method and apparatus for division using interpolation approximation
JP2599545B2 (ja) 対数を計算するコンピュータ・システム及びコンピュータシステムを動作させる方法
CA2530015C (en) Division and square root arithmetic unit
KR20010014992A (ko) 고차 기수 제산기 및 그 방법
JP3551113B2 (ja) 除算器
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JP2585649B2 (ja) 除算回路
JP2005018759A (ja) 2の浮動小数点数乗の概算を実施するための方法および装置
CN108334304B (zh) 数字递归除法
Chang et al. Area-efficient and fast sign detection for four-moduli set RNS {2 n− 1, 2 n, 2 n+ 1, 22 n+ 1}
US20070118584A1 (en) Apparatus and method for calculation of divisions and square roots
JPH04205026A (ja) 除算回路
US20230086090A1 (en) Methods and Apparatus for Quotient Digit Recoding in a High-Performance Arithmetic Unit
US5289399A (en) Multiplier for processing multi-valued data
JPH1195982A (ja) 演算処理回路及び演算処理方法並びに演算処理システム
JP3660075B2 (ja) 除算装置
US6317772B1 (en) Split remainder divider
JP2005056032A (ja) 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体
US10353671B2 (en) Circuitry and method for performing division
JP2645422B2 (ja) 浮動小数点演算処理装置
JP2000010763A (ja) 除算回路
JP2795253B2 (ja) 除算器
JP2777265B2 (ja) 高基数開平演算装置
EP0875822A2 (en) Method for providing pure carry-save output for multiplier
JP2518532B2 (ja) 減算シフト型除算器

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040412

R150 Certificate of patent or registration of utility model

Ref document number: 3551113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100514

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110514

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110514

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees