JPH0374419B2 - - Google Patents

Info

Publication number
JPH0374419B2
JPH0374419B2 JP60005669A JP566985A JPH0374419B2 JP H0374419 B2 JPH0374419 B2 JP H0374419B2 JP 60005669 A JP60005669 A JP 60005669A JP 566985 A JP566985 A JP 566985A JP H0374419 B2 JPH0374419 B2 JP H0374419B2
Authority
JP
Japan
Prior art keywords
carry
adder
digit
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
JP60005669A
Other languages
English (en)
Other versions
JPS61166628A (ja
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 filed Critical
Priority to JP60005669A priority Critical patent/JPS61166628A/ja
Priority to US06/818,687 priority patent/US4761757A/en
Priority to KR1019860000261A priority patent/KR930006518B1/ko
Publication of JPS61166628A publication Critical patent/JPS61166628A/ja
Publication of JPH0374419B2 publication Critical patent/JPH0374419B2/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
    • 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つ補数値との加算の際に生ずべき全桁
上値とを算出するようになつている。前記2分岐
トリーの各分岐の一方の分枝では除算加算を、他
方の分枝では除算減算を並列して行なわせ、各段
における商の値によつて次の分枝の一方又は他方
を選択するとともに、このようにして選択された
分枝の桁上保存加算器並びに半桁上加算器と、桁
上先見回路の出力及び前段の桁上先見回路の出力
からその段の商出力を決定し、そして、最終段の
出力を、各段の商出力の値に応じて選択して、2
分岐トリーの頂点に位置する桁上保存加算器の入
力に接続することにより、1サイクルの動作で複
数桁の商を算出するところにある。 〔発明の実施例〕 第1図は、本発明の一実施例として、2個の桁
上保存加算器並びに1個の半桁上加算器をトリー
状に2段接続した2進除算装置を、その構成の主
要部について示したものである。ここでいう半桁
上加算器とは、通常の桁上保存加算器の半加算値
半桁上値の2組の出力のうち、半桁上値だけを出
力するように桁上保存加算器の回路を縮少化した
ものである。 この装置は、1動作サイクルで2ビツトの商を
算出し、演算速度としては、通常の全加算器を用
いた除算装置の1サイクル相当時間内で4ビツト
の商を算出することができる。 1,3は、所要ビツト(例えば64ビツト)幅の
桁上保存加算器(以後CSAと略記)、5は、所要
ビツト幅の半桁上加算器(以後HCSAと略記)で
ある。CSA3はトリーの一方の分枝に相当して
除算減算を担当し、HCSA5は他方の分枝に相当
して除数加算を担当する。CSA1はトリーの頂
上に相当する。CSA1の出力である半加算値
(以後HSMと略記)と半桁上値(以後HCMと略
記)は、左に1ビツトシフトされて、CSA3,
HCSA5双方の2つの入力に加えられる。HCSA
5の残り1入力には除数(以後DRと略記)が投
入され、CSA3の残り1入力にはDRの1の補数
値が投入される。また、CSA3の入力のうち、
HCMが投入される入力のLSB(再下位ビツト)
は“1”が設定される。これは除数減算を行なう
ためにDRの2の補数を生成することを目的とし
ている CAS3の半加算値(以後HSSと略記)及び半
桁上値(以後HCSと略記)、並びにHCSA5の出
力(以後HCAと略記)も同様に左に1ビツトシ
フトされ、CSA1の入力に配置されている選択
器8,9に送られる。CSA1の入力にはレジス
タX,Y,Zが設けられており、1回ループをま
わるごとにそこにデータの設定が行なわれる。 ここで第2段目に2個のCSAを配置せず、一
方をCSA、他方をHCSAとしたのはゲート数量
の減少のためである。仮に、第2段目に2個の
CSAを配置したとすると、それぞれ3組の入力
のうち、2組には同じデータが与えられ、残り1
組には1の補数の関係をもつデータが与えられ
る。CSAの半加算値出力の第iビツトHSiは3組
の入力をAi,Bi,Ciとして HSi=AiBiCi(は排他的論理和)で与え
られ、 AiBi= (,はそれぞれCi,HSiの1の補数値)な
る関係が成立する。つまり、反転、非反転出力両
方の得られる相補型論理素子、たとえばECL(エ
ミツタ結合型論理)素子を用いて回路を構成する
場合には、半加算値出力はどちらか一方の分枝の
CSAで作成すればよく、この半加算値の反転出
力を他方の分枝の半加算値出力として使用できる
ことになる。 但し、LSBのみはDRの2の補数生成のために
一方の分枝のCSA入力に“1”が設定されるの
で両枝の半加算値出力は同種となる。 2,4は、各CSAの2つの出力、すなわち半
加算値と半桁上値の全加算を、6はHCSA5の出
力HCAとCSA3の半加算値出力反転値との全加
算をそれぞれ行なつた場合に生じるべきMSBへ
の桁上げCM0,CS0,CA0と、同じくMSBの1ビ
ツト下の桁(以後NSBと略記)への桁上げCM1
CS1,CA1を出力する桁上先見回路(以後LACと
略記)である。 7は演算の最後に剰余の算出、及び商のLSB
の値に応じた剰余補正を行なうための全加算器で
あり、通常の除算では偶数ビツトの商を算出する
ので、剰余のとり出しはCSA1の出力から行な
うことになる。 選択器8,9,10,11はCSA1への入力
データを決定するための回路である。選択器8は
CSA3の出力HSS,HSSの1の補数値、被除数
(以後DDと略記)のうちいずれかの選択を行な
い、選択器9はCSA3の出力HCS,HCSA5の
出力HCA、固定値0のうちいずれかの選択を行
なう。選択器10はDR,DRの1の補数値のう
ちいずれかの選択を行なう。選択器11は、Y入
力のLSBのみのデータの設定を行ない、選択器
10でDR,DRの1の補数値のどちらが選択さ
れるかによつて、“0”,“1”のいずれかが選択
される。この選択は、DRの加算を行なうか減算
(2の補数の加算)を行なうかを意味する。選択
器8,9は、前回処理のCSA1の段の商により、
また選択器10,11は前回処理のCSA3,
HCSA5の段の商により、それぞれ制御が行なわ
れる。除算開始時には、選択器8,9,10,1
1において、それぞれDD、固定値0、DR1の
複数値、ビツト“1”が選択される。 一般に、CSAの3つの入力A,B,C、半加
算値HS、半桁上値HC、LACにおけるMSBへの
桁上C0、NSBへの桁上C1の関係は、以下に示す
ようになる。
〔発明の効果〕
以上のように、本発明によれば、全加算を行な
うことなく、全加算を行なう場合の桁上のみを算
出すれば足り、しかも、除数の倍数の発生や正規
化などの前処理も不要であるから、制御方法の複
雑化や、ハードウエア量の格別の増大の負担を招
くことなしに、高速な除算装置を実現することが
できる。
【図面の簡単な説明】
第1図は本発明の一実施例の要部のブロツクダ
イヤグラム、第2図は第1図の装置の動作の説明
図、第3図は商の値と初段桁上保存加算器入力と
の対応関係図、第4図は諸桁上値と商の対応関係
図である。 1,3……桁上保存加算器、5……半桁上加算
器、2,4,6……桁上先見回路、8〜11……
選択器。

Claims (1)

    【特許請求の範囲】
  1. 1 桁上保存加算器を頂点とし全体として2分岐
    トリー系を形成するとともに各分枝の一方の分枝
    にあるものは除数加算を行ない他方の分枝にある
    ものは除数減算を行なうように複数段接続された
    桁上保存加算器と、桁上保存加算器の2組の出力
    のうち半桁上値のみが得られるように構成された
    半桁上加算器と、前記桁上保存加算器及び前記半
    桁上加算器にそれぞれ接続されて当該桁上保存加
    算器の2組の出力の加算の際に生ずべき全桁上値
    と、前記半桁上加算器の出力値と当該半桁上加算
    器の接続されている分枝と対をなす分枝に接続さ
    れている前記桁上保存加算器の半加算値出力の1
    の補数との加算の際に生ずべき全桁上値とを算出
    する桁上先見回路と前段における商の値によつて
    特定される分枝の前記桁上保存加算器、前記半桁
    上加算器及び桁上先見回路の出力と、前段におけ
    る前記桁上先見回路の出力とから各段における商
    を決定する手段と、各段において決定された商の
    値に応じて最終段の桁上保存加算器及び半桁上加
    算器群の出力を選択して2分岐トリー系の頂点に
    位置する桁上保存加算器の入力に戻す選択接続手
    段とを備えることを特徴とする除算装置。
JP60005669A 1985-01-18 1985-01-18 除算装置 Granted JPS61166628A (ja)

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 JPS61166628A (ja) 1986-07-28
JPH0374419B2 true 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 (8)

* Cited by examiner, † Cited by third party
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
US20210263707A1 (en) * 2020-02-26 2021-08-26 Gsi Technology Inc. Iterative binary division with carry prediction

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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 高基数非回復型除算装置

Also Published As

Publication number Publication date
KR930006518B1 (ko) 1993-07-16
US4761757A (en) 1988-08-02
KR860006059A (ko) 1986-08-18
JPS61166628A (ja) 1986-07-28

Similar Documents

Publication Publication Date Title
EP0328063B1 (en) Absolute value calculating circuit having a single adder
US5798955A (en) High-speed division and square root calculation unit
US4866656A (en) High-speed binary and decimal arithmetic logic unit
EP0295788B1 (en) Apparatus and method for an extended arithmetic logic unit for expediting selected operations
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
JP3436994B2 (ja) シフト装置
JPH0374419B2 (ja)
JPH0317132B2 (ja)
US6519621B1 (en) Arithmetic circuit for accumulative operation
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
US5506800A (en) Self-checking complementary adder unit
US5103419A (en) Circuit for calculating the sum of products of data
US3842250A (en) Circuit for implementing rounding in add/subtract logic networks
EP0044450B1 (en) Digital adder circuit
JPH04270415A (ja) 高性能加算器
EP0361886B1 (en) Improved floating point computation unit
JP3537378B2 (ja) 加算器および集積回路
EP0189912B1 (en) Fast bcd/binary adder
JPH04165530A (ja) 浮動小数点乗算装置
EP0529755B1 (en) Method and apparatus for negating an operand of a multiplication operation
US4719590A (en) Apparatus and method for performing addition and subtraction
JPH0464091B2 (ja)
US6317772B1 (en) Split remainder divider
JP2991788B2 (ja) 復号器
JP3517162B2 (ja) 除算・開平演算装置