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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/4824—Methods 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/552—Powers or roots, e.g. Pythagorean sums
- G06F7/5525—Roots or inverse roots of single operands
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5355—Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4873—Dividing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49957—Implementation 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を設
ける。平方根の場合、平方根の最終的な近似値を自乗
し、演算数と比較する。丸めをどうするかは、演算数と
近似された平方根との大小に基づく。除算では、商の最
終的な近似値に除数を乗じ、被除数と比較する。被除数
と計算された積との大小に基づいて丸めの方向が決定さ
れる。
丸める方向を素早く決定する方法を得ること。 【構成】 除算または平方根の計算の最終的な近似値を
丸める方向を素早く決定するために比較回路120を設
ける。平方根の場合、平方根の最終的な近似値を自乗
し、演算数と比較する。丸めをどうするかは、演算数と
近似された平方根との大小に基づく。除算では、商の最
終的な近似値に除数を乗じ、被除数と比較する。被除数
と計算された積との大小に基づいて丸めの方向が決定さ
れる。
Description
【0001】
【産業上の利用分野】この発明は、全般的に集積回路、
更に具体的に言えば、除算数および平方根の計算を効率
的に行う方法に関する。
更に具体的に言えば、除算数および平方根の計算を効率
的に行う方法に関する。
【0002】
【従来の技術および問題点】計算機、信号処理装置およ
びプロセス制御装置のような多くのシステムでは、高速
の計算が設計の重要な観点である。このようなシステム
は、高速の計算を行うために、次第に高度に並列の設計
を用いたLSI集積回路に頼っている。並列方式を利用
して整数および浮動少数点乗算を行う特殊な集積回路が
いろいろ利用し得る。しかし、除算および平方根を求め
る集積回路は一般的に直列であり、そのためにその有効
性が低下する。除算は、周知の収斂アルゴリズムを用い
ることにより、他の回路と共に高速乗算器によって実施
することができる。一般的に、高速並列乗算器は2つの
主な部分に分割することをできる。第1の部分は、部分
積発生器と、部分積を和および桁上げのストリームに還
元する加算器アレイを含んでいる。第2の部分が、桁上
げおよび和のストリームを加算する最終加算器を含む。
第2の部分は桁上げチェーンに関係するから、最終的な
加算は、部分積の発生および加算と大体同じ長さの時間
を使う。両半分の間にパイプライン・レジスタを挿入し
て、乗算器のスループットを高める場合が多い。これ
は、後半分が初めの計算を完了する間、前半分が次の動
作を開始することができるからである。
びプロセス制御装置のような多くのシステムでは、高速
の計算が設計の重要な観点である。このようなシステム
は、高速の計算を行うために、次第に高度に並列の設計
を用いたLSI集積回路に頼っている。並列方式を利用
して整数および浮動少数点乗算を行う特殊な集積回路が
いろいろ利用し得る。しかし、除算および平方根を求め
る集積回路は一般的に直列であり、そのためにその有効
性が低下する。除算は、周知の収斂アルゴリズムを用い
ることにより、他の回路と共に高速乗算器によって実施
することができる。一般的に、高速並列乗算器は2つの
主な部分に分割することをできる。第1の部分は、部分
積発生器と、部分積を和および桁上げのストリームに還
元する加算器アレイを含んでいる。第2の部分が、桁上
げおよび和のストリームを加算する最終加算器を含む。
第2の部分は桁上げチェーンに関係するから、最終的な
加算は、部分積の発生および加算と大体同じ長さの時間
を使う。両半分の間にパイプライン・レジスタを挿入し
て、乗算器のスループットを高める場合が多い。これ
は、後半分が初めの計算を完了する間、前半分が次の動
作を開始することができるからである。
【0003】その結果、高速並列乗算器は、収斂アルゴ
リズムの毎回の繰り返しに対し、少なくとも3クロック
・サイクルを必要とする。このため、除算および平方根
の計算は、他の計算に較べてかなりの時間を必要とす
る。従って、業界には、高速で除算および平方根の計算
ができるプロセッサに対する要望がある。
リズムの毎回の繰り返しに対し、少なくとも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に接続される。
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に詳しく示されている。
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にロードされる演算数を指す。
処するために、融通性のある入力モードを持つように設
計されている。形式制御信号は、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を持っている。
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によって選択される。
実施する。演算数は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信号をゼロ検出として使
う。
的にロードされない。しかし、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が外部データ入力に作用す
る。
するようにプログラムすることができる。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 B1 )をSへ通す A2 ,B2 をロードする 3 S(A1 B1 )+P(A2 B2 ) A3 ,B3 をロードする A3 *B3 4 S(A1 B1 +A2 B2 )+P(A3 B3 ) A4 ,B4 をロードする A4 *B4 5 S(A1 B1 +A2 B2 +A3 B3 )+P(A4 B4 ) 6 新しい命令 積の和または和の積の長いストリームを計算する場合、
この発明のプロセッサ10は、略計算を完了するのに必
要な時間のままである。従って、この発明は、従来のプ
ロセッサに較べて、速度を著しく改善するという技術的
な利点がある。
結果を累算すると言う、積の和の計算に関係する基本的
な動作に使われる動作を示している。表2では、4つの
積の和を計算している。表2で、P( )およびS
( )は、各々積レジスタ65および和レジスタ66に
記憶されている量を指す。 表2 1倍精度の積の和クロック・サイクル 乗算器/ALU動作 1 A1 ,B1 をロードする A1 *B1 2 P(A1 B1 )をSへ通す A2 ,B2 をロードする 3 S(A1 B1 )+P(A2 B2 ) A3 ,B3 をロードする A3 *B3 4 S(A1 B1 +A2 B2 )+P(A3 B3 ) A4 ,B4 をロードする A4 *B4 5 S(A1 B1 +A2 B2 +A3 B3 )+P(A4 B4 ) 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に示めされてい
ない。
されている。除算/平方根回路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が、商を丸めるのに使うため、
中間の結果を保持する。
法として、符号ディジット乗算が導入されている。符号
ディジット乗算が、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が、
シードを発生するのに便利な方法である。
/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に移す。
求める。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 の結果は、
Qf がA/Bを近似するから、被除数Aを近似する筈で
ある。
ずることにより、商の第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 の結果は、
Qf が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に記憶する。
もとの被除数と比較して、どちらが大きいか、被除数お
よび近似の被除数が等しくないかどうかを決定する。こ
の結果に基づいて、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に記憶する。
タ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は、普
通の数の最下位ビットだけを符号つきディジット数の最
下位ビットおよびガード・ビットと比較すればよい。精
度を達成するのに必要な繰り返しの回数は、演算数の任
意のビット長に対して予め決定されているから、これら
のビットだけを比較すればよい。
に記憶されている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に関連するポートが大きさの数だけを受け取ればよい
からである。最終的な答えを大きさの数に変換するため
にも変換器が必要であるが、除算に何ら遅延を追加しな
いことに注意されたい。
を浮動小数点表示に変換することによって実施すること
ができる。整数から浮動小数点表示への変換の結果を影
の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つの数のフィードバ
ックに対処する。従って、この発明は、パイプライン・
レジスタおよび変換器に伴う遅延を避けると共に、定数
の減算(並びに平方根では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】 演算数の平方根の計算で平方根の近似値
を丸める方法において、平方根の近似値を自乗して近似
演算数を求め、該近似演算数を演算数と比較し、近似演
算数が演算数より小さい場合、演算数の近似値を切上
げ、近似演算数が演算数より大きい場合、演算数の近似
値を切下げる工程を含む方法。 - 【請求項2】 被除数及び除数の除算で商の近似値を丸
める方法において、前記商の近似値に除数を乗じて近似
被除数を求め、該近似被除数を被除数と比較し、近似被
除数が被除数より小さい場合、商の近似値を切上げ、近
似被除数が被除数より大きい場合、商の近似値を切下げ
る工程を含む方法。
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)
| 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)
| 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)
| 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 | ディジタル信号処理装置 |
-
1988
- 1988-01-29 US US07/150,363 patent/US4878190A/en not_active Expired - Lifetime
-
1989
- 1989-01-27 JP JP1019385A patent/JP2598507B2/ja not_active Expired - Fee Related
- 1989-01-27 EP EP89300821A patent/EP0326415B1/en not_active Expired - Lifetime
- 1989-01-27 DE DE68927966T patent/DE68927966T2/de not_active Expired - Fee Related
- 1989-01-28 KR KR1019890000957A patent/KR100242274B1/ko not_active Expired - Lifetime
-
1994
- 1994-03-29 JP JP6059043A patent/JPH0749771A/ja active Pending
Patent Citations (2)
| 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 |