JPH01302425A - 浮動小数点加減算回路 - Google Patents
浮動小数点加減算回路Info
- Publication number
- JPH01302425A JPH01302425A JP63132977A JP13297788A JPH01302425A JP H01302425 A JPH01302425 A JP H01302425A JP 63132977 A JP63132977 A JP 63132977A JP 13297788 A JP13297788 A JP 13297788A JP H01302425 A JPH01302425 A JP H01302425A
- Authority
- JP
- Japan
- Prior art keywords
- adder
- digit
- multiplexer
- subtractor
- subtraction
- 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
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/485—Adding; Subtracting
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明は、浮動小数点を扱う電子計算機やディジタル
シグナルプロセッサ等に好適な浮動小数点加減算回路に
関する。
シグナルプロセッサ等に好適な浮動小数点加減算回路に
関する。
(従来の技術)
一般に浮動小数点数は、第4図に示すようなフォーマッ
トで表現され、単精度ではビット8〜31、倍精度では
ビット8〜63が仮数部である。通常、4ビット単位即
ち16進数1桁を1桁として扱うので、単精度では仮数
部6桁、倍精度では仮数部14桁である。小数点の位置
は、ビット8の左にあるとし、正規化は桁単位に行う。
トで表現され、単精度ではビット8〜31、倍精度では
ビット8〜63が仮数部である。通常、4ビット単位即
ち16進数1桁を1桁として扱うので、単精度では仮数
部6桁、倍精度では仮数部14桁である。小数点の位置
は、ビット8の左にあるとし、正規化は桁単位に行う。
即ち0(ゼロ)以外のデータでは必ずビット8〜l1の
いずれかが1となる。ビット1〜7は指数部であり、オ
フセットは40Hである。ここで、添字のHは16進表
現を示す。ビット0は符号を表わし、“0”のとき正或
は0(ゼロ)を示し、“1゜のとき負を示す。
いずれかが1となる。ビット1〜7は指数部であり、オ
フセットは40Hである。ここで、添字のHは16進表
現を示す。ビット0は符号を表わし、“0”のとき正或
は0(ゼロ)を示し、“1゜のとき負を示す。
第4図に示したフォーマットの浮動小数点数の加減算を
行う回路(浮動小数点加減算回路)は、従来は第5図に
示すように構成されていた。第5図の回路においては、
入力A,Bに被演算数(被演算データ)が、入力Mに(
A+BかA−Bかを示す)演算モード(演算モシド情報
)がそれぞれ与えられ、演算結果は出力Sから出力され
る。入力A,Bに被演算データが与えられると、指数部
差検出部l1でその指数部の差が算出され、入力A。
行う回路(浮動小数点加減算回路)は、従来は第5図に
示すように構成されていた。第5図の回路においては、
入力A,Bに被演算数(被演算データ)が、入力Mに(
A+BかA−Bかを示す)演算モード(演算モシド情報
)がそれぞれ与えられ、演算結果は出力Sから出力され
る。入力A,Bに被演算データが与えられると、指数部
差検出部l1でその指数部の差が算出され、入力A。
Bの指数部の大小が比較される。この大小関係に従って
、マルチプレクサ12によって指数部の大きい方の仮数
部が選択され、マルチプレクサ13によって指数部の小
さい方の仮数部が選択される。指数部が等しい場合には
、A>Bの時と同じ選択が行われる。また、シフト回路
l4ではマルチプレクサl3によって選択された指数部
の小さい方の仮数部を、指数部差検出部l1で求められ
たAとBの指数部の差の桁数だけ右シフトする。これに
より指数部の大きい方の仮数部を基準として、指数部の
小さい方の仮数部の位取りが合わせられる。
、マルチプレクサ12によって指数部の大きい方の仮数
部が選択され、マルチプレクサ13によって指数部の小
さい方の仮数部が選択される。指数部が等しい場合には
、A>Bの時と同じ選択が行われる。また、シフト回路
l4ではマルチプレクサl3によって選択された指数部
の小さい方の仮数部を、指数部差検出部l1で求められ
たAとBの指数部の差の桁数だけ右シフトする。これに
より指数部の大きい方の仮数部を基準として、指数部の
小さい方の仮数部の位取りが合わせられる。
加減算器15は、マルチプレクサ12およびシフト回路
14の各出力、即ち位取りを合わされ、た仮数部の加算
或は減算を行う。いずれの演算を行うかは、実質演算モ
ード決定部1BにおいてAとBの符号およびMから決定
される。なお、加減算器15では、演算の精度を上げる
ため、シフト回路14により右にシフトアウトされた桁
も含めた演算が行われる。この余分に演算される桁はガ
ードデイジットと呼ばれる。また加算時に、入力の最上
位桁から更に桁上がりが起こることもあるため、上位に
も1桁拡張されている。
14の各出力、即ち位取りを合わされ、た仮数部の加算
或は減算を行う。いずれの演算を行うかは、実質演算モ
ード決定部1BにおいてAとBの符号およびMから決定
される。なお、加減算器15では、演算の精度を上げる
ため、シフト回路14により右にシフトアウトされた桁
も含めた演算が行われる。この余分に演算される桁はガ
ードデイジットと呼ばれる。また加算時に、入力の最上
位桁から更に桁上がりが起こることもあるため、上位に
も1桁拡張されている。
加減算器15の演算結果はもう1つの加減算器17の右
側(R側)入力および丸め制御部18に供給される。丸
め制御部18は、加減算器15の演算結果および加減算
器15で加算或は減算のいずれが行われたかによって、
加減算器17の演算モードを決定する。これにより、加
減算器15で加算が行われた場合、或は減算が行われた
が結果が正であった場合には、加減算器15の出力のう
ちの上位の0の桁を除き上位から仮数部の桁数だけとっ
てその最も下位桁に丸めが行われる。一方、加減算器1
5で減算が行われて結果が負となった場合には、丸め制
御部I8は、加減算器■7の左側(左側)入力にOを与
え、加減算器17に対して左側人力−右側入力(L−R
)の演算を行わせることによって仮数部を絶対値表現に
戻す。加減算器17の出力はリーディングゼロ検出回路
19に供給され、そのリーディングゼロの桁数がカウン
トされる。加減算器17の出力は、同出力のリーディン
グゼロの桁数分だけ、シフト回路20において左シフト
される。この結果、正規化された仮数部(仮数部の演算
結果)が生成される。
側(R側)入力および丸め制御部18に供給される。丸
め制御部18は、加減算器15の演算結果および加減算
器15で加算或は減算のいずれが行われたかによって、
加減算器17の演算モードを決定する。これにより、加
減算器15で加算が行われた場合、或は減算が行われた
が結果が正であった場合には、加減算器15の出力のう
ちの上位の0の桁を除き上位から仮数部の桁数だけとっ
てその最も下位桁に丸めが行われる。一方、加減算器1
5で減算が行われて結果が負となった場合には、丸め制
御部I8は、加減算器■7の左側(左側)入力にOを与
え、加減算器17に対して左側人力−右側入力(L−R
)の演算を行わせることによって仮数部を絶対値表現に
戻す。加減算器17の出力はリーディングゼロ検出回路
19に供給され、そのリーディングゼロの桁数がカウン
トされる。加減算器17の出力は、同出力のリーディン
グゼロの桁数分だけ、シフト回路20において左シフト
される。この結果、正規化された仮数部(仮数部の演算
結果)が生成される。
さて、指数部の演算結果は次のように求められる。まず
、マルチプレクサ21において人力A。
、マルチプレクサ21において人力A。
Bの指数部の大きい方が選択される。このマルチプレク
サ2■で選択された指数部は指数部補正用の減算器22
に供給され、シフト回路20で正規化のために仮数部を
左シフトした桁数だけ減じられる。
サ2■で選択された指数部は指数部補正用の減算器22
に供給され、シフト回路20で正規化のために仮数部を
左シフトした桁数だけ減じられる。
この減算結果が、指数部の演算結果となる。
また、演算結果の符号は次のように生成される。まず実
質演算モード決定部18は、加減算器15の演算モード
の他に、演算結果として予想される符号を出力する。こ
の予想符号は符号生成部23に供給される。符号生成部
23は、上記予想符号と丸め制御部18によって検出さ
れた加減算器15の演算結果の正負(に対応する加減算
器■7の演算モード)により演算結果の符号を生成する
。
質演算モード決定部18は、加減算器15の演算モード
の他に、演算結果として予想される符号を出力する。こ
の予想符号は符号生成部23に供給される。符号生成部
23は、上記予想符号と丸め制御部18によって検出さ
れた加減算器15の演算結果の正負(に対応する加減算
器■7の演算モード)により演算結果の符号を生成する
。
(発明が解決しようとする課題)
上記したように従来の浮動小数点加減算回路では、仮数
部に関して加減算器(第1図では加減算器15)で加減
算を行い、その結果に応じて別の加減算器(第1図では
加減算器17)で丸め或は絶対値化を行っており、多ビ
ットの加減算器を2段通過するので時間がかかるという
問題があった。
部に関して加減算器(第1図では加減算器15)で加減
算を行い、その結果に応じて別の加減算器(第1図では
加減算器17)で丸め或は絶対値化を行っており、多ビ
ットの加減算器を2段通過するので時間がかかるという
問題があった。
したがってこの発明は、多ビットの仮数部用加減算器1
段分の経由時間で丸め付き浮動小数点加減算が行えるよ
うにすることを解決すべき課題とする。
段分の経由時間で丸め付き浮動小数点加減算が行えるよ
うにすることを解決すべき課題とする。
[発明の構成〕
(課題を解決するための手段)
この発明は、被演算データである2つの浮動小数点数の
うち指数部の大きい方の(16進n桁で表現される)仮
数部を選択する第1マルチプレクサと、指数部の小さい
方の(16進n桁で表現される)仮数部を選択する第2
マルチプレクサと、第2マルチプレクサの出力データを
上記2つの浮動小数点数の指数部の差の桁数だけ右シフ
トするシフト回路とを自えた浮動小数点加減算回路に、
実質演算モードが実質減算で且つ上記指数部の差が無い
場合には第1マルチプレクサの出力データからシフト回
路の出力データを減じ、それ以外の場合には第1マルチ
プレクサの出方データの下位側に第n+1桁丸め用の1
桁データが付加されたデータとシフト回路の出力データ
との演算を実質演算モードに応じて行う上位に、1桁の
拡張桁を有する仮数部用の第1加減算器と、実質減算で
且ら上記指数部の差が無い場合にはシフト回路の出力デ
ータから第1マルチプレクサの出力データを減じ、実質
減算で且つ上記指数部の差が1の場合には第1マルチプ
レクサの出力データから第1シフト回路の出力データを
減じ、実質減算で且つ上記指数部の差が2以上の場合に
は第1マルチプレクサの出力データの下位側に第n+2
桁丸め用の2桁データが付加されたデータからシフト回
路の出力データを減じ、実質加算の場合には第1マルチ
プレクサの出力データの最下位桁の最上位ビットに第0
桁丸めのために“1゛が加えられたデータとシフト回路
の出力データとを加算する上位に1桁の拡張桁を有する
仮数部用の第2加減算器と、第1および第2加減算器の
演算結果のいずれか一方を選択する第3マルチプレクサ
とを設け、祐1および第2加減算器を並列に動作させ、
その演算結果のいずれか一方を正しい仮数部演算結果と
して第3マルチプレクサから選択出力するようにしたこ
とを特徴とする。
うち指数部の大きい方の(16進n桁で表現される)仮
数部を選択する第1マルチプレクサと、指数部の小さい
方の(16進n桁で表現される)仮数部を選択する第2
マルチプレクサと、第2マルチプレクサの出力データを
上記2つの浮動小数点数の指数部の差の桁数だけ右シフ
トするシフト回路とを自えた浮動小数点加減算回路に、
実質演算モードが実質減算で且つ上記指数部の差が無い
場合には第1マルチプレクサの出力データからシフト回
路の出力データを減じ、それ以外の場合には第1マルチ
プレクサの出方データの下位側に第n+1桁丸め用の1
桁データが付加されたデータとシフト回路の出力データ
との演算を実質演算モードに応じて行う上位に、1桁の
拡張桁を有する仮数部用の第1加減算器と、実質減算で
且ら上記指数部の差が無い場合にはシフト回路の出力デ
ータから第1マルチプレクサの出力データを減じ、実質
減算で且つ上記指数部の差が1の場合には第1マルチプ
レクサの出力データから第1シフト回路の出力データを
減じ、実質減算で且つ上記指数部の差が2以上の場合に
は第1マルチプレクサの出力データの下位側に第n+2
桁丸め用の2桁データが付加されたデータからシフト回
路の出力データを減じ、実質加算の場合には第1マルチ
プレクサの出力データの最下位桁の最上位ビットに第0
桁丸めのために“1゛が加えられたデータとシフト回路
の出力データとを加算する上位に1桁の拡張桁を有する
仮数部用の第2加減算器と、第1および第2加減算器の
演算結果のいずれか一方を選択する第3マルチプレクサ
とを設け、祐1および第2加減算器を並列に動作させ、
その演算結果のいずれか一方を正しい仮数部演算結果と
して第3マルチプレクサから選択出力するようにしたこ
とを特徴とする。
(作用)
丸めを行う桁位置は、実質加算および実質減算のいずれ
の場合にも基本的に2つのケースに分類できる。
の場合にも基本的に2つのケースに分類できる。
く実質加算〉
実質加算の場合に丸めを行う桁位置は、仮数部加算結果
の第0桁が0であれば第n+1桁となり、0でなければ
第0桁となる。そこで上記の構成とすることにより、実
質加算の場合には、第1加減算器において第n+1桁を
丸めた仮数部加算を行わせ、これと並行して第2加減算
器で第0桁を丸めた仮数部加算を行わせ、その結果のい
ずれか一方を正しい仮数部演算結果であるとして第3マ
ルチプレクサから選択するようにしている。このように
、予め予71111される丸め付き演算を2つの加減算
器で並行して行い、その一方の演算結果を選択すること
により、加減算器を1段通過しただけの時間で仮数部演
算を行うことが可能となる。
の第0桁が0であれば第n+1桁となり、0でなければ
第0桁となる。そこで上記の構成とすることにより、実
質加算の場合には、第1加減算器において第n+1桁を
丸めた仮数部加算を行わせ、これと並行して第2加減算
器で第0桁を丸めた仮数部加算を行わせ、その結果のい
ずれか一方を正しい仮数部演算結果であるとして第3マ
ルチプレクサから選択するようにしている。このように
、予め予71111される丸め付き演算を2つの加減算
器で並行して行い、その一方の演算結果を選択すること
により、加減算器を1段通過しただけの時間で仮数部演
算を行うことが可能となる。
く実質減算〉
実質減算の場合には上記指数部の差によって異なる。ま
ず、指数部の差が0のときは丸めは不要である。このと
きの減算結果は、実際に減算を行ってみないと正となる
か負となるかは分らない。
ず、指数部の差が0のときは丸めは不要である。このと
きの減算結果は、実際に減算を行ってみないと正となる
か負となるかは分らない。
そこで、上記の構成とすることにより、実質減算で且つ
指数部差が0の場合には、第1加減算器で第1マルチプ
レクサの出力データからシフト回路の出力データを減じ
る丸め無し減算を行わせ、これと並行して第2加減算器
でシフト回路の出力データから第1マルチプレクサの出
力データを減じる丸め無し減算を行わせ、その結果のい
ずれか一方を選択するようにしている。この場合、従来
のような結果の絶対値化のための2段目の加減算処゛理
が不要であり、加減算器を1段通過しただけの時間で仮
数部演算を行うことが可能となる。
指数部差が0の場合には、第1加減算器で第1マルチプ
レクサの出力データからシフト回路の出力データを減じ
る丸め無し減算を行わせ、これと並行して第2加減算器
でシフト回路の出力データから第1マルチプレクサの出
力データを減じる丸め無し減算を行わせ、その結果のい
ずれか一方を選択するようにしている。この場合、従来
のような結果の絶対値化のための2段目の加減算処゛理
が不要であり、加減算器を1段通過しただけの時間で仮
数部演算を行うことが可能となる。
次に、指数部の差が1であって且つ仮数部減算結果の第
1桁が0のときも丸めは不要である。
1桁が0のときも丸めは不要である。
また、指数部の差が1または2以上であって且つ仮数部
減算結果の第1桁が0でないときは丸めを行う桁位置は
第n+1桁となり、指数部の差が2以上であって且つ仮
数部減算結果の第1桁が0のときは丸めを行う桁位置は
第n + 2桁となる。そこで上記の構成とすることに
より、実質減算で且つ指数部差が1の場合には、第1加
減算器で第n+1桁を丸めた仮数部減算を行わせ、これ
と並行して第2加減算器で丸め無しの仮数部減算を行わ
せ、その結果のいずれか一方を選択するようにしている
。また、実質減算で且つ指数部差が2以上の場合には、
第1加減算器で第n+1桁を丸めた仮数部減算を行わせ
、これと並行して第2加減算器で第n+2桁を丸めた仮
数部減算を行わせ、その結果のいずれか一方を選択する
ようにしている。このように、予め予測される丸め付き
演算を2つの加減算器で並行して行い、その一方の演算
結果を選択することにより、加減算器を1段通過しただ
けの時間で仮数部演算を行うことが可能となる。
減算結果の第1桁が0でないときは丸めを行う桁位置は
第n+1桁となり、指数部の差が2以上であって且つ仮
数部減算結果の第1桁が0のときは丸めを行う桁位置は
第n + 2桁となる。そこで上記の構成とすることに
より、実質減算で且つ指数部差が1の場合には、第1加
減算器で第n+1桁を丸めた仮数部減算を行わせ、これ
と並行して第2加減算器で丸め無しの仮数部減算を行わ
せ、その結果のいずれか一方を選択するようにしている
。また、実質減算で且つ指数部差が2以上の場合には、
第1加減算器で第n+1桁を丸めた仮数部減算を行わせ
、これと並行して第2加減算器で第n+2桁を丸めた仮
数部減算を行わせ、その結果のいずれか一方を選択する
ようにしている。このように、予め予測される丸め付き
演算を2つの加減算器で並行して行い、その一方の演算
結果を選択することにより、加減算器を1段通過しただ
けの時間で仮数部演算を行うことが可能となる。
(実施例)
第1図はこの発明の一実施例に係る浮動小数点加減算回
路のブロック構成図である。なお、第1図は単精度゛加
減算回路に実施した場合である。
路のブロック構成図である。なお、第1図は単精度゛加
減算回路に実施した場合である。
Ts1図において、31は入力A、Bに与えられる被演
算数(被演算データ)の指数部の差を算出する指数部差
検出部31である。指数部差検出部31は、入力A、B
の指数部の差を示す指数部差データ31a、入力Aの指
数部が入力Bの指数部以上(便宜上、A2Bで表現)で
あるか否(便宜上、A<Bで表現)を示す信号31b
(A2Bのとき“1°、A<Bのとき“0″)、および
入力A。
算数(被演算データ)の指数部の差を算出する指数部差
検出部31である。指数部差検出部31は、入力A、B
の指数部の差を示す指数部差データ31a、入力Aの指
数部が入力Bの指数部以上(便宜上、A2Bで表現)で
あるか否(便宜上、A<Bで表現)を示す信号31b
(A2Bのとき“1°、A<Bのとき“0″)、および
入力A。
Bの指数部が等しい(便宜上、A−Bで表現)か否かを
示す信号31c(A−Bのとき′12、A≠Bのとき“
0“)を出力するように構成される。指数部差検出部3
1は、指数部差データ31aを求めるための減算器と、
指数部差データ31a (減算器の減算結果)がゼロ(
零)である(即ち入力A、Bの指数部が等しい)か否か
を検出して信号31cを出力するためのゼロ検出回路(
いずれも図示せず)とを有している。この実施例では、
減算器のキャリー出力を上記信号31bに用いている。
示す信号31c(A−Bのとき′12、A≠Bのとき“
0“)を出力するように構成される。指数部差検出部3
1は、指数部差データ31aを求めるための減算器と、
指数部差データ31a (減算器の減算結果)がゼロ(
零)である(即ち入力A、Bの指数部が等しい)か否か
を検出して信号31cを出力するためのゼロ検出回路(
いずれも図示せず)とを有している。この実施例では、
減算器のキャリー出力を上記信号31bに用いている。
指数部差検出部31からの信号31bはマルチプレクサ
32の選択制御信号として用いられ、信号31bのレベ
ル反転、信号はマルチプレクサ33の選択制御信号とし
て用いられる。マルチプレクサ32゜33の1側入力に
は入力Aの仮数部が供給され、0側入力には入力Bの仮
数部が供給される。マルチプレクサ32は上記の選択制
御信号に応じ、入力A、Bの仮数部のうち、指数部の差
の大きい方(差が無い場合には、入力Aの仮数部)を選
択する。またマルチプレクサ33は上記の選択制御信号
に応じ、入力A、Bの仮数部のうち、指数部の差の小さ
い方を選択する。マルチプレクサ33によって選択され
た(指数部が小さい方の)仮数部(6桁)はシフト回路
34に供給される。シフト回路34はマルチプレクサ3
3からの仮数部を指数部差検出部31からの指数部差デ
ータ31aの示す桁数だけ右シフトし、指数部の小さい
方の仮数部を、指数部の大きい方の仮数部を基準として
位取りを合わせる。この際、シフト回路34は、シフト
後の6桁の仮数部の下位に、シフトアウトされた桁の例
えば上位2桁をガードデイジット(第7桁乃至第8桁)
として付加し、8桁の仮数部として出力する。明らかな
ように、シフト無しの場合には、第7桁乃至第8桁はO
OHとなり、1桁シフトの場合には第8桁はOHとなる
。ここまでの動作は、指数部差検出部31から入力A、
Bの指数部が等しいか否かを示す信号31cが出力され
る点を除き、第5図に示す指数部差検出部11、マルチ
プレクサ12、13およびシフト回路■4の動作と同様
である。
32の選択制御信号として用いられ、信号31bのレベ
ル反転、信号はマルチプレクサ33の選択制御信号とし
て用いられる。マルチプレクサ32゜33の1側入力に
は入力Aの仮数部が供給され、0側入力には入力Bの仮
数部が供給される。マルチプレクサ32は上記の選択制
御信号に応じ、入力A、Bの仮数部のうち、指数部の差
の大きい方(差が無い場合には、入力Aの仮数部)を選
択する。またマルチプレクサ33は上記の選択制御信号
に応じ、入力A、Bの仮数部のうち、指数部の差の小さ
い方を選択する。マルチプレクサ33によって選択され
た(指数部が小さい方の)仮数部(6桁)はシフト回路
34に供給される。シフト回路34はマルチプレクサ3
3からの仮数部を指数部差検出部31からの指数部差デ
ータ31aの示す桁数だけ右シフトし、指数部の小さい
方の仮数部を、指数部の大きい方の仮数部を基準として
位取りを合わせる。この際、シフト回路34は、シフト
後の6桁の仮数部の下位に、シフトアウトされた桁の例
えば上位2桁をガードデイジット(第7桁乃至第8桁)
として付加し、8桁の仮数部として出力する。明らかな
ように、シフト無しの場合には、第7桁乃至第8桁はO
OHとなり、1桁シフトの場合には第8桁はOHとなる
。ここまでの動作は、指数部差検出部31から入力A、
Bの指数部が等しいか否かを示す信号31cが出力され
る点を除き、第5図に示す指数部差検出部11、マルチ
プレクサ12、13およびシフト回路■4の動作と同様
である。
シフト回路34によって位取りが合わされた(桁合わせ
された)仮数部(8桁)は、第5図に示す加減算器15
と同様の仮数部演算用の9桁加減算器35.45の右側
(R側)入力の第1桁乃至第8桁に供給される。加減算
器35.45の右側(R側)入力の第0桁はONに固定
されている。この加減算器35.45は、丸めを含めて
予め予測される2つの演算を並行して行うためのもので
ある。以下、この2つの演算について、第2図(a)乃
至第2図(d)を参照して説明する。
された)仮数部(8桁)は、第5図に示す加減算器15
と同様の仮数部演算用の9桁加減算器35.45の右側
(R側)入力の第1桁乃至第8桁に供給される。加減算
器35.45の右側(R側)入力の第0桁はONに固定
されている。この加減算器35.45は、丸めを含めて
予め予測される2つの演算を並行して行うためのもので
ある。以下、この2つの演算について、第2図(a)乃
至第2図(d)を参照して説明する。
まず、丸めを行う必要があるのは、第5図の浮動小数点
演算回路を例にとると、仮数部用の加減算器15で加算
(実質加算と呼ぶ)を行うか、減算(実質減算と呼ぶ)
を行ってもその結果が正であった場合である。これらの
場合の丸めを行う桁位置は、単精度(第1桁乃至第6桁
の6桁)、ガードデイジット2桁(ここでは第7桁乃至
第8桁)の場合では、実質加算および実質減算のそれぞ
れについて次の通りとなる。なお、入力A、Bは正規化
されていることを前提とする。
演算回路を例にとると、仮数部用の加減算器15で加算
(実質加算と呼ぶ)を行うか、減算(実質減算と呼ぶ)
を行ってもその結果が正であった場合である。これらの
場合の丸めを行う桁位置は、単精度(第1桁乃至第6桁
の6桁)、ガードデイジット2桁(ここでは第7桁乃至
第8桁)の場合では、実質加算および実質減算のそれぞ
れについて次の通りとなる。なお、入力A、Bは正規化
されていることを前提とする。
〈実質加算〉
実質加算の場合には、結果の第0桁は加算時のキャリー
の有無によって第2図(a)に示すように1または0と
なる。したがって、丸めを行う桁(並びにビット)位置
は、 ■第0桁−〇のとき 第7桁(の4ビツトのうちの最上位ビット)■tBo桁
≠0のとき 第6桁(の4ビツトのうちの最上位ビット)となる。こ
のため、第7桁を丸めた演算と第6桁を丸めた演算を並
行して実行させ、その結果のいずれかを選択するならば
、高速処理が可能となる。
の有無によって第2図(a)に示すように1または0と
なる。したがって、丸めを行う桁(並びにビット)位置
は、 ■第0桁−〇のとき 第7桁(の4ビツトのうちの最上位ビット)■tBo桁
≠0のとき 第6桁(の4ビツトのうちの最上位ビット)となる。こ
のため、第7桁を丸めた演算と第6桁を丸めた演算を並
行して実行させ、その結果のいずれかを選択するならば
、高速処理が可能となる。
そこで、本実施例では上記したように仮数部演算用の2
つの加減算器35.45を設け、実質加算の場合には後
述するように加減算器35で第7桁の丸めを、加減算器
45で第6桁の丸めをそれぞれ行わせるようにしている
。
つの加減算器35.45を設け、実質加算の場合には後
述するように加減算器35で第7桁の丸めを、加減算器
45で第6桁の丸めをそれぞれ行わせるようにしている
。
く実質減算〉
(1)入力A、Bの指数部が等しい場合結果の第0桁は
第2図(b)に示すように0(ボロー)となる。また桁
合わせのための仮数部のシフトは行われず(仮数部演算
用の加減算器の右側入力の第7桁乃至第8桁もOHであ
り)、したがって結果の第7桁(および第8桁)は第2
図(b)に示すようにOHとなるので、丸めは不要とな
る(禁止する必要がある)。
第2図(b)に示すように0(ボロー)となる。また桁
合わせのための仮数部のシフトは行われず(仮数部演算
用の加減算器の右側入力の第7桁乃至第8桁もOHであ
り)、したがって結果の第7桁(および第8桁)は第2
図(b)に示すようにOHとなるので、丸めは不要とな
る(禁止する必要がある)。
(2)入力A、Bの指数部の差が1の場合結果の第0桁
は第2図(c)に示すように0(ボロー)となり、結果
の第1桁乃至第6桁はリーディングゼロになる可能性が
ある。また桁合わせのための仮数部のシフトは1桁だけ
行われるので仮数部演算用の加減算器の右側入力の第8
桁はOHであり、したがって結果の第8桁は第2図(C
)に示すようにOHとなる。このため、丸めを行う桁(
並びにビット)位置は次の通りとなる。
は第2図(c)に示すように0(ボロー)となり、結果
の第1桁乃至第6桁はリーディングゼロになる可能性が
ある。また桁合わせのための仮数部のシフトは1桁だけ
行われるので仮数部演算用の加減算器の右側入力の第8
桁はOHであり、したがって結果の第8桁は第2図(C
)に示すようにOHとなる。このため、丸めを行う桁(
並びにビット)位置は次の通りとなる。
■第1桁−〇のとき
丸め不要(禁止)
■第1桁≠0のとき
第7桁(の4ビツトのうちの最上位ビット)(3)入力
A、Bの指数部の差が2以上の場合結果の第0桁は第2
図(d)に示すように0(ボロー)となり、リーディン
グゼロになる可能性があるのは第1桁(結果の第1桁)
だけである。このため、丸めを行う桁(並びにビット)
位置は、 ■第1桁−〇のとき 第8桁(の4ビツトのうちの最上位ビット)■第1桁≠
0のとき 第7桁(の4ビツトのうちの最上位ビット)以上から、
実質減算の場合には、入力A、 Hの指数部の差が無
ければ丸めを行わず、差がをれば第7桁を丸めた演算と
第8桁を丸めた演算(但し、差が1のときには丸め無し
の演算)を並行して実行させ、その結果のいずれかを選
択するならば、高速処理が可能となる。本実施例では前
者の演算を加減算器35で、後者の演算を加減算器45
でそれぞれ行わせるようにしている。
A、Bの指数部の差が2以上の場合結果の第0桁は第2
図(d)に示すように0(ボロー)となり、リーディン
グゼロになる可能性があるのは第1桁(結果の第1桁)
だけである。このため、丸めを行う桁(並びにビット)
位置は、 ■第1桁−〇のとき 第8桁(の4ビツトのうちの最上位ビット)■第1桁≠
0のとき 第7桁(の4ビツトのうちの最上位ビット)以上から、
実質減算の場合には、入力A、 Hの指数部の差が無
ければ丸めを行わず、差がをれば第7桁を丸めた演算と
第8桁を丸めた演算(但し、差が1のときには丸め無し
の演算)を並行して実行させ、その結果のいずれかを選
択するならば、高速処理が可能となる。本実施例では前
者の演算を加減算器35で、後者の演算を加減算器45
でそれぞれ行わせるようにしている。
以上の並行演算の具体的動作を、第1図を再び参照して
説明する。
説明する。
まず、加減算器35は第7桁を丸めた演算を行うための
もので、L(左側入力)+R(右側人力)またはL−H
の演算を行う。この加減算器35の演算モード(実質演
算モード)は、第5図に示す実質演算モード決定部16
と同様の実質演算モード決定部3Bにより、入力A、B
の符号と、M(演算モード情報)とをもとに決定される
。この実質演算モード決定部3Gは、上記の情報に加え
て指数部差検出部31からの信号31b(入力A、Bの
指数部の大小)をもとに結果の符号を予測して出力する
。
もので、L(左側入力)+R(右側人力)またはL−H
の演算を行う。この加減算器35の演算モード(実質演
算モード)は、第5図に示す実質演算モード決定部16
と同様の実質演算モード決定部3Bにより、入力A、B
の符号と、M(演算モード情報)とをもとに決定される
。この実質演算モード決定部3Gは、上記の情報に加え
て指数部差検出部31からの信号31b(入力A、Bの
指数部の大小)をもとに結果の符号を予測して出力する
。
以上の入力情報と出力(実質演算モードおよび結果の符
号)との関係を第3図に示す。
号)との関係を第3図に示す。
さて、マルチプレクサ32からの選択出力データ、即ち
入力A、Bの仮数部(6桁)のうち、指数部が大きい方
の仮数部(指数部が等しい場合には入力Aの仮数部)は
、丸めデータ生成部46にO(給される。丸めデータ生
成部4Bは、実質演算モード決定部3Bで決定された実
質演算モードおよび指数部差検出部31からの信号31
cに応じ、実質減算で且つ信号31cが“1” (即ち
入力A、Bの指数部の差が0)のときは、マルチプレク
サ32からの出力(6桁)の下位に値が001.の2桁
(第7桁乃至第8桁)を付加し、それ以外のときにはマ
ルチプレクサ32からの出力(6桁)の下位に値が80
)(の2桁、即ち2桁8ビツトのうちの最上位ビットだ
けが論理“1°の第7桁丸め用の2桁(第7桁乃至第8
桁)を付加する。丸めデータ生成部4Gの出力データ(
8桁)は加減算器35の左側(L)入力の第1乃至第8
桁に供給される。加減算器35の左側(L)入力の第0
桁は0)1に固定されている。加減算器35は、実質減
算で且つ入力A。
入力A、Bの仮数部(6桁)のうち、指数部が大きい方
の仮数部(指数部が等しい場合には入力Aの仮数部)は
、丸めデータ生成部46にO(給される。丸めデータ生
成部4Bは、実質演算モード決定部3Bで決定された実
質演算モードおよび指数部差検出部31からの信号31
cに応じ、実質減算で且つ信号31cが“1” (即ち
入力A、Bの指数部の差が0)のときは、マルチプレク
サ32からの出力(6桁)の下位に値が001.の2桁
(第7桁乃至第8桁)を付加し、それ以外のときにはマ
ルチプレクサ32からの出力(6桁)の下位に値が80
)(の2桁、即ち2桁8ビツトのうちの最上位ビットだ
けが論理“1°の第7桁丸め用の2桁(第7桁乃至第8
桁)を付加する。丸めデータ生成部4Gの出力データ(
8桁)は加減算器35の左側(L)入力の第1乃至第8
桁に供給される。加減算器35の左側(L)入力の第0
桁は0)1に固定されている。加減算器35は、実質減
算で且つ入力A。
Bの指数部の差が0のときを除いて第7桁丸め付きのし
く左側入力)+R(右側入力)、または第7桁丸め付き
のL−Rの演算を行い、実質減算で且つ入力A、Bの指
数部の差が0のときだけは丸め無しのL−Rの演算を行
う。
く左側入力)+R(右側入力)、または第7桁丸め付き
のL−Rの演算を行い、実質減算で且つ入力A、Bの指
数部の差が0のときだけは丸め無しのL−Rの演算を行
う。
一方、加減算器45は、入力A、Bの指数部の差が0で
ない場合には、実質演算モード決定部36によって決定
された実質演算モードに従って加減算器35と同一の演
算を行う。但し、指数部の差が0で且つ実質減算の場合
には、加減算器35がL−Rの演算を行うのに対し、加
減算器45はR−Lの演算を行う。これは、指数部の差
が無く且つ実質減算の場合には、仮数部の大小関係は減
算を行ってみなければわからないので、加減算器35で
L−Rを、加減算器45でR−Lを並行して行い、後で
それらの結果のうち正となった方を選択するためである
。加減算器45の演算モードは、L+R。
ない場合には、実質演算モード決定部36によって決定
された実質演算モードに従って加減算器35と同一の演
算を行う。但し、指数部の差が0で且つ実質減算の場合
には、加減算器35がL−Rの演算を行うのに対し、加
減算器45はR−Lの演算を行う。これは、指数部の差
が無く且つ実質減算の場合には、仮数部の大小関係は減
算を行ってみなければわからないので、加減算器35で
L−Rを、加減算器45でR−Lを並行して行い、後で
それらの結果のうち正となった方を選択するためである
。加減算器45の演算モードは、L+R。
L−R,R−Lの3種が有る。この加減算器45の演算
モードは実質演算モード決定部36によって決定された
実質演算モードおよび指数部差検出部31からの信号3
1cをもとに、演算モード決定部47によって行われる
。即ち演算モード決定部47は、指数部差検出部31か
らの信号aleによって入力A。
モードは実質演算モード決定部36によって決定された
実質演算モードおよび指数部差検出部31からの信号3
1cをもとに、演算モード決定部47によって行われる
。即ち演算モード決定部47は、指数部差検出部31か
らの信号aleによって入力A。
Bの指数部の差がOでないことが示されている場合には
、実質演算モード決定部3Bによって実質加算が決定さ
れていればL+Rを、実質減算が決定されていればL−
Rを、それぞれ決定する。また指数部差検出部31から
の信号31cによって入力A。
、実質演算モード決定部3Bによって実質加算が決定さ
れていればL+Rを、実質減算が決定されていればL−
Rを、それぞれ決定する。また指数部差検出部31から
の信号31cによって入力A。
Bの指数部の差が0であることが示されている場合には
、演算モード決定部47は実質演算モード決定部3Gに
よって実質加算が決定されていればL十Rを、実質減算
が決定されていればR−Lを、それぞれ決定する。
、演算モード決定部47は実質演算モード決定部3Gに
よって実質加算が決定されていればL十Rを、実質減算
が決定されていればR−Lを、それぞれ決定する。
さて、指数部差検出部31からの指数部差データ31a
は、シフト回路34の他に丸めデータ生成部48にも供
給される。丸めデータ生成部48は、入力A、Bの指数
部差が2以上の場合に、加減算器45の左側入力の第8
桁の最上位ビットに“1”を立て、加減算器45での第
8桁を丸めた演算に洪するために設けられたものである
。そこで、丸めデータ生成部48は、入力A、Bの指数
部差が2以上の場合には第8桁の丸めのために値が08
.の2桁を、0または1の場合には丸めを行わないため
に値がOOHの2桁を、加減算器45の左側入力の第7
桁乃至第8桁として生成出力する。
は、シフト回路34の他に丸めデータ生成部48にも供
給される。丸めデータ生成部48は、入力A、Bの指数
部差が2以上の場合に、加減算器45の左側入力の第8
桁の最上位ビットに“1”を立て、加減算器45での第
8桁を丸めた演算に洪するために設けられたものである
。そこで、丸めデータ生成部48は、入力A、Bの指数
部差が2以上の場合には第8桁の丸めのために値が08
.の2桁を、0または1の場合には丸めを行わないため
に値がOOHの2桁を、加減算器45の左側入力の第7
桁乃至第8桁として生成出力する。
丸めデータ生成部48からの2桁のデータは、実質演算
モード決定部3Gによって決定された実質演算モードに
よって制御されるマルチプレクサ49の一方の入力(9
桁)の第7桁乃至第8桁に供給される。マルチプレクサ
49の一方の入力の第0桁はOHに固定され、第1桁乃
至第6桁には、マルチプレクサ32の選択出力データが
供給される。−方、マルチプレクサ49の他方の入力(
9桁)の第7桁乃至第8桁は00)1に固定され、第0
桁乃至第6桁には、マルチプレクサ32の選択出力デー
タ(6桁)の最下位桁(第6桁)を丸めるための丸めデ
ータ生成部50の出力データ(7桁)が供給される。こ
の丸めデータ生成部50は、マルチプレクサ32の選択
出力データ(6桁)の最下位桁(第6桁)の最上位ビッ
トに“1″を加え、キャリー出力を考慮して上位に1桁
拡張した7桁データをマルチプレクサ49に出力する。
モード決定部3Gによって決定された実質演算モードに
よって制御されるマルチプレクサ49の一方の入力(9
桁)の第7桁乃至第8桁に供給される。マルチプレクサ
49の一方の入力の第0桁はOHに固定され、第1桁乃
至第6桁には、マルチプレクサ32の選択出力データが
供給される。−方、マルチプレクサ49の他方の入力(
9桁)の第7桁乃至第8桁は00)1に固定され、第0
桁乃至第6桁には、マルチプレクサ32の選択出力デー
タ(6桁)の最下位桁(第6桁)を丸めるための丸めデ
ータ生成部50の出力データ(7桁)が供給される。こ
の丸めデータ生成部50は、マルチプレクサ32の選択
出力データ(6桁)の最下位桁(第6桁)の最上位ビッ
トに“1″を加え、キャリー出力を考慮して上位に1桁
拡張した7桁データをマルチプレクサ49に出力する。
マルチプレクサ49は、実質演算モード決定部36によ
って実質減算が決定された場合には、第8桁の丸め付き
演算(指数部差が2以上のとき)または丸め無しの演算
(指数部差が0または1のとき)のために丸めデータ生
成部48並びにマルチプレクサ32側を選択し、実質加
算が決定された場合には、第6桁の丸め付き演算のため
に丸めデータ生成部50側を選択する。マルチプレクサ
49の選択出力データは加減算器45の左側入力に供給
され、加減算器35の右側入力に供給されるシフト回路
34の出力データとの間で、演算モード決定部47によ
って決定されたモードの演算が行われる。これにより、
実質演算モード決定部36によって実質減算が決定され
た場合には、入力A、Bの指数部差が0であれば丸め無
しのR−Lの演算を、指数部差が1であれば丸め無しの
L−Rの演算を、指数部差が2以上であれば第8桁丸め
付きのL−Rの演算を、それぞれ行った結果が加減算器
45から出力される。一方、実質演算モード決定部3B
によって実質加算が決定された場合には、第6桁丸め付
きのL+Rの演算を行った結果が加減算器45から出力
される。
って実質減算が決定された場合には、第8桁の丸め付き
演算(指数部差が2以上のとき)または丸め無しの演算
(指数部差が0または1のとき)のために丸めデータ生
成部48並びにマルチプレクサ32側を選択し、実質加
算が決定された場合には、第6桁の丸め付き演算のため
に丸めデータ生成部50側を選択する。マルチプレクサ
49の選択出力データは加減算器45の左側入力に供給
され、加減算器35の右側入力に供給されるシフト回路
34の出力データとの間で、演算モード決定部47によ
って決定されたモードの演算が行われる。これにより、
実質演算モード決定部36によって実質減算が決定され
た場合には、入力A、Bの指数部差が0であれば丸め無
しのR−Lの演算を、指数部差が1であれば丸め無しの
L−Rの演算を、指数部差が2以上であれば第8桁丸め
付きのL−Rの演算を、それぞれ行った結果が加減算器
45から出力される。一方、実質演算モード決定部3B
によって実質加算が決定された場合には、第6桁丸め付
きのL+Rの演算を行った結果が加減算器45から出力
される。
以上の加減算器35.45の演算は並列に行われ、その
演算結果はいずれもマルチプレクサ51およびマルチプ
レクサ制御部52に供給される。マルチプレクサ制御部
52には、指数部差検出部31からの信号31cおよび
実質演算モード決定部36によって決定された実質演算
モードも供給される。マルチプレクサ制御部52は、加
減算器35.45の演算結果、信号31c(即ち入力A
、Bの指数部の差が0であるか否か)および実質演算モ
ードに応じてマルチプレクサ51を制御する。これによ
り、加減算器35゜45の再演算結果のいずれか一方が
マルチプレクサ51によって以下に述べるように選択さ
れる。
演算結果はいずれもマルチプレクサ51およびマルチプ
レクサ制御部52に供給される。マルチプレクサ制御部
52には、指数部差検出部31からの信号31cおよび
実質演算モード決定部36によって決定された実質演算
モードも供給される。マルチプレクサ制御部52は、加
減算器35.45の演算結果、信号31c(即ち入力A
、Bの指数部の差が0であるか否か)および実質演算モ
ードに応じてマルチプレクサ51を制御する。これによ
り、加減算器35゜45の再演算結果のいずれか一方が
マルチプレクサ51によって以下に述べるように選択さ
れる。
く実質加算〉の場合
この場合には、加減算器35の演算結果の第0桁に注目
し、同桁がOHであれば加減算器35の演算結果が、そ
うでなければ加減算器45の演算結果が選択される。こ
れは、加減算器35の演算結果の第0桁がOHであれば
第1乃至第6が仮数部有効桁となるので第7桁を丸めた
加減算器35の演算結果の方が正しく、また第0桁がO
Hでなければ第0乃至第5桁が有効桁となるので第6桁
を丸めた加減算器45の演算結果の方が正しいことによ
る。
し、同桁がOHであれば加減算器35の演算結果が、そ
うでなければ加減算器45の演算結果が選択される。こ
れは、加減算器35の演算結果の第0桁がOHであれば
第1乃至第6が仮数部有効桁となるので第7桁を丸めた
加減算器35の演算結果の方が正しく、また第0桁がO
Hでなければ第0乃至第5桁が有効桁となるので第6桁
を丸めた加減算器45の演算結果の方が正しいことによ
る。
〈実質減算〉の場合
この場合には加減算器45の演算結果の第0桁並びに第
1桁に注目し、入力A、Bの指数部の差が0の場合には
第0桁が0ならば、入力A、Bの指数部の差が0でない
場合には第1桁が0ならば、加減算器45の演算結果が
選択され、これらのいずれでもない場合には加減算器3
5の演算結果が選択される。この理由は次の通りである
。まず、指数部差がOであった場合には、加減算器45
では前記したようにR−Lの演算が行われ、R≧Lのと
きだけその演算結果の第0桁が0となるので、このとき
にはその演算結果を選択する必要がある。また指数部差
が1であった場合には、加減算器45では前記したよう
に丸め無しのL−Hの演算が行イっれ、その演算結果の
第1桁が0のときは仮数部有効桁は第2桁以降となるた
め、その演算結果(丸め無しの加減算器45の演算結果
)を選択する必要がある。更に指数部差が2以上の場合
には、加減算器45では前記したように第8桁の丸め付
きのL−Rの演算が行われ、その演算結果の第1桁が0
のときには、第2桁乃至第7桁が有効であるためその演
算結果(m8桁で丸めを行)た加減算器45の演算結果
)を選択する必要がある。
1桁に注目し、入力A、Bの指数部の差が0の場合には
第0桁が0ならば、入力A、Bの指数部の差が0でない
場合には第1桁が0ならば、加減算器45の演算結果が
選択され、これらのいずれでもない場合には加減算器3
5の演算結果が選択される。この理由は次の通りである
。まず、指数部差がOであった場合には、加減算器45
では前記したようにR−Lの演算が行われ、R≧Lのと
きだけその演算結果の第0桁が0となるので、このとき
にはその演算結果を選択する必要がある。また指数部差
が1であった場合には、加減算器45では前記したよう
に丸め無しのL−Hの演算が行イっれ、その演算結果の
第1桁が0のときは仮数部有効桁は第2桁以降となるた
め、その演算結果(丸め無しの加減算器45の演算結果
)を選択する必要がある。更に指数部差が2以上の場合
には、加減算器45では前記したように第8桁の丸め付
きのL−Rの演算が行われ、その演算結果の第1桁が0
のときには、第2桁乃至第7桁が有効であるためその演
算結果(m8桁で丸めを行)た加減算器45の演算結果
)を選択する必要がある。
マルチプレクサ51の選択出力データは、第5図に示す
リーディングゼロ検出回路19、シフト回路20と同様
のリーディングゼロ検出回路39、シフト回路40に供
給される。リーディングゼロ検出回路39は、マルチプ
レクサ51の選択出力データのリーディングゼロの桁数
を検出する。シフト回路40は、この検出されたリーデ
ィングゼロの桁数だけマルチプレクサ51の選択出力デ
ータを左シフトし、正規化された結果の仮数部を出力す
る。
リーディングゼロ検出回路19、シフト回路20と同様
のリーディングゼロ検出回路39、シフト回路40に供
給される。リーディングゼロ検出回路39は、マルチプ
レクサ51の選択出力データのリーディングゼロの桁数
を検出する。シフト回路40は、この検出されたリーデ
ィングゼロの桁数だけマルチプレクサ51の選択出力デ
ータを左シフトし、正規化された結果の仮数部を出力す
る。
さて、入力A、Bの指数部は、指数部差検出部31の他
にマルチプレクサ49にも供給される。マルチプレクサ
49は、指数部差検出部31から出力される指数部差を
示す信号31bに応じ、入力A、 Bの指数部のうち大
きい方を選択する。マルチプレクサ4Iによって選択さ
れた指数部は指数部補正用の減算器42に供給される。
にマルチプレクサ49にも供給される。マルチプレクサ
49は、指数部差検出部31から出力される指数部差を
示す信号31bに応じ、入力A、 Bの指数部のうち大
きい方を選択する。マルチプレクサ4Iによって選択さ
れた指数部は指数部補正用の減算器42に供給される。
この減算器42には、リーディングゼロ検出回路39に
よって検出されたリーディングゼロの桁数も供給される
。減算器42は、マルチプレクサ41によって選択され
た大きい方の指数部から、上記リーディングゼロの桁数
、即ちシフト回路40で仮数部正規化のために左シフト
した桁数だけ減じ、演算結果の指数部を求める。
よって検出されたリーディングゼロの桁数も供給される
。減算器42は、マルチプレクサ41によって選択され
た大きい方の指数部から、上記リーディングゼロの桁数
、即ちシフト回路40で仮数部正規化のために左シフト
した桁数だけ減じ、演算結果の指数部を求める。
さて、マルチプレクサ制御部52は、前記したマルチプ
レクサ51の制御の他に、実質減算で且つ信号31cが
“1” (入力A、Bの指数部差が0)の場合における
加減算器35の出力の正負を検出するように構成されて
いる。このマルチプレクサ制御部52の正負検出結果は
、実質演算モード決定部36から出力される予測符号と
共に符号生成部43に供給される。符号生成部43は、
実質演算モード決定部36からの予測符号とマルチプレ
クサ制御部52による正負検出結果をもとに、演算結果
の符号を生成する。ここでは、正負検出結果が正(ゼロ
を含む)を示しているならば(即ち実質減算で、指数部
差がOで且つ加減算器35の演算結果が正の場合には)
、実質演算モード決定部3Bからの予測符号がそのまま
結果の符号と1.て出力され、正負検出結果が負を示し
ているならば、実質演算モード決定部36からの予測符
号の反転データが結果の符号として出力される。
レクサ51の制御の他に、実質減算で且つ信号31cが
“1” (入力A、Bの指数部差が0)の場合における
加減算器35の出力の正負を検出するように構成されて
いる。このマルチプレクサ制御部52の正負検出結果は
、実質演算モード決定部36から出力される予測符号と
共に符号生成部43に供給される。符号生成部43は、
実質演算モード決定部36からの予測符号とマルチプレ
クサ制御部52による正負検出結果をもとに、演算結果
の符号を生成する。ここでは、正負検出結果が正(ゼロ
を含む)を示しているならば(即ち実質減算で、指数部
差がOで且つ加減算器35の演算結果が正の場合には)
、実質演算モード決定部3Bからの予測符号がそのまま
結果の符号と1.て出力され、正負検出結果が負を示し
ているならば、実質演算モード決定部36からの予測符
号の反転データが結果の符号として出力される。
以上が第1図の浮動小数点演算回路の動作説明であるが
、ここで演算処理に要する時間について説明する。第5
図から第1図の構成への変更で、(第5図に示す加減算
器15に対応する)仮数部用の加減算器35.45まで
においては、丸めデータ生成部50並びにマルチプレク
サ49が追加回路としては最も処理時間のかかるバスで
あるが、(第5図に示すシフト回路14に相当する)桁
合わせ用のシフト回路34の処理時間と比べて大した違
いはない。
、ここで演算処理に要する時間について説明する。第5
図から第1図の構成への変更で、(第5図に示す加減算
器15に対応する)仮数部用の加減算器35.45まで
においては、丸めデータ生成部50並びにマルチプレク
サ49が追加回路としては最も処理時間のかかるバスで
あるが、(第5図に示すシフト回路14に相当する)桁
合わせ用のシフト回路34の処理時間と比べて大した違
いはない。
また、加減算器35.45以降の回路では、第5図では
加減算器35.45に対応する加減算器15以降に2段
目の加減算器17が設けられていたのに対し、第1図で
は加減算器17に比べて処理時間の少ないマルチプレク
サ制御部52並びにマルチプレクサ51が設けられるだ
けであり、処理時間は大幅に減少する。即ち第1図の構
成によれば、第5図の従来構成に比べて高速なif−動
小数点加減算回路が実現できる。
加減算器35.45に対応する加減算器15以降に2段
目の加減算器17が設けられていたのに対し、第1図で
は加減算器17に比べて処理時間の少ないマルチプレク
サ制御部52並びにマルチプレクサ51が設けられるだ
けであり、処理時間は大幅に減少する。即ち第1図の構
成によれば、第5図の従来構成に比べて高速なif−動
小数点加減算回路が実現できる。
以上は、単精度の浮動小数点加減算回路に実施した場合
について説明したが、倍精度等異なる精度の加減算回路
にも、丸めを行う桁位置等を変える(例えば倍精度では
単精度での丸めを行う桁位置に8を加えた桁位置とする
)だけで同様に適用可能である。
について説明したが、倍精度等異なる精度の加減算回路
にも、丸めを行う桁位置等を変える(例えば倍精度では
単精度での丸めを行う桁位置に8を加えた桁位置とする
)だけで同様に適用可能である。
[発明の効果]
以上詳述したようにこの発明によれば、浮動小数点数の
仮数部の加減算が1段の加減算器を通すだけで行えるの
で、処理の高速化が図れる。
仮数部の加減算が1段の加減算器を通すだけで行えるの
で、処理の高速化が図れる。
第1図はこの発明の一実施例に係る浮動小数点加減算回
路のブロック構成図、第2図(a)乃至第2図(d)は
丸めを行う桁位置を実質演算モードおよび被演算データ
の指数部差別に説明するためのもので、第2図(a)は
実質加算の場合、第2図(b)は実質減算で指数部差が
0の場合、第2図(c)は実質減算で指数部差が1の場
合、第2図(d)は実質減算で指数部差が2の場合をそ
れぞれ説明するための図、第3図は第1図に示す実質演
算モード決定部36の入出力論理を説明するための図、
第4図は浮動小数点数のフォーマット図、第5図は従来
の浮動小数点加減算回路のブロック構成図である。 31・・・指数部差検出部、32.33.49.51・
・・マルチプレクサ、34.40・・・シフト回路、3
5.45・・・加減算器、36・・・実質演算モード決
定部、46.48.50・・・丸めデータ生成部、52
・・・マルチプレクサ制御部。 出願人代理人 弁理士 鈴江武彦 第2図(a) 察2図(b) 42図(C) 烙2!i!!!(d)
路のブロック構成図、第2図(a)乃至第2図(d)は
丸めを行う桁位置を実質演算モードおよび被演算データ
の指数部差別に説明するためのもので、第2図(a)は
実質加算の場合、第2図(b)は実質減算で指数部差が
0の場合、第2図(c)は実質減算で指数部差が1の場
合、第2図(d)は実質減算で指数部差が2の場合をそ
れぞれ説明するための図、第3図は第1図に示す実質演
算モード決定部36の入出力論理を説明するための図、
第4図は浮動小数点数のフォーマット図、第5図は従来
の浮動小数点加減算回路のブロック構成図である。 31・・・指数部差検出部、32.33.49.51・
・・マルチプレクサ、34.40・・・シフト回路、3
5.45・・・加減算器、36・・・実質演算モード決
定部、46.48.50・・・丸めデータ生成部、52
・・・マルチプレクサ制御部。 出願人代理人 弁理士 鈴江武彦 第2図(a) 察2図(b) 42図(C) 烙2!i!!!(d)
Claims (3)
- (1)仮数部が16進数n桁で表現される2つの浮動小
数点数の加減算を行う浮動小数点加減算回路において、 上記2つの浮動小数点数のうち指数部の大きい方の仮数
部を選択する第1マルチプレクサと、上記2つの浮動小
数点数のうち指数部の小さい方の仮数部を選択する第2
マルチプレクサと、この第2マルチプレクサの出力デー
タを上記2つの浮動小数点数の指数部の差の桁数だけ右
シフトするシフト回路と、 上記2つの浮動小数点数の符号および外部から与えられ
る加減算の区別を示す演算モード情報をもとに、上記2
つの浮動小数点数の仮数部に対して実質加算または実質
減算のいずれを行うかを示す実質演算モードを決定する
ための実質演算モード決定手段と、 この実質演算モード決定手段によって実質減算が決定さ
れ且つ上記指数部の差が無い場合には上記第1マルチプ
レクサの出力データから上記シフト回路の出力データを
減じ、上記指数部の差が有る場合または上記実質演算モ
ード決定手段によって実質加算が決定された場合には上
記第1マルチプレクサの出力データの下位側に第n+1
桁丸め用の1桁データが付加されたデータと上記シフト
回路の出力データとの演算を上記実質演算モード決定手
段によって決定される実質演算モードに応じて行う上位
に1桁の拡張桁を有する仮数部用の第1加減算器と、 上記実質演算モード決定手段によって実質減算が決定さ
れ且つ上記指数部の差が無い場合には上記シフト回路の
出力データから上記第1マルチプレクサの出力データを
減じ、上記実質演算モード決定手段によって実質減算が
決定され且つ上記指数部の差が1の場合には上記第1マ
ルチプレクサの出力データから上記シフト回路の出力デ
ータを減じ、上記実質演算モード決定手段によって実質
減算が決定され且つ上記指数部の差が2以上の場合には
上記第1マルチプレクサの出力データの下位側に第n+
2桁丸め用の2桁データが付加されたデータから上記シ
フト回路の出力データを減じ、上記実質演算モード決定
手段によって実質加算が決定された場合には上記第1マ
ルチプレクサの出力データの最下位桁の最上位ビットに
第n桁丸めのために“1”が加えられたデータと上記シ
フト回路の出力データとを加算する上位に1桁の拡張桁
を有する仮数部用の第2加減算器と、上記第1および第
2加減算器の演算結果のいずれか一方を選択する第3マ
ルチプレクサと、を具備し、上記第1および第2加減算
器を並列に動作させ、その演算結果のいずれか一方を正
しい仮数部演算結果として上記第3マルチプレクサから
選択出力するようにしたことを特徴とする浮動小数点加
減算回路。 - (2)上記実質演算モード決定手段によって実質加算が
決定された場合には上記第1加減算器の演算結果に応じ
て上記第3マルチプレクサを制御し、上記実質演算モー
ド決定手段によって実質減算が決定された場合には上記
指数部の差および上記第2加減算器の演算結果に応じて
上記第3マルチプレクサを制御するマルチプレクサ制御
手段を備えたことを特徴とする選択する第1請求項記載
の浮動小数点加減算回路。 - (3)上記マルチプレクサ制御手段は、上記実質加算の
場合には、上記第1加減算器の演算結果の第0桁が0で
あれば同演算結果が選択され、0でなければ上記第2加
減算器の演算結果が選択され、上記実質減算の場合には
、上記指数部の差が0で且つ上記第2加減算器の演算結
果の第0桁が0であるか、或は上記指数部の差が0で無
く且つ上記第2加減算器の演算結果の第1桁が0であれ
ば同演算結果が選択され、そのいずれでもなければ上記
第1加減算器の演算結果が選択されるように上記第3マ
ルチプレクサを制御することを特徴とする第2請求項記
載の浮動小数点加減算回路。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63132977A JPH01302425A (ja) | 1988-05-31 | 1988-05-31 | 浮動小数点加減算回路 |
| US07/359,145 US5063530A (en) | 1988-05-31 | 1989-05-31 | Method of adding/subtracting floating-point representation data and apparatus for the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63132977A JPH01302425A (ja) | 1988-05-31 | 1988-05-31 | 浮動小数点加減算回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01302425A true JPH01302425A (ja) | 1989-12-06 |
Family
ID=15093911
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63132977A Pending JPH01302425A (ja) | 1988-05-31 | 1988-05-31 | 浮動小数点加減算回路 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5063530A (ja) |
| JP (1) | JPH01302425A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03259330A (ja) * | 1990-03-08 | 1991-11-19 | Fujitsu Ltd | 加算、又は減算のための二入力算術演算方式及び10進加減算回路 |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5432727A (en) * | 1989-11-02 | 1995-07-11 | Intergraph Corporation | Apparatus for computing a sticky bit for a floating point arithmetic unit |
| DE69133072T2 (de) * | 1990-08-24 | 2003-03-20 | Matsushita Electric Industrial Co., Ltd. | Verfahren und Gerät zur Berechnung von Gleitkommadaten |
| JP2508912B2 (ja) * | 1990-10-31 | 1996-06-19 | 日本電気株式会社 | 浮動小数点加算装置 |
| JPH0520028A (ja) * | 1990-12-28 | 1993-01-29 | Matsushita Electric Ind Co Ltd | 加減算のための浮動小数点演算装置の仮数部処理回路 |
| US5303174A (en) * | 1991-10-07 | 1994-04-12 | Nec Corporation | Floating pointing arithmetic operation system |
| KR960024897A (ko) * | 1994-12-31 | 1996-07-20 | 김주용 | 반올림 구조를 개선한 부동 소수점 산술 연산기 |
| US5764556A (en) * | 1995-07-18 | 1998-06-09 | Advanced Micro Devices, Inc. | Method and apparatus for performing floating point addition |
| US5954790A (en) * | 1996-10-17 | 1999-09-21 | Samsung Electronics Company, Ltd. | Method and apparatus for parallel prediction and computation of massive cancellation in floating point subtraction |
| US20030055859A1 (en) * | 2001-05-04 | 2003-03-20 | Southern Methodist University | Fast IEEE floating-point adder |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4488252A (en) * | 1982-02-22 | 1984-12-11 | Raytheon Company | Floating point addition architecture |
| US4562553A (en) * | 1984-03-19 | 1985-12-31 | Analogic Corporation | Floating point arithmetic system and method with rounding anticipation |
| EP0208939A3 (en) * | 1985-06-19 | 1990-08-22 | Nec Corporation | Arithmetic circuit for calculating absolute difference values |
| JPH069028B2 (ja) * | 1986-02-18 | 1994-02-02 | 日本電気株式会社 | 演算装置 |
| US4849923A (en) * | 1986-06-27 | 1989-07-18 | Digital Equipment Corporation | Apparatus and method for execution of floating point operations |
| JP2558669B2 (ja) * | 1986-12-29 | 1996-11-27 | 松下電器産業株式会社 | 浮動小数点演算装置 |
-
1988
- 1988-05-31 JP JP63132977A patent/JPH01302425A/ja active Pending
-
1989
- 1989-05-31 US US07/359,145 patent/US5063530A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03259330A (ja) * | 1990-03-08 | 1991-11-19 | Fujitsu Ltd | 加算、又は減算のための二入力算術演算方式及び10進加減算回路 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5063530A (en) | 1991-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5530663A (en) | Floating point unit for calculating a compound instruction A+B×C in two cycles | |
| EP0450803B1 (en) | Normalizing floating point processing unit | |
| KR100241076B1 (ko) | 조정및정규화클래스를구비한부동소수점승산및누산장치 | |
| JP3178746B2 (ja) | 浮動小数点数のためのフォーマット変換装置 | |
| US6205462B1 (en) | Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously | |
| JPH09212337A (ja) | 浮動小数点演算処理装置 | |
| JPH01302425A (ja) | 浮動小数点加減算回路 | |
| US5867413A (en) | Fast method of floating-point multiplication and accumulation | |
| JPH10500513A (ja) | ディジタル除算実行装置 | |
| EP0044450B1 (en) | Digital adder circuit | |
| JP2511527B2 (ja) | 浮動小数点演算器 | |
| US5576982A (en) | Fast significant bit calculator and its application to integer multiplication and division | |
| JPH0545980B2 (ja) | ||
| JPH0578049B2 (ja) | ||
| JPS63158626A (ja) | 演算処理装置 | |
| US5689721A (en) | Detecting overflow conditions for negative quotients in nonrestoring two's complement division | |
| JPH01282633A (ja) | 非正規化数の処理方式 | |
| JP4428778B2 (ja) | 演算装置及び演算方法並びに計算装置 | |
| JPH0383126A (ja) | 浮動小数点乗算器 | |
| JP3100868B2 (ja) | 浮動小数点数のための算術演算装置 | |
| JP3522387B2 (ja) | パイプライン演算装置 | |
| JPH0413734B2 (ja) | ||
| JPS62295136A (ja) | 浮動小数点数演算回路 | |
| JPH02171923A (ja) | 浮動小数点加減算装置 | |
| JPS61182134A (ja) | 加算装置 |