JPH10111791A - 除算装置 - Google Patents
除算装置Info
- Publication number
- JPH10111791A JPH10111791A JP8264902A JP26490296A JPH10111791A JP H10111791 A JPH10111791 A JP H10111791A JP 8264902 A JP8264902 A JP 8264902A JP 26490296 A JP26490296 A JP 26490296A JP H10111791 A JPH10111791 A JP H10111791A
- Authority
- JP
- Japan
- Prior art keywords
- divisor
- multiplier
- redundant binary
- quotient
- bits
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/535—Dividing only
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)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
Abstract
戻して何回も用いるため、乗算での遅延時間の無駄が多
く、構成が複雑であるという課題があった。 【解決手段】 除数1に基づいて生成した第1の乗数を
除数および被除数2に乗じることにより、それぞれ中間
除数および中間商を演算し、この演算結果に基づいて必
要回数演算を繰り返すことによって、上記中間除数を所
定の値に近づけ、同時に上記中間商を上記被除数2を上
記除数1で割った商に近づけるようにしたものである。
Description
による除算を実行するための除算装置に関し、特にその
除算処理の高速化に関するものである。
ンピュータグラフィックス技術が急速に発展している。
コンピュータグラフィックスでは膨大な量の数値演算が
要求されるため、その実現には極めて高速の数値演算処
理が必要とされる。またコンピュータグラフィックにお
いては、通常の数値演算処理に比べて除算の頻度が高
く、これまでソフトウエアを用いてある程度時間をかけ
て処理していたのに対し、除算をハードウエアで高速に
処理する必要が生じている。
号公報に記載された従来のハードウエアによる除算装置
を示す回路構成図であり、図において、123はROM
等の記憶手段、125,126,127,128は第
1、第2、第3、第4のデータバスセレクタ(MU
X)、133,134は第1、第2の乗算器、137は
2の補数器、139は加算器である。
3は除数1(ai )をアドレス入力として除数の逆数の
近似値を出力し、第1のデータバスセレクタ125は記
憶手段123の出力124と2の補数器137の出力1
38とを入力とし、第2のデータバスセレクタ126は
除数と第1の乗算器133の出力135と第2の乗算器
134の出力136とを入力とし、第3のデータバスセ
レクタ127は記憶手段123の出力124と2の補数
器137の出力138とを入力とし、第4のデータバス
セレクタ128は被除数と第2の乗算器134の出力1
36とを入力とし、第1の乗算器133は第1のデータ
バスセレクタ125の出力129を第1の入力とし、第
2のデータバスセレクタ126の出力130を第2の入
力として乗算結果を第2のデータバスセレクタ126、
2の補数器137および加算器139へ出力し、第2の
乗算器134は第3のデータバスセレクタ127の出力
131を第1の入力とし、第4のデータバスセレクタ1
28の出力132を第2の入力として、乗算結果を第
2、第4のデータバスセレクタ126,128および加
算器139へ出力し、加算器139は第1、第2の乗算
器133,134の出力の和を商として出力するもので
ある。
のように構成されているので、次のような課題があっ
た。 1.第1の乗算器および第2の乗算器はともにm×m/
2ビット構成となっており、計算のループの度にこの乗
算が行われることになり、乗算器による遅延時間が大き
い。通常、乗算器は乗数と被乗数から複数の部分積を生
成し、これを例えばキャリーセーブアダー等によって部
分積が2つになるまで足し上げ、さらにこの2つの部分
積を加算器によって最終加算することによって乗算を行
う。この乗算を高速化するために、従来ブースのアルゴ
リズムによる部分積数の低減、ワレスのトリーによる部
分積の高速な足し上げ、およびキャリールックアヘッド
方式による高速の最終加算などの工夫が行われている。
第2の乗算器による遅延時間は依然大きく、これを複数
回実行する従来の除算装置では、この実行回数に比例す
る遅延時間がかかることを避けることはできない。すな
わち、上記従来の除算装置のような通常の乗算器を用い
ると、乗算器における遅延のために除算時間が長くかか
ってしまう。
するが、2の補数器は一種の加算器で構成するため、こ
の加算器における遅延時間が加わりさらに除算実行時間
が長くなる。また、2の補数器を別に用いなければなら
ないので、ハードウエア量も増加する。
占有されるため、その1つの除算が終了するまで次の計
算をはじめることができない。したがって、パイプライ
ン処理による高速化ができない。
めになされたもので、除算処理の高速化を図り、構成の
単純化を図ることを実現した除算装置を得ることを目的
とする。
る除算装置は、被除数および除数を入力し、上記除数に
基づいて生成した第1の乗数を、除数および被除数に乗
じることにより、それぞれ第1の中間除数および中間商
を得る第1の演算手段と、上記第1の中間除数に基づい
て生成した第2の乗数を、上記第1の中間除数および上
記第1の中間商に乗ずることにより、それぞれ第2の中
間除数および上記第2の中間商を得る如く前段の演算結
果に基づいて必要回数演算を繰り返すことによって、上
記中間除数を所定の値に近づけ、同時に上記中間商を上
記被除数を上記除数で割った商に近づける必要回数演算
手段とを備え、上記第1および第2の乗数のビット数を
それぞれ上記除数および上記中間除数のビット数よりも
小さくしたものである。
数の上位側の所定桁数ビットあるいはそのうちの最上位
1ビットを除くビット桁からなる第1の乗数を入力して
制御信号を出力する制御回路と、上記第1の乗数と上記
除数とを乗じることによって整数部分が“1”で小数点
以下第1位から少なくとも2個のゼロが並ぶ冗長二進表
現の第1の中間除数を得る第1の乗算器と、上記第1の
乗数と上記被除数とを乗じることによって冗長二進表現
の第1の中間商を得る第2の乗算器と、上記第1の中間
除数の上位複数桁を取り出して小数点以下第3位と第4
位の冗長二進ビットを正負反転させることによって第2
の乗数を生成し、この第2の乗数と上記第1の中間除数
とを乗じることによって、整数部分が“1”で小数点以
下第1位から少なくとも3個のゼロが並ぶ冗長二進表現
の第2の中間除数を得る第3の乗算器と、上記第2の乗
数と上記第1の中間商とを乗じることによって冗長二進
表現の第2の中間商を得る第4の乗算器と、整数部分が
“1”で小数点以下m個のゼロが続く第2の中間除数に
対して上位n桁(m+3≦n≦2m+1)を取り出して
小数点以下第(m+1)位から第(n−1)位までの冗
長二進ビットを正負反転させることによって第3の乗数
を生成し、この第3の乗数と上記第2の中間除数とを乗
じることによって、整数部分が“1”で小数点以下第1
位から少なくとも(2m−1)個のゼロが並ぶ冗長二進
表現の第3の中間除数を得る第a(aは5以上の奇数)
の乗算器と、上記第3の乗数と上記第2の中間商とを乗
じることにより冗長二進表現の第3の中間商を得る第c
(cは6以上の偶数)の乗算器と、整数部分が“1”で
小数点以下p個のゼロが続く第3の中間除数に対して上
位q桁(p+3≦q≦2p+1)を取り出して小数点以
下第(p+1)位から第(q−1)位までの冗長二進ビ
ットを正負反転させることによって第4の乗数を生成
し、この第4の乗数と上記第3の中間商とを乗じること
により冗長二進表現の商を得る第b(bは6以上の偶
数)の乗算器とを備え、上記第1から第4の乗算器によ
る演算実行後、上記第a(aは5以上の奇数)の乗算器
と第b(bは6以上の偶数)の乗算器による演算を必要
回数繰り返し、最後に上記第c(cは6以上の偶数)の
乗算器第3のステップを実行する。
られた冗長二進表現の商を二進数に変換して出力する変
換器を備えたものである。
御回路は除数(ai )の上位複数桁ビットを入力して、
下記演算式を実行して第1の乗数を生成するものであ
る。 1≦(ai )<5/4のとき :(ci )=(ai ) 5/4≦(ai )<13/8のとき:(ci )=(3/4)×(ai ) 13/8≦(ai )<2のとき :(ci )=(1/2)×(ai )
の除数と小数点以下2桁を“0”とするに必要なだけシ
フトさせた該除数とを引き算して第1の中間除数を得る
ものである。
御回路は除数のうちの小数点以下第1位から第3位まで
の3ビットを入力として、上記除数の各ビットを全てゼ
ロにするか、1ビット下位桁側へシフトするか、2ビッ
ト下位桁側へシフトするかを制御する信号と、冗長二進
表現された第1の中間除数の小数点以下第3桁の値を示
す信号とを出力させるものである。
1の乗算器は、制御信号により除数の各ビットを全てゼ
ロにするか、1ビット下位桁側ヘシフトするか、2ビッ
ト下位桁側ヘシフトするかを行うシフタ回路を備え、こ
のシフタ回路の出力と上記除数とから上記冗長二進表現
された第1の中間除数の小数点以下第4桁目以下を生成
するものである。
2の乗算器は、制御信号により被除数の各ビットを全て
ゼロにするか、1ビット下位桁側ヘシフトするか、2ビ
ット下位桁側ヘシフトするかを行うシフタ回路とを備
え、このシフタ回路の出力と上記被除数とから上記冗長
二進表現された第1の中間商を生成するものである。
3あるいは第aの乗算器は、入力される第1の中間除数
を符号反転して二つの冗長二進数を発生させる二つの符
号反転器と、上記二つの冗長二進数を加算して一つの冗
長二進数を出力する二つの冗長二進加算器とを備えたも
のである。
第4あるいは第bの乗算器は、入力された第1の中間商
を符号反転して二つの冗長二進数を発生させる二つの符
号反転器と、上記二つの冗長二進数を加算して一つの冗
長二進数を出力する二つの冗長二進加算器とを備えたも
のである。
符号反転器は、一対の冗長二進数の成分を入力し、冗長
二進数の制御入力によって出力を選択するマルチプレク
サ回路を備えたものである。
冗長二進加算器は、二組の冗長二進数を加算して冗長二
進数を出力する各桁毎の加算器を複数備えたものであ
る。
被除数として定数“1”を用いることにより、除数の逆
数を商として出力するものである。
第2の中間除数に対して上位n桁または第3の中間除数
に対して上位q桁を、(n−m−1)または(q−p−
1)が2のべき乗から1を引いた値となるように設定す
るものである。
中間除数と同時に制御信号を選択し、この二つから演算
を実行した演算器の出力を選択するマルチプレクサと、
中間商を選択し、この中間商を上記制御信号と乗算した
演算器の出力を選択するマルチプレクサとを備えたもの
である。
クロック信号で制御され、中間除数および中間商を一時
蓄え、演算器に出力するパイプラインレジスタを備えた
ものである。
除数の上位側の所定桁数ビットあるいはそのうちの最上
位1ビットを除く所定桁数のビットからなるビット列を
アドレス入力とし、そこから第1の乗数を出力する記憶
手段と、上記第1の乗数と上記除数とを乗じることによ
って整数部分が“1”で小数点以下第1位から少なくと
もr個のゼロが並ぶ冗長二進表現の第1の中間除数を得
る第1の乗算器と、上記第1の乗数と上記被除数とを乗
じることによって冗長二進表現の第1の中間商を得る第
2の乗算器と、上記第1の中間除数に対して上位s桁
(r+3≦s≦2r+1)を取り出して小数点以下第
(r+1)位から第(s−1)位までの冗長二進ビット
を正負反転させることによって第2の乗数を生成し、こ
の第2の乗数と上記第1の中間除数とを乗じることによ
って、整数部分が“1”で小数点以下第1位から少なく
とも(2r−1)個のゼロが並ぶ冗長二進表現の第2の
中間除数を得る第t(tは3以上の奇数)の乗算器と、
上記第2の乗数と上記第1の中間商とを乗じることによ
って冗長二進表現の第2の中間商を得る第u(uは4以
上の偶数)の乗算器と、整数部分が“1”で小数点以下
v個のゼロが続く第2の中間除数に対して上位w桁(v
+3≦w≦2v+1)を取り出して小数点以下第(v+
1)位から第(w−1)位までの冗長二進ビットを正負
反転させることによって第3の乗数を生成し、この第3
の乗数と上記第2の中間除数とを乗じることにより,冗
長二進表現の商を得る第y(yは4以上の偶数)の乗算
器とを備え、上記第1および第2の乗算器による演算実
行後、上記第t(tは3以上の奇数)の乗算器と第u
(uは4以上の偶数)の乗算器による演算を必要回数繰
り返し、最後に上記第y(yは4以上の偶数)の乗算器
による演算を実行するものである。
説明する。 実施の形態1.図1はこの発明の実施の形態1による除
算装置の構成を示すブロック図であり、図において、1
は除数(ai )、2は被除数(bi )であり、この実施
の形態1では、除数1(ai )および被除数2(bi )
はともに整数部分1桁、小数点以下7桁で合計8桁の2
進数、すなわち、 (ai )=a0 .a1 a2 a3 a4 a5 a6 a7 [1] (bi )=b0 .b1 b2 b3 b4 b5 b6 b7 [2] とし、さらに最上位の一の位は“1”とする。すなわ
ち、 a0 =1 [3] b0 =1 [4] とする。
点位置を移動させても商のビット並びは変わらないの
で、式[1]〜[4]の仮定によって一般性が失われる
ことはない。3は除数1(ai )のうちの最上位a0 を
除く上位3ビットの第1の乗数(a1 〜a3 )である。
して制御信号7を発生させる制御回路、4は除数1(a
i )と制御信号7から乗算を行う第1の乗算器、5は被
除数2(bi )と制御信号7から乗算を行う第2の乗算
器、8は第1の乗算器4の出力結果で冗長2進数で表さ
れた第1の中間除数(ci )、9は第2の乗算器5の出
力結果で冗長2進数で表された第1の中間商(di )で
ある。
2ビットの第2の乗数(c3 〜c4)、11は第1の中
間除数8(ci )と第2の乗数10(c3 〜c4 )に基
づいて乗算を行う第3の乗算器、12は第1の中間商9
(di )と第2の乗数10(c3 〜c4 )に基づいて乗
算を行う第4の乗算器、13は第3の乗算器11の出力
結果で冗長2進数で表された第2の中間除数(ei )、
14は第2の乗算器5の出力結果で冗長2進数で表され
た第2の中間商(fi )である。
の3ビットの第3の乗数(e4 〜e6 )、16は第2の
中間除数13(ei )と第3の乗数15(e4 〜e6 )
に基づいて乗算を行う第5の乗算器、17は第2の中間
商14(fi )と第3の乗数15(e4 〜e6 )に基づ
いて乗算を行う第6の乗算器、18は第5の乗算器16
の出力結果で冗長2進数で表された第3の中間除数(g
i )、19は第4の乗算器12の出力結果で冗長2進数
で表された第3の中間商(hi )である。
の5ビットの第4の乗数(g6 〜g10)、21は第3の
中間商19(hi )と第4の乗数20(g6 〜g10)に
基づいて乗算を行う第7の乗算器、22は第7の乗算器
21の出力結果で冗長2進数で表された第4の中間商
(ki )である。23は冗長二進数で表された第4の中
間商22(ki )を通常の二進数に変換する冗長二進→
二進変換器、24は除算の答えとなる商(qi )であ
る。
(ai )の上位4ビットから以下のような乗算を実行す
る。 1≦(ai )<5/4のとき :(ci )=(ai ) [5] 5/4≦(ai )<13/8のとき:(ci )=(3/4)×(ai ) [6] 13/8≦(ai )<2のとき :(ci )=(1/2)×(ai ) [7] これによって、全ての入力(ai )に対して 3/4<(ci )<5/4 [8] とすることができる。
値をもついわゆる冗長二進数で表現すると、 (ci )=1.00c4 c5 c6 … [9] という形に書くことができる。なぜならば、冗長二進表
現では3/4と5/4は、 3/4=1.00−1−1−1… [10] 5/4=1.00111… [11] と表されるので、その間の値を持つ(ci )は必ず式
[9]の形で表すことができるからである。
i )に対して式[5]〜[7]と同様の以下の計算が行
われる。 1≦(bi )<5/4のとき :(ci )=(bi ) [12] 5/4≦(bi )<13/8のとき :(ci )=(3/4)×(bi ) [13] 13/8≦(bi )<2のとき :(ci )=(1/2)×(bi ) [14]
器16における乗算を説明するために、まず、次の一般
的な冗長二進数の性質について説明する。仮に冗長二進
数(xi )が、 (xi )=1.00・・0xn+1 …x2nx2n+1… [15] という形で表されるとする。ただし、小数第1位から始
まる“0”はn個続くとする。
絶対値をεと置くと、式[16]および[17]から、 ε=|α|2 +|α||β|+|β| <((2n −1)/22n)2 +((2n −1)/22n×1/22n) +(1/22n)=(22n+1−2n )/24n <2-(2n-1) [22] となる。
のように表すことができる。 (yi )=1.00・・・0y2ny2n+1… [23] ただし、小数第1位から続く“0”の数は(2n−1)
個である。
の冗長二進数(xi )に対し、その小数以下はじめて
“0”でない数字が現れる桁から下位方向に向かって、
小数第1位から続く“0”の数nと同数の桁数分だけ取
り出したものをαとし、(1−α)を乗ずることによっ
て、式[23]のような小数第1位以下(2n−1)個
の“0”が続く冗長二進数(yi )を得ることができ
る。
は、以上の考えに基づいて乗算を行うためのもので、ま
ず第2の乗算器5においては式[9]のように小数以下
2個の“0”を持つ第1の中間除数8(ci )と数
(1.00−c3 −c4 )との掛け算が行われる。その
結果、出力の第2の中間除数13(ei )は、 (ei )=(ci )×(1.00−c3 −c4 )=1.000e4 e5 … [24] と小数以下3個の“0”が並ぶ形で表される。
進ビットc3 とc4 とを符号反転することで生成できる
ので、(ci )を被乗数とした場合、第2の乗数10は
c3とc4 との二つから生成することができる。例え
ば、c3 が“1”の場合はこれを“−1”とし、“0”
の場合は“0”、“−1”の場合は“1”とする。同様
に第5の乗算器16においては小数以下3個の“0”を
持つ第2の中間除数13(ei )と(1.000−e4
−e5 −e6 )との掛け算が行われる。
i )は、 (gi )=1.00000g6 g7 … [25] と小数以下5個の“0”が並ぶ形で表される。(1.0
00−e4 −e5 −e6)は三つの冗長二進ビットe
4 ,e5 ,e6 を符号反転することで生成できるので、
(ei )を被乗数とした場合、第3の乗数15はe4 ,
e5 ,e6 の三つから生成することができる。
(di )と第2の乗数10(c3 〜c4 )より生成され
た(1.00−c3 −c4 )との乗算が行われ、その結
果、第2の中間商14(fi )を生成し、第6の乗算器
17では第2の中間商14(fi )と第3の乗数15
(e4 〜e6 )より生成された(1.000−e4 −e
5 −e6 )との乗算が行われ、その結果、第3の中間商
19(hi )を生成し、第7の乗算器21では第3の中
間商19(hi )と第3の中間除数18の一部の第4の
乗数20(g6 〜g10)から生成された(1.0000
0−g6 −g7 −g8 −g9 −g10)との乗算が行わ
れ、その結果、第4の中間商22(ki )を生成する。
由で次第に被除数2(bi )を除数1(ai )で割った
商に近づいていく。すなわち、 r=(m0 .m1 m2 )×(1.00−c3 −c4 ) ×(1.000−e4 −e5 −e6 ) ×(1.00000−g6 −g7 −g8 −g9 −g10) [26] とおくと、第4の中間商22(ki )は、 (ki )=r×(bi ) [27] と書ける。
1)=9個の“0”が並ぶ。すなわち、 1−10-9<r×(ai )<1+10-9 [30] となる。
小数点以下7桁の精度で商(bi )/(ai )に等しい
ことが分かる。このように、この実施の形態1により入
力の乗数および被乗数の精度に等しい精度を持つ商の値
を得ることができる。
二進→二進変換器23によって冗長二進数から通常の二
進数に変換され、最終的に二進数の商24(qi )とし
て出力される。
算器はそれぞれ冗長二進数による乗算を行うため、従来
の乗算器で行っていたキャリールックアヘッド方式など
による最終加算が不要となり高速化が可能となる。ま
た、従来例のように、2の補数器を使うことなしに各乗
算器の除数を被除数の一部から容易に生成できるので、
さらに高速化が可能になる。また、データが図1の上か
ら下に向かって一方向に流れるので、実行中に次のデー
タを入力することも可能で、さらに処理能力を向上させ
ることができる。
以下7桁までとした場合について示したが、商に対して
より高精度が要求される際には、この実施の形態1に述
べた計算ステップをさらに増加させることによって任意
の精度の商を得ることができる。
態2による制御回路6の説明図であり、3つの入力信号
a1 ,a2 ,a3 から2つの出力m1 ,m2 を生成す
る。式[5]〜[7]の乗算は制御回路6に図3の表に
示した機能を持たせることによって実現できる。すなわ
ち、制御回路6の出力である制御信号7を3桁の冗長二
進数、 (mi )=m0 .m1 m2 (ただしm0 =1) [34] で表し、入力信号a1 〜a3 に対して図3の表に示すよ
うな規則で(mi )を発生させて、これと除数1(a
i )とを第1の乗算器4によって掛け合わせることによ
り、式[5]〜[7]のような乗算が実行でき、その結
果、式[9]のような第1の中間除数8(ci )を得る
ことができる。m0 は常に“1”なので特に発生させる
必要はない。
[14]に従って(mi )と被除数2(bi )との積が
行われ、その結果が冗長二進数の第1の中間商9(d
i )として出力される。
ば、上記構成の制御回路6を用いることにより前記実施
の形態1の効果を実現することができる。なお、冗長二
進数は3値をとるため、通常2ビットの信号の組み合わ
せで表現されるが、この実施の形態2はそのあらゆる表
現方法に対して適用することができる。
の実施の形態3による制御回路6と第1の乗算器4によ
る第1の中間除数8(ci )の生成方法を示す説明図で
あり、図4および図5において、除数1(ai )の上位
から4桁の組み合わせはa0 が常に“1”なので全部で
8通あり、図4においてはそれぞれの場合をcase1
〜case8として示している。第1の中間除数8(c
i )は、式[9]のように小数点以下上位2桁を“0”
とする必要があるが、もともとa1 およびa2 が“0”
である。case1とcase2については、そのまま
(ai )を(ci )とすればよい。これは式[5]に対
応する。case3〜case8の場合に行う処理を図
5に示す。
(a)〜(c)に対応しており、いずれも自分自身を右
方向へ2ビットシフトしたものを自分自身から引くとい
う操作を行っている。これは、式[6]に対応した操作
である。case3およびcase4では引いた結果の
上位4桁が“1.001”となるので、そのまま出力す
ればよい。これに対してcase5では引いた結果の上
位4桁が“1.1−1−1”となるが、冗長二進数にお
いて“1−1−1”は“001”と同じ値なので、上位
4桁を強制的に“1.001”とすることができる。
(d)〜(f)に対応しており、いずれもcase3〜
case5と同様に自分自身を右方向へ1ビットシフト
したものを自分自身から引くという操作を行っている。
これは、式[7]に対応した操作である。case6は
引いた値の上位4桁が“1.0−11”となるが冗長二
進数においては“−11”は“0−1”に等しいので、
上位4桁を強制的に“1.00−1”とすることができ
る。case7およびcase8では引いた値の上位4
桁がそれぞれ“1.00−1”および“1.000”と
なるのでそのまま出力することができる。
ルによって第1の中間除数8(ci)を生成することに
より、式[9]の形の第1の中間除数8(ci )を容易
に得ることができる。なお、この実施の形態3も冗長二
進のあらゆる表現方法に対して適用することができる。
実現するこの発明の実施の形態4による制御回路6の構
成を示す説明図であり、出力される制御信号7として2
5〜29の5種類の信号を用いている。また冗長二進数
の表現方法としては、冗長二進数pに対し、 p≡(p_plus,p_minus)=p_plus−p_minus [35] という定義を用いている。すなわち一対の二進数の差を
その値としている。
中間除数8(ci )は、除数1(ai )から図4に示す
ルールで計算されるが、式[34]を用いれば、このル
ールは、除数1(ai )の各ビットを全て“0”にする
ことと、右方向に1ビットシフトさせることと、右方向
に2ビットシフトさせることによって実現することがで
きる。このそれぞれを制御する信号が、zero25、
第1のshift26および第2のshift27であ
る。また、c0 〜c2 は“1.00”となるようにして
いるが、c3 は入力によって変化するので、c3 _pl
us28とc3_minus29とを発生させている。
ば、実際の乗算を行うことなしに、シフト操作のみで第
1の中間除数8(ci )を得ることができる。
および4を実現するこの発明の実施の形態5による第1
の乗算器4の構成図を示すもので、zero25、第1
のshift26および第2のshift27の制御入
力に対してシフトを行うシフタ回路30を備えている。
zero25が“1”のときは出力(qi )31に全て
“0”が出力され、第1のshift26が“1”のと
きは除数1(ai )を右方向へ1ビットシフトしたもの
が(qi )31として出力される。また、第2のshi
ft27が“1”のときは除数1(ai )を右方向へ2
ビットシフトしたものが出力(qi )31として出力さ
れる。出力された(qi )31は、除数1(ai )とペ
アにして、第1の中間除数8(ci )のうちの小数第4
位以下(c4 c5 …)33を生成する。
ってc3 _plusとc3 _minusとのペアでその
まま出力される。第1の中間除数c0 〜c2 “1.0
0”と一定なので、ここでは特に生成する必要はない。
ば、特に乗算を実行することなく単なるシフト操作のみ
によって、乗算結果である第1の中間除数8(ci )を
得ることができるので、高速で小面積の第1の乗算器4
を構成することができる。
よび4を実現するこの発明の実施の形態6による第2の
乗算器5の構成を示すもので、実施の形態5と同様にz
ero25、第1のshift26および第2のshi
ft27の制御入力に対してシフトを行うシフタ回路3
4を備えている。zero25が“1”のときは出力
(ri )35に全て“0”が出力され、第1のshif
t26が“1”のときは被除数2(bi)を右方向へ1
ビットシフトしたものが出力(ri )35として出力さ
れる。
きは被除数2(bi )を右方向へ2ビットシフトしたも
のが出力(ri )35として出力される。シフタの制御
は図4の場合と同様であるが、ここでは図9に示すよう
に入力被除数2(bi )の小数点以下全ビットに対して
行われ、被除数2(bi )とシフタ回路34の出力(r
i )35とのペアにより、第1の中間商9(di )が生
成される。
ば、特に乗算を実行することなく単なるシフト操作のみ
によって乗算結果である第1の中間商9(di )を得る
ことができるので、高速で小面積の第2の乗算器5を構
成することができる。
形態7としての第3の乗算器11の構成を示すもので、
図において、36,38は第1の中間除数8(ci )か
らの乗数(c3 あるいはc4 )を制御信号として冗長二
進入力を符号反転する符号反転器、40,42は二つの
冗長二進入力を加算して一つの冗長二進数を出力する冗
長二進加算器である。この実施の形態7による第3の乗
算器11は、式[24]を計算するための回路で、入力
の第1の中間除数8(ci )から二つの冗長二進数37
および39を発生させ、さらに第1の中間除数8(c
i )、二つの冗長二進数37および39をいわゆるワレ
ストリーと呼ばれる樹木状に足し合わせる方式が用いら
れている。
第1の中間除数8(ci )のうちの有効ビットc3 〜c
9 が、符号反転器36および38によって乗数c3 を制
御信号として符号反転される。すなわち、符号反転器3
6においては乗数c3 が“0”のときは冗長二進数37
に全て“0”が出力され、乗数c3 が“1”のときは有
効ビットc3 〜c9 を各ビット毎に全て符号反転したも
のが冗長二進数37に出力され、乗数c3 が“1”のと
きは有効ビットc3 〜c9 がそのまま冗長二進数37に
出力される。冗長二進数37は入力に対して3ビット右
方向にシフトした位置に出力される。
が“0”のときは冗長二進数39に全て“0”が出力さ
れ、乗数c4 が“−1”のときは有効ビットc3 〜c9
を各ビット毎に全て符号反転したものが冗長二進数39
に出力され、乗数c4 が“−1”のときは有効ビットc
3 〜c9 がそのまま冗長二進数39に出力される。冗長
二進数39は入力に対して4ビット右方向にシフトした
位置に出力される。
長二進数37と39が足し合わされて一つの冗長二進数
41が出力される。また、冗長二進加算器42では、入
力の第1の中間除数8(ci )と冗長二進数41が足し
合わされて一つの冗長二進数が出力される。冗長二進数
は第2の中間除数13(ei )となる。なお、有効ビッ
トc3 〜c9 の符号反転は式[36]の(ai ,qi )
を(qi ,ai )とするだけで容易に得ることができ
る。
ば、第1の中間除数8(ci )の上位3ビットを直接扱
うことなく、また冗長二進加算は一般にキャリー信号の
伝搬が起きないので、極めて高速に乗算結果を得ること
ができる。また、この実施の形態7による乗算器は、第
3の乗算器11だけでなく第5の乗算器16にも適用す
ることができる。
形態8としての第4の乗算器12の構成を示すもので、
上記実施の形態7に示した第3の乗算器11とほぼ同様
である。図において、43,45は乗数(c3 あるいは
c4 )を制御信号として冗長二進入力を符号反転する符
号反転器、47,49は二つの冗長二進入力を加算して
一つの冗長二進数を出力する冗長二進加算器である。
第1の中間商9(di )が、符号反転器43および45
によって乗数c3 を制御信号として符号反転される。す
なわち、符号反転器43においては乗数c3 が“0”の
ときは冗長二進数44に全て“0”が出力され、乗数c
3が“1”のときは有効ビットc3 〜c9 を各ビット毎
に全て符号反転したものが冗長二進数44に出力され、
乗数c3 が“−1”のときは有効ビットc3 〜c9がそ
のまま冗長二進数44に出力される。冗長二進数44は
入力に対して3ビット右方向にシフトした位置に出力さ
れる。
が“0”のときは冗長二進数46に全て“0”が出力さ
れ、乗数c4 が“1”のときは有効ビットc3 〜c9 を
各ビット毎に全て符号反転したものが冗長二進数46に
出力され、乗数c4 が“−1”のときは有効ビットc3
〜c9 がそのまま冗長二進数46に出力される。冗長二
進数46は入力に対して4ビット右方向にシフトした位
置に出力される。
長二進数44と46が足し合わされて一つの冗長二進数
48が出力される。また、冗長二進加算器49では、入
力の第1の中間商9(di )と冗長二進数48が足し合
わされて一つの冗長二進数が出力される。冗長二進数は
第2の中間商14(fi )となる。
ば、キャリー信号の伝搬が起きない高速の冗長二進加算
を用いて乗算が実行できるため、極めて高速に乗算結果
を得ることができる。またこの実施の形態8による乗算
器は、第4の乗算器12だけでなく第6の乗算器17お
よび第7の乗算器21にも適用することができる。
び8を実現するこの発明の実施の形態9による符号反転
器の構成を示すもので、図は1ビット分の構成を示して
いる。図において、in_plus50とin_min
us51は入力となる一対の冗長二進数の成分、(s)
54は冗長二進数の制御入力、out_plus55と
out_minus56は出力となる一対の冗長二進数
の成分となる。52と53は制御入力(s)54の値に
よって出力を選択するマルチプレクサ回路である。
7および8を実現するこの発明の実施の形態10の冗長
二進加算器の構成例を示すもので、図において、57は
それぞれ(i+1)〜(i−1)桁目の1桁分の加算器
58〜60を有する冗長二進加算器である。(i+1)
桁目の加算器58は、二組の冗長二進数in1_plu
si+1 61とin1_minusi+1 62、およびin
2_plusi+1 63とin2_minusi+1 64を
足し合わせて冗長二進数の出力out_plusi+1 7
3とout_minusi+1 74を出力する。
二進数in1_plusi 65とin1_minusi
66、およびin2_plusi 67とin2_min
usi 68を足し合わせて冗長二進数の出力out_p
lusi 75とout_minusi 76を出力し、
(i−1)桁目の加算器60は、二組の冗長二進数in
1_plusi-1 69とin1_minusi-1 70、
およびin2_plusi-1 71とin2_minus
i-1 72を足し合わせて冗長二進数の出力out_pl
usi-1 77とout_minusi-1 78を出力す
る。ti+1 〜ti-279〜82は、それぞれ一本または
複数本の信号線からなる中間信号で、下位側の加算器か
ら上位側の加算器へ伝えられる。一般に隣り含う中間信
号ti+1 79とti 80は互いに独立とすることができ
るので、通常の二進数の加算の際に生じるいわゆるキャ
リー信号の伝搬が起きない。
ば、上記の構成により高速の冗長二進加算を実現するこ
とができる。
の形態11による除算装置を示す構成図であり、図1に
おける被除数2(bi )を“1”の被除数83としたも
ので、他の構成は図1に示す実施の形態1と同じである
が、この構成によって、高速の逆数器が得られる。
の形態12による除算装置を示す構成図であり、第2、
第3、第4の中間除数13,18,87から取り出す乗
数15(e4 〜e6 )、乗数84(g6 〜g8 )、乗数
89(j8 〜j14)のビット数を(2n −1)個とした
場合を示す。この実施の形態12では、商を小数点以下
24桁の精度で求める場合を示している。
るところまでは実施の形態1と同様であるが、そこから
乗数84として取り出す信号のビット数を実施の形態1
の5ビットではなく3ビットとしている。ここで、実施
の形態1の式[16]〜[22]を一般化するために、
mをm≦nとして、 α=(xn+1 …Xn+m )/2n+m [37] β=(0.xn+m+1 …)/2n+m [38] と置くと、 −(2m −1)/2n+m <α<(2m −1)/2n+m すなわち、|α|<(2m −1)/2n+m [39] 1/2n+m <β<1/2n+m すなわち、|β|<1/2n+m [40] となる。
て小数点以下に続く“0”の数を(n+m−1)とする
ことができる。この考えから第7の乗算器85における
乗算の結果、第4の中間除数87(ji )は小数点以下
に続く“0”の数は7個となる。
出す乗数89のビット数は7ビットとしている。このた
め、第9の乗算器90における乗算の結果、第5の中間
除数92(li )は小数点以下に続く“0”の数は13
個となる。さらに、第5の中間除数92(li )からは
乗数94(i14〜i26)として13ビットが取り出され
る。
91、第11の乗算器95はそれぞれ実施の形態1の第
4、第6、第7の乗算器12,17,21と同様の働き
をして、それぞれ第4の中間商88(ki )、第5の中
間商93(mi )、第6の中間商96(ni )を生成す
る。第6の中間商96(ni )は、さらに冗長二進→二
進変換器23によって二進数に変換され、最終的に商2
4(qi )が出力される。この実施の形態12によっ
て、乗数15(e4 〜e6 )、乗数84(g6 〜g
8 )、乗数89(j8 〜j14)のビット数はそれぞれ
3,3,7と(2n −1)で表される数となる。
ば、第5の乗算器16、第7の乗算器85、第9の乗算
器90では、入力する乗数15(e4 〜e6 )、乗数8
4(g6 〜g8 )、乗数89(j8 〜j14)のビット数
に1を加えた数の冗長二進数の総和を計算するので、乗
数のビット数が(2n −1)のときは、加算すべき冗長
二進数が2n となり、ワレストリーによる足し上げの効
率が最も大きくなる。すなわち、2n は加算器n段で足
し上げられる最大の数で、従って最も効率よく高速に足
し上げを実行することができる。
回路を用いてハードウエア量を低減した場合のこの発明
の実施の形態13による除算装置を示す構成図であり、
マルチプレクサ回路97においては最初、第2の中間除
数13(ei )が選択されて出力99が出力され、同時
に乗数101(e4 〜e6 )が出力され、これら二つか
ら第5の乗算器102において乗算が実行される。
算器102の出力104が選択されて出力99に中間除
数(gi )として出力され、同時に乗数101(g6 〜
g8)が選択されて出力され、これら二つから第5の乗
算器102において乗算が実行される。この乗算結果は
第3の中間除数106(gi)となる。
は、最初、第3の中間除数106(gi )が出力110
として選択されて出力され、同時に乗数112(j8 〜
j14)が選択されて出力され、これら二つから第9の乗
算器113において乗算が実行される。
乗算器113の出力115が選択されて、出力110に
は中間除数(li )として出力され、同時に乗数112
(l14〜l20)が選択されて出力され、これら二つから
第9の乗算器113において乗算が実行される。
にもう一度、第9の乗算器113の出力115が選択さ
れて、乗数112(n20〜n26)が選択されて出力され
る。この際、第9の乗算器113における乗算は不要な
ので実行されない。
初、第2の中間商14(fi )が選択されて出力100
に出力され、第6の乗算器103において第2の中間商
14(fi )と乗数101(e4 〜e6 )とから乗算が
実行される。
第6の乗算器103の出力105が選択されて出力10
0に出力され、乗数101(g6 〜g8 )とから第6の
乗算器103において乗算が実行される。この乗算結果
が第3の中間商107(hi)となる。
は、最初、第3の中間商107(hi )が選択されて出
力111に出力され、乗数112(j8 〜j14)とから
第10の乗算器114において乗算が実行される。
0の乗算器114の出力116が選択されて出力111
に出力され、乗数112(l14〜l20)とから第10の
乗算器114で乗算が実行される。
にもう一度、第10の乗算器114の出力116が選択
されて、乗数112(n20〜n26)が選択されて出力さ
れる。この結果、第10の乗算器114で乗算が実行さ
れ、第4の中間商117(ki )として出力される。第
4の中間商117(ki )は冗長二進→二進変換器23
によって通常の二進数に変換され、商24(qi )とし
て出力される。
ば、マルチプレクサ回路により、乗算器よりも小さいハ
ードウエア量で実現できるので、全体のハードウエア量
を大幅に低減することができる。
の形態14による除算装置を示す構成図であり、パイプ
ラインレジスタ118および119によって2段のパイ
プライン構成とした場合を示す。すなわち、第2の中間
除数13(ei )および第2の中間商14(fi )はそ
れぞれパイプラインレジスタ118および119によっ
て一時蓄えられ、次に第5の乗算器16および第6の乗
算器17に入力する。
の制御はクロック信号120によって行われ、例えばク
ロック信号120が“low”のときにデータが蓄えら
れ、クロック信号120が“high”になったときに
データが出力されるといった動作をする。
ば、パイプラインレジスタ118および119によって
分けられた前後の回路を並列に動作させる、いわゆるパ
イプライン動作が可能となるので、高速動作を実現する
ことができる。また、この実施の形態14では2段のパ
イプライン構成とする場合を示したが、パイプラインレ
ジスタの数を増加させて段数を増やすことにより、さら
に高速動作を実現することができる。
の形態15による除算装置を示す構成図であり、上記各
実施の形態における制御回路6の代わりに記憶手段とし
てROM121を用いた場合を示す。このROM121
は、乗数3(a1 〜a4 )をアドレス入力として、制御
信号122を出力するもので、制御信号122を上記各
実施の形態における制御信号7と同様とすることによっ
て実施の形態1と同様の動作を実現することができ、同
様の効果を得ることができる。
ば、ROM121への入力を4ビットとしているが、R
OMの規模を大きくして入力のビット数を多くすること
によって第1の乗算器の出力である第2の中間除数13
(ei )の小数点以下に続く“0”の数を実施の形態1
の場合よりも増やすことができ、高速の除算が実現でき
る。また、ROM121はRAMやその他の記憶素子で
あってもかまわない。
れば、除数に基づいて生成した第1の乗数を除数および
被除数に乗じることにより、それぞれ中間除数および中
間商を演算し、この演算結果に基づいて必要回数演算を
繰り返すことによって、上記中間除数を所定の値に近づ
け、同時に上記中間商を上記被除数を上記除数で割った
商に近づけるように構成したので、除算処理の高速化と
構成の単純化を図ることができる効果がある。
御回路によって制御信号を出力させ、これに基づいて第
1の乗算器と第2の乗算器で演算を行い、冗長二進数の
中間除数と中間商を発生させ、その後、除数の上位2桁
以降に並ぶ“0”の次の複数ビットの符号ビットの符号
を反転させた信号と上記中間除数および中間商との演算
を実行し、中間除数を1に収束させるように構成したの
で、計算に無駄がなく、除算処理の高速化を図ることが
できる。また、冗長二進数で乗算を行うので、除算処理
のより高速化を図ることができる。さらに、2の補数器
が不要、除数側の最後の乗算は実行不要等のため、ハー
ドウエアを削減できる効果がある。
現の商を二進数に変換する変換器を備えるように構成し
たので、得られた冗長二進表現の商を二進数に変換して
出力することができる効果がある。
除数(ai )の上位複数桁ビットを入力して、第1の乗
数を生成するように構成したので、請求項2記載の発明
の効果を容易に実現することができる効果がある。
小数点以下2桁を“0”とするに必要なだけシフトさせ
た該除数とを引き算するように構成したので、第1の中
間除数を容易に得ることができる効果がある。
除数のうちの小数点以下第1位から第3位までの3ビッ
トを入力として、上記除数の各ビットを全てゼロにする
か、1ビット下位桁側へシフトするか、2ビット下位桁
側へシフトするかを制御する信号と、冗長二進表現され
た第1の中間除数の小数点以下第3桁の値を示す信号と
を出力させるように構成したので、実際の乗算を行うこ
となく、中間除数を得ることができる効果がある。
器は、制御信号により除数の各ビットを全てゼロにする
か、1ビット下位桁側ヘシフトするか、2ビット下位桁
側ヘシフトするかを行うシフタ回路の出力と上記除数と
から、上記冗長二進表現された第1の中間除数の小数点
以下第4桁目以下を生成するように構成したので、高速
で小面積の第1の乗算器を得ることができる効果があ
る。
器は、制御信号により被除数の各ビットを全てゼロにす
るか、1ビット下位桁側ヘシフトするか、2ビット下位
桁側ヘシフトするかを行うシフタ回路の出力と上記被除
数とから上記冗長二進表現された第1の中間商を生成す
るように構成したので、高速で小面積の第2の乗算器を
得ることができる効果がある。
は第aの乗算器は、入力される第1の中間除数を符号反
転して二つの冗長二進数を発生させる二つの符号反転器
と、上記二つの冗長二進数を加算して一つの冗長二進数
を出力する二つの冗長二進加算器とを備えるように構成
したので、極めて高速に乗算結果を得ることができる効
果がある。
いは第bの乗算器は、入力された第1の中間商を符号反
転して二つの冗長二進数を発生させる二つの符号反転器
と、上記二つの冗長二進数を加算して一つの冗長二進数
を出力する二つの冗長二進加算器とを備えるように構成
したので、極めて高速に乗算結果を得ることができる効
果がある。
器は、一対の冗長二進数の成分を入力し、冗長二進数の
制御入力によって出力を選択するマルチプレクサ回路を
備えるように構成したので、所望の出力を得ることがで
きる効果がある。
加算器は、二組の冗長二進数を加算して冗長二進数を出
力する各桁毎の加算器を複数備えるように構成したの
で、高速の冗長二進加算器を実現することができる効果
がある。
して定数“1”を用いるように構成したので、除数の逆
数を商として出力することができる効果がある。
間除数に対して上位n桁または第3の中間除数に対して
上位q桁を、(n−m−1)または(q−p−1)が2
のべき乗から1を引いた値となるように設定するように
構成したので、効率よく高速に足し上げを実現すること
ができる効果がある。
と同時に制御信号を選択し、この二つから演算を実行し
た演算器の出力を選択するマルチプレクサと、中間商を
選択し、この中間商を上記制御信号と乗算した演算器の
出力を選択するマルチプレクサとを備えるように構成し
たので、装置全体のハードウエアを大幅に低減すること
ができる効果がある。
信号で制御され、中間除数および中間商を一時蓄え、演
算器に出力するパイプラインレジスタを備えるように構
成したので、パイプラインレジスタによって分けられた
前後の回路を並列に動作させ、高速動作を実現すること
ができる効果がある。
としてROMを用いるように構成したので、請求項2記
載の発明の場合よりも小数点以下に続く“0”の数を増
やすことができ、より高速の除算処理を実現できる効果
がある。
成を示すブロック図である。
明図である。
する機能を表した図である。
成を表した図である。
明図である。
の説明図である。
の説明図である。
ある。
器の説明図である。
器の説明図である。
の構成図である。
加算器の構成図である。
の構成を示すブロック図である。
の構成を示すブロック図である。
の構成を示すブロック図である。
の構成を示すブロック図である。
の構成を示すブロック図である。
ある。
算器、5 第2の乗算器、8 第1の中間除数、10
第2の乗数、11 第3の乗算器、12 第4の乗算
器、13 第2の中間除数、14 第2の中間商、15
第3の乗数、18 第3の中間除数、19 第3の中
間商、20 第4の乗数、30,34 シフタ回路、3
6,38,43,45 符号反転器、40,42,4
7,49 冗長二進加算器、52,53,97,98
マルチプレクサ回路、58〜60 加算器、118,1
19 パイプラインレジスタ。
Claims (17)
- 【請求項1】 被除数および除数を入力し、上記除数に
基づいて生成した第1の乗数を、除数および被除数に乗
じることにより、それぞれ第1の中間除数および第1の
中間商を得る第1の演算手段と、上記第1の中間除数に
基づいて生成した第2の乗数を、上記第1の中間除数お
よび上記第1の中間商に乗ずることにより、それぞれ第
2の中間除数および上記第2の中間商を得る如く前段の
演算結果に基づいて必要回数演算を繰り返すことによっ
て、上記中間除数を所定の値に近づけ、同時に上記中間
商を上記被除数を上記除数で割った商に近づける必要回
数演算手段とを備え、上記第1および第2の乗数のビッ
ト数がそれぞれ上記除数および上記中間除数のビット数
よりも小さいことを特徴とする除算装置。 - 【請求項2】 被除数および1以上2未満の値を持つ除
数を入力とし、被除数を除数で割った商を出力とする除
算装置において、上記除数の上位側の所定桁数ビットあ
るいはそのうちの最上位1ビットを除くビット桁からな
る第1の乗数を入力して制御信号を出力する制御回路
と、上記第1の乗数と上記除数とを乗じることによって
整数部分が“1”で小数点以下第1位から少なくとも2
個のゼロが並ぶ冗長二進表現の第1の中間除数を得る第
1の乗算器と、上記第1の乗数と上記被除数とを乗じる
ことによって冗長二進表現の第1の中間商を得る第2の
乗算器と、上記第1の中間除数の上位複数桁を取り出し
て小数点以下第3位と第4位の冗長二進ビットを正負反
転させることによって第2の乗数を生成し、この第2の
乗数と上記第1の中間除数とを乗じることによって、整
数部分が“1”で小数点以下第1位から少なくとも3個
のゼロが並ぶ冗長二進表現の第2の中間除数を得る第3
の乗算器と、上記第2の乗数と上記第1の中間商とを乗
じることによって冗長二進表現の第2の中間商を得る第
4の乗算器と、整数部分が“1”で小数点以下m個のゼ
ロが続く第2の中間除数に対して上位n桁(m+3≦n
≦2m+1)を取り出して小数点以下第(m+1)位か
ら第(n−1)位までの冗長二進ビットを正負反転させ
ることによって第3の乗数を生成し、この第3の乗数と
上記第2の中間除数とを乗じることによって、整数部分
が“1”で小数点以下第1位から少なくとも(2m−
1)個のゼロが並ぶ冗長二進表現の第3の中間除数を得
る第a(aは5以上の奇数)の乗算器と、上記第3の乗
数と上記第2の中間商とを乗じることにより冗長二進表
現の第3の中間商を得る第b(bは6以上の偶数)の乗
算器と、整数部分が“1”で小数点以下p個のゼロが続
く第3の中間除数に対して上位q桁(p+3≦q≦2p
+1)を取り出して小数点以下第(p+1)位から第
(q−1)位までの冗長二進ビットを正負反転させるこ
とによって第4の乗数を生成し、この第4の乗数と上記
第3の中間商とを乗じることにより冗長二進表現の商を
得る第c(cは6以上の偶数)の乗算器とを備え、上記
第1から第4の乗算器による演算実行後、上記第a(a
は5以上の奇数)の乗算器と第b(bは6以上の偶数)
の乗算器による演算を必要回数繰り返し、最後に上記第
c(cは6以上の偶数)の乗算器による演算を実行する
ことを特徴とする除算装置。 - 【請求項3】 得られた冗長二進表現の商を二進数に変
換して出力する変換器を備えたことを特徴とする請求項
2記載の除算装置。 - 【請求項4】 制御回路は除数(ai )の上位複数桁ビ
ットを入力して、下記演算式を実行して第1の乗数を生
成することを特徴とする請求項2記載の除算装置。 1≦(ai )<5/4のとき :(ci )=(ai ) 5/4≦(ai )<13/8のとき:(ci )=(3/4)×(ai ) 13/8≦(ai )<2のとき :(ci )=(1/2)×(ai ) - 【請求項5】 元の除数と小数点以下2桁を“0”とす
るに必要なだけシフトさせた該除数とを引き算し、第1
の中間除数を得ることを特徴とする請求項2記載の除算
装置。 - 【請求項6】 制御回路は除数のうちの小数点以下第1
位から第3位までの3ビットを入力として、上記除数の
各ビットを全てゼロにするか、1ビット下位桁側へシフ
トするか、2ビット下位桁側へシフトするかを制御する
信号と、冗長二進表現された第1の中間除数の小数点以
下第3桁の値を示す信号とを出力させることを特徴とす
る請求項2記載の除算装置。 - 【請求項7】 第1の乗算器は、制御信号により除数の
各ビットを全てゼロにするか、1ビット下位桁側ヘシフ
トするか、2ビット下位桁側ヘシフトするかを行うシフ
タ回路を備え、このシフタ回路の出力と上記除数とから
上記冗長二進表現された第1の中間除数の小数点以下第
4桁目以下を生成することを特徴とする請求項2記載の
除算装置。 - 【請求項8】 第2の乗算器は、制御信号により被除数
の各ビットを全てゼロにするか、1ビット下位桁側ヘシ
フトするか、2ビット下位桁側ヘシフトするかを行うシ
フタ回路とを備え、このシフタ回路の出力と上記被除数
とから上記冗長二進表現された第1の中間商を生成する
ことを特徴とする請求項2記載の除算装置。 - 【請求項9】 第3あるいは第aの乗算器は、入力され
る第1の中間除数を符号反転して二つの冗長二進数を発
生させる二つの符号反転器と、上記二つの冗長二進数を
加算して一つの冗長二進数を出力する二つの冗長二進加
算器とを備えたことを特徴とする請求項2記載の除算装
置。 - 【請求項10】 第4あるいは第bの乗算器は、入力さ
れた第1の中間商を符号反転して二つの冗長二進数を発
生させる二つの符号反転器と、上記二つの冗長二進数を
加算して一つの冗長二進数を出力する二つの冗長二進加
算器とを備えたことを特徴とする請求項2記載の除算装
置。 - 【請求項11】 符号反転器は、一対の冗長二進数の成
分を入力し、冗長二進数の制御入力によって出力を選択
するマルチプレクサ回路を備えたことを特徴とする請求
項9または請求項10記載の除算装置。 - 【請求項12】 冗長二進加算器は、二組の冗長二進数
を加算して冗長二進数を出力する各桁毎の加算器を複数
備えたことを特徴とする請求項9または請求項10記載
の除算装置。 - 【請求項13】 被除数として定数“1”を用いること
により、除数の逆数を商として出力することを特徴とす
る請求項2記載の除算装置。 - 【請求項14】 第2の中間除数に対して上位n桁また
は第3の中間除数に対して上位q桁を、(n−m−1)
または(q−p−1)が2のべき乗から1を引いた値と
なるように設定することを特徴とする請求項2記載の除
算装置。 - 【請求項15】 中間除数と同時に制御信号を選択し、
この二つから演算を実行した演算器の出力を選択するマ
ルチプレクサ回路と、中間商を選択し、この中間商を上
記制御信号と乗算した演算器の出力を選択するマルチプ
レクサ回路とを備えたことを特徴とする請求項2記載の
除算装置。 - 【請求項16】 クロック信号で制御され、中間除数お
よび中間商を一時蓄え、演算器に出力するパイプライン
レジスタを備えたことを特徴とする請求項2記載の除算
装置。 - 【請求項17】 被除数および1以上2未満の値を持つ
除数を入力とし、被除数を除数で割った商を出力とする
除算装置において、上記除数の上位側の所定桁数ビット
あるいはそのうちの最上位1ビットを除く所定桁数のビ
ットからなるビット列をアドレス入力とし、そこから第
1の乗数を出力する記憶手段と、上記第1の乗数と上記
除数とを乗じることによって整数部分が“1”で小数点
以下第1位から少なくともr個のゼロが並ぶ冗長二進表
現の第1の中間除数を得る第1の乗算器と、上記第1の
乗数と上記被除数とを乗じることによって冗長二進表現
の第1の中間商を得る第2の乗算器と、上記第1の中間
除数に対して上位s桁(r+3≦s≦2r+1)を取り
出して小数点以下第(r+1)位から第(s−1)位ま
での冗長二進ビットを正負反転させることによって第2
の乗数を生成し、この第2の乗数と上記第1の中間除数
とを乗じることによって、整数部分が“1”で小数点以
下第1位から少なくとも(2r−1)個のゼロが並ぶ冗
長二進表現の第2の中間除数を得る第t(tは3以上の
奇数)の乗算器と、上記第2の乗数と上記第1の中間商
とを乗じることによって冗長二進表現の第2の中間商を
得る第u(uは4以上の偶数)の乗算器と、整数部分が
“1”で小数点以下v個のゼロが続く第2の中間除数に
対して上位w桁(v+3≦w≦2v+1)を取り出して
小数点以下第(v+1)位から第(w−1)位までの冗
長二進ビットを正負反転させることによって第3の乗数
を生成し、この第3の乗数と上記第2の中間除数とを乗
じることにより、冗長二進表現の商を得る第y(yは4
以上の偶数)の乗算器とを備え、上記第1および第2の
乗算器による演算実行後、上記第t(tは3以上の奇
数)の乗算器と第u(uは4以上の偶数)の乗算器によ
る演算を必要回数繰り返し、最後に上記第y(yは4以
上の偶数)の乗算器による演算を実行することを特徴と
する除算装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26490296A JP3660075B2 (ja) | 1996-10-04 | 1996-10-04 | 除算装置 |
TW086101357A TW521207B (en) | 1996-10-04 | 1997-02-04 | Division calculator |
US08/801,133 US5999962A (en) | 1996-10-04 | 1997-02-14 | Divider which iteratively multiplies divisor and dividend by multipliers generated from the divisors to compute the intermediate divisors and quotients |
KR1019970009198A KR100329914B1 (ko) | 1996-10-04 | 1997-03-18 | 제산장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26490296A JP3660075B2 (ja) | 1996-10-04 | 1996-10-04 | 除算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10111791A true JPH10111791A (ja) | 1998-04-28 |
JP3660075B2 JP3660075B2 (ja) | 2005-06-15 |
Family
ID=17409810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26490296A Expired - Fee Related JP3660075B2 (ja) | 1996-10-04 | 1996-10-04 | 除算装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5999962A (ja) |
JP (1) | JP3660075B2 (ja) |
KR (1) | KR100329914B1 (ja) |
TW (1) | TW521207B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10205713C1 (de) * | 2002-02-12 | 2003-08-07 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses aus einer 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 |
US20050289208A1 (en) * | 2004-06-23 | 2005-12-29 | Harrison John R | Methods and apparatus for determining quotients |
US20060294177A1 (en) * | 2005-06-27 | 2006-12-28 | Simon Rubanovich | Method, system and apparatus of performing division operations |
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 |
US9377996B2 (en) * | 2012-07-27 | 2016-06-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Parameterized digital divider |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3508038A (en) * | 1966-08-30 | 1970-04-21 | Ibm | Multiplying apparatus for performing division using successive approximate reciprocals of a divisor |
US3828175A (en) * | 1972-10-30 | 1974-08-06 | Amdahl Corp | Method and apparatus for division employing table-lookup and functional iteration |
JPS60142738A (ja) * | 1983-12-30 | 1985-07-27 | Hitachi Ltd | 内挿近似を使用する除算装置 |
JPS6286434A (ja) * | 1985-10-14 | 1987-04-20 | Oki Electric Ind Co Ltd | 除算方式 |
US4866655A (en) * | 1986-07-18 | 1989-09-12 | Matsushita Electric Industrial Co., Ltd. | Arithmetic processor and divider using redundant signed digit |
JP2609630B2 (ja) * | 1987-09-26 | 1997-05-14 | 株式会社東芝 | 除算器及び除算方法 |
JPH0769785B2 (ja) * | 1987-12-17 | 1995-07-31 | 松下電器産業株式会社 | 除算装置 |
JP2737933B2 (ja) * | 1988-06-23 | 1998-04-08 | 日本電気株式会社 | 除算装置 |
US5046038A (en) * | 1989-07-07 | 1991-09-03 | Cyrix Corporation | Method and apparatus for performing division using a rectangular aspect ratio multiplier |
US5307303A (en) * | 1989-07-07 | 1994-04-26 | Cyrix Corporation | Method and apparatus for performing division using a rectangular aspect ratio multiplier |
US5128891A (en) * | 1990-04-02 | 1992-07-07 | Advanced Micro Devices, Inc. | High speed divider with square root capability |
JPH0731592B2 (ja) * | 1990-11-29 | 1995-04-10 | 株式会社東芝 | 除算回路 |
JPH0535773A (ja) * | 1991-07-30 | 1993-02-12 | Nec Corp | ベクトル除算方式とその装置 |
US5784307A (en) * | 1996-05-31 | 1998-07-21 | Intel Corporation | Division algorithm for floating point or integer numbers |
-
1996
- 1996-10-04 JP JP26490296A patent/JP3660075B2/ja not_active Expired - Fee Related
-
1997
- 1997-02-04 TW TW086101357A patent/TW521207B/zh not_active IP Right Cessation
- 1997-02-14 US US08/801,133 patent/US5999962A/en not_active Expired - Lifetime
- 1997-03-18 KR KR1019970009198A patent/KR100329914B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980032055A (ko) | 1998-07-25 |
US5999962A (en) | 1999-12-07 |
TW521207B (en) | 2003-02-21 |
JP3660075B2 (ja) | 2005-06-15 |
KR100329914B1 (ko) | 2002-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5245564A (en) | Apparatus for multiplying operands | |
JPS6347874A (ja) | 算術演算装置 | |
JPH0612229A (ja) | 乗累算回路 | |
JPH0831025B2 (ja) | 乗算回路 | |
US3878985A (en) | Serial-parallel multiplier using booth{3 s algorithm with combined carry-borrow feature | |
JP4273071B2 (ja) | 除算・開平演算器 | |
JP3660075B2 (ja) | 除算装置 | |
JPH1195982A (ja) | 演算処理回路及び演算処理方法並びに演算処理システム | |
JPH08221256A (ja) | 乗算器及び積和演算装置 | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
JPS58129653A (ja) | 乗算方式 | |
JP2765516B2 (ja) | 積和演算器 | |
LaMeres | Arithmetic Circuits | |
Deepa et al. | Performance Analysis of FPGA Implementation of 4 x 4 Vedic Multiplier using different adder architectures | |
JP3563043B2 (ja) | 平方根の逆数計算方法、計算回路、及びプログラム | |
RU2797164C1 (ru) | Конвейерный умножитель по модулю | |
Teja et al. | Implementation of vedic multiplier using modified architecture by routing rearrangement for high-optimization | |
JPS6259828B2 (ja) | ||
JP2734438B2 (ja) | 乗算装置 | |
JPH0368415B2 (ja) | ||
KR100386979B1 (ko) | 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기 | |
JPH1049347A (ja) | 乗算器 | |
JPS63254525A (ja) | 除算装置 | |
JP2580413B2 (ja) | 乗算処理装置 | |
JPH0784762A (ja) | 乗算回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041018 |
|
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: 20050215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050316 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080325 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090325 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |