JPH0749771A - 近似値を丸める方法 - Google Patents

近似値を丸める方法

Info

Publication number
JPH0749771A
JPH0749771A JP6059043A JP5904394A JPH0749771A JP H0749771 A JPH0749771 A JP H0749771A JP 6059043 A JP6059043 A JP 6059043A JP 5904394 A JP5904394 A JP 5904394A JP H0749771 A JPH0749771 A JP H0749771A
Authority
JP
Japan
Prior art keywords
register
square root
dividend
approximate
rounding
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.)
Pending
Application number
JP6059043A
Other languages
English (en)
Inventor
Henry M Darley
エム.ダーリィ ヘンリイ
Michael C Gill
シー.ジル マイクル
Dale C Earl
シー.アール デール
Dinh T Ngo
ティー.ヌゴ ディン
Paul C Wang
シー .ウォング ポール
Maria B L Hipona
ビー.エル.ヒポナ マリア
Jim Dodrill
ドッドリル ジム
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH0749771A publication Critical patent/JPH0749771A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/4824Methods 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 using signed-digit representation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)【要約】 【目的】 除算または平方根の計算の最終的な近似値を
丸める方向を素早く決定する方法を得ること。 【構成】 除算または平方根の計算の最終的な近似値を
丸める方向を素早く決定するために比較回路120を設
ける。平方根の場合、平方根の最終的な近似値を自乗
し、演算数と比較する。丸めをどうするかは、演算数と
近似された平方根との大小に基づく。除算では、商の最
終的な近似値に除数を乗じ、被除数と比較する。被除数
と計算された積との大小に基づいて丸めの方向が決定さ
れる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、全般的に集積回路、
更に具体的に言えば、除算数および平方根の計算を効率
的に行う方法に関する。
【0002】
【従来の技術および問題点】計算機、信号処理装置およ
びプロセス制御装置のような多くのシステムでは、高速
の計算が設計の重要な観点である。このようなシステム
は、高速の計算を行うために、次第に高度に並列の設計
を用いたLSI集積回路に頼っている。並列方式を利用
して整数および浮動少数点乗算を行う特殊な集積回路が
いろいろ利用し得る。しかし、除算および平方根を求め
る集積回路は一般的に直列であり、そのためにその有効
性が低下する。除算は、周知の収斂アルゴリズムを用い
ることにより、他の回路と共に高速乗算器によって実施
することができる。一般的に、高速並列乗算器は2つの
主な部分に分割することをできる。第1の部分は、部分
積発生器と、部分積を和および桁上げのストリームに還
元する加算器アレイを含んでいる。第2の部分が、桁上
げおよび和のストリームを加算する最終加算器を含む。
第2の部分は桁上げチェーンに関係するから、最終的な
加算は、部分積の発生および加算と大体同じ長さの時間
を使う。両半分の間にパイプライン・レジスタを挿入し
て、乗算器のスループットを高める場合が多い。これ
は、後半分が初めの計算を完了する間、前半分が次の動
作を開始することができるからである。
【0003】その結果、高速並列乗算器は、収斂アルゴ
リズムの毎回の繰り返しに対し、少なくとも3クロック
・サイクルを必要とする。このため、除算および平方根
の計算は、他の計算に較べてかなりの時間を必要とす
る。従って、業界には、高速で除算および平方根の計算
ができるプロセッサに対する要望がある。
【0004】
【問題点を解決するための手段】この発明では、従来の
除算および平方根の計算に伴う欠点および問題点を実質
的になくすか又は防止するプロセッサを提供する。この
発明では、除算または平方根の計算の最終的な近似値を
丸めるべき方向を素早く決定するために、比較回路を設
ける。除算では、商の最終的な近似値に除数を乗じ、被
除数と比較する。被除数が計算された積より大きいか、
それより小さいか又はそれに等しいかに基づいて丸めの
方向が決められる。平方根の場合、平方根の最終的な近
似値を自乗し、演算数と比較する。丸めをどうするか
は、演算数が近似された平方根の自乗より大きいか、そ
れより小さいか又はそれに等しいかに基づく。この発明
では、演算数の最下位ビットだけを近似値の対応するビ
ットと比較し、その両側の保護ビットだけを用いればよ
いから、最小限の比較回路を用いて、最終的な近似値の
丸めを速やかに行うことができると言う利点が得られ
る。この発明並びにその利点が更によく理解されるよう
に、図面を参照して説明する。
【0005】
【実施例】この発明の好ましい実施例は、図1および図
2を見れば最もよく理解されよう。図面全体にわたっ
て、同様な部分および対応する部分には同じ参照番号を
用いている。図1は、この発明のプロセッサの回路図を
示す。この発明のプロセッサ10が3つの段階に別けて
示されている。すなわち、入力段12、計算段14およ
び出力段16である。入力段は、A入力データ・バス2
0aおよびB入力データ・バス20bで構成された入力
データ・バス20に接続される一時レジスタ18を有す
る。バリティ検査装置22a,22bが各々入力データ
・バス20a,20bに接続されると共に、バリティ線
24a,24bに接続される。バリティ検査装置22
a,22bからはパリディ誤り線26a,26bが出力
される。入力データ・バス20a,20bは、一時レジ
スタ18の出力と共に、形式論理回路28にも接続され
る。形式制御信号30および「クロック・モード」信号
31が形式論理回路28に入力される。形式論理回路2
8の出力がAおよびB入力レジスタ33,34に接続さ
れる。イネーブル信号線36,38が各々A入力レジス
タおよびB入力レジスタ34に接続される。AおよびB
入力レジスタ33,34が一連のマルチプレックサ4
0,42,44,46に接続される。A入力レジスタ3
3がマルチプレックサ40およびマルチプレックサ44
に接続され、B入力レジスタ34がマルチプレックサ4
2およびマルチプレックサ46に接続される。マルチプ
レックサ40,42の出力パイプライン・レジスタ50
および変換器/丸め装置52を持つ乗算器48に入力さ
れる。マルチプレックサ44,46がパイプライン・レ
ジスタ56および正規化装置58を持つALU54に接
続される。乗算器48およびALU54が命令レジスタ
60に接続されるが、このレジスタが命令バス62に接
続されている。乗算器48の出力が積レジスタ65に接
続され、ALU54の出力が和レジスタ66に接続され
る。積レジスタ65および和レジスタ66の出力が、マ
ルチプレックサ68,70に接続される。積レジスタ6
5の出力がマルチプレックサ42,44にも接続され、
和レジスタ66の出力がマルチプレックサ40,46に
接続される。マルチプレックサ68,70が各々制御信
号線72,74に接続される。
【0006】マルチプレックサ68の出力がCレジスタ
76に接続される。Cレジスタ76の出力がマルチプレ
ックサ40−46に接続される。Cレジスタ78がクロ
ック信号線78に接続される。出力段16は、Yマルチ
プレックサ70、状態レジスタ80、パリティ発生器8
2およびマスター/スレーブ比較回路84で構成され
る。マルチプレックサ70の出力がパリティ発生器8
2、マスター/スレーブ比較回路84およびバッファ8
6に接続される。状態レジスタ80がマスター/スレー
ブ比較回路84およびバッファ88,90に接続され
る。バッファ86の出力が出力データ・バス92および
マスター/スレーブ比較回路84に接続される。バッフ
ァ88,90の出力が状態バス94に接続される。バッ
ファ86−90が各々制御線96,98,100によっ
て制御される。状態装置102が乗算器48および除算
/平方根回路104(その接続は図示されていないが、
AおよびB入力レジスタ33,34とマルチプレックサ
40−46にも同様に)接続される。除算/平方根回路
104が乗算器48、Bレジスタ34、マルチプレック
サ40および「影の」Cレジスタ106にも接続され
る。影のCレジスタ106は、整数の除算および平方根
の計算を助けるため、ALU54による整数から浮動小
数点の数への変換結果を記憶するために使われる。除算
/平方根回路が図2に詳しく示されている。
【0007】入力段12は、いろいろのバスの設計に対
処するために、融通性のある入力モードを持つように設
計されている。形式制御信号は、2倍精度入力に対する
4つの形式の内の1つを示す2ビット信号で構成され
る。取り得る形式が表1に示されている。 表1 2倍精度入力データの形式モード ロード順序 第1クロックで一時レジス 第2クロックでA/B タに、そして第2クロック レジスタにロードされ でA/Bレジスタにロード るデータ されるデータ CONFIG 1 CONFIG 0 Aバス Bバス Aバス Bバス 0 0 B演算数 B演算数 A演算数 A演算数 (MSH) (LSH) (MSH) (LSH) 0 1 A演算数 B演算数 A演算数 B演算数 (LSH) (LSH) (MSH) (MSH) 1 0 A演算数 B演算数 A演算数 B演算数 (MSH) (MSH) (LSH) (LSH) 1 1 A演算数 A演算数 B演算数 B演算数 (MSH) (LSH) (MSH) (LSH) MSH=上位の半分 LSH=下位の半分 各々の場合、第1のクロック・サイクルで、データがA
およびB入力データ・バスに20a,20bから一時レ
ジスタ18にロードされる。第2のクロック・サイクル
の立ち上がりで、AおよびB入力データ・バスに20
a,20bにある新しいデータと、一時レジスタ18に
あるデータが、適当なレジスタに転送される。形式制御
信号30は、ユーザが自分のデータをいるいろの形にす
ることができるようにする。表1で、B演算数はBレジ
スタ34にロードされる演算数を指し、A演算数はAレ
ジスタ33にロードされる演算数を指す。
【0008】一時レジスタ18は、1倍精度バスにある
2倍精度数を1つのクロック・サイクルでロードするこ
とができるようにするために設けられている。Aバス2
0aの内容が一時レジスタの上側の32ビットにロード
される。Bバス20bの内容が下側の32ビットにロー
ドされる。クロック・モード信号(31)が、データを
一時レジスタに記憶するためのクロックの縁を決定す
る。クロック・モード信号31が低である時、データが
クロックの立ち上がりでロードされる。クロック・モー
ド信号31が高である時、データがクロックの立ち下が
りでロードされる。AおよびBバス20a,20b並び
に一時レジスタ18の内容が次の立ち上がりでAおよび
Bレジスタ33,34にロードされるからである。4つ
のマルチプレックサ40−46が、乗算器48およびA
LU54に接続される演算数を選択する。マルチプレッ
クサ40−46がA入力レジスタ33、B入力レジスタ
34、積レジスタ64、和レジスタ66またはCレジス
タ76から演算数を選択する。このマルチプレックサの
形式が、データの流れの遅滞を大幅に少なくする。AL
U54が加算および減算の機能と、整数および浮動少数
点の数の間の変換、および1倍精度および2倍精度の数
の間の変換を行う。この発明の重要な特徴として、AL
Uは乗算器48とは独立に、またはそれと並列に動作さ
せることができる。ALU54がパイプライン・レジス
タ56および丸め装置/正規化装置58を持っている。
【0009】乗算器48は、基本的な乗算機能a×bを
実施する。演算数は1倍精度または2倍精度の数であっ
てよく、乗算が行われる前に、絶対値に変換することが
できる。パイプライン・レジスタ50,56を不作動に
して、通りすぎモードにすることができる。ALU54
および乗算器48の両方が同時に動作する「チェーン
形」命令では、幾つかの機能を実施することができる。
ALU動作は、a+b、a−b、2−a、b−aを実行
するように選ぶことができる。ALUおよび乗算器の結
果に負の符号をつけることができ、ALU54および乗
算器48に対して同一性機能、すなわちa+0およびb
×1を選ぶことができる。ALUおよび乗算器の動作結
果を、システム・クロックの立ち上がりで、2つの出力
レジスタ、すなわち和レジスタ66と積レジスタ65に
ラッチすることができる。積レジスタ65が乗算器の動
作の結果を保持し、和レジスタ66がALLUの動作結
果を保持する。Cレジスタは、ALUまたは乗算器の動
作の結果を、乗算器48またはALU54にフィードバ
ックする前に、一時的に記憶するために利用するするこ
とができ、あるいはそれが定数を保持することができ
る。Cレジスタ76に対するデータ源が、制御信号線7
2を介してマルチプレックサ68によって選択される。
【0010】Cレジスタは、外部データ・バスから直接
的にロードされない。しかし、ALUまたは乗算器だけ
を使い、外部データ入力を必要としない動作の間、A演
算数として値を入力することにより、1サイクルを無駄
にせずにロードすることができる。B演算数は、ALU
では0、または乗算器では1に強制的にすることができ
るから、0を加算することにより、または1を乗ずるこ
とにより、その後Cレジスタ76に対する入力源を選ぶ
ことによって、A演算数をCレジスタに送ることができ
る。パリティ発生器82が、各々のバイトに対しあるい
は出力の各ワードに対し、Yマルチプレックサの出力7
0に対してパリティ・ビットを発生する。マスター/ス
レーブ比較回路84は、Y出力マルチプレックサ70か
らのデータ・バイトおよび状態レジスタ80の出力を、
外部出力バス92および状態バス94のデータと比較す
るために設けられている。データ・バイトが等しくなけ
れば、マスター/スレーブ比較回路84のマスター/ス
レーブ誤り出力ピンに高信号が発生される。ALUにお
ける比較動作の間、AおよびB演算数が等しい時、状態
レジスタ80のAEQB出力が高になる。比較の間、A
演算数がB演算数より大きければ、状態レジスタ80で
AGTB出力が高になる。ALUでも乗算器でも、比較
以外の動作を行う時、AEQB信号をゼロ検出として使
う。
【0011】プロセッサ10は、FASTモードで動作
するようにプログラムすることができる。FASTモー
ドでは正規化解除した全ての入力および出力が強制的に
ゼロにされる。正規化解除された入力は、ゼロの指数、
ゼロでない仮数および仮数の一番左のビット(隠れたま
たは暗黙のビット)にゼロを持つ浮動小数点の形を持っ
ている。正規化解除された数は、正規化が完了する前
に、バイアスされた指数フィールドをゼロにデクレメン
トすることによって生ずる。正規化解除された数を乗算
器に入力することができないから、それを最初にALU
によって折り返し数に変換しなければならない。正規化
解除された数の仮数が、それを左へシフトすることによ
って、正規化された時、指数フィールドは全部ゼロから
負の2の補数にデクレメントされる。プロセッサ10
は、4つのIEEE標準丸めモードを支援する。支援さ
れた丸めモードは、最近への丸め、ゼロへの丸め(切捨
て)、無限大への丸め(切上げ)および負の無限大への
丸め(切下げ)である。プロセッサが乗算および加算の
機能を同時に遂行することができることにより、積の和
を計算するには、プロセッサ10は、ALUが前の計算
のフィードバックに対して動作している間、乗算器にあ
る外部データ入力に作用することができる。逆に、和の
積の計算では、乗算器が前の計算からのフィードバック
に作用している間、ALUが外部データ入力に作用す
る。
【0012】表2は、データ演算数の組を乗算し、その
結果を累算すると言う、積の和の計算に関係する基本的
な動作に使われる動作を示している。表2では、4つの
積の和を計算している。表2で、P( )およびS
( )は、各々積レジスタ65および和レジスタ66に
記憶されている量を指す。 表2 1倍精度の積の和クロック・サイクル 乗算器/ALU動作 1 A1 ,B1 をロードする A1 *B1 2 P(A1 1 )をSへ通す A2 ,B2 をロードする 3 S(A1 1 )+P(A2 2 ) A3 ,B3 をロードする A3 *B3 4 S(A1 1 +A2 2 )+P(A3 3 ) A4 ,B4 をロードする A4 *B4 5 S(A1 1 +A2 2 +A3 3 )+P(A4 4 ) 6 新しい命令 積の和または和の積の長いストリームを計算する場合、
この発明のプロセッサ10は、略計算を完了するのに必
要な時間のままである。従って、この発明は、従来のプ
ロセッサに較べて、速度を著しく改善するという技術的
な利点がある。
【0013】除算/平方根回路104が図2に詳しく示
されている。除算/平方根回路104は、Aレジスタ3
3、Bレジスタ34および影のCレジスタ106に接続
されたシード発生器108を含む。シード発生器108
の出力が、乗算器48に接続されたマルチプレックサ4
0,42に接続されている。D1レジスタ110がDマ
ルチプレックサ112に接続され、これがD2レジスタ
114に接続されている。D2レジスタがマルチプレッ
クサ40に接続される。D2レジスタ110およびDマ
ルチプレックサが、乗算器48の符号つきディジット乗
算アレイ116に接続される。比較レジスタ118が、
Aレジスタ33および符号つきディジット乗算アレイ1
16から入力を受け取る。比較レジスタ118の出力が
比較論理回路120に接続され、この論理回路が乗算器
48の変換器/丸め装置52に対して出力する。補正発
生器122がパイプライン・レジスタ50と変換器/丸
め装置52の間に接続される。状態制御装置102がA
およびBレジスタ、シード発生器108、D1レジスタ
110、Dマルチプレックサ112、D2レジスタ11
4、比較レジスタ118、比較論理回路120、マルチ
プレックサ40,42、パイプライン・レジスタ50、
補正発生器122、変換器/丸め装置52、および積レ
ジスタ65に接続されている。除算の際、浮動小数点入
力の指数を減算する指数処理回路は図2に示めされてい
ない。
【0014】近年、配置の複雑さを少なくする1つの方
法として、符号ディジット乗算が導入されている。符号
ディジット乗算が、IEEEトランザクションズ・オン
・コンピュータズ誌、C−34巻、第9号(1985年
9月号)第789〜795頁所載のN.タガギ、H.ヤ
スウラおよびS.ヤジマの論文「冗長2進加算トリーを
用いた高速VLSI乗算アルゴリズム」、およびこの出
願と同日に出願された米国特許出願番号149,779
号、発明の名称「高速乗算器」に記載されている。符号
つきディジット数は桁上げチェーンなしに加算すること
ができるから、符号つきディジット乗算器の前半である
符号つきディジット乗算アレイ116が、部分積を桁上
げ伝搬の加算を伴わない1個の数い還元することができ
る。乗算器の後半分である変換器/丸め装置52は、符
号つきディジットの結果を通常の大きさの数に変換する
ために依然として必要である。図示の実施例のプロセッ
サ10では、Aレジスタ33を使って被除数を保持し、
Bレジスタ34を使って除数を保持する。被除数および
除数は、入力部分12を使って、外部からロードするこ
とができる。D1およびD2レジスタを使って、パイプ
ライン・レジスタ50と同じく、除算の中間結果を保持
する。積レジスタ64が中間の結果および商を保持す
る。比較レジスタ118が、商を丸めるのに使うため、
中間の結果を保持する。
【0015】シード発生器108が、除数をBとして1
/Bまでの近似値を計算する。シード発生器は典型的に
は論理アレイである。設計を簡単にするため、シード発
生器108には、正規化した浮動少数点数だけを入力す
る。従って、ALU54からの除数を整数から浮動小数
点に変換した結果を保持するため、影のCレジスタ10
6が必要である。符号つきディジット乗算アレイ116
が、Aマルチプレックサ40によって選択された数に、
Bマルチプレックサ42によって選択された数を乗じ
て、符号ディジット積を求める。入力の値は符号つきデ
ィジットでも、大きさの表示であってもよい補正発生器
122が、除算では、2の値から符号つきディジット乗
算の結果を減算し、平方根の計算では、3/2の値から
それを減算すると共にシフト機能をも行う。変換器/丸
め装置52は、符号つきディジット数を同じ値を持つ大
きさの数に変換するように作用し得る。変換器/丸め装
置52の丸め装置の部分が、入力数を適当なIEEE形
式の数に丸める。動作について説明すると、この発明の
プロセッサ10は、商の最終的な丸めを含めて7クロッ
ク・サイクルで24ビット数の乗算を行うことができ
る。クロック・サイクル0で、Bレジスタ34にある数
(除数)に応答して、シード発生器108でシードが発
生される。通常、シードを発生するには、最上位の8ビ
ットが使われる。シードS0は、除数をBとして大体1
/Bに選ばれる。ルックアップRAMまたはPLAが、
シードを発生するのに便利な方法である。
【0016】シードF0に除数Bを乗じて、結果G1を
求める。G1は1/Bまでの近似値にBを乗じたものに等
しいから、これは1に値が等しい筈である。この乗算
は、シードをAマルチプレックサ40に送り、除数をB
マルチプレックサ42に送ることによって行われる。値
G1が、パイプライン・レジスタ50およびD1レジス
タ110に記憶される。クロックサイクル1で、Aレジ
スタ33からの被除数Aにシード発生器108からのシ
ードF0を乗ずることにより、商の第1近似値Q1を求
める。被除数をAマルチプレックサ40に通し、シード
をBマルチプレックサ42に通す。やはりクロック・サ
イクル1の間、G1をDマルチプレックサ112を介し
てD2レジスタ114に通すと共に、パイプライン・レ
ジスタ50から補正発生器122に通し、そこでそれを
2つの値から減算して、大きさの数F1に変換する。値
F1を積レジスタ65に記憶する。Q1を符号つきディ
ジット乗算アレイ116から出力し、D1レジスタ11
0に記憶する。クロック・サイクル2で、現在D2レジ
スタ114に記憶されているG1をAマルチプレックサ
40に通して、積レジスタ64に記憶されているF1と
乗ずる。このF1はBマルチプレックサ42を通して送
られる。結果G2は、1に対して一層近い近似値であ
る。G2がD1レジスタ110に記憶され、第1の商の
近似値Q1をD1レジスタからDマルチプレックサ11
2を介してD2レジスタ114に移す。
【0017】クロック・サイクル3で、Q1にF1を乗
ずることにより、商の第2の近似値Q2を求める。現在
D2レジスタ114にあるQ1をAマルチプレックサ4
0を介して符号つきディジット乗算アレイ116に送
り、未だ積レジスタ64に記憶されているF1をBマル
チプレックサ42に通す。第2の近似の商Q2がD2レ
ジスタ114に記憶される。やはりクロック・サイクル
3の間、パイプライン・レジスタ50に記憶されている
G2を補正発生器112で2から減算し、大きさの数F
2に変換し、それを積レジスタ65に記憶する。クロッ
ク・サイクル4で、Q2にF2を乗ずることにより、商
の最終的な近似値Qf (第3の商の近似値)を求める。
Q2をD2レジスタ114からAマルチプレックサ40
に通し、F2を積レジスタ65からBマルチプレックサ
42に通す。最終的な近似の商Qf をパイプライン・レ
ジスタ50およびD2レジスタ114に記憶する。24
ビットの除算では、最終的な近似値は、無限に精密な結
果の最下位ビットの1/4以内になることが判ってい
る。クロック・サイクル5で、Qf にもとの除数B(こ
れは未だBレジスタ34に記憶されている)を乗ずるこ
とにより、近似の被除数を求める。B×Qf の結果は、
f がA/Bを近似するから、被除数Aを近似する筈で
ある。
【0018】クロック・サイクル6で、近似の被除数を
もとの被除数と比較して、どちらが大きいか、被除数お
よび近似の被除数が等しくないかどうかを決定する。こ
の結果に基づいて、Qf を4つのIEEEモードの商を
もとめることができ、それをレジスタPに記憶する。こ
の発明のプロセッサ10は、平方根の計算にも使うこと
ができる。平方根の計算では、演算数AがAレジスタ3
3に記憶されている。クロック・サイクル0で、シード
発生器108でシードF0を発生する。シードF0は、
演算数Aの平方根の逆数の近似値である。シードF0を
Bマルチプレックサ42を介して符号つきディジット乗
算アレイ116に送り、演算数Aを乗ずる。結果R1が
平方根の第1の近似値であり、D1およびD2レジスタ
110,114に記憶される。サイクル1で、R1にシ
ードF0を乗じて、G1とするが、これは“1”の値を
近似する筈である。G1をパイプライン・レジスタ50
に記憶する。サイクル2で、R1にもう一度シードF0
を乗じて、再びG1にし、これをD2レジスタ114に
記憶する。G1がパイプライン・レジスタに記憶されて
いて、それを3から減算し、補正発生器122で2で除
す。“2”の除算は、3からの減算の後、数を右にシフ
トすることによって行うことができる。その結果を大き
さの数F1に変換し、積レジスタ65に記憶する。
【0019】クロック・サイクル3で、F1を積レジス
タ65から符号つきデジット乗算アレイ116に送り、
D2レジスタ114に記憶されている値G1を乗ずる。
F1×G1に等しい中間の結果I2をD2レジスタ11
4に記憶する。サイクル4では、F1にI2に乗じてG
2を求め、それをパイプライン・レジスタ50に記憶す
る。R1をD1からD2に転送する。サイクル5で、未
だ積レジスタ65にあるF1に、D2レジスタ114に
記憶されているR1を乗じる。積は、平方根の第2の近
似値であり、これがD2レジスタ114に記憶される。
パイプライン・レジスタ50に記憶されているD2を3
から減算し、補正発生器122で2で除す。その結果を
大きさの数F2に変換し、それを積レジスタに記憶す
る。クロック・サイクル6で、F2にR2を乗じて、平
方根の最終的な近似値Rfを求める。Rf をパイプライ
ン・レジスタ50およびD2レジスタ114に記憶す
る。クロック・サイクル7で、Rf を大きさの数に変換
し、積レジスタ64に記憶する。
【0020】クロック・サイクル8で、積レジスタ65
に記憶されているRf にD2レジスタ114に記憶され
ているRf を乗じ、パイプライン・レジスタ50に記憶
する。平方根の近似値を自乗した結果は、Aレジスタ3
3に記憶されている演算数を近似する筈である。クロッ
ク・サイクル9で、最終的な近似の平方根Rf の自乗を
Aレジスタ33に記憶されているもとの演算数と比較し
て、どちらが大きいか、または等しいかどうかを決定す
る。この結果に基づいて、Rf を4つのIEEEモード
の内の何れかで直接的に丸めて、正しいIEEE平方根
をもとめることができ、それを積レジスタ65に記憶す
る。比較レジスタ118、比較論理回路120および変
換器/丸め装置52で構成される丸め回路は、従来に較
べてかなりの利点がある。比較論理回路120は、符号
つきディジット数を普通の数と比較するように作用する
ことができ、このため最終的な乗算を丸める前に、普通
の数に変換しなくてもよい。比較論理回路120は、普
通の数の最下位ビットだけを符号つきディジット数の最
下位ビットおよびガード・ビットと比較すればよい。精
度を達成するのに必要な繰り返しの回数は、演算数の任
意のビット長に対して予め決定されているから、これら
のビットだけを比較すればよい。
【0021】整数の除算は、ALU54を用いて被乗数
を浮動小数点表示に変換することによって実施すること
ができる。整数から浮動小数点表示への変換の結果を影
のCレジスタ106に記憶する。影のCレジスタ106
に記憶されている値から、シードを発生する。商を計算
した後、ALU54を使って、浮動小数点の結果を整数
表示に変換する。ここで説明したプロセッサは、除算お
よび平方根の計算を行う時、従来の装置に較べて重要な
利点がある。符号つきディジット乗算アレイ116とD
1およびD2レジスタ110,114の間のフィードバ
ック通路は、パイプライン・レジスタ50および変換回
路52より前にあり、それに伴う遅延を避けている。更
に、簡単な定数減算器およびレベル・シフタを使って、
パイプライン・レジスタの後で補正発生器を構成するこ
とができる。従って、変換に普通使われているデータ通
路を、必要な減算を行うためにも使う。変換器がデータ
通路内に残っているため減算の後、その値を大きさの数
に変換する。これは符号つきディジット乗算アレイ11
6の設計を簡単にする。それは、Bマルチプレックサ4
2に関連するポートが大きさの数だけを受け取ればよい
からである。最終的な答えを大きさの数に変換するため
にも変換器が必要であるが、除算に何ら遅延を追加しな
いことに注意されたい。
【0022】補正発生器122における定数の減算およ
び大きさの数へのその後の変換が、次の乗算と並列に行
われ、除算の速度を更に高める。ウォーレス・パイプラ
イン乗算器を用い、和および桁上げのストリームの両方
をフィードバックすることにより、同様な方式をとるこ
とができることに注意されたい。この場合、別のレベル
の加算器を追加して、1つでなく2つの数のフィードバ
ックに対処する。従って、この発明は、パイプライン・
レジスタおよび変換器に伴う遅延を避けると共に、定数
の減算(並びに平方根では2つの除算)と共に、乗算を
同時に実施することにより、除算および平方根関数を速
やかに計算するという大きな利点がある。更に、この回
路は、最終的な結果をIEEEの記法に丸める時の速度
を高めるという別の利点がある。この発明を詳しく説明
したが、特許請求の範囲によって定められたこの発明の
範囲ない、種々の変更、置換を行うことができることは
承知されたい。以上の説明に関連して更に下記の項を開
示する。 (1)除数による被除数の除算または演算数の平方根の
選ばれた一方を計算する装置において、当該乗算回路に
対する2つの数入力の積を計算する第1の部分、および
該積を予定の数値表示に変換する第2の部分を有する乗
算回路と、前記第2の部分における変換の前に、前記第
1の部分によって計算された積を前記乗算回路に対する
一方の入力に供給するフィードバック回路とを有する装
置。 (2)(1)項に記載した装置において、乗算回路が第
1の部分および第2の部分の間に接続されていて、一定
の値から積を減算する減算器を有する装置。 (3)(2)項に記載した装置において、乗算回路が第
1の部分および減算器の間に接続されたパイプライン・
レジスタを有する装置。 (4)(1)項に記載した装置において、乗算回路が符
号つきディジット積を発生する回路を有する装置。 (5)(4)項に記載した装置において、乗算回路が、
一方の入力が符号つきディジット数であるような2つの
入力数の積を計算するように作用し得る装置。 (6)(1)項に記載した装置において、フィードバッ
ク回路が第1の部分の出力および乗算回路の一方の入力
の間に接続された第1のメモリを有する装置。 (7)(7)項に記載した装置において、更にフィード
バック回路が入力を第1の部分の出力に接続されている
マルチプレックサと、該マルチプレックサの出力および
乗算回路の一方の入力の間に接続された第2のメモリと
を有する装置。 (8)(1)項に記載した装置において、前記選ばれた
一方が除算であり、乗算回路の一方の入力に接続されて
いて、除数の逆数の近似値を発生するシード発生器を有
する装置。 (9)(1)項に記載した装置において、第2の部分が
丸め回路を有し、更に第2の部分に接続されていて 、
商および除数の積を被除数と比較して、丸めの方向を決
定する比較回路を有する装置。 (10)(1)項に記載した装置において、前記選ばれ
た一方が平方根であり、前記第2の部分が丸め回路を有
し、更に乗算回路の一方の入力に接続されていて、演算
数の平方根の逆数の近似値を発生するシード発生器を有
する装置。 (11)(1)項に記載した装置において、前記選ばれ
た一方が平方根であり、前記第2の部分が丸め回路を有
し、更に前記第2の部分に接続されていて、計算された
平方根の自乗を演算数と比較して、丸め方向を決定する
比較回路を有する装置。 (12)(1)項に記載した装置において、第2の部分
が符号つきディジット表示を大きさお表示に変換するよ
うに作用し得る装置。 (13)被除数および除数の除算の商の近似値を丸める
方法において、前記商の近似値に除数を乗じて近似被除
数を求め、該近似被除数を被除数と比較し、近似被除数
が被除数より小さい場合、商の近似値を切上げ、近似被
除数が被除数より大きい場合、商の近似値を切下げる工
程を含む方法。 (14)(13)項に記載した方法において、比較する
工程が、被除数の最下位ビットを近似の被除数の対応す
るビットならびに該対応するビットの両側にあるビット
と共に比較する工程を含む方法。 (15)(13)項に記載した方法において、乗算する
工程が、商の近似値に除数を乗じて近似の被除数の符号
つきディジット表示を求める工程を含む方法。 (16)(13)項に記載した方法において、比較する
工程が、除数を符号つきディジット表示と比較する工程
を含む方法。 (17)演算数の平方根の計算で平方根の近似値を丸め
る方法において、平方根の近似値を自乗して近似演算数
を求め、該近似演算数を演算数と比較し、近似演算数が
演算数より小さい場合、演算数の近似値を切上げ、近似
演算数が演算数より大きい場合、演算数の近似値を切下
げる工程を含む方法。 (18)(17)項に記載した方法において、比較する
工程が、演算数の最下位ビットを近似の演算数の対応す
るビットならびに該対応するビットの両側にあるビット
と比較する工程を含む方法。 (19)(17)項に記載した方法において、乗算する
工程が演算数の近似値を自乗して、近似の演算数の符号
つきディジット表示を求める工程を含む方法。 (20)(17)項に記載した方法において、比較する
工程が、演算数を前記符号つきディジット表示と比較す
ることを含む方法。 (21)除算および平方根関数を計算するように作用し
得るプロセッサ10が、乗算アレイ116、パイプライ
ン・レジスタ50、補正発生器122および変換器/丸
め装置52をもつ乗算器48を有する。乗算アレイ11
6によって発生された積が乗算器48にフィードバック
され、乗算回路の他の部分に伴う遅延を避ける。乗算ア
レイ116の積出力の定数からの減算を行う補正発生器
122が、乗算アレイ116および変換器/丸め装置5
2の間に設けられている。従って、次の推定値を計算す
るのに必要な減算は、他の乗算と並列に実施することが
でき、計算を行うのに必要な時間を更に短縮する。比較
回路120が、最終的な近似値を演算数と比較して、丸
めの方向を素早く決定するように作用し得る。 (22)除算または平方根の計算の最終的な近似値を丸
めるべき方向を素早く決定するために比較回路120を
設ける。平方根の場合、平方根の最終的な近似値を自乗
し、演算数と比較する。丸めをどうするかは、演算数と
近似された平方根との大小に基づく。除算では、商の最
終的な近似値に除数を乗じ、被除数と比較する。被除数
と計算された積との大小に基づいて丸めの方向が決定さ
れる。
【図面の簡単な説明】
【図1】この発明のプロセッサのアーキテクチュアを示
す。
【図2】除算または平方根の計算に使われる回路の詳し
いブロック図。
【符号の説明】
33 A入力レジスタ 34 B入力レジスタ 40,42,44,46 マルチプレックサ 48 乗算器 52 変換器/丸め装置 65 積レジスタ 66 和レジスタ 110 D1レジスタ 114 D2レジスタ 116 符号つきディジット乗算アレイ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デール シー.アール アメリカ合衆国 テキサス州 ダラス,ア パートメント ナンバー 129,アムバー トン パークウェイ 9221 (72)発明者 ディン ティー.ヌゴ アメリカ合衆国 テキサス州 アービン グ,アパートメント ナンバー 371,ダ ブリュ.ノースゲイト ドライブ 4512 (72)発明者 ポール シー .ウォング アメリカ合衆国 テキサス州 ダラス,ア パートメント ナンバー エル203, フ ォーリスト レーン 9659 (72)発明者 マリア ビー.エル.ヒポナ アメリカ合衆国 テキサス州 ダラス,ア パートメント ナンバー 1810,マッカラ ム ブールバード 7220 (72)発明者 ジム ドッドリル アメリカ合衆国 ノースカロライナ州 ダ ーハム,アパートメント ナンバー 48, ダンポント ドライブ 500

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 演算数の平方根の計算で平方根の近似値
    を丸める方法において、平方根の近似値を自乗して近似
    演算数を求め、該近似演算数を演算数と比較し、近似演
    算数が演算数より小さい場合、演算数の近似値を切上
    げ、近似演算数が演算数より大きい場合、演算数の近似
    値を切下げる工程を含む方法。
  2. 【請求項2】 被除数及び除数の除算で商の近似値を丸
    める方法において、前記商の近似値に除数を乗じて近似
    被除数を求め、該近似被除数を被除数と比較し、近似被
    除数が被除数より小さい場合、商の近似値を切上げ、近
    似被除数が被除数より大きい場合、商の近似値を切下げ
    る工程を含む方法。
JP6059043A 1988-01-29 1994-03-29 近似値を丸める方法 Pending JPH0749771A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US150363 1988-01-29
US07/150,363 US4878190A (en) 1988-01-29 1988-01-29 Floating point/integer processor with divide and square root functions

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP1019385A Division JP2598507B2 (ja) 1988-01-29 1989-01-27 除算または平方根計算装置

Publications (1)

Publication Number Publication Date
JPH0749771A true JPH0749771A (ja) 1995-02-21

Family

ID=22534180

Family Applications (2)

Application Number Title Priority Date Filing Date
JP1019385A Expired - Fee Related JP2598507B2 (ja) 1988-01-29 1989-01-27 除算または平方根計算装置
JP6059043A Pending JPH0749771A (ja) 1988-01-29 1994-03-29 近似値を丸める方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP1019385A Expired - Fee Related JP2598507B2 (ja) 1988-01-29 1989-01-27 除算または平方根計算装置

Country Status (5)

Country Link
US (1) US4878190A (ja)
EP (1) EP0326415B1 (ja)
JP (2) JP2598507B2 (ja)
KR (1) KR100242274B1 (ja)
DE (1) DE68927966T2 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01195574A (ja) * 1988-01-29 1989-08-07 Nec Corp ディジタル信号処理装置
EP0394499B1 (en) * 1988-11-04 1997-10-08 Hitachi, Ltd. Apparatus for multiplication, division and extraction of square root
JP2705162B2 (ja) * 1988-11-29 1998-01-26 松下電器産業株式会社 演算処理装置
US5025407A (en) * 1989-07-28 1991-06-18 Texas Instruments Incorporated Graphics floating point coprocessor having matrix capabilities
US5144570A (en) * 1989-08-02 1992-09-01 Cyrix Corporation Normalization estimator
US5040138A (en) * 1989-08-02 1991-08-13 Cyrix Corporation Circuit for simultaneous arithmetic calculation and normalization estimation
US5184318A (en) * 1989-09-05 1993-02-02 Cyrix Corporation Rectangular array signed digit multiplier
US5060182A (en) * 1989-09-05 1991-10-22 Cyrix Corporation Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
US5144576A (en) * 1989-09-05 1992-09-01 Cyrix Corporation Signed digit multiplier
US5159566A (en) * 1989-09-05 1992-10-27 Cyrix Corporation Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
US5212661A (en) * 1989-10-16 1993-05-18 Matsushita Electric Industrial Co., Ltd. Apparatus for performing floating point arithmetic operation and rounding the result thereof
US5305247A (en) * 1989-12-29 1994-04-19 Motorola, Inc. Method and processor for high-speed convergence factor determination
WO1991010188A1 (en) * 1989-12-29 1991-07-11 Motorola, Inc. Method and processor for high-speed convergence factor determination
US5128891A (en) * 1990-04-02 1992-07-07 Advanced Micro Devices, Inc. High speed divider with square root capability
US5305446A (en) * 1990-09-28 1994-04-19 Texas Instruments Incorporated Processing devices with improved addressing capabilities, systems and methods
US5390304A (en) * 1990-09-28 1995-02-14 Texas Instruments, Incorporated Method and apparatus for processing block instructions in a data processor
US5826101A (en) * 1990-09-28 1998-10-20 Texas Instruments Incorporated Data processing device having split-mode DMA channel
US5809309A (en) * 1990-09-28 1998-09-15 Texas Instruments Incorporated Processing devices with look-ahead instruction systems and methods
US5097434A (en) * 1990-10-03 1992-03-17 The Ohio State University Research Foundation Hybrid signed-digit/logarithmic number system processor
US5206823A (en) * 1990-12-13 1993-04-27 Micron Technology, Inc. Apparatus to perform Newton iterations for reciprocal and reciprocal square root
US5220524A (en) * 1990-12-13 1993-06-15 Micron Technology, Inc. Machine method to perform newton iterations for reciprocals
US5157624A (en) * 1990-12-13 1992-10-20 Micron Technology, Inc. Machine method to perform newton iterations for reciprocal square roots
US5278782A (en) * 1991-06-03 1994-01-11 Matsushita Electric Industrial Co., Ltd. Square root operation device
JP2722858B2 (ja) * 1991-06-03 1998-03-09 松下電器産業株式会社 開平演算装置
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
US5377134A (en) * 1992-12-29 1994-12-27 International Business Machines Corporation Leading constant eliminator for extended precision in pipelined division
US5367702A (en) * 1993-01-04 1994-11-22 Texas Instruments Incorporated System and method for approximating nonlinear functions
JPH06282416A (ja) * 1993-03-30 1994-10-07 Mitsubishi Electric Corp 除算器及びそれを備えた計算機
US5338938A (en) * 1993-04-09 1994-08-16 Martin Marietta Energy Systems, Inc. Gamma radiation field intensity meter
JP2889842B2 (ja) * 1994-12-01 1999-05-10 富士通株式会社 情報処理装置及び情報処理方法
US5729481A (en) * 1995-03-31 1998-03-17 International Business Machines Corporation Method and system of rounding for quadratically converging division or square root
US5742840A (en) 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5787025A (en) * 1996-02-28 1998-07-28 Atmel Corporation Method and system for performing arithmetic operations with single or double precision
US5764555A (en) * 1996-03-13 1998-06-09 International Business Machines Corporation Method and system of rounding for division or square root: eliminating remainder calculation
US6026423A (en) * 1996-03-29 2000-02-15 Siemens Energy & Automation, Inc. Fractional precision integer square root processor and method for use with electronic circuit breaker systems
US5768170A (en) * 1996-07-25 1998-06-16 Motorola Inc. Method and apparatus for performing microprocessor integer division operations using floating point hardware
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
US5973705A (en) * 1997-04-24 1999-10-26 International Business Machines Corporation Geometry pipeline implemented on a SIMD machine
US6256653B1 (en) * 1997-10-23 2001-07-03 Advanced Micro Devices, Inc. Multi-function bipartite look-up table
ITRM20030354A1 (it) 2003-07-17 2005-01-18 Micron Technology Inc Unita' di controllo per dispositivo di memoria.
US7747667B2 (en) * 2005-02-16 2010-06-29 Arm Limited Data processing apparatus and method for determining an initial estimate of a result value of a reciprocal operation
US8015228B2 (en) * 2005-02-16 2011-09-06 Arm Limited Data processing apparatus and method for performing a reciprocal operation on an input value to produce a result value
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for 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
US8140608B1 (en) 2007-05-31 2012-03-20 Nvidia Corporation Pipelined integer division using floating-point reciprocal
US7962543B2 (en) * 2007-06-01 2011-06-14 Advanced Micro Devices, Inc. Division with rectangular multiplier supporting multiple precisions and operand types
US8938485B1 (en) * 2008-02-12 2015-01-20 Nvidia Corporation Integer division using floating-point reciprocal
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8713084B2 (en) * 2008-02-25 2014-04-29 International Business Machines Corporation Method, system and computer program product for verifying floating point divide operation results
US8745118B2 (en) * 2008-02-25 2014-06-03 International Business Machines Corporation Verifying floating point square root operation results
US8626816B2 (en) * 2008-02-26 2014-01-07 International Business Machines Corporation Method, system and computer program product for detecting errors in fixed point division operation results
US8402078B2 (en) * 2008-02-26 2013-03-19 International Business Machines Corporation Method, system and computer program product for determining required precision in fixed-point divide operations
US8655937B1 (en) 2009-04-29 2014-02-18 Nvidia Corporation High precision integer division using low precision hardware operations and rounding techniques
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform 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
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
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
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
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US9983850B2 (en) * 2015-07-13 2018-05-29 Samsung Electronics Co., Ltd. Shared hardware integer/floating point divider and square root logic unit and associated methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55116143A (en) * 1979-03-02 1980-09-06 Hitachi Ltd Data processor
JPS61243532A (ja) * 1985-04-22 1986-10-29 Toshiba Corp 演算装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3631230A (en) * 1970-09-24 1971-12-28 Ibm Binary arithmetic unit implementing a multiplicative steration for the exponential, logarithm, quotient and square root functions
JPS5520508A (en) * 1978-06-29 1980-02-14 Panafacom Ltd Processor for division
US4638449A (en) * 1983-06-15 1987-01-20 International Business Machines Corporation Multiplier architecture
JPS60142738A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 内挿近似を使用する除算装置
US4724529A (en) * 1985-02-14 1988-02-09 Prime Computer, Inc. Method and apparatus for numerical division
CA1252213A (en) * 1986-08-28 1989-04-04 Andrew G. Deczky Digital signal processor with divide function
JPH01195574A (ja) * 1988-01-29 1989-08-07 Nec Corp ディジタル信号処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55116143A (en) * 1979-03-02 1980-09-06 Hitachi Ltd Data processor
JPS61243532A (ja) * 1985-04-22 1986-10-29 Toshiba Corp 演算装置

Also Published As

Publication number Publication date
JPH01266628A (ja) 1989-10-24
EP0326415A2 (en) 1989-08-02
JP2598507B2 (ja) 1997-04-09
DE68927966T2 (de) 1997-07-24
KR890012222A (ko) 1989-08-25
EP0326415B1 (en) 1997-04-16
DE68927966D1 (de) 1997-05-22
US4878190A (en) 1989-10-31
KR100242274B1 (ko) 2000-02-01
EP0326415A3 (en) 1991-11-06

Similar Documents

Publication Publication Date Title
JP2598507B2 (ja) 除算または平方根計算装置
JP3152953B2 (ja) パイプライン浮動小数点プロセッサ
US5046038A (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US6049865A (en) Method and apparatus for implementing floating point projection instructions
US5341321A (en) Floating point arithmetic unit using modified Newton-Raphson technique for division and square root
EP0421092B1 (en) Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
JP2557190B2 (ja) 引き数簡約の最適化システム
US5671170A (en) Method and apparatus for correctly rounding results of division and square root computations
JP2618604B2 (ja) データ・バスからのデータ入力を制御する方法
GB2294565A (en) Floating point arithmetic unit
JPH02196328A (ja) 浮動小数点演算装置
JPH07104778B2 (ja) 浮動小数点数演算処理装置
US5261001A (en) Microcircuit for the implementation of RSA algorithm and ordinary and modular arithmetic, in particular exponentiation, with large operands
EP0416309B1 (en) Method and apparatus for performing the square root function using a rectangular aspect ratio multiplier
US8060551B2 (en) Method and apparatus for integer division
EP0416308A2 (en) Rectangular array signed digit multiplier
US5222230A (en) Circuitry for transferring data from a data bus and temporary register into a plurality of input registers on clock edges
Erle et al. Decimal floating-point multiplication
US7539720B2 (en) Low latency integer divider and integration with floating point divider and method
JPH0687218B2 (ja) 浮動小数点数演算処理装置及び除数倍数生成装置
EP0361886A2 (en) Improved floating point computation unit
JPH0540605A (ja) 浮動小数点乗算装置
Jaiswal et al. Taylor series based architecture for quadruple precision floating point division
Lang et al. Division unit for binary integer decimals