JPH07182143A - コンピュータにおいて除算および平方根計算を実施するための方法および装置 - Google Patents

コンピュータにおいて除算および平方根計算を実施するための方法および装置

Info

Publication number
JPH07182143A
JPH07182143A JP6268805A JP26880594A JPH07182143A JP H07182143 A JPH07182143 A JP H07182143A JP 6268805 A JP6268805 A JP 6268805A JP 26880594 A JP26880594 A JP 26880594A JP H07182143 A JPH07182143 A JP H07182143A
Authority
JP
Japan
Prior art keywords
quotient
rounding
remainder
digit
circuit
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
JP6268805A
Other languages
English (en)
Other versions
JP3541066B2 (ja
Inventor
Glenn T Colon-Bonet
グレン・ティー・コロン−ボネット
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH07182143A publication Critical patent/JPH07182143A/ja
Application granted granted Critical
Publication of JP3541066B2 publication Critical patent/JP3541066B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • 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/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5526Roots or inverse roots of single operands
    • G06F2207/5528Non-restoring calculation, where each result digit is either negative, zero or positive, e.g. SRT
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing
    • 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/49957Implementation of IEEE-754 Standard

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 IEEE丸め規格の浮動小数点除算及び平方根計算装置で、
入力データ整列回路10、繰り返し回路12、剰余比較回路
14、と丸め及び選択回路16を含む。繰り返し回路は、桁
選択回路12-1、剰余レシ゛スタ12-2、商論理回路12-3、剰余
形成回路12-4、および商Q、増分商Q+1、減分商Q-1を格
納する商レシ゛スタを含む。剰余形成回路は、Pj+1項の和と
桁上げビットを生成し、順に剰余レシ゛スタに送り返し繰り
返される。商論理回路は商Qを作り、Q、Q+1、Q-1レシ゛スタを
保持する。レシ゛スタ出力は繰り返し用に商論理回路に送り
返される。剰余比較回路は、剰余コンハ゜レータ14-1と論理回
路14-2からなる。剰余コンハ゜レータはPj+1項の和と桁上げを
受信し、「符号」と「ゼロ」ビットを出力し、選択丸めモー
ド信号と共に論理回路に受信される。論理回路は、最終
丸め商として、レシ゛スタQ、Q+1、Q-1の1つの出力を選択する
商選択信号を選択する丸め選択信号を出力する。丸め及
び選択回路は、正剰余丸め部と負剰余丸め部を含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的に浮動小数点演
算の分野に関し、特に、ディジタルコンピュータにおい
て除算と平方根計算を実行するための改善された方法と
装置に関する。本発明の典型的な実施例の1つは、IE
EE規格754−1985によって指定の丸め規格に基
づいてSRT除算及び平方根計算を実施するための方法
及び装置を目的としている。
【0002】
【従来の技術】いわゆる桁毎(digit-by-digit)の除算
(あるいはオン・ライン除算)は、下記の公式に従った
繰り返し処理である。
【0003】
【表1】
【0004】例えば、以下の手動計算は除算に関する上
記公式に従っている。
【0005】
【数1】
【0006】上例で、商を一つずつ形成するのに商の桁
に何を選択するかが直ちにわかるであろう。すなわち、
最初の商の桁として「3」を選択し、次に2番目の剰余
を34.57−3×9=7.57というように計算し、
そして次の商の桁として「8」を選択するといったよう
にして、所望の精度に最終の商(3.84)を形成す
る。しかし、コンピュータはある種のテーブル内で参照
してそれぞれの商の桁を決定するか、またはそれぞれの
桁を決定するのに「ハード配線された」論理回路を用い
る。コンピュータは、さらに、例えば、2進小数点の左
に1つの桁を持つ2進数といった、指定のフォーマット
での数字を表す。コンピュータは、桁毎の技法を用いて
nビットの商を計算するのに、約n/log2(n)の
繰り返しを必要とする。
【0007】桁毎の除算の2つの主要分類は、剰余が常
に正の回復型除算と、剰余が正あるいは負の非回復型除
算である。ほとんどの人間にとって、負の剰余という概
念はなじめないため、手動除算は、たいてい常に回復型
除算によって実施される。しかし、コンピュータは、一
般に、非回復型桁毎の除算を実施する。Sweeney、Rober
tson、及び、Tocher(SRT)アルゴリズムは、コンピ
ュータにおいて非回復型桁毎の除算を実施するための既
知の方法の一例である。
【0008】例えば、基数4の演算の場合、桁集合{−
3、−2、−1、0、1、2、3}は、可能性のある全
ての商を表すのに利用可能である。しかし、負の剰余が
用いられる場合、可能性のある全ての商を表すには、桁
集合{−2、−1、0、1、2}で十分であることがわ
かる。例えば、基数2の数「10011100」は、基
数4の数「2130」に等しいが、符号付き桁の基数4
の数「22−10」にも等しい。すなわち、「22−1
0」の第2の桁位置から借りた(すなわち、第2の2か
ら借りた)4を第3の桁位置に加算する(−1に加算す
る)ことによって、「2130」が得られる。従って、
集合{−2、−1、0、1、2}は、基数4の演算にと
って「最小限に冗長な」桁集合と呼ばれる。一般に、基
数rの演算にとって最小限に冗長な桁集合は、{−r/
2、...0、...r/2}である。
【0009】図1は、基数4のSRT除算を実施するた
めの従来回路のブロック図である。図示のように、除算
ループは、繰り返しrPj及びqj+1項を発生し、一方、
商ビルダは、除算ループと並列に演算して商を組み立て
る。除算ループは一連の基数4の商の桁(2、−1、
0、1、−1、2)を発生し、商ビルダによって符号付
き桁の基数4の商「2.−101−12」に組み立てら
れる。次に、商ビルダ(または別の回路要素)は、基数
4の商を従来の2進数(正の桁)に変換する。
【0010】周知のように、デジタル・コンピュータ
は、同様の公式に基づいて除算及び平方根計算を実施す
る。例えば、桁毎の除算に関する上記公式は、下記の桁
毎の平方根公式に極めてよく似ている: Pj+1=rPj−qj+1(2Qj)−qj+1 2(r-(j+1)) 従って、ここでは、2進浮動小数点除算を実施する方法
及び装置に関連して説明するが、本発明は、平方根計算
を実施するための方法及び装置にも適用可能である。
(後述のように、本発明は、商と平方根の両方を同じ回
路で計算する装置を提供する。) デジタル・コンピュータで除算及び平方根計算を実施す
る場合、丸め操作を実施して、最終結果をコンピュータ
で表現できるようにする必要がある。IEEE規格75
4−1985は、2進浮動小数点演算を実施するための
規格を指定している。IEEE規格によれば、2進浮動
小数点の数は、下記のようにフォーマットされる。
【0011】 1.x234−−−xn1234... 2進小数点の左の先行「1」に2進数(ビット)
「x2」〜「xn」をプラスすることによって、コンピュ
ータで表現される最終のn桁の数が構成される。
「xn」は最下位ビット(LSB)であり、「y1」は
「ガード」ビットであり、ガード・ビットの右の残りの
ビットは共にOR演算されて、「スティッキ」ビットが
形成される。
【0012】IEEE規格には、(1)ゼロに丸める
(nビットまで切り捨てる)、(2)正の無限大に丸め
る、(3)負の無限大に丸める、(4)最寄りの偶数に
丸めるといった、4つの代替丸めモードが含まれる。最
も一般的に用いられる最寄り値への丸めモードについて
は、下記のコードによって説明される。
【0013】
【表2】
【0014】上記コードは、ガード・ビットが「0」な
らばnビットまでを切り捨て、ガード・ビットが「1」
で、スティッキ・ビットが「1」ならば切り上げ、ステ
ィッキ・ビットが「0」で、最下位ビットが「1」なら
ば切り上げ、最下位ビットが「0」ならば切り捨てると
いう最寄り値への丸めモードを示している。
【0015】図2には、非回復型除算に関する従来のI
EEE丸め処理の概略が示されている。この処理には、
2つの追加ビット、ガード・ビット(G)、及び、エキ
ストラ・ビット(R)を加えたnビットの商を形成する
ステップと、剰余がゼロ未満の場合には、商をデクリメ
ントするステップと、最上位ビット(MSB)がゼロの
場合には、全てのビットを1つ左の位置へシフトして、
商を正規化し、結果として、ガード・ビットを備える正
規化商が生じるようにするステップと、選択された丸め
モードに従って、条件付きで商をインクリメントする丸
め論理ブロックにエキストラ・ビットR及びガード・ビ
ットGを入力するステップと、インクリメントによって
オーバフローが生じる場合には、全てのビットを右にシ
フトすることによって、商を再正規化するステップと、
商の最終仮数を記憶するステップとが含まれている。こ
れらの場合、ビットGはビットRになる。ビットRは、
商を左にシフトすべき場合に用いられるということに留
意すべきである。別様であれば、RにはOR演算が施さ
れて、スティッキ・ビットが生じる。
【0016】上に要約した従来の丸め処理には、いくつ
かの問題がある。例えば、剰余は、桁上げ保存形式のた
め(桁上げ保存加算の説明に関しては、以下で十分に言
及する M.Ercegovak 及び T.Lang による 「On-the-fly
Rounding for Division andSquare Root」 を参照された
い)、剰余がゼロか、または、ゼロ未満であるかを判定
するには、log2nのゲート遅延が必要になる。それ
に加えて、ディクリメントおよびインクリメントはそれ
ぞれlog2nの遅延を必要とする。さらに、丸め論理
回路が、クリティカル経路にある場合、さらに遅延する
ことになる。
【0017】参考までに本明細書に組み込まれている、
IEEE Transactions on Computer,Vol.C-36,No.7,pp.895
-897(1987.7)における 「On-the-fly Rounding for Divi
sionand Square Root」 において、M.Ercegovak 及び T.
Langは、商の符号付き桁を従来の(符号無し)桁に変換
して、結果が丸められるようにする方法を開示してい
る。変換/丸め処理は、「オン・ザ・フライ式」に実施
されると言われ、桁上げ伝搬加算を用いないので、その
称するところでは従来の動作よりも高速ということであ
る。
【0018】図3を参照すると、Ercegovak-Lang法(今
後は、「Ercegovak法」と称することにする)には、そ
れぞれ、商Q+1、Q、及び、Q−1を納めた3つの商
レジスタQ+1、Q、Q−1を維持することと、マルチ
プレクサを介して適正な商を選択することが本質的に必
要とされる。「剰余符号」ビット(部分剰余が負の場合
には「1」で、そうでなければ「0」になる)、「剰余
=0」ビット(部分剰余がゼロの場合には「1」で、そ
うでなければ「0」になる)、及び、最終商ディジット
(qn+1)を入力として用いる丸めブロックによって、
選択制御信号が発生する。各商レジスタの内容は、下記
のアルゴリズムに従って設定される。
【0019】
【表3】
【0020】
【表4】
【0021】上記丸めアルゴリズムは、冗長が最小限の
基数4の桁集合、及び、正と負の剰余に関して選択され
た商を示す下記の丸めテーブルに要約されている。この
テーブルは、上述の論文に記載されている唯一の丸めモ
ードである、最寄り値への丸めモードに関するものであ
る。
【0022】
【表5】
【0023】要するに、IEEE除算及び平方根計算に
関する丸め処理は、適正にスティッキ・ビット及びガー
ド・ビットを発生するには、部分剰余の符号を検出し
て、部分剰余をゼロと比較する必要があるので、一般
に、極めてコストのかかるものである。従って、この操
作は、引き続き、商にポスト・インクリメントまたはポ
スト・デクリメントを施して、適正な最終結果を求める
ことになる。Ercegovak によって、可能性のある商値を
あらかじめ計算することと、インクリメント/デクリメ
ントステップを選択ステップに置き換えることを伴う方
法が開示されている。しかし、このErcegovak の丸め法
の利用には欠点がある。例えば、引用した論文には、ア
ルゴリズムを修正して、最寄り値への丸めモード以外の
丸めモードを扱うことができるようにする方法の開示が
ない。さらに、開示の方法は、非正規化仮数を備えたフ
ォーマット(すなわち、Qが1/2≦Q<2の範囲外の
場合)を取り扱えないし、また、IEEE単精度(23
ビット)対IEEE倍精度(52ビット)といった、異
なる数のフォーマットを用いることにより引き起こされ
る複雑性をも扱えないように思われる。さらに、該方法
は、スティッキ・ビットがセットされているものと仮定
するが、これは、全ての場合に当てはまるわけではな
い。
【0024】
【発明が解決しようとする課題】従って、本発明の主た
る目的は、除算及び平方根計算を実施するための改善さ
れた装置を提供することにある。特に、本発明の目的
は、クリティカルな経路の複雑さを軽減し、丸め処理に
よってもたらされる総遅延が、剰余の比較によってもた
らされる遅延にわずかな追加ゲート遅延を加えたものと
ほぼ同じになるようにすることによって、Ercegovak の
丸め処理を改善することにある。換言すれば、本発明の
目的は、約3log2n+K1からlog2n+K2に遅延
数を減少させることにあるが、ここで、K1及びK2は定
数である。さらに、本発明の目的は、全ての3つのIE
EE丸めモードに利用することが可能な除算装置を提供
することにある。さらに、本発明の目的は、商が1/4
≦Q<1/2の範囲内にある場合を取り扱うことが可能
な除算装置を提供することにある。
【0025】
【課題を解決するための手段】本発明によれば、コンピ
ュータで浮動小数点桁毎の除算を実施するための装置を
提供することによって、上述の目的が達成される。本発
明によると、こうした装置は、被除数オペランド及び除
数オペランドを整列させ、前記オペランドを規定のフォ
ーマット内に配置するための入力データ整列手段と、繰
り返し商Qを構成する際に用いられる商の桁qj+1を選
択するための桁選択論理回路と、公式Pj+1=rPj−q
j+1Dに基づいて、除算の部分剰余Pj+1を発生するため
の剰余形成論理回路と、公式Qj+1=Qj+r-(j+1)
j+1に基づいて、商Qを繰り返し構成し、商Qのデクリ
メント及びインクリメントを行って、デクリメントした
商Q−1及びインクリメントした商Q+1を求めるため
の商論理回路と、商Qを記憶するためのQレジスタ、デ
クリメントした商Q−1を記憶するためのQMレジス
タ、及び、インクリメントした商Q+1を記憶するため
のQPレジスタと、複数の規定の丸めモードのうちから
選択された1つを示す丸めモード信号を受信し、部分剰
余Pj+1がゼロであるか否か、及び、部分剰余がゼロ未
満であるか否かを判定し、丸め選択信号を出力するため
の剰余比較論理回路と、最終丸め商として、最後の商の
桁qj+1及び丸め選択信号に基づいて、Q、Q−1、及
び、Q+1のうちの1つを選択するための丸め及び選択
論理回路から構成される。
【0026】本発明の好適な実施例の場合、前記丸め及
び選択論理回路は、正の剰余に関する丸めブロックと、
負の剰余に関する丸めブロックから構成される。前記丸
めブロックは、それぞれ、商選択信号を作り出し、前記
丸め選択信号は、前記Q、QM、及び、QPレジスタか
らの最終丸め商の選択に利用するため、前記商選択信号
のうちの1つを選択する。
【0027】さらに、好適な実施例の場合、剰余形成論
理回路は、また、平方根計算に関する公式P’j+1=r
P’j−qj+1(2Qj)−qj+1 2(r-(j+1))に基づい
て、平方根部分剰余P’j+1を発生する。剰余形成論理
回路は、除算部分剰余及び平方根部分剰余のうちどちら
を発生するかを選択するための手段から構成される。さ
らに、本書に開示の本発明の特定の実施例の場合、剰余
形成論理回路は、現在の除算部分剰余Pjまたは現在の
平方根部分剰余P’jを記憶するための部分剰余レジス
タと、選択的にq2 j+1-(j+1)項を出力する第1の1移
動シフト・レジスタと、第1の1移動シフト・レジスタ
及び部分剰余レジスタに結合され、部分剰余レジスタか
ら数量rPjを受信し、第1の1移動シフト・レジスタ
が出力するq2 j+1-(j+1)の1つまたはゼロを受信し
て、rPjまたはrP’j−q2 j+1-(j +1)を出力する働
きをする桁上げ保存減算回路と、qj+1Dまたはq
j+1(2Qj)を選択的に出力する第2の1移動シフト・
レジスタと、桁上げ保存減算回路の出力を受信し、第2
の1移動シフト・レジスタの出力を受信して、部分剰余
レジスタに記憶される次の除算部分剰余rPj+1または
次の平方根部分剰余rP’j+1を出力する桁上げ保存加
算/減算回路から構成される。
【0028】さらに、好適な実施例の場合、入力データ
整列手段が、計算結果が下記フォーマットの1つをなす
ように、入力オペランドを整列させる。
【0029】IEEE単精度(23ビット+先行1)
【0030】
【数2】
【0031】IEEE倍精度(52ビット+先行1)
【0032】
【数3】
【0033】規定の丸めモードには、IEEE最寄り値
への丸めモード、IEEEゼロへの丸めモード、及び、
IEEE無限大への丸めモードを含めることが好まし
い。
【0034】本発明では、先行技術に比べて、いくつか
の重要な利点が得られる。例えば、本発明は、同じ回路
で除算及び平方根計算を実施するための手段を提供す
る。さらに、本発明は、単精度及び倍精度の両方の計算
を実施することが可能な回路を提供する。さらに、本発
明の回路は、剰余比較だけに必要な遅延からくるほとん
どわずかな遅延しか示さない。さらに、本発明の場合、
結果を左へ1桁だけシフトしても、やはり、適正な結果
であることが可能になる。
【0035】
【実施例】詳細に後述するように、本発明の好適な実施
例は、次のように進展させることができる。最初に、そ
の適正位置に先行1を配置する(すなわち、1/4≦Q
<1になるようにする)のに、商をあらかじめシフトし
ておく必要がある場合を取り扱えるように、Ercegovak
のオン・ザ・フライ式丸め法が拡張される。次に、全て
のIEEE丸めモード、すなわち、ゼロへの丸め、無限
大への丸め、及び、最寄り値への丸めモードを含むよう
に、Ercegovak の商選択テーブルが拡張される。次に、
除算及び平方根にとって不可能な場合を除去することに
よって、該商選択テーブルが削減される。次に、全ての
場合を2つの並列選択単位にマッピングすることによっ
て、該商選択テーブルがさらに削減される。これによっ
て、一層の削減が施された選択テーブルを用いる簡略化
丸め法が得られる。
【0036】このようにして、本発明の好適な実施例
は、追加丸めモード(ゼロへの丸め及び無限大への丸
め)、及び、各モード毎に、追加シフト丸めモードを含
む、下記の「拡張丸めテーブル」から生じたものであ
る。さらに、新しいテーブルは、剰余が正、ゼロ、及
び、負の領域に分割されている。
【0037】
【表6】
【0038】上記テーブルにおいて、「QM」及び「Q
P」は、それぞれ、「Q−1」及び「Q+1」を表して
いる。Q,1、QM,1、または、QP,1の表記は、そ
れぞれ、商Q、QM、または、QPのシフト・バージョ
ンを表している。
【0039】本発明は、いわゆる「クリティカルな経
路」を減少させる、換言すれば、最終入力の到着から商
選択及びLSB信号の発生までの総遅延を減少させるこ
とと、剰余比較出力をクリティカルな経路の終盤に移行
させることと、桁及び商情報の早期到着を利用すること
を意図したものである。上記テーブルに関連して、本発
明では、不可能な場合を除去することによって複雑さを
軽減している。本発明では、論理から符号及びゼロ剰余
も除去し、選択機能に置き換えている。本発明者は、除
算及び平方根計算の下記特性を利用した、後述の「簡略
化丸めテーブル」を開発した: (1)正確な除算では、ガード、剰余、及び、符号ビッ
トがゼロになるように、最後の桁として必ずゼロを選択
することになる。これは、その結果が正確に除算したも
のであれば(すなわち、n+1の繰り返し時に、部分剰
余pn+1=0の場合)、選択すべき唯一の適正な商の桁
(qn+1)がゼロになるという立証可能な事実に基づく
ものである。
【0040】(2)剰余がゼロに等しい場合をテーブル
中の他の場合にマッピングすることによって、2つの丸
め単位、すなわち、剰余が正の場合に関する単位と、剰
余が負の場合に関する単位をもたらすことが可能であ
る。
【0041】下記の簡略化丸めテーブルを用いるために
は、該丸め法において、pj=kDの場合、桁kが選択
されることを保証しなければならない。
【0042】
【表7】
【0043】テーブル中央の最後の桁=0、符号=0、
ゼロ=1の場合は、正の剰余(「符号=0」)及び負の
剰余(「符号=1」)の場合にマッピングすることが可
能である。従って、テーブルのこの中央部分は、下記の
「更なる簡略化丸めテーブル」に示すように、除去する
ことが可能である。
【0044】
【表8】
【0045】従って、Ercegovak の方法で用いられた複
雑な丸めブロック(図3)は、2つのより単純な丸めブ
ロック、すなわち、正の剰余に関するブロックと負の剰
余に関するブロックに置き換えることができる。
【0046】最終商及び桁のフォーマットは、下記のよ
うになるはずである:
【0047】
【数4】
【0048】最終商のフォーマットは、下記の特性を備
えているべきである: 1.IEEEの適正な答は、Q、Q−1、または、Q+
1レジスタの値の1つになるか、あるいは、単一操作で
1ビット分左にシフトし、LSBを追加することによっ
て、これらの値の一つから得られるべきである。
【0049】2.左へのシフトが必要な場合、繰り返し
数が変動してはならない。
【0050】3.基数の小数点は、桁境界上に位置すべ
きである。
【0051】この結果、下記の商整列がとれる。
【0052】IEEE単精度(23ビット+先行1)
【0053】
【数5】
【0054】IEEE倍精度(52ビット+先行1)
【0055】
【数6】
【0056】本発明の丸め法を用いるためには、入力デ
ータの整列をあらかじめとっておいて、上記フォーマッ
トの1つによる結果が得られるようにしなければならな
い。
【0057】図4は、本発明の一つの好適な実施例のブ
ロック図である。好適実施例には、入力データ整列回路
10、コア繰り返し回路12、剰余比較回路14、及
び、丸め及び選択回路16が含まれている。
【0058】入力データ整列回路10は、上述のよう
に、入力オペランド(「A」及び「B」で表示)を整列
させる。コア繰り返し回路12には、桁選択回路12−
1、剰余レジスタ12−2、商論理回路12−3、剰余
形成回路12−4、及び、商Q、インクリメントした商
Q+1、デクリメントした商Q−1を記憶するための商
レジスタ(これらのレジスタは、本書では、それぞれ、
「Q」、「QP」、及び、「QM」とも呼ばれる)が含
まれている。
【0059】桁選択回路は、先行技術による既知の方法
で、すなわち、部分剰余(rPj)、及び、除算におけ
る除数(D)または平方根計算における部分根(2
j)に基づいて、特定の商の桁を選択することによっ
て、次の商の桁qj+1を選択する。商の桁は、固定論理
回路を用いて、あるいは、記憶されたテーブル(例え
ば、除数または部分根に対応する列と、部分剰余に対応
する行を備える)から選択することが可能である。
【0060】剰余形成回路12−4は、Pj+1項の和及
び桁上げビットを発生し、これが、順に、部分剰余レジ
スタ12−2に送り返されて、後続の繰り返しに用いら
れる。剰余形成回路12−4については、以下に図5を
参照して、さらに詳細に記述する。
【0061】商論理回路12−3は、商Qを作り上げ、
それぞれの商Q、Q+1、及び、Q−1レジスタを保持
する。これらのレジスタの出力は、商論理回路に送り返
され、後続の繰り返しに用いられる。商論理回路12−
3については、以下に図6を参照して記述する。
【0062】剰余比較回路14は、剰余コンパレータ1
4−1及び論理回路14−2から構成される。剰余コン
パレータ14−1は、Pj+1項の和及び桁上げビットを
受信して、上記簡略化丸めテーブルにおいて言及した
「符号」及び「ゼロ」ビット(すなわち、剰余=0、剰
余<0)を出力する。これらのビットは、選択された丸
めモード、例えば、シフトまたは正規化された最寄り値
への丸め、ゼロへの丸め、または、無限大への丸めを表
した、丸めモード信号と共に、論理回路14−2によっ
て受信される。論理回路14−2は、最終丸め商とし
て、商レジスタQ、Q+1、Q−1のうちの1つの出力
を選択するための商選択信号を選択する、丸め選択信号
を出力する。
【0063】丸め選択ブロック14−2の論理は、下記
のコードによって表される。
【0064】
【表9】
【0065】丸め及び選択回路16には、正の剰余に関
する丸めブロック16−1、負の剰余に関する丸めブロ
ック16−2、第1のマルチプレクサ16−3、及び、
第2のマルチプレクサ16−4が含まれている。丸めブ
ロック16−1及び16−2は、桁選択回路12−1か
ら選択された商の桁qj+1を受信し、それぞれ、正及び
負の部分剰余値に関する商選択信号を発生する。商選択
信号は、第1のマルチプレクサ16−3に入力され、該
マルチプレクサは、剰余比較論理回路14−2によって
供給される丸め選択信号に基づいて、これらの商選択信
号から選択された信号を出力する。マルチプレクサ16
−3によって出力される商選択信号は、第2のマルチプ
レクサ16−4によって、最終丸め商として、Q、Q+
1、Q−1のうちの1つを選択するために利用される。
【0066】丸めブロック16−1及び16−2の詳細
については、その機能性を表した擬似コードによって最
も良く説明することができる。
【0067】
【表10】
【0068】
【表11】
【0069】
【表12】
【0070】
【表13】
【0071】
【表14】
【0072】
【表15】
【0073】図5は、図4の装置の剰余形成ブロック1
2−4に用いられる剰余形成回路の好適実施例の1つに
関する概略図である。この回路は、基数4の演算に関す
るものであるが、他の記数法にも適応可能である。該回
路には、部分剰余レジスタ20、桁上げ保存減算回路2
2、第1の3対1「1移動」シフト・レジスタ24、A
NDゲート26、桁上げ保存加算/減算回路28、第2
の3対1「1移動」シフト・レジスタ30、及び、1対
の2対1「1移動」シフト・レジスタ32、34が含ま
れている。剰余形成回路の動作については、当業者には
明らかである。しかし、完全を期して、下記説明を行う
ものとする。
【0074】例えば、j+1番目の繰り返しといった、
繰り返しの開始時に、部分剰余レジスタ20には、除算
部分剰余rPjまたは平方根部分剰余rP’jが納められ
ている。ANDゲート26の出力は、ゼロ、または、平
方根計算のための二乗項である数量q2 j+1(r-(j+1)
になる。平方根出力は、ANDゲートの第2の入力端子
に対する「平方根」信号入力が、高(「1」)の場合に
供給され、別様の場合、ANDゲートの出力はゼロにな
る。q2 j+1(r-(j+1))は、桁選択論理回路12−3
(図4)から商の桁q2 j+1(例えば、0、1、または、
2)を受信し、入力0、12*4-j、または、22*4-j
基づいて、この桁をシフトする第1の1移動シフト・レ
ジスタ24によって発生する。従って、桁上げ保存減算
回路22は、平方根信号が高か低かによって、rPj
たはrP’j−q2 j+1-(j+1)を出力する。第2の1移
動シフト・レジスタ30は、第1の1移動シフト・レジ
スタ24から商の桁q2 j+1(例えば、0、1、または、
2)を受信し、qj+1Dまたはqj+1(2Qj)(前者は
除算に関するものであり、後者は平方根計算に関するも
のである)を出力するが、ここで、Dは除数を表し、Q
jは部分根を表している。従って、桁上げ保存加算/減
算回路28は、一方の入力で数量rPjまたはrP’j
2 j+1-(j+1)を受信し、もう一方の入力で数量qj+1
Dまたはqj+1(2Qj)を受信する。従って、部分剰余
レジスタ20に送り返される桁上げ保存加算/減算回路
28の出力は、除算部分剰余Pj+1=rPj−qj+1D、
または、平方根部分剰余P’j+1=rP’j−qj+1(2
j)−qj+1 2(r-(j+1))になる。
【0075】図6には、図4にブロック12−3によっ
て表された、商発生回路の概略が示されている。図示の
ように、該回路には、2対1マルチプレクサ40、書き
込みシフタ42、ORゲート44、Q+1レジスタ4
6、別の2対1マルチプレクサ48、別の書き込みシフ
タ50、別のORゲート52、Qレジスタ54、別の2
対1マルチプレクサ56、別の書き込みシフタ58、別
のORゲート59、Q−1レジスタ60、Q+1追加/
選択論理ブロック62、Q追加/選択論理ブロック6
4、及び、Q−1追加/選択論理ブロック66が含まれ
ている。この回路の働きについては、特に、商発生動作
に関する以上の説明を考慮することにより、当業者には
明らかになるであろう。従って、この回路については、
これ以上の説明は行わない。
【0076】好適な実施例に関する以上の解説は、特許
請求の範囲の請求項の保護範囲を暗に制限することを意
図したものではない。従って、特に限定されていない限
り、特許請求の範囲の請求項は、例えば、基数4の演算
を実施するための装置、または、上述の特定のIEEE
丸めモードに制限されるものではない。
【0077】以下に、本発明の実施態様を列記する。
【0078】1.(a)被除数オペランド及び除数オペ
ランドを整列させ、前記オペランドを規定のフォーマッ
ト内に配置するための入力データ整列手段と、 (b)繰り返し商Qを構成する際に用いられる商の桁q
j+1を選択するための桁選択論理回路と、 (c)除算に関する公式 Pj+1=rPj−qj+1D (ここで、「j」は、前記商の構成に用いられる、繰り
返しを表すインデックスであり、「Pj」は、j番目の
繰り返しにおける剰余を表し、「r」は、コンピュータ
において数を表すために用いられる記数法の基数を表
し、「D」は、除数を表している)に基づいて、除算の
部分剰余Pj+1を発生するための剰余形成論理回路と、 (d)公式 Qj+1=Qj+r-(j+1)j+1 (ここで、「Qj」は、j番目の繰り返しにおける商Q
を表す)に基づいて、前記商Qを繰り返し構成し、前記
商Qのデクリメント及びインクリメントを行って、デク
リメントした商Q−1及びインクリメントした商Q+1
を求めるための商論理回路と、 (e)商Qを記憶するためのQレジスタ、デクリメント
した商Q−1を記憶するためのQMレジスタ、及び、イ
ンクリメントした商Q+1を記憶するためのQPレジス
タと、 (f)複数の規定の丸めモードのうちから選択された1
つを示す丸めモード信号を受信し、前記部分剰余Pj+1
がゼロであるか否か、及び、前記部分剰余がゼロ未満で
あるか否かを判定し、丸め選択信号を出力するための剰
余比較論理回路と、 (g)最終丸め商として、最後の商の桁qj+1及び前記
丸め選択信号に基づいて、Q、Q−1、及び、Q+1の
うちの1つを選択するための丸め及び選択論理回路とか
ら構成される、コンピュータにおいて浮動小数点桁毎の
除算を実施するための装置。
【0079】2.前記丸め及び選択論理回路が、正の剰
余に関する丸めブロックと、負の剰余に関する丸めブロ
ックから構成されることと、前記丸めブロックが、それ
ぞれ、商選択信号を送り出すことと、前記丸め選択信号
が、前記Q、QM、及び、QPレジスタからの最終丸め
商の選択に利用するため、前記商選択信号のうちの1つ
を選択することを特徴とする前項1に記載の装置。
【0080】3.前記剰余形成論理回路が、さらに、平
方根計算に関する以下の公式 P’j+1=rP’j−qj+1(2Qj)−q
j+1 2(r-(j+1)) に基づいて、平方根部分剰余P’j+1を発生すること
と、剰余形成論理回路が、前記除算部分剰余及び平方根
部分剰余のうちどちらを発生するかを選択するための手
段から構成されることを特徴とする前項1または2に記
載の装置。
【0081】4.前記剰余形成論理回路は、さらに、現
在の除算部分剰余Pjまたは現在の平方根部分剰余P’j
を記憶するための部分剰余レジスタと、選択的にq2 j+1
-(j+1)項を出力する第1の1移動シフト・レジスタ
と、前記第1の1移動シフト・レジスタ及び前記部分剰
余レジスタに結合され、前記部分剰余レジスタから数量
rPjを受信し、前記第1の1移動シフト・レジスタが
出力するq2 j+1-(j+1)の1つまたはゼロを受信して、
rPjまたはrP’j−q2 j+1-(j+1)を出力する働きを
する桁上げ保存減算回路と、qj+1Dまたはqj+1(2Q
j)を選択的に出力する(第2の)マルチプレクサ回路
と、前記桁上げ保存減算回路の出力を受信し、前記第2
のマルチプレクサ回路の出力を受信して、前記部分剰余
レジスタに記憶するために次の除算部分剰余rPj +1
たは次の平方根部分剰余rP’j+1を出力する桁上げ保
存加算/減算回路とから構成されることを特徴とする前
項3に記載の装置。
【0082】5.前記規定のフォーマットが、 単精度 00.1xxx−−−−−−−xL Gx 「正規化」 00.01xxx−−−−−−−x LG 「シフト」 倍精度 01.xxx−−−−−−−−−−−−−−−xL G
x 「正規化」 00.1xxx−−−−−−−−−−−−−−−x L
G 「シフト」 の一方から構成され、ここで、「x」が、0または1を
表し、「L」が、最下位ビット(LSB)を表し、
「G」が、ガード・ビットを表すことを特徴とする、前
項1〜4の任意の1つに記載の装置。
【0083】6.前記規定の丸めモードに、IEEE最
寄り値への丸めモード、IEEEゼロへの丸めモード、
及び、IEEE無限大への丸めモードが含まれることを
特徴とする前項1〜5任意の1つに記載の装置。
【0084】
【発明の効果】本発明は上述のように構成したので、従
来法による複雑な丸めブロックを単純な2つのブロッ
ク、つまり正の剰余に関する丸めブロックと負の剰余に
関する丸めブロックで構成し、簡略化丸めテーブルを使
用して丸め処理を行い、又剰余比較をクリティカルな経
路であるコア繰り返し回路の後で実施することにより、
丸め処理によってもたらされる総遅延を、剰余比較によ
る遅延にわずかなゲート遅延を加えた程度まで削減する
ことにより、高速な演算処理が可能となる。更に、同じ
剰余形成回路を使用して、除算と平方根計算の両方の演
算が可能となる。更には、IEEE標準である単精度お
よび倍精度フォーマット、あるいは非正規化仮数を備え
た異なるフォーマットにも対応可能であるといった効果
がある。
【図面の簡単な説明】
【図1】基数4のSRT除算を実施するための従来の回
路に関するブロック図である。
【図2】先行技術によるIEEE丸め処理の概略図であ
る。
【図3】Ercegovak の丸め法を表したブロック図であ
る。
【図4】IEEE丸め規格に基づいて、浮動小数点除算
及び平方根計算を実施するための、本発明による装置の
一つの好適な実施例に関するブロック図である。
【図5】図4の装置に関する剰余形成ブロック12−4
に用いられる剰余形成回路の概略図である。
【図6】商発生ブロックに用いられる商論理回路の概略
図である。
【符号の説明】
10 入力データ整列回路 12 コア繰り返し回路 12−1 桁選択回路 12−2 剰余レジスタ 12−3 商論理回路 12−4 剰余形成回路 14 剰余比較回路 14−1 剰余コンパレータ 14−2 論理回路 16 丸め及び選択回路 16−1 正剰余に関する丸めブロック 16−2 負剰余に関する丸めブロック 16−3 第1のマルチプレクサ 16−4 第2のマルチプレクサ 20 部分剰余レジスタ 22 桁上げ保存減算回路 24 第1の3対1「1移動」シフト・レジスタ 26 ANDゲート 28 桁上げ保存加算/減算回路 30 第2の3対1「1移動」シフト・レジスタ 32 2対1「1移動」シフト・レジスタ 34 2対1「1移動」シフト・レジスタ 40 2対1マルチプレクサ 42 書き込みシフタ 44 ORゲート 46 Q+1レジスタ 48 別の2対1マルチプレクサ 50 別の書き込みシフタ 52 別のORゲート 54 Qレジスタ 56 別の2対1マルチプレクサ 58 別の書き込みシフタ 59 別のORゲート 60 Q−1レジスタ 62 Q+1追加/選択論理ブロック 64 Q追加/選択論理ブロック 66 Q−1追加/選択論理ブロック

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】(a)被除数オペランド及び除数オペラン
    ドを整列させ、前記オペランドを規定のフォーマット内
    に配置するための入力データ整列手段と、 (b)繰り返し商Qを構成する際に用いられる商の桁q
    j+1を選択するための桁選択論理回路と、 (c)除算に関する公式 Pj+1=rPj−qj+1D (ここで、「j」は、前記商の構成に用いられる、繰り
    返しを表すインデックスであり、「Pj」は、j番目の
    繰り返しにおける剰余を表し、「r」は、コンピュータ
    において数を表すために用いられる記数法の基数を表
    し、「D」は、除数を表している)に基づいて、除算の
    部分剰余Pj+1を発生するための剰余形成論理回路と、 (d)公式 Qj+1=Qj+r-(j+1)j+1 (ここで、「Qj」は、j番目の繰り返しにおける商Q
    を表す)に基づいて、前記商Qを繰り返し構成し、前記
    商Qのデクリメント及びインクリメントを行って、デク
    リメントした商Q−1及びインクリメントした商Q+1
    を求めるための商論理回路と、 (e)商Qを記憶するためのQレジスタ、デクリメント
    した商Q−1を記憶するためのQMレジスタ、及び、イ
    ンクリメントした商Q+1を記憶するためのQPレジス
    タと、 (f)複数の規定の丸めモードのうちから選択された1
    つを示す丸めモード信号を受信し、前記部分剰余Pj+1
    がゼロであるか否か、及び、前記部分剰余がゼロ未満で
    あるか否かを判定し、丸め選択信号を出力するための剰
    余比較論理回路と、 (g)最終丸め商として、最後の商の桁qj+1及び前記
    丸め選択信号に基づいて、Q、Q−1、及び、Q+1の
    うちの1つを選択するための丸め及び選択論理回路とか
    ら構成される、 コンピュータにおいて浮動小数点桁毎の除算を実施する
    ための装置。
JP26880594A 1993-11-01 1994-11-01 コンピュータにおいて除算および平方根計算を実施するための方法および装置 Expired - Fee Related JP3541066B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/146,895 US5404324A (en) 1993-11-01 1993-11-01 Methods and apparatus for performing division and square root computations in a computer
US146895 1993-11-01

Publications (2)

Publication Number Publication Date
JPH07182143A true JPH07182143A (ja) 1995-07-21
JP3541066B2 JP3541066B2 (ja) 2004-07-07

Family

ID=22519461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26880594A Expired - Fee Related JP3541066B2 (ja) 1993-11-01 1994-11-01 コンピュータにおいて除算および平方根計算を実施するための方法および装置

Country Status (2)

Country Link
US (1) US5404324A (ja)
JP (1) JP3541066B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007063601A1 (ja) 2005-12-02 2007-06-07 Fujitsu Limited 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法
JP2015219730A (ja) * 2014-05-19 2015-12-07 瑞起 久保 計算機およびプログラム
JP2018139134A (ja) * 2006-09-22 2018-09-06 インテル コーポレイション 命令に応じた丸め処理の実行

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408426A (en) * 1992-03-17 1995-04-18 Hitachi, Ltd. Arithmetic unit capable of performing concurrent operations for high speed operation
GB9312745D0 (en) * 1993-06-21 1993-08-04 Questech Ltd Accurate digital divider
FR2720172B1 (fr) * 1994-05-20 1996-06-28 Sgs Thomson Microelectronics Dispositif de mise en Óoeuvre numérique d'une opération de division.
US5511016A (en) * 1994-11-30 1996-04-23 International Business Machines Corporation Method for store rounding and circuit therefor
JP3609512B2 (ja) * 1994-12-15 2005-01-12 株式会社東芝 演算器
US5696712A (en) * 1995-07-05 1997-12-09 Sun Microsystems, Inc. Three overlapped stages of radix-2 square root/division with speculative execution
US5856831A (en) * 1996-06-12 1999-01-05 Hewlett-Packard Company Clamping system and method for clamping floating point color values from a geometry accelerator in a computer graphics system
US6058410A (en) * 1996-12-02 2000-05-02 Intel Corporation Method and apparatus for selecting a rounding mode for a numeric operation
US6109777A (en) * 1997-04-16 2000-08-29 Compaq Computer Corporation Division with limited carry-propagation in quotient accumulation
US6012078A (en) * 1997-06-23 2000-01-04 Wood; Lawson A. Calculation unit
US6360241B1 (en) 1999-02-01 2002-03-19 Compaq Information Technologies Goup, L.P. Computer method and apparatus for division and square root operations using signed digit
US6732135B1 (en) * 1999-02-01 2004-05-04 Hewlett-Packard Development Company, L.P. Method and apparatus for accumulating partial quotients in a digital processor
US6847985B1 (en) * 2001-08-10 2005-01-25 Lsi Logic Corporation Floating point divide and square root processor
KR100407562B1 (ko) * 2001-11-21 2003-11-28 삼성전자주식회사 제산 및 제곱근 계산 장치 및 방법
EP1315082A1 (en) * 2001-11-22 2003-05-28 STMicroelectronics Limited Iteration circuitry for carrying out square root operation on floating point numbers
EP1315079A1 (en) * 2001-11-22 2003-05-28 STMicroelectronics Limited Circuit for calculation of division and square root with floating point numbers
EP1315080A1 (en) * 2001-11-22 2003-05-28 STMicroelectronics Limited Circuitry for carrying out square root and division operations
EP1315077A1 (en) * 2001-11-23 2003-05-28 STMicroelectronics Limited Circuitry and method for performing floating point compare operations
US7660842B2 (en) * 2003-05-12 2010-02-09 Sun Microsystems, Inc. Method and apparatus for performing a carry-save division operation
US7139786B2 (en) * 2003-05-12 2006-11-21 Sun Microsystems, Inc. Method and apparatus for efficiently performing a square root operation
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US20070086286A1 (en) * 2005-10-17 2007-04-19 Bing-Yu Hsieh Wobble signal synthesizer and method for generating synthesized wobble signal synchronized with physical wobble signal through comparing phases of both land pre-pit signal and synthesized wobble signal with a reference clock
US7752250B2 (en) * 2006-01-12 2010-07-06 International Business Machines Corporation Rounding floating point division results
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266198B2 (en) * 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8041759B1 (en) 2006-02-09 2011-10-18 Altera Corporation Specialized processing block for programmable logic device
US7836117B1 (en) 2006-04-07 2010-11-16 Altera Corporation Specialized processing block for programmable logic device
US7822799B1 (en) 2006-06-26 2010-10-26 Altera Corporation Adder-rounder circuitry for specialized processing block in programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7930336B2 (en) * 2006-12-05 2011-04-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US7814137B1 (en) 2007-01-09 2010-10-12 Altera Corporation Combined interpolation and decimation filter for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US7865541B1 (en) 2007-01-22 2011-01-04 Altera Corporation Configuring floating point operations in a programmable logic device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US7949699B1 (en) 2007-08-30 2011-05-24 Altera Corporation Implementation of decimation filter in integrated circuit device using ram-based data storage
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8244789B1 (en) 2008-03-14 2012-08-14 Altera Corporation Normalization of floating point operations in a programmable integrated circuit device
US8626815B1 (en) 2008-07-14 2014-01-07 Altera Corporation Configuring a programmable integrated circuit device to perform matrix multiplication
US8255448B1 (en) 2008-10-02 2012-08-28 Altera Corporation Implementing division in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8805916B2 (en) * 2009-03-03 2014-08-12 Altera Corporation Digital signal processing circuitry with redundancy and bidirectional data paths
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8549055B2 (en) * 2009-03-03 2013-10-01 Altera Corporation Modular digital signal processing circuitry with optionally usable, dedicated connections between modules of the circuitry
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8886696B1 (en) 2009-03-03 2014-11-11 Altera Corporation Digital signal processing circuitry with redundancy and ability to support larger multipliers
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
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US7948267B1 (en) 2010-02-09 2011-05-24 Altera Corporation Efficient rounding circuits and methods in configurable integrated circuit devices
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) * 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8458243B1 (en) 2010-03-03 2013-06-04 Altera Corporation Digital signal processing circuit blocks with support for systolic finite-impulse-response digital filtering
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) * 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
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
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9342270B2 (en) * 2013-03-14 2016-05-17 Imagination Technologies Limited Conversion of a normalized n-bit value into a normalized m-bit value
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9379687B1 (en) 2014-01-14 2016-06-28 Altera Corporation Pipelined systolic finite impulse response filter
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10359995B2 (en) 2016-04-29 2019-07-23 Texas Instruments Incorporated Architecture and instruction set to support integer division
US10635395B2 (en) * 2016-06-30 2020-04-28 Texas Instruments Incorporated Architecture and instruction set to support interruptible floating point division
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device
US11281428B2 (en) 2019-03-12 2022-03-22 Arm Limited Conversion circuitry
US11119731B2 (en) * 2019-03-12 2021-09-14 Arm Limited Apparatus and method for rounding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999801A (en) * 1988-07-15 1991-03-12 Fujitsu Limited Floating point operation unit in division and square root operations
US4949295A (en) * 1988-07-18 1990-08-14 Lsi Logic Corporation Transformation of divisor and dividend in digital division
US5132925A (en) * 1988-08-18 1992-07-21 Digital Equipment Corporation Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US4996660A (en) * 1989-04-17 1991-02-26 International Business Machines Corporation Selection of divisor multipliers in a floating point divide circuit
JPH04283831A (ja) * 1991-03-13 1992-10-08 Fujitsu Ltd 除算器
US5272660A (en) * 1992-06-01 1993-12-21 Motorola, Inc. Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
US5204829A (en) * 1992-07-10 1993-04-20 Lsi Logic Corporation Interleaving operations in a floating-point numeric processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007063601A1 (ja) 2005-12-02 2007-06-07 Fujitsu Limited 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法
US8166092B2 (en) 2005-12-02 2012-04-24 Fujitsu Limited Arithmetic device for performing division or square root operation of floating point number and arithmetic method therefor
JP2018139134A (ja) * 2006-09-22 2018-09-06 インテル コーポレイション 命令に応じた丸め処理の実行
JP2015219730A (ja) * 2014-05-19 2015-12-07 瑞起 久保 計算機およびプログラム

Also Published As

Publication number Publication date
US5404324A (en) 1995-04-04
JP3541066B2 (ja) 2004-07-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
US8489663B2 (en) Decimal floating-point adder with leading zero anticipation
US7346643B1 (en) Processor with improved accuracy for multiply-add operations
US5184318A (en) Rectangular array signed digit multiplier
US7921149B2 (en) Division and square root arithmetic unit
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US8060551B2 (en) Method and apparatus for integer division
Bruguera Low latency floating-point division and square root unit
US5144576A (en) Signed digit multiplier
KR20020063058A (ko) 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치
US5818745A (en) Computer for performing non-restoring division
US11119731B2 (en) Apparatus and method for rounding
Bruguera Low-latency and high-bandwidth pipelined radix-64 division and square root unit
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JPH0687218B2 (ja) 浮動小数点数演算処理装置及び除数倍数生成装置
US6317772B1 (en) Split remainder divider
Lang et al. Division unit for binary integer decimals
US7640286B2 (en) Data processing apparatus and method for performing floating point multiplication
JP2761145B2 (ja) 開平演算装置
JP3233432B2 (ja) 乗算器
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
Castellanos Analysis and implementation of decimal arithmetic hardware in nanometer CMOS technology
Muller et al. Algorithms for the five basic operations

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees