JP3514566B2 - 除算/開平回路 - Google Patents

除算/開平回路

Info

Publication number
JP3514566B2
JP3514566B2 JP32419995A JP32419995A JP3514566B2 JP 3514566 B2 JP3514566 B2 JP 3514566B2 JP 32419995 A JP32419995 A JP 32419995A JP 32419995 A JP32419995 A JP 32419995A JP 3514566 B2 JP3514566 B2 JP 3514566B2
Authority
JP
Japan
Prior art keywords
circuit
square root
division
scaling
inverse
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
JP32419995A
Other languages
English (en)
Other versions
JPH09160758A (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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP32419995A priority Critical patent/JP3514566B2/ja
Publication of JPH09160758A publication Critical patent/JPH09160758A/ja
Application granted granted Critical
Publication of JP3514566B2 publication Critical patent/JP3514566B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機システムの
算術演算制御方式に係り、特に除算/開平を高速に実現
するのに好適な除算/開平回路に関する。
【0002】
【従来の技術】一般に、除算/開平計算は、n桁単位に
商/開平数字が決定され、その商/開平数字の決定にも
とづいて部分剰余が計算され、次の演算ステップでは、
この部分剰余値がn桁シフトされ、それにもとづいて次
のn桁の商/開平数字が決定され、という具合に、繰り
返し演算を行うことで実行される。このn桁単位に商/
開平数字を決定して行く方法は、2のn乗をr(これを
基数と呼ぶ)とするとき、基数rの除算/開平法と呼ば
れている。従来、基数rの除算/開平法を実行する除算
/開平器の実現において、基数を2より高くして、演算
の反復回数を削減することにより、除算/開平の高速化
を図ってきた。しかし、高基数化に伴って、商/開平数
字選択規則は複雑化し、高基数化のメリットを相殺して
しまうことが知られるようになった。そこで、商/開平
数字選択規則を単純化するために、除数/被開平数を適
当な範囲にあらかじめ制限しておくスケーリング法が提
案された。除算の場合には、除数と被除数の両方に適当
な数Mを掛けてスケーリングしても商の値が変わらない
ため都合がよかった。ところが、開平の場合には、被開
平数に適当な数Mを掛けてスケーリングすると、求める
平方根の値が変わるため、最後にMの逆開平数(Mの逆
数の開平数)を掛けなければならないのが欠点であっ
た。
【0003】ちなみに、スケーリング変換を強引に実行
して開平する論文が発表されている(トーマス・ラング
とパオロ・モンツッシ著、プリスケーリングによる高基
数開平、アイ・イーイーイー、トランザクションズ・オ
ン・コンピューターズ、996頁から1009頁、19
92年8月号)。この論文では、Mの逆開平数そのもの
もスケーリング付きの除算で求めている。
【0004】
【発明が解決しようとする課題】上記従来技術に於いて
は、開平数が求められた後で逆スケーリング変換が行わ
れていたため、この部分がオーバーヘッドになる。開平
演算を高速化するためには、被開平数のスケーリング変
換を行う部分の高速化が重要であると考えられ、最後の
逆スケーリング変換のための乗算の負荷をどのように軽
くして実行するかが課題となっていた。
【0005】本発明の目的は、スケーリング変換付きの
高速な除算/開平回路を提供することにある。
【0006】
【課題を解決するための手段】本発明では、除算/開平
器において、被除数、被開平数、除数を適当な範囲にあ
らかじめスケーリングするスケーリング変換回路、除算
の場合に、前記スケーリング回路によりスケーリングさ
れた被除数および除数から、n桁ずつ商/開平数字を求
める商/開平数字選択回路、第1の倍数発生器、および
部分剰余計算に桁上げ伝播のない部分剰余計算回路によ
り除算を実行する除算回路、および、開平の場合に、前
記スケーリング回路によりスケーリングされた被開平数
から、前記商/開平数字選択回路、前記第1の倍数発生
器、および前記加算回路を用いて開平数字が逐一得られ
るたびに、前記得られた開平数字を、第2の倍数発生回
路、スケーリングの逆開平数生成回路、および逆スケー
リング回路により逆スケーリングする逆スケーリング変
換回路、とを有する。
【0007】この構成は、最後の逆スケーリング変換の
ための乗算については、開平数字が逐次得られることを
利用して、そのあいだに逐次乗算を実行する手段を有し
ており、これにより、逆スケーリング変換のための乗算
は、本来の開平演算と並列に実行され、オーバーヘッド
を無くし、結果として高速化を実現する。本構成によれ
ば、開平においても除算と同様のスケーリング変換付き
の演算が同程度の時間で実行できるため、従来よりもか
なり高速な除算/開平器が実現できる。
【0008】
【発明の実施の形態】本発明の除算/開平回路の基本ブ
ロックを図1に示す。被除数をY、除数および被開平数
をXとする。そして被除数Y/被開平数Xを格納レジス
タ10に、除数Xを格納レジスタ20に格納する。まず
演算を効率化するために、これらの演算範囲の制限を行
う変換操作(スケーリング変換と呼ぶ)が、被除数Y/
被開平数Xにたいしては回路15により、除数Xにたい
しては回路25により施される。スケーリング変換後の
値にもとづいて、n桁単位に商/開平数字が商/開平数
字選択回路30により得られる。得られたn桁単位の被
除数Y/被開平数Xは、倍数発生回路40と桁上げ伝播
なしのp入力q出力加算回路(p−q加算回路)50に
よって、部分剰余計算が実行される。部分剰余計算結果
は商/開平数字選択回路30に入力される。そして、n
桁ずつシフトされながら、以下同様に、次々の桁の商/
開平数字が選択されていく。これらの演算回路30,4
0,50は、図1に示すように、繰り返し利用される。
【0009】ここで、商/開平数字選択回路30での商
/開平数字の選択には、部分剰余の一部m桁の値が参照
される。このm桁の参照は、回路の効率化の観点からで
きるだけ小さいmであることが望ましい。そのために、
演算範囲の制限を行うスケーリング変換をあらかじめ行
うのである。また、商/開平数字には冗長性をもたせて
おく方が選択を効率的に行うことができるので、商/開
平数字の集合には符号付き数が伝統的に使われている。
そのため、途中で逐次または最後に一括して通常の2進
数に変換する必要がある。と共に、開平計算の場合は、
得られたn桁単位の被除数Y/被開平数Xは、倍数発生
回路80へ入力される。
【0010】さて、除算において、除数Xと被除数Yの
双方に適当なM(スケーリング値)をあらかじめ掛けて
スケーリング変換してもその商は不変であるため、回路
群30、40、50によって除算は実現できる。ところ
が、開平においては、被開平数Xに適当なMをあらかじ
め掛けてスケーリング変換すると、開平数がMの開平数
倍されてしまうので、Mの開平数の逆数を掛けて正しい
開平数Xに補正しなければならない。
【0011】そこで、本願発明では、これを実行する補
正回路を逆スケーリング回路(p′−q加算回路)90
を新たに設け、これにより得られたn桁単位の被除数Y
/被開平数Xを、逐次逆スケーリング変換する。具体的
には、本発明では、逆スケーリング変換を行う回路とし
て逐次乗算器(倍数発生回路80、逆スケーリング回路
90、定数値70)を設け、開平数字選択回路30から
開平数字が選択される度に上記逐次乗算器により逆スケ
ーリング変換を実行し、レジスタ110に格納する。こ
の選択された開平数字に対する逆スケーリング変換は、
開平数字選択回路30、倍数発生回路40、および部分
剰余計算回路50による部分剰余計算と並行して実行さ
れる。そのため、従来、開平数が求まり、その後に逆ス
ケーリング変換を行っていた場合と比べて、部分剰余計
算時に並行して逆スケーリング変換を終了してしまうの
で、従来必要だった逆スケーリング変換というオーバヘ
ッドを減らすことができる。従って、逆スケーリング変
換を行う時間が不要となり、計算時間は従来の2分の1
で済むことになる。逆に言えば、従来より2倍高速に計
算を実行することができる。
【0012】また、逐次乗算の効率を上げるために、得
られた開平数字をオン・ザ・フライ変換と呼ばれる回路
60、100によって、逐次通常の2進数に変換する。
オン・ザ・フライ変換は、エルセゴバック(アイ・イー
イーイー、トランザクションズ・オン・コンピューター
ズ、895−897ページ、1987年7月号:回路6
0および同1385−1390ページ、1990年11
月号:回路100)によって考案されたものでよく使わ
れている。
【0013】以下、詳細に説明する。ただし、被除数Y
と除数Xはともに正規化されていて、0.1・・・(2
進数)のかたちをしているものとする。また、被開平数
Xは0.01・・・(2進数)のかたちに正規化されて
いるものとする。いま、X’=MX、Y’=MY、商/
平方根をQとすると、 Q=Y÷X=(MY)÷(MX)=Y’÷X’ (数1) なる関係にあるので、除算の場合にはスケーリング操作
Mによっても正しく商が求まることがわかる。また、開
平の場合には、 Q=√(X)=(1÷(√(M))×√(MX) =(1÷(√(M))×√(X’) (数2) とすれば、正しく平方根が求まる(なお、√(X)は、
Xの開平数を表すものとする)。基数rの除算は、漸化
式 R(j+1)=(2のr乗)×(R(j)−q(j)×X’) (数3) によって繰り返し実行される。基数rの開平は、漸化式 R(j+1)=(2のr乗)×(R(j)−q(j)×Q(j)−(2の− (j+2)乗)×(q(j)の2乗)) (数4) によって繰り返し実行される。
【0014】ここで、jは演算の繰り返しステップ数を
表し、小数点以下j桁目の商/開平数字q(j)を決定
する演算に係わるものであることを示す。R(j)はj
ステップ目の部分剰余計算を行う前の部分剰余値であ
り、この値にもとづいて小数点以下j桁目の商/開平数
字が決定される。特に、除算の場合、R(0)=Y’で
ある。開平の場合、R(0)=X’である。Q(j)
は、小数点以下j桁目までの部分開平値である。そし
て、部分剰余がp−q加算回路を使って桁上げ伝播なし
で求められる。その部分剰余結果が2のn乗倍(n桁シ
フト)されて、次の演算ステップj+1で使われる部分
剰余値R(j+1)になる。数式3と数式4は、もし、
X’とQ(j)を同じと見なせれば、数式4の最後の項
を補正するだけで(補正は明らかに1桁だけだから容
易)、まったく同じ扱いができる。
【0015】ところが、X’は固定値であるが、Q
(j)は部分開平値であるため非固定値である。この違
いはX’/Q(j)の倍数を発生するときに問題にな
る。Q(j)は符号付きの冗長数で逐次得られるため、
非冗長数X’と同等に扱うことができない。倍数発生回
路40のしかけによって対処することもできるが、場合
によっては入力数pの値が増加し、p’−q加算回路に
変更する必要がある。もう一つの方法として、符号付き
数Q(j)を非冗長数に逐次変換する前述のオン・ザ・
フライ変換法がある。本発明では、まず、オン・ザ・フ
ライ変換回路60を使うことを仮定して除算/開平回路
の構成を統一的に説明していく。
【0016】桁上げ伝播のないp−q加算回路には、2
つのタイプがある。1つが、次段へ桁上げ分を繰り越し
処理するために保存する桁上げ保存型である。もう一つ
が、符号付き数表現を用いる符号付き数型である。以
下、図3から図6において、桁上げ保存型および符号付
き数型について説明する。
【0017】これら加算回路を説明する前に、回路を構
成するのに必要なパストランジスタを使ったCMOS基
本回路を図2(a)に示す。文字aの上の横棒はnot
(a)を示す。また、図2(a)の回路を記号化して、
図2(b)のように示すことにする。一般に、図2の回
路はセレクタを実現している。g=1のとき、入力bが
排他的にセレクトされ、g=0のとき、入力aが排他的
にセレクトされるからである。また、入力a,b,gを
適当に選ぶことによって、いくつかの基本論理が実現で
きる。例えば、ANDは、g=a、ORは、g=b、E
ORは、b=not(a),g=bと置くことによって
実現できる。図3から図6で示されるセレクタ回路、E
OR回路(EORと記載)、AND回路(ANDと記
載)、OR回路(ORと記載)は、上記説明した回路に
より構成されるものとして説明する。
【0018】今、基数2の場合の2つのタイプの加算回
路を用いた除算/開平回路を図3と図4に示す。図3が
桁上げ保存型、図4が符号付き数型の3−2加算回路で
ある。図4の場合、段数を少なくするための多重割り当
てと同一レベルでのキャリー入出力を行っているため、
実際は5入力4出力であるが、加算器の意味的役割で
は、3−2加算回路である。いずれも適当なスケーリン
グ変換によって部分剰余の上位2桁参照によって構成す
ることができる。次に、基数4の場合について、図5に
桁上げ保存型を、図6に符号付き数型を示す。いずれも
適当なスケーリング変換によって部分剰余の上位4桁参
照によって構成することができる。
【0019】ここで、除算/開平回路において、できる
かぎりゲート段数を削減するために、商/開平数字を選
択する論理を、キャリー伝播が達成された状態から逆に
追跡する。回路のある段の一つ前の段では、回路ブロッ
クを2分した2つのブロック間でキャリーが伝播する。
これは、各々のブロックの符号信号が異なるときに生ず
る。もし、符号信号が異ならないならば31、キャリー
伝播が生じないので、両ブロックの状態は変わらない。
符号信号が異なるならば32、キャリー伝播が生じ、状
態が遷移する。この状態を選択する回路を構成する。こ
の方式により、目的の論理は、キャリー伝播が終了した
あとの論理をもとにして合成するよりも浅いゲートで実
現できる。
【0020】開平の場合の逆スケーリング変換は、スケ
ーリング係数Mの逆開平数を開平数Qに掛けることによ
って求まる。そこで、これをp’−q加算回路90およ
びMの逆開平数生成回路70(スケーリング値Mは決ま
っているので後述の図7の回路により生成できる。)と
その倍数発生回路80によって構成される逐次乗算器に
よって部分開平数Q(j)が決定されるたびに、部分剰
余計算回路30による開平数字決定と並行して実行す
る。その部分積はオン・ザ・フライ変換回路100によ
って通常の2進数に上位桁から逐次決定されていく。倍
数発生回路80は倍数発生回路40と同じ構成で容易に
実現できる。
【0021】図7に、基数2の場合のスケーリング変換
回路15、25の構成例を示す。除数/被開平数の値に
応じて、変換係数Mを選択するわけであるが、除数/被
開平数のある部分桁の値75を参照するだけで実現でき
る。Xの3倍数が桁上げ先見付き加算器(CLA76)
によって計算される。また、逆スケーリング変換のため
のMの逆開平数70の生成も同様に容易に実現できる。
【0022】
【発明の効果】本発明によれば、演算効率のよいスケー
リング変換を施した除算/開平回路が共通化できる。更
に、最後の逆スケーリング変換のための乗算について
は、開平数字が逐次得られることを利用して、そのあい
だに逐次乗算を実行する手段を有しており、これによ
り、逆スケーリング変換のための乗算は、本来の開平演
算と並列に実行され、オーバーヘッドを減らすことがで
き、従来よりも約2倍の演算効率向上を提供できるとい
う効果がある。
【図面の簡単な説明】
【図1】本発明の除算/開平回路のブロック図である。
【図2】基本回路とそれを記号化した図である。
【図3】基数2の場合の桁上げ保存型除算/開平回路で
ある。
【図4】基数2の場合の符号付き数型除算/開平回路で
ある。
【図5】基数4の場合の桁上げ保存型除算/開平回路で
ある。
【図6】基数4の場合の符号付き数型除算/開平回路で
ある。
【図7】基数2の場合のスケーリング変換回路である。
【符号の説明】
10・・・被除数/被開平数格納レジスタ 20・・・除数格納レジスタ 15,25・・・スケーリング変換回路 30・・・商/開平数字選択回路 40,80・・・倍数発生回路 50・・・部分剰余計算回路(p−q加算回路) 60,100・・・オン・ザ・フライ変換回路 70・・・Mの逆開平数生成回路 90・・・逆スケーリング回路(p’−q加算回路)。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 320 G06F 7/552

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 被除数、被開平数、除数を適当な範囲にあ
    らかじめスケーリングするスケーリング変換回路と、 n桁ずつ商/開平数字を求める商/開平数字選択回路
    と、第1倍数発生器と、部分剰余計算に桁上げ伝播のな
    い部分剰余計算回路とを有する除算回路と、 第2倍数発生回路と、スケ−リングの逆開平数生成回路
    と、逆スケーリング回路とを有する逆スケーリング変換
    回路とを有し、 除算を行う場合において、前記スケーリング回路により
    スケーリングされた被除数および除数から、前記商/開
    平数字選択回路、前記第1倍数発生器、および前記部分
    剰余計算回路を用いて除算を実行し、 開平を行う場合において、前記スケーリング回路により
    スケーリングされた被開平数から、前記商/開平数字選
    択回路、前記第1倍数発生器、および前記部分剰余計算
    回路を用いて開平数字が逐一得られるたびに、前記得ら
    れた開平数字を前記第2倍数発生回路、前記逆開平数生
    成回路、および前記逆スケーリング回路により逆スケー
    リングすることを特徴とする除算/開平回路。
  2. 【請求項2】前記部分剰余計算回路は、p入力q出力の
    桁上げ伝播のない第1加算回路であり、前記第1加算回
    路のpマイナスq入力を除数/被開平数の倍数発生出力
    のために割り当て、 前記逆スケーリング変換回路は、p’入力q出力の桁上
    げ伝播のない第2加算回路であり、前記第2加算回路の
    p’マイナスq入力を逆スケーリング数の倍数発生出力
    のために割り当てたことを特徴とする請求項1記載の除
    算/開平回路。
  3. 【請求項3】前記商/開平数字選択回路の出力を通常の
    2進数に逐次変換する(オン・ザ・フライ変換)回路を
    設けたことを特徴とする請求項1又は2に記載の除算/
    開平回路。
  4. 【請求項4】前記逆スケーリング変換回路の出力を通常
    の2進数に逐次変換する(オン・ザ・フライ変換)回路
    を設けたことを特徴とする請求項1から3の何れか一つ
    記載の除算/開平回路。
JP32419995A 1995-12-13 1995-12-13 除算/開平回路 Expired - Fee Related JP3514566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32419995A JP3514566B2 (ja) 1995-12-13 1995-12-13 除算/開平回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32419995A JP3514566B2 (ja) 1995-12-13 1995-12-13 除算/開平回路

Publications (2)

Publication Number Publication Date
JPH09160758A JPH09160758A (ja) 1997-06-20
JP3514566B2 true JP3514566B2 (ja) 2004-03-31

Family

ID=18163177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32419995A Expired - Fee Related JP3514566B2 (ja) 1995-12-13 1995-12-13 除算/開平回路

Country Status (1)

Country Link
JP (1) JP3514566B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20000378A (fi) 2000-02-18 2001-08-18 Nokia Networks Oy Laskutoimitusten suorittaminen digitaalisessa signaalinkäsittelylaitteessa
JP4273071B2 (ja) 2004-12-15 2009-06-03 エヌイーシーコンピュータテクノ株式会社 除算・開平演算器

Also Published As

Publication number Publication date
JPH09160758A (ja) 1997-06-20

Similar Documents

Publication Publication Date Title
US7313585B2 (en) Multiplier circuit
US11816448B2 (en) Compressing like-magnitude partial products in multiply accumulation
US20060129623A1 (en) Division and square root arithmetic unit
JP3345894B2 (ja) 浮動小数点乗算器
Jain et al. Binary division algorithm and high speed deconvolution algorithm (Based on Ancient Indian Vedic Mathematics)
US10216481B2 (en) Digit recurrence division with scaling and digit selection using intermediate value
JP3514566B2 (ja) 除算/開平回路
US20040083255A1 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JP3660075B2 (ja) 除算装置
Parashar et al. Fast combinational architecture for a vedic divider
US11281428B2 (en) Conversion circuitry
WO2023043467A1 (en) A method and architecture for performing modular addition and multiplication sequences
Chandu et al. Design and implementation of high efficiency square root circuit using Vedic mathematics
RU2559771C2 (ru) Устройство для основного деления модулярных чисел
WO2022115108A1 (en) An architecture for small and efficient modular multiplication using carry-save adders
Shawl et al. Implementation of Area and Power efficient components of a MAC unit for DSP Processors
US5954791A (en) Multipliers with a shorter run time
JP2790327B2 (ja) 剰余乗算回路および剰余乗算方法
RU2797164C1 (ru) Конвейерный умножитель по модулю
JP2518532B2 (ja) 減算シフト型除算器
Chang et al. Fixed-point computing element design for transcendental functions and primary operations in speech processing
Sinha et al. SERIES Folding-A CLEVER TECHNIQUE FOR INFINITE Technique Infinite SERIES EVALUATION
JP3201097B2 (ja) 乗算器における乗算処方方法
Kumar et al. Implementation and Performance Analysis of Reconfigurable Montgomery Modular Multiplier
JP2000010763A (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: 20040106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040113

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

Free format text: PAYMENT UNTIL: 20080123

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090123

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100123

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees