JP5794385B2 - 演算処理装置及び演算処理装置の制御方法 - Google Patents

演算処理装置及び演算処理装置の制御方法 Download PDF

Info

Publication number
JP5794385B2
JP5794385B2 JP2014507237A JP2014507237A JP5794385B2 JP 5794385 B2 JP5794385 B2 JP 5794385B2 JP 2014507237 A JP2014507237 A JP 2014507237A JP 2014507237 A JP2014507237 A JP 2014507237A JP 5794385 B2 JP5794385 B2 JP 5794385B2
Authority
JP
Japan
Prior art keywords
arithmetic processing
coefficient
input data
instruction
data
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.)
Active
Application number
JP2014507237A
Other languages
English (en)
Other versions
JPWO2013145276A1 (ja
Inventor
幹雄 本藤
幹雄 本藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2013145276A1 publication Critical patent/JPWO2013145276A1/ja
Application granted granted Critical
Publication of JP5794385B2 publication Critical patent/JP5794385B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/483Indexing scheme relating to group G06F7/483
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/556Indexing scheme relating to group G06F7/556

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)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Description

本発明は、演算処理装置及び演算処理装置の制御方法に関する。
数学関数の演算を行うCPU(Central Processing
Unit)等の演算処理装置において、指数関数等の演算は、一般的にテーラー級数演算を用いて行われる。指数関数の演算においてテーラー級数演算をある有限な次数で打ち切ったときに十分な精度が得られるようにするためには、指数関数を、有限の次数で与えられた精度に収束するテーラー級数の演算であるテーラー級数演算と係数に分解する必要がある。
従来技術では、指数関数演算のテーラー級数演算実行前の係数の算出処理は、ソフトウェアにより実装され、従来の命令を複数組み合わせて使用し、浮動小数点レジスタと整数レジスタとの間のデータ転送や、ビット演算、シフト演算等の整数演算器を使用した演算処理が多く行われる。このため、指数関数演算全体を処理するのに、多くの命令を必要とし、命令発行スループットの圧迫等の性能が低下してしまう。
数学関数のテーラー級数演算の係数データを格納する係数テーブルのセットを専用のメモリに格納し、テーラー級数演算で必要な係数データを、直接、係数テーブルから読み出して浮動小数点積和演算器に供給することで、テーラー級数演算を高速に実行できるようにした演算処理装置が提案されている(例えば、特許文献1参照)。また、三角関数のテーラー級数演算実行前の、テーラー級数展開関数の決定と、その展開関数への入力引数の算出処理を行う命令として、専用の三角関数演算補助命令を設けた演算処理装置が提案されている(例えば、特許文献2参照)。
特開2008−234076号公報 特開2011−13728号公報
1つの側面では、本発明は、指数関数の演算を高速化することを目的とする。
演算処理装置の一態様は、指数関数を級数演算と級数演算に対する係数とに分解した場合における浮動小数点数形式で表現した係数の指数部を、入力される入力データの第1の部分に基づいて生成する指数生成部と、入力データの第2の部分が示す値i(iは自然数)に対応して(2**(i/(2**第2の部分のビット幅)))(**はべき乗を示す)の値を浮動小数点数形式で表現した係数の仮数部を定数データとして記憶する記憶部と、入力データの第2の部分に応じた定数データを記憶部から読み出す定数生成部と、実行する命令が指数関数の係数を算出する係数算出命令である場合、所定の値の符号部と、指数生成部からの指数部と、定数生成部からの定数データを選択して出力する選択部を有する。
指数関数の演算を高速化することができる。
図1は、本発明の実施形態による演算処理装置の構成例を示す図である。 図2は、定数テーブルの例を示す図である。 図3は、本実施形態における係数算出処理を説明するための図である。 図4は、本実施形態による演算処理装置の他の構成例を示す図である。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態による主記憶装置としてのメモリ(メインメモリ)に接続された演算処理装置の構成例を示す図である。本実施形態による演算処理装置は、演算処理装置外部のメモリ(メインメモリ)11に接続され、メインメモリ11のデータの一部を記憶するキャッシュメモリ12と、リネーミングレジスタ13と、レジスタファイル14と、バイパスデータ15とを有する。また、本実施形態による演算処理装置は、マルチプレクサ16〜18、23と、第1の演算器19と、第2の演算器20とを有する。また、情報処理装置は、演算処理装置とメモリ11を少なくとも有する。
レジスタファイル14は、演算器19、20が演算を実行するときに使用するすべてのレジスタを備えている。リネーミングレジスタ13は、オペランドデータの逆依存と出力依存を解消するために設けられている。バイパスデータ15は、演算処理装置の命令パイプラインにおいてデータハザードを解消するためのバイパシング(bypassing)で使用されるデータ(演算結果データ)である。リネーミングレジスタ13のエントリに格納されているレジスタ値は、リタイア(retire)時にレジスタファイル14に移される。
マルチプレクサ16は、レジスタファイル14から出力されるデータ、リネーミングレジスタ13から出力されるデータ、及びバイパスデータ15の3種類のオペランドデータが入力される。マルチプレクサ16は、それら3種類のオペランドデータのうちから何れか1つのオペランドデータを選択して、ソースデータrs1として出力する。マルチプレクサ17、18は、マルチプレクサ16と同様に3種類のオペランドデータが入力され、選択したオペランドデータをソースデータrs2、rs3として出力する。
第1の演算器19は、浮動小数点積和演算器であり、マルチプレクサ16、17、18から入力されるソースデータrs1、rs2、rs3を用いてrs1の値とrs2の値との積にrs3の値を加算する積和演算を行う。例えば、第1の演算器19は、入力されるソースデータrs1、rs2、rs3を用いて積和演算を行うことによってテーラー級数演算を行う。
第2の演算器20は、指数関数演算補助命令(fexpad)に係る演算処理を行う演算器である。第2の演算器20は、指数関数をテーラー級数演算とテーラー級数演算に対する係数とに分解したときの係数を求めるための係数算出処理を、マルチプレクサ17から入力されるソースデータrs2を用いて行う。なお、指数関数をテーラー級数演算と係数とに分解したときのテーラー級数演算は、例えば第1の演算器19で行われる。また、本実施形態では、第2の演算器20は、ソースデータrs2を用いて係数算出処理を行うようにしているが、これは一例である。第2の演算器20が、ソースデータrs1を用いて係数算出処理を行うようにしても良いし、ソースデータrs3を用いて係数算出処理を行うようにしても良い。
指数関数演算補助命令(fexpad)は、入力されるソースデータをsdatとすると、{1’b0,sdat[16:6],Texp[sdat[5:0]][51:0]}という演算を行う命令である。{1’b0,sdat[16:6],Texp[sdat[5:0]][51:0]}は、IEEE754倍精度浮動小数点数のデータフォーマットに従っている。すなわち、符号部(符号ビット)である63ビット目を“0”とし、指数部(指数ビット)である62〜52ビット目をソースデータsdatの16ビット目〜6ビット目とする。また、仮数部(仮数部ビット)である51ビット目〜0ビット目を、ソースデータsdatの5ビット目〜0ビット目で示されるインデックスでもって定数テーブルTexpから取り出されたデータの51ビット目〜0ビット目とする。
定数テーブルTexpは、第2の演算器20が有する定数テーブル21として備えられている。定数テーブルTexpは、図2に示すように、IEEE754倍精度浮動小数点数のデータフォーマットに従って、(2**(i/64))の値を格納した64エントリの定数テーブルである。なお「**」はべき乗を示し、iは0〜63の範囲の整数である。ここで、i=0〜63のとき、1≦(2**(i/64))<2であるので、図2に示したように(2**(i/64))の値をIEEE754倍精度浮動小数点数のデータフォーマットに従って示した符号部s及び指数部eはiの値にかかわらず同じである。したがって、定数テーブルTexpは、少なくとも(2**(i/64))の値の仮数部fの値fiが格納されていれば良い。(2**(i/64))の値のすべてではなく、仮数部だけを格納することで、定数テーブルTexpに要する記憶容量を低減することができる。
命令種別コード22は、マルチプレクサ23に選択信号SELとして入力される。マルチプレクサ23は、選択信号SELに従って、第1の演算器19の出力又は第2の演算器20の出力の何れか一方を出力する。本実施形態では、命令種別コードが指数関数演算補助命令(fexpad)である場合には、選択信号SELの値が“1”とされることにより、マルチプレクサ23は、第2の演算器20の出力を選択して出力する。一方、命令種別コードが指数関数演算補助命令(fexpad)でない場合には、選択信号SELの値が“0”とされることにより、マルチプレクサ23は、第1の演算器19の出力を選択して出力する。
以下、第2の演算器20による係数算出処理について説明する。
なお、以下の説明において「**」はべき乗を示し、「!」は階乗を示し、「*」は乗算を示すものとする。また、「log2()」は底2の対数を示し、「log()」は底e(ネイピア数)の対数を示すものとする。
指数関数exp(x)をテーラー級数展開すると、Σ(1/n!)*x**nで表される。nをある有限の次数で打ち切ったときに十分な精度が得られるようにするため、xはx<1である。
指数関数exp(x)をテーラー級数演算とテーラー級数演算に対する係数とに分解すると以下のようになる。
exp(x)
=(2**log2(e))**x
=(2**(1/log(2))**x
=2**(x/log(2))
=2**(y+z)
=(2**y)*(2**z)
=exp(log(2**y))*(2**z)
=exp(y*log(2))*(2**z)
=exp(y2)*(2**z)
前述の式において、yは絶対値が(1/64)より小さい値であり、(y+z)=x/log(2)である。したがって、zはx/log(2)を(1/64)で丸めた値である。また、y2=y*log(2)=x−z*log(2)である。
ここで、(y2の絶対値)<(log(2)/64)<1である。したがって、exp(y2)は、有限の次数で十分な精度が得られるため、テーラー級数演算で計算され、(2**z)が係数として計算される。つまり、指数関数exp(x)の演算における、exp(y2)を第1の演算器19によるテーラー級数演算で計算し、(2**z)を第2の演算器20による係数算出処理で計算する。
前述のようにzはx/log(2)を(1/64)で丸めた値であるので、pを1以上の自然数、qを0〜63の整数とすると、z=p+q/64で表され、2**z=2**(p+q/64)=(2**p)*(2**(q/64))となる。これとIEEE754倍精度浮動小数点数のデータフォーマットにおける符号部s、指数部e、仮数部fで表される値(−1)**s*2**(e−bias)*(1.f)とを比較すると、s=0、e=p+bias、(1.f)=2**(q/64)となる。biasはIEEE754倍精度浮動小数点数のデータフォーマットにおけるバイアス値である。
また、zi=int(x/log(2)*64+bias*64+0.5)とおく。前述の式において、int(x)は、値xを整数に切り捨てしたときの値を表す。そして、このziとz*64=p*64+qとを比較すると、ziの5ビット目〜0ビット目を抽出して表される値がqの値に対応し、ziの6ビット目以上を抽出して表される値がp+biasの値に対応する。
したがって、定数テーブルTexpに(2**(i/64))の値をIEEE754倍精度浮動小数点数のデータフォーマットに従って示したときの仮数部を格納しておき、zi[5:0]で示されるインデックスによりデータを取り出すことで係数2**zの仮数部が得られる。よって、係数2**zは、{1’b0,sdat[16:6],Texp[sdat[5:0]][51:0]}の演算により計算することができる。
ここで、例えば、従来の命令を用いた係数算出処理により係数2**zを算出する場合のアゼンブラ命令列を以下に示す。なお、前述したziはすでに算出されて浮動小数点レジスタに格納されているものとする。
stdf zi,[] …(命令C1)
ldx [],zii …(命令C2)
and zii,63,Texpe …(命令C3)
sllx Texpe,3,Texpo …(命令C4)
ldx [Texpb+Texpo],p2zi …(命令C5)
mov 2047,p2zmm …(命令C6)
sllx p2zmm,6,p2zmm …(命令C7)
and zii,p2zmm,p2zm …(命令C8)
sllx p2zm,46,p2zm …(命令C9)
or p2zi,p2zm,p2zi …(命令C10)
stdx p2zi,[] …(命令C11)
lddf [],p2z …(命令C12)
命令C1により、ziが浮動小数点レジスタからメモリに読み出され、命令C2により、メモリに読み出されたziが整数レジスタにziiとして読み込まれる。命令C3により、ziiと値63とのビット毎の論理積演算が行われ演算結果がTexpeに代入される。命令C4により、Texpeが3ビット上位側にシフトされ、その結果がTexpoに代入される。この処理は、テーブルを参照する場合に8バイト間隔でアドレスを指す必要があるためである。次に、命令C5により、テーブルが記憶されているメモリ上のベースアドレスTexpbとTexpoとを加算して得られるアドレスを用いてテーブルが参照され、テーブルから読み出されたデータがp2ziに代入される。命令C6により、値2047がp2zmmに代入される。言い換えれば11ビット分のマスクデータが作成されてp2zmmに代入される。命令C7により、p2zmmが上位側に6ビット分シフトされる。命令C8により、ziiとp2zmmとのビット毎の論理積演算が行われ演算結果がp2zmに代入され、命令C9により、p2zmが上位側に46ビット分シフトされることで、係数の指数部が得られる。次に、命令C10により、得られた係数の指数部とテーブルから読み出されたデータであるp2ziとのビット毎の論理和演算が行われ演算結果がp2ziに代入される。これにより、テーラー級数演算に対する係数2**zの値が得られる。そして、命令C11により、p2ziが整数レジスタからメモリに読み出され、命令C12により、メモリに読み出されたp2ziが浮動小数点レジスタにp2zとして読み込まれることで、テーラー級数演算に対する係数2**zの係数算出処理が終了する。このように、従来の命令を用いた係数算出処理によりテーラー級数演算に対する係数2**zを算出する場合には12個の命令を実行する必要があり、処理も複雑であった。
一方、本実施形態における指数関数演算補助命令(fexpad)を用いた係数算出処理によりテーラー級数演算に対する係数2**zを算出する場合のアゼンブラ命令列を以下に示す。
fexpad zi,p2z …(命令I1)
命令I1を実行することで、第2の演算器20では、図3に示すように、p2z[63]が“0”、p2z[62:52]がzi[16:6]、p2z[51:0]がzi[5:0]に応じて定数テーブル21から出力されたデータ(2**(i/64)の仮数部)となるようにビット連結することで、テーラー級数演算に対する係数2**zの係数算出処理が行われる。このように本実施形態では、1つの指数関数演算補助命令(fexpad)でテーラー級数演算に対する係数の算出処理が行うことができるので、従来と比較して11個のアゼンブラ命令を削減することができる。
このように本実施形態によれば、1つの命令で指数関数演算におけるテーラー級数演算に対する係数の算出処理を行うことができ、指数関数の演算を高速化することができる。したがって、演算処理装置における命令スループットを向上させ、性能を向上させることができる。また、図1に示した構成において、一般的な演算処理装置に対して、指数関数演算補助命令(fexpad)による演算を実行するために新たに設ける回路は、第2の演算器20及びマルチプレクサ23である。したがって、わずかな追加回路を追加するだけで、指数関数をテーラー級数演算とテーラー級数演算に対する係数に分解したときの係数の算出処理を高速化し、指数関数の演算を高速化することができる。
本実施形態によれば、指数関数をテーラー級数演算とテーラー級数演算に対する係数に分解したときの係数の算出処理の演算性能が9倍に改善する(整数演算器によるパイプラインが2つ、浮動小数点演算器によるパイプラインが2つの場合)。また、従来の手法では、テーラー級数演算に対する係数の算出処理におけるテーブル参照において、ロード/ストア命令を実行する必要があるため、キャッシュミスが発生する可能性があり、そのような場合には、本実施形態では、テーラー級数演算に対する係数の算出処理の演算性能が9倍以上に改善することとなる。
なお、本実施形態による演算処理装置は、図1に示した構成に限定されるものではなく、例えば図4に示すように演算処理装置をSIMD(Single Instruction stream-Multiple Data stream)型の演算処理装置としても良い。図4には、2SIMDの演算処理装置を一例として示している。第1の演算処理部として、リネーミングレジスタ13Aと、レジスタファイル14Aと、バイパスデータ15Aと、マルチプレクサ16A〜18A、23Aと、第1の演算器19Aと、第2の演算器20Aとを有する。また、第2の演算処理部として、リネーミングレジスタ13Bと、レジスタファイル14Bと、バイパスデータ15Bと、マルチプレクサ16B〜18B、23Bと、第1の演算器19Bと、第2の演算器20Bとを有する。このように演算処理装置を構成し、2つのデータに対して1つの命令で第1の演算処理部及び第2の演算処理部により同じ演算処理を並列に実行させる。なお、図4には、2SIMDの演算処理装置を例示したが、演算処理部をさらに設けることで、4SIMDや8SIMDといった構成も可能である。
また、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
11 メモリ(メインメモリ)
12 キャッシュメモリ
13 リネーミングレジスタ
14 レジスタファイル
15 バイパスデータ
16、17、18、23 マルチプレクサ
19 積和演算器
20 演算器
21 定数テーブル
22 命令種別コード

Claims (5)

  1. 指数関数を級数演算と前記級数演算に対する係数とに分解した場合における浮動小数点数形式で表現した前記係数の指数部を、入力される入力データの第1の部分に基づいて生成する指数生成部と、
    前記入力データの第2の部分が示す値i(iは自然数)に対応して(2**(i/(2**第2の部分のビット幅)))(**はべき乗を示す)の値を浮動小数点数形式で表現した前記係数の仮数部を定数データとして記憶する記憶部と、
    前記記憶部から、前記入力データの第2の部分に応じた定数データを読み出す定数生成部と、
    実行する命令が前記指数関数の係数を算出する係数算出命令である場合、所定の値の符号部と、前記指数生成部からの指数部と、前記定数生成部からの定数データを選択して出力する選択部を有することを特徴とする演算処理装置。
  2. 前記入力データの第1の部分は、前記入力データの(n+11)ビット目〜(n+1)ビット目(nは自然数)であり、
    前記入力データの第2の部分は、前記入力データのnビット目〜0ビット目であることを特徴とする請求項記載の演算処理装置。
  3. 前記入力データの(n+11)ビット目〜(n+1)ビット目を前記係数を浮動小数点数形式で表した指数部とし、前記入力データのnビット目〜0ビット目により前記記憶部を参照して得られた定数データを前記係数を浮動小数点数形式で表した仮数部とすることを特徴とする請求項記載の演算処理装置。
  4. 前記入力データを用いた積和演算を行う積和演算器を有し、
    実行する命令が前記係数算出命令以外の命令である場合、前記積和演算器からの前記入力データを用いた積和演算の結果である積和演算結果を選択して出力することを特徴とする請求項1〜のいずれか1項に記載の演算処理装置。
  5. 演算処理装置の制御方法において、
    前記演算処理装置が有する指数生成部が、指数関数を級数演算と前記級数演算に対する係数とに分解した場合における浮動小数点数形式で表現した前記係数の仮数部を、入力される入力データの第1の部分に基づいて生成し、
    前記演算処理装置が有する定数生成部が、前記入力データの第2の部分が示す値i(iは自然数)に対応して(2**(i/(2**第2の部分のビット幅)))(**はべき乗を示す)の値を浮動小数点数形式で表現した前記係数の仮数部を定数データとして記憶する記憶部から、前記入力データの第2の部分に応じた定数データを読み出し、
    実行する命令が前記指数関数の係数を算出する係数算出命令である場合、前記演算処理装置が有する選択部が、所定の値の符号部と、前記指数生成部からの指数部と、前記定数生成部からの定数データを選択して出力することを特徴とする演算処理装置の制御方法。
JP2014507237A 2012-03-30 2012-03-30 演算処理装置及び演算処理装置の制御方法 Active JP5794385B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/058646 WO2013145276A1 (ja) 2012-03-30 2012-03-30 演算処理装置及び演算処理装置の制御方法

Publications (2)

Publication Number Publication Date
JPWO2013145276A1 JPWO2013145276A1 (ja) 2015-08-03
JP5794385B2 true JP5794385B2 (ja) 2015-10-14

Family

ID=49258639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014507237A Active JP5794385B2 (ja) 2012-03-30 2012-03-30 演算処理装置及び演算処理装置の制御方法

Country Status (5)

Country Link
US (1) US9477442B2 (ja)
EP (1) EP2833258B1 (ja)
JP (1) JP5794385B2 (ja)
CN (1) CN104169866B (ja)
WO (1) WO2013145276A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6497250B2 (ja) 2015-07-16 2019-04-10 富士通株式会社 演算処理装置および演算処理装置の制御方法
CN108595147B (zh) 2018-01-02 2021-03-23 上海兆芯集成电路有限公司 具有级数运算执行电路的微处理器
JP6933810B2 (ja) * 2018-01-24 2021-09-08 富士通株式会社 演算処理装置および演算処理装置の制御方法
US11372621B2 (en) 2020-06-04 2022-06-28 Apple Inc. Circuitry for floating-point power function

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963460A (en) * 1996-12-17 1999-10-05 Metaflow Technologies, Inc. Apparatus for computing transcendental functions quickly
JP2930069B1 (ja) * 1998-03-06 1999-08-03 日本電気株式会社 3次元グラフィックス処理装置における光源計算高速化の為の指数関数演算方法および装置
JP2000099493A (ja) * 1998-09-18 2000-04-07 Fuji Xerox Co Ltd 誤差関数計算装置
US7509363B2 (en) * 2001-07-30 2009-03-24 Ati Technologies Ulc Method and system for approximating sine and cosine functions
US6981009B2 (en) * 2002-07-09 2005-12-27 Silicon Integrated Systems Corp. Apparatus and method for computing a logarithm of a floating-point number
US7143126B2 (en) * 2003-06-26 2006-11-28 International Business Machines Corporation Method and apparatus for implementing power of two floating point estimation
JP4755129B2 (ja) * 2007-03-16 2011-08-24 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US9128790B2 (en) * 2009-01-30 2015-09-08 Intel Corporation Digital signal processor having instruction set with an exponential function using reduced look-up table
JP5304483B2 (ja) 2009-06-30 2013-10-02 富士通株式会社 演算処理装置

Also Published As

Publication number Publication date
CN104169866A (zh) 2014-11-26
EP2833258B1 (en) 2016-09-14
CN104169866B (zh) 2017-08-29
WO2013145276A1 (ja) 2013-10-03
EP2833258A4 (en) 2015-03-18
EP2833258A1 (en) 2015-02-04
JPWO2013145276A1 (ja) 2015-08-03
US20140379772A1 (en) 2014-12-25
US9477442B2 (en) 2016-10-25

Similar Documents

Publication Publication Date Title
JP6853777B2 (ja) プログラム可能な有効度データを使用するデータ処理装置および方法
KR101533516B1 (ko) Scale, round, getexp, round, getmant, reduce, range 및 class 명령어들을 실행할 수 있는 곱셈 덧셈 기능 유닛
JP6933810B2 (ja) 演算処理装置および演算処理装置の制御方法
JPH08185309A (ja) 4倍精度演算の実行方法
US20130246496A1 (en) Floating-point vector normalisation
JP5640081B2 (ja) 飽和を伴う整数乗算および乗算加算演算
US20080301213A1 (en) Division with rectangular multiplier supporting multiple precisions and operand types
GB2454201A (en) Combined Magnitude Detection and Arithmetic Operation
JP5794385B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP2006154979A (ja) 浮動小数点数演算回路
JP5304483B2 (ja) 演算処理装置
JP2011517496A (ja) 多項式データ処理演算
Boldo et al. Emulating round-to-nearest ties-to-zero “augmented” floating-point operations using round-to-nearest ties-to-even arithmetic
Fiolhais et al. An efficient exact fused dot product processor in FPGA
JP6604393B2 (ja) ベクトルプロセッサ、演算実行方法、プログラム
EP3118737B1 (en) Arithmetic processing device and method of controlling arithmetic processing device
EP3912272A1 (en) Anchored data element conversion
JP3793505B2 (ja) 演算器及びそれを用いた電子回路装置
US20240202160A1 (en) Processor, computer-readable recording medium storing instruction execution program, and information processing device
TW201905845A (zh) 全精度及部分精度數值的計算方法及裝置
Dieter et al. Low-cost microarchitectural support for improved floating-point accuracy
EP2884403A1 (en) Apparatus and method for calculating exponentiation operations and root extraction
US20130132452A1 (en) Method and Apparatus for Fast Computation of Integral and Fractional Parts of a High Precision Floating Point Multiplication Using Integer Arithmetic
CN114327360A (zh) 运算单元、浮点数计算的方法、装置、芯片和计算设备
JPH04358224A (ja) 開平演算装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150623

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: 20150714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150727

R150 Certificate of patent or registration of utility model

Ref document number: 5794385

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150