JP2008071336A - 同一の技術に基づくrcp,sqrt,expおよびlog関数の単一データパス浮動小数点実行及び少ない待ち時間のrcp - Google Patents

同一の技術に基づくrcp,sqrt,expおよびlog関数の単一データパス浮動小数点実行及び少ない待ち時間のrcp Download PDF

Info

Publication number
JP2008071336A
JP2008071336A JP2007189740A JP2007189740A JP2008071336A JP 2008071336 A JP2008071336 A JP 2008071336A JP 2007189740 A JP2007189740 A JP 2007189740A JP 2007189740 A JP2007189740 A JP 2007189740A JP 2008071336 A JP2008071336 A JP 2008071336A
Authority
JP
Japan
Prior art keywords
rcp
single pipeline
sqrt
exp
opcodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007189740A
Other languages
English (en)
Other versions
JP2008071336A5 (ja
JP5278844B2 (ja
Inventor
Mike M Cai
エム.カイ マイク
Lefan Zhong
ゾン レファン
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.)
Vivante Corp
Original Assignee
Vivante Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vivante Corp filed Critical Vivante Corp
Publication of JP2008071336A publication Critical patent/JP2008071336A/ja
Publication of JP2008071336A5 publication Critical patent/JP2008071336A5/ja
Application granted granted Critical
Publication of JP5278844B2 publication Critical patent/JP5278844B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • G06F1/0356Reduction of table size by using two or more smaller tables, e.g. addressed by parts of the argument
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2101/00Indexing scheme relating to the type of digital function generated
    • G06F2101/08Powers or roots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2101/00Indexing scheme relating to the type of digital function generated
    • G06F2101/10Logarithmic or exponential functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2101/00Indexing scheme relating to the type of digital function generated
    • G06F2101/12Reciprocal functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • G06F7/5525Roots or inverse roots of single operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/556Logarithmic or exponential functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

【課題】高速でモバイルなアプリケーションはより集積度が高く低消費電力を要求しているので各種の数学的関数を実行するための効率的なアルゴリズムを提供する。
【解決手段】多項式近似(例えば2次多項式近似等)を行う単一パイプラインと1またはそれ以上のオペコードにしたがって単一のパイプラインに動作的に結合されたRCP、SQRT、EXPまたはLOGの少なくとも1つへ対応する1またはそれ以上のデータテーブルとからなる数学的関数を演算するためのものであって、単一パイプラインは1またはそれ以上のオペコードにしたがってRCP、SQRT、EXPまたはLOGの少なくとも1つを演算するために動作可能である方法および装置。
【選択図】図1

Description

この発明は一般にコンピュータシステムの分野にかかり、より具体的にはグラフィックスプロセッサチップに対する演算関数に関する。
従来グラフィックスプロッセッサチップは高速描画とレンダリングのためにハードウェアとして実行(または実装)される各種の数学的関数を採用している。これらの数学的関数の例として逆数(レシプロカル)関数(“RCP”)、逆数平方根関数(“SQRT”)、指数関数、(“EXP”)、および対数関数(“LOG”)を含む。これらの数学的関数は従来においては異なったアルゴリズムをもつ別の回路ブロックとして実行されている。
たとえば従来における3サイクルRCP実行において浮動小数点xは、最上位ビット(“MSB”)部分x0と最下位ビット(“LSB”)部分x1との連結として表わされるがここでx1=x−x0である。xの逆数に対する主たる演算は仮数部の演算にある。仮数は従来技術においてf(x)=a+b(x−x0)の2つの項の関数として演算されるものであり、ここでaとbはデータルックアップテーブルである。典型的な例としては、21ビットの精度以上がグラフィックスプロセッサに対して要求される場合に、この要求された精度を達成するためにデータルックアップテーブルaおよびbの各々において16000エントリ以上が必要である。これは14ビットx0および各々214エントリを有するデータルックアップテーブルとに基づいている。かかる大きなデータルックアップテーブルをハードウェア実装するためにはデータルックアップテーブルのサイズに比例した大きなゲート数が必要である。グラフィックプロセッサチップはいくつかの数学的関数のハードウェア実装を含むかもしれない。従来の例において、これらの数学的関数の各々は大きなゲート数を要求し一般的には他の方法と組み合わされる。これらの数学的関数の各々を別々の論理回路および別々の大きなデータルックアップテーブルと一緒に実装することは従来においては一般的な技術である。高速でかつモバイルなアプリケーションはより集積度が高く低消費電力を要求しているので各種の数学的関数を実行するための効率的なアルゴリズムに対する必要性が存在する。
広く述べれば、この発明の実施例は統一化(unified)されたハードウェア回路と1000エントリー以下を有するデータルックアップテーブルとを用いて各種の数学的関数を実行するための方法および装置に対して与えることによってこれらの要求が満たされる。この発明は多数の方法で実装され得るものでありそれは方法、システムあるいは装置としてのものを含むものと理解されるべきである。この発明のいくつかの発明性のある実施例が以下に述べられる。
一例においてRCPはモバイルグラフィックチップにおけるベルテックスシェイダ(Vertex Shader)およびピクセルシェイダ(Pixel Shader)のための浮動小数点における統一化されたハードウェアで実装される。この技術は、2次近似を行う統一化されたハードウェアパイプを使ってRCP(F(x)=1/x)の演算を行うことに基づいている。
F(x)=a+b(x−x0)+C(x−x1);
ここでxは単精度あるいは倍精度の浮動小数点数yの仮数部でありy=(sign)(2)(x),−126<=w<126、および1.0<=x<2.0である。一度F(x)が演算されると、RCP(y)は1/y=(sign)(2)−w(F(x))として演算される。いくつかの実施例において2次近似64セグメント(区分)において行われる。64セグメントの各々の開始値x0と終了値x1は以下のものとして演算される。
x0=1.0+i/64
x1=1.0+(i+1)/64;
ここでiは0から63までの整数である。1.0<=x<2.0およびxがこれらの64セグメントの一つであるような任意の数xに対して、iはxのMSB部分を特定のx0と一致させることによって決定される。したがってxの値はx0とx1の間(x0<=x<x1)及び(x−x0)はxのLSB部分である。一度iが決定すると、a、bおよびcの値は3つの別々のデータルックアップテーブルから決定される。
a=table[0][i]
b=table[1][i]
c=table[2][i];
このRCPは2次近似F(x)=a+b(x−x0)+C(x−x0)(x−x1)に基づいて演算されてもよい。
他の例においてSQRT(F(x)=1/x^(1/2))は異なったデータルックアップテーブルを有する統一化されたハードウェアで実装される。F(x)が一度演算されると、SQRT(y)は以下の式として演算される。
wが偶数の時、1/sqrt(y)=(sign)(2)−w/2(F(x))
wが奇数の時、1/sqrt(y)=(sign)(2)−(w−1)/2(F(x))
他の例として、EXP(F(x)=2^x)は、統一化されたパイプ(パイプライン)の前に、異なったデータルックアップテーブルと、浮動小数点から固定小数点への変換回路とを有する統一化されたハードウェアで実行される。浮動小数点から固定小数点への変換回路はyを整数int_yと小数frac_yへと変換するために前処理を行う。一度F(frac_y)が演算されるとEXP(y)は2=(2int_y)(F(frac_y))として演算される。
他の実施例として、LOG(F(x)=LOG(X))は、統一化されたハードウェアパイプの後に異なったデータルックアップテーブルと統一化された浮動小数点から固定小数点へ変換回路とを有する統一化されたハードウェアで実行されてもよい。一度F(x)が演算されると、LOG(y)はLogy=Log(y)=w+F(X)として演算される。浮動小数点から固定小数点への変換回路はそれからLogyを浮動小数点へ変換するための後処理を行う。
この発明の例と効果はこの発明の原理をたとえば例示している、添付図面を参照した以下の詳細の説明から明らかになるであろう。
[発明の詳細な説明]
図1はこの発明の実施例にしたがう6ステージの統一化されたハードウェアパイプラインを図示するブロック図である。ここでブロック101、ブロック103、ブロック105、ブロック107、ブロック109、ブロック113はパイプラインのレジスタステージである。ブロック102は浮動小数点から固定小数点への変換部である。ブロック112は固定小数点から浮動小数点への変換部である。一例においてブロック112はEXP関数を実行するためのオペコード(即ち構成命令、マイクロコード等)にしたがうバイパス回路として構成されてもよい。他の例においてブロック102はLOG関数を実行するための他のオペコード(即ち構成(configuration)命令、マイクロコード等)にしたがってバイパス回路として構成されてもよい。更に他の例として、ブロック102とブロック112の両方は、RCPまたはSQRT関数を実装することにおいてさらに他のオペコード(即ち構成命令、マイクロコード等)にしたがうバイパス回路として構成されてもよい。いくつかの実施例においてブロック104.106、108、および110は別々のデータルックアップテーブルに基づいてRCP、SQRT、EXP,LOGのような数学的関数を演算するための2次近似の各部分を実行してもよい。たとえばブロック104は浮動小点数xの仮数部に対応する整数iに基づいてcに対するデータテーブルルックアップを実行する。同様ブロック106はbに対するテーブルルウックアップを実行する。同じパイプラインステージの間にブロック106はまたc(x−x0)をも演算する。同様にブロック108はb(x−x0)およびc(x−x0)(x−x1)の演算と同様にaに対するデータテーブルルックアップを実行する。ブロック110は2次近似を演算するための3つ項の和である。上述の説明は上述に述べられた詳細に限定されるものではなく上述の説明によって容易となる各種の変形や変更も行ってもよい。
図2はこの発明の実施例にしたがう3ステージRCPハードウェアパイプラインを実施するブロック図である。ここでブロック201、ブロック203、ブロック205およびブロック207はパイプラインのレジスタステージである。いくつかの実施例においてブロック202、204および206は2次近似の各種の部分を示す。例えばブロック202は浮動小数点の仮数部のMSBに対応する整数iに基づいて、bおよびcのためのデータテーブルルックアップを実行する。同じパイプラインステージの間にブロック202はまた(x−x0)(x−x1)をも演算する。同様にブロック204はb(x−x0)およびc(x−x0)(x−x1)の演算と同様にaに対するデータテーブルルックアップを実行する。ブロック206は2次近似を演算するための3つの項の和を示す。上述の記載は上述の詳細なものに制限されるものではなく上述の説明から明らかなような各種の変形や変更も可能である。
図3はこの発明の実施例に従う各種のデータルックアップテーブルを演算するための例示的なアルゴリズムを示すフローチャートである。ここで例示的なアルゴリズムはSQRTに対するデータテーブルのa,bおよびcを演算するために例示される。この例において、テーブル[0][i]=a,テーブル[1][i]=bおよびテーブル[2][i]=cである。これらの3個の線形方程式は3個の値a,bおよびcを演算するために使われる。これらの3個の式はセグメント(301)の開始点(すなわちx)、中点(すなわちx_5)および終点(すなわちx1)をはじめに演算することによって解かれる。ブロック302および303は浮動小数点フォーマットにおいてa,bおよびcを演算する。ブロック304はa,bおよびcを整数フォーマットに変換する。ブロック305は丸め込みを行いそして最終値を発生する。他の例としてブロック302における“sqrt”関数はRCPに対するデータテールa,bおよびcを演算するためのアルゴリズムを採用するために逆数関数によって置き換えられる。他の例においてはブロック302における“sqrt”関数はこれらの他の関数に対するデータテーブルa,bおよびcを演算するためのアルゴリズムを採用するために他の関数(例えばEXP、LOG、等)によって置き換えてもよい。上述の説明は詳細な上述の説明に限定されるものではなくて上述の説明によって明らかにされるような各種の変形や変更はされてもよい。
この発明の上述された実施例は例示的な記述として与えられている。それらはこの発明を述べられた詳細な形態に制限する意図ではない。ことにここに述べられた発明の関数的な実行はハードウェア、ソフトウェア、ファームフェアおよびまたは入手可能な関数コンポーネントまたはビルディングブロックにおいて等価的に実現され、そのネットワークはまた有線でも無線でも有線無線の組み合わせでもよい。他の変形例や実施例は上述の教示に照らして可能であり、この発明の範囲は詳細な説明によって限定されるものではなくむしろ以下のクレームによって限定されるということが意図されている。
この発明の上述した特徴、効果、目的が達成されるような態様が詳細に理解されるようにこの発明のより具体的な説明が、上記に簡単に要約されたように、添付図面において図示される実施例を参照することによってなされてもよい。
しかしながら、添付図面はこの発明の単なる典型的な実施例が図示されているだけでありその権利範囲を制限するように考えられるべきではないということを注意されるべきである。なぜならこの発明は他の同様に有効な実施例も認めているからである。
図1はこの発明の実施例にしたがう6ステージの統一化されたハードウェアパイプラインを図示するブロック図である。 図2はこの発明の一実施例に従う3ステージのRCPハードウェアパイプラインを示すブロック図である。 図3はこの発明の実施例にしたがう各種の例示的データルックアップテーブルを演算するためのアルゴリズムを図示するフローチャートである。

Claims (12)

  1. 多項式近似を行うための単一パイプラインであってその単一パイプラインは1またはそれ以上のステージからなり、
    1またはそれ以上のオペコードにしたがって前記単一パイプラインに接続されるように動作的に結合されたRCP、SQRT、EXPまたはLOGの少なくとも1つに対応した少なくとも1つのデータテーブルと
    からなり、
    各データテーブルは1000エントリ以下を含み、
    前記多項式近似は2次またはそれ以上の多項式を含み、
    前記単一のパイプラインは1またはそれ以上のオペコードに従ってRCP、SQRT,EXPまたはLOGの少なくとも一つを演算するために動作可能である、
    数学的関数の演算装置。
  2. 前記多項式近似は2次多項式近似を含み、前記単一パイプラインは7ステージ以下を有する請求項1記載の装置。
  3. 各ステージは1またはそれ以上のデータテーブルに動作的に結合される請求項1記載の装置。
  4. 各ステージは前記多項式近似の1個またはそれ以上の項を演算するように動作する請求項1記載の装置。
  5. 第1ステージは浮動小数点表示を固定小数点表示に変換するように動作可能である請求項1記載の装置。
  6. 前記第1ステージは前記1またはそれ以上のオペコードにしたがってバイパス関数を行うように構成されている請求項5記載の装置。
  7. 第2ステージは固定小数点表示を浮動小数点表示に変換するために動作可能である請求項1記載の装置。
  8. 前記第2ステージは前記1またはそれ以上のオペコードにしたがってバイパス関数を行うように構成されている請求項7記載の装置。
  9. 電子回路を表わすデータ構造であって、この 電子的回路は、2次多項式近似を行うための単一のパイプラインであってその単一のパイプラインは7ステージ以下を含み、
    1またはそれ以上のオペコードにしたがって単一のパイプラインに動作的に結合されるRCP、SQRT、EXPまたはLOGの少なくとも1つに対応した1またはそれ以上のデータテーブルと
    各データテーブルは1000エントリ以下を含み、
    前記単一のパイプラインは前記1またはそれ以上のオペコードにしたがうRCP、SQRT、EXPまたはLOGの少なくとも1つを演算するために動作可能であるもの。
  10. 前記データ構造は前記電子回路のネットリストを表わす請求項9記載のデータ構造。
  11. 前記データ構造は前記電子回路の回路レイアウトを含む請求項9記載のデータ構造。
  12. 2次多項式近似を行う単一のパイプラインであってその単一パイプラインは4ステージ以下を有し、
    前記単一のパイプラインに接続された1またはそれ以上のデータテーブルであって各データテーブルは1000エントリ以下を含むことからなる
    RCP関数を演算する装置。
JP2007189740A 2006-07-25 2007-07-20 同一の技術に基づくrcp,sqrt,expおよびlog関数の単一データパス浮動小数点実行及び少ない待ち時間のrcp Active JP5278844B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/493,714 2006-07-25
US11/493,714 US8346831B1 (en) 2006-07-25 2006-07-25 Systems and methods for computing mathematical functions

Publications (3)

Publication Number Publication Date
JP2008071336A true JP2008071336A (ja) 2008-03-27
JP2008071336A5 JP2008071336A5 (ja) 2013-03-28
JP5278844B2 JP5278844B2 (ja) 2013-09-04

Family

ID=38686695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007189740A Active JP5278844B2 (ja) 2006-07-25 2007-07-20 同一の技術に基づくrcp,sqrt,expおよびlog関数の単一データパス浮動小数点実行及び少ない待ち時間のrcp

Country Status (4)

Country Link
US (2) US8346831B1 (ja)
EP (1) EP1884859B1 (ja)
JP (1) JP5278844B2 (ja)
KR (1) KR101398723B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214305A (ja) * 2012-03-30 2013-10-17 Apple Inc 級数展開を使用する超越的及び非直線的コンポーネント
JP2015122048A (ja) * 2013-12-24 2015-07-02 エフシーアイ インク 浮動小数点方式を用いたデータ圧縮/復元方法及び装置
KR20160120249A (ko) * 2015-04-07 2016-10-17 비반테 코포레이션 수학적 함수를 연산하는 시스템 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346831B1 (en) * 2006-07-25 2013-01-01 Vivante Corporation Systems and methods for computing mathematical functions
KR102359265B1 (ko) 2015-09-18 2022-02-07 삼성전자주식회사 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법
US20180217814A1 (en) * 2017-02-02 2018-08-02 Vivante Corporation Systems And Methods For Computing Mathematical Functions
US10725742B2 (en) 2018-06-05 2020-07-28 Texas Instruments Incorporated Transcendental function evaluation
CN111913686B (zh) * 2020-05-29 2021-12-07 无锡市优利康电气有限公司 一种定点cpu的快速开平方计算的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0251771A (ja) * 1988-08-15 1990-02-21 Nec Corp 数表と補間式による高速数値計算方式
JPH11288411A (ja) * 1998-02-02 1999-10-19 Internatl Business Mach Corp <Ibm> 基本関数の高精度推定
JP2001159927A (ja) * 1999-10-01 2001-06-12 Hewlett Packard Co <Hp> 補間方法および補間装置
JP2001510596A (ja) * 1995-01-31 2001-07-31 モトローラ・インコーポレイテッド 二次項を利用した対数/逆対数変換器およびその使用方法
JP2004213424A (ja) * 2003-01-06 2004-07-29 Sony Corp 情報処理方法、情報処理装置および情報処理プログラム
JP2005182719A (ja) * 2003-12-18 2005-07-07 Oita Technology Licensing Organization Ltd 関数発生方法と関数発生装置
JP2006065633A (ja) * 2004-08-27 2006-03-09 Sony Computer Entertainment Inc 演算方法および装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868776A (en) * 1987-09-14 1989-09-19 Trw Inc. Fast fourier transform architecture using hybrid n-bit-serial arithmetic
US5163017A (en) * 1990-03-23 1992-11-10 Texas Instruments Incorporated Pipelined Fast Fourier Transform (FFT) architecture
JP3453618B2 (ja) * 1991-10-11 2003-10-06 ヒュンダイ、エレクトロニクス、インダストリーズ、カムパニー、リミテッド 根の多項近似式を利用した割り算と平方根の為のプロセッサー
JPH06223097A (ja) * 1993-01-22 1994-08-12 Sony Corp 乗算器、積和演算器の回路記述の発生方法
JP3790307B2 (ja) * 1996-10-16 2006-06-28 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
US6341300B1 (en) * 1999-01-29 2002-01-22 Sun Microsystems, Inc. Parallel fixed point square root and reciprocal square root computation unit in a processor
US6675187B1 (en) * 1999-06-10 2004-01-06 Agere Systems Inc. Pipelined linear array of processor elements for performing matrix computations
US6598063B1 (en) * 2000-08-14 2003-07-22 Lntel Corporation Fast calculation of (A/B)K by a parallel floating-point processor
US6976043B2 (en) * 2001-07-30 2005-12-13 Ati Technologies Inc. Technique for approximating functions based on lagrange polynomials
US7509363B2 (en) * 2001-07-30 2009-03-24 Ati Technologies Ulc Method and system for approximating sine and cosine functions
JP3719509B2 (ja) * 2002-04-01 2005-11-24 株式会社ソニー・コンピュータエンタテインメント シリアル演算パイプライン、演算装置、算術論理演算回路およびシリアル演算パイプラインによる演算方法
JP4408613B2 (ja) * 2002-09-25 2010-02-03 Necエレクトロニクス株式会社 トランジスタの拡散層長依存性を組み込んだ回路シミュレーション装置およびトランジスタモデル作成方法
US7346642B1 (en) * 2003-11-14 2008-03-18 Advanced Micro Devices, Inc. Arithmetic processor utilizing multi-table look up to obtain reciprocal operands
US7640285B1 (en) * 2004-10-20 2009-12-29 Nvidia Corporation Multipurpose arithmetic functional unit
US7676535B2 (en) * 2005-09-28 2010-03-09 Intel Corporation Enhanced floating-point unit for extended functions
US8346831B1 (en) * 2006-07-25 2013-01-01 Vivante Corporation Systems and methods for computing mathematical functions

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0251771A (ja) * 1988-08-15 1990-02-21 Nec Corp 数表と補間式による高速数値計算方式
JP2001510596A (ja) * 1995-01-31 2001-07-31 モトローラ・インコーポレイテッド 二次項を利用した対数/逆対数変換器およびその使用方法
JPH11288411A (ja) * 1998-02-02 1999-10-19 Internatl Business Mach Corp <Ibm> 基本関数の高精度推定
JP2001159927A (ja) * 1999-10-01 2001-06-12 Hewlett Packard Co <Hp> 補間方法および補間装置
JP2004213424A (ja) * 2003-01-06 2004-07-29 Sony Corp 情報処理方法、情報処理装置および情報処理プログラム
JP2005182719A (ja) * 2003-12-18 2005-07-07 Oita Technology Licensing Organization Ltd 関数発生方法と関数発生装置
JP2006065633A (ja) * 2004-08-27 2006-03-09 Sony Computer Entertainment Inc 演算方法および装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214305A (ja) * 2012-03-30 2013-10-17 Apple Inc 級数展開を使用する超越的及び非直線的コンポーネント
US9015217B2 (en) 2012-03-30 2015-04-21 Apple Inc. Transcendental and non-linear components using series expansion
JP2015122048A (ja) * 2013-12-24 2015-07-02 エフシーアイ インク 浮動小数点方式を用いたデータ圧縮/復元方法及び装置
KR20160120249A (ko) * 2015-04-07 2016-10-17 비반테 코포레이션 수학적 함수를 연산하는 시스템 및 방법
JP2016201108A (ja) * 2015-04-07 2016-12-01 ビバンテ コーポレーション 数学的関数を計算するためのシステム及び方法
KR102503498B1 (ko) * 2015-04-07 2023-02-23 비반테 코포레이션 수학적 함수를 연산하는 시스템 및 방법

Also Published As

Publication number Publication date
US8346831B1 (en) 2013-01-01
EP1884859A2 (en) 2008-02-06
EP1884859A3 (en) 2017-07-19
KR101398723B1 (ko) 2014-05-26
US20130091189A1 (en) 2013-04-11
EP1884859B1 (en) 2019-01-23
JP5278844B2 (ja) 2013-09-04
KR20080010285A (ko) 2008-01-30

Similar Documents

Publication Publication Date Title
JP5278844B2 (ja) 同一の技術に基づくrcp,sqrt,expおよびlog関数の単一データパス浮動小数点実行及び少ない待ち時間のrcp
US10574260B2 (en) Techniques for floating-point number conversion
JP5175379B2 (ja) 選択可能な下位精度を有する浮動小数点プロセッサ
JP4990977B2 (ja) 命令に応じた丸め処理の実行
US9264066B2 (en) Type conversion using floating-point unit
Dido et al. A flexible floating-point format for optimizing data-paths and operators in FPGA based DSPs
CN109901813B (zh) 一种浮点运算装置及方法
TW201118725A (en) Microprocessor and method for enhanced precision sum-of-products calculation on a microprocessor
KR100465371B1 (ko) 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치
KR102503498B1 (ko) 수학적 함수를 연산하는 시스템 및 방법
Agrawal et al. ASIC based logarithmic multiplier using iterative pipelined architecture
US20070266073A1 (en) Method and apparatus for decimal number addition using hardware for binary number operations
US8572141B2 (en) Execution of fixed point instructions using a decimal floating point unit
US10230376B2 (en) Apparatus and method for performing division
KR102559930B1 (ko) 수학적 함수들을 연산하기 위한 시스템 및 방법들
US9703530B2 (en) Systems and methods for computing mathematical functions
Tsen et al. A combined decimal and binary floating-point multiplier
TW201905678A (zh) 整合算術及邏輯處理的裝置
US7739323B2 (en) Systems, methods and computer program products for providing a combined moduli-9 and 3 residue generator
US8180822B2 (en) Method and system for processing the booth encoding 33RD term
WO2013081484A1 (en) Unified computation systems and methods for iterative multiplication and division
JP6975234B2 (ja) 符号絶対値データ形式で結果を生み出すための回路、方法およびコンピュータ・プログラム
Raut et al. Floating-Point Multiplier for DSP Using Vertically and Crosswise Algorithm
Eldon A systolic integrated circuit integer divider
Wu et al. Pipelined modified Booth multiplication

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081017

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20081017

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20081017

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120523

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120620

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130207

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130207

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20130207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130214

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130510

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5278844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250