JP2011090623A - 浮動小数点検索演算装置、浮動小数点検索演算方法及びプログラム - Google Patents

浮動小数点検索演算装置、浮動小数点検索演算方法及びプログラム Download PDF

Info

Publication number
JP2011090623A
JP2011090623A JP2009245484A JP2009245484A JP2011090623A JP 2011090623 A JP2011090623 A JP 2011090623A JP 2009245484 A JP2009245484 A JP 2009245484A JP 2009245484 A JP2009245484 A JP 2009245484A JP 2011090623 A JP2011090623 A JP 2011090623A
Authority
JP
Japan
Prior art keywords
operands
floating
unit
operand
comparison information
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
JP2009245484A
Other languages
English (en)
Other versions
JP5610508B2 (ja
Inventor
Tadaharu Kawaguchi
忠春 川口
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2009245484A priority Critical patent/JP5610508B2/ja
Publication of JP2011090623A publication Critical patent/JP2011090623A/ja
Application granted granted Critical
Publication of JP5610508B2 publication Critical patent/JP5610508B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】HW量の少ない浮動小数点検索演算装置等を提供する。
【解決手段】2つのオペランドを保持する機能を有するオペランド保持部101と、固定小数点形式の2つのオペランドを固定小数点加減算する機能と、浮動小数点形式の2つのオペランドを固定小数点形式とみなして減算する機能と、浮動小数点形式の2つのオペランドの桁合わせ後の仮数部を絶対値減算する機能とを有する絶対値加算部140と、浮動小数点形式の2つのオペランドの指数部および符号部の値に応じた比較情報を生成する機能を有する比較部150と、前記比較部150によって生成された比較情報に基づいて、前記オペランド保持部101によって保持された2つのオペランドのうち一方を選択する機能を有するオペランド選択部152とを備え、前記オペランド保持部101は、前記絶対値加算部140によって前記減算がなされるタイミングで、2つのオペランドを保持する。
【選択図】図1

Description

本発明は、浮動小数点検索演算装置、浮動小数点検索演算方法及びプログラムに関する。特に、本発明は、スーパーコンピュータのベクトル計算機における浮動小数点検索演算装置、浮動小数点検索演算方法及びプログラムに関する。
通常、演算装置において、入力オペランドAおよび入力オペランドBを入力して浮動小数点検索演算を行う場合、入力オペランドAおよび入力オペランドBを一旦保持し、入力オペランドAと入力オペランドBとの比較情報(比較結果)に基づいて、保持している入力オペランドA、Bのうち大きい方(または小さい方)を選択する。図4は、一般的な演算装置の一例である浮動小数点検索演算装置200のブロック図である。浮動小数点検索演算装置200は、入力オペランドAおよび入力オペランドBに対し、固定小数点加減算、浮動小数点加減算、浮動小数点検索演算の各演算を行う。
オペランド保持部201は、浮動小数点検索演算時に、入力オペランドAおよび入力オペランドBを保持する。
形式分解部210は、固定小数点加減算時には、入力オペランドAおよび入力オペランドBの各々について、固定小数点形式の入力オペランドAおよび入力オペランドBを出力する。形式分解部210は、浮動小数点加減算時または浮動小数点検索演算時には、入力オペランドAおよび入力オペランドBの各々について、指数部と仮数部とに分解して出力する。
指数差算出部220は、固定小数点加減算時には、固定小数点形式である入力オペランドAおよび入力オペランドBを出力する。指数差算出部220は、浮動小数点加減算時または浮動小数点検索演算時には、形式分解部210によって分解された入力オペランドAおよび入力オペランドBの指数部の差を出力する。
桁合わせ部230は、固定小数点加減算時には、固定小数点形式である入力オペランドAおよび入力オペランドBを出力する。桁合わせ部230は、浮動小数点加減算時または浮動小数点検索演算時には、指数差算出部220によって出力された入力オペランドAと入力オペランドBの指数部の差の値に応じて(差の値分)、入力オペランドA、Bのうち小さい方の仮数部を右シフトし、右シフト後の仮数部と大きい方の仮数部とを出力する。つまり、桁合わせ部230は、浮動小数点加減算時または浮動小数点検索演算時には、桁合わせ後の仮数部を出力する。
絶対値加算部240は、固定小数点加減算時には、64ビットの2進整数としてA−Bを演算して出力する。絶対値加算部240は、浮動小数点加減算時または浮動小数点検索演算時には、桁合わせ後の浮動小数点仮数部について|A−B|を演算して出力する。また、絶対値加算部240は、浮動小数点検索演算時において、上記浮動小数点仮数部についてA−Bの減算結果の符号が正である場合、例えば被減数(A)を大、減数(B)を小としたときの比較結果を示す比較情報を生成し出力する。
オペランド選択部242は、比較情報の生成時、即ち、浮動小数点検索演算時に、絶対値加算部240によって生成された比較情報に基づいて、オペランド保持部201によって保持された入力オペランドA、Bのうち大きい方(または小さい方)を選択する。
形式整列部290は、固定小数点加減算時には、絶対値加算部240からの出力結果(A−B)を浮動小数点検索演算装置200の演算結果として出力する。形式整列部290は、浮動小数点検索演算時には、オペランド選択部242からの出力結果(AまたはB)を浮動小数点検索演算装置200の演算結果として出力する。形式整列部290は、浮動小数点加減算時には、絶対値加算部240からの仮数加算結果を正規化・丸め処理した仮数部と、指数差算出部220からの指数算出結果を符号生成・指数計算処理した指数部とを整列して浮動小数点検索演算装置200の演算結果として出力する。
また、パイプライン制御方式の情報処理装置において、後続の条件付き分岐命令の処理の高速化を目的とし、浮動小数点演算命令の処理結果の比較結果を予測する制御方式が開示されている(引用文献1参照)。
特開昭64−42732号公報
しかしながら、浮動小数点検索演算装置200では、浮動小数点検索演算時に、浮動小数点検索演算装置200が入力オペランドA、Bを取得してから入力オペランドA、Bをオペランド選択部242が取得する迄の間、入力オペランドA、Bをオペランド保持部201において保持しておく必要があるが、近年の高周波設計においては演算器の演算時間は大きくなる傾向にあって、演算時間が大きいほど入力オペランドのオペランド保持部201のHW量が大きくなるという問題がある。
なお、浮動小数点検索演算時においては、絶対値加算部240は入力オペランドA、Bを用いずに比較情報を生成するため、絶対値加算部240は入力オペランドA、Bを取得していない(入力オペランドA、Bは、形式分解部210において指数部と仮数部とに分解され、桁合わせ部230においてビット加工(右シフト)され絶対値加算部240に出力される)。従って、浮動小数点検索演算時には、オペランド選択部242にて参照される入力オペランドA、Bを、形式分解部210によって分解される前にオペランド保持部201において保持しておく必要がある。
上記問題を解決するために、本発明の一態様である浮動小数点検索演算装置は、2つのオペランドを保持する機能を有するオペランド保持部と、固定小数点形式の2つのオペランドを固定小数点加減算する機能と、浮動小数点形式の2つのオペランドを固定小数点形式とみなして減算する機能と、浮動小数点形式の2つのオペランドの桁合わせ後の仮数部を絶対値減算する機能とを有する絶対値加算部と、浮動小数点形式の2つのオペランドの指数部および符号部の値に応じた比較情報を生成する機能を有する比較部と、前記比較部によって生成された比較情報に基づいて、前記オペランド保持部によって保持された2つのオペランドのうち一方を選択する機能を有するオペランド選択部とを備え、前記オペランド保持部は、前記絶対値加算部によって前記減算がなされるタイミングで、2つのオペランドを保持することを特徴とする。
上記問題を解決するために、本発明の他の態様である浮動小数点検索演算方法は、浮動小数点形式の2つのオペランドを固定小数点形式として減算する減算手段と、前記減算手段によって前記減算がなされるタイミングで、2つのオペランドを保持する保持手段と、
浮動小数点形式の2つのオペランドの指数部および符号部の値に応じた比較情報を生成する比較情報生成手段と、前記比較情報生成手段によって生成された前記比較情報に基づいて、前記保持手段によって保持された2つのオペランドのうち一方を選択するオペランド選択手段とを有し、前記比較情報生成手段は、前記指数部の値がともに所定の範囲内であって、かつ、前記符号部の値が同一であるときは、前記減算手段による減算結果の符号値を比較情報として生成することを特徴とする。
上記問題を解決するために、本発明の他の態様であるプログラムは、浮動小数点検索演算を行う演算装置のコンピュータに、浮動小数点形式の2つのオペランドを固定小数点形式として減算する減算ステップと、前記減算ステップによって前記減算がなされるタイミングで、2つのオペランドをオペランド保持部101に保持する保持ステップと、浮動小数点形式の2つのオペランドの指数部および符号部の値に応じた比較情報を生成する比較情報生成ステップと、前記比較情報生成ステップによって生成された前記比較情報に基づいて、前記オペランド保持部101によって保持された2つのオペランドのうち一方を選択するオペランド選択ステップとを実行させるプログラムであって、前記比較情報生成ステップは、前記指数部の値がともに所定の範囲内であって、かつ、前記符号部の値が同一であるときは、前記減算ステップによる減算結果の符号値を比較情報として生成することを特徴とする。
本発明によれば、浮動小数点検索演算時において、入力オペランドA、Bを保持しておく時間を短縮することができる。従って、入力オペランドA、Bを保持しておくオペランド保持部のHW量を削減することができる。
つまり、本発明では、浮動小数点減算による比較結果をオペランド選択部において利用する比較情報とするのではなく、オペランドを固定小数点と見なし固定小数点減算による比較結果を比較情報としたため、絶対値加算部は、桁合わせ部から入力オペランドA、Bを取得する(絶対値加算部は減算処理時に入力オペランドA、Bを保持する)。従って、浮動小数点検索演算時には、オペランド選択部にて参照される入力オペランドA、Bを、絶対値加算部が入力オペランドA、Bを取得するタイミングからオペランド保持部において保持すればよく、入力オペランドA、Bを保持しておく時間が短縮する。
本発明の一実施形態による浮動小数点検索演算装置100のブロック図である。 固定小数点形式の一例として64ビット符号付き整数と、浮動小数点形式の一例としてIEEE倍精度データ形式とを示す。 浮動小数点検索演算装置100の動作の一例を示すフローチャートである。 従来の浮動小数点検索演算装置200のブロック図である。
以下、本発明の一実施形態について図面を参照して説明する。図1は、本発明の一実施形態による浮動小数点検索演算装置100のブロック図である。図2は、固定小数点形式の一例として64ビット符号付き整数と、浮動小数点形式の一例としてIEEE倍精度データ形式とを示す。具体的には、図2(a)は固定小数点形式の一例として64ビット符号付き整数、図2(b)は浮動小数点形式の一例としてIEEE倍精度データ形式を示す。図2において、Sは符号部、Eは指数部、Fは仮数部である。
IEEE倍精度データ形式において、0<E<2047のときに通常数であるものとする。なお、E=2047のときはqNaN(quiet Not a NumBer:quiet型非数)、sNaN(signaling Not a NumBer:signaling型非数)、∞(Infinite:無限大)は特殊数として規定され、E=0のときは0(Zero(零))、deNormal(微小数)が特殊数として規定されている(IEEE754規格)。
浮動小数点検索演算装置100は、図1に示すように、オペランド保持部101、形式分解部110、指数差算出部120、桁合わせ部130、絶対値加算部140、比較部150、オペランド選択部152、形式整列部190を含んで構成される。
オペランド保持部101は、浮動小数点検索演算時に、入力オペランドAおよび入力オペランドBを保持する。具体的には、オペランド保持部101は、浮動小数点検索演算時に、桁合わせ部130から絶対値加算部140へ出力される入力オペランドAおよび入力オペランドBを保持する。換言すれば、オペランド保持部101は、絶対値加算部140によって減算がなされるタイミングで、入力オペランドAおよび入力オペランドBを保持し始める。
形式分解部110は、固定小数点加減算時には、入力オペランドAおよび入力オペランドBの各々について、固定小数点形式の入力オペランドAおよび入力オペランドBを指数差算出部120に出力する。形式分解部110は、浮動小数点検索演算時には、入力オペランドAおよび入力オペランドBの各々について、浮動小数点形式の入力オペランドAおよび入力オペランドB、並びに、固定小数点形式とみなした入力オペランドAおよび入力オペランドBを指数差算出部120に出力する。形式分解部110は、浮動小数点加減算時には、入力オペランドAおよび入力オペランドBの各々について、指数部と仮数部とに分解して指数差算出部120に出力する。
指数差算出部120は、固定小数点加減算時には、入力オペランドAおよび入力オペランドBの各々について、固定小数点形式の入力オペランドAおよび入力オペランドBを桁合わせ部130に出力する。指数差算出部120は、浮動小数点検索演算時には、入力オペランドAおよび入力オペランドBの各々について、浮動小数点形式の入力オペランドAおよび入力オペランドBを比較部150に出力し、固定小数点形式とみなされた入力オペランドAおよび入力オペランドBを桁合わせ部130に出力する。指数差算出部120は、浮動小数点加減算時には、形式分解部110によって分解された入力オペランドAおよび入力オペランドBの指数部の差を桁合わせ部130に出力する。
桁合わせ部130は、固定小数点加減算時には、入力オペランドAおよび入力オペランドBの各々について、固定小数点形式の入力オペランドAおよび入力オペランドBを絶対値加算部140に出力する。桁合わせ部130は、浮動小数点検索演算時には、入力オペランドAおよび入力オペランドBの各々について、固定小数点形式とみなされた入力オペランドAおよび入力オペランドBを絶対値加算部140に出力する。また、桁合わせ部130は、浮動小数点検索演算時には、固定小数点形式とみなされた入力オペランドAおよび入力オペランドBをオペランド保持部101に出力する。
なお、浮動小数点検索演算時に、指数差算出部120が浮動小数点形式の入力オペランドAおよび入力オペランドBを桁合わせ部130に出力し、桁合わせ部130は、浮動小数点形式の入力オペランドAおよび入力オペランドBをオペランド保持部101に出力するようにしてもよい。
桁合わせ部130は、浮動小数点加減算時には、指数差算出部120によって出力された入力オペランドAと入力オペランドBの指数部の差の値に応じて(差の値分)、入力オペランドA、Bのうち小さい方の仮数部を右シフトし、右シフト後の仮数部と大きい方の仮数部とを絶対値加算部140に出力する。つまり、桁合わせ部130は、浮動小数点加減算時には、桁合わせ後の仮数部を出力する。
絶対値加算部140は、固定小数点加減算時には、64ビットの2進整数としてA−Bを演算して出力する。絶対値加算部140は、浮動小数点検索演算時には、固定小数点形式として、64ビットの2進整数としてA−Bを演算し、減算結果(A−B)の符号値(最上位ビット)を比較部150に出力する。絶対値加算部140は、浮動小数点加減算時には、桁合わせ後の浮動小数点仮数部について|A−B|を演算して出力する。
比較部150は、浮動小数点検索演算時に、浮動小数点形式の入力オペランドAおよび入力オペランドBの指数部および符号部の値に応じた比較情報(比較結果)を生成する。即ち、比較部150は、減算処理を行わず入力オペランドA、Bの符号および指数値に基づいて、比較情報(比較結果)を生成する。
具体的には、比較部150は、入力オペランドAおよび入力オペランドBの指数部の値が所定の範囲内(例えば、0<E<2047)であって、かつ、入力オペランドAおよび入力オペランドBの符号部の値が同一であるときは、絶対値加算部140が入力オペランドAおよび入力オペランドBを固定小数点形式として減算した減算結果の符号値を比較情報として生成する。即ち、比較部150は、入力オペランドAおよび入力オペランドBが通常数かつ同符号であるときは、絶対値加算部140から取得した減算結果(A−B)の符号値を比較情報として生成する。
また、比較部150は、入力オペランドAおよび入力オペランドBの指数部の値が所定の範囲内(例えば、0<E<2047)であって、かつ、入力オペランドAおよび入力オペランドBの符号部の値が異なるときは、予め定めた規則に従って比較情報を生成する。即ち、比較部150は、入力オペランドAおよび入力オペランドBが通常数かつ異符号であるときは、予め定めた規則に従って比較情報を生成する。例えば、比較部150は、A≧Bであるときに値が0、A<Bであるときに値が1である比較情報を生成する。つまり、比較部150は、入力オペランドAに着目し、入力オペランドAの符号値が0(即ち、入力オペランドAの値が正)であるときは0、入力オペランドAの符号値が1(即ち、入力オペランドAの値が負)であるときは1、とする比較情報を生成する。なお、比較部150は、入力オペランドAではなく入力オペランドBに着目し、入力オペランドBの符号値が0(A<B)であるときは0、入力オペランドBの符号値が1であるときは(A≧B)であるときは1、とする比較情報を生成してもよい。
また、比較部150は、入力オペランドAではなく入力オペランドBの指数部の値が所定の範囲内(例えば、0<E<2047)でないとき、即ち、入力オペランドAおよび入力オペランドBが特殊数のときは、「IEEE754規格で定められる比較結果」またはこのときの符号値に従って、例えば、「A≧Bのときは0、A<Bのときは1」とする比較情報を生成し出力する。
なお、上記「IEEE754規格で定められる比較結果」とは、例えば、同符号の∞同士の比較は一致(比較結果は0)、同符号の0同士の比較は一致(比較結果は0)、sNaNおよびqNaNとの比較は不能(比較結果は無効演算例外)とするものである。
オペランド選択部152は、比較情報の生成時、即ち、浮動小数点検索演算時に、比較部150によって生成された比較情報に基づいて、オペランド保持部101によって保持された入力オペランドA、Bのうち大きい方(または小さい方)を選択し出力する。
形式整列部190は、固定小数点加減算時には、絶対値加算部140からの出力結果(A−B)を浮動小数点検索演算装置100の演算結果として出力する。形式整列190は、浮動小数点検索演算時には、オペランド選択部152からの出力結果(入力オペランドAまたは入力オペランドB)を浮動小数点検索演算装置100の演算結果として出力する。形式整列部190は、浮動小数点加減算時には、絶対値加算部140からの仮数加算結果を正規化・丸め処理した仮数部と、指数差算出部120からの指数算出結果を符号生成・指数計算処理した指数部とを整列して浮動小数点検索演算装置100の演算結果として出力する。
以上の様に、浮動小数点検索演算装置100は、浮動小数点検索演算時には、減算処理をすることなく、入力オペランドAおよび入力オペランドBの指数部等の値に基づいて、入力オペランドAと入力オペランドBとを浮動小数点比較し、入力オペランドA、Bのうち大きい方(または小さい方)を選択する。なお、浮動小数点検索演算時において、入力オペランドAおよび入力オペランドBが通常数かつ同符号であるときに、浮動小数点形式のIEEE倍精度データ形式を固定小数点形式の64ビット符号付き整数として減算した減算結果(符号値である比較結果)は、符号位置が同一、かつ、以降のビットの指数部と仮数部が2進整数の連結であって、値の重みは指数が大きいため、浮動小数点減算の結果(符号値である比較結果)と同一となる。
以下、図3に示すフローチャートを用いて浮動小数点検索演算装置100の浮動小数点検索演算時の動作を説明する。なお、図3に示すフローチャートは、形式分解部110はが外部から入力オペランドAおよび入力オペランドBを取得することにより開始する。
図3において、入力オペランドAおよび入力オペランドBを取得した形式分解部110は、入力オペランドAおよび入力オペランドBを指数差算出120に出力する(ステップS10)。
指数差算出120は、形式分解部110から入力オペランドAおよび入力オペランドBを取得し、桁合わせ部130および比較部150に出力する(ステップS20)。
桁合わせ部130は、指数差算出120から入力オペランドAおよび入力オペランドBを取得し、絶対値加算部140およびオペランド保持部101に出力する(ステップS30)。
オペランド保持部101は、桁合わせ部130から入力オペランドAおよび入力オペランドBを取得し、オペランド選択部152に出力する迄(本ステップS40からステップS70間)の当該入力オペランドAおよび入力オペランドBを保持する(ステップ40)。
絶対値加算部140は、桁合わせ部130から固定小数点形式とみなされた入力オペランドAおよび入力オペランドBを取得し、固定小数点減算(A−B)し、減算結果の符号値を比較部150に出力する(ステップS50)。具体的には、絶対値加算部140は、64ビットの2進整数としてA−Bを演算し、減算結果(A−B)の符号値(最上位ビット)を比較部150に出力する。
比較部150は、指数差算出120から入力オペランドAおよび入力オペランドBを取得し、絶対値加算部140から減算結果(A−B)の符号値を取得する。次いで、比較部150は、入力オペランドAおよび入力オペランドBの指数部(E)および符号部(S)の値に応じた比較情報を生成する(ステップS60)。比較部150は、生成した比較情報をオペランド選択部152に出力する。
具体的には、比較部150は、入力オペランドAおよび入力オペランドBが通常数かつ同符号であるときは、絶対値加算部140から取得した減算結果(A−B)の符号値を比較情報として生成する。即ち、比較部150は、減算結果(A−B)の符号値が0(正の値、即ちA≧B)であれば、値が0である比較情報を生成し、減算結果(A−B)の符号値が1(負の値、即ちA<B)であれば、値が0である比較情報を生成する。
また、比較部150は、入力オペランドAおよび入力オペランドBが通常数かつ異符号であるときは、入力オペランドAの符号値を比較情報として生成する(ステップS60)。即ち、比較部150は、入力オペランドAの値が正であって入力オペランドBの値が負であるときは(入力オペランドAの符号値は0であって入力オペランドBの符号値は1であるときは)、入力オペランドA、Bのうち値が大きい入力オペランドAの符号値0を値とする比較情報を生成し、入力オペランドAの値が負であって入力オペランドBの値が正であるときは(入力オペランドAの符号値は1であって入力オペランドBの符号値は0であるときは)、入力オペランドA、Bのうち値が小さい入力オペランドAの符号値1を値とする比較情報を生成する。つまり、比較部150は、A≧Bであるときに値が0、A<Bであるときに値が1である比較情報を生成する。
また、比較部150は、入力オペランドAおよび入力オペランドBが特殊数のとき、IEEE754規格で定められる比較結果の符号値を比較情報として生成する(ステップS60)。例えば、比較部150は、「IEEE754規格で定められる比較結果」として
減算する組み合わせで無効演算例外を発する場合は”0”を、qNANと通常数との組み合わせの場合は”0”を、∞同士、0同士で一致と見なす場合は”0”を、∞と0の組み合わせでは正しい符号を持った∞の符号を、比較情報として生成する。
オペランド選択部152は、比較部150から比較情報を取得し、比較情報に基づいて、オペランド保持部101によって保持された入力オペランドA、Bのうち大きい方のオペランドを選択する(ステップS70)。具体的には、オペランド選択部152は、比較情報が0であるときは入力オペランドAを選択し、比較情報が1であるときは入力オペランドBを選択する。オペランド選択部152は、選択した入力オペランドAまたは入力オペランドBを形式整列部190に出力する。
形式整列部190は、オペランド選択部152からの出力結果(入力オペランドAまたは入力オペランドB)を浮動小数点検索演算装置100の演算結果として出力する(ステップS80)。そして、本フローチャートは終了する。
なお、ステップS70において、オペランド選択部152は、比較情報に基づいて、オペランド保持部101によって保持された入力オペランドA、Bのうち大きい方ではなく小さい方のオペランドを選択してもよい。
なお、浮動小数点加減算時には、浮動小数点検索演算装置100は、図1において説明した様に、形式分解部110、指数差算出部120、桁合わせ部130、絶対値加算部140、正規化・丸め処理、形式整列部190を経て演算結果が算出されるが、フローチャートによる説明は省略する。また、固定小数点加減算時には、浮動小数点検索演算装置100は、図1において説明した様に、形式分解部110、指数差算出部120、桁合わせ部130、絶対値加算部140、形式整列部190を経て演算結果が算出されるが、フローチャートによる説明は省略する。
以上、本実施形態によれば、浮動小数点検索演算時において、入力オペランドA、Bを保持しておく時間を短縮することができる。従って、入力オペランドA、Bを保持しておくオペランド保持部のHW量を削減することができる。つまり、本実施形態によれば、浮動小数点減算による比較結果をオペランド選択部において利用する比較情報とするのではなく、オペランドを固定小数点と見なし固定小数点減算による比較結果を比較情報としたため、絶対値加算部140は、桁合わせ部130から入力オペランドA、Bを取得する(絶対値加算部140は減算処理時に入力オペランドA、Bを保持する)。従って、浮動小数点検索演算時には、オペランド選択部152にて参照される入力オペランドA、Bを、絶対値加算部140が入力オペランドA、Bを取得するタイミングからオペランド保持部101において保持すればよく、入力オペランドA、Bを保持しておく時間が短縮する。
なお、本発明の一実施形態による浮動小数点検索演算装置100の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の一実施形態による浮動小数点検索演算装置100の各処理に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
100 浮動小数点検索演算装置
101 オペランド保持部
110 形式分解部
120 指数差算出部
130 桁合わせ部
140 絶対値加算部
150 比較部
152 オペランド選択部
190 形式整列部

Claims (4)

  1. 2つのオペランドを保持する機能を有するオペランド保持部と、
    固定小数点形式の2つのオペランドを固定小数点加減算する機能と、
    浮動小数点形式の2つのオペランドを固定小数点形式とみなして減算する機能と、
    浮動小数点形式の2つのオペランドの桁合わせ後の仮数部を絶対値減算する機能と
    を有する絶対値加算部と、
    浮動小数点形式の2つのオペランドの指数部および符号部の値に応じた比較情報を生成する機能を有する比較部と、
    前記比較部によって生成された比較情報に基づいて、前記オペランド保持部によって保持された2つのオペランドのうち一方を選択する機能を有するオペランド選択部と
    を備え、
    前記オペランド保持部は、
    前記絶対値加算部によって前記減算がなされるタイミングで、2つのオペランドを保持することを特徴とする浮動小数点検索演算装置。
  2. 前記比較部は、
    前記指数部の値がともに所定の範囲内であって、かつ、前記符号部の値が同一であるときは、絶対値加算部による減算結果の符号値を比較情報として生成し、
    2つのオペランドの指数部の値が所定の範囲内であって、かつ、2つのオペランドの符号部の値が異なるときは、予め定めた規則に従って比較情報を生成することを特徴とする請求項1に記載の浮動小数点検索演算装置。
  3. 浮動小数点形式の2つのオペランドを固定小数点形式として減算する減算手段と、
    前記減算手段によって前記減算がなされるタイミングで、2つのオペランドを保持する保持手段と、
    浮動小数点形式の2つのオペランドの指数部および符号部の値に応じた比較情報を生成する比較情報生成手段と、
    前記比較情報生成手段によって生成された前記比較情報に基づいて、前記保持手段によって保持された2つのオペランドのうち一方を選択するオペランド選択手段と
    を有し、
    前記比較情報生成手段は、
    前記指数部の値がともに所定の範囲内であって、かつ、前記符号部の値が同一であるときは、前記減算手段による減算結果の符号値を比較情報として生成することを特徴とする浮動小数点検索演算方法。
  4. 浮動小数点検索演算を行う演算装置のコンピュータに、
    浮動小数点形式の2つのオペランドを固定小数点形式として減算する減算ステップと
    前記減算ステップによって前記減算がなされるタイミングで、2つのオペランドをオペランド保持部に保持する保持ステップと、
    浮動小数点形式の2つのオペランドの指数部および符号部の値に応じた比較情報を生成する比較情報生成ステップと、
    前記比較情報生成ステップによって生成された前記比較情報に基づいて、前記オペランド保持部によって保持された2つのオペランドのうち一方を選択するオペランド選択ステップと
    を実行させるプログラムであって、
    前記比較情報生成ステップは、
    前記指数部の値がともに所定の範囲内であって、かつ、前記符号部の値が同一であるときは、前記減算ステップによる減算結果の符号値を比較情報として生成することを特徴とするプログラム。
JP2009245484A 2009-10-26 2009-10-26 演算装置、演算方法及びプログラム Expired - Fee Related JP5610508B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009245484A JP5610508B2 (ja) 2009-10-26 2009-10-26 演算装置、演算方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009245484A JP5610508B2 (ja) 2009-10-26 2009-10-26 演算装置、演算方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011090623A true JP2011090623A (ja) 2011-05-06
JP5610508B2 JP5610508B2 (ja) 2014-10-22

Family

ID=44108796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009245484A Expired - Fee Related JP5610508B2 (ja) 2009-10-26 2009-10-26 演算装置、演算方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5610508B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62128331A (ja) * 1985-11-29 1987-06-10 Nec Corp 情報処理装置
JPS63158626A (ja) * 1986-12-23 1988-07-01 Nec Corp 演算処理装置
JPS6442732A (en) * 1987-08-10 1989-02-15 Hitachi Ltd Information processor
JPH05107281A (ja) * 1991-10-16 1993-04-27 Matsushita Electric Ind Co Ltd 周波数測定回路
JPH0635671A (ja) * 1992-07-14 1994-02-10 Matsushita Electric Ind Co Ltd 浮動小数点加減算装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62128331A (ja) * 1985-11-29 1987-06-10 Nec Corp 情報処理装置
JPS63158626A (ja) * 1986-12-23 1988-07-01 Nec Corp 演算処理装置
JPS6442732A (en) * 1987-08-10 1989-02-15 Hitachi Ltd Information processor
JPH05107281A (ja) * 1991-10-16 1993-04-27 Matsushita Electric Ind Co Ltd 周波数測定回路
JPH0635671A (ja) * 1992-07-14 1994-02-10 Matsushita Electric Ind Co Ltd 浮動小数点加減算装置

Also Published As

Publication number Publication date
JP5610508B2 (ja) 2014-10-22

Similar Documents

Publication Publication Date Title
JP6853777B2 (ja) プログラム可能な有効度データを使用するデータ処理装置および方法
US7546328B2 (en) Decimal floating-point adder
JP5475746B2 (ja) 命令に応じた丸め処理の実行
US20150347089A1 (en) Microarchitecture for floating point fused multiply-add with exponent scaling
US9608662B2 (en) Apparatus and method for converting floating-point operand into a value having a different format
JP6360450B2 (ja) 浮動小数点オペランドを乗算するためのデータ処理装置及び方法
CN107769791B (zh) 用于定点到浮点的转换的装置和方法及2的负幂检测器
US9317251B2 (en) Efficient correction of normalizer shift amount errors in fused multiply add operations
US9722629B2 (en) Method and apparatus for converting from floating point to integer representation
Fasi et al. Numerical behavior of NVIDIA tensor cores
JP6882281B2 (ja) ベクトルの処理のためのレーン位置情報
KR20080055985A (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
JPWO2007096982A1 (ja) 演算処理装置および演算処理方法
CN108694037B (zh) 用于在执行浮点减法时估计移位量的装置和方法
US10489115B2 (en) Shift amount correction for multiply-add
Gueron et al. Accelerating big integer arithmetic using intel ifma extensions
CN106997284B (zh) 实现浮点运算操作的方法和装置
US10310809B2 (en) Apparatus and method for supporting a conversion instruction
JP7285966B2 (ja) 多入力浮動小数点加算器
JP6877812B2 (ja) 重複伝搬演算
US10846054B2 (en) Underflow/overflow detection prior to normalization
JP7044528B2 (ja) リーディングゼロ予想
JP5610508B2 (ja) 演算装置、演算方法及びプログラム
CN106528050B (zh) 尾随或前导数字预测器
CN115268832A (zh) 浮点数取整的方法、装置以及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131025

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140424

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140519

TRDD Decision of grant or rejection written
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140805

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140828

R150 Certificate of patent or registration of utility model

Ref document number: 5610508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees