[go: up one dir, main page]

JPS61282928A - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JPS61282928A
JPS61282928A JP60124243A JP12424385A JPS61282928A JP S61282928 A JPS61282928 A JP S61282928A JP 60124243 A JP60124243 A JP 60124243A JP 12424385 A JP12424385 A JP 12424385A JP S61282928 A JPS61282928 A JP S61282928A
Authority
JP
Japan
Prior art keywords
exponent
zero
mantissa
intermediate result
circuit
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
JP60124243A
Other languages
English (en)
Inventor
Takeshi Watanabe
毅 渡辺
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 JP60124243A priority Critical patent/JPS61282928A/ja
Publication of JPS61282928A publication Critical patent/JPS61282928A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は浮動小数点演算装置に係わり、特に指数アンダ
ーフロー例外が発生した場合に高速に演算結果を零化す
るのに好適な浮動小数点加減算装置に関する。
[発明の背景〕 浮動小数点数値は、符号と指数部と仮数部の3つから構
成される。符号は(+) 、  (−)を0゜1で、指
数部は16のべき乗で、また仮数部は最上位桁の左側に
小数点を有する16進数で、それぞれ表わされる。浮動
小数点数値は固定長であり。
1語32ビツト形式のものでは、0ビツト目が符号、1
〜7ビツト目が指数部、8〜31ビツト目が仮数部であ
る。
浮動小数点数値では、仮数の最上位桁を16進の0.1
以上になるように、仮数部および指数部を調整すること
ができ、これを正規化という、また、浮動小数点命令の
実行結果、演算例外が生じたときにはプログラム割込み
が行われる1例えば。
浮動小数点数値の演算において、結果の指数が零より小
さく、かつ仮数部が零でない場合には指数アンダーフロ
ー例外が生じる。このとき、仮数部は正規化され、符号
および仮数部は正しい値を示すが、指数部は正しい値よ
り128だけ大きな値を示す。
一般に浮動小数点加減算においては、中間和の仮数部の
各桁(一般に16進数)ごとの零検出ビットから正規化
カウントを求め、中間和の指数部からこの正規化カウン
トを減算することにより指数アンダーフロー例外を検出
している。
第2図に従来の演算結果の構成例を示す6図中、17は
指数正規化演算部、18は仮数正規化演算部である。
正規化加算を実行する場合、先ず入力レジスタ1.2の
2つのオペランドOPI、OP2の大きさを調べるため
に、2つのオペランドの指数部を比較する。もし、2つ
のオペランドOPI、OP2の指数部の大きさが異なる
場合には、シフト回路3により、小さい指数部を有する
オペランドの仮数部を、大きい指数部を有するオペラン
ドの指数部に等し°くなるまで右にシフトした後、加算
器4で代数加算を行い、仮数部の中間和を中間結果レジ
スタ5にセットする。同時に中間和の零ビットを中間結
果レジスタ6にセットする。一方、大きい方の指数部が
指数選択ゲート7で取り出されて、中間結果レジスタ8
にセットされる。
仮数正規化演算部18では、中間結果レジスタ6の零ビ
ットあるいは中間結果レジスタ5の仮数部をエンコーダ
9でエンコードすることにより、正規化シフトカウント
値を求め、正規化シフト回路lOで仮数部の上位に零が
なくなるまで左側にシフトし、空いた下位の桁を零で埋
める。
指数正規化演算部17では、中間結果レジスタ6の零ビ
ットをエンコーダ11でエンコードすることにより、正
規化カウント値を求め、指数部加減算器12において、
中間結果レジスタ8の値からエンコーダ11で得た正規
化カウント値を減算する。
指数部加減算器12での減算の際に、指数アンダーフロ
ーが発生し、かつ、プログラム・マスク(psw上にあ
る)の指数アンダーフロー・マスクビットが「1」にセ
ットされていれば、指数アンダーフロー割込みを起す。
また、指数アンダーフロー・マスク・ビットがrOJに
リセットされていれば、指数アンダーフロー割込みは抑
止され、AND回路13.14により、指数部および仮
数部の演算結果を零化する。演算結果はレジスタ15.
16に各々セットされる。
しかし、第2図の構成では、中間結果レジスタ6の零検
出ビットから指数アンダーフロー条件を検出し、その結
果により仮数部を零化するまでのディレィが大きくなっ
てしまい、演算装置のマシンサイクルを短縮する上での
ネックとなっている。
この開運に対し1例えば特開昭55−135942号に
示されるように、中間和の指数部をデコードし、そのデ
コード出力と仮数部の零検出ビットの1ないし数ビット
との論理積をとることにより、指数アンダーフロー例外
を高速に検出する方法が知られている。しかし、この方
法では、指数アンダーフロー条件を検出するまでのゲー
ト段数を削減するために、ゲート数を著しく増大させて
しまうこと、および仮数ポストシフト演算器までの距離
が増大し、信号伝搬ディレィが大きくなるという新たな
る問題を生じてしまう。
〔発明の目的〕
本発明の目的は、浮動小数点演算装置において、指数ア
ンダーフロー例外が生じた場合に、演算結果の零化を高
速に実行可能とする演算結果零化手段を提供することに
ある。
〔発明の概要〕
本発明は、仮数部のボストノーマライズを行う仮数正規
化演算部に、指数アンダーフロー例外検出回路とは別に
、中間和の仮数部の上位より連続する零の桁数を表わす
情報より、ボストノーマライズに必要なシフト桁数をデ
コードし、それを中間和の指数部より減算することによ
り指数アンダーフローを検出し、指数アンダーフローマ
スクが零であれば仮数部を零化する仮数部零化論理回路
を設けたことを特徴とする。
〔発明の実施例〕
第1図は本発明の一実施例を示し、第2図と同一部分は
同一記号で表わしている。第2図と異なる点は、仮数正
規化演算部18に、正規化カウントエンコーダ1ビとキ
ャリー先見予測回路19を設け、指数正規化加減算回路
12からの指数アンダーフロー信号のかわりに、キャリ
ー先見予測回路19で得られる零化信号をAND回路1
4に与えるようにしたことである。
正規化加算を実行する場合、入力レジスタ1゜2の2つ
のオペランドOPI、OP2の指数部を比較する。もし
、2つのオペランドopt、op2の指数部が異なる場
合、小さい指数部を有するオペランドの仮数部を、シフ
ト回路3により2つの指数部が等しくなるまで右にシフ
トした後、加算器4で2つの仮数部の代数加算を行い、
その中間和を中間結果レジスタ5にセットする。同時に
該仮数部の中間和の零ビットを中間結果レジスタ6にセ
ットする。一方、2つのオペランドOPI。
OF2の大きい方の指数部を指数選択ゲート7を介して
中間結果レジスタ8にセットする。
仮数正規化演算部18では、中間結果レジスタ6の零ビ
ットをエンコーダ9でエンコードして正規化シフトカウ
ント値を求め、正規化シフト回路10において、中間結
果レジスタ5の仮数部を上位に零がなくなるまで左側に
シフトし、空いた下位の桁は零で埋めて仮数部の演算結
果を得る。同時に、中間結果レジスタ6の零ビットをエ
ンコーダ11’でエンコードして正規化カウント値を得
、キャリー先見予測回路19により、中間結果レジスタ
8の指数部から該正規化カウント値を減算して仮数部の
零化条件を求める。零化条件が成立すると、キャリー先
見予測回路19の出力(零化信号)が′″1″となり、
正規化シフト回路lOで求まった仮数部の演算結果はA
ND回路14により零化される。
一方、指数正規化演算部17では、中間結果レジスタ6
の零ビットをエンコーダ11でエンコードして正規化カ
ウント値を°求め、指数部加減算器12において、中間
結果レジスタ8の指数部から該正規化カウント値を減算
して指数部の演算結果を得る。その際、加減算HI11
2より指数アンダーフロー信号が発生し、かつ、指数ア
ンダーフロー・マスク・ビットが「0」にリセットされ
ていれば、指数部の演算結果はAND回路13により零
化される。
以上、正規化加算を実行する場合について説明したが、
正規化減算の場合も同様である。
〔発明の効果〕
本発明によれば、指数正規化演算部より仮数部ポストシ
フト演算器までの零化信号の伝搬時間がまったく不要に
なるため、指数アンダーフロー例外が生じた場合でも、
高速に演算結果の零化が実行可能である。また、従来技
術に比べ、必要なゲート数も少なくて済むため、実装上
の制約を受けずに実施することができる。これにより、
浮動小数点演算装置のマシンサイクルの短縮が可能とな
る。
【図面の簡単な説明】
第1図は本発明による浮動小数点演算装置の一実施例を
示す図、第2図は従来の構成例を示す図である。 1.2・・・入力レジスタ、  3・・・桁合せシフト
回路、 4・・・加算器、  5,6.8・・・中間結
果レジスタ、  9・・・正規化シフトカウントエンコ
ーダ、  10・・・正規化シフト回路、11.11’
・・・正規化カウントエンコーダ、12・・・正規化加
減算回路、   13.14・・・AND回路、  1
5・・・指数最終レジスタ。 16・・・仮数最終レジスタ、  17・・・指数正規
化演算部、  18・・・仮数正規化演算部、19・・
・キャリー先見予測回路。 第2図

Claims (1)

    【特許請求の範囲】
  1. (1)2つの浮動小数点数値を演算し、中間結果の仮数
    部の上位より連続する零の桁数を調べ、該桁数だけ中間
    結果の仮数部をシフトして仮数部の演算結果を得、中間
    結果の指数部から前記桁数だけ減算して指数部の演算結
    果を得ると共に、指数アンダーフローが発生すると前記
    指数部および仮数部の演算結果を零化する演算装置にお
    いて、指数アンダーフロー例外を検出する手段とは別に
    、中間結果の指数部と中間結果の仮数部より仮数部の零
    化条件を生成する手段を設けたことを特徴とする浮動小
    数点演算装置。
JP60124243A 1985-06-10 1985-06-10 浮動小数点演算装置 Pending JPS61282928A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60124243A JPS61282928A (ja) 1985-06-10 1985-06-10 浮動小数点演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60124243A JPS61282928A (ja) 1985-06-10 1985-06-10 浮動小数点演算装置

Publications (1)

Publication Number Publication Date
JPS61282928A true JPS61282928A (ja) 1986-12-13

Family

ID=14880505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60124243A Pending JPS61282928A (ja) 1985-06-10 1985-06-10 浮動小数点演算装置

Country Status (1)

Country Link
JP (1) JPS61282928A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02170225A (ja) * 1988-12-22 1990-07-02 Koufu Nippon Denki Kk 演算例外検出方式
US5282156A (en) * 1991-01-31 1994-01-25 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus employing same
JPH07114455A (ja) * 1993-09-29 1995-05-02 Internatl Business Mach Corp <Ibm> パイプライン浮動小数点プロセッサ及びその乗算・加算命令シーケンスの実行

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55135942A (en) * 1979-04-11 1980-10-23 Hitachi Ltd Operation device
JPS5679336A (en) * 1979-11-29 1981-06-29 Fujitsu Ltd Decision circuit for exponential part operation result
JPS59154542A (ja) * 1983-02-23 1984-09-03 Hitachi Ltd 乗算装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55135942A (en) * 1979-04-11 1980-10-23 Hitachi Ltd Operation device
JPS5679336A (en) * 1979-11-29 1981-06-29 Fujitsu Ltd Decision circuit for exponential part operation result
JPS59154542A (ja) * 1983-02-23 1984-09-03 Hitachi Ltd 乗算装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02170225A (ja) * 1988-12-22 1990-07-02 Koufu Nippon Denki Kk 演算例外検出方式
US5282156A (en) * 1991-01-31 1994-01-25 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus employing same
JPH07114455A (ja) * 1993-09-29 1995-05-02 Internatl Business Mach Corp <Ibm> パイプライン浮動小数点プロセッサ及びその乗算・加算命令シーケンスの実行

Similar Documents

Publication Publication Date Title
US8799344B2 (en) Comparator unit for comparing values of floating point operands
Schmookler et al. Leading zero anticipation and detection-a comparison of methods
WO2018104696A1 (en) An apparatus and method for performing arithmetic operations to accumulate floating-point numbers
US8793294B2 (en) Circuit for selectively providing maximum or minimum of a pair of floating point operands
JPH07225671A (ja) 結果正規化機構と動作の方法
US10416962B2 (en) Decimal and binary floating point arithmetic calculations
JPS584369B2 (ja) デイジツトの有効性追跡装置
US5831884A (en) Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel
Tsen et al. A combined decimal and binary floating-point multiplier
JP3753275B2 (ja) 最上位有効ビット位置予測方法
JPS61282928A (ja) 浮動小数点演算装置
US10275218B1 (en) Apparatus and method for subtracting significand values of floating-point operands
Sasidharan et al. VHDL Implementation of IEEE 754 floating point unit
US5657260A (en) Priority detecting counter device
US7003540B2 (en) Floating point multiplier for delimited operands
US20140059104A1 (en) Arithmetic circuit for calculating correction value
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
CN111290790A (zh) 一种定点转浮点的转换装置
JPS5911141B2 (ja) 演算装置
JP2752564B2 (ja) 先行1予測装置及び浮動小数点加減算装置
JPS60235239A (ja) 浮動小数点加算回路
JPS63158626A (ja) 演算処理装置
JPS6148036A (ja) 演算処理装置
JPH0467652B2 (ja)
JPS59125435A (ja) 浮動小数点演算方式