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
Links
Description
算術演算制御方式に係り、特に除算/開平を高速に実現
するのに好適な除算/開平回路に関する。
商/開平数字が決定され、その商/開平数字の決定にも
とづいて部分剰余が計算され、次の演算ステップでは、
この部分剰余値がn桁シフトされ、それにもとづいて次
のn桁の商/開平数字が決定され、という具合に、繰り
返し演算を行うことで実行される。このn桁単位に商/
開平数字を決定して行く方法は、2のn乗をr(これを
基数と呼ぶ)とするとき、基数rの除算/開平法と呼ば
れている。従来、基数rの除算/開平法を実行する除算
/開平器の実現において、基数を2より高くして、演算
の反復回数を削減することにより、除算/開平の高速化
を図ってきた。しかし、高基数化に伴って、商/開平数
字選択規則は複雑化し、高基数化のメリットを相殺して
しまうことが知られるようになった。そこで、商/開平
数字選択規則を単純化するために、除数/被開平数を適
当な範囲にあらかじめ制限しておくスケーリング法が提
案された。除算の場合には、除数と被除数の両方に適当
な数Mを掛けてスケーリングしても商の値が変わらない
ため都合がよかった。ところが、開平の場合には、被開
平数に適当な数Mを掛けてスケーリングすると、求める
平方根の値が変わるため、最後にMの逆開平数(Mの逆
数の開平数)を掛けなければならないのが欠点であっ
た。
して開平する論文が発表されている(トーマス・ラング
とパオロ・モンツッシ著、プリスケーリングによる高基
数開平、アイ・イーイーイー、トランザクションズ・オ
ン・コンピューターズ、996頁から1009頁、19
92年8月号)。この論文では、Mの逆開平数そのもの
もスケーリング付きの除算で求めている。
は、開平数が求められた後で逆スケーリング変換が行わ
れていたため、この部分がオーバーヘッドになる。開平
演算を高速化するためには、被開平数のスケーリング変
換を行う部分の高速化が重要であると考えられ、最後の
逆スケーリング変換のための乗算の負荷をどのように軽
くして実行するかが課題となっていた。
高速な除算/開平回路を提供することにある。
器において、被除数、被開平数、除数を適当な範囲にあ
らかじめスケーリングするスケーリング変換回路、除算
の場合に、前記スケーリング回路によりスケーリングさ
れた被除数および除数から、n桁ずつ商/開平数字を求
める商/開平数字選択回路、第1の倍数発生器、および
部分剰余計算に桁上げ伝播のない部分剰余計算回路によ
り除算を実行する除算回路、および、開平の場合に、前
記スケーリング回路によりスケーリングされた被開平数
から、前記商/開平数字選択回路、前記第1の倍数発生
器、および前記加算回路を用いて開平数字が逐一得られ
るたびに、前記得られた開平数字を、第2の倍数発生回
路、スケーリングの逆開平数生成回路、および逆スケー
リング回路により逆スケーリングする逆スケーリング変
換回路、とを有する。
ための乗算については、開平数字が逐次得られることを
利用して、そのあいだに逐次乗算を実行する手段を有し
ており、これにより、逆スケーリング変換のための乗算
は、本来の開平演算と並列に実行され、オーバーヘッド
を無くし、結果として高速化を実現する。本構成によれ
ば、開平においても除算と同様のスケーリング変換付き
の演算が同程度の時間で実行できるため、従来よりもか
なり高速な除算/開平器が実現できる。
ロックを図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に示すように、繰り返し利用される。
/開平数字の選択には、部分剰余の一部m桁の値が参照
される。このm桁の参照は、回路の効率化の観点からで
きるだけ小さいmであることが望ましい。そのために、
演算範囲の制限を行うスケーリング変換をあらかじめ行
うのである。また、商/開平数字には冗長性をもたせて
おく方が選択を効率的に行うことができるので、商/開
平数字の集合には符号付き数が伝統的に使われている。
そのため、途中で逐次または最後に一括して通常の2進
数に変換する必要がある。と共に、開平計算の場合は、
得られたn桁単位の被除数Y/被開平数Xは、倍数発生
回路80へ入力される。
双方に適当なM(スケーリング値)をあらかじめ掛けて
スケーリング変換してもその商は不変であるため、回路
群30、40、50によって除算は実現できる。ところ
が、開平においては、被開平数Xに適当なMをあらかじ
め掛けてスケーリング変換すると、開平数がMの開平数
倍されてしまうので、Mの開平数の逆数を掛けて正しい
開平数Xに補正しなければならない。
正回路を逆スケーリング回路(p′−q加算回路)90
を新たに設け、これにより得られたn桁単位の被除数Y
/被開平数Xを、逐次逆スケーリング変換する。具体的
には、本発明では、逆スケーリング変換を行う回路とし
て逐次乗算器(倍数発生回路80、逆スケーリング回路
90、定数値70)を設け、開平数字選択回路30から
開平数字が選択される度に上記逐次乗算器により逆スケ
ーリング変換を実行し、レジスタ110に格納する。こ
の選択された開平数字に対する逆スケーリング変換は、
開平数字選択回路30、倍数発生回路40、および部分
剰余計算回路50による部分剰余計算と並行して実行さ
れる。そのため、従来、開平数が求まり、その後に逆ス
ケーリング変換を行っていた場合と比べて、部分剰余計
算時に並行して逆スケーリング変換を終了してしまうの
で、従来必要だった逆スケーリング変換というオーバヘ
ッドを減らすことができる。従って、逆スケーリング変
換を行う時間が不要となり、計算時間は従来の2分の1
で済むことになる。逆に言えば、従来より2倍高速に計
算を実行することができる。
られた開平数字をオン・ザ・フライ変換と呼ばれる回路
60、100によって、逐次通常の2進数に変換する。
オン・ザ・フライ変換は、エルセゴバック(アイ・イー
イーイー、トランザクションズ・オン・コンピューター
ズ、895−897ページ、1987年7月号:回路6
0および同1385−1390ページ、1990年11
月号:回路100)によって考案されたものでよく使わ
れている。
と除数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) によって繰り返し実行される。
表し、小数点以下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桁だけだから容
易)、まったく同じ扱いができる。
(j)は部分開平値であるため非固定値である。この違
いはX’/Q(j)の倍数を発生するときに問題にな
る。Q(j)は符号付きの冗長数で逐次得られるため、
非冗長数X’と同等に扱うことができない。倍数発生回
路40のしかけによって対処することもできるが、場合
によっては入力数pの値が増加し、p’−q加算回路に
変更する必要がある。もう一つの方法として、符号付き
数Q(j)を非冗長数に逐次変換する前述のオン・ザ・
フライ変換法がある。本発明では、まず、オン・ザ・フ
ライ変換回路60を使うことを仮定して除算/開平回路
の構成を統一的に説明していく。
つのタイプがある。1つが、次段へ桁上げ分を繰り越し
処理するために保存する桁上げ保存型である。もう一つ
が、符号付き数表現を用いる符号付き数型である。以
下、図3から図6において、桁上げ保存型および符号付
き数型について説明する。
成するのに必要なパストランジスタを使った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と記載)は、上記説明した回路に
より構成されるものとして説明する。
路を用いた除算/開平回路を図3と図4に示す。図3が
桁上げ保存型、図4が符号付き数型の3−2加算回路で
ある。図4の場合、段数を少なくするための多重割り当
てと同一レベルでのキャリー入出力を行っているため、
実際は5入力4出力であるが、加算器の意味的役割で
は、3−2加算回路である。いずれも適当なスケーリン
グ変換によって部分剰余の上位2桁参照によって構成す
ることができる。次に、基数4の場合について、図5に
桁上げ保存型を、図6に符号付き数型を示す。いずれも
適当なスケーリング変換によって部分剰余の上位4桁参
照によって構成することができる。
かぎりゲート段数を削減するために、商/開平数字を選
択する論理を、キャリー伝播が達成された状態から逆に
追跡する。回路のある段の一つ前の段では、回路ブロッ
クを2分した2つのブロック間でキャリーが伝播する。
これは、各々のブロックの符号信号が異なるときに生ず
る。もし、符号信号が異ならないならば31、キャリー
伝播が生じないので、両ブロックの状態は変わらない。
符号信号が異なるならば32、キャリー伝播が生じ、状
態が遷移する。この状態を選択する回路を構成する。こ
の方式により、目的の論理は、キャリー伝播が終了した
あとの論理をもとにして合成するよりも浅いゲートで実
現できる。
ーリング係数Mの逆開平数を開平数Qに掛けることによ
って求まる。そこで、これをp’−q加算回路90およ
びMの逆開平数生成回路70(スケーリング値Mは決ま
っているので後述の図7の回路により生成できる。)と
その倍数発生回路80によって構成される逐次乗算器に
よって部分開平数Q(j)が決定されるたびに、部分剰
余計算回路30による開平数字決定と並行して実行す
る。その部分積はオン・ザ・フライ変換回路100によ
って通常の2進数に上位桁から逐次決定されていく。倍
数発生回路80は倍数発生回路40と同じ構成で容易に
実現できる。
回路15、25の構成例を示す。除数/被開平数の値に
応じて、変換係数Mを選択するわけであるが、除数/被
開平数のある部分桁の値75を参照するだけで実現でき
る。Xの3倍数が桁上げ先見付き加算器(CLA76)
によって計算される。また、逆スケーリング変換のため
のMの逆開平数70の生成も同様に容易に実現できる。
リング変換を施した除算/開平回路が共通化できる。更
に、最後の逆スケーリング変換のための乗算について
は、開平数字が逐次得られることを利用して、そのあい
だに逐次乗算を実行する手段を有しており、これによ
り、逆スケーリング変換のための乗算は、本来の開平演
算と並列に実行され、オーバーヘッドを減らすことがで
き、従来よりも約2倍の演算効率向上を提供できるとい
う効果がある。
ある。
ある。
ある。
ある。
Claims (4)
- 【請求項1】 被除数、被開平数、除数を適当な範囲にあ
らかじめスケーリングするスケーリング変換回路と、 n桁ずつ商/開平数字を求める商/開平数字選択回路
と、第1倍数発生器と、部分剰余計算に桁上げ伝播のな
い部分剰余計算回路とを有する除算回路と、 第2倍数発生回路と、スケ−リングの逆開平数生成回路
と、逆スケーリング回路とを有する逆スケーリング変換
回路とを有し、 除算を行う場合において、前記スケーリング回路により
スケーリングされた被除数および除数から、前記商/開
平数字選択回路、前記第1倍数発生器、および前記部分
剰余計算回路を用いて除算を実行し、 開平を行う場合において、前記スケーリング回路により
スケーリングされた被開平数から、前記商/開平数字選
択回路、前記第1倍数発生器、および前記部分剰余計算
回路を用いて開平数字が逐一得られるたびに、前記得ら
れた開平数字を前記第2倍数発生回路、前記逆開平数生
成回路、および前記逆スケーリング回路により逆スケー
リングすることを特徴とする除算/開平回路。 - 【請求項2】前記部分剰余計算回路は、p入力q出力の
桁上げ伝播のない第1加算回路であり、前記第1加算回
路のpマイナスq入力を除数/被開平数の倍数発生出力
のために割り当て、 前記逆スケーリング変換回路は、p’入力q出力の桁上
げ伝播のない第2加算回路であり、前記第2加算回路の
p’マイナスq入力を逆スケーリング数の倍数発生出力
のために割り当てたことを特徴とする請求項1記載の除
算/開平回路。 - 【請求項3】前記商/開平数字選択回路の出力を通常の
2進数に逐次変換する(オン・ザ・フライ変換)回路を
設けたことを特徴とする請求項1又は2に記載の除算/
開平回路。 - 【請求項4】前記逆スケーリング変換回路の出力を通常
の2進数に逐次変換する(オン・ザ・フライ変換)回路
を設けたことを特徴とする請求項1から3の何れか一つ
に記載の除算/開平回路。
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)
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 | エヌイーシーコンピュータテクノ株式会社 | 除算・開平演算器 |
-
1995
- 1995-12-13 JP JP32419995A patent/JP3514566B2/ja not_active Expired - Fee Related
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 |