JPH02112023A - 基数16除算器 - Google Patents

基数16除算器

Info

Publication number
JPH02112023A
JPH02112023A JP1212866A JP21286689A JPH02112023A JP H02112023 A JPH02112023 A JP H02112023A JP 1212866 A JP1212866 A JP 1212866A JP 21286689 A JP21286689 A JP 21286689A JP H02112023 A JPH02112023 A JP H02112023A
Authority
JP
Japan
Prior art keywords
quotient
carry
jth
output
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
Application number
JP1212866A
Other languages
English (en)
Other versions
JPH0833817B2 (ja
Inventor
Theodore H Kehl
セオドア エイチ キール
David N Cutler
ディヴィッド エヌ カトラー
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02112023A publication Critical patent/JPH02112023A/ja
Publication of JPH0833817B2 publication Critical patent/JPH0833817B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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
    • G06F7/537Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
    • G06F7/5375Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/12Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word having two radices, e.g. binary-coded-decimal code
    • 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/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations
    • G06F2207/3844Hexadecimal
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Medicines Containing Plant Substances (AREA)
  • Complex Calculations (AREA)
  • Soil Working Implements (AREA)
  • Details Of Flowmeters (AREA)
  • Breeding Of Plants And Reproduction By Means Of Culturing (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は2より大きい基数の除算に関し、特に、重なり
商ビット選択を利用する基数16除算器に関する。
(従来技術とその問題点) び  のハードウェア除 当業者に知られている様に、プログラマブルなコンピュ
ーター及びこれと同様の算術機械は、2進(基数2)法
で作動し、数字の1と0とのみを使ってあらゆる数を表
わす、(二進法においては数字は「ビット」又は2進数
字と呼ばれる。)これら二つの数字は、それぞれ高電圧
レベル及び低電圧レベルとして(又は、−貫した方式が
使われる限りは、この逆として)電気的に記憶されるこ
とが出来る。従って、適当に設計された機械により、二
進法の数のビットの表現として高電圧レベル及び低電圧
レベルのパターンを取り扱うことが出来る。
二進法を使用する機械又は「ハードウェア」除算は、概
念的には十進法(基数10)における学童の長除法に似
ている。商の数は、除数を乗じて被除数又は部分剰余(
P R)の対応する数から引くことの出来る数を繰り返
し選択することによって得られる。このことを、各々十
進法による以下の伝統的表記法と長除法問題の拡張表記
とにより説明する。
伝統的表記: 拡張表記: 600+30+4=634 長除法の第1段階において、商の数6(600を表わす
)は、被除数2537から引くことの出来る除数4の1
00の倍数として選ばれる。第2段階において、商の数
3(30を表わす)が、PH137から引くことの出来
る除数4の10の最大の倍数として選ばれる。最後に、
商の数4がPH10から引くことの出来る除数4の最大
の倍数として選ばれる。これ以上の引き算を行なう事は
出来ないので、剰余は1である。
2進浮動小数点数(即ち、非整数)のハードウェア除算
は、一般的には除数と被除数とを正規化することにより
達成される。これに頬似しているのは、普通に使われて
いる十進法の科学的表記法である。科学的表記法では、
数は、10より小さい数(仮数と称する)と10の累乗
との積として表わされる。例えば、55,000という
数は5.5×104と正規化される(表わされる)。
二進法の除算では、仮数は普通は分数であり(即ち、l
より小さい)、乗数は2の累乗である。
除数及び被除数(即ち、初めの部分剰余)の正規化の正
規化は、除数の指数を被除数の指数から引く操作を包含
し、その結果は商の指数である。商の指数は格納され、
除算は仮数のみに対して行なわれる。
一般的なこととして、各サイクルjで生成される商の数
字と部分剰余とは次の帰納的関係で結び付いている: pt++  = r pJ  −Qje+  d   
   (1)ここで: j=帰納指標=0.11.、、.0m−1m−商におけ
る数字の数(基数r) d=除数 r=基数(例えば、基数2は、二進法を意味する) pj=J番目のサイクルにおいて使われるPRpo ”
元のPR1即ち被除数 pt−=最後のPR1即ち剰余 (1)1j=商がqo$qlq”、、、qmO形となる
j番目の商の数字であり、ドル記号は基数点(基数10
の表記法では「小数点」)である。
言葉で表現すれば、方程式(1)はP Rp 、、。
を得るために、先のPRp、に基数rを乗しる、即ち、
それを1数字位置だけ左へシフトさ一1七で、数r p
、を生成する。次に、pj、lと関連し2て用いテ:・
・わろべく選ばれる商の数1、即ちQj、+に除数d各
g!、、’て数Qj++  dを生成し、これを1、・
−、フトさね六・PR即ちrpjから引いて祈しいPR
p、、、。
4“4を成する。この方程式と、言葉による解説とは、
1968年10月のIEEE Transaction
s on(、=Omp(! +、Qf S第C−17巻
第10号第925ベー、・”2のA tkins氏の「
除数及び部分剰余の評価を使用する大基数除算」 ビ旧
gher−Radix DivisionUsfr+g
 Estimates of the Divisor
 and r’artialRemainders”)
から引用した。
ハードウェア除 のアルゴリズム 整数及び分数のためのハードウェア除算に伴う色々なス
テップ(例えば、減算、加算、等)を現実の電子素子に
より実行するには成る程度の時間を要する。従来技術は
、この時間を短縮し且つ除rに要する実際の作業に必要
な素子の数を最小に噂る様に設計された方法に富む。J
ohn B、Gosling氏の[ディジタルコンピュ
ーター用の算術ユニットの設計J  (Design 
of Arithmetic Units for[1
eg i ta ! Coppu ters)という本
にューヨーク:Spt’jnjjel”−νerlag
 1980)に、この種の方法(゛5該技術分野では「
アルゴリズム」と称する)が幾つか要約されている。
フ進システムでのハードウェア除算の最も単純な方法は
復元アルゴリズムと呼ばれている。除数、i f&除数
から引かれ(各々2進法で表わされる)、結果(部分剰
余又はPR)の符号carン1−意゛づ、2>、 ’l
若しP i’<の符号が負であれば、除数を加犬株゛」
ことによりPRをその以前の状態に復う]′−,させ1
、商のビ・Jl・・、−セ゛Uを使用する。若しPRc
2′)41号、イ、バイ=′l二詳Cない゛れば4、そ
の商のビットとしてjを使Jilする。。
平均Cは、商を作るために1.5 x N回(5二ごで
N−・商のビットの数)の加算−減算サイクルが必要′
eある。
卦復り2.?ルゴリズム 艶 1で学な1ト復元アルゴリズムは、P Rの符号を
次0:h沫に使用する: 1、逃゛シ符号が正であれば、1を商ビットとし′ゴ迦
:、ハ、11余数をPRから引く。
ワ、若し符号が負であれば1.0を酉ピッl 1.、、
、、7’)1”い、K;、 i、“1、をPRに加える
)、:1ン、■・R、′パ)符号により、除数イ・加え
イの居1くかシバ・・rかまると共に、商ビットが工で
あ、b、、都“)?・δる。・:、、へ(快・まる、、
Nビットの商を作るのC1要“・5゛る・リイク/l、
の数は、この場合はNである。
P/ −アル:7リズムにおけるsRT貫働S 1? 
T (Sweeney−Robertson−Toch
er)除算アルゴリズムは、上記の単純な非復元アルゴ
リズムの全体とL2ての性能を改善する。それば、サイ
クル&k 4滅らづ一のではなくて、■サイクルを行な
うのに帛゛する時間を短縮することによる。加算−減算
づ・イクルにおける最も重要な遅れの要因の一つ、即ち
PRの最下位ビン) (LSB)から最上位ビ・、・ト
(MSB)及び符号への[桁上げをリップル”f)””
 ’S 、、J  (さざなみの様に伝わって行かゼる
)のに要する時間を除去する事によって、その時間短縮
を達成1する、 [桁上げをリップルする」という用語を、十進整ek 
Q 9 q 9に1を加えるという単純な例で説明ずと
、3右端の数9に1を加えた結果は0及び「1’ji:
L−に:げ3する」こととなる。しかし、この桁上げさ
t−i、た1!!次の左の9に加えられ、もう一つの0
、・!、lの桁上げとなる。これは桁上けが左端の9の
数に「リップルされる」まで続く。
機械の電子素子が各桁上げ操作を行なうのGこ余分の時
間を必要とする。減算において、数の中の連続する0の
全体に亙って「1を借り」なければならない時にも、同
じリップル現象が見られる。
桁上げ一保存加法は、加算が完了するまで桁上げ数(ビ
ット)を格納することによって、この種のリップルを減
少させる。普通の桁上げ一保存加算器は、出力として二
つのベクトル、即ち和及び桁上げベクトルを生成する。
これは、和の[冗長型表示として知られており、和が和
ビットだけでなくて桁上げビットにも依有することを意
味する。
桁上げ一保存加法は、加算を行なう速い方法である。そ
こで、非復元除算において桁上げ一保存加法を使って部
分剰余を清々するのが望ましい。
しかし、桁上げ一保存加法中にPRを冗長形式で維持す
るので、その符号を容易に決定することは出来ない。
特にPRがゼロに近い時には、符号が誤って、減算が要
求された時に加算を行なうことが出来ることを意味する
負と決定されることがある。その逆は決して真ではない
ことを示すことが出来る。
即ち、減算は全て正しい。
非復元除法の一つの形としてのSTR除算は、除数を加
え又は引く他の選択の自由を導入することによって、桁
上げ一保存加法を使用するさいのこの不確定性を考慮す
るものである: 1、PRが明確に正であれば、PRから除数を引く。
2、符号を迅速に決定するにはPRがゼロに近過ぎる時
は、加算も減算も行なわない。
3、PRが明確に負であれば、除数をPRに加える。
桁上げ一保存加法は、しばしば、非冗長加算アルゴリズ
ムの速度の4倍であり、1サイクルの持続時間を四分の
−に短縮することが出来て、速度が4倍に増加する。
しかし、桁上げ一保存加法を使うことが出来る様に導入
された「何もしない」状態自体が不確定性を作り出すこ
とがある。最後のサイクルが非常に僅かに正であった(
即ち、理想的には減算が行なわれるべきであったことを
意味する)が、ゼロに近すぎたので加算も減算も行なわ
れなかった場合を例として考察する。
この場合、商は1だけ低過ぎることとなる。この状態は
「弛み」と呼ばれる。弛みは、不確定性の尺度と着像す
ことが出来るm−如何なる段階においてもPRには僅か
な不正確さがあるが、柊には正しい商が得られる。SR
T除算にはlの弛みがあり、これは商の1ビットが不確
定であることを示す。
弛みを処理するのは容易である。即ち、若し最終のPR
(即ち全てのサイクルが行なわれた後の剰余)が負であ
れば、商から1を引き、剰余に除数を加えることにより
剰余を訂正する。
SRT除算は、減算により+1を正の商ビットに生成し
、加算により−1を負の商ビットに生成し、「何もしな
い」により両方に0を生成する様にして、商のビットを
冗長形式で蓄積する。正の商と負の商とを加え合わせて
不確定の商を生成し、最終のPRの符号を調べて、若し
必要ならば最終の復元ステップを行なう事によりその不
確定の商を訂正することが出来る。
大基歎徐算 この点については、説明は、1サイクル当り1ビットの
商を生成する方法のみに限定する。これは基数2法と呼
ばれる。大基数法は1サイクル当り2個以上の商ビット
を生成する。基数4除法は1サイクル当り2商ビットを
生成し、基数16除法は1サイクル当り4商ビットを生
成する。
血豆ヱ上逍択 切頭形式の除数及び部分剰余を検査する事により、基数
16商ビットを選択することが出来ることが示されてい
る。Atkins氏は、上記論文においてこの方法の数
学的基礎の一部を説明している。
重良力」注奪ムU1沢 高選択段階の操作を重ね合わせることによって除算器の
出力速度を高めることが出来ることが提案されている。
G、S、Taylorは、その方法を1985年のカリ
フォルニア大学バークレー校の技報の[重なり合った高
選択段階を有する基数16SRT除算器J(”Radi
x 16 SRT Dividers with Ov
erlappedロuotient 5electio
n Stages“)(IEEB番号はCH2146−
9/851000(j)0064 、 DARPA契約
番号はN00034−KO251)。
直立紅玉 如何なる除算(2進法、十進法、及びその他の除算法)
においても最終部分剰余(FPR)は次の範囲: 0≦FPR<D       (2) に納まることが望ましいので、除算においては商の訂正
有することが好ましい。ここでDは除数である。
若しFPRがこの範囲外であれば、除算は完了していな
い。普通の十進整数除算の一つの例として127割る4
がある。一つの可能な「最終」の整数の結果は127/
4=30 (剰余は7)である。これは技術的には正し
い結果であるが、最大限に精密ではなく、(機械算術で
は普通に行なわれている様に)剰余を保存しない時には
商の最大限の精度が重要である。精度を最大にするため
には、商を1だけ高め、剰余をこれに対応してDだけ減
らして127/4=31  (剰余3)とするべきであ
る。従って、3が最終の(整数の)部分剰余である。
除算の少数第1位の精度まで行なえば、最終の商は31
.7で剰余は0.2となる。少数第2位の精度まで行な
えば、最終の商は31.75で剰余は0となる。
もっと−船釣に言うと、若しFPRが除数りより大きけ
れば、商の計算は最善の結果まで「届かない」。最高の
精度を得るには、適当な整数(例えば、若しFPR<2
Dならば1)だけ商を高め、これに対応してFPRを除
数りの同じ整数倍だけ小さくしなければならない。若し
く非復元アルゴリズムにおいて日常的にそうである様に
)FPRが負であれば、商の計算は目標値を「越えて」
いる、その場合は、商を適当な整数だけ小さくし、これ
に対応してFPRをDの同じ整数倍だけ大きくしなけれ
ばならない。
側p人並 除算により、使われるのよりも多数の数が生成される(
即ち、最後の幾つかの数が余分で、結局「捨てられる」
)時には、商の丸めを行なうことが出来る。
上記の12715=31.75という十進法の例を考察
する。整数の商が希望されているので、商の端数(o,
75)が生成されたが使われないと仮定する。
端数を単に切り捨てて31という整数の商を作ることが
出来る。しかし、実際の商31.75は31より32に
近いので、この結果は最善の精度ではない。
この場合の学童の丸め法は、捨てられる数0.75が低
い方の整数値31と高い方の整数値32との間の距離の
半分以上を表わせば、即ち捨てられる数が部分の一以上
であれば、切り上げる(即ち、整数の商の中に維持され
ている最下位の数に1を加える)方法である。
学童の方法を別様に表現すると、次の様になる。
即ち、1/2を完全な(非整数)商に加え、その結果を
切り捨てて整数値を得る。若し完全な商の少数部分が1
/2以上であれば、最下位の維持されるビット(LSK
B)は、その加算の結果として必然的に高められ、さも
なければLSKBは同じ値に留まる。
2進演算における商の丸めも同様である。即ち、下位の
ビットがLSKBの部分の一以上であれば、LSKHに
1を加える。(ここで、除算器の商出力に使われる右端
のビットを最下位の維持されるビット(LSKB)と称
する)。換言すると、若しLSKBとして選定されたビ
ットの直右のビットがセットされれば(即ち、捨てられ
るビットが少なくとも1/2LSKBであれば)、商の
LSKBは1だけ高められる。
1の補数表記 び2の 数 記 1の補数表記は、二進数を正及び負として表現する周知
の方法である。与えられた数の1の負補数を得るには、
各ビットの値を単に反転させる。
しかし、殆どのディジタルコンピューターは、同じく周
知の2の補数形式で作動する。2補数形式では、負数は
各ビットの値を反転させ、その結果にlを加えることに
よって得られる。時には結果を一つの表記法から他の表
記法に変換する必要がある。
(発明の概要) 本発明によると、基数16除算は、組み合わせ接続され
た2個の基数4除算器を反復使用することによって行な
われる。2個の基数4除算器の各々は、1反復(サイク
ル)当り2個の商ビットを生成するので、その各サイク
ルの結果として合計4個の商ビットが作られる。
各基数−4除算で生成されるべき正しい商ビットを決定
し、除数の、その正しい商ビット倍を部分剰余に加えて
新しい部分剰余を形成するために選択論理が実施される
。基数4除算の商ビットは2、−1.0、+1又は+2
から選ばれる。従って、除数がDである場合、基数4除
算の正しい商ビット倍は一2D、−D、0、+D又は+
2Dのいずれかである。
2個の基数4除算器は、Taylor氏が提案した思想
の新規な実施法で、それぞれの商ビットの選択が時間的
に重なり合う様に設けられる。2個の除算器のうちの2
番目のものは、第1の除算器が最初の2個の商ビットを
計算している間に、その選択論理出力の可能な選択肢の
全てを計算する=それは、第1除算器が新しい部分剰余
を生成すると直ちにそれら選択肢の一つを選択する。第
2商ビット対は第1除算器に接続されたマルチプレクサ
に制御入力として戻される。そこで、2対の商ビットが
ほぼ並列に判定される。
5ビットの除数及び6ビットの部分剰余を使って次の部
分剰余のための商ビットを選択することによりハードウ
ェアの量を相当節約することが出来る。
商ビットは各サイクル中に冗長形で生成される:それ故
に、所要の商丸めを行なう前に商ビットの冗長性を除去
しなければならない。負の商ビットと正の商ビットとの
加算は、各4ビット商グループが生成される間に「飛行
中に」行なわれるので、完全な指上げリップルを待たず
に完全な商を同化することが出来る。よって、付加的な
時間の節約を達成することが出来る。
4で均等に割る事の出来ない商ビットを有する形式(例
えば、VAX−F標準の26ビットの商形成)を使用す
る時には、整数個のサイクルにより生成された予備ビッ
トを使って単一のステップで商の訂正及び丸めを行なう
ことが出来る。これにより、なお−層の時間節約を達成
することが出来る。
(実施例) 益本皿量 本発明の除算器lが第1図に示されている。除算器lに
おいて、レジスター5に除数りがロードされる。レジス
ター10には除算の初期部分剰余(PR)即ち被除数が
ロードされる。レジスター10は、桁上げ一保存加算器
の和出力及び桁上げ出力の、冗長形での後続の部分剰余
を格納するための複式レジスターである。しかし、被除
数は、非冗長形で(即ち、桁上げベクトルが全てゼロに
セットされた和として)レジスター10にロードされる
除数(レジスター5)の最上位5ビットは、選択論理1
5に対して入力として供給される。同様に、部分剰余P
R(レジスター10)の最上位6ビットは選択論理15
に入力として供給される。
以下の選択プロセスにおいては除数の5ビット及び部分
剰余の6ビットを使うだけで充分であることを示すこと
が出来る。
選択論理15は除数入力及び部分剰余入力に応答して1
対の商ビットを出力として生成するのに使われる論理の
アレイである。選択論理15は商ビットの最初の1対に
対してだけ使われ、それ以後は迂回される。
選択論理15の出力は、5個の追加のデータ入力−2D
、−10SO,+ID、及び+2Dを有するマルチプレ
クサ20(例えば、ブース・マルチプレクサ)に制御入
力として供給される。マルチプレクサ20の出力は入力
として桁上げ一保存加算器25に供給される。
桁上げ一保存加算器25はマルチプレクサ20及び部分
剰余レジスターlOから入力を受け取る。
該桁上げ一保存加算器は、これら2個の入力を加え合わ
せて、その出力として新しい部分剰余を生成する。この
出力(和及び桁上げ)は重なり商ビット選択論理30に
供給され、これは他の入力として5ビットを除数D(レ
ジスター5)から受け取る。重なり商ビット選択論理3
0は商ビットの第2の対を生成し、これはマルチプレク
サ35(例えば、ブース・マルチプレクサ)に対して制
御入力として作用する。
第1サイクル以後の与えられたサイクルにおいて、重な
り商ビット選択論理30は次のサイクルのために商ビッ
トの第1の対を生成し、そのビットは、選択論理15の
出力の代わりにマルチプレクサ20に制御入力として供
給される。
マルチプレクサ35はデータ入力−2D、−1D、0、
+ID、及び+2Dを有する。マルチプレクサ35の出
力は桁上げ一保存加算2S40に向けられ、数桁上げ一
保存加算器は桁上げ一保存加算器25からの出力(和及
び桁上げ)とマルチプレクサ35の出力とを加え合わせ
て、部分剰余レジスター10にロードされる新しい部分
剰余を作る。
選択論理15の出力は、第1サイクルにおいて作られる
べき第1の商ビット対である。この対は冗長形式で作ら
れる。即ち、それは負の商ビット及び正の商ビットから
成る。同様に、重なり商ビット選択論理30の出力は、
同じく冗長形式の第2商ビット対、即ち負の商ビット及
び正の商ビットとしての出力から成る。これらの正負の
商ビットは商同化器45に入力として供給される。
商同化器45は商丸め論理55からも入力を受け取る。
商同化器45ば出力を商丸め論理55に供給する。商丸
め論理55は入力として部分剰余lOからも1ビットを
受け取る。商同化器45の出力は商50である。
皿分息炙q之ス上 この開示を利用する当業者に理解されるであろう様に、
ここで論じている除算は、各加算後に部分剰余の左方シ
フト(即ち、2を乗じる操作)を行なうので、被除数の
より多数のビットが部分剰余に入れられる。本発明によ
れば、2退部桁のシフト(即ち、4を乗じる演算)は、
使用される基数−4除算器の各々が一度に2ビ・ノドを
割るので、各加算後に行なわれる。
ここで第1図を参照すると、このシフトは、桁上げ一保
存加算器25の出力の(一つのサイクルで生成される最
初の新しい部分剰余を表わす)上位3番目ないし8番目
のビットを(もっと詳しく後述する)重なり商ビット選
択論理30の入力の上位6ビットに接続することにより
達成される。
これにより、桁上げ一保存加算器25の出力を左−・、
2ビット「シフト」させることが出来る。
桁上げ一保存加算器25の全幅出力は同様にして桁上げ
一保存加算器40の各入力に接続され、桁上げ一保存加
算器40の出力は同様に部分剰余レジスター10の入力
に接続されている6選択テーブル 選択論理15は、新しい部分剰余(桁上げ一保存加算器
25の出力)を形成するために現在の部分剰余(レジス
ター10)に加えるべき除数りの適当な倍数(−2D、
−D、0、+p、又は+20)を決定するために使われ
る。
第3図は選択論理15の入力と可能な出力とを示す。こ
の図は除数の5ビットと部分剰余の6ビット、とに応じ
て選択論理15が選択する商ビットを詳しく示す、当業
者は、この開示により、除数が前述の如くに正規化され
た後は、除数の正規化された仮数は常に1/2と1との
間にあることとなる(即ち、Q、l xxxx、、、 
という形となる)ことを理解するであろう。そこで、使
われる5ビットは、小数点の直右側の5ビットである。
PRの最上位6ビットが、第3図に示されている様に使
用される。
第3図の行の見出しは部分剰余の可能な値(小数第3位
までの精度)を表わす。第3図の列の見出しは、正規化
された除数りの可能な値(少数第4位又は(二つの場合
)第5位までの精度)を表わす。例として、第3図に罫
線により示されている除数/部分剰余の対を考察する。
少数第4位までの精度の除数りは0.1(j)1に等し
く、少数第3位までの精度の部分剰余PRは000. 
l (j)に等しい。第3図に示されている様に、これ
らの数値が入力された時には、選択論理15は−1を選
択し、Dの一1倍を現在のPRに加えて新しいPRを作
るべきことを示す。第3図は、現在の部分剰余が図示の
数の範囲外にある時の正しい選択肢も列挙している。現
在のPRの値が1.5より大きければ、−2が正しい選
択肢である。同様に、PRの値が−1,5より小さけれ
ば、+2が正しい。
図の1箇所に、与えられたD及びPRについて二つの値
が示されている。これは、P R= 111.0(j)
D=0.1000Xである時である。この場合、除数の
最後の位に示されている「X」は除数の倍数を正しく選
択するには除数の第5ビットを調べる必要があることを
示す。例えば、(DSPR)が(o,100(j),1
11,0(j))に等しい場合、+2が正しい選択肢で
あり、(o,100(j),111,0(j))の場合
には選択肢+1が正しい。
選択論理15の一実施例について、重なり商ビット選択
論理30の論理的に同等の選択論理と関連させて以下に
説明する。
里ム立血旦ヱ上1択 第2図を参照すると、重なり商ビット選択論理30は5
個の選択論理を並列に多重処理する。そこで、第2の選
択(それぞれ−2D、−ID、0、+ I D、及び+
2Dに対応する)の全ての可能な場合が、第1の選択が
行なわれると同時に第2の選択について行なわれる。
その後は、その結果としての部分剰余を使って、短縮さ
れた遅れを伴って次の部分剰余を選択することが出来る
。実際には、最初の2個の商ビットと2番目の2個の商
ビットとがほぼ同時に選択される。
桁上げ一保存加算器25の出力の左端の(即ち、問題の
サイクルの第1部分剰余の)8ビットだけが入力として
4個の桁上げ一保存加算器60.65.70及び75の
各々にあおり出される。これら加算器は、それぞれ−2
D、−D、+D及び+2Dを上記の様に同時にこの部分
剰余に加え、Oをその様に加える場合のみが処理される
べく残される。
除数の0倍をサイクルの第1除数に加える場合には桁上
げ一保存加算器は不要である。それにも拘らず、この部
分剰余が(桁上げ一保存加算器25によ・す)出力され
る際の該部分剰余の冗長形は、選択論理100に供給さ
れる前に非冗長形への変換を必要とする。
従って、桁上げ一保存加算器25の出力は、入力として
同化加算器130にもあおり出されるが、該加算器は、
第2図に示されている様に普通の桁上げ待機加算器であ
っても良い。同じ理由で、桁上げ一保存加算器60.6
5.70及び75の出力はそれぞれ入力として同化加算
器110,115.120及び125に供給されるが、
これらも同化加算器130と同種のものであっても良い
これら同化加算器は各々その桁上げ一保存加算器25の
出力を非冗長形に変換する。同化加算器の出力は入力と
してそれぞれ選択論理80.85.90.95及び10
0に供給される。これらの選択論理の各々は論理的に第
1の選択論理15と同等である0選択論理80は一2D
の場合に商ビット選択肢を計算し、選択論理85は−I
Dの場合について計算し、そして他のものも第3図に示
されている様に計算する。選択論理100は、任意のサ
イクルにおいて生成された第1部分剰余に、即ち桁上げ
一保存加算器25の出力に、0を加える場合について選
択肢を計算することに注意するべきである。
選択論理80,85.90.95及びiooの一実施例
が第4図に示されている。図示の実施例は、除数りの上
から2番目ないし5番目のビットからの入力のみを使う
:最上位ビットは常に1であると知られているので、該
論理はそれに応じて設計されている。当業者は、この開
示を利用すれば、AND−OR及び関連の論理の多数の
均等実施例を利用し得ることを理解するであろう第4図
において、図示の選択論理が生成する信号を追うことが
出来る。入力A6ないしA1は同化加算器110.11
5.120.125及び130の一つの部分剰余出力か
ら到来する。A6は最上位である。(第1サイクルで、
A6ないしA1は被除数から到来する。)入力D22な
いしD19は除数から到来する。中間結果5ELOP(
+ODについて)及び5ELON (−0Dについて)
は、5ELOが除数の0倍を選択することを可能にする
。同様に、5EL2P1及び5EL2P2は共に出力5
EL2Pが除数の+2倍を選択することを可能にする。
更に、5EL2N1及び5EL2N2は共に出力5EL
2Nをアサートして除数の一2倍を選択させる。若しこ
れらの信号のいずれもが真であるとアサートされなけれ
ば、相互排除により桁上げ一伝播加算器は+Dを加える
か−Dを加えるか決定し、出力5ELINは−りを加え
るべきことを決定し、出力SEL I Pは+Dを加え
るべきことを決定する。選択論理80.85.90.9
5、及び100の出力はデータ入力としてマルチプレク
サ105に供給される。選択論理100は更にサイクル
中に商ビットの第2の対も生成し、制御入力をマルチプ
レクサ105及びマルチプレクサ35の両方に提供する
マルチプレクサ105は次のサイクルの最初の2個の商
ビットを生成する。これらの商ビットは、そのサイクル
中に商ビットの第2の対と同時に商同化器45に入力さ
れ得る様に瞬間的にラッチ106に格納される。また、
マルチプレクサ105はマルチプレクサ20に制御入力
を提供する。この制御入力は、除算器の第2サイクル及
びその次のサイクルで、第1サイクルにおいて制御入力
を提供した選択論理15の出力に代わる。
斯<シて、第1サイクルの最初の2個の商ビットは選択
論理15により生成され、第1サイクルの2番目の2個
の商ビットは重なり商ビット選択論理30により生成さ
れ、実際上選択論理100を意図する。2番目以降のサ
イクルでは、最初の2個の商ビットはマルチプレクサ1
05により生成されて(ラッチ106に格納され)、2
番目の2個のビットは再び選択論理100により生成さ
れる。
鍮111ト(社)炙央 桁上げ一保存加算器25の上位8ビットだめが重なり商
ビット選択論理30に供給されることが分かる。同化加
算器は桁上げ一保存加算器25.60.65.70及び
75を同化して6ビットを出力として生成する。
前述した様に、選択論理15.80.85.90.95
及び100から正しい商ビットを選択するには除数の5
ビットと部分剰余の6ビットのみが必要であることを示
すことが出来る。換言すれば、次の部分剰余を生成する
ために、それぞれ5ビット及び6ビットの精度が要求さ
れる。
それ故に、桁上げ一保存加算器60.65.70及び7
5のサイズを多数のビット(54ビットが普通で成る)
から僅か8ビット幅に減少させ、従ってハードウェアの
量を顕著に減少させることが出来る。同様に、同化加算
器110.115.120.125及び130のサイズ
も減少させることが出来る。
この減少により、重なり商ビット選択論理30全体を単
一の集積回路に配置し、必要ならば基数16除算器1の
残りの論理回路を第2の集積回路に配置することが出来
る。
当業者は、この開示を利用すれば、基数16除算器にお
いて商ビットを選択するための素子の前述の配置を、各
々4個の商ビットを生成することの出来る除算器132
(第5図に示されている)等の形の、縦に接続された2
個の改良された基数−4除算器と着像すことが出来るこ
とを理解するであろう。
桁上げ伝播モード及び桁上げ停止モードを利用する 時
商同 商同化器45は、選択論理15及び重なり商ビット選択
論理30により選択された商ビットの非冗長形への「飛
行中」同化を有利に行なう。
除算器1により生成された商ビット対は冗長形である。
換言すれば、いずれかの商ビット対が(適当な選択論理
により決定された通り)負であれば、該ビットは負商レ
ジスターに格納され、若し選択された商ビット対が正で
あれば、それは正商レジスターに格納される。
詳しく言えば、負商レジスター及び正商レジスターは各
々商の一部を表わす。慣例通りに、除算プロセスの終に
これら二つのレジスターを加え合わせることにより、完
全な商(丸め及び訂正の前の)に到達する。(冗長除算
プロセスにおける正商レジスター及び負商レジスターの
使用方法は周知されており、図には示されていない)。
本発明によれば、除算器1の各サイクルにおいて生成さ
れる商ビットは、桁上げ時間を短縮し且つ桁上げをリッ
プルするのに要する加算器の複雑さを少なくするために
「飛行中」に同化される。
商ビットのグループが生成されてゆく時、負商レジスタ
ー及び正商レジスターが加え合わされて和ビットグルー
プ及び桁上げ−アウト(carry out)が生成さ
れる。
従来からある論理を使って未決の「桁上げ伝播」状態を
、即ち、和ビットグループが全て1から成るか否か検出
する。その様な和ビットグループは「桁上げ伝播モード
」にあると言われる。若し和ビットグループが桁上げ伝
播モードでなければ(即ち、該グループ中のいずれかの
ビットがゼロであれば)、それは「桁上げ停止モード」
にあると言われる。
和ビットグループが桁上げ伝播モードであれば、そのグ
ループへの桁上げ−インは該グループを通して伝播して
、次のより上位のグループに至る。
換言すれば、桁上げ停止モードにあるグループへの桁上
げ−インは伝播しない。
例えば、4ビットのグループが1111から成っていれ
ば、このグループのLSBに(桁上げ−インとして)l
を加えれば、1 0000(全部ゼロプラス桁上げ−ア
ウトとしての1)が生成される。4ビットのグループが
1(j)1であれば、これに1を加えると1100が生
成され、桁上げ−アウトは生成されない。
3番目のサイクルにより形成された商ビットの3番目の
グループの最終の値は、桁上げが(J+1)番目のグル
ープ(即ち、次の下位のグループ)からそのグループヘ
リップルしてゆくか否かが判定された後に正確に決定さ
れ得る。(J+1)番目のグループのビットが1個以上
の0を包含していれば、たとえ桁上げ−インが(J+2
)番目のグループから(J+1)番目のグループに入力
されても、桁上げは3番目のグループ内に伝播してはゆ
かない。一方、(J+1)香物グループのビットが全て
1であれば、3番目のグループへの桁上げ−インが生じ
るか否か判定するのに充分な情報を使用することは出来
ない。
例を示して、この点を説明する。第1サイクルで最初の
商ビットが冗長形式で生成される。換言すると、第1の
4個の負の商ビットの組と、別の第1の4個の正の商ビ
ットの組とが生成される。
これら二つの第1の4ビットの組は各々加え合わされ、
2の補数の算術について普通に行なわれている様にして
桁上げ−アウトは捨てられる。
第2サイクルで、同様にして4個の負の商ビット及び4
個の正の商ビットの第2の組が生成されて互いに加え合
わされる。次に、第2のグループからの桁上げ−アウト
は桁上げ−インとして第1グループに加えられる。
この点で、若し第2グループが全て1から成っていなけ
れば、第1グループは正確であることが分かる(第2グ
ループへの桁上げ−インは第1グループへ伝播しないか
ら)。一方、若し第2グループが全てから成っていれば
、第3グループから第2グループへの後続の桁上げ−イ
ンは第1グループ内へ伝播する。若し第3グループも全
て1から成っていれば、第3グループへの桁上げは第3
及び第2グループの両方を通してリップル(伝播)して
第1グループに入るので、第1グループはなお不正確で
ある。
実際、4商ビットの後続のグループが全て1である限り
は、第1グループは不正確なままである。
最悪の場合、中間のサイクルが全て1を生成するので最
後のサイクルが完了するまでは第1グループの正確な値
は分からない。
商量化の従来からある方法によれば、桁上げリップルは
最下位ビットから最上位ビットまで商量化器の全体を通
過するので、桁上げリフプルは著しく時間を浪費する。
対照的に、本発明によれば、4の高位グループの正確さ
は4の下位グループが桁トげ停止モードに達した時に判
定される。
新たに到達したグループの桁上げ−アウトは、各々、未
決の不正6電なグループの全てを正確に決定する。若し
この桁上げ−アウトが1ならば、全ての不正確なグルー
プを1だけインクリメントしてそれらを正確にしなけれ
ばならない:若しこの桁上げ−アウトがゼロであれば、
不正確なグループはそのままで正確となる。
この発明の特徴は、4のグループの不正確さがグループ
と共に維持され、インクリメント(それが必要な場合)
が多くても4ビットのグループを横断してリフプルする
に過ぎないことである。更に、4の第4グループ(即ち
、商が1より小さいか、或は1以上かを決定するグルー
プ)の正確さを判定するのに要するハードウェア及び時
間が少jNくなる。
第6図は、本発明のこの面に従う商量花器を示す。
4商ビットの和ビットグループ140は、これらの負の
商ビット及び正の商ビットを加え合わせる加算器135
により生成される。これら4個の商ビットは、桁上げ伝
播を判定し且つ桁上げ一伝播信号を生成する桁上げ伝播
検出論理145(ANDゲートで構成されたものとして
示されている)に入力として供給される。加算器135
による正商ビット及びの負部ビットの加算により桁上げ
−アウト信号165が生成される。
4個の商ビットのグループ140は信号経路を介して複
数のインクリメンタ170の各々に供給される。該信号
経路は各3番目のインクリメンタ170に、3番目のサ
イクルに関連した商ビットのみを送る。これは、例えば
、当業者に周知されているので図示しない方法で3番目
のサイクルにおいてのみバスをクロックすることによっ
て達成することが出来る。
複数のインクリメンタ制御論理175の各々に桁上げ一
伝播信号145及び桁上げ−アウト信号165が供給さ
れる。説明の目的上、第6図において3番目のインクリ
メンタ選択論理として示されている特定のインクリメン
タ制御論理175は、3番目のインクリメンタ170に
桁上げ−インを送るものである。
そこで、各4ビットインクリメンタ170は、入力とし
て4個の商ビットと、その対応のインクリメンタ制御論
理175(第6図において直右側に示されている)から
の桁上げ−イン信号とを有する。
3番目のインクリメンタ制御論理175の動作を説明す
る。この制御論理は、各々、以下の場合に、それに対応
する3番目のインクリメンタ170への桁上げ−インを
引き起こす。
1) 商ビットの(J+1)番目のグループの生成によ
り桁上げ−アウトが生じた場合、又は、 2) 商ビットの(J+1)番目のグループの生成の結
果が4個の1であり(即ち、(J+1)番目のグループ
が桁上げ伝播モードとなり)、且つその後に商ビットの
(J+1)番目のグループへの桁上げ−インが生成され
た(即ち、商ビットの(J + 2)番目又はそれ以降
のグループから桁上げアウトが生成された)場合。
各々の3番目のインクリメンタ制御論理175はラッチ
(後述する)に(J+1)番目の4−ビットグループの
桁上げ一伝播信号145及び桁上げ−アウト信号165
の値を格納すると共に、入力として各4−ビットグルー
プの桁上げ−アウト165を受け取る。第7図は、商量
花器45に使われるインクリメンタ選択論理175の一
つをより詳しく示す。
インクリメンタ選択論理175は、当業者に周知されて
いる普通の論理回路を使って実施することの出来るもの
である。例えばバスを適当にクロックすることにより、
前述の信号経路等の信号経路を通して(J+1)番目の
4−ビットグループの桁上げ一伝播信号145及び桁上
げ−アウト信号165を3番目のインクリメンタ制御論
理175に送ることが出来る。
各インクリメンタ制御論理175は桁上げ−伝播論理1
45からの信号を格納する第1ラフチ180を包含する
。3番目のインクリメンタ制御論理175のラッチ18
0は、(J+1)番目のサイクルでの4ビットが全て1
であればセットされ、システムクロック(図面にtlと
して示されている)によりクロックされ、以降のいずれ
かのサイクルの桁上げ−アウトがセットされればクリア
されるものである。このクリア・メカニズムは、桁上げ
−アウト165と信号t4との論理ANDとして第6図
及び第7図に示されており、これは、該クロック・メカ
ニズムがこの信号をシステムクロックサイクルの後のフ
ェーズでアサートさせて、ラッチ180が早過ぎる時点
でクリアされない様に充分な遅れを提供するべきことを
示す。
各々の3番目のインクリメンタ制御論理175は、4商
ビットの3番目のグループ140に関する桁上げ−アウ
ト情報を格納するための第2のラッチも包含する。3番
目のインクリメンタ制御論理 175のラッチ185は
、(a)(J+1)番目のサイクルが桁上げ−アウトを
生成するか又は(b)(J + 1)番目のサイクルが
桁上げ伝播モードで(J+n)番目のサイクル(ただし
n〉1)が桁上げ−アウトを生成すれば、セットされる
。ランチ 185も、システムクロック(第7図にtl
として示されている)によりクロックされる。
も入力として各3番目のインクリメンタ制御論理175
に供給される。これは、最悪の場合、即ち(J+1)番
目のサイクル及びそれ以降の全てのサイクルが桁上げ伝
播モードで且つ最後のサイクルが桁上げアウトを生成し
た場合を考慮したものである。その様な場合、最後のサ
イクルからの桁上げアウトは(J+1)番目のグループ
まではるばるとリンプルしてゆかなければならない一一
−(J+1)番目のグループ及びそれ以降の全てのグル
ープが最後のサイクルまで最終的に確定されないことを
意味する。
従って、最後のサイクルからの桁上げ−アウト信号は各
3番目のインクリメンタ制御論理175に供給され、そ
こで(J+1)番目のグループからのラッチされた桁上
げ一伝播信号180とのANDが取られる。1の桁上げ
−アウトが最後のサイクルから生成される時までこのラ
ッチがセットされていれば(即ち、(J+1)番目のグ
ループがなお桁上げ伝播モードであれば)、最後のグル
ープと(J+1)番目のグループとの間の全てのグルー
プがなお桁上げ伝播モードで、最後のグループにより生
成された桁上げは3番目のグループまではるばるとリッ
プルしてゆくこととなる。従って、3番目のインクリメ
ンタ制御論理175は、3番目のインクリメンタ170
をゲート制御する。
当業者は、この開示を利用すれば、デマルチプレクサを
使って信号経路を同等に構成して4−面一ビット信号1
40と桁上げ一伝播信号145と桁上げ−アウト信号1
65とを正しいインクリメンタ170及びインクリメン
タ制御論理175に送ることが出来ることを理解するで
あろう。
同の めび腎正 本発明によれば、商の丸めと訂正とはほぼ同時に行なわ
れる。そのためには、商を丸めるために商のどこに1を
加えるかを決定する必要がある。
商を丸めるためにインクリメントするべきビットは商に
よって必ずしも一定ではない。機械除算のための多くの
システムにおいて、浮動小数点の商は成る位数又はビッ
ト数の精度を有する2進形式で表わされる。例えば、成
る普通の形式は24ビットの精度を有する一一商の仮数
の上位24ビットのみが維持される。
この形式では、仮数の小数部のビットの数−一従って斯
かる形式の商の丸めを行なうためにインクリメントされ
るべきビットの位置−一は必然的に仮数の値に依有する
。若し仮数が1より小さければ、維持される24個のビ
ットは全て小数部にある(即ち、小数点より上に維持さ
れるビットはない)、一方、仮数が1以上(しかし定義
により2よりは小さい)であれば、仮数のうちの23個
の維持されているビットのみが小数部にある。
第8図に示されている様に、この様な形式の商の仮数が
1より小さければ、商の維持されている最下位ビン) 
(LSKB)は小数第24位のピッ)QB2である。そ
こで、丸めは、1/2LSKBを商の仮数に加えること
により、即ち小数第25位のビットであり且つ丸めビッ
トであるQBlに1を加えることにより、行なわれる。
第9図に示されている様に、商が1以上であれば、丸め
ビットは小数第24位のビットQB2である。
(記述を簡便にするために、商の仮数を今後は単に商と
称する。) 第10図及び第11図は、正しい商の丸め及び訂正を決
定するために使うことの出来る論理を示す。第10図は
、商が1以上であるか否かを判定する回路を示す。ビッ
トQB26が1であれば、商の値が1以上であるので、
丸めビットは前述の様にQB2である。
しかし、この分析は必ずしも充分ではない。丸めビット
が間違った場所に不適切に加えられない様にするために
、丸め及び/又は訂正の効果がそれ自体で商を1より大
きくするか否かを精密に判定することが必要である。本
発明によれば、この判定を、第1θ図に示されている様
にして行なうことが出来る。
商は、若しくal既に1以上であれば(即ち、QB26
がセントされていなければ)、又は(b) Q B 2
5がセットされていれば、又は(c)QB24がセット
されていれば、又は(d1次の二つの場合:(1)  
最上位グループ(MSG)が正6! (即ち、CP□l
−1がO)で且つその桁上げ−イン(co□f−1)が
1である場合、 (2)  最上位グループが不正確(即ち、CP□9−
1が1)であり且つ4の最終グループの上位2ビット 
(QB2及びQB3)がセットされている場合。
のいずれかであれば、上方ヘリンブルして1以上となる
(11の場合、QB26がOで、最上位グループのもっ
と下位の両ビットが1であるという仮定により、このグ
ループへの桁上げ−インが要求され、その結果としてQ
B26が1となる。
(2)の場合にも、QB26=0で、最上位グループの
もっと下位の両ビットは1である。このグループは不正
確である(それ故に最後の2個までの下位ビットの全て
が桁上げ伝播モードである)ので、インクリメントは上
にリンプルしてQB26を1に変える。商が1の補数の
形であり、2の補数の形への変換(1を加えることによ
る)がリフプルを引き起こすので、確実に少なくとも一
つのリンプルが住しることが分かる。従って、QB26
は確実に1に変化する。
従来からある商同化器は、最下位から最上位まで商同化
器の全てのビットをリフプルが通過するので、這かに長
いリフプル時間を必要とする。しかし、実際にはリップ
ルを行なう必要は無く、単に、リフプルが生じたのと同
じ結果を与えれば良い。
本発明によれば、商を1以上とする条件の存在を検出し
、丸めと訂正とを同時に行なう。そこで、回路量が大幅
に減少した商同化器を設けて、蟲かに短い時間で同じ結
果を達成することにより、最下位ビットから最上位ビッ
トまで商をリフプルさせる低速の従来からある方法を使
わずにすむ。
これは、第10図に示されているもの等の論理で実施す
ることが出来る。結果を第11図に示されている様に使
って丸めビットを適切な桁に加えることが出来る。
第11図は、正しい丸めビットをインクリメントさせ且
つ商の訂正を行なうための回路を示す。
図示の符号rHAJ及びrFAJは、それぞれ、半加算
器又はインクリメンタ(1入力と桁上げ−イン及び桁上
げ−アウトとを有する)と全加算器(2入力と桁上げ−
イン及び桁上げ−アウトとを有する)とを指す。
第11図において、記号5IGN  FPRは最終の部
分剰余の符号を示すが、これは部分剰余レジスター10
から容易に得られる。用語FINAL  QBIT=2
は、除算器により生成された最終の商ビット対が10に
、即ち2に等しい場合を表わす。
インクリメンタ190の桁上げ−アウト(即ち、除算器
1により生成された4ビットのグループの桁上げ−アウ
ト)は、第6図及び第7図に示されている様に商同化器
の残りに入力される。
使用された非復元除算法の特別の変化は前述した弛みを
商にもたらす。この商の些細な不確定性は、除算が完了
する前に処理されなければならない。この発明によれば
、商の訂正と商の丸めとを同時に行なうことにより弛み
を処理することが出来る。
負の商ビットと正の商ビットとを第6図に示されている
様に加えると、1の補数の形式では正しい値である和1
40と桁上げ−アウト165とが生じるので、結局は、
lの補数の変換を行なわなければならない。従って、普
通は、最終の商の値を2の補数に変換することが望まし
い。
この1の補数の変換は、商訂正時に考慮することが出来
る。使用された除算法による商訂正は、−1,0又は+
1を最終の商に加えることを必要とする。2の補数への
変換を考慮する時、この訂正は下記の形、即ち: 1) 若し商が1以上で部分剰余が正であれば、2を商
の最下位ビットに加える。
2) 若し商が1より小さくて、最後の商ビット対が2
で、FPRが負であれば、lをLSBに加える。或は、 3) 商が1より小さくて、最後の商ビット対が2でな
く、或はFPRが負でなければ、何も行なわない。
第11図に示されている論理は、この訂正方式を具体化
したものである。
この開示はこの発明の特別の実施例を説明しているが、
他の実施例も可能であることが理解されよう、この開示
は、単なる図解と解説との手段となるべきものである。
当業者は、この発明を他の用途のために実施し得ること
を理解するであろう。
従って、本発明の範囲を逸脱することなく色々な修正、
変形が可能であることを記しておく。
【図面の簡単な説明】
第1図は、本発明の基数16除算器のブロック図である
。 第2図は、第1図の除算器の一部を詳しく示すブロック
図である。 第3図は、商ビットの選択テーブルを示す説明図である
。 第4図は、選択テーブルの一実施例の略図である。 第5図は、改良された基数4除算器を示すブロック図で
ある。 第6図は、第1図にブロック図の形で示されている商同
化器の一実施例のブロック図である。 第7図は、第6図の商同化器の一部を詳しく示すブロッ
ク図。 第8図及び第9図は、商が1より小さい場合及び商が1
以上である場合の丸めプロセスをそれぞれ示す説明図。 第10図及び第11図は、使用される商訂正及び商丸め
方式の一実施例を示すブロック図。

Claims (1)

  1. 【特許請求の範囲】 (1)正規化された被除数の正規化された除数による基
    数4除算において商ビットの対を選択する方法であって
    、 (a)除数の上位5ビットと現在の部分剰余の上位6ビ
    ットとを決定すし、 (b)−2、−1、0、+1、及び+2のうちから商ビ
    ットの冗長対を選択するステップから成り、前記の選択
    は、第3図により定義される前記除数と前記の現在の部
    分剰余との関係により決定されることを特徴とする方法
    。 (2)正規化された除数による正規化された被除数の基
    数4除算において商ビットの対を選択する装置であって
    、 (a)除数の上位5ビットと現在の部分剰除の上位6ビ
    ットとを決定する手段と、 (b)−2、−1、0、+1及び+2のうちから商ビッ
    トの冗長対を選択する手段とから成り、前記の選択は、
    第3図により定義される前記除数と前記の現在の部分剰
    余との間の関係により決定されることを特徴とする装置
    。 (3)正規化された除数による正規化された被除数の基
    数4除算を行なう方法であって、 (a)除数の上位5ビットと現在の部分剰余の上位6ビ
    ットとを決定し (b)前記現在の部分剰余の先頭は被除数であり、(c
    )−2、−1、0、+1、及び+2のうちから商ビット
    の冗長対を選択し、前記の選択は、第3図により定義さ
    れる前記除数と前記被除数との関係により決定され、 (d)商ビットの前記対の値に除数を乗じて積を得、 (e)この積を前記の現在の部分剰余に加えて和を得、 (f)前記の和現在の部分剰余に4を乗じて新しい現在
    の部分剰余を得るステップを繰り返し行なうことから成
    ることを特徴とする方法。 (4)正規化された除数による正規化された被除数の基
    数4除算のための装置であって、 (a)現在の部分剰余を初期化して被除数に等しくする
    手段と、 (b)除数の上位5ビットと現在の部分剰余の上位6ビ
    ットとを決定する手段と、 (c)−2、−1、0、+1及び+2のうちから商ビッ
    トの冗長対を選択する手段であって、前記選択は、第3
    図により定義される前記除数と前記現在の部分剰余との
    関係により決定される手段と、 (d)商ビットの前記対の値に除数を乗じて積を得る手
    段と、 (e)この積を前記の現在の部分剰余に加えて加算結果
    を得る手段と、 (f)前記現在の部分剰余を更新して、前記加算結果に
    4を乗じて得られる数に等しくする手段とから成ること
    を特徴とする装置。 (5)除数Dによる被除数の基数4除算において商ビッ
    トの対を選択する装置であって、 (a)除数Dがロードされる多ビット除数レジスターと
    、 (b)最初に被除数がロードされる多ビット部分剰余レ
    ジスターであって、(1)桁上げ−保存加算器からの和
    −及び−桁上げ−形の入力を有し、且つ(2)和出力と
    桁上げ出力とを有する多ビット部分剰余レジスターと、 (c)入力として該部分剰余レジスターの和出力と桁上
    げ出力とを有すると共に、出力として同化された部分剰
    余を有する同化加算器と、(d)入力として(i)除数
    レジスターの上位5ビットと、(ii)同化された部分
    剰余の上位6ビットとを有し、(2)−2、−1、0、
    +1及び+2のうちの一つを定義する2個の商ビットを
    出力として有する選択論理と、 (e)(1)データ入力として、それぞれ−2、−1、
    0、+1及び+2が乗じられた除数Dを有し、(2)前
    記選択論理の出力に対する制御入力として有し、(3)
    出力として、除数Dが乗じられた該制御入力により定義
    される数に等しい値を持った前記データ入力を有するマ
    ルチプレクサと、 (f)(1)入力として、(i)部分剰余レジスターの
    和出力及び桁上げ出力と(ii)第1マルチプレクサの
    出力とを有すると共に(2)出力として前記の和−及び
    桁上げの形の部分剰余を有する桁上げ−保存加算器とか
    ら成ることを特徴とする装置。 (6)第1サイクル及び1個以上の後続のサイクルで作
    動して、除数Dで被除数を割る除算器であって、 (a)除数Dがロードされる多ビット除数レジスターと
    、 (b)最初に被除数がロードされる多ビット部分剰余レ
    ジスターであって、(1)第2段の桁上げ−保存加算器
    からの和−及び−桁上げ−形の入力を有すると共に(2
    )和出力及び桁上げ出力を有する多ビット部分剰余レジ
    スターと、 (c)(1)入力として(i)除数レジスターの上位5
    ビットと(ii)部分剰余レジスターの上位6ビットと
    を有すると共に、(2)2個の第1対商ビットの出力を
    有し、前記の2個の第1対商ビットは−2、−1、0、
    +1及び+2のうちの一つを定義する第1段選択論理と
    、 (d)(1)第1段データ入力として、それぞれ−2、
    −1、0、+1及び+2が乗じられた除数Dを有し、(
    2)前記第1サイクルに対する第1段制御入力として前
    記第1選択論理の出力を有し、(3)前記の後続のサイ
    クルに対する第1段制御入力として前記重なり商ビット
    選択論理の出力を有し、(4)出力として、除数Dが乗
    じられた制御入力により定義される数に等しい値を持っ
    た前記第1段データ入力を有する第1段マルチプレクサ
    と、 (e)(1)入力として(i)部分剰余レジスターの和
    出力及び桁上げ出力と(ii)第1段マルチプレクサの
    出力とを有し、(2)出力として前記和−及び−桁上げ
    の形の第1段部分剰余を有する第1段桁上げ−保存加算
    器と、 (f)前記重なり商ビット選択論理は(1)入力として
    (i)除数レジスターの上位5ビットと (ii)第1段桁上げ−保存加算器の出力の上位8ビッ
    トとを有し、(2)出力として2個の第2対商ビットを
    有し、前記2個の第2対商ビットは−2、−1、0、+
    1及び+2のうちの一つを定義することと、 (g)(1)第2段データ入力として、それぞれ−2、
    −1、0、+1及び+2が乗じられた除数Dを有し、(
    2)第2段制御入力として前記重なり商ビット選択論理
    の出力を有し、(3)第2段出力として、除数Dが乗じ
    られた第2段制御入力により定義される数に等しい値を
    持った前記第2段データ入力を有する第2段マルチプレ
    クサと、 (h)前記第2段桁上げ−保存加算器は、(1)入力と
    して前記第1段桁上げ−保存加算器の出力と前記第2マ
    ルチプレクサの出力とを有し、(2)共同して第2段部
    分剰余を構成する和出力と桁上げ出力とを有することと
    、 (i)(1)入力として(i)前記第1サイクルでは前
    記第1段選択論理の出力を、(ii)前記の後続のサイ
    クルでは前記重なり商ビット選択論理の出力を有し、(
    2)出力として4ビット商グループを有する商同化加算
    器と、から成ることを特徴とする除算器。 (7)第1サイクル及び1個以上の後続のサイクルで作
    動して、除数Dで被除数を割る除算器であって、 (a)除数Dがロードされる多ビット除数レジスターと
    、 (b)最初に被除数がロードされる多ビット部分剰余レ
    ジスターであって、(1)第2段の桁上げ−保存加算器
    からの和−及び−桁上げ−形の入力を有すると共に(2
    )和出力及び桁上げ出力を有する多ビット部分剰余レジ
    スターと、 (c)(1)入力として(i)除数レジスターの上位5
    ビットと(ii)部分剰余レジスターの上位6ビットと
    を有すると共に、(2)2個の第1対商ビットの出力を
    有し、前記の2個の第1対商ビットは−2、−1、0、
    +1及び+2のうちの一つを定義し、その様に定義され
    る数は第3図において指定された前記入力間の関係によ
    り決定される第1段選択論理と、 (d)(1)第1段データ入力として、それぞれ−2、
    −1、0、+1及び+2が乗じられた除数Dを有し、(
    2)前記第1サイクルに対する第1段制御入力として前
    記第1選択論理の出力を有し、(3)前記の後続のサイ
    クルに対する第1段制御入力として前記重なり商ビット
    選択論理の出力を有し、(4)出力として、除数Dが乗
    じられた制御入力により定義される数に等しい値を持っ
    た前記第1段データ入力を有する第1段マルチプレクサ
    と、 (e)(1)入力として(i)部分剰余レジスターの和
    出力及び桁上げ出力と(ii)第1段マルチプレクサの
    出力とを有し、(2)出力として前記和−及び−桁上げ
    の形の第1段部分剰余を有する第1段桁上げ−保存加算
    器と、 (f)前記重なり商ビット選択論理は(1)入力として
    (i)除数レジスターの上位5ビットと (ii)第1段桁上げ−保存加算器の出力の上位8ビッ
    トとを有し、(2)出力として2個の第2対商ビットを
    有し、前記2個の第2対商ビットは−2、−1、0、+
    1及び+2のうちの一つを定義し、その様に定義される
    数は第3図において指定された前記入力間の関係により
    決定されることと、 (g)(1)第2段データ入力として、それぞれ−2、
    −1、0、+1及び+2が乗じられた除数Dを有し、(
    2)第2段制御入力として前記重なり商ビット選択論理
    の出力を有し、(3)第2段出力として、除数Dが乗じ
    られた第2段制御入力により定義される数に等しい値を
    持った前記第2段データ入力を有する第2段マルチプレ
    クサと、 (h)前記第2段桁上げ−保存加算器は、(1)入力と
    して前記第1段桁上げ−保存加算器の出力と前記第2マ
    ルチプレクサの出力とを有し、(2)共同して第2段部
    分剰余を構成する和出力と桁上げ出力とを有することと
    、 (i)(1)入力として(i)前記第1サイクルでは前
    記第1段選択論理の出力を、(ii)前記の後続のサイ
    クルでは前記重なり商ビット選択論理の出力を有し、(
    2)出力として4ビット商グループを有する商同化加算
    器と、から成ることを特徴とする除算器。 (8)第1サイクル及び1個以上の後続のサイクルで作
    動して、除数Dで被除数を割る除算器であつて、 (a)除数Dがロードされる多ビット除数レジスターと
    、 (b)最初に被除数がロードされる多ビット部分剰余レ
    ジスターであって、(1)第2段の桁上げ−保存加算器
    からの和−及び−桁上げ−形の入力を有すると共に(2
    )和出力及び桁上げ出力を有する多ビット部分剰余レジ
    スターと、 (c)(1)入力として(i)除数レジスターの上位5
    ビットと(ii)部分剰余レジスターの上位6ビットと
    を有すると共に、(2)2個の第1対商ビットの出力を
    有し、前記の2個の第1対商ビットは−2、−1、0、
    +1及び+2のうちの一つを定義し、その様に定義され
    る数は第3図において指定された前記入力間の関係によ
    り決定される第1段選択論理と、 (d)(1)データ入力として、それぞれ−2、−1、
    0、+1及び+2が乗じられた除数Dを有し、(2)前
    記第1サイクルに対する制御入力として前記第1選択論
    理の出力を有し、(3)前記の後続のサイクルに対する
    制御入力として前記重なり商ビット選択論理の出力を有
    し、(4)出力として、除数Dが乗じられた前記2個の
    第1対商ビットにより定義される数に等しい値を持った
    前記データ入力を有する第1マルチプレクサと、 (e)(1)入力として(i)部分剰余レジスターの和
    出力及び桁上げ出力と(ii)第1段マルチプレクサの
    出力とを有し、(2)出力として前記和−及び−桁上げ
    の形の第1段部分剰余を有する第1段桁上げ−保存加算
    器と、 (f)前記重なり商ビット選択論理は(1)入力として
    (i)除数レジスターの上位5ビットと (ii)第1段桁上げ−保存加算器の出力とを有し、(
    2)出力として2個の第2対商ビットを有し、前記2個
    の第2対商ビットは−2、−1、0、+1及び+2のう
    ちの一つを定義し、その様に定義される数は第3図にお
    いて指定された前記入力間の関係により決定されること
    と、 (g)(1)データ入力として、それぞれ−2、−1、
    0、+1及び+2が乗じられた除数Dを有し、(2)制
    御入力として前記重なり商ビット選択論理の出力を有し
    、(3)出力として、除数Dが乗じられた前記の2個の
    第2対商ビットにより定義される数に等しい値を持った
    前記データ入力を有する第2段マルチプレクサと、 (h)前記第2段桁上げ−保存加算器は、(1)入力と
    して前記第1段桁上げ−保存加算器の出力と前記第2マ
    ルチプレクサの出力とを有し、(2)共同して第2段部
    分剰余を構成する和出力と桁上げ出力とを有することと
    、 (i)(1)入力として(i)前記第1サイクルでは前
    記第1段選択論理の出力を、(ii)前記の後続のサイ
    クルでは前記重なり商ビット選択論理の出力を有し、(
    2)出力として4ビット商グループを有する商同化加算
    器と、から成ることを特徴とする除算器。 (9)正規化された被除数を正規化された除数で割って
    商を生成する、2より大きな基数の除算器において、正
    負の商ビットを同化して非冗長商グループを生成する商
    同化器であって、 前記除算器は、J番目のサイクルとして指定される第1
    サイクル及び1個以上の後続のサイクルで作動し、 各前記J番目のサイクルは、冗長形で、正の商ビットの
    J番目の正グループと負の商ビットの別のJ番目の負グ
    ループとを生成するものであり、 前記商同化器は: (a)前記J番目の正グループを前記J番目の負グルー
    プに加えて非冗長商ビットのJ番目の非冗長グループと
    J番目の桁上げ−アウトとを生成する加算器と、 (b)入力として前記のJ番目の非冗長グループを受取
    り、前記J番目の非冗長グループを入力として複数のイ
    ンクリメンタの一つに対して出力し、該J番目の前記イ
    ンクリメンタへの該入力をJ番目の非冗長グループとす
    る第1信号経路と、 (c)入力として前記J番目の桁上げ−アウトを受取り
    、前記J番目の桁上げ−アウト(j>1)を複数のイン
    クリメンタ制御論理のうちの(J−1)番目のものに対
    して出力し、J番目の前記インクリメンタ制御論理への
    入力を(J+1)番目の桁上げ−アウトとする第2信号
    経路と、 (d)前記の非冗長商ビットのJ番目のグループを受取
    り、前記J番目のグループのビットが全て1から成るか
    否かを示すJ番目の桁上げ−伝播信号を出力する桁上げ
    −伝播論理回路と、 (e)前記桁上げ−伝播論理から入力を受取り、前記J
    番目の桁上げ−伝播信号を(J−1)番目の前記インク
    リメンタ制御論理への入力として出力し、J番目の前記
    インクリメンタ制御論理への入力を(J+1)番目の桁
    上げ−伝播信号とする第3信号経路と、 (f)前記J番目のインクリメンタ制御論理は、桁上げ
    −イン信号を前記J番目のインクリメンタに提供し、こ
    の信号は、(a)(J+1)番目の桁上げ−アウト信号
    が真であるか、又は…)(J+1)番目の桁上げ−伝播
    信号が真で(J+n)番目の桁上げ−アウト信号も真で
    n>1である場合に限って真であることと、から成るこ
    とを特徴とする商同化器。 (10)正規化された被除数を正規化された除数で割っ
    て商を生成する、2より大きな基数の除算器において、
    正負の商ビットを同化して非冗長商グループを生成する
    商同化器であって、 前記除算器は、J番目のサイクルとして指定される第1
    サイクル及び1個以上の後続のサイクルで作動し、 各前記J番目のサイクルは、冗長形で、正の商ビットの
    J番目の正グループと負の商ビットの別のJ番目の負グ
    ループとを生成するものであり、 前記商同化器は: (a)前記J番目の正グループを前記J番目の負グルー
    プに加えて非冗長商ビットのJ番目の非冗長グループと
    J番目の桁上げ−アウトとを生成する加算器と、 (b)入力として前記のJ番目の非冗長グループを受取
    り、前記J番目の非冗長グループを入力として複数のイ
    ンクリメンタの一つに対して出力し、該J番目の前記イ
    ンクリメンタへの該入力をJ番目の非冗長グループとす
    る第1信号経路と、 (c)入力として前記J番目の桁上げ−アウトを受取り
    、前記J番目の桁上げ−アウト(j>1)を複数のイン
    クリメンタ制御論理のうちの(J−1)番目のものに対
    して出力し、J番目の前記インクリメンタ制御論理への
    入力を(J+1)番目の桁上げ−アウトとする第2信号
    経路と、 (d)前記の非冗長商ビットのJ番目のグループを受取
    り、前記J番目のグループのビットが全て1から成るか
    否かを示すJ番目の桁上げ−伝播信号を出力する桁上げ
    −伝播論理回路と、 (e)前記桁上げ−伝播論理から入力を受取り、前記J
    番目の桁上げ−伝播信号を(J−1)番目の前記インク
    リメンタ制御論理への入力として出力し、J番目の前記
    インクリメンタ制御論理への入力を(J+1)番目の桁
    上げ−伝播信号とする第3信号経路と、 (f)前記J番目のインクリメンタ制御論理は、桁上げ
    −イン信号を前記J番目のインクリメンタに提供し、こ
    の信号は、(a)(J+1)番目の桁上げ−アウト信号
    が真であるか、又は(b)(J+1)番目の桁上げ−伝
    播信号が真で(J+n)番目の桁上げ−アウト信号も真
    でn>1である場合に限って真であることと、(g)前
    記商の丸めビットをインクリメントする丸め回路であっ
    て、前記丸めビットは前記商の維持される最下位ビット
    の二分の一の値を有するビットである丸め回路と、 (h)前記の維持される最下位ビットの選択は、前記商
    が1より小さいか否かに依存することと、 (1)(1)最終部分剰余が負で最後の非冗長商グルー
    プが2に等しい場合を除いて、商が1より小さいか、又
    は(2)商が1以上で前記最終部分剰余が正である時に
    、桁上げ−イン信号を前記非冗長商ビットの最後の前記
    非冗長グループの最下位ビットに加える商訂正回路とか
    ら成ることを特徴とする商同化器。 (11)正規化された被除数を正規化された除数で割っ
    て商を生成する、2より大きな基数の除算器において、
    正負の商ビットを同化して非冗長商グループを生成する
    商同化器であって、 前記除算器は、J番目のサイクルとして指定される第1
    サイクル及び1個以上の後続のサイクルで作動し、 各前記J番目のサイクルは、冗長形で、正の商ビットの
    J番目の正グループと負の商ビットの別のJ番目の負グ
    ループとを生成するものであり、 前記商同化器は: (a)前記J番目の正グループを前記J番目の負グルー
    プに加えて非冗長商ビットのJ番目の非冗長グループと
    J番目の桁上げ−アウトとを生成する手段と、 (b)入力として前記のJ番目の非冗長グループを受取
    り、前記J番目の非冗長グループを入力として複数のイ
    ンクリメンタの一つに対して出力し、該J番目の前記イ
    ンクリメンタへの該入力をJ番目の非冗長グループとす
    る第1信号経路手段と、 (c)入力として前記J番目の桁上げ−アウトを受取り
    、前記J番目の桁上げ−アウト(j>1)を複数のイン
    クリメンタ制御論理のうちの(J−1)番目のものに対
    して出力し、J番目の前記インクリメンタ制御論理への
    入力を(J+1)番目の桁上げ−アウトとする第2信号
    経路手段と、 (d)前記の非冗長商ビットのJ番目のグループを受取
    り、前記J番目のグループのビットが全て1から成るか
    否かを示すJ番目の桁上げ−伝播信号を出力する桁上げ
    −伝播論理と、(e)前記桁上げ−伝播論理から入力を
    受取り、前記J番目の桁上げ−伝播信号を(J−1)番
    目の前記インクリメンタ制御論理への入力として出力し
    、J番目の前記インクリメンタ制御論理への入力を(J
    +1)番目の桁上げ−伝播信号とする第3信号経路手段
    と、 (f)前記J番目のインクリメンタ制御論理は、桁上げ
    −イン信号を前記J番目のインクリメンタに提供し、こ
    の信号は、(a)(J+1)番目の桁上げ−アウト信号
    が真であるか、又は(b)(J+1)番目の桁上げ−伝
    播信号が真で(J+n)番目の桁上げ−アウト信号も真
    でn>1である場合に限って真であることと、(g)前
    記商の丸めビットをインクリメントすることにより丸め
    を行なう手段であって、前記丸めビットは前記商の維持
    される最下位ビットの二分の一の値を有するビットであ
    る手段と、 (h)前記の維持される最下位ビットの選択は、前記商
    が1より小さいか否かに依存することと、 (i)(1)最終部分剰余が負で最後の非冗長商グルー
    プが2に等しい場合を除いて、商が1より小さいか、又
    は(2)商が1以上で前記最終部分剰余が正である時に
    、桁上げ−イン信号を前記非冗長商ビットの最後の前記
    非冗長グループの最下位ビットに加える商訂正手段とか
    ら成ることを特徴とする商同化器。 (12)正規化された被除数を正規化された除数Dで割
    って商を生成する、2より大きな基数の除算器であって
    、 前記除算器は、J番目のサイクルとして指定される第1
    サイクル及び1個以上の後続のサイクルで作動し、 各前記J番目のサイクルは、冗長形で、正商レジスター
    に商ビットのJ番目の正グループを生成し且つ負商レジ
    スターに商ビットの別のJ番目の負グループを生成し、 前記除算器は: (a)除数Dがロードされる多ビット除数レジスターと
    、 (b)最初に被除数がロードされる多ビット部分剰余レ
    ジスターであって、(1)第2段の桁上げ−保存加算器
    からの和−及び−桁上げ−形の入力を有すると共に(2
    )和出力及び桁上げ出力を有する多ビット部分剰余レジ
    スターと、 (c)(1)入力として(i)除数レジスターの上位5
    ビットと(ii)部分剰余レジスターの上位6ビットと
    を有すると共に、(2)2個の第1対商ビットの出力を
    有し、前記の2個の第1対商ビットは−2、−1、0、
    +1及び+2のうちの一つを定義し、その様に定義され
    る数は第3図において指定された前記入力間の関係によ
    り決定される第1段選択論理と、 (d)前記第1対商ビットは、前記第1対商ビットが正
    であるか負であるかに応じてそれぞれ前記正商レジスタ
    ー又は前記負商レジスターに入力として供給されること
    と、 (e)(1)第1段データ入力として、それぞれ−2、
    −1、0、+1及び+2が乗じられた除数Dを有し、(
    2)前記第1サイクルに対する第1段制御入力として前
    記第1選択論理の出力を有し、(3)前記の後続のサイ
    クルに対する第1段制御入力として前記重なり商ビット
    選択論理の出力を有し、(4)出力として、除数Dが乗
    じられた制御入力により定義される数に等しい値を持っ
    た前記第1段データ入力を有する第1段マルチプレクサ
    と、 (f)(1)入力として(i)部分剰余レジスターの和
    出力及び桁上げ出力と(ii)第1マルチプレクサの出
    力とを有し、(2)出力として前記和−及び−桁上げの
    形の第1段部分剰余を有する第1段桁上げ−保存加算器
    と、 (g)前記重なり商ビット選択論理は(1)入力として
    (i)除数レジスターの上位5ビットと (ii)第1段桁上げ−保存加算器の出力の上位8ビッ
    トとを有し、(2)出力として2個の第2対商ビットを
    有し、前記2個の第2対商ビットは−2、−1、0、+
    1及び+2のうちの一つを定義し、その様に定義される
    数は第3図において指定された前記入力間の関係により
    決定されることと、 (h)前記第1対商ビットは、前記第1対商ビットが正
    であるか負であるかに応じて、それぞれ前記正商レジス
    ター又は前記負商レジスターに入力として供給されるこ
    とと、 (i)(1)第2段データ入力として、それぞれ−2、
    −1、0、+1及び+2が乗じられた除数Dを有し、(
    2)第2段制御入力として前記重なり商ビット選択論理
    の出力を有し、(3)第2段出力として、除数Dが乗じ
    られた第2段制御入力により定義される数に等しい値を
    持った前記第2段データ入力を有する第2段マルチプレ
    クサと、 (j)前記第2段桁上げ−保存加算器、(1)入力とし
    て前記第1段桁上げ−保存加算器の出力と前記第2マル
    チプレクサの出力とを有し、(2)共同して第2段部分
    剰余を構成する和出力と桁上げ出力とを有することと、 (k)前記J番目の負グループへ前記J番目の正グルー
    プを受け取って非冗長商ビットのJ番目の非冗長グルー
    プとJ番目の桁上げ−アウトとを生成する加算器と、 (l)入力として前記のJ番目の非冗長グループを受取
    り、前記J番目の非冗長グループを入力として複数のイ
    ンクリメンタの一つに対して出力し、該J番目の前記イ
    ンクリメンタへの該入力をJ番目の非冗長グループとす
    る第1信号経路と、 (m)入力として前記J番目の桁上げ−アウトを受取り
    、前記J番目の桁上げ−アウト(j>1)を複数のイン
    クリメンタ制御論理のうちの(J−1)番目のものに対
    して出力し、J番目の前記インクリメンタ制御論理への
    入力を(J+1)番目の桁上げ−アウトとする第2信号
    経路と、 (n)前記の非冗長商ビットのJ番目のグループを受取
    り、前記J番目のグループのビットが全て1から成るか
    否かを示すJ番目の桁上げ−伝播信号を出力する桁上げ
    −伝播論理回路と、 (o)前記桁上げ−伝播論理から入力を受取り、前記J
    番目の桁上げ−伝播信号を(J−1)番目の前記インク
    リメンタ制御論理への入力として出力し、J番目の前記
    インクリメンタ制御論理への入力を(J+1)番目の桁
    上げ−伝播信号とする第3信号経路と、 (p)前記J番目のインクリメンタ制御論理は、桁上げ
    −イン信号を前記J番目のインクリメンタに提供し、こ
    の信号は、(a)(J+1)番目の桁上げ−アウト信号
    が真であるか、又は(b)(J+1)番目の桁上げ−伝
    播信号が真で(J+n)番目の桁上げ−アウト信号も真
    でn>1である場合に限って真であることと、(q)前
    記商の丸めビットをインクリメントする丸め回路であっ
    て、前記丸めビットは前記商の維持される最下位ビット
    の二分の一の値を有するビットである丸め回路と、 (r)前記の維持される最下位ビットの選択は、前記商
    が1より小さいか否かに依存することと、 (3)(1)最終部分剰余が負で最後の非冗長商グルー
    プが2に等しい場合を除いて、商が1より小さいか、又
    は(2)商が1以上で前記最終部分剰余が正である時に
    、桁上げ−イン信号を前記非冗長商ビットの最後の前記
    非冗長グループの最下位ビットに加える商訂正回路とか
    ら成ることを特徴とする除算器。 (13)2より大きな基数の除算器において商同化を行
    なう方法であって、 (a)正商ビットのJ番目のグループを負の商ビットの
    J番目グループに加えて非冗長商ビットのJ番目のグル
    ープとJ番目の桁上げ−アウト信号とを生成し、 (b)非冗長商ビットの前記J番目のグループをJ番目
    のインクリメンタに送り、 (c)前記J番目の桁上げ−アウト信号をJ番目の桁上
    げ−アウトラッチに格納し、 (d)前記J番目の桁上げ−伝播信号をデマルチプレク
    スして各桁上げ−伝播信号をJ番目の桁上げ−伝播ラッ
    チに格納し、 (e)前記J番目の桁上げ−アウトラッチ及びJ番目の
    桁上げ−伝播ラッチは、J番目の桁上げ−アウトが真で
    あるか、又は(J+1)番目の桁上げ−伝播信号が真で
    (j+n)番目の桁上げ−アウト信号が真でn>1であ
    る場合に限ってJ番目のインクリメンタのインクリメン
    トを生じさせるステップから成ることを特徴とする方法
    。 (14)2より大きい基数の除算器において商同化を行
    なう装置であって、 (a)正の商ビットのJ番目のグループを負の商ビット
    のJ番目のグループに加えて非冗長商ビットのJ番目の
    グループとJ番目の桁上げ−アウト信号を生成する手段
    と、 (b)非冗長商ビットの前記J番目のグループをJ番目
    のインクリメンタに送る手段と、 (c)前記J番目の桁上げ−アウト信号をJ番目の桁上
    げ−アウトラッチに格納する手段と、(d)前記J番目
    の桁上げ−伝播信号をデマルチプレクスして各桁上げ−
    伝播信号をJ番目の桁上げ−伝播ラッチに格納する手段
    と、 (e)前記J番目の桁上げ−アウトラッチ及びJ番目の
    桁上げ−伝播ラッチは、J番目の桁上げ−アウトが真で
    あるか、又は(J+1)番目の桁上げ−伝播信号が真で
    (j+n)番目の桁上げ−アウト信号が真でn>1であ
    る場合に限ってJ番目のインクリメンタのインクリメン
    トを生じさせることと、から成ることを特徴とする装置
JP1212866A 1988-08-18 1989-08-18 基数16除算器 Expired - Lifetime JPH0833817B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US233378 1988-08-18
US07/233,378 US5023827A (en) 1988-08-18 1988-08-18 Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction

Publications (2)

Publication Number Publication Date
JPH02112023A true JPH02112023A (ja) 1990-04-24
JPH0833817B2 JPH0833817B2 (ja) 1996-03-29

Family

ID=22876985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1212866A Expired - Lifetime JPH0833817B2 (ja) 1988-08-18 1989-08-18 基数16除算器

Country Status (6)

Country Link
US (1) US5023827A (ja)
EP (1) EP0356153B1 (ja)
JP (1) JPH0833817B2 (ja)
AT (1) ATE128564T1 (ja)
CA (1) CA1332196C (ja)
DE (1) DE68924386T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0454633A (ja) * 1990-06-25 1992-02-21 Toshiba Corp 高基数除算器
US5467299A (en) * 1993-03-30 1995-11-14 Mitsubishi Denki Kabushiki Kaisha Divider and microcomputer including the same

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206828A (en) * 1990-04-02 1993-04-27 Advanced Micro Devices, Inc. Special carry save adder for high speed iterative division
US5121003A (en) * 1990-10-10 1992-06-09 Hal Computer Systems, Inc. Zero overhead self-timed iterative logic
JP2984463B2 (ja) * 1991-06-24 1999-11-29 株式会社日立製作所 マイクロコンピュータ
US5239498A (en) * 1992-08-31 1993-08-24 Intel Corporation Methods and apparatus for improved quotient correction in nonrestoring division computation circuits
US5258944A (en) * 1992-09-01 1993-11-02 Cray Research, Inc. High performance mantissa divider
US6716232B1 (en) 1993-04-30 2004-04-06 United States Surgical Corporation Surgical instrument having an articulated jaw structure and a detachable knife
US5729481A (en) * 1995-03-31 1998-03-17 International Business Machines Corporation Method and system of rounding for quadratically converging division or square root
US5787030A (en) * 1995-07-05 1998-07-28 Sun Microsystems, Inc. Correct and efficient sticky bit calculation for exact floating point divide/square root results
US5696712A (en) * 1995-07-05 1997-12-09 Sun Microsystems, Inc. Three overlapped stages of radix-2 square root/division with speculative execution
DE10021920C1 (de) 2000-05-05 2001-07-26 Infineon Technologies Ag Datenverarbeitungsverfahren und -Einrichtung zur Modulo-Berechnung eines Rests bei der 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
US7539720B2 (en) * 2004-12-15 2009-05-26 Sun Microsystems, Inc. Low latency integer divider and integration with floating point divider and method
JP4273071B2 (ja) * 2004-12-15 2009-06-03 エヌイーシーコンピュータテクノ株式会社 除算・開平演算器
US20090006509A1 (en) * 2007-06-28 2009-01-01 Alaaeldin Amin High-radix multiplier-divider
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
US11500612B2 (en) * 2020-02-14 2022-11-15 Arm Limited Method, system and device for multi-cycle division operation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160438A (ja) * 1984-01-31 1985-08-22 Fujitsu Ltd 除算装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3970993A (en) * 1974-01-02 1976-07-20 Hughes Aircraft Company Cooperative-word linear array parallel processor
US4484259A (en) * 1980-02-13 1984-11-20 Intel Corporation Fraction bus for use in a numeric data processor
US4320464A (en) * 1980-05-05 1982-03-16 Control Data Corporation Binary divider with carry-save adders
US4503512A (en) * 1982-02-22 1985-03-05 Amdahl Corporation Cellular division circuit
CA1231455A (en) * 1984-04-09 1988-01-12 Masayuki Ikeda Nonrestoring divider
JPS6175433A (ja) * 1984-09-20 1986-04-17 Hitachi Ltd 除算装置
US4758974A (en) * 1985-01-29 1988-07-19 American Telephone And Telegraph Company, At&T Bell Laboratories Most significant digit location
US4724529A (en) * 1985-02-14 1988-02-09 Prime Computer, Inc. Method and apparatus for numerical division
US4758972A (en) * 1986-06-02 1988-07-19 Raytheon Company Precision rounding in a floating point arithmetic unit
US4817048A (en) * 1986-08-11 1989-03-28 Amdahl Corporation Divider with quotient digit prediction
US4760550A (en) * 1986-09-11 1988-07-26 Amdahl Corporation Saving cycles in floating point division

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60160438A (ja) * 1984-01-31 1985-08-22 Fujitsu Ltd 除算装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0454633A (ja) * 1990-06-25 1992-02-21 Toshiba Corp 高基数除算器
US5467299A (en) * 1993-03-30 1995-11-14 Mitsubishi Denki Kabushiki Kaisha Divider and microcomputer including the same

Also Published As

Publication number Publication date
DE68924386D1 (de) 1995-11-02
DE68924386T2 (de) 1996-06-13
JPH0833817B2 (ja) 1996-03-29
EP0356153B1 (en) 1995-09-27
EP0356153A2 (en) 1990-02-28
US5023827A (en) 1991-06-11
ATE128564T1 (de) 1995-10-15
CA1332196C (en) 1994-09-27
EP0356153A3 (en) 1992-10-07

Similar Documents

Publication Publication Date Title
JP3541066B2 (ja) コンピュータにおいて除算および平方根計算を実施するための方法および装置
USRE39385E1 (en) Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
JP3144816B2 (ja) 除算を行なう装置
JPH02112023A (ja) 基数16除算器
US5245564A (en) Apparatus for multiplying operands
US5184318A (en) Rectangular array signed digit multiplier
EP1672481B1 (en) Division and square root arithmetic unit
JPH03136129A (ja) 除算回路及び除算方法
KR970008882A (ko) 부동소숫점 나눗셈/제곱근 연산용 스티키비트 계산회로
JP2000259394A (ja) 浮動小数点乗算器
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JPH0969040A (ja) 推測的演算を有する3つのオーバーラップしたステージにより基数2の平方根演算/除算を行う回路
US5144576A (en) Signed digit multiplier
JPH03171324A (ja) オペランドの平方根を計算する回路及び方法
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
KR20020063058A (ko) 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치
JPH05204611A (ja) プリスケール式除算を実行するための方法及び装置
US5818745A (en) Computer for performing non-restoring division
Takagi et al. A VLSI algorithm for computing the Euclidean norm of a 3D vector
US6317772B1 (en) Split remainder divider
JP3233432B2 (ja) 乗算器
Shapran et al. DIVISION USING THE BASE RADIX16 NUMBER SYSTEM TO FORM FRACTION DIGITS
JP2580413B2 (ja) 乗算処理装置
JPH0427587B2 (ja)
Tietze et al. Combinatorial Circuits