JPH0192829A - 浮動小数点演算器 - Google Patents
浮動小数点演算器Info
- Publication number
- JPH0192829A JPH0192829A JP62247801A JP24780187A JPH0192829A JP H0192829 A JPH0192829 A JP H0192829A JP 62247801 A JP62247801 A JP 62247801A JP 24780187 A JP24780187 A JP 24780187A JP H0192829 A JPH0192829 A JP H0192829A
- Authority
- JP
- Japan
- Prior art keywords
- condition code
- mantissa
- operands
- floating point
- 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
Links
- 238000010586 diagram Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- SYCLRLSYDSKRQU-RVMDOCBSSA-N (5e,8e,11e,14e)-20-fluoranylicosa-5,8,11,14-tetraenoic acid Chemical compound OC(=O)CCC\C=C\C\C=C\C\C=C\C\C=C\CCCCC[18F] SYCLRLSYDSKRQU-RVMDOCBSSA-N 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000011962 puddings Nutrition 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はデータ処理装置に関し、特に科学技術計算に用
いられる浮動小数点データの演算を実行する浮動小数点
演算器に関する。
いられる浮動小数点データの演算を実行する浮動小数点
演算器に関する。
科学技術計算の分野では、主たるデータ表現形式に浮動
小数点データ形式が用いられる。これは実数を1ビツト
の符号部S、7ビツトの指数部E。
小数点データ形式が用いられる。これは実数を1ビツト
の符号部S、7ビツトの指数部E。
および仮数部Mにより表わす。指数は16を基底とする
。これによれば、実数は86FX116 のように表わ
される。仮数は短精度形式では6桁5バイトであり、良
精度形式では、14桁7バイトである。
。これによれば、実数は86FX116 のように表わ
される。仮数は短精度形式では6桁5バイトであり、良
精度形式では、14桁7バイトである。
浮動小数点データの加減算のアルゴリズムには次のよう
になっている。
になっている。
【1)2つのオペランドの指数を比較する。
(2)指数の小なるオペランドの仮数を、指数の差分の
桁数分布にシフトし、両オペランドの桁を合わせる。
桁数分布にシフトし、両オペランドの桁を合わせる。
C5)仮数同志の加算域を行なう。
(4)中間和の上位より連続するゼロの桁数を調べる。
(5)中間和な左くシフトして上位のゼロの桁をつめる
。
。
(6)中間和なシフトした桁数だけ大なる指数より減算
する。
する。
(7)7JrJ減算の結果より符号乞決定する。
(8)演算結果を調べて条件コードを決定する。
条件コードは、演算結果の仮数が0の場合はへ仮数が0
でない場合は符号が負であればt 正であ几ば2のよう
に決定する。
でない場合は符号が負であればt 正であ几ば2のよう
に決定する。
従来の技術では、条件コードを決定する時期が遅いため
、条件コードを変更する浮動小数点命令の後に、条件付
分岐命令を実行すると、判定が条件コードの決定まで遅
れるという問題があった。
、条件コードを変更する浮動小数点命令の後に、条件付
分岐命令を実行すると、判定が条件コードの決定まで遅
れるという問題があった。
すなわち、条件付分岐命令の実行サイクル数が多いため
、性能上の問題があった。これに関連するものとして例
えば特公昭57−9088号公報がある。
、性能上の問題があった。これに関連するものとして例
えば特公昭57−9088号公報がある。
本発明の目的は浮動小数点命令において条件コードを早
期に決定することにより、条件は分岐命令の実行性能を
改善することにある。
期に決定することにより、条件は分岐命令の実行性能を
改善することにある。
上記目的は2つの入力オペランドを直接比較して条件コ
ードを決定することにより達成される。
ードを決定することにより達成される。
すなわち、両オペランドの符号比較情報、指数比較情報
、仮数比較情報、および条件コード生成制御情報により
、条件コードを演算結果を待つことな(早期に決定する
。
、仮数比較情報、および条件コード生成制御情報により
、条件コードを演算結果を待つことな(早期に決定する
。
まず、符号比較回路は両オペランドの符号を比較し、演
算が真の加算となるか真の減算となるかを調べる。指数
比較回路は両オペランドの指数を比較し、大小関係を調
べる。仮数比較回路は両オペランドの上位桁の大小関係
を判定し、かつ各オペランド毎の仮数がオールゼロかど
うかtv4べろ。・条件コード生成回路は命令のa類に
対応する条件コードを上記の比較結果を用いて生成する
。条件コード選択回路は条件コード生成回路で生成した
各命令対応の条件コードを条件コード制御情報にもとづ
いて選択し、条件コードを決定する。
算が真の加算となるか真の減算となるかを調べる。指数
比較回路は両オペランドの指数を比較し、大小関係を調
べる。仮数比較回路は両オペランドの上位桁の大小関係
を判定し、かつ各オペランド毎の仮数がオールゼロかど
うかtv4べろ。・条件コード生成回路は命令のa類に
対応する条件コードを上記の比較結果を用いて生成する
。条件コード選択回路は条件コード生成回路で生成した
各命令対応の条件コードを条件コード制御情報にもとづ
いて選択し、条件コードを決定する。
第1図は本発明の一実施例を示す。
10は第2オペランドを転送するデータバスで、FAA
几20はそのデータを保持するラッチである。
几20はそのデータを保持するラッチである。
11は第1オペランドを転送するデータバスで、FA
B R21はそのデータを保持するランチである。
B R21はそのデータを保持するランチである。
P几BA30はラッテFAA凡20とラッチFAI3几
21にセットされた浮動小数点データの指数部を入力し
、大小比較を行なう比較回路である。P几5H31はそ
の結果により指数の小なる方のオペランドの仮数st選
び、指数の差分だげ右にシフトして1桁合せを行なうプ
リンタである。
21にセットされた浮動小数点データの指数部を入力し
、大小比較を行なう比較回路である。P几5H31はそ
の結果により指数の小なる方のオペランドの仮数st選
び、指数の差分だげ右にシフトして1桁合せを行なうプ
リンタである。
T/C32は指数の大なる方のオペランドの仮数部を選
び、演算が真の減算の場合にはその1の補数を作成する
真数/補数回路である。PA55はプリン7りP几8H
31とT/C32の出力を入力し、2進加算を行なう並
列加算器である。
び、演算が真の減算の場合にはその1の補数を作成する
真数/補数回路である。PA55はプリン7りP几8H
31とT/C32の出力を入力し、2進加算を行なう並
列加算器である。
ZDE(14は並列加算器PA33から出力される仮数
の中間和を調べて、上位から連続する零の桁数を求める
。これをボスト・ノーマライズ数と呼ぶ。シフタPO3
H55はボストノーマライズ数だけ中間和を左にシフト
し、仮数をボストノーマライズする。演算器P OB
A56はボストノーマライズ数だけ指数より減算し、指
数のボストノーマライズを行なう。
の中間和を調べて、上位から連続する零の桁数を求める
。これをボスト・ノーマライズ数と呼ぶ。シフタPO3
H55はボストノーマライズ数だけ中間和を左にシフト
し、仮数をボストノーマライズする。演算器P OB
A56はボストノーマライズ数だけ指数より減算し、指
数のボストノーマライズを行なう。
符号回路5GN57は演算結果の符号を決める論理であ
る。ラッチFAPZ22は、以上の演算結果を保持する
ラッチであり、データバスz12より外部へ転送する。
る。ラッチFAPZ22は、以上の演算結果を保持する
ラッチであり、データバスz12より外部へ転送する。
条件コード決定回路PCC40は、符号回路5GN37
が生成する演算結果の符号と、零検出回路ZDEC54
にて検出する仮数部の零状態を調べて条件コードを決定
する。
が生成する演算結果の符号と、零検出回路ZDEC54
にて検出する仮数部の零状態を調べて条件コードを決定
する。
条件コード決定回路FCC50は、ラッチFAAR20
とラッチFABR21に保持されている各々第2オペラ
yドと第1オペランドのデータを直接調べて条件コード
を決定する。
とラッチFABR21に保持されている各々第2オペラ
yドと第1オペランドのデータを直接調べて条件コード
を決定する。
第2図は条件コード決定回路pccsoy、−さらに詳
細に示す図である。
細に示す図である。
符号比較回路51は第1オペランド(OPl)と第2オ
ペランド(OF2)の符号を入力し、その組合せを求め
る回路である。指数比較回路52は両オペランドの指数
音入力し、大小関係′Fr:調べる回路である。仮数比
較回路53は、両オペランドの仮数す調べて、オールゼ
ロであることの検出および、。
ペランド(OF2)の符号を入力し、その組合せを求め
る回路である。指数比較回路52は両オペランドの指数
音入力し、大小関係′Fr:調べる回路である。仮数比
較回路53は、両オペランドの仮数す調べて、オールゼ
ロであることの検出および、。
上位4ビツト(1桁)の大小関係yrgべる回路である
。条件コード生成回路54は、符号比較回路51指数比
較回路5λおよび仮数比較回路55の結果を組合せて命
令毎の条件コードを生成する。条件コード選択回路55
は命令コードに応じて、条件コード生成回路54が生成
した命令毎の条件コードの中から選択して条件コードを
決定する。
。条件コード生成回路54は、符号比較回路51指数比
較回路5λおよび仮数比較回路55の結果を組合せて命
令毎の条件コードを生成する。条件コード選択回路55
は命令コードに応じて、条件コード生成回路54が生成
した命令毎の条件コードの中から選択して条件コードを
決定する。
第3図は、FCC50内の各部の機能をさらに詳細に表
わした表である。
わした表である。
第3図中のFl/F2.f 1/f 2.E1/E2゜
81/82は、各々第1/2オペランドの仮数。
81/82は、各々第1/2オペランドの仮数。
仮数の上位4ビツト、指数、符号を表わす。
ロード命令では、第2オペランドの仮数が0(F2−0
)の場合、条件コードは0に、F2?0の場合は、第2
オペランドの符号が0(82−0)と1(82−1)に
対応して、各々条件コードを2と1に決定する。
)の場合、条件コードは0に、F2?0の場合は、第2
オペランドの符号が0(82−0)と1(82−1)に
対応して、各々条件コードを2と1に決定する。
加算命令と比較命令では、次のように条件コードを決定
する。
する。
まず、両オペランドの仮数がともに0 (PI −0で
かつF’2−o)ならば条件コードtOK決定する。
かつF’2−o)ならば条件コードtOK決定する。
次にどちらか一方の仮数が0でない(F1崎0orF1
+o)場合について説明する。
+o)場合について説明する。
符号を比較してともに負(81w1.and 82−
1)であれば、指数を比較し、指数の犬なる方のオペラ
ンドの仮数が0でなければ条件コードを1に決定し、も
し0であれば予測ができないため、予測成功を表わす信
号な0にリセットする。指数が等しい場合はどちらか一
方の仮数は0でないから条件コードを1に決定する。両
オペランドの符号がともKO(81−Oand 82−
0)の場合も同様である。
1)であれば、指数を比較し、指数の犬なる方のオペラ
ンドの仮数が0でなければ条件コードを1に決定し、も
し0であれば予測ができないため、予測成功を表わす信
号な0にリセットする。指数が等しい場合はどちらか一
方の仮数は0でないから条件コードを1に決定する。両
オペランドの符号がともKO(81−Oand 82−
0)の場合も同様である。
次に、両オペランドの符号が異なり、81−0でかつ8
2−0の場合を説明する。
2−0の場合を説明する。
指数の大小関係を比較し、指数大なる方の仮数の上位4
ビツトが0でなければ(f2AvO,またはf 140
)、条件コードを各々1/2に決定する。もし仮数の
上位4ビツトが0であれば、予測できないので、予測成
功信号toにリセットする。
ビツトが0でなければ(f2AvO,またはf 140
)、条件コードを各々1/2に決定する。もし仮数の
上位4ビツトが0であれば、予測できないので、予測成
功信号toにリセットする。
指数が等しい場合(El−E2)は、さらに仮数の上位
4ビツトの大小関係を比較し、fl(flでは1に、f
l)flでは2に条件コードを決定する。fl−flで
は予測できないので、予測成功信号な0にリセットする
。51−1かつS2−〇の場合も同様である。
4ビツトの大小関係を比較し、fl(flでは1に、f
l)flでは2に条件コードを決定する。fl−flで
は予測できないので、予測成功信号な0にリセットする
。51−1かつS2−〇の場合も同様である。
第4図は浮動小数点演算器のタイムチャートを表わして
いる。演算のためのオペランドが入力レジスタであるF
AAR20とFABR21にセットされてから、演算を
実行し、その結果を結果レジスタFAPZ22にセット
するまで2マシンサイクルを必要とする。一方、条件コ
ードは演算より求めたPCCaOは演算開始より2マシ
/サイクル後に確定するのに対し、予測回路により求め
るFCC50は1マシンサイクルで確定する。
いる。演算のためのオペランドが入力レジスタであるF
AAR20とFABR21にセットされてから、演算を
実行し、その結果を結果レジスタFAPZ22にセット
するまで2マシンサイクルを必要とする。一方、条件コ
ードは演算より求めたPCCaOは演算開始より2マシ
/サイクル後に確定するのに対し、予測回路により求め
るFCC50は1マシンサイクルで確定する。
本発明によれば浮動小数点演算により決定する条件コー
ドを、演算結果から生成する場合に比べて1マシンサイ
クル以上も早く確定することができる。この条件コード
の決定時期の前倒しは、条件コードを調べて判定する条
件付分岐命令の性能の改善になる。条件付分岐命令の実
行には約5マシンサイクル必要とされるため、約30%
の性能改善をすることが可能である。
ドを、演算結果から生成する場合に比べて1マシンサイ
クル以上も早く確定することができる。この条件コード
の決定時期の前倒しは、条件コードを調べて判定する条
件付分岐命令の性能の改善になる。条件付分岐命令の実
行には約5マシンサイクル必要とされるため、約30%
の性能改善をすることが可能である。
第1図は本発明の一実施例を示す図。
第2図は第1図の条件コード決定回路の詳細を示す図、
第3図は第2図を説明する図、
第4図は本発明の一実施例の動作タイムチャートを示す
。 51・−符号比較回路、52−・・指数比較回路、55
−・仮数比較回路、54・−条件コード生成回路、55
・・・条件コード選択回路。
。 51・−符号比較回路、52−・・指数比較回路、55
−・仮数比較回路、54・−条件コード生成回路、55
・・・条件コード選択回路。
Claims (1)
- 1、浮動小数点データの2つのオペランドを直接比較し
、符号比較回路、指数比較回路、仮数比較回路から構成
される条件コード決定回路を有することを特徴とする浮
動小数点演算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62247801A JPH0192829A (ja) | 1987-10-02 | 1987-10-02 | 浮動小数点演算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62247801A JPH0192829A (ja) | 1987-10-02 | 1987-10-02 | 浮動小数点演算器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0192829A true JPH0192829A (ja) | 1989-04-12 |
Family
ID=17168856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62247801A Pending JPH0192829A (ja) | 1987-10-02 | 1987-10-02 | 浮動小数点演算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0192829A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0256358A2 (en) * | 1986-08-15 | 1988-02-24 | International Business Machines Corporation | Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations |
JP2011086133A (ja) * | 2009-10-16 | 2011-04-28 | Fujitsu Ltd | 浮動小数点加算器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62128331A (ja) * | 1985-11-29 | 1987-06-10 | Nec Corp | 情報処理装置 |
-
1987
- 1987-10-02 JP JP62247801A patent/JPH0192829A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62128331A (ja) * | 1985-11-29 | 1987-06-10 | Nec Corp | 情報処理装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0256358A2 (en) * | 1986-08-15 | 1988-02-24 | International Business Machines Corporation | Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations |
JP2011086133A (ja) * | 2009-10-16 | 2011-04-28 | Fujitsu Ltd | 浮動小数点加算器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5357237A (en) | In a data processor a method and apparatus for performing a floating-point comparison operation | |
JP3076046B2 (ja) | 例外検出回路 | |
US6099158A (en) | Apparatus and methods for execution of computer instructions | |
US5530663A (en) | Floating point unit for calculating a compound instruction A+B×C in two cycles | |
US6529928B1 (en) | Floating-point adder performing floating-point and integer operations | |
JPH07225671A (ja) | 結果正規化機構と動作の方法 | |
US5136536A (en) | Floating-point ALU with parallel paths | |
JPH06236257A (ja) | データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置 | |
EP0530372B1 (en) | Numerical expression converter and vector processor using the same | |
US5343413A (en) | Leading one anticipator and floating point addition/subtraction apparatus | |
JPH09212337A (ja) | 浮動小数点演算処理装置 | |
US20090164544A1 (en) | Dynamic range enhancement for arithmetic calculations in real-time control systems using fixed point hardware | |
JPH10500513A (ja) | ディジタル除算実行装置 | |
JPH0192829A (ja) | 浮動小数点演算器 | |
JPH0346024A (ja) | 浮動小数点演算器 | |
US7003540B2 (en) | Floating point multiplier for delimited operands | |
JP3089427B2 (ja) | データ処理装置 | |
RU2276805C2 (ru) | Способ и устройство для выделения целой и дробных компонент из данных с плавающей точкой | |
JPH0731591B2 (ja) | 先行1検出回路および浮動小数点加減算装置 | |
JP2856792B2 (ja) | 浮動小数点数演算装置 | |
JPH0435777B2 (ja) | ||
JPS62159224A (ja) | 浮動小数点演算回路 | |
JP2591250B2 (ja) | データ処理装置 | |
JPH0469734A (ja) | 浮動小数点加減算のアンダーフロー例外発生予測回路 | |
JPS6149234A (ja) | 浮動小数点乗算回路 |