JP2005018759A - 2の浮動小数点数乗の概算を実施するための方法および装置 - Google Patents
2の浮動小数点数乗の概算を実施するための方法および装置 Download PDFInfo
- Publication number
- JP2005018759A JP2005018759A JP2004173184A JP2004173184A JP2005018759A JP 2005018759 A JP2005018759 A JP 2005018759A JP 2004173184 A JP2004173184 A JP 2004173184A JP 2004173184 A JP2004173184 A JP 2004173184A JP 2005018759 A JP2005018759 A JP 2005018759A
- Authority
- JP
- Japan
- Prior art keywords
- floating
- point
- result
- bits
- fractional
- 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
Images
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/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/556—Logarithmic or exponential functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】浮動小数点数はメモリ内に格納される。浮動小数点数は、符号ビット、複数の指数ビット、および暗黙の1ビットと複数の小数ビットとを有する仮数を含む。浮動小数点命令に応答して、仮数を指数ビットに基づいて整数部と小数部に分割する。浮動小数点結果は、浮動小数点数の整数部を浮動小数点結果のバイアスの掛からない指数として割り当て、浮動小数点数の小数部を浮動小数点結果の小数部に変換するための組み合せ論理ハードウェアを利用することによって提供される。
【選択図】図1
Description
x=(−1)sign×2exp×仮数
ただし、signは符号ビット、expはバイアスの掛からない正の指数、仮数は1.小数に等しいとする。したがって、2進浮動小数点形式で、x=(−1)0×22×1.011100、または0 0010 01110000となる。xの指数は0010(10進数の2)に等しいので、暗黙の2進小数点は右に2桁分シフトして、仮数は101.11000000000となる。2進小数点の左側のビット(すなわち、101)が整数部xIになり、2進小数点の右側のビット(すなわち、1100000000)が小数xFになる。したがって、yexp(浮動小数点結果yのバイアスの掛からない指数)は101に等しく、yF(浮動小数点結果yの小数)は、小数xFを入力として用いる本発明の好ましい実施形態の組み合せ論理ハードウェア400を用いることによって、1.10101110001に等しくなる。浮動小数点結果yの値は、yexpとyFを組み合せることによって取得され、2進数で110101.110001、または10進数で53.7656となる。
s1 = F1 AND F2 AND F3 AND F4
s2 = (NOT F1 AND NOT F2) OR (F1 AND F2 ANDF3 AND NOT F4) OR (F1 AND F2 AND NOT F3 AND F4)
s3 = (F2 AND NOT F3 AND NOT F4) OR (F1 ANDNOT F2 AND F3) OR (NOT F1 AND F2 AND NOT F3) OR (NOT F1 AND F2 AND NOT F4)
A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11はそれぞれ、A(1から11)のビット1から11を表し、以下の式で定義される。
A1 = 0
A2 = 0
A3 = 0
A4 = (s1 AND NOT F3) OR (s2 AND NOT F1 ANDF2) OR (s2 AND F1 AND NOT F2)
A5 = (s1 AND NOT F4) OR (s2 AND NOT F1 ANDF3) OR (s2 AND F1 AND NOT F2) OR
(s3 AND NOT F1 AND F2) OR (s3 AND F1 AND NOTF2)
A6 = (s1 AND NOT F5) OR (s2 AND NOT F1 ANDF4) OR (s2 AND F1 AND NOT F4) OR
(s3 AND NOT F1 AND F3) OR (s3 AND F1 ANDNOT F3)
A7 = (s1 AND NOT F6) OR (s2 AND NOT F1 ANDF5) OR (s2 AND F1 AND NOT F5) OR
(s3 AND NOT F1 AND F4) OR (s3 AND F1 ANDNOT F4)
A8 = (s1 AND NOT F7) OR (s2 AND NOT F1 ANDF6) OR (s2 AND F1 AND NOT F6) OR
(s3 AND NOT F1 AND F5) OR (s3 AND F1 ANDNOT F5)
A9 = (s1 AND NOT F8) OR (s2 AND NOT F1 ANDF7) OR (s2 AND F1 AND NOT F7) OR
(s3 AND NOT F1 AND F6) OR (s3 AND F1 ANDNOT F6)
A10 = (s1 AND NOT F9) OR (s2 AND NOT F1AND F8) OR (s2 AND F1 AND NOT F8) OR
(s3 AND NOT F1 AND F7) OR (s3 AND F1 ANDNOT F7)
A11 = (s1 AND NOT F10) OR (s2 AND NOT F1AND F9) OR (s2 AND F1 AND NOT F9) OR
(s3 AND NOT F1 AND F8) OR (s3 AND F1 ANDNOT F8)
B4 = (F1 AND NOT F2 AND NOT F3) OR (NOT F1AND F2 AND F3 AND F4)
B5 = (F2 AND NOT F3 AND NOT F4) OR (F1 ANDNOT F2 AND F3) OR (NOT F1 AND F2 AND NOT F3) OR (NOT F1 AND F2 AND NOT F4)
B6 = (NOT F1 AND F2 AND F3 AND F4) OR (F1AND F2 AND F3 AND NOT F4) OR (F1 AND NOT F2 AND NOT F3) OR (F1 AND NOT F3 ANDF4)
B7 = (NOT F1 AND F2 AND F3 AND F4) OR (F1AND NOT F3 AND NOT F4) OR (F1 AND NOT F2)
表1
-F(1から11) A(1から11)B(4から7) A-F(1から11)-result(1から11)
(-F+A+C)
11111111111 00000000000 000011111111111 11111111111
11111111110 00000000000 000011111111110 11111111110
11111111101 00000000000 000011111111101 11111111101
11111111100 00000000000 000011111111100 11111111100
11111111011 00000000001 000011111111100 11111111100
11111111010 00000000001 000011111111011 11111111011
11111111001 00000000001 00001111111101011111111010
11111111000 00000000001 000011111111001 11111111001
11111110111 00000000010 000011111111001 11111111001
11111110110 00000000010 000011111111000 11111111000
11111110101 00000000010 00001111111011111111110111
11111110100 00000000010 000011111110110 11111110110
11111110011 00000000011 000011111110110 11111110110
11111110010 00000000011 000011111110101 11111110101
11111110001 00000000011 00001111111010011111110100
11111110000 00000000011 000011111110011 11111110011
11111101111 00000000100 000011111110011 11111110011
*
*
*
11000000000 00001111111 000011001111111 11001111111
10111111111 00001111111 00001100111111111001111111
10111111110 00001000000 010011000111110 11001111110
10111111101 00001000000 010011000111101 11001111101
10111111100 00001000000 010011000111100 11001111100
10111111011 00001000000 01001100011101111001111011
10111111010 00001000000 010011000111010 11001111010
10111111001 00001000000 010011000111001 11001111001
10111111000 00001000000 010011000111000 11001111000
*
*
*
01101100011 00000000000 10110110110001110000010011
01101100010 00000000000 101101101100010 10000010010
01101100001 00000000000 101101101100001 10000010001
01101100000 00000000000 101101101100000 10000010000
01101011111 00000000000 101101101011111 10000001111
01101011110 00000000000 101101101011110 10000001110
01101011101 00000000000 101101101011101 10000001101
01101011100 00000000000 101101101011100 10000001100
01101011011 00000000000 101101101011011 10000001011
01101011010 00000000000 101101101011010 10000001010
*
*
*
00000000110 00000000011 000000000001001 00000001001
00000000101 00000000010 000000000000111 00000000111
00000000100 00000000010 000000000000110 00000000110
00000000011 00000000001 000000000000100 00000000100
00000000010 00000000001 000000000000011 00000000011
00000000001 00000000000 000000000000001 00000000001
00000000000 00000000000 000000000000000 00000000000
小数resultの補数の第1ビット:
INV_RESULT1 = (NOT F1) OR
(NOT F2 AND NOT F3 AND NOT F4) OR
(NOT F2 AND NOT F3 AND NOT F5 AND NOT F6)OR
(NOT F2 AND NOT F3 AND NOT F5 AND NOT F7)
INV_RESULT2 = (F1 AND NOT F2 AND NOT F3)OR
(F2 AND NOT F3 AND NOT F4) OR
(F4 AND F5 AND F1 AND NOT F2) OR
(F1 AND NOT F2 AND F6 AND F7 AND F4) OR
(NOT F5 AND NOT F6 AND NOT F1 AND F2 ANDNOT F3 AND NOT F7) OR
(NOT F8 AND NOT F9 AND NOT F5 AND NOT F6AND NOT F1 AND F2 AND NOT F3 AND NOT F10)
INV_RESULT3 = (F1 AND NOT F2 AND F3 ANDNOT F4) OR
(NOT F1 AND F2 AND F3 AND NOT F4) OR
(F1 AND NOT F3 AND F2 AND F4) OR
(F4 AND F5 AND F1 AND NOT F3) OR
(F2 AND NOT F3 AND F4 AND F5) OR
(F2 AND NOT F3 AND F4 AND F6) OR
(NOT F1 AND F2 AND F3 AND NOT F5 AND NOTF6) OR
(F6 AND F7 AND F1 AND NOT F3 AND F4) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND NOT F6AND NOT F7) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND NOT F6AND NOT F8) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND NOT F6AND NOT F9) OR
(F2 AND F3 AND NOT F4 AND NOT F5) OR
(F6 AND NOT F7 AND NOT F1 AND F2 AND F4 ANDNOT F5) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 AND F3AND NOT F8) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 AND F3AND NOT F9) OR
(NOT F5 AND NOT F6 AND NOT F1 AND F2 AND F4AND F7 AND F8) OR
(NOT F5 AND NOT F6 AND NOT F1 AND F2 AND F4AND F7 AND F9) OR
(NOT F5 AND NOT F6 AND NOT F1 AND F2 AND F4AND F7 AND F10)
INV_RESULT4 = (F4 AND F5 AND F1 AND NOTF2) OR
(F4 AND F5 AND NOT F1 AND F2) OR
(NOT F4 AND NOT F5 AND F1 AND NOT F2 ANDNOT F6) OR
(F1 AND NOT F2 AND F3 AND F4 AND F6) OR
(F6 AND F7 AND NOT F1 AND F2 AND F4) OR
(F2 AND F3 AND NOT F4 AND NOT F1 AND NOT F5AND NOT F6) OR
(F1 AND F5 AND F2 AND F3 AND NOT F4 AND F6)OR
(NOT F4 AND NOT F5 AND F1 AND NOT F3 ANDNOT F2 AND NOT F7) OR
(F1 AND F5 AND F2 AND F3 AND NOT F4 AND F7)OR
(F8 AND F9 AND F1 AND F5 AND F2 AND F3 ANDNOT F4) OR
(NOT F8 AND NOT F9 AND F2 AND F3 AND NOT F4AND NOT F1 AND NOT F5 AND NOT F7) OR
(F2 AND NOT F3 AND F4 AND F1 AND NOT F6) OR
(F2 AND NOT F3 AND F4 AND NOT F5 AND F6) OR
(F6 AND F7 AND F1 AND NOT F3 AND F4 AND NOTF5) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDF8) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDF9) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDF10) OR
(F1 AND NOT F3 AND NOT F5 AND NOT F6 ANDNOT F4 AND NOT F7 AND NOT F8) OR
(F6 AND NOT F7 AND F1 AND NOT F2 AND F3 ANDNOT F5 AND NOT F8) OR
(F1 AND NOT F3 AND NOT F5 AND NOT F6 ANDNOT F4 AND NOT F7 AND NOT F9) OR
(NOT F8 AND NOT F9 AND F6 AND NOT F7 AND F2AND NOT F3 AND F4) OR
(F1 AND NOT F3 AND NOT F5 AND NOT F6 ANDNOT F4 AND NOT F7 AND NOT F10) OR
(F6 AND NOT F7 AND F2 AND NOT F3 AND F4 ANDNOT F8 AND NOT F10) OR
(F8 AND F9 AND NOT F6 AND F7 AND F1 AND NOTF2 AND F3 AND NOT F5) OR
(F6 AND NOT F7 AND F1 AND NOT F2 AND F3 ANDNOT F5 AND NOT F9 AND NOT F10)
INV_RESULT5 = (NOT F4 AND NOT F5 AND NOTF1 AND F2 AND NOT F3) OR
(F1 AND F5 AND NOT F2 AND NOT F3 AND NOTF6) OR
(NOT F1 AND F2 AND F3 AND F5 AND NOT F6) OR
(F1 AND F5 AND NOT F2 AND NOT F3 AND NOTF7) OR
(F1 AND F5 AND NOT F2 AND NOT F6 AND NOTF7) OR
(F1 AND NOT F2 AND F6 AND F7 AND NOT F5) OR
(F6 AND F7 AND NOT F1 AND F2 AND NOT F5) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND F4 ANDF6) OR
(F4 AND F5 AND NOT F1 AND F2 AND F3 AND NOTF7) OR
(F4 AND F5 AND NOT F1 AND F2 AND NOT F6 ANDNOT F7) OR
(NOT F8 AND NOT F9 AND F1 AND F5 AND NOT F2AND NOT F6) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 AND F1AND F3 AND NOT F5) OR
(F6 AND F7 AND F1 AND F5 AND F2 AND NOT F3AND F4) OR
(F8 AND F9 AND F1 AND NOT F2 AND F3 AND NOTF5 AND F6) OR
(F1 AND NOT F2 AND F3 AND NOT F5 AND F6 ANDF8 AND F10) OR
(F1 AND F5 AND NOT F2 AND NOT F6 AND NOT F8AND NOT F10 AND NOT F11) OR
(F8 AND F9 AND F1 AND NOT F2 AND F3 AND NOTF5 AND F4 AND F7) OR
(F6 AND NOT F7 AND F2 AND NOT F3 AND NOTF5) OR
(NOT F4 AND NOT F5 AND F2 AND NOT F3 ANDF7) OR
(F2 AND NOT F3 AND F4 AND F1 AND NOT F5 ANDNOT F6) OR
(F1 AND F5 AND F2 AND F3 AND NOT F4 AND F6)OR
(NOT F6 AND F7 AND F1 AND F5 AND F3 AND NOTF4) OR
(F4 AND F5 AND NOT F1 AND F2 AND NOT F6 ANDNOT F8) OR
(NOT F4 AND NOT F5 AND NOT F1 AND F2 AND F6AND F9) OR
(NOT F5 AND NOT F6 AND F2 AND NOT F3 AND F7AND F9) OR
(NOT F5 AND NOT F6 AND F2 AND NOT F3 AND F7AND F10) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 ANDNOT F1 AND NOT F3 AND NOT F8) OR
(F6 AND NOT F7 AND F2 AND F3 AND NOT F4 ANDF5 AND NOT F8) OR
(NOT F5 AND NOT F6 AND F1 AND F2 AND NOT F4AND F7 AND NOT F8) OR
(F6 AND NOT F7 AND F2 AND NOT F3 AND F4 ANDF1 AND F8) OR
(F8 AND F9 AND F1 AND F5 AND F2 AND F3 ANDNOT F4) OR
(NOT F8 AND NOT F9 AND F2 AND NOT F4 ANDNOT F6 AND NOT F7 AND NOT F3 AND F5) OR
(F6 AND NOT F7 AND F2 AND F3 AND NOT F4 ANDNOT F1 AND F8 AND NOT F9) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 ANDNOT F3 AND F5 AND NOT F8 AND NOT F10) OR
(F1 AND NOT F3 AND NOT F8 AND NOT F9 AND F2AND NOT F5 AND F7 AND NOT F10) OR
(F6 AND NOT F7 AND F1 AND F5 AND NOT F3 ANDF4 AND F9 AND F10) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 ANDNOT F3 AND F5 AND NOT F8 AND NOT F11) OR
(NOT F8 AND NOT F9 AND F6 AND NOT F7 AND F1AND F5 AND F3 AND NOT F4 AND NOT F10) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDNOT F1 AND F8 AND NOT F9 AND NOT F10) OR
(F8 AND F9 AND F2 AND NOT F4 AND NOT F6 ANDNOT F7 AND F1 AND NOT F5 AND F10) OR
(NOT F8 AND NOT F9 AND F6 AND NOT F7 AND F1AND F5 AND F3 AND NOT F4 AND NOT F11) OR
(F6 AND F7 AND NOT F8 AND NOT F9 AND F2 ANDNOT F3 AND F4 AND F1 AND NOT F11) OR
(F2 AND NOT F4 AND NOT F6 AND NOT F7 ANDNOT F1 AND NOT F3 AND NOT F9 AND NOT F10 AND NOT F11) OR
(NOT F5 AND NOT F6 AND F1 AND F2 AND NOT F4AND F7 AND NOT F9 AND NOT F10 AND NOT F11) OR
(F8 AND F9 AND F2 AND F3 AND NOT F4 AND F5AND NOT F7 AND NOT F10 AND NOT F11) OR
(NOT F6 AND F7 AND F2 AND NOT F3 AND F4 ANDNOT F1 AND NOT F9 AND F10 AND NOT F11)
302 命令ユニット
304 整数ユニット
306 汎用レジスタ
308 ロード/ストア・ユニット
310 浮動小数点レジスタ
312 浮動小数点ユニット
314 完了ユニット
316 データ・キャッシュ
318 命令キャッシュ
320 バス・インタフェース・ユニット
400 組み合せ論理回路
401 組み合せ論理
402 組み合せ論理
404 11ビット加算器
406 マルチプレクサ
408 2ビット加算器
410 レジスタ
414 浮動小数点結果
Claims (12)
- 2の浮動小数点数乗の概算関数を実装するための方法であって、
符号ビット、複数の指数ビット、および暗黙の1ビットと複数の小数ビットとを有する仮数を含む浮動小数点数をメモリに格納するステップと、
浮動小数点命令に応答して、
前記仮数を、前記指数ビットに基づいて、整数部と小数部に分割するステップと、
浮動小数点結果を、前記浮動小数点数の前記整数部を前記浮動小数点結果のバイアスの掛からない指数として割り当て、組み合せ論理ハードウェアを利用して前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換することによって、生成するステップと、
前記浮動小数点結果を前記メモリ内に格納するステップとを含む方法。 - 前記浮動小数点数の前記仮数の前記小数ビットが、F(1から11)と表現される11ビットの小数ビットを含む、請求項1に記載の2の浮動小数点数乗の概算関数を実装するための方法。
- 前記浮動小数点数の前記仮数の前記小数ビットの前記複数のビットがFによって表され、組み合せ論理ハードウェアを利用して前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換する前記ステップが、Fを受信してAおよびBによって表される2つの数を生成する第1の組み合せ論理を利用するステップであって、AとBの和をFから減算することによって前記浮動小数点結果の前記小数部を生成するステップを含む、請求項1に記載の2の浮動小数点数乗の概算関数を実装するための方法。
- 前記浮動小数点数の前記仮数の前記小数ビットが、F(1から11)と表現される11ビットの小数ビットを含み、組み合せ論理を利用して前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換する前記ステップが、
AとBをFの1の補数と共に加算して和を提供し、前記和の1の補数を取って前記浮動小数点結果の前記小数部を生成する、請求項1に記載の2の浮動小数点数乗の概算関数を実装するための方法。 - 前記浮動小数点結果の前記小数部が、yF(1から11)と表現される11ビットの小数ビットを含む、請求項4に記載の2の浮動小数点数乗の概算関数を実装するための方法。
- 2の浮動小数点数乗の概算関数を実装するための装置であって、
符号ビット、複数の指数ビット、および暗黙の1ビットと複数の小数ビットとを有する仮数を含む浮動小数点数をメモリに格納するためのプロセッサであって、
浮動小数点命令に応答して、前記仮数を、前記指数ビットに基づいて、整数部と小数部に分割し、浮動小数点結果を、前記浮動小数点数の前記整数部を前記浮動小数点結果のバイアスの掛からない指数部として割り当てすることによって生成するプロセッサと、
前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換するための組み合せ論理ハードウェアとを含む装置。 - 前記浮動小数点数の前記仮数の前記小数ビットの前記複数のビットがFによって表され、前記浮動小数点数の前記小数部を前記浮動小数点結果の小数部に変換する前記組み合せ論理ハードウェアが、前記小数ビットFを受信してAおよびBによって表される2つの数を生成する第1の組み合せ論理であって、AとBの和をFから減算することによって前記浮動小数点結果の前記小数部を生成する第1の組み合せ論理を含む、請求項6に記載の2の浮動小数点数乗の概算関数を実装するための装置。
- 前記組み合せ論理ハードウェアが、AとBをFの1の補数と共に加算して、(−result=−F+A+B)と表現されるresultの1の補数を提供する加算器を含む、請求項7に記載の2の浮動小数点数乗の概算関数を実装するための装置。
- 前記組み合せ論理ハードウェアが、前記resultの1の補数の1の補数を取って、前記浮動小数点結果の前記小数部を生成する1の補数関数をさらに含む、請求項8に記載の2の浮動小数点数乗の概算関数を実装するための装置。
- 前記加算器が、Aと前記Fの1の補数を加算するための11ビット加算器と、Bと前記Fの1の補数を加算して、(−result=−F+A+B)と表現される前記resultの1の補数を生成するための2ビット加算器を含む、請求項8に記載の2の浮動小数点数乗の概算関数を実装するための装置。
- 前記組み合せ論理ハードウェアが、Bが非0であるかどうかに基づいて、前記Fの1の補数にのみ依存する前記resultの1の補数の事前定義されたビットと、前記Fの1の補数とAの和のいずれかを選択するためのマルチプレクサをさらに含む、請求項10に記載の2の浮動小数点数乗の概算関数を実装するための装置。
- 前記浮動小数点結果が、yF(1から11)と表現される11ビットの小数ビットを含む、請求項7に記載の2の浮動小数点数乗の概算関数を実装するための装置。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/607,359 US7143126B2 (en) | 2003-06-26 | 2003-06-26 | Method and apparatus for implementing power of two floating point estimation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005018759A true JP2005018759A (ja) | 2005-01-20 |
Family
ID=33540245
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004173184A Pending JP2005018759A (ja) | 2003-06-26 | 2004-06-10 | 2の浮動小数点数乗の概算を実施するための方法および装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US7143126B2 (ja) |
| JP (1) | JP2005018759A (ja) |
| CN (1) | CN100524201C (ja) |
| TW (1) | TWI325120B (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010033318A (ja) * | 2008-07-29 | 2010-02-12 | Sony Corp | 演算処理装置および方法、並びにプログラム |
| JP2024506441A (ja) * | 2021-01-29 | 2024-02-14 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 正規化関数のためのデジタル回路機構 |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050138095A1 (en) * | 2003-12-18 | 2005-06-23 | International Business Machines Corporation | Method for base two logarithmic estimation |
| US7456837B2 (en) * | 2005-01-10 | 2008-11-25 | International Business Machines Corporation | Optimized specular highlight generation |
| US7644116B2 (en) * | 2006-05-31 | 2010-01-05 | Via Telecom Co., Ltd. | Digital implementation of fractional exponentiation |
| US8275821B2 (en) * | 2007-09-07 | 2012-09-25 | International Business Machines Corporation | Area efficient transcendental estimate algorithm |
| JP5326314B2 (ja) * | 2008-03-21 | 2013-10-30 | 富士通株式会社 | プロセサおよび情報処理装置 |
| US20100215055A1 (en) * | 2009-02-25 | 2010-08-26 | Glaser Stephen D | Method and apparatus for using multiple protocols on a communication link |
| CN108647044B (zh) | 2011-12-28 | 2022-09-13 | 英特尔公司 | 浮点缩放处理器、方法、系统和指令 |
| JP5794385B2 (ja) * | 2012-03-30 | 2015-10-14 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
| CN103455303B (zh) * | 2012-05-31 | 2017-10-31 | 上海华虹集成电路有限责任公司 | 用硬件实现指数运算的电路 |
| US9461667B2 (en) * | 2013-12-30 | 2016-10-04 | Samsung Electronics Co., Ltd. | Rounding injection scheme for floating-point to integer conversion |
| CN104866281A (zh) * | 2014-02-21 | 2015-08-26 | 北京国睿中数科技股份有限公司 | 实现浮点数符号分析替换的装置及方法 |
| CN105183426A (zh) * | 2015-08-18 | 2015-12-23 | 深圳市振邦智能科技有限公司 | 一种应用于8位单片机的浮点数显示方法和装置 |
| US11163533B2 (en) * | 2019-07-18 | 2021-11-02 | International Business Machines Corporation | Floating point unit for exponential function implementation |
| CN113032326B (zh) * | 2021-03-25 | 2022-05-10 | 盛立安元科技(杭州)股份有限公司 | 一种用于fpga的数据类型转换装置、方法、设备及存储介质 |
| CN113721884B (zh) * | 2021-09-01 | 2022-04-19 | 北京百度网讯科技有限公司 | 运算方法、装置、芯片、电子装置及存储介质 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4078250A (en) * | 1974-08-21 | 1978-03-07 | The Singer Company | Log-antilog conversion for a digital radar system |
| US4583180A (en) * | 1983-01-28 | 1986-04-15 | National Semiconductor Corporation | Floating point/logarithmic conversion system |
| US5365465A (en) * | 1991-12-26 | 1994-11-15 | Texas Instruments Incorporated | Floating point to logarithm converter |
| US6178435B1 (en) * | 1998-06-30 | 2001-01-23 | International Business Machines Corporation | Method and system for performing a power of two estimation within a data processing system |
| US6289367B1 (en) * | 1998-11-16 | 2001-09-11 | Texas Instruments Incorporated | Digital signal processing circuits, systems, and method implementing approximations for logarithm and inverse logarithm |
-
2003
- 2003-06-26 US US10/607,359 patent/US7143126B2/en not_active Expired - Fee Related
-
2004
- 2004-04-06 CN CNB2004100335463A patent/CN100524201C/zh not_active Expired - Fee Related
- 2004-06-01 TW TW093115666A patent/TWI325120B/zh not_active IP Right Cessation
- 2004-06-10 JP JP2004173184A patent/JP2005018759A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010033318A (ja) * | 2008-07-29 | 2010-02-12 | Sony Corp | 演算処理装置および方法、並びにプログラム |
| JP2024506441A (ja) * | 2021-01-29 | 2024-02-14 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 正規化関数のためのデジタル回路機構 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN100524201C (zh) | 2009-08-05 |
| TWI325120B (en) | 2010-05-21 |
| CN1577250A (zh) | 2005-02-09 |
| TW200516490A (en) | 2005-05-16 |
| US7143126B2 (en) | 2006-11-28 |
| US20040267853A1 (en) | 2004-12-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2622896B2 (ja) | 除算装置 | |
| JP2005018759A (ja) | 2の浮動小数点数乗の概算を実施するための方法および装置 | |
| CN107305485B (zh) | 一种用于执行多个浮点数相加的装置及方法 | |
| JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
| RU2408057C2 (ru) | Умножитель с фиксированной точкой с предварительным насыщением | |
| KR20080055985A (ko) | 선택가능 준정밀도를 가진 부동―소수점 프로세서 | |
| US6178435B1 (en) | Method and system for performing a power of two estimation within a data processing system | |
| KR100203468B1 (ko) | 부동소수점수를 위한 산술연산장치 | |
| US8060551B2 (en) | Method and apparatus for integer division | |
| JP7285966B2 (ja) | 多入力浮動小数点加算器 | |
| US5260889A (en) | Computation of sticky-bit in parallel with partial products in a floating point multiplier unit | |
| US6847986B2 (en) | Divider | |
| Takagi et al. | A hardware algorithm for integer division | |
| JP4273071B2 (ja) | 除算・開平演算器 | |
| USH1222H (en) | Apparatus for determining sticky bit value in arithmetic operations | |
| CN114610268A (zh) | 一种高精度对数乘法器 | |
| GB2549153B (en) | Apparatus and method for supporting a conversion instruction | |
| Chu et al. | Cost/performance tradeoff of n-select square root implementations | |
| JP3941868B2 (ja) | 計算装置及び計算方法 | |
| JP7619153B2 (ja) | 演算処理装置および演算方法 | |
| EP1504338A1 (en) | "emod" a fast modulus calculation for computer systems | |
| Rahman et al. | Optimized hardware architecture for implementing IEEE 754 standard double precision floating point adder/subtractor | |
| JP2761145B2 (ja) | 開平演算装置 | |
| Palsodkar et al. | Three operand fused floating point add-subtract unit using redundant adder | |
| Thabah et al. | Improved Signed Binary Multiplier Through New Partial Product Generation Scheme |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060822 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061120 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061124 |
|
| RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20061221 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061221 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070221 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070717 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071015 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071119 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20071207 |
|
| RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20100216 |