JP2001331305A - 浮動小数点演算命令エミュレーション方法 - Google Patents

浮動小数点演算命令エミュレーション方法

Info

Publication number
JP2001331305A
JP2001331305A JP2000154369A JP2000154369A JP2001331305A JP 2001331305 A JP2001331305 A JP 2001331305A JP 2000154369 A JP2000154369 A JP 2000154369A JP 2000154369 A JP2000154369 A JP 2000154369A JP 2001331305 A JP2001331305 A JP 2001331305A
Authority
JP
Japan
Prior art keywords
format
ieee
multiplication
exponent
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.)
Pending
Application number
JP2000154369A
Other languages
English (en)
Inventor
Atsushi Kondo
淳 近藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000154369A priority Critical patent/JP2001331305A/ja
Publication of JP2001331305A publication Critical patent/JP2001331305A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】M形式の浮動小数点演算を行う計算機におい
て、IEEE形式の浮動小数点の演算を効率よく行う。 【解決手段】乗算又は除算演算の際、次の命令が乗算又
は除算かどうか命令を先読みし、該当する命令の場合、
エミュレーションで丸め処理のみ行う。そして、演算結
果をM形式のまま次の乗算又は除算演算に渡す。渡され
た次の演算命令では、M形式データの為、そのまま演算
処理を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は浮動小数点の演算処
理に関する。
【0002】
【従来の技術】科学技術計算などで用いられる浮動小数
点演算の数値表現方式は指数部e,仮数部mによって構成
されており、基数をbとする浮動小数点数fに対しては以
下のような構成で数値を表している。
【0003】f=m*b**eこの表現法式により限られたビッ
ト数で整数型より大きな(広範囲な)数値表現を可能に
している。
【0004】以上に示した浮動小数点表現において、指
数部e及び仮数部mのそれぞれのビット表現方式は様々な
表現形式が存在しているが、現在はIEEEにおいて定
められた標準形式が多くの計算機に採用されている。
【0005】IEEEで標準化された浮動小数点形式で
は、以下に示すビット幅の符号部s指数部e仮数部mか
ら構成されている。
【0006】 幅 符号部 指数部 仮数部 単精度(float) 32 1 8 24 (*) 倍精度(double) 64 1 11 53 (*) (*)但し、ビット幅には1ビットの隠れビットを含む (ANSI/IEEE標準754−1985(IEEE,New York)の (IEE
E Standard for BinaryFloating−Point Arithmetic)
参照) また以上に示したIEEE標準形式に対し、M形式と呼
ばれる以下に示すビット幅の浮動小数点表現形式がある 幅 符号部 指数部 仮数部 単精度(float) 32 1 7 24 倍精度(double) 64 1 7 56 拡張精度(long double) 128 1 7 112 この形式は以前より主に汎用計算機上において多く用い
られている方式である。
【0007】しかしながら、現在においてもM形式の浮
動小数点形式を採用しIEEE形式をサポートしていな
い計算機上において、IEEE形式の浮動小数点データ
を演算させる場合、命令エミュレーションによってIE
EE浮動小数点演算を実装する必要がある。
【0008】この実装手段として、乗算除算等演算子に
よっては異なる表現形式間の形式変換を行いM形式で演
算させる方法が採用されている。
【0009】
【発明が解決しようとする課題】しかし、単純にこの方
法を採用した場合、演算の度に形式変換を行うことにな
る。この為、以下のような形式変換が連続するような浮
動小数点数の複合式ににおいても各演算前にIEEE形
式からM形式への変換を行い、また、各演算後にM形式
からIEEE形式への変換を行うことになり、プログラ
ムの実行性能の低下の原因となっていた。
【0010】f = A * B / C 本発明の目的は、前述のような複合式の場合、最初の演
算後のM形式からIEEE形式への変換及び次の演算前
のIEEE形式からM形式への変換を省略させることに
よって、プログラムサイズを減少させ実行速度を向上さ
せることである。
【0011】
【課題を解決するための手段】上記の目的を達成する為
に本発明は、最初に演算するデータを判定し、演算デー
タがIEEE形式であれば指数を取出し後にM形式へ変
換し、M形式であれば変換せず演算部にデータを渡す入
力オペランド変換部と、前述のM形式に変換された浮動
小数点データを乗算又は除算演算する浮動小数点演算部
と、この演算後、乗算又は除算が連続するか判定し、連
続する場合はM形式のまま丸め処理のみ実施し、連続し
ない場合はIEEE形式に変換し演算結果を返す演算結
果生成部を備える。
【0012】
【発明の実施の形態】最初にこの実施例で用いる図の説
明を行う。
【0013】図1は本発明の実施例の演算エミュレーシ
ョン処理の構成図である。乗算又は除算演算エミュレー
ション処理1は、入力オペランドA及びBを順次演算処
理を行うオペランド変換部11、浮動小数点の演算を実
際に行う浮動小数点演算実行部12、演算結果生成部1
3から構成される。
【0014】実際は乗算演算エミュレーション処理及び
除算演算エミュレーション処理と分かれているが、処理
自体は演算実行部で乗算命令あるいは除算命令を実行す
る点及び指数部を計算する上で加算あるいは減算する点
以外同一の為、一つの図で表している。
【0015】図2は、浮動小数点演算の演算時に呼出さ
れる乗算及び除算演算ルーチンの処理概要を示してい
る。この演算ルーチンは、命令コードである乗算及び除
算命令の実行時にそれぞれ呼出される浮動小数点演算ル
ーチンである。この図2の処理21から29までが入力オペ
ランド変換部11、処理210が浮動小数点演算実行部1
2、そして処理211以降処理218までが演算結果生成部1
3の処理である。
【0016】図3は実際に演算時にIEEE形式からM
形式への変換が簡略される、複合式A * B / C での状
態変化を示す。この図において記号A、B及びCは浮動小
数点データを表し、演算時に以下のように変換される。
【0017】A,B,C :演算の対象となるIEEE形
式浮動小数点データ A',B',C' :指数部を2**(−1)に仮定した後、M形式
に変換した浮動小数点データ A'B' :A' * B'乗算結果(M形式) A"B" :A'B' の丸め処理結果(M形式) A"B"C" :乗算結果A"B"をC'により除算したM形式の
演算結果 ABC :指数部を戻したIEEE形式の除算結果 図4から図8はM形式の浮動小数点数に、IEEE75
4の近似の丸めをエミュレーションにより実装する為の
処理概要を示している。まず図4で示す通り演算結果か
ら仮数部のみ取出し、M形式データ仮数部の最上位桁
(16進数1桁すなわち4ビット)の値によって図5から図
8の4つのパターンに処理を場合分けしている。そし
て、図6から図8の各ケースにおいて仮数部最下位1ビ
ットへ桁上げを行うか否かの判定及び桁上げ処理は図9
から図13で説明している。そして図14は本発明を適
用する計算機システムの構成図を表す。
【0018】次に本実施例の前提条件について説明す
る。
【0019】先ず最初の前提条件として、本実施例のハ
ードウェア環境では、浮動小数点演算はM形式の浮動小
数点演算命令しかサポートしておらず、IEEE形式の
浮動小数点数値を乗算又は除算演算する際はデータ形式
をM形式に変換して演算を行っているということであ
る。
【0020】そしてこの形式変換の際、IEEE形式と
M形式の表現可能範囲の違いにより、M形式での表現可
能な範囲を超えてしまうことがある。これを考慮し、以
下のようにIEEE形式データの指数部を取出し指数部
分は2**(−1)と仮定し、絶対値が0.5以上1.0未満の数値
として標準化を行い、その後M形式への変換を行ってい
る。
【0021】IEEE形式データを以下のように、符号
部をS、指数部をE、仮数部をM(隠れビットを省く)で
表した場合、 S * (2**E) * 1.M この標準化によって次の二つのデータに分割される。
【0022】・指数部 :E … ・標準化後のIEEE形式データ:S*(2**(−1))*1.M … 但し、 0.5≦(2**(−1))*1.M < 1.0 M形式への変換の際は、上記のデータを使用してい
る。
【0023】そして、仮数部から分割された指数部Eに
ついては、乗算の場合は第1オペランドと第2オペラン
ドの加算、除算では減算というように仮数部とは別に計
算して演算結果を求めている。
【0024】また、演算時にオペランドに指定された数
値を一時格納する領域(一般的なスタックマシンではオ
ペランドスタックに該当する)に連動して指数部データ
を格納する指数格納領域及び演算対象がIEEE形式か
M形式か判別する為の演算対象形式フラグを用意する。
【0025】指数格納領域は演算結果がM形式のままの
次の演算に渡される場合、分割されている指数部の値を
格納する為に使用する。
【0026】演算対象形式フラグは演算の対象となる数
値データがIEEE形式かM形式かを判別する為に使用
する。
【0027】このフラグは演算結果としてIEEE形式
の数値データが求められたときはIEEE形式データで
あることを示す為0を格納し、M形式の場合(すなわち
複合式の演算途中の場合)は1を格納する。
【0028】そして、次の前提条件として現在実行して
いる命令の次の命令コードを先読みすることが可能であ
るということである。この命令コードの先読みによっ
て、乗除算演算ルーチン内で次の演算命令が乗算又は除
算かを識別することが可能となる。
【0029】また丸め処理を実装する際、仮数部のビッ
ト幅がIEEE形式よりも実際に演算を行うM形式での
演算時の方が常に長い必要がある。この為、IEEE形
式で単精度の演算の場合、実際のM形式での演算時には
倍精度のM形式に変換して演算を行い、倍精度の演算の
場合は拡張精度のM形式の演算に変換を行い演算を行う
こととする。そしてこのエミュレーションでサポートす
るのはIEEE形式の単精度と倍精度の2つの基本浮動
小数点形式であり、拡張精度の拡張浮動小数点形式につ
いては対象外とする。
【0030】そして本実施例では、IEEE倍精度の演
算エミュレーションについて説明する。
【0031】次に実施例について説明する。
【0032】まず最初に、図14に示すように、本実施
例の計算機システム141は記録媒体142から本発明
が実現する機能を搭載したプログラムを記憶媒体読取装
置143によって読み取り格納した後、当該プログラム
を起動し以降で述べる演算処理を行う。また、記録媒体
としてはDATやCD−ROM等が考えられる。
【0033】以下に浮動小数点演算を行なう際の処理に
ついて説明する。
【0034】入力オペランド変換部11では、2つの入
力オペランドから指数部を取出し、絶対値が0.5以上1.0
未満のM形式データに変換し、その後指数部のオーバー
フローチェックを行い、後に続く浮動小数点演算実行部
12へ入力データを渡す。
【0035】このオペランド変換部の具体的な処理を図
2を用いて説明する。
【0036】この演算(乗算又は除算)の最初に入力す
る2つのオペランドがIEEE形式かどうか演算対象形
式フラグによって判別する。この判定の後、入力データ
がIEEE形式かM形式かで以下の二通りの処理の何れ
かを行なう。入力データがIEEE形式の場合入力オペ
ランドの数値の標準化を行なう。この標準化では入力オ
ペランド指数部を別領域に取出し、入力オペランド指数
部を(−1)に仮定している。もし入力が非正規化数の
場合は正規化数として表現可能になるまで仮数部を左シ
フトし、そのシフト分を取出す指数から減算する。
【0037】この標準化の後IEEE形式からM形式へ
の変換する。取出した指数部は非正規化数の場合シフト
数分も含め別領域に記録し、後述する結果生成手段で用
いる。
【0038】入力データがM形式の場合は、既に複合式
の演算途中である事を意味し、指数格納部に指数が格納
されている。この為、この指数を(IEEE形式の場合
と同様に)別領域に記録する。
【0039】入力オペランドの仮数部の取出し及びM形
式への変換の後、演算を行なう前に取出した指数部でオ
ーバーフロー及びアンダーフローのチェックを行なう。
【0040】このチェックでは乗算演算の場合は両オペ
ランドの指数の加算、除算演算の場合は減算により演算
結果の指数を求めることができる。このチェックの結
果、オーバーフローの場合(結果の指数の値>1023)は
符号によってPOSITIVE_INFINITY又はNEGATIVE_INFINITY
の無限大を表わす例外データを演算結果として返し、同
様にアンダーフローの場合(演算結果の指数の値<−10
74)は、符号によってIEEE形式の 0.0 又は −0.0
を返す。
【0041】このオーバーフローチェックまでがオペラ
ンド変換部の処理であり。この後、演算実行部に処理を
移す。
【0042】演算実行部12は、M形式の浮動小数点数
の演算(乗算又は除算)を行なう。既にオペランド変換
部によって演算する数値は絶対値0.5以上1.0未満の数値
に変換されている為、オーバーフロー又はアンダーフロ
ーによる浮動小数点割込みは発生せず結果を得ることが
できる。
【0043】演算結果生成部13は、次に演算が連続し
その演算が乗算又は除算の場合か否かで二通りの処理の
何れかを行なう。乗算又は除算が連続する場合、M形式
のまま次の演算を行なう為、丸め処理を行なう。上記以
外の場合はIEEE形式への変換を行なう。
【0044】具体的には、乗算(又は除算)演算が連続
する場合、演算結果から指数部のみ取出し指数格納領域
へ格納し、演算対象形式フラグに1を設定し、オペラン
ド変換部と同様に演算結果は絶対値が0.5以上1.0未満の
数値を求める。そしてIEEE形式への変換を省略させ
る為、IEEE形式の丸めモードに従い丸め処理をエミ
ュレーションで行う。この結果IEEE形式の変換を省
略して次に続く演算にM形式の数値として値を渡す事が
できる。
【0045】IEEE形式への変換の場合は、M形式か
らIEEE形式への変換を行い、その指数部と先に記録
しておいた指数部から演算結果の指数を求める。この値
がIEEE形式で許す指数範囲に収まっているかどうか
チェックし、収まっている場合この演算結果の指数を結
果の指数フィールドに設定したものを最終結果とする。
【0046】収まっていない場合は、オーバーフロー又
はアンダーフローを返す。
【0047】以下、上記の処理について図3 複合式A
*B/Cの状態遷移に沿って説明する。
【0048】まず最初に乗算演算の両オペランドの演算
対象データ入力から演算実行までを説明する。
【0049】この説明は実際の処理では図2 処理21
から処理210までの処理であり、図3で挙げている複合
式 A*B/Cでは状態31から35に該当する。
【0050】最初に、図2 処理21において乗算ルー
チン第1引数(乗算の第1オペランドであり状態31に
該当する)がIEEE形式かM形式かを判別する。この
判別は演算対象形式フラグによって行う。
【0051】このケースでは第1オペランドはIEEE
形式であると判明する。
【0052】演算対象データがIEEE形式データの
為、従来通り処理22で演算対象から指数部を取出し、
演算対象の標準化を行う。この後、処理23で標準化さ
れたIEEE形式データをM形式に変換する。この変換
結果が状態32に該当する。
【0053】次に第1引数と同様に第2引数の処理を行
う。
【0054】第2引数もIEEE形式の為、図2処理2
5から27を経てM形式に変換する。
【0055】この処理は図3状態33から34に該当す
る。
【0056】両オペランドのM形式への変換の後、処理
29において指数のみのオーバーフロー及びアンダーフ
ローのチェックを行う。
【0057】乗算の場合、両オペランドの指数の加算に
より乗算結果の指数を求めることができる。
【0058】このチェックの結果、オーバーフローの場
合(加算結果の指数の値>1023)は符号によってPOSITI
VE_INFINITY又はNEGATIVE_INFINITYの無限大を表わす例
外データを演算結果として返し、同様にアンダーフロー
の場合(加算結果の指数の値<−1074)は、符号によっ
てIEEE形式の 0.0 又は −0.0 を返す。
【0059】処理29のオーバーフロー、アンダーフロ
ーのチェックの後、処理210においてM形式での乗算演
算を行う。
【0060】この演算に使用されるデータは入力時に指
数部は取出されており、2**(−1)を指数とするデータを
M形式に変換したデータである為、絶対値が0.5以上1.0
未満の数値同士の乗算となる。
【0061】この為、処理210の乗算演算でオーバーフ
ロー又はアンダーフローによる浮動小数点割込みは発生
せず結果は必ず求めることができる。
【0062】次に乗算演算後の結果出力方法を説明す
る。
【0063】この説明は実際の処理では図2 処理211以
降の処理であり、図3の状態35から36までである。
【0064】図2 処理210においてM形式の乗算演算を
行った後、次の処理211で現在の演算に続く次の命令が
乗算か又は除算か判定する。
【0065】該当しない場合は従来通りIEEE形式へ
の変換を行う。
【0066】該当する場合、すなわち次の命令が乗算又
は除算の場合、IEEE形式への変換を省略させる為、
処理216から処理218を実行する。
【0067】処理216において、処理22及び26で取
出した指数及び処理211の演算結果から取得できる指数
の総和を求め乗算の演算結果がオーバーフロー又はアン
ダーフローしていないか指数部の値のチェックを行う。
【0068】もし指数がオーバーフローの場合は、無限
大を表わす例外データを返し、アンダーフローの場合は
0.0 又は −0.0を返す。
【0069】処理216においてIEEE形式データの範
囲内の場合、処理217において丸め処理を行う。
【0070】この丸め処理は、演算途中のM形式データ
に対し、本来ならIEEE形式に変換される際にこぼれ
てしまう極小の数値の処理をエミュレーションにより行
うものである。
【0071】具体的には、演算結果であるM形式浮動小
数点データ仮数部を2進数値として見立て、最も重みの
ある1の値(仮数部データ中で2進数値として1となっ
ている仮数部最上位ビット)から数えて53ビット分の
ビット列をIEEE形式仮数部として使用する為、54
ビット目以降のビット列に対しIEEE754で規定され
ている近似の丸め(Close to nearest)を行う。
【0072】この丸め処理の際、最初にIEEE形式の
53ビット分の仮数部と54ビット以降のこぼれるビッ
トを分ける為の小数点位置合わせをシフト処理によって
行う。シフト処理の方法は図4に示すとおり演算結果で
あるM形式浮動小数点データから仮数部を取出し、図4
のBに該当する仮数部最上位桁の値によって、図5から
図8に示すとおり最大3から最小0までの間でシフト処
理を行う。そして、丸め処理として、図9から図13で
示しているように、こぼれるビットから仮数部最下位ビ
ットへの桁上げの判定及び桁上げを行う。
【0073】処理217の丸め処理の後、処理218において
指数部格納領域に演算前に分割した指数を格納し、演算
対象形式フラグにM形式で値を返したことを示す1をセ
ットする。
【0074】ここまでが複合式A*B/Cにおける乗算演算
A*Bに該当する処理であり、図3の状態36に該当す
る。
【0075】次に乗算に続く除算演算のデータ入力から
演算実行までの図3 状態37から311までを説明する。
【0076】まず、状態37に該当する除算ルーチン第
1引数(除算の被除数に該当する)を、図2 処理21に
おいてIEEE形式かM形式かを判別する。この除算の
場合、既に乗算結果が格納されて非ゼロの為、M形式と
判別できる。この為、処理24に移り指数格納領域から
指数部を取出す。
【0077】第2引数は、状態38に該当するIEEE
形式データの為、処理25の後から処理26及び27の
処理を行い、標準化しM形式データ(図3 39に該当)
に変換される。
【0078】ここまでの処理で第1引数と第2引数は既
に指数部が分割された状態である為、処理29において
指数部によるオーバーフロー及びアンダーフローのチェ
ックを行う。
【0079】このケースでは除算の為、第1オペランド
から第2オペランドの指数を減算することによって結果
の指数を求めることができる。
【0080】このチェックの結果、乗算と同様にオーバ
ーフローの場合は無限大を表わす例外データを演算結果
として返し、アンダーフローの場合は、0.0 又は −0.0
を返す。
【0081】処理29のオーバーフローアンダーフロー
のチェックの後、処理210においてM形式での除算を行
う。
【0082】除算演算によって除算演算結果(図3 状
態310に該当)が求めれられた後、処理211において次に
乗算又は除算演算が続くか判定する。このケースでは次
に続かない為、処理212において演算結果(状態310)の
IEEE形式への変換を行い、処理213において、取出
された指数及び処理211の演算結果から取得できる指数
より除算の演算結果がオーバーフロー又はアンダーフロ
ーしていないか指数部の値のチェックを行う。
【0083】このチェックの後オーバーフロー及びアン
ダーフローでない場合は、処理214において取出されて
いたIEEE形式の指数の値とIEEE形式に変換され
た仮数部より除算結果を作成する。
【0084】この処理214によってIEEE形式の複合
式ABC(図3 状態311)が求まり、後処理として処理215
を行う。
【0085】処理215は次に乗算又は除算演算が連続し
ないことを示す為、演算対象形式フラグに0を設定す
る。
【0086】このようにして、次に乗算又は除算演算が
続く場合は演算途中の値をM形式のまま保持し、以降に
乗算除算演算が続かなくなった時点で、式の演算結果と
してIEEE形式に変換することによって途中の形式変
換を省略してより高速にIEEE形式の演算結果を得る
ことができる。
【0087】
【発明の効果】以上述べたように、本発明によればIE
EE形式浮動小数点からM形式浮動小数点への形式の変
換を省略でき、複合式における浮動小数点演算の処理速
度を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施例の構成図である。
【図2】実施例として取り上げたIEEE浮動小数点形
式の乗算又は除算演算ルーチンのアルゴリズムを表わし
た図である。
【図3】浮動小数点式A*B/Cにおける数値データの
状態遷移を表わした図である。
【図4】丸め処理を行なう為に、M形式データの仮数部
取出し処理を表わした図である。
【図5】仮数部最上位桁がBが 0x8 <= B <= 0xFの
場合の丸め処理を表わした図である。
【図6】仮数部最上位桁がBが 0x4 <= B <= 0x7の
場合の丸め処理を表わした図である。
【図7】仮数部最上位桁がBが 0x2 <= B <= 0x3の
場合の丸め処理を表わした図である。
【図8】仮数部最上位桁がBが B = 0x1 の場合の丸
め処理を表わした図である。
【図9】丸め桁上げ処理の際、チェックするビットの位
置を表わした図である。
【図10】A=0時の丸め桁上げ処理を表わした図であ
る。
【図11】A=1かつB≠0の時の丸め桁上げ処理を表
わした図である。
【図12】A=1かつB=0かつX=1の時の丸め桁上
げ処理を表わした図である。
【図13】A=1かつB=0かつX=0の時の丸め桁上
げ処理を表わした図である。
【図14】計算機システムの構成を表わした図である。
【符号の説明】
A,B…入力オペランド、1…乗算又は除算エミュレー
ション処理、11…入力オペランド変換部、12…浮動
小数点演算実行部、13…演算結果生成部、21〜21
8…演算エミュレーションの各ステップ、31〜311
…入力オペランドに指定された浮動小数点数値の各状
態、141…計算機システム、142…記録媒体、14
3…記録媒体読取装置。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 M形式の浮動小数点形式を採用している
    計算機上における、浮動小数点演算の乗除算の複合式に
    おいて、 演算するデータを動的に判定し、演算データがIEEE
    形式であれば指数を取出し後、M形式に変換し、M形式
    に変換された浮動小数点データを乗算又は除算演算し、
    この演算後、乗算又は除算が連続するか動的に判定し、
    連続する場合はM形式のまま丸め処理のみ実施し、連続
    しない場合はIEEE形式に変換し演算結果を返す浮動
    小数点演算エミュレーション方法。
JP2000154369A 2000-05-22 2000-05-22 浮動小数点演算命令エミュレーション方法 Pending JP2001331305A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000154369A JP2001331305A (ja) 2000-05-22 2000-05-22 浮動小数点演算命令エミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000154369A JP2001331305A (ja) 2000-05-22 2000-05-22 浮動小数点演算命令エミュレーション方法

Publications (1)

Publication Number Publication Date
JP2001331305A true JP2001331305A (ja) 2001-11-30

Family

ID=18659473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000154369A Pending JP2001331305A (ja) 2000-05-22 2000-05-22 浮動小数点演算命令エミュレーション方法

Country Status (1)

Country Link
JP (1) JP2001331305A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011508324A (ja) * 2007-12-28 2011-03-10 中国科学院▲計▼算技▲術▼研究所 Riscプロセッサ装置及び浮動小数点のスタック操作をシミュレートする方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011508324A (ja) * 2007-12-28 2011-03-10 中国科学院▲計▼算技▲術▼研究所 Riscプロセッサ装置及び浮動小数点のスタック操作をシミュレートする方法

Similar Documents

Publication Publication Date Title
JP6001276B2 (ja) 浮動小数点加算を実行するための装置および方法
JP4953644B2 (ja) 正規化および丸め処理前にフィードバックを行う浮動小数点ユニットのためのシステムおよび方法
US5995991A (en) Floating point architecture with tagged operands
US7949696B2 (en) Floating-point number arithmetic circuit for handling immediate values
KR20190090817A (ko) 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법
US20090182795A1 (en) Method and system for performing calculations using fixed point microprocessor hardware
US8463834B2 (en) Floating point multiplier with first and second partial product shifting circuitry for result alignment
Schwarz et al. FPU implementations with denormalized numbers
JP6415236B2 (ja) 浮動小数点加算ユニットを含む装置及びシステム、並びに浮動小数点加算方法
JP3313560B2 (ja) 浮動小数点演算処理装置
CN108139912B (zh) 在浮点运算期间计算和保留误差边界的装置和方法
GB2530990A (en) Decimal and binary floating point arithmetic calculations
US20080263336A1 (en) Processor Having Efficient Function Estimate Instructions
US20090164544A1 (en) Dynamic range enhancement for arithmetic calculations in real-time control systems using fixed point hardware
US6912559B1 (en) System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
US6233595B1 (en) Fast multiplication of floating point values and integer powers of two
US6598065B1 (en) Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal
US7054898B1 (en) Elimination of end-around-carry critical path in floating point add/subtract execution unit
US20060136536A1 (en) Data processing apparatus and method for converting a fixed point number to a floating point number
JP2001331305A (ja) 浮動小数点演算命令エミュレーション方法
US8005884B2 (en) Relaxed remainder constraints with comparison rounding
KR20210124347A (ko) 앵커 데이터 요소 변환
JP2003216419A (ja) 計算装置及び計算方法
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JP4163967B2 (ja) 浮動小数点演算装置