JPS61166628A - 除算装置 - Google Patents
除算装置Info
- Publication number
- JPS61166628A JPS61166628A JP60005669A JP566985A JPS61166628A JP S61166628 A JPS61166628 A JP S61166628A JP 60005669 A JP60005669 A JP 60005669A JP 566985 A JP566985 A JP 566985A JP S61166628 A JPS61166628 A JP S61166628A
- Authority
- JP
- Japan
- Prior art keywords
- carry
- adder
- value
- branch
- digit
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5352—Non-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)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、除算装置に関し、特に2進数の高速除算に適
した除算装置に関するっ 〔発明の背景〕 2進除算装置におする演算は、通常、被除数から除数を
引き放しく non−restoring)アルゴリズ
ムに従って繰返し減することにより行われる。従来、1
サイクル時間内に複数ビットの商を算出する除算装置に
おいては、部分剰余をシフトし、適当な除数の倍数との
加減算を行ない、得られた部分剰余の値から、複数ビッ
トの商の予測と次の演算のための部分剰余のシフト量決
定を行なっている。しかし、この方法には、シフト量が
加減算の結果によって定まるために、サイクル時間を短
くできないという欠点があった。この点を改善した反復
除算装置(特公昭44−17188号)では、部分剰余
と除数の上位3ビツトの値により2ビツトの商の算出を
行ない、シフト量が一定になるように考慮されている。
した除算装置に関するっ 〔発明の背景〕 2進除算装置におする演算は、通常、被除数から除数を
引き放しく non−restoring)アルゴリズ
ムに従って繰返し減することにより行われる。従来、1
サイクル時間内に複数ビットの商を算出する除算装置に
おいては、部分剰余をシフトし、適当な除数の倍数との
加減算を行ない、得られた部分剰余の値から、複数ビッ
トの商の予測と次の演算のための部分剰余のシフト量決
定を行なっている。しかし、この方法には、シフト量が
加減算の結果によって定まるために、サイクル時間を短
くできないという欠点があった。この点を改善した反復
除算装置(特公昭44−17188号)では、部分剰余
と除数の上位3ビツトの値により2ビツトの商の算出を
行ない、シフト量が一定になるように考慮されている。
しかし、この反復除算装置では、除数の0 、1/2
、3/4 、1 、3/2倍の各倍数値が必要であり、
特に3/2倍数値は、除算に先立って準備してぢかなけ
ればならない。更に、除算を開始する前に除数のMSB
(最上位ビット)が1となるように除数をシフトし、被
除数も同じ量だサシフトして正規化を行なわなければな
らない。このように除算に先立って種々の準備が必要で
あるために、除算そのものの演算よりも、それに先立つ
種々の前処理に時間が費やされるという欠点があった。
、3/4 、1 、3/2倍の各倍数値が必要であり、
特に3/2倍数値は、除算に先立って準備してぢかなけ
ればならない。更に、除算を開始する前に除数のMSB
(最上位ビット)が1となるように除数をシフトし、被
除数も同じ量だサシフトして正規化を行なわなければな
らない。このように除算に先立って種々の準備が必要で
あるために、除算そのものの演算よりも、それに先立つ
種々の前処理に時間が費やされるという欠点があった。
また、部分剰余と除数に応じて、倍数選択を行なう選択
回路が必要であり、このためハードウェア量が増加する
という欠点もあった。
回路が必要であり、このためハードウェア量が増加する
という欠点もあった。
更に、これら従来の除算装置においては、加減算のため
に除算以外の演算にも利用される全加算器が使われてい
るため、複数の選択器や種々の作業用レジスタが介在す
ることになり、1回の除算に要する時間が理論どおりに
短縮されない。
に除算以外の演算にも利用される全加算器が使われてい
るため、複数の選択器や種々の作業用レジスタが介在す
ることになり、1回の除算に要する時間が理論どおりに
短縮されない。
本発明の目的は、前記のような欠点のない高速の除算装
置を提供することにあるっ 〔発明の概要〕 本発明の除算装置の特徴は、複数の桁上保存加算器と半
桁上加算器と桁上先見回路とを2分岐トリー状に配置す
る。桁上先見回路は、桁上保存加算器の2組の出力の加
算の際に生ずべき全桁上値と、半桁上加算器出力値とこ
の半桁上加算器の分枝と対をなす分枝にある桁上保存加
算器の半加算値出力の1の補数値との加算の際に生ずべ
き全桁上値とを算出するようになっている。前記2分岐
トリーの各分岐の一方の分枝では除数加算を、他 、
:;■ 方の分枝では除数減算を並行して行なわせ、各段にどけ
る商の値くよって次の分枝の一方又は他方を選択すると
ともに、このようにして選択された分枝の桁上保存加算
器並びに半桁上加算器と、桁上先見回路の出力及び前段
の桁上先見回路の出力からその段の商出力を決定し、そ
して、最終段の出力を、各段の商出力の値に応じて選択
して、2分岐トリーの須点に位置する桁上保存加算器の
入力に接続することにより、1サイクルの動作で複数桁
の商を算出するところにある。
置を提供することにあるっ 〔発明の概要〕 本発明の除算装置の特徴は、複数の桁上保存加算器と半
桁上加算器と桁上先見回路とを2分岐トリー状に配置す
る。桁上先見回路は、桁上保存加算器の2組の出力の加
算の際に生ずべき全桁上値と、半桁上加算器出力値とこ
の半桁上加算器の分枝と対をなす分枝にある桁上保存加
算器の半加算値出力の1の補数値との加算の際に生ずべ
き全桁上値とを算出するようになっている。前記2分岐
トリーの各分岐の一方の分枝では除数加算を、他 、
:;■ 方の分枝では除数減算を並行して行なわせ、各段にどけ
る商の値くよって次の分枝の一方又は他方を選択すると
ともに、このようにして選択された分枝の桁上保存加算
器並びに半桁上加算器と、桁上先見回路の出力及び前段
の桁上先見回路の出力からその段の商出力を決定し、そ
して、最終段の出力を、各段の商出力の値に応じて選択
して、2分岐トリーの須点に位置する桁上保存加算器の
入力に接続することにより、1サイクルの動作で複数桁
の商を算出するところにある。
第1図は、本発明の一実施例として、2個の桁上保存加
算器並ひに1個の半桁上加算器をトリー状に2段接続し
た2進除算装置を、その構成の主要部について示したも
のである。ここでいう半桁上加算器とは、通常の桁上保
存加算器の半加算値、半桁上値の2組の出力のうち、半
桁上値だけを出力するように桁上保存加算器の回路を縮
少化したものである。
算器並ひに1個の半桁上加算器をトリー状に2段接続し
た2進除算装置を、その構成の主要部について示したも
のである。ここでいう半桁上加算器とは、通常の桁上保
存加算器の半加算値、半桁上値の2組の出力のうち、半
桁上値だけを出力するように桁上保存加算器の回路を縮
少化したものである。
この装置は、1動作サイクルで2ビツトの商を算出し、
演算速度としては、通常の全加算器を用いた除算装置の
1サイクル相当時間内で4ビツトの商を算出することが
できる。
演算速度としては、通常の全加算器を用いた除算装置の
1サイクル相当時間内で4ビツトの商を算出することが
できる。
1.3は、所要ビット(例えば64ビツト)幅の桁上保
存加算器(以後C8Aと略記)、5は、所要ビット幅の
半桁上加算器(以後HC8Aと略記)である。C8A3
はトリーの一方の分枝に相当して除数減算を担当し、H
C8A5は他方の分枝に相当して除数加算を担当する。
存加算器(以後C8Aと略記)、5は、所要ビット幅の
半桁上加算器(以後HC8Aと略記)である。C8A3
はトリーの一方の分枝に相当して除数減算を担当し、H
C8A5は他方の分枝に相当して除数加算を担当する。
C8Alはトリーの頂上に相当する。C8Alの出力で
ある半加算値(以後H8Mと略記)と中桁上1’ti
(以後HCMと略記)は、左に1ビツトシフトされて、
C8A3、HC8A5双方の2つの入力に加えられるっ
HC8A5の残り1人力には除数(以後DRと略記)が
投入され、C8A3の残り1人力にはDRの1の補数値
が投入されるっまた、C3A3の入力のうち、HCMが
投入される入力のL8B(最下位ビット)には′1“が
設定される。これは、除数減算を行なうためにDRの2
の補数を生成することを目的としている。
ある半加算値(以後H8Mと略記)と中桁上1’ti
(以後HCMと略記)は、左に1ビツトシフトされて、
C8A3、HC8A5双方の2つの入力に加えられるっ
HC8A5の残り1人力には除数(以後DRと略記)が
投入され、C8A3の残り1人力にはDRの1の補数値
が投入されるっまた、C3A3の入力のうち、HCMが
投入される入力のL8B(最下位ビット)には′1“が
設定される。これは、除数減算を行なうためにDRの2
の補数を生成することを目的としている。
C8A3の半加算値(以後H8Sと略記)及び半桁上値
(以後HC8と略記)、並びにHC8A5の出力(以後
1(CAと略記)も同様に左に1ビツトシフトされ、C
8Alの入力に配置されている選択器8.9に送られる
。C8Alの入力にはレジスタX、Y、Zが設けられて
おり、1回ループをまわるごとにそこにデータの設定が
行なわれる。
(以後HC8と略記)、並びにHC8A5の出力(以後
1(CAと略記)も同様に左に1ビツトシフトされ、C
8Alの入力に配置されている選択器8.9に送られる
。C8Alの入力にはレジスタX、Y、Zが設けられて
おり、1回ループをまわるごとにそこにデータの設定が
行なわれる。
ここで第2段目に2個のC8Aを配置せず、一方をC8
A、他方をHC8Aとしたのはゲート数量の減少のため
である。仮に、第2段目に2個のC、S Aを配置した
とすると、それぞれ3組の入力のうち、2組には同じデ
ータが与えられ、残り1組には1の補数の関係をもつデ
ータが与えられる。
A、他方をHC8Aとしたのはゲート数量の減少のため
である。仮に、第2段目に2個のC、S Aを配置した
とすると、それぞれ3組の入力のうち、2組には同じデ
ータが与えられ、残り1組には1の補数の関係をもつデ
ータが与えられる。
C8Aの半加算値出力の第りヒツ1−H3Lは3組の入
力を Aふ、 BQ 、 (:=としてHSL= AL
eB=■CL((il)G!排他的論理H’)で与えら
れ、 A=■ BLe ら=w部 (己、酉はそれぞれC,、、H8Lの1の補数値)なる
関係が成立する。つまり、反転、非反転出力両方の得ら
れる相補型論理素子、たとえばECL(エミッタ結合型
論理)素子を用いて回路を構成する場合には、半加算値
出力はどちらか一方の分枝のC8Aで作成すればよく、
この半加、算値の反転出力を他方の分枝の半加算値出力
として使用できること゛になる。
力を Aふ、 BQ 、 (:=としてHSL= AL
eB=■CL((il)G!排他的論理H’)で与えら
れ、 A=■ BLe ら=w部 (己、酉はそれぞれC,、、H8Lの1の補数値)なる
関係が成立する。つまり、反転、非反転出力両方の得ら
れる相補型論理素子、たとえばECL(エミッタ結合型
論理)素子を用いて回路を構成する場合には、半加算値
出力はどちらか一方の分枝のC8Aで作成すればよく、
この半加、算値の反転出力を他方の分枝の半加算値出力
として使用できること゛になる。
但し、LSBのみはDH,の2の補数生成のために一方
の分枝のC8A入力に11“が設定されるので両校の半
加算値出力は同値となる。
の分枝のC8A入力に11“が設定されるので両校の半
加算値出力は同値となる。
2.4は、各C8Aの2つの出力、すなわち半加算値と
半桁上値の全加算を、6はHC8A5の出力HC人とC
8A3の半加算値出力反転値との全加算をそれぞれ行な
った場合に生じるべきMSBへの桁上げCMo、C8o
、CAoと、同じ(MSBの1ビツト下の桁(以後NS
Bと略記)への桁上げCMl、C3t、CAtを出力す
る桁上先見回路(以後LACと略記)である。
半桁上値の全加算を、6はHC8A5の出力HC人とC
8A3の半加算値出力反転値との全加算をそれぞれ行な
った場合に生じるべきMSBへの桁上げCMo、C8o
、CAoと、同じ(MSBの1ビツト下の桁(以後NS
Bと略記)への桁上げCMl、C3t、CAtを出力す
る桁上先見回路(以後LACと略記)である。
7は演算の最後に剰余の算出、及び商のLSBの値に応
じた剰余補正を行なうための全加算器で 1・[あり
、通常の除算では偶数ビットの商を算出するので、剰余
のとり出しはC8Alの出力から行なうことになる。
じた剰余補正を行なうための全加算器で 1・[あり
、通常の除算では偶数ビットの商を算出するので、剰余
のとり出しはC8Alの出力から行なうことになる。
選択器8,9.10.11はC8Alへの入力データを
決定するための回路である。選択器8はC8A3の出力
H8S、H8Sの1の補数値、被除数(以後DDと略記
)のうちいずれかの選択を行ない、選択器9はC8A3
の出力HC8、HC8A5の出力HCA、固定値Oのう
ちいずれかの選択を行なう。選択器10はDR,DRの
1の補数値のうちいずれかの選択を行なう。選択器11
は、Y入力のLSBのみのデータの設定を行ない、選択
器10でD)!、、DRの1の補数値のどちらが選択さ
れるかによって、′0“、′1“のいずれかが選択され
る。この選択は、DRの加算を行なうか減算(2の補数
の加算)を拘なうかを意味する。選択器8゜9は、前回
処理のC8A1の段の商により、また選択器10 、1
1は前回処理のC8A3、HC8A5の段の商により、
それぞれ制御が行なわれる。除算開始時には、選択器8
,9,10.11において、それぞれDD、固定値0.
DRIの補数値、ビット′1“が選択される。
決定するための回路である。選択器8はC8A3の出力
H8S、H8Sの1の補数値、被除数(以後DDと略記
)のうちいずれかの選択を行ない、選択器9はC8A3
の出力HC8、HC8A5の出力HCA、固定値Oのう
ちいずれかの選択を行なう。選択器10はDR,DRの
1の補数値のうちいずれかの選択を行なう。選択器11
は、Y入力のLSBのみのデータの設定を行ない、選択
器10でD)!、、DRの1の補数値のどちらが選択さ
れるかによって、′0“、′1“のいずれかが選択され
る。この選択は、DRの加算を行なうか減算(2の補数
の加算)を拘なうかを意味する。選択器8゜9は、前回
処理のC8A1の段の商により、また選択器10 、1
1は前回処理のC8A3、HC8A5の段の商により、
それぞれ制御が行なわれる。除算開始時には、選択器8
,9,10.11において、それぞれDD、固定値0.
DRIの補数値、ビット′1“が選択される。
一般に、C8Aの3つの入力A、B、C1半加算値H8
、半桁上値HC,LACにおけるMSBへの桁上Co%
NSBへの桁上C1の関係は、以下に示すようになる。
、半桁上値HC,LACにおけるMSBへの桁上Co%
NSBへの桁上C1の関係は、以下に示すようになる。
AOAl ・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・A63BOBl ・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・B63H8o H8t ・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・H862H863OC1 ここで H8A、、、A↓■ ふ■ (j H(j == (A、、 @BA )+(BL・C↓)
+(C,l、@AQ)但し、 ■は排他的論理和 ・は論理積 +は論理和 Q=0 、1 、2・・・63 FSはH8,HCの全加算値 C+= H81・HC2 + (H81+HC2)・H82・HC3+ (H81
+HC2)・(H82+HC3)・H83・HC4+
・・・・・・・・・・・・ + (H81+HC2)・(H82+HC3)・・・・
・・・・・・・・・・・・ ・(H861
+HC62) 拳H862拳HCs3CO=H8OII
HC1 + (H8o+HC1)・C1 なお、HCは各ビット位置からの桁上げでありH8に対
しては倍の重みを持っているため、左に1ヒツトソフト
されてH8との全加算が行なわれている。
・・・・・・・・・・・・・・・・・・・・・・・・・
・A63BOBl ・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・B63H8o H8t ・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・H862H863OC1 ここで H8A、、、A↓■ ふ■ (j H(j == (A、、 @BA )+(BL・C↓)
+(C,l、@AQ)但し、 ■は排他的論理和 ・は論理積 +は論理和 Q=0 、1 、2・・・63 FSはH8,HCの全加算値 C+= H81・HC2 + (H81+HC2)・H82・HC3+ (H81
+HC2)・(H82+HC3)・H83・HC4+
・・・・・・・・・・・・ + (H81+HC2)・(H82+HC3)・・・・
・・・・・・・・・・・・ ・(H861
+HC62) 拳H862拳HCs3CO=H8OII
HC1 + (H8o+HC1)・C1 なお、HCは各ビット位置からの桁上げでありH8に対
しては倍の重みを持っているため、左に1ヒツトソフト
されてH8との全加算が行なわれている。
次に、(00001111)÷(0110)なる固定小
数点除算の例を第2図に示し、8ビツト幅のC8Aで構
成された本除算装置の動作説明を行なう。
数点除算の例を第2図に示し、8ビツト幅のC8Aで構
成された本除算装置の動作説明を行なう。
演算開始時には、C8A1の3つの入力に、第2図13
、14 、15で示されるように、DD、固定値1、
(選択器9からの固定値0と選択器11からのビット′
1″)、及びDB、のビット反転値が投入されて除数減
算が行なわれる。なお、DRは12で示されるように、
DDの上位桁部分に桁合わせされている。この結果、
16.17のように出力HS M。
、14 、15で示されるように、DD、固定値1、
(選択器9からの固定値0と選択器11からのビット′
1″)、及びDB、のビット反転値が投入されて除数減
算が行なわれる。なお、DRは12で示されるように、
DDの上位桁部分に桁合わせされている。この結果、
16.17のように出力HS M。
HCMが得られ、LAC2により、18.19のように
、桁上CMo、CMlが算出される。CMO,CMIの
算出に並行してH8M、HCM出力が1ビツト左にシフ
トされ、20.21に示すように、C8A3、HC8A
5に送られる。HC8A5では、22゜23.24のよ
うに、H8MとHCMの1ビツト左ソフト埴及びD)L
が投入されて除数加算が行なわれ、C8A3では25,
26.27のように、H8Mの1ビツト左シフト[、H
CMを1ビツト左シフトしてLSBK’l“を設定した
値、DBのビット反転値が投入されて、除数減算が行な
われる。
、桁上CMo、CMlが算出される。CMO,CMIの
算出に並行してH8M、HCM出力が1ビツト左にシフ
トされ、20.21に示すように、C8A3、HC8A
5に送られる。HC8A5では、22゜23.24のよ
うに、H8MとHCMの1ビツト左ソフト埴及びD)L
が投入されて除数加算が行なわれ、C8A3では25,
26.27のように、H8Mの1ビツト左シフト[、H
CMを1ビツト左シフトしてLSBK’l“を設定した
値、DBのビット反転値が投入されて、除数減算が行な
われる。
LAC2〜6の出力が確定した時点で第1回目の処理が
終了し、前段C8Aの商28が′0“であることから、
後段の商として、引き放しアルゴリズムに従って加算分
枝であるHC8A段から得られた商29の10“が選択
され、2ビツトの曲が算出される。なお、商の決定論理
は後述する。
終了し、前段C8Aの商28が′0“であることから、
後段の商として、引き放しアルゴリズムに従って加算分
枝であるHC8A段から得られた商29の10“が選択
され、2ビツトの曲が算出される。なお、商の決定論理
は後述する。
第2回目の処理においては、第1回目で得られた商の値
により、選択器8.9.10.11が制御される。第3
図は商の値に対応してC8Alに投入されるデータを示
す。
により、選択器8.9.10.11が制御される。第3
図は商の値に対応してC8Alに投入されるデータを示
す。
C8A、1のX、Y入力については、前回処理の前段の
開力;%0//ならば、C8A3の)188出力反転値
の左1ビツトノフト値()(88’)、HC8A5のH
CA出力の左1ビツトンフトイ直(HCA)が投入され
、同所が′1“であればC8A3のH8S出力、HC8
出力の左1ビツトシフト値(H8S’ 、 HCS’
)が投入される。2人力については前回処理の後段の商
が′O“ならば除数加算のためにDRが投入され、′1
“ならば除数減算のだぬにDRのビット反転値とY入力
のLSBを′1″とした直、つまり、DBの2の補数が
投入される。
開力;%0//ならば、C8A3の)188出力反転値
の左1ビツトノフト値()(88’)、HC8A5のH
CA出力の左1ビツトンフトイ直(HCA)が投入され
、同所が′1“であればC8A3のH8S出力、HC8
出力の左1ビツトシフト値(H8S’ 、 HCS’
)が投入される。2人力については前回処理の後段の商
が′O“ならば除数加算のためにDRが投入され、′1
“ならば除数減算のだぬにDRのビット反転値とY入力
のLSBを′1″とした直、つまり、DBの2の補数が
投入される。
第2図の例では第1回目処理の商がOOであるので、3
0,31.32に示すように、H8S’ 、 HCA’
。
0,31.32に示すように、H8S’ 、 HCA’
。
DIもが選択されることになる。
第2回目後段に2σる処理は、第1回目後段と同様であ
り、以後、第2回目と同様の処理を繰り返し、前もって
規定された回数のループをまわつた後、最後に、C5A
lから得られるH8M 、 HCM出力の全加算を行な
って、剰余を算出する。
り、以後、第2回目と同様の処理を繰り返し、前もって
規定された回数のループをまわつた後、最後に、C5A
lから得られるH8M 、 HCM出力の全加算を行な
って、剰余を算出する。
その際、本除算装置では引き放しアルゴリズムに従って
除算を行なうため、得られた商のLSBが′0“の場合
に剰余補正が必要であり、H8M。
除算を行なうため、得られた商のLSBが′0“の場合
に剰余補正が必要であり、H8M。
HCMの全加算値にDI(、を加えなければならない。
第2図の例では、ループを2回菫わり、3回目の08A
lの出力で、33に示すように剰余算出を行ない、商の
LSBが′0“であるため、34のように剰余補正を行
なっている。
lの出力で、33に示すように剰余算出を行ない、商の
LSBが′0“であるため、34のように剰余補正を行
なっている。
本除算装置は基本的に引き放しアルゴリズムに従って処
理を行なっており、商の決定は、減算あるいは加算を行
なった場合に結果が正になるか負になるか、いいかえれ
ば演算の結果桁上が発生するかどうかによって行なわれ
る。しかし、本除算装置では、演算を行なった段の通常
の桁上以外にHCのM8B及び前段における全加算時の
NSBへの桁上を考慮しなければならないっ それはC8AのH8,HC出力を左シフトして次段に送
る場合に、全加算をとれば伝播して/)トにより既に捨
てられているべき桁上が、H8゜HC中に内在している
ためである。この内在している桁上が次段に伝えられる
ため、次段で現われる桁上が実際に商を反映するもので
あるのか、あるいは前段から内在しているものであるの
かの判定を行なわなければならないわけである。
理を行なっており、商の決定は、減算あるいは加算を行
なった場合に結果が正になるか負になるか、いいかえれ
ば演算の結果桁上が発生するかどうかによって行なわれ
る。しかし、本除算装置では、演算を行なった段の通常
の桁上以外にHCのM8B及び前段における全加算時の
NSBへの桁上を考慮しなければならないっ それはC8AのH8,HC出力を左シフトして次段に送
る場合に、全加算をとれば伝播して/)トにより既に捨
てられているべき桁上が、H8゜HC中に内在している
ためである。この内在している桁上が次段に伝えられる
ため、次段で現われる桁上が実際に商を反映するもので
あるのか、あるいは前段から内在しているものであるの
かの判定を行なわなければならないわけである。
第4図は商の決定方法を示したものである。桁上が内在
していることは、前段に3けるH8とHCの全加算時N
SBへの桁上が11“であることにより示される。演算
を行なった段を対象段としその段の全加算時MSBへの
桁上をCoJHCのMSBをHCo来、前段の全2JO
算時NIBへの桁上を01とすると、C1=0ならば、
Co来、HCo来は商を反映1−る桁上である。但し、
C1=0にもかかわらず対象段において2つの桁上CO
来、HCo来が現われることはないから、〔CO朱=1
かつHCo米=1〕となることはない。他方、C1=1
でありながら対象段でその内在している桁上のみが現わ
れる場合、それは(Co半=1 かつ HCo来=0)
、(Co 米= Oカッf(Co * = 1 ) ノ
イずn カッ形をとる。前者は依然として桁上が内在し
て対象段の次段へと伝えられることを、後者は対象段に
おいて、内在していた桁上が顕在して捨てられることを
示す。また、C1=1であり、〔CO米=1 かつ H
Co来=1〕となる場合には、前段からの内在桁上と商
を反映する桁上の両方が現われていることを示す。但し
、C1=1であるにもかかわらず対象段で桁上が全く現
われないことはないから、(Co米=0 かつ HCo
米=0)となることはない。以上をまとめると、対象段
Kj6ける商ビットDは、 D=蔚・(Co米+HCo*) −4−CtやCo米eHCo来 で与えられることになる。
していることは、前段に3けるH8とHCの全加算時N
SBへの桁上が11“であることにより示される。演算
を行なった段を対象段としその段の全加算時MSBへの
桁上をCoJHCのMSBをHCo来、前段の全2JO
算時NIBへの桁上を01とすると、C1=0ならば、
Co来、HCo来は商を反映1−る桁上である。但し、
C1=0にもかかわらず対象段において2つの桁上CO
来、HCo来が現われることはないから、〔CO朱=1
かつHCo米=1〕となることはない。他方、C1=1
でありながら対象段でその内在している桁上のみが現わ
れる場合、それは(Co半=1 かつ HCo来=0)
、(Co 米= Oカッf(Co * = 1 ) ノ
イずn カッ形をとる。前者は依然として桁上が内在し
て対象段の次段へと伝えられることを、後者は対象段に
おいて、内在していた桁上が顕在して捨てられることを
示す。また、C1=1であり、〔CO米=1 かつ H
Co来=1〕となる場合には、前段からの内在桁上と商
を反映する桁上の両方が現われていることを示す。但し
、C1=1であるにもかかわらず対象段で桁上が全く現
われないことはないから、(Co米=0 かつ HCo
米=0)となることはない。以上をまとめると、対象段
Kj6ける商ビットDは、 D=蔚・(Co米+HCo*) −4−CtやCo米eHCo来 で与えられることになる。
第1図にはこのようにして商を決定する手段を図示して
いないが、実際にはそのような商決定手段7′・各段0
商0値′よ°1次段がどちら0分枝 1・□となるか
を決定する手段とともに、設けられるものであることは
いうまでもない。
いないが、実際にはそのような商決定手段7′・各段0
商0値′よ°1次段がどちら0分枝 1・□となるか
を決定する手段とともに、設けられるものであることは
いうまでもない。
以上のように、本発明では、商の算出のために全加算を
実際に行なう必要がなく、全加算ゼ行なう場合の桁上の
みを求めればよい。C8Aは論理1段にて構成可能であ
り、処理時間の多くは、LAC論理における桁上算出に
費される。通常の全加算に要する時間を1サイクル時間
とすれば、桁上のみの算出は半サイクル時間内に行なう
ことができる。本発明のように2分岐トリー構成をとれ
ば、後段のLAC6,4は前段のLAC2の動作開始よ
りもC8Alの演算時間だけ遅れて動作することになる
から、はぼLAC−回の処理時間でLAC6、LAC4
の出力を得ることができる。
実際に行なう必要がなく、全加算ゼ行なう場合の桁上の
みを求めればよい。C8Aは論理1段にて構成可能であ
り、処理時間の多くは、LAC論理における桁上算出に
費される。通常の全加算に要する時間を1サイクル時間
とすれば、桁上のみの算出は半サイクル時間内に行なう
ことができる。本発明のように2分岐トリー構成をとれ
ば、後段のLAC6,4は前段のLAC2の動作開始よ
りもC8Alの演算時間だけ遅れて動作することになる
から、はぼLAC−回の処理時間でLAC6、LAC4
の出力を得ることができる。
つまり、半サイクル時間以内に2ビツトの商を算出する
ことが可能である。この結果、1サイクル時間内に4ビ
ツトの商を算出する除算装置を構成することができ、除
算処理を従来例の半分のサイクル時間で行なうことが可
能となる。
ことが可能である。この結果、1サイクル時間内に4ビ
ツトの商を算出する除算装置を構成することができ、除
算処理を従来例の半分のサイクル時間で行なうことが可
能となる。
以上説明した実施例は、最も単純な2段構成のものであ
って、そのC8A3及びHC8A5の出力をさらにC8
A、HC8Aに接続して3段構成とすれば装置の1サイ
クルで3ビツト、全加算器利用の除算装置の1サイクル
時間で6ビツトの商が求まる装置となり、更に、以下同
様にして次々と2分岐トリー構成を拡張することができ
る。
って、そのC8A3及びHC8A5の出力をさらにC8
A、HC8Aに接続して3段構成とすれば装置の1サイ
クルで3ビツト、全加算器利用の除算装置の1サイクル
時間で6ビツトの商が求まる装置となり、更に、以下同
様にして次々と2分岐トリー構成を拡張することができ
る。
以上のように、本発明によれば、全加算を行なうことな
く、全加算を行なう場合の桁上のみを算出すれば足り、
しかも、除数の倍数の発生や正規化などの前処理も不要
であるから、制御方法の複雑化や、ハードウェア量の格
別の増大の負担を招くことなしに、高速な除算装置を実
現することができる。
く、全加算を行なう場合の桁上のみを算出すれば足り、
しかも、除数の倍数の発生や正規化などの前処理も不要
であるから、制御方法の複雑化や、ハードウェア量の格
別の増大の負担を招くことなしに、高速な除算装置を実
現することができる。
第1図は本発明の一実施例の要部のブロックダイヤグラ
ム、第2図は第1図の装置の動作の説明図、第3図は商
の値と初段桁上保存加算器入力との対応関係図、第4図
は諸桁上値と商の対応関係図である。 1.3・・・桁上保存加算器 5・・・半桁上加算器 2.4.6・・・桁上先児回路 8〜11・・・選択器
ム、第2図は第1図の装置の動作の説明図、第3図は商
の値と初段桁上保存加算器入力との対応関係図、第4図
は諸桁上値と商の対応関係図である。 1.3・・・桁上保存加算器 5・・・半桁上加算器 2.4.6・・・桁上先児回路 8〜11・・・選択器
Claims (1)
- 桁上保存加算器を頂点とし全体として2分岐トリー系を
形成するとともに各分枝の一方の分枝にあるものは除数
加算を行ない他方の分枝にあるものは除数減算を行をよ
うように複数段接続された桁上保存加算器と、桁上保存
加算器の2組の出力のうち半桁上値のみが得られるよう
に構成された半桁上加算器と、前記桁上保存加算器及び
前記半桁上加算器にそれぞれ接続されて当該桁上保存加
算器の2組の出力の加算の際に生ずべき全桁上値と、前
記半桁上加算器の出力値と当該半桁上加算器の接続され
ている分枝と対をなす分枝に接続されている前記桁上保
存加算器の半加算値出力の1の補数との加算の際に生ず
べき全桁上値とを算出する桁上先見回路と前段における
商の値によって特定される分枝の前記桁上保存加算器、
前記半桁上加算器及び桁上先見回路の出力と、前段にお
ける前記桁上先見回路の出力とから各段における商を決
定する手段と、各段において決定された商の値に応じて
最終段の桁上保存加算器及び半桁上加算器群の出力を選
択して2分岐トリー系の頂点に位置する桁上保存加算器
の入力に戻す選択接続手段とを備えることを特徴とする
除算装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60005669A JPS61166628A (ja) | 1985-01-18 | 1985-01-18 | 除算装置 |
US06/818,687 US4761757A (en) | 1985-01-18 | 1986-01-14 | Carry-save-adder three binary dividing apparatus |
KR1019860000261A KR930006518B1 (ko) | 1985-01-18 | 1986-01-17 | 제산기(際算器) |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60005669A JPS61166628A (ja) | 1985-01-18 | 1985-01-18 | 除算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61166628A true JPS61166628A (ja) | 1986-07-28 |
JPH0374419B2 JPH0374419B2 (ja) | 1991-11-26 |
Family
ID=11617507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60005669A Granted JPS61166628A (ja) | 1985-01-18 | 1985-01-18 | 除算装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US4761757A (ja) |
JP (1) | JPS61166628A (ja) |
KR (1) | KR930006518B1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5097436A (en) * | 1990-01-09 | 1992-03-17 | Digital Equipment Corporation | High performance adder using carry predictions |
JP2835153B2 (ja) * | 1990-06-25 | 1998-12-14 | 株式会社東芝 | 高基数除算器 |
JP4042364B2 (ja) * | 2001-07-27 | 2008-02-06 | 日本電気株式会社 | アドレス生成回路、選択判断回路 |
US7539720B2 (en) * | 2004-12-15 | 2009-05-26 | Sun Microsystems, Inc. | Low latency integer divider and integration with floating point divider and method |
JP4388543B2 (ja) * | 2006-12-14 | 2009-12-24 | 株式会社日立製作所 | 3項入力の浮動小数点加減算器 |
US8452831B2 (en) * | 2009-03-31 | 2013-05-28 | Oracle America, Inc. | Apparatus and method for implementing hardware support for denormalized operands for floating-point divide operations |
US9086890B2 (en) | 2012-01-06 | 2015-07-21 | Oracle International Corporation | Division unit with normalization circuit and plural divide engines for receiving instructions when divide engine availability is indicated |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4084254A (en) * | 1977-04-28 | 1978-04-11 | International Business Machines Corporation | Divider using carry save adder with nonperforming lookahead |
JPS60201435A (ja) * | 1984-03-26 | 1985-10-11 | Fujitsu Ltd | 高基数非回復型除算装置 |
-
1985
- 1985-01-18 JP JP60005669A patent/JPS61166628A/ja active Granted
-
1986
- 1986-01-14 US US06/818,687 patent/US4761757A/en not_active Expired - Lifetime
- 1986-01-17 KR KR1019860000261A patent/KR930006518B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US4761757A (en) | 1988-08-02 |
KR930006518B1 (ko) | 1993-07-16 |
KR860006059A (ko) | 1986-08-18 |
JPH0374419B2 (ja) | 1991-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5798955A (en) | High-speed division and square root calculation unit | |
US5943251A (en) | Adder which handles multiple data with different data types | |
EP0271255A2 (en) | High-speed binary and decimal arithmetic logic unit | |
US5132925A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
CA1291266C (en) | Bcd adder circuit | |
US4138731A (en) | High speed binary and binary coded decimal adder | |
JPS61166628A (ja) | 除算装置 | |
JPH0317132B2 (ja) | ||
US5151874A (en) | Integrated circuit for square root operation using neural network | |
US6519621B1 (en) | Arithmetic circuit for accumulative operation | |
US5097436A (en) | High performance adder using carry predictions | |
JP3277089B2 (ja) | 乗算器及び積和演算装置 | |
US4677583A (en) | Apparatus for decimal multiplication | |
KR100308726B1 (ko) | 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법 | |
US3842250A (en) | Circuit for implementing rounding in add/subtract logic networks | |
US5867413A (en) | Fast method of floating-point multiplication and accumulation | |
EP0044450B1 (en) | Digital adder circuit | |
EP0361886B1 (en) | Improved floating point computation unit | |
EP0529755B1 (en) | Method and apparatus for negating an operand of a multiplication operation | |
EP0189912B1 (en) | Fast bcd/binary adder | |
JP2592584B2 (ja) | 加算装置 | |
JP2991788B2 (ja) | 復号器 | |
JP2605848B2 (ja) | 非回復型除算器 | |
JPH0368415B2 (ja) | ||
US3813623A (en) | Serial bcd adder |