JPH0317132B2 - - Google Patents

Info

Publication number
JPH0317132B2
JPH0317132B2 JP58245490A JP24549083A JPH0317132B2 JP H0317132 B2 JPH0317132 B2 JP H0317132B2 JP 58245490 A JP58245490 A JP 58245490A JP 24549083 A JP24549083 A JP 24549083A JP H0317132 B2 JPH0317132 B2 JP H0317132B2
Authority
JP
Japan
Prior art keywords
carry
quotient
stage
branch
value
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 - Lifetime
Application number
JP58245490A
Other languages
English (en)
Other versions
JPS60140428A (ja
Inventor
Tatsuya Sakai
Suketaka Ishikawa
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP58245490A priority Critical patent/JPS60140428A/ja
Priority to US06/686,657 priority patent/US4754422A/en
Priority to DE19843447634 priority patent/DE3447634A1/de
Publication of JPS60140428A publication Critical patent/JPS60140428A/ja
Publication of JPH0317132B2 publication Critical patent/JPH0317132B2/ja
Granted 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)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、除算装置に関し、特に、2進数の高
速除算に適した装置に関する。
〔発明の背景〕
2進除算装置における演算は、通常、被除数か
ら除数を引き放し(non−restoring)アルゴリズ
ムに従つて繰り返し減ずることにより行なわれ
る。従来、1サイクル時間内に複数ビツトの商を
算出する除算装置においては、部分剰分をシフト
し、適当な除数の倍数との加減算を行ない、得ら
れた部分剰余の値から、複数ビツトの商の予測と
次の演算のための部分剰余のシフト量決定とを行
なつている。しかし、この方法には、シフト量が
加減算の結果によつて定まるためにサイクル時間
を短くできないという欠点があつた。この点を改
善した反復除算装置(特公昭44−17188)では、
部分剰余と除数の上位3ビツトの値により2ビツ
トの商の算出を行ない、シフト量が一定になるよ
うに考慮されている。しかし、この反復除算装置
では、除数の0,1/2,3/4,1,3/2倍の各倍数
値が必要であり、特に3/2倍数値は、除算に先立
つて準備しておかなければならない。更に、除算
を開始する前に除数のMSB(最上位ビツト)が1
となるように除数をシフトし、被除数も同じ量だ
けシフトして正規化を行なわなければならない。
このように除算に先立つて種々の準備が必要であ
るために、除算そのものの演算よりもそれに先立
つ種々の前処理に時間が費されるという欠点があ
つた。また、部分剰余と除数に応じて倍数選択を
行なう選択回路が必要であり、このためハードウ
エア量が増加するという欠点もあつた。更に、こ
れら従来の除算装置においては、加減算のために
除算以外の演算にも利用される全加算器が使われ
ているため、複数の選択器や種々の作業用レジス
タが介在することになり、1回の除算に要する時
間が理論どおりには短縮されない。
〔発明の目的〕
本発明の目的は、前記のような欠点がない高速
除算装置を提供することにある。
〔発明の概要〕
本発明の除算装置の特徴は、複数の桁上保存加
算器とその桁上保存加算器の両出力の加算の際に
生すべき桁上値を算出する桁上先見回路の組を、
2分岐トリー状に配置して、各分岐の一方の分枝
では除数加算を、他方の分枝では除数減算を、並
行して行なわせ、各段における商の値によつて次
の分枝の一方又は他方を選択するとともに、この
ようにして選択された分枝の桁上保存加算器と桁
上先見回路の出力並びに前段の桁上先見回路の出
力からその段の商出力を決定し、そして、最終段
の出力を、各段の商出力の値に応じて選択して、
2分岐トリーの頂点に位置する桁上保存加算器の
入力に接続することにより、1サイクルの動作で
複数桁の商を算出するところにある。
〔発明の実施例〕
第1図は、本発明の一実施例として、3個の桁
上保存加算器をトリー状に2段接続した2進除算
装置を、その構成の主要部について示したもので
ある。この装置は、1動作サイクルで2ビツトの
商を算出し、演算速度としては、通常の全加算器
を用いた除算装置の1サイクル時間内で、4ビツ
トの商を算出することができる。
CSAM1,CSAS3,CSAA5は、所要ビツト
(例えば64ビツト)幅の桁上保存加算器(以後
CSAと略記)である。CSAS3はトリーの一方の
分枝に相当して除数減算を担当し、CSAA5は他
方の分枝に相当して除数加算を担当する。
CSAM1はトリーの頂上に相当する。CSAM1の
出力である半加算値HSMと半桁上値HCMは、
左に1ビツトシフトされて、CSAS3,CSAA5双
方の2つの入力に加えられる。CSAA5の残り1
入力には除数(以後DRと略記)が投入され、
CSAS3の残り1入力にはDRのビツト反転値が投
入される。また、CSAS3の入力のうち、HCMが
投入される入力のLSB(最下位ビツト)には
“1”が設定される。これは、除数減算を行なう
ためにDRの2の補数を生成することを目的とし
ている。CSAS3の半加算値HSS出力及び半桁上
値HCS出力、並びにCSAA5の半加算値HSA出力
及び半桁上値HCA出力も、同様に左に1ビツト
シフトされ、CSAM1の入力に配置されている選
択器8,9に送られる。CSAM1の入力にはレジ
スタX,Y,Zが設けられており、1回ループを
まわるごとにそこにデータの設定が行なわれる。
LACM2,LACS4,LACA6は、各CSAの2つ
の出力すなわち半加算値HSと半桁上値HCの全
加算を行つた場合に生じるべきMSBへの桁上げ
CM0、CS0、CA0と、同じくMSBの1ビツト下の
桁(以後NSBと略記)への桁上げCM1、CS1
CA1を出力する桁上先見(以後LACと略記)論
理である。
7は演算の最後に剰余の算出、及び商のLSB
の値に応じた剰余補正を行なうための全加算器で
あり、通常の除算では偶数ビツトの商を算出する
ので、剰余のとり出しはCSAM1の出力から行な
うことになる。
選択器8,9,10,11はCSAM1への入力
データを決定するための回路である。選択器8は
CSAS3の出力HSS,CSAA5の出力HSA,被除
数(以後DDと略記)のうちいずれかの選択を行
ない、選択器9はCSAS3の出力HCS,CSAA5の
出力HCA,固定値0のうちいずれかの選択を行
なう。選択器10はDR,DRのビツト反転値の
いずれかの選択を行なう。選択器11は、Y入力
のLSBのみのデータの設定を行ない、同10で
DR,DRのビツト反転値のどちらが選択される
かによつて、“0”,“1”のいずれかが選択され
る。この選択は、DRの加算を行なうか減算(2
の補数の加算)を行なうかを意味する。選択器
8,9は、前回処理のCSAM段の商により、ま
た、選択器10,11は前回処理のCSAS,
CSAA段の商により、それぞれ制御が行なわれ
る。除算開始時には、選択器8,9,10,11
において、それぞれ、DD,固定値0,DRビツ
ト反転値,ビツト“1”が選択される。
一般に、桁上保存加算器CSAの3つの入力A,
B,Cと半加算値出力HS,半桁上値出力HC、
及び桁上先見回路LACにおけるMSBへの桁上
C0,NSBへの桁上C1の関係は、以下に示すよう
になる。
ここで、 HSi=Ai○+Bi○+Ci HCi=(Ai・Bi)+(Bi・Ci) +(Ci・Ai) ただし、 ○+は排他的論理和・は論理積+は論理和 i=0,1,2,…63 FSはHS,HCの全加算値 C1=HS1・HC2 +(HS1+HC2)・HS2・HC3 +(HS+HC2)・(HS2+HC3) ・HS3・HC4 +…… +(HS1+HC2)・(HS2+HC3)・…… ……・(HS61+HC62)・HS62・HC63 C0=HS0・HC1 +(HS0+HC1)・C1 なお、HCは各ビツト位置からの桁上げであ
り、HSに対しては倍の重みを持つているため、
左に1ビツトシフトされてHSとの全加算が行な
われている。
次に、(00001111)÷(0110)なる固定小数除算
の例を第2図に示し、8ビツト幅の桁上保存加算
器で構成された本除算装置の動作説明を行なう。
演算開始時には、CSAMIの3つの入力に、第
2図13,14,15で示されるように、DD、
固定値1(選択器9からの固定値0と同11からの
ビツト“1”)、及び、DRのビツト反転値が投入
されて、除数減算が行なわれる。なお、DRは、
12で示されるように、DDの上位桁部分に桁合わ
せされている。この結果、16,17のように出力
HSM,HCMが得られ、LACM論理2により、
18,19のように、桁上げCM0,CM1が算出され
る。CM0,CM1の算出に並行して、HSM,
HCM出力が1ビツト左にシフトされ、20,21に
示すように、CSAS3,CSAA5に送られる。
CSAAでは、22,23,24のように、HSMとHCM
の1ビツト左シフト値及びDRが投入されて、除
数加算が行なわれ、CSASでは、25,26,27のよ
うに、HSM,HCMのLSBに“1”を設定した
値,DRのビツト反転値が投入されて、除数減算
が行なわれる。
LACM2,LACS4,LACA6,の出力が確定し
た時点で第1回目の処理が終了し、前段CSAM
段の商28が“0”であることから、後段の商と
して、引き放しアルゴリズムに従つて加算分枝で
あるCSAA段から得られた商29の“0”が選択
され、2ビツトの商が算出される。なお、商の決
定論理は後述する。
第2回目の処理においては、第1回目で得られ
た商の値により、選択器8,9,10,11が制
御される。第3図は商の値に対応してCSAM1に
投入されるデータを示す。CSAM1のX,Y入力
については、前回処理の前段の商が“0”ならば
CSAA5の出力であるHSA,HCAが投入され、
同商が“1”であればCSAS3の出力であるHSS,
HCSが投入される。Z入力については、前回処
理の後段の商が“0”ならば除数加算のために
DRが投入され、“1”ならば除数減算のために
DRのビツト反転値とY入力のLSBを“1”とし
た値、つまり、DRの2の補数が投入される。第
2図の例では、第1回目処理の商が00であるの
で、30,31,32に示すように、HSA,HCA,
DRが選択されることになる。
第2回目後段における処理は第1回目後段と同
様であり、以後、第2回目と同様の処理を操り返
し、前もつて規定された回数のループをまわつた
後、最後に、CSAM1から得られるHSM,HCM
出力の全加算を行なつて、剰余を算出する。その
際、本除算装置では引き放しアルゴリズムに従つ
て除算を行なうため、得られた商のLSBが“0”
の場合に剰余補正が必要であり、HSM,HCM
の全加算値にDRを加えなければならない。第2
図の例では、ループを2回まわり、3回目の
CSAM出力で33に示すように剰余算出を行ない、
商が“0”であるため、34のように剰余補正を行
なつている。
本除算装置は基本的に引き放しアルゴリズムに
従つて処理を行なつており、商の決定は、減算あ
るいは加算を行なつた場合に結果が正になるか負
になるか、いいかえれば演算の結果桁上げが発生
するかどうかによつて、行なわれる。しかし、本
除算装置では、演算を行なつた段の通常の桁上げ
以外に、HCのMSB及び前段における全加算時の
NSBへの桁上げを考慮しなければならない。そ
れは、CSAのHS,HC出力を左シフトして次段
に送る場合に、全加算をとれば伝播してシフトに
より既に捨てられているべき桁上げが、HS,
HC中に内在しているためである。この内在して
いる桁上げが次段に伝えられるため、次段で現わ
れる桁上げが実際に商を反映するものであるの
か、あるいは前段から内在しているるものである
のかの判を、行なわなければならないわけであ
る。
第4図は商の決定方法を示したものである。桁
上げが内在していることは、前段におけるHSと
HCの全加算時NSBへの桁上げが1であることに
より示される。演算を行なつた段を対象段とし、
その段の全加算時MSBへの桁上げをC0 *,HCの
MSBをHC0 *,前段の全加算時NSBへの桁上げ
をC1とすると、C1=0ならばC0 *,HC0 *は商を
反映する桁上げである。ただし、C1=0にもか
かわらず対象段において2つの桁上げC0 *,HC0 *
が現われることはないから、〔C0 *=1かつHC0 *
=1〕となることはない。他方、C1=1であり
ながら対象段でその内在している桁上げのみが現
われる場合、それは〔C0 *=1かつHC0 *=0〕,
〔C0 *0かつHC0 *=1〕のいずれかの形をとる。
前者は依然として桁上げが内在して対象段の次段
へと伝えられることを、後者は対象段において内
在していた桁上げが顕現して捨てられることを
示。また、C1=1であり、〔C0 *=1かつHC0 *
1〕となる場合には、前段からの内在桁上げと商
を反映する桁上げの両方が現われていることを示
す。ただし、C1=1であるにもかかわらず対象
段で桁上げが全く現われないことはないから、
〔C0 *=0,HC0 *=0〕となることはない。以上
をまとめると、対象段における商ビツトDは、 D=1・(C0 *+HC0 *) +C1・C0 *・HC0 * で与えられることになる。
第1図にはこのようにして商を決定する手段を
図示していないが、実際には、そのような商決定
手段が、各段の商の値によつて次段がどちらの分
枝となるかを決定する手段ともに、設けられるも
のであることはいうまでもない。
以上のように、本発明では、商の算出のために
全加算を実際に行なう必要がなく、全加算を行な
う場合の桁上げのみを求せればよい。CSAは論
理1段にて構成可能であり、処理時間の多くは
LAC論理における桁上げ算出に費される。通常
の全加算に要する時間を1サイクル時間とすれ
ば、桁上げのみの算出は半サイクル時間内に行な
うことができる。本発明のように二分岐トリー構
成をとれば、後段のLACA,LACSは前段の
LACM動作開始よりもCSAA又はCSASの演算時
間だけ遅れて動作することになるから、ほぼ
LAC一回の処理時間でLACA,LACSの出力を得
ることができる。つまり、半サイクル時間以内に
2ビツトの商を算出することが可能である。この
結果、1サイクル時間内に4ビツトの商を算出す
る除算装置を構成することができ、除算処理を従
来の半分のサイクル時間で行なうことが可能とな
る。
以上説明した実施例は最も単純な2段構成のも
のであつて、そのCSAS3及びCSAA5の出力をそ
れぞれ2個のCSAに接続して、3段構成とすれ
ば、装置の1サイクルで3ビツト、全加算器利用
の除算装置の1サイクル時間で6ビツトの商が求
まる装置となり、更に、以下同様にして次々と2
分岐トリー構成を拡張することができる。
〔発明の効果〕
以上のように、本発明によれば、全加算を行な
うことなく、全加算を行なう場合の桁上げのみを
算出すれば足り、しかも、除数の倍数の発生や正
規化などの前処理も不要であるから、制御の複雑
化やハードウエア量の格別の増大の負担を招くこ
となしに、高速除算装置を実現することができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例の要部のブロツクダ
イヤグラム、第2図は第1図の装置の動作の説明
図、第3図は商値と初段入力の対応関係図、第4
図は諸桁上値と商の対応関係図である。 1,3,5…桁上保存加算器、2,4,6…桁
上先見論理、8〜11…初段入力選択器。

Claims (1)

  1. 【特許請求の範囲】 1 全体として2分岐トリー系を形成するととも
    に各分岐の一方の分枝にあるものは除数加算を行
    ない他方の分枝にあるものは除数減算を行なうよ
    うに複数段接続された桁上保存加算器と、これら
    の桁上保存加算器にそれぞれ接続されて当該桁上
    保存加算器の両出力の加算の際に生ずべき桁上値
    を算出する複数の桁上先見回路と、各段における
    商を前段における商の値によつて定まる分枝の桁
    上保存加算器及び桁上先見回路並びに前段の桁上
    先見回路の出力から決定する手段と、各段におい
    て決定された商の値に応じて最終段の桁上保存加
    算器群の出力を選択して2分岐トリー系の頂点に
    位置する桁上保存加算器の入力に戻す選択接続手
    段と、最終段の商の値に応じて2分岐トリー系の
    頂点に位置する桁上保存加算器が除数の加算を行
    なうか減算を行なうかを決定する手段とを備え、
    1サイクルの動作で複数桁の商を算出することを
    特徴とする並列除算装置。 2 特許請求の範囲1において、前記商決定手段
    は、各段における桁上保存加算器から得られる半
    桁上げの最上位ビツト及び桁上先見回路から得ら
    れる最上位桁への桁上げ、並びにその前段におけ
    る桁上先見回路から得られる最上位の一つ下の桁
    への桁上げから商を決定する並列除算装置。
JP58245490A 1983-12-28 1983-12-28 除算装置 Granted JPS60140428A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP58245490A JPS60140428A (ja) 1983-12-28 1983-12-28 除算装置
US06/686,657 US4754422A (en) 1983-12-28 1984-12-27 Dividing apparatus
DE19843447634 DE3447634A1 (de) 1983-12-28 1984-12-28 Dividiervorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58245490A JPS60140428A (ja) 1983-12-28 1983-12-28 除算装置

Publications (2)

Publication Number Publication Date
JPS60140428A JPS60140428A (ja) 1985-07-25
JPH0317132B2 true JPH0317132B2 (ja) 1991-03-07

Family

ID=17134431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58245490A Granted JPS60140428A (ja) 1983-12-28 1983-12-28 除算装置

Country Status (3)

Country Link
US (1) US4754422A (ja)
JP (1) JPS60140428A (ja)
DE (1) DE3447634A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0786826B2 (ja) * 1988-07-19 1995-09-20 日本電気株式会社 整数除算回路
JPH02239325A (ja) * 1989-03-14 1990-09-21 Fuji Xerox Co Ltd 除算回路
US4941120A (en) * 1989-04-17 1990-07-10 International Business Machines Corporation Floating point normalization and rounding prediction circuit
JPH0731592B2 (ja) * 1990-11-29 1995-04-10 株式会社東芝 除算回路
JP2541758B2 (ja) * 1993-06-02 1996-10-09 日本電気株式会社 剰余算出回路
US5754460A (en) * 1995-05-26 1998-05-19 National Semiconductor Corporation Method for performing signed division
US5771366A (en) * 1995-06-09 1998-06-23 International Business Machines Corporation Method and system for interchanging operands during complex instruction execution in a data processing system
US7177421B2 (en) * 2000-04-13 2007-02-13 Broadcom Corporation Authentication engine architecture and method
JP4042364B2 (ja) * 2001-07-27 2008-02-06 日本電気株式会社 アドレス生成回路、選択判断回路
JP4388543B2 (ja) * 2006-12-14 2009-12-24 株式会社日立製作所 3項入力の浮動小数点加減算器
JP6854261B2 (ja) * 2018-06-22 2021-04-07 矢崎総業株式会社 グロメット

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3234367A (en) * 1962-11-05 1966-02-08 Ibm Quotient guess divider
US3873820A (en) * 1974-01-31 1975-03-25 Ibm Apparatus for checking partial products in iterative multiply operations
JPS55103642A (en) * 1979-02-01 1980-08-08 Tetsunori Nishimoto Division unit
JPS57172444A (en) * 1981-04-15 1982-10-23 Hitachi Ltd Approximate quotient correcting circuit
US4549280A (en) * 1982-12-20 1985-10-22 Sperry Corporation Apparatus for creating a multiplication pipeline of arbitrary size

Also Published As

Publication number Publication date
US4754422A (en) 1988-06-28
DE3447634C2 (ja) 1988-02-04
JPS60140428A (ja) 1985-07-25
DE3447634A1 (de) 1985-07-18

Similar Documents

Publication Publication Date Title
US5798955A (en) High-speed division and square root calculation unit
JP2835153B2 (ja) 高基数除算器
JPS6347874A (ja) 算術演算装置
EP0271255A2 (en) High-speed binary and decimal arithmetic logic unit
US6704762B1 (en) Multiplier and arithmetic unit for calculating sum of product
JPH0317132B2 (ja)
EP0436905B1 (en) High performance adder using carry predictions
US5910910A (en) Circuit and method for rapid calculation of quotients and square roots
JPH04205026A (ja) 除算回路
US6519621B1 (en) Arithmetic circuit for accumulative operation
US5867413A (en) Fast method of floating-point multiplication and accumulation
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
WO1991018355A1 (en) Integrated interpolator and method of operation
EP0643352A1 (en) Self-checking complementary adder unit
JP3537378B2 (ja) 加算器および集積回路
US4761757A (en) Carry-save-adder three binary dividing apparatus
EP0361886B1 (en) Improved floating point computation unit
JPH0234054B2 (ja)
EP1315080A1 (en) Circuitry for carrying out square root and division operations
US20030149713A1 (en) Circuitry for carrying out an arithmetic operation
JP3517162B2 (ja) 除算・開平演算装置
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
JPH0368415B2 (ja)
JP2777265B2 (ja) 高基数開平演算装置
JP2771178B2 (ja) 除算回路

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term