JPH0792739B2 - 浮動小数点データ正規化方式 - Google Patents
浮動小数点データ正規化方式Info
- Publication number
- JPH0792739B2 JPH0792739B2 JP1126688A JP12668889A JPH0792739B2 JP H0792739 B2 JPH0792739 B2 JP H0792739B2 JP 1126688 A JP1126688 A JP 1126688A JP 12668889 A JP12668889 A JP 12668889A JP H0792739 B2 JPH0792739 B2 JP H0792739B2
- Authority
- JP
- Japan
- Prior art keywords
- normalization
- register
- shift amount
- shifter
- microprogram
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/386—Special constructional features
- G06F2207/3884—Pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Nonlinear Science (AREA)
- Advance Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置,特にマイクロプログラムで制
御を行なうデータ処理装置における浮動小数点データ正
規化方式に関する。
御を行なうデータ処理装置における浮動小数点データ正
規化方式に関する。
浮動小数点乗算命令を実行する場合,入力オペランドが
非正規化データの場合を考慮すると,扱う浮動小数点デ
ータの仮数の精度に保護桁1桁を加えたシフト量を持
ち,乗算実行後に正規化を行なう正規化シフタが必要で
ある。
非正規化データの場合を考慮すると,扱う浮動小数点デ
ータの仮数の精度に保護桁1桁を加えたシフト量を持
ち,乗算実行後に正規化を行なう正規化シフタが必要で
ある。
しかし,演算結果を正規化しないで出力する命令がほと
んどないデータ処理装置においては,非正規化データの
出現頻度は非常に低い。
んどないデータ処理装置においては,非正規化データの
出現頻度は非常に低い。
浮動小数点データ形式を第4図に示す。
第4図(a)の第1のデータ形式において,仮数部は小
数点形式で負数の表現は2の捕数で表現される。基数は
16である。
数点形式で負数の表現は2の捕数で表現される。基数は
16である。
なお,図においてSMは仮数部の符号で,0のとき正,1のと
き負を示し,SEは指数部の符号で,0のとき正,1のとき負
を示す。またEは指数で,X=64・SE+EMは仮数部の小数
部である。
き負を示し,SEは指数部の符号で,0のとき正,1のとき負
を示す。またEは指数で,X=64・SE+EMは仮数部の小数
部である。
第4図(b)の第2のデータ形式において,仮数部は部
号と16進数による真値表現の小数部からなる。仮数部に
16の累乗がかけられた値により数の表現がなされ,指数
部はこの累乗を示す。
号と16進数による真値表現の小数部からなる。仮数部に
16の累乗がかけられた値により数の表現がなされ,指数
部はこの累乗を示す。
なお,図においてSは仮数部の符号で,0のとき正,1のと
き負,Eは指数部,Fは仮数部の小数部である。
き負,Eは指数部,Fは仮数部の小数部である。
第4図に示すデータ形式で入力オペランドが正規化され
ているならば,乗算実行後に正規化を行なう正規化シフ
タに要求されるシフト量は右1桁,左1桁だけである。
ているならば,乗算実行後に正規化を行なう正規化シフ
タに要求されるシフト量は右1桁,左1桁だけである。
入力オペランドが正規化されている場合,右1桁シフト
が必要なのは第1のオペランド形式で表現された以下の
場合のみである。
が必要なのは第1のオペランド形式で表現された以下の
場合のみである。
正規化のため右1桁シフトして, となる。
また,入力オペランドが正規化されているならば,乗算
結果が最も小さくなるのは,第1のデータ形式,第2の
データ形式ともに, の場合と,第1のデータ形式で, の場合と, の場合などである。
結果が最も小さくなるのは,第1のデータ形式,第2の
データ形式ともに, の場合と,第1のデータ形式で, の場合と, の場合などである。
第1のデータ形式または第2のデータ形式で, 0.00010……0(2)×0.00010……0(2) を実行すると, 0.000000010……0(2)となり, 正規化のため左1桁シフトして, 0.00010……0(2)となる。
他の場合も同様で,入力データが正規化されていれば左
には1桁シフトで十分である。
には1桁シフトで十分である。
以上述べたように,浮動小数点乗算命令において,乗算
実行後に正規化を行うシフト量が大きな場合は稀である
ので,正規化量の大きなシフタをメインパスに置くのは
無駄である。
実行後に正規化を行うシフト量が大きな場合は稀である
ので,正規化量の大きなシフタをメインパスに置くのは
無駄である。
そこで,メインパスには第1の正規化シフタを置き,正
規化シフト量が大きい場合には,まず第2の正規化シフ
タでm桁単位のシフトを行ない,次に第1の正規化シフ
タで細かくシフトする。正規化シフト量が小さい場合に
は,第1の正規化シフタのみで正規化が可能なので命令
実行時間を短縮できる。
規化シフト量が大きい場合には,まず第2の正規化シフ
タでm桁単位のシフトを行ない,次に第1の正規化シフ
タで細かくシフトする。正規化シフト量が小さい場合に
は,第1の正規化シフタのみで正規化が可能なので命令
実行時間を短縮できる。
通常,マイクロプログラムのステップ数と命令実行時間
は一致している。正規化シフト量が小さい場合の命令実
行時間が正規化シフト量の大きい場合の命令実行時間よ
り高速であるなら,マイクロプログラムは何らかの手段
で正規化シフト量の大小を判別し,正規化シフト量が小
さい場合には少ないステップ数で命令を実行しないと,
命令実行時間は短縮できない。
は一致している。正規化シフト量が小さい場合の命令実
行時間が正規化シフト量の大きい場合の命令実行時間よ
り高速であるなら,マイクロプログラムは何らかの手段
で正規化シフト量の大小を判別し,正規化シフト量が小
さい場合には少ないステップ数で命令を実行しないと,
命令実行時間は短縮できない。
第5図のタイムチャートに示すように,マイクロプログ
ラム制御メモリのある第1のステージからステップAが
第2のステージをとおって正規シフト量の大小を判断す
る手段をもつ第3ステージに落ちてくる。このステップ
Aは第6図におけるステップ31に相当し,正規化シフト
量の大小の判断を指示するマイクロ命令語を含む。
ラム制御メモリのある第1のステージからステップAが
第2のステージをとおって正規シフト量の大小を判断す
る手段をもつ第3ステージに落ちてくる。このステップ
Aは第6図におけるステップ31に相当し,正規化シフト
量の大小の判断を指示するマイクロ命令語を含む。
第5図のタイムチャートに示すように,第1ステージに
おいて待ちステップω0,ω1を経てステップBで初めて
正規化シフト量の大小判断結果の参照が可能となる。待
ちステップω0,ω1およびステップBは,第6図におい
てそれぞれステップ32,ステップ33,ステップ34に相当す
る。正規化シフト量の大小の判断の結果,シフト量が大
きければステップ35,36で正規化シフトの動作を行い,
小さければステップ37で高速動作を行って命令を果す。
おいて待ちステップω0,ω1を経てステップBで初めて
正規化シフト量の大小判断結果の参照が可能となる。待
ちステップω0,ω1およびステップBは,第6図におい
てそれぞれステップ32,ステップ33,ステップ34に相当す
る。正規化シフト量の大小の判断の結果,シフト量が大
きければステップ35,36で正規化シフトの動作を行い,
小さければステップ37で高速動作を行って命令を果す。
マイクロプログラムで制御を行う場合,ステップAが実
行されてからステップBで正規化シフト量の大小判断結
果を参照し,適切なステップへ分岐できるまでには待ち
ステップがはいってしまい,結果として命令実行時間の
短縮が図れない。
行されてからステップBで正規化シフト量の大小判断結
果を参照し,適切なステップへ分岐できるまでには待ち
ステップがはいってしまい,結果として命令実行時間の
短縮が図れない。
このように上述した従来の技術では,待ちステップを削
除する手段がないので,命令実行時間が延長され,正規
化シフタの高速化が実現できないという課題があった。
除する手段がないので,命令実行時間が延長され,正規
化シフタの高速化が実現できないという課題があった。
本発明は従来のもののこのような課題を解決しようとす
るもので,正規化シフト量が一定値未満の正規化シフト
の実行時間を短縮できる浮動小数点データ正規化方式を
提供するものである。
るもので,正規化シフト量が一定値未満の正規化シフト
の実行時間を短縮できる浮動小数点データ正規化方式を
提供するものである。
本発明の浮動小数点正規化シフタ方式は,浮動小数点デ
ータの演算実行後のデータの正規化をマイクロプログラ
ムで制御するデータ処理装置において,正規化のための
データのシフトを行なうシフトと,正規化のためのシフ
ト量を判定する手段と,該正規化シフト量を判定する手
段が、一定値以上のシフト量であると判定した場合,マ
イクロプログラムによる前記シフタの制御を中断させ,
前記一定値未満のシフト量であると判定するまで正規化
のためのデータのシフトを行なうシフタをハードウェア
による制御で動作させた後,マイクロプログラムによる
制御を再開させる制御手段とを有し構成される。
ータの演算実行後のデータの正規化をマイクロプログラ
ムで制御するデータ処理装置において,正規化のための
データのシフトを行なうシフトと,正規化のためのシフ
ト量を判定する手段と,該正規化シフト量を判定する手
段が、一定値以上のシフト量であると判定した場合,マ
イクロプログラムによる前記シフタの制御を中断させ,
前記一定値未満のシフト量であると判定するまで正規化
のためのデータのシフトを行なうシフタをハードウェア
による制御で動作させた後,マイクロプログラムによる
制御を再開させる制御手段とを有し構成される。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。浮動小
数点乗算と,乗算実行後の正規化を実行する。
数点乗算と,乗算実行後の正規化を実行する。
CSAレジスタ1は制御メモリのアドレスを格納するレジ
スタである。CR2は制御メモリ,CSRレジスタ3はマイク
ロ命令の読出しレジスタである。レジスタ4は第3ステ
ージのマイクロ命令レジスタ,レジスタ5は第4ステー
ジのマイクロ命令レジスタである。
スタである。CR2は制御メモリ,CSRレジスタ3はマイク
ロ命令の読出しレジスタである。レジスタ4は第3ステ
ージのマイクロ命令レジスタ,レジスタ5は第4ステー
ジのマイクロ命令レジスタである。
被乗数レジスタ6は被乗数を格納するレジスタ,乗数レ
ジスタ7は乗数を格納するレジスタであり,レジスタ8
は乗数レジスタ7の値をアライナ11でアラインした値を
格納するレジスタである。被乗数レジスタ6の値とレジ
スタ8の値より倍数発生回路10で倍数発生させ,マルチ
プライア12に入力する。レジスタ13,レジスタ14は乗算
中間結果を格納する。アダー15でレジスタ13,レジスタ1
4の中間結果が加算され,セレクタ16を通ってレジスタ1
9に格納される。
ジスタ7は乗数を格納するレジスタであり,レジスタ8
は乗数レジスタ7の値をアライナ11でアラインした値を
格納するレジスタである。被乗数レジスタ6の値とレジ
スタ8の値より倍数発生回路10で倍数発生させ,マルチ
プライア12に入力する。レジスタ13,レジスタ14は乗算
中間結果を格納する。アダー15でレジスタ13,レジスタ1
4の中間結果が加算され,セレクタ16を通ってレジスタ1
9に格納される。
正規化シフト量の範囲検出回路9は,被乗数レジスタ6,
乗数レジスタ7に格納された入力データより正規化シフ
ト量の範囲を検出し,結果を正規化フラグ24に送る。
乗数レジスタ7に格納された入力データより正規化シフ
ト量の範囲を検出し,結果を正規化フラグ24に送る。
第1の正規化シフタ20のシフト量を検出する第1のシフ
ト量検出回路17の出力がレジスタ18に格納される。レジ
スタ18の値に従い第1の正規化シフタ20はシフトを行な
う。
ト量検出回路17の出力がレジスタ18に格納される。レジ
スタ18の値に従い第1の正規化シフタ20はシフトを行な
う。
第2の正規化シフタ22のシフト量を検出する第2のシフ
ト量検出回路21の出力に従い,第2の正規化シフタは4n
桁のシフトを行ない,SVレジスタ23に結果が書き込まれ
る。
ト量検出回路21の出力に従い,第2の正規化シフタは4n
桁のシフトを行ない,SVレジスタ23に結果が書き込まれ
る。
第1図に示すように,メインパスには,右1桁から左2
桁までの正規化シフトを行なう第1の正規化シフタ20が
置かれている。
桁までの正規化シフトを行なう第1の正規化シフタ20が
置かれている。
左3桁以上のシフトの場合は4n桁のシフトを行なう第2
の正規化シフタ22でシフトした後,第1の正規化シフタ
20で細かくシフトする。
の正規化シフタ22でシフトした後,第1の正規化シフタ
20で細かくシフトする。
第1の正規化シフタ20と第2の正規化シフタ22を入力オ
ペランドによって切替えて使用するために,入力オペラ
ンドから乗算実行後の正規化シフト量の範囲を検出する
正規化シフト量検出回路9を使用する。
ペランドによって切替えて使用するために,入力オペラ
ンドから乗算実行後の正規化シフト量の範囲を検出する
正規化シフト量検出回路9を使用する。
第1の正規化シフタ20だけで正規化シフトが可能な場合
は,両オペランドとも正規化されている場合か,片方の
オペランドが正規化されておりもう片方のオペランドが
小数点以下1桁の無効桁を含む場合か,どちらかのオペ
ランドが0の場合である。
は,両オペランドとも正規化されている場合か,片方の
オペランドが正規化されておりもう片方のオペランドが
小数点以下1桁の無効桁を含む場合か,どちらかのオペ
ランドが0の場合である。
乗算実行後の正規化シフト量の範囲検出回路9で第1の
正規化シフタだけで正規化シフトが可能かを判断し,可
能でない場合,正規化フラグ24を立てる。
正規化シフタだけで正規化シフトが可能かを判断し,可
能でない場合,正規化フラグ24を立てる。
従来の技術で説明したように,正規化フラグ24を制御メ
モリであるCS2に送って処理を変えていたのでは乗算実
行時間を短縮できない。
モリであるCS2に送って処理を変えていたのでは乗算実
行時間を短縮できない。
そこで,CS2は最終ステップで特殊コマンドSPWを発行す
る。正規化フラズ24が立っていない場合,すなわち,乗
算実行後の正規化シフト量が左2桁から右1桁である場
合は,第1の正規化シフタ20で,通常のマイクロプログ
ラム制御により正規化シフトが実行される。
る。正規化フラズ24が立っていない場合,すなわち,乗
算実行後の正規化シフト量が左2桁から右1桁である場
合は,第1の正規化シフタ20で,通常のマイクロプログ
ラム制御により正規化シフトが実行される。
正規化フラグ24が立っている場合,すなわち,乗算実行
後の正規化シフト量が左3桁以上の場合には,特殊コマ
ンドSPWが発行されると,マイクロプログラムは1クロ
ック間動作を中断し,パイプラインの第4ステージより
上位のステージをすべて待機させる。この1クロック間
にハードウェアは第2の正規化シフタ22で4n桁のシフト
を実行し,セレクタ16をとおしてレジスタ19に中間正規
化結果を格納する。マイクロプログラムは動作を再開
し,第1の正規化シフタ20で適切にシフトされ出力され
る。
後の正規化シフト量が左3桁以上の場合には,特殊コマ
ンドSPWが発行されると,マイクロプログラムは1クロ
ック間動作を中断し,パイプラインの第4ステージより
上位のステージをすべて待機させる。この1クロック間
にハードウェアは第2の正規化シフタ22で4n桁のシフト
を実行し,セレクタ16をとおしてレジスタ19に中間正規
化結果を格納する。マイクロプログラムは動作を再開
し,第1の正規化シフタ20で適切にシフトされ出力され
る。
本実施例で乗算命令を実行したタイムチャートを第2
図,第3図に示す。
図,第3図に示す。
FWVLDはマイクロプログラム制御による動作を有効にす
る信号である。FWVLDが1の場合のみマイクロプログラ
ム制御による動作が有効になり,FWVLDが0の場合はマイ
クロプログラムによる動作を停止し,FWVLDが1になるま
で待機する。
る信号である。FWVLDが1の場合のみマイクロプログラ
ム制御による動作が有効になり,FWVLDが0の場合はマイ
クロプログラムによる動作を停止し,FWVLDが1になるま
で待機する。
第2図においてCSAレジスタ1よりアドレスが供給され
ると制御メモリであるCS2よりCSRレジスタ3にマイクロ
命令が読み出される。第2図に示すタイミングで,乗数
レジスタ7に乗数yが,被乗数レジスタ6に被乗数xが
供給される。乗数レジスタ7の乗数yはアライナ11でア
ラインされ,レジスタ8に格納される。レジスタ8のy1
と被乗数レジスタ6の被乗数xより倍数発生回路10で倍
数発生させ,マルチプライア12をとおしてレジスタ13,
レジスタ14に中間積を得る。この中間積とレジスタ8の
y0と被乗数レジスタ6の被乗数xより,倍数発生回路10
で倍数発生させた値とを,マルチプライア12に入力し,
レジスタ13,レジスタ14に第2の中間積を得る。レジス
タ13の値とレジスタ14の値をアダー15で加算し,セレク
タ16を通ってレジスタ19に乗算結果が格納される。また
セレクタ16で選択された値より,第1のシフト量検出回
路17でシフト量が検出され,レジスタ18に格納される。
ると制御メモリであるCS2よりCSRレジスタ3にマイクロ
命令が読み出される。第2図に示すタイミングで,乗数
レジスタ7に乗数yが,被乗数レジスタ6に被乗数xが
供給される。乗数レジスタ7の乗数yはアライナ11でア
ラインされ,レジスタ8に格納される。レジスタ8のy1
と被乗数レジスタ6の被乗数xより倍数発生回路10で倍
数発生させ,マルチプライア12をとおしてレジスタ13,
レジスタ14に中間積を得る。この中間積とレジスタ8の
y0と被乗数レジスタ6の被乗数xより,倍数発生回路10
で倍数発生させた値とを,マルチプライア12に入力し,
レジスタ13,レジスタ14に第2の中間積を得る。レジス
タ13の値とレジスタ14の値をアダー15で加算し,セレク
タ16を通ってレジスタ19に乗算結果が格納される。また
セレクタ16で選択された値より,第1のシフト量検出回
路17でシフト量が検出され,レジスタ18に格納される。
一方,乗算実行後の正規化シフト量の範囲検出回路9は
被乗数レジスタ6,乗数レジスタ7の入力データより,第
1の正規化シフタ20だけで正規化シフトが可能と判断し
たので,正規化フラグ24を0にする。特殊コマンドSPW
が発行されたが正規化フラグ24が0なのでFWVLDは1の
ままである。
被乗数レジスタ6,乗数レジスタ7の入力データより,第
1の正規化シフタ20だけで正規化シフトが可能と判断し
たので,正規化フラグ24を0にする。特殊コマンドSPW
が発行されたが正規化フラグ24が0なのでFWVLDは1の
ままである。
レジスタ19の乗算結果は第1の正規化シフタ20で,レジ
スタ18の値が示すシフト量に従い,正規化シフトされSV
レジスタ23に書き込まれる。
スタ18の値が示すシフト量に従い,正規化シフトされSV
レジスタ23に書き込まれる。
第3図においては,被乗数レジスタ6の被乗数x,乗数レ
ジスタ7の乗数yより,乗算実行後の正規化シフト量の
範囲を検出する回路9は,第1の正規化シフタ20だけで
は正規化シフトが不可能と判断したので,正規化フラグ
24を1にする。特殊コマンドSPWが発行されかつ,正規
化フラグ24が1であるのでFWVLDを0にする。FWVLDが0
になったのでマイクロプログラム制御による動作を停止
する。CSA1のアドレス,CSR3のマイクロ命令および第4
ステージより上位のステージはすべてFWVLDが1になる
まで停止する。
ジスタ7の乗数yより,乗算実行後の正規化シフト量の
範囲を検出する回路9は,第1の正規化シフタ20だけで
は正規化シフトが不可能と判断したので,正規化フラグ
24を1にする。特殊コマンドSPWが発行されかつ,正規
化フラグ24が1であるのでFWVLDを0にする。FWVLDが0
になったのでマイクロプログラム制御による動作を停止
する。CSA1のアドレス,CSR3のマイクロ命令および第4
ステージより上位のステージはすべてFWVLDが1になる
まで停止する。
マイクロプログラム制御により動作が停止している1ク
ロック間に,バードウェアは,レジスタ19の値より,第
2のシフト量検出回路21でシフト量を検出するとともに
第2の正規化シフタ22にレジスタ19の値を入力し,4n桁
ごとのシフトを実行する。第2の正規化シフタ22の出力
はセレクタ16を通ってレジスタ19に格納される。またセ
レクタ16の値は,第1のシフト量検出回路17に入力さ
れ,シフト量がレジスタ18に格納される。
ロック間に,バードウェアは,レジスタ19の値より,第
2のシフト量検出回路21でシフト量を検出するとともに
第2の正規化シフタ22にレジスタ19の値を入力し,4n桁
ごとのシフトを実行する。第2の正規化シフタ22の出力
はセレクタ16を通ってレジスタ19に格納される。またセ
レクタ16の値は,第1のシフト量検出回路17に入力さ
れ,シフト量がレジスタ18に格納される。
マイクロプログラム制御による動作を再開し,レジスタ
19の値は第1の正規化シフタ20でレジスタ18の値が示す
シフト量に従い細かくシフトされSVレジスタに書き込ま
れる。
19の値は第1の正規化シフタ20でレジスタ18の値が示す
シフト量に従い細かくシフトされSVレジスタに書き込ま
れる。
以上説明したように,本発明は,正規化シフト量の値に
関らず,同一のマイクロプログラムで制御を行ない,正
規化シフト量が一定値以上の場合,マイクロプログラム
による正規化シフタの制御を中断し,バードウェアによ
る制御で正規化シフト量が一定値未満になるまで正規化
シフタを動作させた後,マイクロプログラムによる正規
化シフタの制御を再開させることにより,正規化シフト
量が一定値未満の正規化シフトの実行時間を短縮する効
果がある。
関らず,同一のマイクロプログラムで制御を行ない,正
規化シフト量が一定値以上の場合,マイクロプログラム
による正規化シフタの制御を中断し,バードウェアによ
る制御で正規化シフト量が一定値未満になるまで正規化
シフタを動作させた後,マイクロプログラムによる正規
化シフタの制御を再開させることにより,正規化シフト
量が一定値未満の正規化シフトの実行時間を短縮する効
果がある。
第1図は本発明の一実施例のブロック図,第2図,第3
図は本発明の一実施例のタイムチャート,第4図はデー
タ形式の説明図,第5図は従来技術の説明のためのタイ
ムチャート,第6図は従来技術の説明のためのフローで
ある。 記号の説明:1はCSAレジスタ,2はCS,3はCSRレジスタ,4は
レジスタ,5はレジスタ,6は被乗数レジスタ,7は乗数レジ
スタ,8はレジスタ,9は正規化シフト量範囲の検出回路,1
0は倍数発生回路,11はアライナ,12はマルチプライア,13
はレジスタ,14はレジスタ,15はアダー,16はセレクタ,17
は第1のシフト量検出回路,18はレジスタ,19はレジス
タ,20は第1の正規化シフタ,21は第2のシフト量検出回
路,22は第2の正規化シフタ,23はSVレジスタ,24は正規
化フラグをそれぞれあらわしている。
図は本発明の一実施例のタイムチャート,第4図はデー
タ形式の説明図,第5図は従来技術の説明のためのタイ
ムチャート,第6図は従来技術の説明のためのフローで
ある。 記号の説明:1はCSAレジスタ,2はCS,3はCSRレジスタ,4は
レジスタ,5はレジスタ,6は被乗数レジスタ,7は乗数レジ
スタ,8はレジスタ,9は正規化シフト量範囲の検出回路,1
0は倍数発生回路,11はアライナ,12はマルチプライア,13
はレジスタ,14はレジスタ,15はアダー,16はセレクタ,17
は第1のシフト量検出回路,18はレジスタ,19はレジス
タ,20は第1の正規化シフタ,21は第2のシフト量検出回
路,22は第2の正規化シフタ,23はSVレジスタ,24は正規
化フラグをそれぞれあらわしている。
Claims (1)
- 【請求項1】浮動小数点データの演算実行後のデータの
正規化をマイクロプログラムで制御するデータ処理装置
において, 正規化のためのデータのシフトを行なうシフトと,正規
化シフト量を判定する手段と,該正規化シフト量を判定
する手段が一定値以上のシフト量であると判定した場
合,マイクロプログラムによる前記シフタの制御を中断
させ,前記一定値未満のシフト量になるまで前記シフタ
をハードウェアによる制御で動作させた後,マイクロプ
ログラムによる制御を再開させる制御手段とを含むこと
を特徴とする浮動小数点データ正規化方式。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1126688A JPH0792739B2 (ja) | 1989-05-22 | 1989-05-22 | 浮動小数点データ正規化方式 |
| US07/526,141 US5126963A (en) | 1989-05-22 | 1990-05-22 | Hardware arrangement for floating-point multiplication and operating method therefor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1126688A JPH0792739B2 (ja) | 1989-05-22 | 1989-05-22 | 浮動小数点データ正規化方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02306337A JPH02306337A (ja) | 1990-12-19 |
| JPH0792739B2 true JPH0792739B2 (ja) | 1995-10-09 |
Family
ID=14941390
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1126688A Expired - Fee Related JPH0792739B2 (ja) | 1989-05-22 | 1989-05-22 | 浮動小数点データ正規化方式 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5126963A (ja) |
| JP (1) | JPH0792739B2 (ja) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3012357B2 (ja) * | 1991-05-29 | 2000-02-21 | 日本電気株式会社 | シフト量検出回路 |
| EP0645699A1 (en) * | 1993-09-29 | 1995-03-29 | International Business Machines Corporation | Fast multiply-add instruction sequence in a pipeline floating-point processor |
| GB2287333B (en) * | 1994-03-11 | 1998-02-11 | Advanced Risc Mach Ltd | Data processing multiplier |
| WO1996033457A1 (en) * | 1995-04-18 | 1996-10-24 | International Business Machines Corporation | Block-normalization in multiply-add floating point sequence without wait cycles |
| DE69626596T2 (de) * | 1995-10-20 | 2003-12-18 | Kabushiki Kaisha Toshiba, Kawasaki | Logische Schaltung, die nach dem Carry select Prinzip arbeitet |
| US5844830A (en) * | 1996-08-07 | 1998-12-01 | Sun Microsystems, Inc. | Executing computer instrucrions by circuits having different latencies |
| US6173303B1 (en) | 1998-11-06 | 2001-01-09 | National Semiconductor Corp. | Multiply circuit and method that detects portions of operands whose partial products are superfluous and modifies partial product manipulation accordingly |
| US6633896B1 (en) * | 2000-03-30 | 2003-10-14 | Intel Corporation | Method and system for multiplying large numbers |
| US6976050B2 (en) * | 2001-05-25 | 2005-12-13 | Sun Microsystems, Inc. | System and method for extracting the high part of a floating point operand |
| US7228324B2 (en) * | 2001-05-25 | 2007-06-05 | Sun Microsystems, Inc. | Circuit for selectively providing maximum or minimum of a pair of floating point operands |
| US7003540B2 (en) * | 2001-05-25 | 2006-02-21 | Sun Microsystems, Inc. | Floating point multiplier for delimited operands |
| US7395297B2 (en) * | 2001-05-25 | 2008-07-01 | Sun Microsystems, Inc. | Floating point system that represents status flag information within a floating point operand |
| US7069289B2 (en) * | 2001-05-25 | 2006-06-27 | Sun Microsystems, Inc. | Floating point unit for detecting and representing inexact computations without flags or traps |
| US7831652B2 (en) * | 2001-05-25 | 2010-11-09 | Oracle America, Inc. | Floating point multiplier with embedded status information |
| US6970898B2 (en) * | 2001-05-25 | 2005-11-29 | Sun Microsystems, Inc. | System and method for forcing floating point status information to selected values |
| US6993549B2 (en) * | 2001-05-25 | 2006-01-31 | Sun Microsystems, Inc. | System and method for performing gloating point operations involving extended exponents |
| US7430576B2 (en) | 2001-05-25 | 2008-09-30 | Sun Microsystems, Inc. | Floating point square root provider with embedded status information |
| US7366749B2 (en) * | 2001-05-25 | 2008-04-29 | Sun Microsystems, Inc. | Floating point adder with embedded status information |
| US6961744B2 (en) * | 2001-05-25 | 2005-11-01 | Sun Microsystems, Inc. | System and method for generating an integer part of a logarithm of a floating point operand |
| US7613762B2 (en) * | 2001-05-25 | 2009-11-03 | Sun Microsystems, Inc. | Floating point remainder with embedded status information |
| US7191202B2 (en) | 2001-05-25 | 2007-03-13 | Sun Microsystems, Inc. | Comparator unit for comparing values of floating point operands |
| US7069288B2 (en) * | 2001-05-25 | 2006-06-27 | Sun Microsystems, Inc. | Floating point system with improved support of interval arithmetic |
| US7016928B2 (en) * | 2001-05-25 | 2006-03-21 | Sun Microsystems, Inc. | Floating point status information testing circuit |
| US7133890B2 (en) | 2001-05-25 | 2006-11-07 | Sun Microsystems, Inc. | Total order comparator unit for comparing values of two floating point operands |
| US7363337B2 (en) * | 2001-05-25 | 2008-04-22 | Sun Microsystems, Inc. | Floating point divider with embedded status information |
| US7444367B2 (en) | 2001-05-25 | 2008-10-28 | Sun Microsystems, Inc. | Floating point status information accumulation circuit |
| US7219117B2 (en) * | 2002-12-17 | 2007-05-15 | Sun Microsystems, Inc. | Methods and systems for computing floating-point intervals |
| US7236999B2 (en) * | 2002-12-17 | 2007-06-26 | Sun Microsystems, Inc. | Methods and systems for computing the quotient of floating-point intervals |
| GB0314557D0 (en) * | 2003-06-21 | 2003-07-30 | Koninkl Philips Electronics Nv | Improved reduction calculations |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5441456A (en) * | 1977-09-08 | 1979-04-02 | Nippon Electric Co | Method of manufacturing solid electrolyte condenser |
| JPS54163640A (en) * | 1978-06-15 | 1979-12-26 | Fujitsu Ltd | Multiplying device control system |
| JPH0644225B2 (ja) * | 1986-03-27 | 1994-06-08 | 日本電気株式会社 | 浮動小数点丸め正規化回路 |
| US4922446A (en) * | 1988-04-01 | 1990-05-01 | Digital Equipment Corporation | Apparatus and method for floating point normalization prediction |
| US5010508A (en) * | 1989-02-14 | 1991-04-23 | Intel Corporation | Prenormalization for a floating-point adder |
| US4941120A (en) * | 1989-04-17 | 1990-07-10 | International Business Machines Corporation | Floating point normalization and rounding prediction circuit |
-
1989
- 1989-05-22 JP JP1126688A patent/JPH0792739B2/ja not_active Expired - Fee Related
-
1990
- 1990-05-22 US US07/526,141 patent/US5126963A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02306337A (ja) | 1990-12-19 |
| US5126963A (en) | 1992-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0792739B2 (ja) | 浮動小数点データ正規化方式 | |
| KR910000364B1 (ko) | 이뮬레이션 시스템 및 그 방법 | |
| US5212662A (en) | Floating point arithmetic two cycle data flow | |
| JPH0210427A (ja) | 精密浮動小数点例外用の方法及び装置 | |
| US4999802A (en) | Floating point arithmetic two cycle data flow | |
| US6216222B1 (en) | Handling exceptions in a pipelined data processing apparatus | |
| JPH07248897A (ja) | コンピュータ・システムにおける例外からの回復方法、及びそのための装置 | |
| US5136536A (en) | Floating-point ALU with parallel paths | |
| JPH06202850A (ja) | データ処理装置 | |
| JPH0545981B2 (ja) | ||
| US5784606A (en) | Method and system in a superscalar data processing system for the efficient handling of exceptions | |
| JPH04130537A (ja) | データ処理装置 | |
| US20240211209A1 (en) | Floating point fused multiply accumulate | |
| JP2510691B2 (ja) | 演算処理方法 | |
| US5805487A (en) | Method and system for fast determination of sticky and guard bits | |
| JP3310316B2 (ja) | 演算装置 | |
| JP2903529B2 (ja) | ベクトル演算方式 | |
| JP3110072B2 (ja) | 事前正規化回路 | |
| JPH04117520A (ja) | 浮動小数点演算装置 | |
| JP2856784B2 (ja) | 電子計算機 | |
| JPH02148140A (ja) | 情報処理装置における条件分岐制御方式 | |
| JPS623345A (ja) | 割込方式 | |
| JP2000010959A (ja) | 掛け算・累積演算実行用デ―タ処理装置並びに方法 | |
| JPH076038A (ja) | 情報処理装置 | |
| JPS6244657B2 (ja) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |