JP2007156748A - 演算処理装置,情報処理装置,及び演算処理方法 - Google Patents
演算処理装置,情報処理装置,及び演算処理方法 Download PDFInfo
- Publication number
- JP2007156748A JP2007156748A JP2005349804A JP2005349804A JP2007156748A JP 2007156748 A JP2007156748 A JP 2007156748A JP 2005349804 A JP2005349804 A JP 2005349804A JP 2005349804 A JP2005349804 A JP 2005349804A JP 2007156748 A JP2007156748 A JP 2007156748A
- Authority
- JP
- Japan
- Prior art keywords
- shift
- unit
- bit
- result
- normalization
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/012—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/49952—Sticky bit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【解決手段】演算結果の正規化の際に演算結果がシフトされたか否かを表す情報の生成を行なう演算処理装置において、演算結果を出力する演算手段と、複数のシフト手段を有し、演算結果に対する正規化処理を複数のシフト手段により分割して行なう正規化処理手段30と、複数のシフト手段に対する複数のシフト量を算出するシフト量算出手段と、複数のシフト量を用いて、演算結果の正規化の際に演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測手段51と、仮情報を用いて、前記情報の生成を行なう生成手段52とをそなえる。
【選択図】図2
Description
右シフト部10,乗算器11,CSA12及び絶対値加算器13は、3オペランド(図中“OP1”,“OP2”,“OP3”)の浮動小数点積和演算を実行する積和演算部として機能するものである。
正規化処理部300は、シフト量算出部20によって算出された正規化シフト量を用いて絶対値加算器13の出力データ(以下、演算結果という)に対してシフト処理を施すものであり、正規化処理部300によって演算結果の所定ビット位置が必ず“1”になる。
そして、浮動小数点積和演算器100が単精度演算をサポートする場合には、正規化処理部300によって正規化処理を施された正規化処理部300からの出力データ(R<127:0>)は、図14に示すごとく構成される。
つまり、128ビットの演算結果のうち、最上位から4ビットのR<127:124>は固定値のフィールドであり、R<123:72>の52ビットが仮数部であり、さらに、その後段のR<71>がG(guard)ビット、R<70>がR(round)ビットであり、残りのR<69:0>の70ビットがスティッキービットの生成対象範囲となるスティッキービット生成領域となる。
図16に正規化処理部300及び丸め処理部400の構成を示す。この図16に示すように、正規化処理部300は、複数段のシフタ31〜35、つまり、第1シフト部(1st left shifter)31,第2シフト部(2nd left shifter)32,第3シフト部(3rd left shifter)33,第4シフト部(4th left shifter)34,及び1ビットシフト部(1bit left shifter)35をそなえて構成されている。
図13に示したように、入力データ(演算結果)が128ビットのデータであるため、第1〜第4シフト部31〜34によるシフト量(つまり、シフト量算出部20によって算出される正規化シフト量)は、最大で127ビットとなる。そのため、ここでは、第1シフト部31は正規化シフト量として、7ビット長データのうち1ビットのデータに基づいて、64ビット又は0ビットのシフトを行なうことができ、第2シフト部32は7ビット長データのうち2ビットのデータに基づいて、48,32,16,0のいずれかのビットのシフトを行なうことができ、第3シフト部33は7ビット長データのうち2ビットのデータに基づいて、12,8,4,0のいずれかのビットのシフトを行なうことができ、第4シフト部34は7ビット長データのうち2ビットのデータに基づいて、3,2,1,0のいずれかのビットのシフトを行なうことができる。
インクリメンタ41は、正規化処理部300によって正規化処理を施された演算結果のうちの、仮数部(単精度演算の場合はR<123:101>,倍精度演算の場合はR<123:72>)に“1”を加える丸め処理を行なう。
つまり、選択回路44は、丸め判定部43による判定結果が丸め処理が必要であると判断された場合には、インクリメンタ41によって丸め処理を施された演算結果を出力する一方、丸め判定部43による判定結果が丸め処理が不要であると判断された場合には、正規化処理部300から出力されたままの丸め処理が施されていない演算結果を出力する。
そして、(1)正規化処理の結果を見て正規化シフト量が1ビット不足しているか否かを判断し、上記の2種類のマスクのいずれか一方を採用する方法、又は、(2)上記の2種類のマスクのそれぞれを用いた処理結果を用意しておき、正規化処理の結果に基づいていずれか一方の処理結果を選択する方法のいずれか一方の方法を採用する必要がある。
本発明は、このような課題に鑑み創案されたもので、スティッキービットを生成するためのハードウェア資源を低減しながら、スティッキービットを生成するために必要となるサイクルタイムを削減して、スティッキービットを効率良く生成できるようにすることを目的とする。
上記目的を達成するために、本発明における演算処理方法は、演算結果の正規化の際に1がシフトされたか否かを表すスティッキービットを用いて演算結果の丸め処理を行なう演算処理方法において、前記演算結果を出力するステップと、少なくとも2つ以上のシフト処理ステップにおいて用いる複数のシフト量を算出するシフト量算出ステップと、前記演算結果に対する正規化処理を、前記シフト量を用いてそれぞれ前記複数のシフト処理ステップに分割して行なう正規化処理ステップと、前記複数のシフト量を用いて、演算結果の正規化の際に1がシフトされる否かの予測結果である仮スティッキービットの生成を行なうスティッキービット予測ステップと、前記仮スティッキービットを用いて、前記スティッキービットの生成を行なうスティッキービット生成ステップとを有することを特徴とする(請求項5)。
また、正規化処理部による正規化処理と丸め処理部による処理との間のパイプラインステージを分割した場合には、正規化処理と並行してスティッキービットを生成しているので、演算結果すべてをラッチする必要はなく、演算結果からスティッキービット生成領域を除いた領域をラッチするだけで良いため、係るラッチのためのステージングラッチや配置配線にかかるハードウェア資源を低減することができる。具体的には、従来の方式では単精度演算及び倍制度演算のために128ビットのデータ幅が必要であったラッチを60ビット幅にすることが可能となり、配置配線等の物理量を大幅に削減することが可能となる。
従って、従来のように演算結果の正規化処理後にスティッキービットの生成処理を行う方式よりも、本方式は物理量の大幅削減を可能とし、演算ディレイ及びパイプラン段数を大幅に削減することができるという特有の効果を有する。
〔1〕本発明の単精度演算における実施形態について
まず、図1に示すブロック図を参照しながら、本発明の一実施形態としての浮動小数点積和演算器の構成について説明する。なお、図1において記述の符号と同一の符号は同一の部分もしくは略同一の部分を示している。したがって、ここではこれらの詳細な説明は一部省略する。
また、絶対値加算器13からの出力データ(演算結果;正規化処理部30の入力データフォーマット)は上記図13に示したもの(C<127:0>)と同様であり、本浮動小数点積和演算器1が単精度演算をサポートする場合のデータ構造(正規化処理部30の出力データフォーマット)は上記図14に示したもの(R<127:0>)と同様である。したがって、以下の説明においても、演算結果(入力データフォーマット)や出力データ(出力データフォーマット)については上記図13〜図15を用いて説明する。
シフト量算出部20は、絶対値加算器13からの出力データ(演算結果)の先頭からどれだけ“0”が連続しているかを予測するものであり、この結果が正規化処理部30のシフト量(Shift Amount)となる。つまり、シフト量算出部20は、正規化処理部30による左シフト処理(正規化処理)に用いる、演算結果に対する正規化シフト量を算出する。なお、シフト量算出部20によって算出される正規化シフト量は1ビット不足する場合がある。
ここで、図2に本浮動小数点積和演算器1の正規化処理部30,丸め処理部40,及びスティッキービット生成部50の構成を示す。この図2に示すごとく、正規化処理部30は、複数段のシフタ31〜35、つまり、第1シフト部(1st left shifter)31,第2シフト部(2nd left shifter)32,第3シフト部(3rd left shifter)33,第4シフト部(4th left shifter)34,及び1ビットシフト部(1bit left shifter(第2処理部))35をそなえて構成されている。
ここで、演算結果は128ビットのデータであるため、第1〜第4シフト部31〜34によるシフト量(つまり、シフト量算出部20によって算出される正規化シフト量)は、最大で127ビットとなる。そのため、ここでは、第1シフト部31は正規化シフト量である7ビット長データSA<6:0>のうちSA<6>に基づいて、64ビットもしくは0ビットのシフトを行なうことができ、第2シフト部32はSA<6:0>のうちSA<5:4>に基づいて、48,32,16,0のいずれかのビットのシフトを行なうことができ、第3シフト部33はSA<6:0>のうちSA<3:2>に基づいて、12,8,4,0のいずれかのビットのシフトを行なうことができ、第4シフト部34はSA<6:0>のうちSA<1:0>に基づいて、3,2,1,0のいずれかのビットのシフトを行なうことができる。
また、これと同様に、第4シフト部34は、SA<1:0>が“11”の場合は3ビットのシフトを実行し、SA<1:0>が“10”の場合は2ビットのシフトを実行し、SA<1:0>が“01”の場合は1ビットのシフトを実行し、SA<1:0>が“00”の場合はシフトを実行しない。
一方、シフト量算出部20によって算出された正規化シフト量が1ビット不足しているために所定ビット位置が“0”である場合には、正規化処理を完了すべく(すなわち、所定ビット位置を“1”にすべく)、第4シフト部34の出力データを1ビットだけシフトする。
このスティッキービット生成部50は、具体的に、正規化処理部30の出力データ(R<127:0>)のうちのスティッキービット生成領域(単精度演算の場合は図14のR<98:0>、1ビットでも“1”があれば、スティッキービットをオンに設定し、スティッキービット生成領域の全ビットが“0”であればスティッキービットをオフに設定するものであり、論理和算出部51と生成部52とによってスティッキービットを生成する。
本浮動小数点積和演算器1では、正規化処理部20が左シフト処理を施すので、R<98:0>に“1”があるか否かのチェックは、正規化シフト量を用いてC<98:0>の範囲に“1”を含むか否かをチェックすることにより実行することができる。
さらに、論理和算出部51は、上記の正規化シフト量に係わらずR<98:0>に含まれる部分を除いた範囲、ここでは、上記C<34;0>を除いた範囲であるC<94:35>を対象に処理を行なう。ここでは、C<94:35>において、正規化シフト量(SA<5:2>)に基づくシフト処理によってR<98:0>の外に出ない部分について、4ビット単位で論理和演算して検証する。なお、4ビット単位で論理和演算するのは、第3シフト部33が4ビット単位でシフト量が変化するように構成されているためである。
そして、図5(c)に示すごとく、最後のC<38:35>については、SA<5:2>が“1110”以下の場合には、このC<38:35>はR<98:0>の範囲内に必ず残るため、この場合に限り、C<38:35>を論理和演算した結果をPAT<0>として出力する。一方、SA<5:2>が“1111”の場合には、このC<38:35>はR<98:95>の範囲内に収まるか、もしくは、R<98:0>の範囲外に出るため、生成部52により処理を行なう。
最後に、論理和算出部51は、図18に示すように構成された論理和回路51dによりPAT<14:0>の論理和演算を行なうことによって、仮スティッキービットを生成する。ここで、PAT<14:0>のうちの少なくとも1ビットが“1”であれば、論理和算出部51(論理回路51d)は仮スティッキービットをオン(すなわち“1”)に設定する一方、全ビットが“0”であれば、仮スティッキービットをオフ(すなわち“0”)に設定する。
次に、生成部52について説明を行なう。生成部52は正規化処理部30によって正規化処理を施された演算結果におけるスティッキービット生成領域のうち第2領域であるR<98:95>の範囲内のデータと、論理和算出部51によって算出された仮スティッキービットとに基づいて、スティッキービットを生成するものである。
すなわち、第4シフト部34がシフトしうる最大のシフト量である3ビットと、1ビットシフト部がシフトしうる1ビットとを合わせた、R<98:95>の4ビット長データの範囲については、論理和演算を行なう。
このように、生成部52が論理和演算を処理しうるビット数は、必ず1ビットシフト部35が担当しうるシフト量(ここでは1ビット)以上になる。
したがって、生成部52は、R<69:66>の4ビットと、仮スティッキービットの1ビットとの計5ビットのデータを論理和演算し、これら5ビット長のデータのうち1ビットでも“1”であれば、スティッキービットをオンに設定する一方、全ビットが“0”であればスティッキービットをオフに設定する。
丸め判定部43は、(1)スティッキービット生成部50によって生成されたスティッキービット、(2)正規化処理部30から出力された演算結果における仮数部の最下位ビットであるL(Least significant bit)ビット(図14,図15参照)、(3)かかる演算結果におけるG(Guard)ビット、(4)かかる演算結果におけるR(Round)ビット(図14,図15参照)、(5)外部から入力されるRD(Round Direction:丸め方向)ビット、及び、(6)外部から入力されるSIGN(符号)ビットに基づいて、丸め処理が必要であるか否かを判断する。そして、丸め判定部43は、かかる判定の結果を選択回路44に出力する。
つまり、選択回路44は、丸め判定部43による判定結果が丸め処理が必要である場合には、インクリメンタ41によって丸め処理を施された演算結果を出力する一方、丸め判定部43による判定結果が丸め処理が不要である場合には、丸め処理が施されていない演算結果である正規化処理部30の演算結果を出力する。
そして、上述したように、従来から正規化処理部30による正規化処理と、丸め処理部40による丸め処理との間は処理サイクルが長くなるため、パイプラインステージを分割するのが一般的であり、本浮動小数点積和演算器1でも破線Yに示すようにパイプラインステージを分割する場合がある。
そして、ラッチされた29ビット長のデータのうち、R<127:101>はインクリメンタ41に入力されるとともに、インクリメンタ41をバイパスして選択回路44にも直接入力される。
そして、ラッチされた58ビット長のデータのうち、R<127:72>はインクリメンタ41に入力されるとともに、インクリメンタ41をバイパスして選択回路44にも直接入力される。
このように、本発明の一実施形態としての浮動小数点積和演算器1によれば、論理和算出部51が正規化処理部30による正規化処理と並行して、仮スティッキービットを算出し、生成部52が仮スティッキービットと、正規化処理部30によって正規化処理を施された演算結果のうちスティッキービット生成領域の一部データとに基づいてスティッキービットの生成をため、正規化処理後にスティッキービット生成領域にかかるすべてのデータについて論理和を算出する必要がなく、ディレイを防止して効率良くスティッキービットを生成することができる。
また、正規化処理部30による処理と丸め処理部40による処理との間のパイプラインステージを分割した場合には、正規化処理と並行してスティッキービットの生成を行なうため、演算結果データのすべて(R<127:0>)をラッチする必要はなく、スティッキービット生成領域を除いた範囲のみをラッチするだけで良いため、ラッチ等のハードウェア資源(物量)を削減することができる。具体的には、単精度演算用浮動小数点積和演算器において、従来は128ビット長のラッチ対象データを59ビット長(図11参照)にまで削減することができ、これらの差分である68ビット分のラッチを削減することができる。
まず、図1に示すブロック図を参照しながら、本発明の一実施形態としての浮動小数点積和演算器の構成について説明する。なお、図1において記述の符号と同一の符号は同一の部分もしくは略同一の部分を示している。したがって、ここではこれらの詳細な説明は一部省略する。
また、絶対値加算器13からの出力データ(演算結果;正規化処理部30の入力データフォーマット)は上記図13に示したもの(C<127:0>)と同様であり、本浮動小数点積和演算器1が倍精度演算をサポートする場合のデータ構造(正規化処理部30の出力データフォーマット)は上記図15に示したもの(R<127:0>)と同様である。したがって、以下の説明においても、演算結果(入力データフォーマット)や出力データ(出力データフォーマット)については上記図13〜図15を用いて説明する。
シフト量算出部20は、絶対値加算器13からの出力データ(演算結果)の先頭からどれだけ“0”が連続しているかを予測するものであり、この結果が正規化処理部30のシフト量(Shift Amount)となる。つまり、シフト量算出部20は、正規化処理部30による左シフト処理(正規化処理)に用いる、演算結果に対する正規化シフト量を算出する。なお、シフト量算出部20によって算出される正規化シフト量は1ビット不足する場合がある。
ここで、図2に本浮動小数点積和演算器1の正規化処理部30,丸め処理部40,及びスティッキービット生成部50の構成を示す。この図2に示すごとく、正規化処理部30は、複数段のシフタ31〜35、つまり、第1シフト部(1st left shifter)31,第2シフト部(2nd left shifter)32,第3シフト部(3rd left shifter)33,第4シフト部(4th left shifter)34,及び1ビットシフト部(1bit left shifter(第2処理部)35をそなえて構成されている。
ここで、演算結果は128ビットのデータであるため、第1〜第4シフト部31〜34によるシフト量(つまり、シフト量算出部20によって算出される正規化シフト量)は、最大で127ビットとなる。そのため、ここでは、第1シフト部31は正規化シフト量である7ビット長データSA<6:0>のうちSA<6>に基づいて、64ビットもしくは0ビットのシフトを行なうことができ、第2シフト部32はSA<6:0>のうちSA<5:4>に基づいて、48,32,16,0のいずれかのビットのシフトを行なうことができ、第3シフト部33はSA<6:0>のうちSA<3:2>に基づいて、12,8,4,0のいずれかのビットのシフトを行なうことができ、第4シフト部34はSA<6:0>のうちSA<1:0>に基づいて、3,2,1,0のいずれかのビットのシフトを行なうことができる。
また、これと同様に、第4シフト部34は、SA<1:0>が“11”の場合は3ビットのシフトを実行し、SA<1:0>が“10”の場合は2ビットのシフトを実行し、SA<1:0>が“01”の場合は1ビットのシフトを実行し、SA<1:0>が“00”の場合はシフトを実行しない。
一方、シフト量算出部20によって算出された正規化シフト量が1ビット不足しているために所定ビット位置が“0”である場合には、正規化処理を完了すべく(すなわち、所定ビット位置を“1”にすべく)、第4シフト部34の出力データを1ビットだけシフトする。
このスティッキービット生成部50は、具体的に、正規化処理部30の出力データ(R<127:0>)のうちのスティッキービット生成領域(倍精度演算の場合は図15のR<69:0>)内に、1ビットでも“1”があれば、スティッキービットをオンに設定し、スティッキービット生成領域の全ビットが“0”であればスティッキービットをオフに設定するものであり、論理和算出部51と生成部52とによってスティッキービットを生成する。
倍精度演算の場合、論理和算出部51は、まず、第2シフト部32以降でシフトしうる最大幅である64ビットのシフト処理を施したとしてもR<69:64>となるC<5:0>について、論理和演算を行なう。
論理和算出部51は、C<65:6>において、正規化シフト量(SA<5:2>)に基づくシフト処理によってR<69:0>の範囲外に出ない部分について、4ビット単位で論理和演算して検証する。
そして、図9(c)に示すごとく、最後のC<9:6>については、SA<5:2>が“1110”以下の場合には、このC<9:6>はR<69:0>内に必ず残るため、この場合に限り、C<9:6>を論理和演算した結果をPAT<0>として出力する。一方、SA<5:2>が“1111”の場合には、このC<9:6>はR<69:66>内に収まるか、もしくは、R<69:0>の外に出るため、生成部52による処理でカバーする。なお、この処理は、例えば上述した図8に示す論理回路51cと同様の構成による論理回路によって実現される。
最後に、論理和算出部51は、図18に示すように構成された論理和回路51dにより、PAT<14:0>に対する論理和演算を行なうことによって、単精度演算の場合同様に仮スティッキービットを生成する。
次に、生成部52について説明すると、生成部52は正規化処理部30によって正規化処理を施された演算結果におけるスティッキービット生成領域のうちの第1領域(ここではC<65:0>)の範囲と同範囲の領域を除いた領域(ここではR<69:66>;第2領域)の範囲内のデータと、論理和算出部51によって算出された仮スティッキービットとに基づいて、スティッキービットを生成するものである。
したがって、生成部52は、R<69:66>の4ビットと、仮スティッキービットの1ビットとの計5ビットのデータを論理和演算し、これら5ビット長のデータのうち1ビットでも“1”であれば、スティッキービットをオンに設定する一方、全ビットが“0”であればスティッキービットをオフに設定する。
丸め判定部43は、(1)スティッキービット生成部50によって生成されたスティッキービット、(2)正規化処理部30から出力された演算結果における仮数部の最下位ビットであるL(Least significant bit)ビット(図14,図15参照)、(3)かかる演算結果におけるG(Guard)ビット、(4)かかる演算結果におけるR(Round)ビット(図14,図15参照)、(5)外部から入力されるRD(Round Direction:丸め方向)ビット、及び、(6)外部から入力されるSIGN(符号)ビットに基づいて、丸め処理が必要であるか否かを判断する。そして、丸め判定部43は、かかる判定の結果を選択回路44に出力する。
つまり、選択回路44は、丸め判定部43による判定結果が丸め処理が必要である場合には、インクリメンタ41によって丸め処理を施された演算結果を出力する一方、丸め判定部43による判定結果が丸め処理が不要である場合には、丸め処理が施されていない演算結果である正規化処理部30の演算結果を出力する。
さらに、ラッチされた58ビット長のデータのうち、丸め判定部43による判定に用いられるLビット,Rビット,及びGビットに該当するR<72:70>の3ビット幅のデータは、丸め判定部43に入力される。
また、正規化処理部30による処理と丸め処理部40による処理との間のパイプラインステージを分割した場合には、正規化処理と並行してスティッキービットの生成を行なうため、演算結果データのすべて(R<127:0>)をラッチする必要はなく、スティッキービット生成領域を除いた範囲のみをラッチするだけで良いため、ラッチ等のハードウェア資源(物量)を削減することができる。具体的には、倍精度演算用浮動小数点積和演算器において、従来は128ビット長のラッチ対象データを59ビット長(図11参照)にまで削減することができ、これらの差分である68ビット分のラッチを削減することができる。
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態において、第1処理部を構成する複数段のシフト部31〜34におけるシフト量は、本発明において限定されるものではなく、種々変更してもよい。
また、上述した実施形態では、シフト量算出部20によって算出される正規化シフト量について1ビット不足する場合があるものを例に挙げて説明したが、かかる正規化シフト量の不足量は限定されるものではない。
(付記1)
演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報の生成を行なう演算処理装置において、
前記演算結果を出力する演算手段と、
複数のシフト手段を有し、前記演算結果に対する正規化処理を前記複数のシフト手段により分割して行なう正規化処理手段と、
前記複数のシフト手段に対する複数のシフト量を算出するシフト量算出手段と、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測手段と、
前記仮情報を用いて、前記情報の生成を行なう生成手段とを有することを特徴とする演算処理装置。
演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報を用いて演算結果の丸め処理を行なう演算処理装置において、
前記演算結果を出力する演算手段と、
複数のシフト手段を有し、前記演算結果に対する正規化処理を前記複数のシフト手段により分割して行なう正規化処理手段と、
前記複数のシフト手段に対する複数のシフト量を算出するシフト量算出手段と、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測手段と、
前記仮情報を用いて、前記情報の生成を行なう生成手段と、
前記情報を用いて前記丸め処理を行なうか否かの判定結果を出力する丸め判定手段と、
前記演算結果に所定値を加算する増分手段と、
前記判定結果を用いて、前記演算結果と前記増分手段の出力のいずれかを選択する選択手段とを有することを特徴とする演算処理装置。
演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報を用いて演算結果の丸め処理を行なう演算処理装置により演算を行なう情報処理装置において、
前記演算結果を出力する演算手段と、
複数のシフト手段を有し、前記演算結果に対する正規化処理を前記複数のシフト手段により分割して行なう正規化処理手段と、
前記複数のシフト手段に対する複数のシフト量を算出するシフト量算出手段と、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測手段と、
前記仮情報を用いて、前記情報の生成を行なう生成手段とを有する演算処理装置により演算を行なうことを特徴とする情報処理装置。
前記演算処理装置はさらに、
前記情報を用いて前記丸め処理を行なうか否かの判定結果を出力する丸め判定手段と、
前記演算結果に所定値を加算する増分手段と、
前記判定結果を用いて、前記演算結果と前記増分手段の出力のいずれかを選択する選択手段とを有することを特徴とする付記3記載の情報処理装置。
演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報を用いて演算結果の丸め処理を行なう演算処理方法において、
前記演算を行うステップと、
複数のシフト処理ステップにおいて用いる複数のシフト量を算出するシフト量算出ステップと、
前記演算結果に対する正規化処理を、前記シフト量を用いてそれぞれ前記複数のシフト処理ステップに分割して行なう正規化処理ステップと、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測ステップと、
前記仮情報を用いて、前記情報の生成を行なう生成ステップとを有することを特徴とする演算処理方法。
演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報を用いて演算結果の丸め処理を行なう演算処理方法において、
前記演算結果を出力するステップと、
少なくとも2つ以上のシフト処理ステップにおいて用いる複数のシフト量を算出するシフト量算出ステップと、
前記演算結果に対する正規化処理を、前記シフト量を用いてそれぞれ前記複数のシフト処理ステップに分割して行ない正規化された演算結果を生成する正規化処理ステップと、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされる否かの予測結果である仮情報の生成を行なう予測ステップと、
前記仮情報を用いて、前記情報の生成を行なう生成ステップと、
前記正規化された演算結果に対して前記情報を用いて丸め処理を行う丸め処理ステップとを有することを特徴とする演算処理方法。
積和演算を実行する積和演算部と、
該積和演算部による前記演算の結果に対する正規化シフト量を算出するシフト量算出部と、
該シフト量算出部によって算出された前記正規化シフト量を用いて前記積和演算部による前記演算結果に対して正規化処理を施す正規化処理部と、
該正規化処理部による正規化処理と並行しながら、前記演算結果における最下位から所定領域(以下、第1領域という)内のデータが、前記正規化処理部による正規化処理によってスティッキービット生成領域内に移行されるか否かを予測して、前記スティッキービット生成領域内に移行されると予測したデータの論理和を仮スティッキービットとして算出する論理和算出部と、
前記正規化処理部によって正規化処理を施された演算結果における前記スティッキービット生成領域のうちの前記第1領域と同一領域を除いた領域(以下、第2領域という)内のデータと、前記論理和算出部によって生成された仮スティッキービットとに基づいてスティッキービットを生成する生成部と、
前記正規化処理部によって前記正規化処理を施された前記演算結果に対して、前記生成部によって生成された前記スティッキービットに基づいて丸め処理を施す丸め処理部とをそなえて構成されていることを特徴とする、情報処理装置。
前記正規化処理部が、前記正規化シフト量に基づいて正規化処理を施す第1処理部と、該第1処理部による正規化処理の結果に基づいて当該正規化シフト量が不足しているか否かを判断して、不足していると判断した場合には当該不足しているシフト量を用いて当該結果に対してさらに正規化処理を施す1ビットシフト部とをそなえ、
前記スティッキービット生成領域の前記第2領域の総ビット数が、前記1ビットシフト部によって正規化処理が施されうる前記不足しているシフト量以上であることを特徴とする、付記1記載の情報処理装置。
前記正規化処理部の前記1ビットシフト部は、前記正規化シフト量が不足していないと判断した場合には、正規化処理を実行しないことを特徴とする、付記2記載の情報処理装置。
(付記10)
前記正規化処理部の前記第1処理部が、前記正規化シフト量に基づいて前記演算結果をシフトする複数段のシフト部からなり、
前記スティッキービット生成領域の前記第2領域の総ビット数が、前記複数段のシフト部のうちの最終段のシフト部が担当する最大の正規化シフト量と前記1ビットシフト部が担当しうる前記不足しているシフト量との合計であることを特徴とする、付記2または付記3記載の情報処理装置。
前記正規化処理部の前記第1処理部の前記最終段のシフト部が、前記複数段のシフト部の中で最も少ないシフト量を担当することを特徴とする、付記4記載の情報処理装置。
(付記12)
前記正規化処理部から前記丸め処理部に前記演算結果のうちの前記スティッキービット生成領域を除いた部分が入力されることを特徴とする、付記1〜付記5のいずれか1項に記載の情報処理装置。
10 右シフト部
11 乗算器
12 CSA(Carry Save Adder)
13 絶対値加算器
20 シフト量算出部(シフト量算出手段)
30,300 正規化処理部(正規化処理手段)
31 第1シフト部(第1処理部)
32 第2シフト部(第1処理部)
32a,33a,51a〜51c 論理回路
32a−1,33a−1,51a−4,51a−5,51b−4,51b−5,51c−3 ANDゲート
32a−2,33a−2 バッファゲート
32a−3,33a−3,51a−1〜51c−1 ORゲート
33 第3シフト部(第1処理部)
34 第4シフト部(第1処理部)
35 1ビットシフト部(第2処理部)
40 丸め処理部
41 インクリメンタ(増分手段)
42,50 スティッキービット生成部
43 丸め判定部(丸め判定手段)
44 選択回路(選択手段)
51 論理和算出部(予測手段)
51a−2,51a−3,51b−2,51b−3 NOTゲート
51c−2 NANDゲート
51d 論理和回路
52 生成部(生成手段)
Claims (5)
- 演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報の生成を行なう演算処理装置において、
前記演算結果を出力する演算手段と、
複数のシフト手段を有し、前記演算結果に対する正規化処理を前記複数のシフト手段により分割して行なう正規化処理手段と、
前記複数のシフト手段に対する複数のシフト量を算出するシフト量算出手段と、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測手段と、
前記仮情報を用いて、前記情報の生成を行なう生成手段とを有することを特徴とする演算処理装置。 - 演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報を用いて演算結果の丸め処理を行なう演算処理装置において、
前記演算結果を出力する演算手段と、
複数のシフト手段を有し、前記演算結果に対する正規化処理を前記複数のシフト手段により分割して行なう正規化処理手段と、
前記複数のシフト手段に対する複数のシフト量を算出するシフト量算出手段と、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測手段と、
前記仮情報を用いて、前記情報の生成を行なう生成手段と、
前記情報を用いて前記丸め処理を行なうか否かの判定結果を出力する丸め判定手段と、
前記演算結果に所定値を加算する増分手段と、
前記判定結果を用いて、前記演算結果と前記増分手段の出力のいずれかを選択する選択手段とを有することを特徴とする演算処理装置。 - 演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報を用いて演算結果の丸め処理を行なう演算処理装置により演算を行なう情報処理装置において、
前記演算結果を出力する演算手段と、
複数のシフト手段を有し、前記演算結果に対する正規化処理を前記複数のシフト手段により分割して行なう正規化処理手段と、
前記複数のシフト手段に対する複数のシフト量を算出するシフト量算出手段と、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測手段と、
前記仮情報を用いて、前記情報の生成を行なう生成手段とを有する演算処理装置により演算を行なうことを特徴とする情報処理装置。 - 前記演算処理装置はさらに、
前記情報を用いて前記丸め処理を行なうか否かの判定結果を出力する丸め判定手段と、
前記演算結果に所定値を加算する増分手段と、
前記判定結果を用いて、前記演算結果と前記増分手段の出力のいずれかを選択する選択手段とを有することを特徴とする請求項3記載の情報処理装置。 - 演算結果の正規化の際に前記演算結果がシフトされたか否かを表す情報を用いて演算結果の丸め処理を行なう演算処理方法において、
前記演算を行うステップと、
複数のシフト処理ステップにおいて用いる複数のシフト量を算出するシフト量算出ステップと、
前記演算結果に対する正規化処理を、前記シフト量を用いてそれぞれ前記複数のシフト処理ステップに分割して行なう正規化処理ステップと、
前記複数のシフト量を用いて、演算結果の正規化の際に前記演算結果がシフトされるか否かの予測結果である仮情報の生成を行なう予測ステップと、
前記仮情報を用いて、前記情報の生成を行なう生成ステップとを有することを特徴とする演算処理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005349804A JP4571903B2 (ja) | 2005-12-02 | 2005-12-02 | 演算処理装置,情報処理装置,及び演算処理方法 |
US11/385,718 US7720899B2 (en) | 2005-12-02 | 2006-03-22 | Arithmetic operation unit, information processing apparatus and arithmetic operation method |
EP06251769.3A EP1806652B1 (en) | 2005-12-02 | 2006-03-30 | Normalization and rounding of an arithmetic operation result |
CNB2006100764824A CN100545805C (zh) | 2005-12-02 | 2006-04-20 | 算术运算单元、信息处理设备和算术运算方法 |
KR1020060037654A KR100818011B1 (ko) | 2005-12-02 | 2006-04-26 | 연산 처리 장치, 정보 처리 장치, 및 연산 처리 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005349804A JP4571903B2 (ja) | 2005-12-02 | 2005-12-02 | 演算処理装置,情報処理装置,及び演算処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007156748A true JP2007156748A (ja) | 2007-06-21 |
JP4571903B2 JP4571903B2 (ja) | 2010-10-27 |
Family
ID=37897349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005349804A Expired - Fee Related JP4571903B2 (ja) | 2005-12-02 | 2005-12-02 | 演算処理装置,情報処理装置,及び演算処理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7720899B2 (ja) |
EP (1) | EP1806652B1 (ja) |
JP (1) | JP4571903B2 (ja) |
KR (1) | KR100818011B1 (ja) |
CN (1) | CN100545805C (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140491A (ja) * | 2007-12-07 | 2009-06-25 | Nvidia Corp | 融合型積和演算機能ユニット |
JP2012521047A (ja) * | 2009-03-16 | 2012-09-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 浮動小数点ユニットにおけるオーバーシフトの高速検出のためのメカニズム |
JP2018195228A (ja) * | 2017-05-22 | 2018-12-06 | 富士通株式会社 | 演算器及び演算器の制御方法 |
JP2022533850A (ja) * | 2019-05-24 | 2022-07-26 | グーグル エルエルシー | 多入力浮動小数点加算器 |
CN117762375A (zh) * | 2023-12-22 | 2024-03-26 | 摩尔线程智能科技(北京)有限责任公司 | 数据处理方法、装置、计算装置、图形处理器和存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2110740B1 (en) * | 2007-02-09 | 2013-05-29 | Fujitsu Limited | Computation processor, information processor, and computing method |
US8762444B2 (en) * | 2011-09-28 | 2014-06-24 | Nvidia Corporation | Fast condition code generation for arithmetic logic unit |
US9911470B2 (en) | 2011-12-15 | 2018-03-06 | Nvidia Corporation | Fast-bypass memory circuit |
JP5450781B1 (ja) * | 2012-12-26 | 2014-03-26 | 株式会社東芝 | 演算回路及び方法 |
US10141930B2 (en) | 2013-06-04 | 2018-11-27 | Nvidia Corporation | Three state latch |
GB2535426B (en) * | 2014-10-31 | 2021-08-11 | Advanced Risc Mach Ltd | Apparatus, method and program for calculating the result of a repeating iterative sum |
JP7165018B2 (ja) * | 2018-10-03 | 2022-11-02 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
US11188299B2 (en) * | 2019-07-31 | 2021-11-30 | International Business Machines Corporation | Repurposed hexadecimal floating point data path |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63229521A (ja) * | 1987-03-19 | 1988-09-26 | Matsushita Electric Ind Co Ltd | シフト回路 |
JPH0367328A (ja) * | 1989-08-04 | 1991-03-22 | Ricoh Co Ltd | 浮動小数点演算装置 |
JPH03211617A (ja) * | 1990-01-17 | 1991-09-17 | Nec Corp | ブロック論理和回路とシフト方式 |
JPH08212192A (ja) * | 1994-11-17 | 1996-08-20 | Hitachi Ltd | 積和演算器及びデータ処理装置 |
US5771183A (en) * | 1996-06-28 | 1998-06-23 | Intel Corporation | Apparatus and method for computation of sticky bit in a multi-stage shifter used for floating point arithmetic |
JP2002007111A (ja) * | 2000-05-30 | 2002-01-11 | Hewlett Packard Co <Hp> | 多重データ・セットを処理するためのセルフタイム式伝送方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US44716A (en) * | 1864-10-18 | Improved potato-digger | ||
US4941120A (en) | 1989-04-17 | 1990-07-10 | International Business Machines Corporation | Floating point normalization and rounding prediction circuit |
US5128889A (en) | 1990-02-22 | 1992-07-07 | Matsushita Electric Industrial Co., Ltd. | Floating-point arithmetic apparatus with compensation for mantissa truncation |
US5471410A (en) | 1994-10-14 | 1995-11-28 | International Business Machines Corporation | Method and apparatus for sticky and leading one detection |
US5757682A (en) * | 1995-03-31 | 1998-05-26 | International Business Machines Corporation | Parallel calculation of exponent and sticky bit during normalization |
US5867407A (en) | 1995-06-30 | 1999-02-02 | Digital Equipment Corporation | Normalization shift prediction independent of operand substraction |
US5754458A (en) * | 1996-05-30 | 1998-05-19 | Hewlett-Packard Company | Trailing bit anticipator |
US5793654A (en) * | 1996-09-30 | 1998-08-11 | Intel Corporation | Saturating alignment shifter |
US6167419A (en) * | 1997-04-01 | 2000-12-26 | Matsushita Electric Industrial Co., Ltd. | Multiplication method and multiplication circuit |
KR20010018956A (ko) * | 1999-08-24 | 2001-03-15 | 한탁돈 | 부동소수점 병렬 반올림 방법 및 연산장치 |
US6557021B1 (en) * | 1999-11-04 | 2003-04-29 | Intrinsity, Inc. | Rounding anticipator for floating point operations |
US6571266B1 (en) | 2000-02-21 | 2003-05-27 | Hewlett-Packard Development Company, L.P. | Method for acquiring FMAC rounding parameters |
US6615228B1 (en) | 2000-05-30 | 2003-09-02 | Hewlett-Packard Development Company, Lp | Selection based rounding system and method for floating point operations |
JP3492638B2 (ja) | 2001-02-23 | 2004-02-03 | エヌイーシーコンピュータテクノ株式会社 | 浮動小数点乗算器 |
-
2005
- 2005-12-02 JP JP2005349804A patent/JP4571903B2/ja not_active Expired - Fee Related
-
2006
- 2006-03-22 US US11/385,718 patent/US7720899B2/en not_active Expired - Fee Related
- 2006-03-30 EP EP06251769.3A patent/EP1806652B1/en not_active Ceased
- 2006-04-20 CN CNB2006100764824A patent/CN100545805C/zh not_active Expired - Fee Related
- 2006-04-26 KR KR1020060037654A patent/KR100818011B1/ko not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63229521A (ja) * | 1987-03-19 | 1988-09-26 | Matsushita Electric Ind Co Ltd | シフト回路 |
JPH0367328A (ja) * | 1989-08-04 | 1991-03-22 | Ricoh Co Ltd | 浮動小数点演算装置 |
JPH03211617A (ja) * | 1990-01-17 | 1991-09-17 | Nec Corp | ブロック論理和回路とシフト方式 |
JPH08212192A (ja) * | 1994-11-17 | 1996-08-20 | Hitachi Ltd | 積和演算器及びデータ処理装置 |
US5771183A (en) * | 1996-06-28 | 1998-06-23 | Intel Corporation | Apparatus and method for computation of sticky bit in a multi-stage shifter used for floating point arithmetic |
JP2002007111A (ja) * | 2000-05-30 | 2002-01-11 | Hewlett Packard Co <Hp> | 多重データ・セットを処理するためのセルフタイム式伝送方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140491A (ja) * | 2007-12-07 | 2009-06-25 | Nvidia Corp | 融合型積和演算機能ユニット |
JP2012084142A (ja) * | 2007-12-07 | 2012-04-26 | Nvidia Corp | 融合型積和演算機能ユニット |
JP2012521047A (ja) * | 2009-03-16 | 2012-09-10 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 浮動小数点ユニットにおけるオーバーシフトの高速検出のためのメカニズム |
JP2018195228A (ja) * | 2017-05-22 | 2018-12-06 | 富士通株式会社 | 演算器及び演算器の制御方法 |
JP2022533850A (ja) * | 2019-05-24 | 2022-07-26 | グーグル エルエルシー | 多入力浮動小数点加算器 |
JP7285966B2 (ja) | 2019-05-24 | 2023-06-02 | グーグル エルエルシー | 多入力浮動小数点加算器 |
CN117762375A (zh) * | 2023-12-22 | 2024-03-26 | 摩尔线程智能科技(北京)有限责任公司 | 数据处理方法、装置、计算装置、图形处理器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1806652B1 (en) | 2015-12-09 |
JP4571903B2 (ja) | 2010-10-27 |
EP1806652A3 (en) | 2008-11-05 |
KR100818011B1 (ko) | 2008-03-31 |
US20070130242A1 (en) | 2007-06-07 |
CN1975662A (zh) | 2007-06-06 |
CN100545805C (zh) | 2009-09-30 |
EP1806652A2 (en) | 2007-07-11 |
US7720899B2 (en) | 2010-05-18 |
KR20070058293A (ko) | 2007-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4571903B2 (ja) | 演算処理装置,情報処理装置,及び演算処理方法 | |
EP2846257B1 (en) | Floating-point adder circuitry | |
US8606840B2 (en) | Apparatus and method for floating-point fused multiply add | |
US20150347089A1 (en) | Microarchitecture for floating point fused multiply-add with exponent scaling | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
US8930433B2 (en) | Systems and methods for a floating-point multiplication and accumulation unit using a partial-product multiplier in digital signal processors | |
JP2018535476A (ja) | 浮動小数点数の丸め処理 | |
JP3845009B2 (ja) | 積和演算装置、及び積和演算方法 | |
JPWO2007096982A1 (ja) | 演算処理装置および演算処理方法 | |
EP2435904B1 (en) | Integer multiply and multiply-add operations with saturation | |
US20230092574A1 (en) | Single-cycle kulisch accumulator | |
KR19980041753A (ko) | 다른 데이타 형을 갖는 다수의 데이타를 처리하는 가산기 | |
US7143126B2 (en) | Method and apparatus for implementing power of two floating point estimation | |
US20070156803A1 (en) | Overflow detection and clamping with parallel operand processing for fixed-point multipliers | |
JP4806453B2 (ja) | 演算処理装置、情報処理装置、および演算方法 | |
Hamid et al. | Design of generic floating point multiplier and adder/subtractor units | |
US7401107B2 (en) | Data processing apparatus and method for converting a fixed point number to a floating point number | |
WO2018057111A1 (en) | Distributed double-precision floating-point multiplication | |
US6993549B2 (en) | System and method for performing gloating point operations involving extended exponents | |
CN112214196A (zh) | 浮点异常处理方法及装置 | |
US20040049528A1 (en) | Apparatus and method for adding multiple-bit binary-strings | |
He et al. | Multiply-add fused float point unit with on-fly denormalized number processing | |
JP2002023997A (ja) | 浮動小数点演算のための選択ベースの丸め方法 | |
Tyagi et al. | A novel hardware efficient reconfigurable 32-bit arithmetic unit for binary, BCD and floating point operands | |
EP3528107B1 (en) | Increment/decrement apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090901 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091026 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100309 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100607 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100616 |
|
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: 20100803 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100813 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |