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

浮動小数点数演算装置

Info

Publication number
JP2902041B2
JP2902041B2 JP2084721A JP8472190A JP2902041B2 JP 2902041 B2 JP2902041 B2 JP 2902041B2 JP 2084721 A JP2084721 A JP 2084721A JP 8472190 A JP8472190 A JP 8472190A JP 2902041 B2 JP2902041 B2 JP 2902041B2
Authority
JP
Japan
Prior art keywords
bit
mantissa
precision
field
rounding
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
Application number
JP2084721A
Other languages
English (en)
Other versions
JPH03282926A (ja
Inventor
進博 井出
勝久 近藤
尊 吉田
正人 永松
順治 森
到 山崎
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2084721A priority Critical patent/JP2902041B2/ja
Publication of JPH03282926A publication Critical patent/JPH03282926A/ja
Priority to US08/408,125 priority patent/US5590365A/en
Application granted granted Critical
Publication of JP2902041B2 publication Critical patent/JP2902041B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、浮動小数点数値データを処理する加減算
装置,すなわち浮動小数点数演算装置に関する。
(従来の技術) 符号付絶対値表現に於いて浮動小数点数値は、指数
部,仮数部,仮数部の符号によって表わされる。例えば
IEEE754規格の倍精度数D(64bit)及び、単精度数S
(32bit)は、次の様に表現される。
D=(-1)s×1,f×2e-1023 s:0 or 1 (1bit) f:000…00〜111…11 (52bit) e=0〜2047 (11bit) S=(-1)s×1,f×2e-127 s:0 or 1 (1bit) f:000…00〜111…11 (23bit) e=0〜255 (8bit) ここで、sは仮数部の符号であり、D(またはS)が
正の時0、負の時1である。fは、仮数部の小数部であ
り、隠れビットとなる整数部が1となるように正規化さ
れている。eは、指数部で、バイアス値として倍精度数
で1023,単精度数で127を本来の指数に加えたオフセット
表現で表わされる。第12図(a),(b)にそのフォー
マットを示す。
浮動小数点数値演算は、整数値演算に比べ処理がはる
かに複雑であるため実行するには多くの時間を必要とす
る。ハードウエア実装に於いては、演算の実行速度,精
度とコストとの間でトレード・オフが存在する。演算の
高速化,高精度化を図ると演算器は大規模なものにな
る。特に仮数部の精度を上げるとビット幅が広くなり、
演算処理も複雑なため、仮数部演算器が演算器全体の大
半を占め比較的高価になる。一方、指数部演算器,符号
部演算器は、精度を上げてもビット数はそれほど増えな
い。また演算が単純なため、これらが演算器全体に占め
る割合もわずかである。
第16図は、従来の倍精度/単精度浮動小数点数演算装
置の一例を示す。図において、この演算装置は、符号部
演算手段100,指数部演算手段101,仮数部演算手段102を
有しており、これらはいずれも倍精度数値データを直接
扱えるだけのビット幅を持つ演算器を実装している。し
たがって、倍精度数値データ,単精度数値データにかか
わらず、最高速の場合で1クロック毎に1組のデータを
入力することができるので、1クロック毎に1つの演算
結果を得ることができる。
この演算装置において、指数部演算手段101は例えば
指数部比較器103,指数部セレクタ104,加減算器105およ
びインクレメンタ106から構成されており、第12図
(a),(b)に示すビット幅eの信号Eの入力によ
り、指数部の演算を行う。仮数部演算装置102は、例え
ば仮数部交換器107,桁合わせシフタ108,反転回路109,加
算器110,補数化回路111,正規化シフタ112,プライオリテ
ィ・エンコーダ113,丸め回路114および再正規化回路115
からなる。仮数部交換器107には第12図(a),(b)
にしめすビット幅fの信号Fが入力され、仮数部の演算
が行われる。
このように従来の倍精度/単精度浮動小数点数演算装
置では、指数部演算手段101および仮数部演算手段102と
も倍精度データを直接扱えるだけのビット幅を持つ演算
器を実装しているので、第12図(a)に示す倍精度デー
タS,E,Fが入力されると、各回路は所定の演算を行って
浮動小数点数を算出する。一方、単精度データS,E,Fが
入力されると、倍精度用の演算器の一部分を用いて浮動
小数点数の演算が行われる。したがって、この単精度用
のデータ演算の場合、比較的高価な仮数部演算器のビッ
ト幅の半分しか用いておらず、ハードウエア資源を有効
に利用していないという問題点があった。
なお、この装置の各回路部分の詳細については、後述
する本発明の実施例の説明部分で後述するものと類似で
あるので、特にここでは説明しない。
(発明が解決しようとする課題) この様に従来の倍精度数値データを直接扱える倍精度
/単精度浮動小数点数演算装置では、単精度数値データ
の演算時に於いて仮数部演算器のビット幅を約半分しか
用いておらず、ハードウエア資源を十分に利用していな
い、という問題点があった。
本発明は、上記のような従来技術の欠点を解決するた
めのもので、倍精度数値データを直接処理することがで
きる演算器に比較的少ないハードウエアを付加すること
により、単精度数値データの演算を従来の2倍の速度で
実行可能な浮動小数点数演算装置を提供することを目的
とする。
[発明の構成] (課題を解決するための手段) この発明では、上記目的を達成するために、 倍精度数値データを扱えるビット幅を有し、倍精度数値
データの演算を行う第1の演算モードと、単精度数値デ
ータの演算を行う第2の演算モードと、フィールドを分
割して用い、各フィールドで異なる単精度数値データの
演算を行う第3の演算モードとで作動する仮数部演算手
段を有することを特徴とする浮動小数点数演算装置、を
提供することを要旨とする。
(作用) 倍精度数値データの演算を行う第1の演算モードで
は、第1の符号演算手段,第1の指数部演算手段,およ
び仮数部演算手段を用いて浮動少数点数の演算が行わ
れ、単精度数値データの演算を行う第2の演算モードで
は、第1,第2の符号演算手段のいずれかと、第1,第2の
指数部演算手段のいずれかと、さらに仮数部演算手段1
を用いて浮動小数点数の演算が行われる。さらに、1度
に2組の異なる単精度数値データの演算を行う第3の演
算モードでは、第1,第2の符号演算手段の両者と、第1,
第2の指数部演算手段の両者、および仮数部演算手段と
で2組の浮動小数点数の演算が行われる。
(実施例) 第1図は、この発明の第1の実施例を示すブロック図
である。図示のようにこの装置は、仮数部演算手段1
と、倍精度/単精度兼用の第1の指数部演算手段2と、
単精度数値データ専用の第2の指数部演算手段3,倍精度
/単精度兼用の第1の符号部演算手段59,および単精度
数値データ専用の第2の符号部演算手段60とで構成され
ている。
仮数部演算手段1は、仮数部比較器(大小比較器)4,
仮数部交換器5,桁合わせ回路(バレルシフタ)6,ビット
反転器7,加算器8,プライオリティ・エンコーダ9,および
正規化回路10から構成されている。これら各回路はいず
れも第1,第2のフィールドに分割されているが、第1,第
2のフィールドを連結したモードでも作動可能なように
されている。なお各回路の第1,第2のフィールドへの分
割は、少量のハードウエアで簡単に行うことができる。
第1の指数部演算手段2は、第1指数部比較器11,第
1指数部演算器12,第1指数部選択器(セレクタ)13か
らなり、これらはいずれも倍精度数値データを扱えるビ
ット数を実装している。
第2の指数部演算手段3は、第2指数部比較器14,第
2指数部演算器15,第2指数部セレクタ16からなり、こ
れらは少なくとも単精度数値データを扱えるビット数を
実装している。
第1の符号部演算手段59は倍精度数値データを扱える
ビット数を実装した第1符号部演算器62からなり、また
第2の符号部演算手段60は少なくとも単精度数値データ
を扱えるビット数を実装した第2指数部演算器63からな
る。
次に上記装置の動作について説明する。
まず、倍精度数値データの演算を行う第1の演算モー
ドについて説明する。第1図に示す装置には、第12図
(a)に示す倍精度の数値データが入力されている。仮
数部は、第1のフィールドと第2のフィールドを連結し
た仮数部演算手段1に入力され、演算される。指数部
は、倍精度/単精度兼用の第1の指数部演算手段2で演
算される。また、符号部は、倍精度/単精度兼用の第1
の符号部演算手段59で演算される。
次に単精度数値データの演算を行う第2の演算モード
について説明する。第1図に示す演算装置には、第12図
(b)に示す単精度の数値データが入力されている。仮
数部は、第1のフィールドと第2のフィールドに分割し
た仮数部演算手段1に入力され、第1,第2のいずれかの
フィールドにおいて演算される。指数部は、倍精度/単
精度兼用の第1の指数部演算手段2,または単精度専用の
第2の指数部演算手段3のいずれかで演算される。ま
た、符号部は、倍精度/単精度兼用の第1の符号部演算
手段59,または単精度専用の第2の符号部演算手段60の
いずれかで演算される。
最後に2組の異なる単精度数値データの演算を行う第
3の演算モードの場合について説明する。第1図に示す
演算装置には、第12図(c)に示すような第1,第2の異
なる2組の単精度数値データが入力されている。仮数部
は、第1のフィールドと第2のフィールドに分割した仮
数部演算手段1に入力され、各々独立に第1のフィール
ドにおいて第1組の単精度数値データの演算を行い、第
2のフィールドにおいて第2の組の単精度数値データの
演算を行う。指数部は、倍精度/単精度兼用の第1の指
数部演算手段2,および単精度専用の第2の指数部演算手
段3で各々演算される。また、符号部は、倍精度/単精
度兼用の第1の符号部演算装置59,および単精度専用の
第2の符号部演算手段60で各々演算される。
このように第3の演算モードでは、異なる2組の単精
度数値データを並列に演算する事ができるので、従来の
装置に比べ、単精度数値データの演算速度が実質的に2
倍となる。なお、そのためのハードウエアの追加は、実
装ビット数が少ない単精度数値データ用の第2の符号部
演算手段60,第2の指数部演算手段3と、仮数部演算手
段1を第1,第2のフィールドに分割する少量のハードウ
エアのみでよい。
なお、仮数部演算手段1では、一般に、1)仮数部の
桁合わせ処理、2)仮数部の真の加算/減算処理、3)
丸め処理、4)正規化処理、等が行われるが、各々の処
理手段の構成および処理順序により、仮数部演算手段は
様々な構成が考えられる。
次に、第1図の各部の構成を詳細に示す第2図以下の
図面を用いて、この発明の1実施例装置をより詳細に説
明する。
第2図の装置において、浮動小数点数の演算では、指
数部,仮数部,および仮数部の符号は、それぞれ異なる
回路で計算する事ができる。第2図は、仮数部演算手段
1,指数部演算手段2,3、および符号部演算手段59,60を示
したものである。この実施例は、IEEE754規格に準拠し
ている。
この実施例の仮数部演算手段1は、真の加/減算処理
を行う前に丸め処理によるインクリメントの有無を判定
し、丸め処理と真の加/減算処理を同時に行うように構
成されている。
装置には、符号付絶対値表現で表わされた第1オペラ
ンド(仮数部F1,指数部E1,仮数部の符号S1),第2オペ
ランド(仮数部F2,指数部E2,仮数部の符号S2),真の加
/減算の何れを行なうかを示す加減制御信号68,丸めモ
ードを示す丸めモード信号69,演算モードを示す信号61
が入力されている。
仮数部のフォーマットを第13図に示す。仮数部は、桁
あふれビットV,整数部の隠れビットN,最小有意桁の1ビ
ット下の値を表わすガードビットG,Gのさらに1ビット
下の値を表わす丸めビットR,Rより下の全ビットの論理
和であるスティッキビットStが拡張されている。ガード
ビットG、丸めビットR及びスティッキビットStは丸め
処理のために使用される。
加減算制御信号68は、真の加算を行うのか真の減算を
行うのかを示す信号であり、2つの仮数部の符号(+:
0,−:1)と演算モード(加算:0,減算:1)との排他的論
理和である。丸めモード信号69とは、丸め処理の種類を
示す信号である。なお第14図に丸めモードの1例を示
す。また、演算モード信号61は、倍精度演算,単精度演
算,単精度倍速演算の各モードを表わす信号である(単
精度,単精度倍速演算の場合:1,倍精度演算の場合:
0)。
まず、第2図を用いて装置の各ブロックを説明する。
指数部比較回路11,14は、第1オペランドの指数部EH1,E
L1から第2オペランドの指数部EH2,EL2を減じて指数部
大小比較信号33,35と指数部の差信号32,34を求める。指
数部比較回路11は単精度/倍精度兼用であり、倍精度数
の演算の場合は、指数部は指数部比較回路11に於て比較
される。指数部比較回路14は、単精度専用の比較器であ
り、単精度倍速演算を行う場合は、比較器11,14に於て
各々独立に処理を行う。また、指数部選択器13では、指
数部大小比較信号33によって大きい方の指数部27が選択
される。指数選択器16では、指数部大小比較信号35によ
って大きい方の指数部31が選択される。
仮数部比較回路4は、第1オペランドの仮数部F1と第
2オペランドの仮数部F2の比較を行い、仮数部大小比較
信号36,36′,37を求める。第5図(a)は、仮数部比較
器4の詳細図、第5図(b)は、データの入力フォーマ
ットである。この回路は、2段の木構造を成している。
第一段目は、6つの8ビット・コンパレータ70と1つの
5ビット・コンパレータ71より構成される。各々のコン
パレータは、8ビット或は5ビット単位で各フィールド
の大小比較結果(例えば入力A,Bに対しA>B,B>A)を
示す2ビットの信号を出力する。第2段目は、2つの3
ビット・コンパレータ72と1つの7ビット・コンパレー
タ73より構成される。7ビット・コンパレータ73は、第
1段目の全出力を入力として倍精度数値の仮数部の大小
比較を行い、比較信号36′を出力する。2つの3ビット
・コンパレータは、各々第1フィールド,第2フィール
ドに入力された単精度数値の仮数部FH1とFH2、及びFL1
とFL2の大小比較を行い、比較信号36,37を出力する。
仮数部交換回路5は、指数部大小比較信号33,35と仮
数部大小比較信号36′,36,37により、第1オペランド,
第2オペランドの大小比較を行い、絶対値の大きい方の
オペランドの仮数部を仮数部19H,19L、小さい方を仮数
部20H,20Lとして出力する。大小比較の論理は、以下の
通りである。
(1)指数部の大きさが異なる場合は、指数部の大きい
方のオペランドをオペランド19H,19Lとする (2)指数部の大きさが等しい場合は、仮数部の大きい
方のオペランドをオペランド19H,19Lとする 第6図は、仮数部交換回路5の詳細図である。仮数部
交換回路5は、セレクタ74とセレクタ制御回路75より成
る。セレクタは、第1フィールド,第2フィールドに分
割されており、第1フィールド同士,或は第2フィール
ド同士を交換する。制御回路75は、演算モード信号61,
指数部大小比較信号33,35、仮数部比較信号36,36′,37
により交換制御信号55,56を出力する。倍精度演算の場
合は、第1フィールド,第2フィールドは一緒に交換
し、単精度、或い単精度倍速演算の場合は独立に交換す
る。
桁合わせ回路6は、仮数部20H,20Lを指数部の差信号3
2或は信号34の数だけ右シフトして、仮数部19H,19Lに桁
合わせし、仮数部21H,21Lとする。また、並行してステ
ッキ・ビットを生成する。第7図は、桁合わせ回路6の
詳細図である。桁合わせ回路6は、第1フィールド,第
2フィールドに分割可能な右バレル・シフタ76と2つの
ステッキ・ビット生成器77より構成される。倍精度演算
を行う場合は、第1フィールドと第2フィールドは連結
され、第2フィールドのMSBには第1フィールドよりシ
フトアウトしたビット列がシフトインされる。第1フィ
ールドのMSBには、0がシフトインされる。ステッキ・
ビットは、第2フィールドのシフタよりシフトアウトし
たビット列の論理和として求められる。単精度,単精度
倍速演算を行う場合は、演算モード信号61によりシフタ
を第1フィールド,第2フィールドに分割して用いる。
第1フィールド,第2フィールドともMSBには0がシフ
トインされる。また、ステッキ・ビットは、第1フィー
ルド,第2フィールド各々よりシフトアウトしたビット
列の論理和として求める。
反転回路7は、真の減算を行う場合に仮数部21H,21L
のビット反転を取る回路である。第1フィールド,第2
フィールドを独立に反転制御するため2つに分割された
排他的論理和アレイとして構成される。
丸め先見回路40は、仮数部の特定の部分と加減算制御
信号68,丸めモード信号69,第1オペランドの符号,交換
制御信号55,56の値により、演算後正規化が不要である
と仮定した場合に丸めによるインクリメントが必要か否
かを示す第1の丸め判定と正規化が必要であると仮定し
た場合に丸めによるインクリメントが必要か否かを示す
第2の丸め判定を行なう(必要な場合に1)。丸めによ
るインクリメントを行なうか否かは、正規化された仮数
部の最小有意桁,その1つ下のビット、さらに下の全ビ
ットの論理和の3ビットで決定できる。第15図は、丸め
モード別によるインクリメントの判定論理である。ま
た、丸めを行なう位置は演算後でないと決定できない
が、その位置は真の加/減算とも各々第8図(c)に示
す2通りしかない。よって、両方の場合を仮定して各々
の場合の解を求め、後で選択すればよい。
丸め先見回路40は、第8図(a)に示した前記第1,及
び第2の丸め判定を行う回路より成る。倍精度演算時に
は、仮数部の下位5ビットの和によって第1,第2の丸め
判定を行う。また、単精度演算,単精度倍速演算の場合
は、第1フィールドの下位5ビットの和より第1フィー
ルドに対する第1,第2の丸め判定を行い、第2フィール
ドの下位5ビットの和から第2フィールドに対する第1,
第2の丸め判定を行う。
メイン加算器41は、第1オペランドの仮数部F1,第2
オペランドの仮数部F2,第1の丸め判定値の加/減算を
行い、丸め後に正規化が生じないと仮定した場合の解46
H,46Lを求める。メイン加算器42は、第1オペランドの
仮数部F1,第2オペランドの仮数部F2,第2の丸め判定値
の加/減算を行い、丸め後に正規化が必要であると仮定
した場合の解47H,47Lを求める。第9図は、メイン加算
器41の詳細図である。メイン加算器42とメイン加算器41
は、丸め判定信号の加算位置が異なるだけで構成は同じ
である。メイン加算器41,42は、3入力加算器であり、
初段の全/半加算器アレイ78でCSA(carry saved adde
r)を構成し、3つの入力値の加算を行っている。第2
段目79は、4ビット毎にCLA(Carry lookahead adde
r)、さらに12,或は16ビット毎にCSA(Carry select ad
der)を構成し、最終加算を高速に行っている。メイン
加算器41,42は、演算モード信号61により第1フィール
ドと第2フィールドに分割可能である。倍精度演算時に
は、両フィールドを連結して用いる。また、単精度,単
精度倍速演算時には、分割して用いる。
解選択回路43は、2つのメイン加算器で求めた2つの
解の内、正しい方の解を選択するセレクタである。選択
回路は、第1フィールド,第2フィールド独立に制御可
能である。倍精度演算の場合は、第1フィールド,第2
フィールドを一緒に選択する。選択の論理は、次の通り
である。
(1)加算を行った場合は、第1の加算器の解のあふれ
ビットVが1であれば第2の加算器の解,0であれば第1
の加算器の解を選択する。
(2)減算を行った場合は、第1の加算器の解の隠れビ
ットNが1であれば第1の加算器の解,0であれば第2の
加算器の解を選択する。
プライオリティ・エンコーダ9は、正規化処理に於て
シフトするステップ数38,39を出力する。第10図(a)
は、プライオリティ・エンコーダ9の詳細図である。プ
ライオリティ・エンコーダは、2段の木構造を成してい
る。第1段目80は、8つの8ビットプライオリティ・エ
ンコーダ81から成り、8ビット毎にエンコード結果3ビ
ットを出力する。第2段目82は、2つの4ビットプライ
オリティ・エンコーダ83から成り、4ビット毎にエンコ
ード結果2ビットを出力する。プライオリティ・エンコ
ーダ9は、演算モード信号61により分割可能である。倍
精度演算の場合は、第10図(b)に示すように仮数部23
(V,Stビットを除いた55ビット)が入力され、6ビット
のエンコード結果38を出力する。単精度,単精度倍速演
算の場合には分割して用い、第10図(b)に示すように
2つ単精度数の仮数部23H,23L(V,Stビットを除いた26
ビット)が入力される。ここで第2のフィールドには、
第10図(a)に示すように23Lが3ビットシフトして入
力され、5ビットのエンコード結果38,39が出力され
る。
正規化回路10は、隠れビットNが1になるように演算
結果23H,23Lを正規化するための回路である。第11図
は、正規化回路10の詳細図である。正規化回路10は、1
ビット右シフタ84と左バレル・シフタ85から構成され
る。正規化回路10は、演算モード信号61によって分割可
能である。倍精度演算の場合は連結して用い、Vビット
が1の時は1ビット右シフト,Vビットが0の時はシフト
信号38の値だけ左にシフトされる。単精度,単精度倍速
演算の場合には、第1フィールド,第2フィールドに分
割して用い、各フィールドのVの値によって1ビット右
シフト或は、シフト信号38,及び39の値だけ左にシフト
される。何れの場合も0がLSBにシフトインされる。
指数演算器12,15は正規化によってシフトした分だけ
指数を調整する回路である。指数部演算器12は、単精度
/倍精度兼用であり、倍精度演算の場合は指数部演算器
12により指数57が計算される。すなわち正規化により1
ビット右シフトした場合にはインクリメント,nビット左
シフトした場合にはnを指数27より減ずる。単精度,単
精度倍数演算部の場合には、指数演算器12,15で各々第
1フィールド,第2フィールドの指数57,58を同様にし
て計算する。
符号部演算器62,63は、第1オペランドの符号部S1よ
り解の符号64,65を求める回路である。解の符号64,65
は、次のような論理で求める。
(1)真の加算を行った場合:解の符号は、S1に等しい (2)真の減算を行った場合: 解が0でなく、仮数部の交換が起こらなかった場合:
S1に等しい。
解が0でなく、仮数部の交換が起こった場合: S1の反転 解が0で、丸めモードが負方向丸めである場合: 負 解が0で、負方向丸め以外の丸めモードの場合: 正 次に、上記第2図に示す実施例の動作について説明す
る。まず、倍精度数値データの演算を行う第1の演算モ
ードについて説明する。
倍精度数値データの計算では、仮数部演算手段1は連
結して動作する。指数部は、指数部演算手段2によって
処理される。また、符号部は、符号部演算手段59によっ
て処理される。第2図に示す演算装置には、第12図
(a)に示す倍精度の数値データが入力されている。仮
数部F1,F2は、第13図(a)示すようなフォーマットで
入力される。まず指数部EH1,EH2は指数部比較器11で比
較され、指数の差信号32が求められる。また、比較結果
により大きい方の指数部27が選択される。仮数部F1,F2
は、仮数部比較器4に於て比較される。各々の比較結果
により絶対値の大きい方のオペランドの仮数部が仮数部
19として仮数部交換器5より出力される。桁合わせ回路
6では、小さい方のオペランドの仮数部20が指数の差信
号32の値に従い、右シフトされる。このとき並行してス
テッキ・ビットが生成される。真の減算を行う場合に
は、仮数部反転器7に於いて、仮数部20の反転が取られ
る。仮数部の下位5ビットは丸め先見回路40に入力さ
れ、その和によって前記第1,第2の丸め判定を行う。こ
れら仮数部19,22および丸め判定の値45は、メイン加算
器41,42に入力され、正規化が不必要であると仮定した
場合の第1の演算結果46と正規化が必要であると仮定し
た場合の第2の演算結果47が計算される。解選択回路20
は、第1の演算結果46のV,Nビットの値により正しい解2
3を選択する。選択された解23は、プライオリティ・エ
ンコーダ9に入力され正規化に必要なシフト数38が求め
られる。選択された解は、正規化回路10に於いてシフト
数38だけシフトされて、正規化される。また、シフト数
38は、指数部演算器12に入力され、解の指数57が計算さ
れる。符号部は、符号部演算器62に於て、第1オペラン
ドの符号部S1より求められる。
次に単精度倍速演算である、第3の演算モードの場合
について説明する。
なお、単精度演算を行なう第2の演算モードの場合
は、単精度倍速演算の場合と同時に処理するデータの数
が異なるだけで本質的に同じであるので、説明は省略す
る。単精度倍速演算,単精度演算の場合は、仮数部演算
手段1を分割して用いる。指数部は、指数部演算手段2,
指数部演算手段3により各々処理される。また、符号部
は、符号部演算手段59,符号部演算手段60により各々処
理される。
第2図に示す演算装置には、第12図(c)に示す単精
度の数値データが入力されている。仮数部は、第13図
(c)に示すようなフォーマットで第1の組,第2の組
のデータが仮数部演算手段の第1のフィールドと第2の
フィールドに各々入力される。まず第1の組の指数部EH
1,EH2は指数部比較器11で比較され、指数の差信号32が
求められる。また比較結果により大きい方の指数部27が
選択される。仮数部FH1,FH2は、仮数部比較器4に於て
比較される。指数部大小比較信号33,仮数部比較信号36
により絶対値の大きい方のオペランドの仮数部が仮数部
19Hとして仮数部交換器5より出力される。同様に第2
の組の指数部EL1,EL2が指数部比較器14で比較され、指
数の差信号34が求められる。また比較結果により大きい
方の指数部31が選択される。仮数部FL1,FL2は、仮数部
比較器4に於て比較される。指数部大小比較信号35,仮
数部比較信号37により絶対値の大きい方のオペランドの
仮数部が仮数部19Lとして仮数部交換器5より出力され
る。桁合わせ回路6では、仮数部20H,20Lが指数の差信
号32,34の値に従い、右シフトされる。このとき並行し
て各フィールドのステッキ・ビットが生成される。真の
減算を行う場合には、仮数部21H,21Lの反転が取られ
る。仮数部は丸め先見回路40に入力され、仮数部19H,22
Hの下位5ビットの和によって第1の組のオペランドに
対する第1,第2の丸め判定信号44を求める。また同様に
仮数部19L,22Lの下位5ビットの和によって第2の組の
オペランドに対する第1,第2の丸め判定信号45を求め
る。これら仮数部19H,22H,19L,22Lの値及び丸め判定の
値44,45は、メイン加算器41,42に入力され第1フィール
ド,第2フィールドについて正規化が不必要であると仮
定した場合の第1の演算結果46H,46Lと正規化が必要で
あると仮定した場合の第2の演算結果47H,47Lが計算さ
れる。解選択回路43は、演算結果46HのV,Nビットの値に
より第1のフィールドの正しい解を選択する。同様に演
算結果46LのV,Nビットの値により第2のフィールドの正
しい解を選択する。選択された解23H,23Lは、プライオ
リティ・エンコーダ9に入力され正規化に必要なシフト
数39,38が求められる。選択された解23H,23Lは、正規化
回路10に於いてシフト数39,38だけシフトされ正規化さ
れる。また、シフト数39,38は、指数部演算器12,15に入
力され、解の指数が計算される。符号部は、符号部演算
器62,63に於て、第1のオペランドの符号部SH1,SH2より
各々求められる。
この様に、仮数部演算手段1を第1,第2のフィールド
に分割して、独立に動作させることにより、2組の異な
る単精度数値データを同時に処理することが出来る。
第3図は、この発明の他の実施例を示すブロック図で
ある。仮数部演算手段1′の構成は前記実施例と異な
り、丸め処理と補数化処理が同時に生じないことを利用
して演算後の丸め処理と補数化処理を同一の回路で行な
うことを特徴とする。この実施例では、次のように浮動
小数点数の演算が行われる。
まず、指数部E1,E2の比較結果により仮数部F1,F2を交
換する。仮数部20は桁合わせ回路によって桁合わせが行
われる。また真の減算を行なう場合には仮数部21の反転
が取られる。メイン加算器48により仮数部19,22は加算
される。49は反転器,50はインクリメンタであり、減算
の結果が負の数になった場合には補数化処理を行う。ま
た、演算の結果、丸めによるインクリメントが必要な場
合はインクリメンタ50によってイクリメントを行う。こ
の演算結果23は正規化回路10で正規化される。
第4図は、この発明の更に他の実施例を示すブロック
図である。仮数部演算手段1″は古典的な構成であり、
前記実施例とは異なっている。この実施例では、次のよ
うに浮動小数点数の演算が行われる。
まず、指数部E1,E2の比較結果により仮数部F1,F2を交
換する。仮数部20は桁合わせ回路6によって桁合わせが
行われる。また真の減算を行う場合には仮数部21の反転
が取られる。メイン加算器48により仮数部19,22は加算
される。51は補数化回路であり、反転回路とインクリメ
ンタより構成されている。補数化回路51は、真の減算の
結果が負の数になった場合に補数化処理を行う。この結
果23は、正規化回路10で正規化され、必要ならば丸め回
路50に於いてインクリメントが行われる。52は再正規化
回路であり、丸め処理により桁上がりが生じた場合、右
に1ビットシフトして再度正規化を行う。
仮数部演算手段1が、第3図,第4図に示すような構
成であっても各構成要素は第2図に示した実施例と同様
に仮数部演算手段1の各構成部材を第1のフィールド,
第2のフィールドに分割し、各々独立に動作させること
が可能であり、2組の異なる単精度数値データを同時に
処理することが出来る。
以上に述べたように、仮数部演算手段を第1,第2のフ
ィールドに分割可能にするためのわずかな回路を付加す
ることにより、単精度数値データの演算実行速度を2倍
にすることが出来る。指数部演算手段の構成は、本実施
例で挙げた構成以外にも様々なものが考えられる。しか
し指数部演算手段は演算装置全体に占めるハードウエア
の割合が低いので、どの様な構成のものであっても、本
発明の目的を達成することが可能である。
[発明の効果] 以上述べたように、本発明によれば、わずかなハード
ウエアの追加により、比較的高価な仮数部演算手段を十
分に活用し、単精度演算を従来の2倍の速度で実行する
ことが可能な高速浮動小数点数演算装置を得ることがで
きる。
【図面の簡単な説明】
第1図は本発明に従う浮動小数点数演算装置の概略を示
すブロック図、 第2図〜第4図は本発明装置の各実施例を示すブロック
図、 第5図〜第11図は第2図に示した実施例装置の一部構成
要素の詳細を示す構成図、 第12図はIEEE754規格に基づく倍精度浮動小数点数値,
単精度浮動小数点数値のフォーマットを示す図、 第13図は仮数部のフォーマットを示す図、 第14図,第15図は第2図に示す実施例装置の説明に供す
る図、および 第16図は従来の浮動小数点数演算装置の構成を示すブロ
ック図である。 1…仮数部演算手段 2…第1の指数部演算手段 3…第2の指数部演算手段 59…第1の符号部演算手段 60…第2の符号部演算手段
フロントページの続き (72)発明者 永松 正人 神奈川県川崎市幸区小向東芝町1 株式 会社東芝総合研究所内 (72)発明者 森 順治 神奈川県川崎市幸区小向東芝町1 株式 会社東芝総合研究所内 (72)発明者 山崎 到 神奈川県川崎市幸区小向東芝町1 株式 会社東芝総合研究所内 (56)参考文献 特開 平1−251134(JP,A) 特開 昭61−94144(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 7/00 G06F 7/38 - 7/54 JICSTファイル(JOIS)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】倍精度数値データを扱えるビット幅の仮数
    部演算手段を有する浮動小数点数演算装置であって、 倍精度数値データの演算を行う第1の演算モードと、 単精度数値データの演算を行う第2の演算モードと、 フィールドを全フィールドの上位部の第1フィールドと
    下位部の第2フィールドに分割し、各フィールドで異な
    る単精度数値データの演算を行う第3の演算モードとで
    作動し、 前記第1の演算モードにおける桁あふれビット、隠れビ
    ットの位置と、前記第3の演算モードにおける前記第1
    フィールドの桁あふれビット、隠れビットの位置とがそ
    れぞれ等しく、 前記第1の演算モードにおいて丸め処理のために拡張し
    た1又は2以上の丸め処理用拡張ビットの位置と、前記
    第2の演算モードにおける1又は2以上の丸め処理用拡
    張ビットの位置と、前記第3の演算モードにおける前記
    第2フィールドの1又は2以上の丸め処理用拡張ビット
    の位置とがそれぞれ等しく、 前記第2の演算モードにおける桁あふれビット、隠れビ
    ットの位置と、前記第3の演算モードにおける前記第2
    フィールドの桁あふれビット、隠れビットの位置とがそ
    れぞれ等しい仮数部データパスと、 前記仮数部データパスの所定の位置にデータを転送する
    データ転送手段であって、 前記第1の演算モードにおいて、前記倍精度数値データ
    の仮数部の最上位ビットを桁あふれビットより1桁下の
    位置へ、最下位ビットを丸め処理用拡張ビットのうちの
    最上位のビットより1桁上の位置へ転送し、 前記第2の演算モードにおいて、前記単精度数値データ
    の仮数部の最上位ビットを桁あふれビットより1桁下の
    位置へ、最下位ビットを丸め処理用拡張ビットのうちの
    最上位のビットより1桁上の位置へ転送し、 前記第3の演算モードにおいて、第1の単精度数値デー
    タの仮数部の最上位ビットを前記第1フィールドの桁あ
    ふれビットより1桁下の位置へ、最下位ビットを前記第
    1フィールドの丸め処理用拡張ビットのうちの最上位の
    ビットより1桁上の位置へ転送し、かつ第2の単精度数
    値データの仮数部の最上位ビットを前記第2フィールド
    の桁あふれビットより1桁下の位置へ、最下位ビットを
    前記第2フィールドの丸め処理用拡張ビットのうちの最
    上位のビットより1桁上の位置へ転送するデータ転送手
    段と、 を有することを特徴とする浮動小数点数演算装置。
JP2084721A 1990-03-30 1990-03-30 浮動小数点数演算装置 Expired - Fee Related JP2902041B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2084721A JP2902041B2 (ja) 1990-03-30 1990-03-30 浮動小数点数演算装置
US08/408,125 US5590365A (en) 1990-03-30 1995-03-21 Pipeline information processing circuit for floating point operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2084721A JP2902041B2 (ja) 1990-03-30 1990-03-30 浮動小数点数演算装置

Publications (2)

Publication Number Publication Date
JPH03282926A JPH03282926A (ja) 1991-12-13
JP2902041B2 true JP2902041B2 (ja) 1999-06-07

Family

ID=13838549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2084721A Expired - Fee Related JP2902041B2 (ja) 1990-03-30 1990-03-30 浮動小数点数演算装置

Country Status (1)

Country Link
JP (1) JP2902041B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2651267B2 (ja) * 1990-07-26 1997-09-10 富士通株式会社 演算処理装置及び演算処理方法
JP3650519B2 (ja) 1997-12-17 2005-05-18 株式会社ルネサステクノロジ マイクロコンピュータ
JP6829838B2 (ja) 2017-05-12 2021-02-17 株式会社Preferred Networks 演算装置及び演算システム

Also Published As

Publication number Publication date
JPH03282926A (ja) 1991-12-13

Similar Documents

Publication Publication Date Title
US5027308A (en) Circuit for adding/subtracting two floating point operands
US6820107B1 (en) Square root extraction circuit and floating-point square root extraction device
US5222037A (en) Floating-point processor for performing an arithmetic operation on fixed-point part data with high speed rounding of a result
US5148386A (en) Adder-subtracter for signed absolute values
US5010508A (en) Prenormalization for a floating-point adder
JPH02196328A (ja) 浮動小数点演算装置
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
JP2003196079A (ja) 積和演算装置、及び積和演算方法
JPH04290122A (ja) 数値表現変換装置
US20200183650A1 (en) Radix-1000 decimal floating-point numbers and arithmetic units using a skewed representation of the fraction
JP2689414B2 (ja) 浮動小数点表現変換器
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
JP2902041B2 (ja) 浮動小数点数演算装置
KR19980082906A (ko) 부동 소수점 숫자의 정수형으로의 변환 방법
US11366638B1 (en) Floating point multiply-add, accumulate unit with combined alignment circuits
US11429349B1 (en) Floating point multiply-add, accumulate unit with carry-save accumulator
KR920003493B1 (ko) 부동 소숫점 표기를 기초로 하는 연산회로
JP2578482B2 (ja) 浮動小数点演算器
JP2645422B2 (ja) 浮動小数点演算処理装置
JPS63158626A (ja) 演算処理装置
JP2555577B2 (ja) 演算装置
US11442696B1 (en) Floating point multiply-add, accumulate unit with exception processing
JP3124286B2 (ja) 浮動小数点数演算装置
JP2555135B2 (ja) 演算回路
JP3100868B2 (ja) 浮動小数点数のための算術演算装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees