JP3100868B2 - 浮動小数点数のための算術演算装置 - Google Patents

浮動小数点数のための算術演算装置

Info

Publication number
JP3100868B2
JP3100868B2 JP07129940A JP12994095A JP3100868B2 JP 3100868 B2 JP3100868 B2 JP 3100868B2 JP 07129940 A JP07129940 A JP 07129940A JP 12994095 A JP12994095 A JP 12994095A JP 3100868 B2 JP3100868 B2 JP 3100868B2
Authority
JP
Japan
Prior art keywords
exponent
operand
bit
subtraction
mantissa
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
JP07129940A
Other languages
English (en)
Other versions
JPH0855015A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP07129940A priority Critical patent/JP3100868B2/ja
Publication of JPH0855015A publication Critical patent/JPH0855015A/ja
Application granted granted Critical
Publication of JP3100868B2 publication Critical patent/JP3100868B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、浮動小数点数の加減乗
除算を実行するための算術演算装置に関するものであ
る。
【0002】
【従来の技術】近年、科学技術計算やグラフィック処理
の複雑化に伴って高速性を要求されてきた浮動小数点算
術演算装置では、複数の演算ユニットを並列に動作させ
ることで、この要求に答えてきた。一方、組込み用途な
どに用いられるマイクロコントローラでは、高速演算の
要求が高まっている反面、コスト削減のために、複数の
演算ユニットを持つ算術演算装置を用いることができな
いという実状がある。したがって、少ないハードウェア
量で複数の種類の算術演算を実現する浮動小数点算術演
算装置が必要となってくる。
【0003】米国特許第4,866,652号には、
(A×B)+Cの形の浮動小数点演算のための算術演算
装置が開示されている。この装置では、加減算のための
仮数の桁合せ手段を構成する2つのマルチプレクサと右
シフタとが乗算器の後段に配置されていた。一方、nビ
ットの仮数とmビットの仮数との乗算で求められた(n
+m)ビットの積をnビットに丸めると、nビットの積
仮数が得られる。従来は、米国特許第4,866,65
2号に従来技術として示されているように、仮数乗算器
の内部で丸めが行われていた。また、仮数乗算器の内部
に丸め用ビット生成装置を設けて、該仮数乗算器から
(n+m)ビットの積のうちの上位nビットと生成され
た丸め用ビットとを出力するようにした構成も知られて
いる。
【0004】ところで、IEEE(the Institute of E
lectrical and Electronics Engineers )754規格で
は、1ビットの符号Sと、8ビットの指数Eと、23ビ
ットの小数部Fとの合計32ビットの単精度浮動小数点
数の表現形式が規定されている。通常は、小数部Fの最
上位ビット(MSB)より更に上位に仮想的な非ゼロ値
ビットと小数点とが位置するように正規化処理を施した
浮動小数点数が用いられる。ただし、指数Eが正数とな
るように、実際の指数にバイアスBが与えられる。単精
度の場合には、実際の指数にバイアスBとして27 −1
=127を加えた数を指数Eとする。すなわち、単精度
の正規化数(ノーマライズド・ナンバー)として表現さ
れる実数Rは、 R=(−1)S E-127 (1.F) …(1) となる。ただし、式(1)中の1.Fを仮数Mという。
【0005】被乗数オペランドの指数又は被除数オペラ
ンドの指数をnビットの第1の指数Xとし、乗数オペラ
ンドの指数又は除数オペランドの指数をnビットの第2
の指数Yとし、かつ指数のバイアスをB=2(n-1) −1
とする。乗算の際の実際の指数の演算は、 (X−B)+(Y−B)=(X+Y−B)−B …(2) である。つまり、乗算の場合に求めるべきバイアス付き
の指数はX+Y−Bである。また、除算の際の実際の指
数の演算は、 (X−B)−(Y−B)=(X−Y+B)−B …(3) である。つまり、除算の場合に求めるべきバイアス付き
の指数はX−Y+Bである。
【0006】特開平4−328630号公報には、積指
数X+Y−B及び商指数X−Y+Bを1つの加算器で求
めるための指数演算装置の構成が開示されている。
【0007】
【発明が解決しようとする課題】上記米国特許第4,8
66,652号に開示されている(A×B)+Cの形の
浮動小数点演算のための算術演算装置は、仮数の桁合せ
手段が乗算器の後段に配置されていたので、単一加算A
+Bや単一減算A−Bには適していなかった。また、乗
算器の内部で丸めを行ったり、乗算器の内部に丸め用ビ
ット生成装置を設けたりする構成では、結果として乗算
器のハードウェア量が増加するという問題があった。
【0008】また、上記特開平4−328630号公報
に開示されている指数演算装置は、加減算の場合の指数
処理を実行できない問題があった。
【0009】本発明の目的は、浮動小数点数の単一加
算、単一減算、単一乗算及び単一除算の実行に適したハ
ードウェア量の少ない算術演算装置を提供することにあ
る。
【0010】本発明の他の目的は、加減乗除算に兼用で
きる指数演算装置を提供することにある。
【0011】
【課題を解決するための手段】本発明に係る第1及び第
2の算術演算装置は、第1のオペランドの指数及び仮数
として被加数オペランドの指数及び仮数又は被減数オペ
ランドの指数及び仮数が、第2のオペランドの指数及び
仮数として加数オペランドの指数及び仮数又は減数オペ
ランドの指数及び仮数が、第3のオペランドの指数及び
仮数として被乗数オペランドの指数及び仮数又は被除数
オペランドの指数及び仮数が、第4のオペランドの指数
及び仮数として乗数オペランドの指数及び仮数又は除数
オペランドの指数及び仮数がそれぞれ与えられる浮動小
数点数のための算術演算装置であることを前提としたも
のである。
【0012】本発明に係る第1の算術演算装置は、仮数
の桁合せ手段と仮数の乗除算手段とを並列配置した構成
を採用したものである。具体的には、第1のオペランド
の仮数と第2のオペランドの仮数との桁合せを行うため
の桁合せ手段と、第3のオペランドの仮数及び第4のオ
ペランドの仮数から2つの中間値の形の中間積又は中間
商を算出するための乗除算手段と、加減算の場合には前
記桁合せされた2つの仮数のうちの一方を、乗除算の場
合には前記2つの中間値のうちの一方を各々第1のデー
タとして選択するための第1の選択手段と、加減算の場
合には前記桁合せされた2つの仮数のうちの他方を、乗
除算の場合には前記2つの中間値のうちの他方を各々第
2のデータとして選択するための第2の選択手段と、前
記第1及び第2のデータの加減算を行うための加減算手
段とを備えた構成を採用したものである。
【0013】本発明に係る第2の算術演算装置は、(n
+m)ビットの積又は商からnビットに丸められた結果
を得る処理が、加減算で使用されるハードウェアで実現
できることに着目して、(n+m)ビットの積を加減算
手段に分割入力する構成として得られたものである。具
体的には、第3のオペランドの仮数及び第4のオペラン
ドの仮数から(n+m)ビットの積又は商を算出するた
めの乗除算手段と、加減算の場合には第1のオペランド
の仮数を、乗除算の場合には前記(n+m)ビットの積
又は商のうちの上位nビットを各々第1のデータとして
選択するための第1の選択手段と、加減算の場合には第
2のオペランドの仮数を、乗除算の場合には前記(n+
m)ビットの積又は商のうちの下位mビットを各々第2
のデータとして選択するための第2の選択手段と、加減
算の場合には前記第1のデータと前記第2のデータとの
桁合せを行うとともに第1の丸め用ビットを生成し乗除
算の場合には前記第1のデータを出力するとともに前記
第2のデータから第2の丸め用ビットを生成するための
桁合せ手段と、加減算の場合には前記桁合せされた第1
及び第2のデータの加減算とともに前記第1の丸め用ビ
ットを用いた丸めを行い乗除算の場合には前記第2の丸
め用ビットを用いて前記第1のデータの丸めを行うため
の加減算手段とを備えた構成を採用したものである。
【0014】本発明に係る指数演算装置は、加減算及び
乗除算における指数演算が全て減算で実現できる点に着
目して、減算器に多少の回路を付加して得られたもので
ある。具体的には、第1のオペランドの指数として被加
数オペランドの指数又は被減数オペランドの指数が、第
2のオペランドの指数として加数オペランドの指数又は
減数オペランドの指数が、第3のオペランドの指数とし
て被乗数オペランドの指数又は被除数オペランドの指数
が、第4のオペランドの指数として乗数オペランドの指
数又は除数オペランドの指数がそれぞれ与えられる浮動
小数点数のための指数演算装置であって、第1のオペラ
ンドの指数又は第3のオペランドの指数をnビットの第
1の指数Xとし、第2のオペランドの指数又は第4のオ
ペランドの指数をnビットの第2の指数Yとし、かつ指
数のバイアスをB=2(n-1) −1とするとき、各々次の
ような機能を有するn個の1ビット反転器と、論理ゲー
トと、減算器と、(n+1)ビット反転器と、出力セレ
クタとを備えた構成を採用したものである。
【0015】すなわち、n個の1ビット反転器は、加減
算の場合には第2の指数Yそのもので構成されるnビッ
トの中間データを、乗算の場合には第2の指数Yの最上
位ビットと第2の指数Yの下位(n−1)ビットの各々
の反転とで構成されるnビットの中間データを、除算の
場合には第2の指数Yの最上位ビットの反転と第2の指
数Yの下位(n−1)ビットとで構成されるnビットの
中間データをそれぞれ得るものである。論理ゲートは、
(n+1)ビットの減数データIBを得るように、加減
算の場合には0を、乗除算の場合には前記n個の1ビッ
ト反転器により得られたnビットの中間データの最上位
ビットの値をそれぞれ該nビットの中間データの上位桁
に付加するものである。減算器は、第1の指数Xを被減
数データIAとして、第1の減算結果P=IA−IBと
第2の減算結果Q=IA−(IB+1)とを算出するも
のである。(n+1)ビット反転器は、前記第2の減算
結果Qを構成する(n+1)ビットの各々の反転を得る
ものである。出力セレクタは、X≧Yかつ加減算の場合
には第1のオペランドの指数が第2のオペランドの指数
より小さくないことを示す信号と、第1のオペランドの
指数と第2のオペランドの指数との差の絶対値X−Yと
を出力するように前記第1の減算結果Pを選択し、X<
Yかつ加減算の場合には第1のオペランドの指数が第2
のオペランドの指数より小さいことを示す信号と、第1
のオペランドの指数と第2のオペランドの指数との差の
絶対値Y−Xとを出力するように前記(n+1)ビット
反転器の結果を選択し、乗算の場合には積指数X+Y−
Bを出力するように前記第1の減算結果Pを選択し、除
算の場合には商指数X−Y+Bを出力するように前記第
2の減算結果Qを選択するものである。
【0016】
【作用】上記本発明に係る第1の算術演算装置によれ
ば、単一加算及び単一減算の場合には桁合せ手段、第1
及び第2の選択手段並びに加減算手段が、単一乗算及び
単一除算の場合には乗除算手段、第1及び第2の選択手
段並びに加減算手段がそれぞれ仮数処理に用いられる。
つまり、加減算の場合の桁合せされた2つの仮数の処理
と、乗除算の場合の中間積又は中間商の処理とが、同一
の加減算手段で行われる。
【0017】上記本発明に係る第2の算術演算装置によ
れば、単一加算及び単一減算の場合には第1及び第2の
選択手段、桁合せ手段並びに加減算手段が、単一乗算及
び単一除算の場合には乗除算手段、第1及び第2の選択
手段、桁合せ手段並びに加減算手段がそれぞれ仮数処理
に用いられる。つまり、加減算の場合の2つの仮数の丸
めを伴う桁合せ加減算処理と、乗除算の場合の積又は商
の所要のビット数への丸め加算処理とが、同一の桁合せ
手段及び加減算手段で行われる。
【0018】上記本発明に係る指数演算装置によれば、
加減算の場合には指数差の絶対値が、乗算の場合にはI
EEE754規格に適合した積指数が、除算の場合には
IEEE754規格に適合した商指数がそれぞれ得られ
る。
【0019】
【実施例】以下、本発明の実施例について図面を参照し
ながら説明する。
【0020】(実施例1)図1は、本発明の第1の実施
例に係る浮動小数点算術演算装置の構成図である。図1
において、11は第1の指数演算装置で、これは、加減
算では2つの指数入力Ex,Eyの指数差の絶対値を求
めるとともに、演算結果から仮数の入換えを行うか否か
を決定するスワップ信号SWを生成し、指数差の絶対値
を右シフト量RSAとして出力し、乗算ではEx,Ey
の積指数Ezを、除算ではEx,Eyの商指数Ezをそ
れぞれ求めるものである。12は第1の指数演算装置1
1における演算結果Ez及び指数入力Ex,Eyの3つ
のうちから1つを選択する指数セレクタである。13は
指数セレクタ12の出力と定数との加減算を行う第2の
指数演算装置である。
【0021】15は第1の指数演算装置11で生成され
たスワップ信号SWに従い、X,Yの2つの入力をA=
X,B=Y又はA=Y,B=Xとして出力するスワッパ
である。16は第1の指数演算装置11から出力される
右シフト量RSAに基づき、スワッパ15のB側の出力
を右シフトするとともに、丸め用のビットを生成する右
シフタである。24は2つの仮数入力Mx,Myについ
て乗算を行い、中間和S及び桁上げCを出力する乗算器
である。17はスワッパ15のA側の出力と乗算器24
の出力Sとのどちらか一方を選択する第1の仮数セレク
タである。18は右シフタ16の出力と乗算器24の出
力Cとのどちらか一方を選択する第2の仮数セレクタで
ある。19は演算の種類に応じて、第1の仮数セレクタ
17の出力を右シフトした結果を出力したり、第1の仮
数セレクタ17の出力をそのまま出力したりする1ビッ
ト右シフタである。同様に、20は第2の仮数セレクタ
18の出力を右シフトした結果を出力したり、第2の仮
数セレクタ18の出力をそのまま出力したりする1ビッ
ト右シフタである。21は1ビット右シフタ19,20
の出力に対して加減算及び丸めを行う加減算器である。
22は、加減算器21の出力の中の最初の“1”の位置
を検出することで先行する“0”の数を求め、これを左
シフト量LSAとして出力するプライオリティ・エンコ
ーダである。23は左シフト量LSAに基づき加減算器
21の出力を左シフトする左シフタである。14は第2
の指数演算装置13の出力からプライオリティ・エンコ
ーダ22で得られた左シフト量LSAを減じる第3の指
数演算装置である。
【0022】以上のように構成された浮動小数点算術演
算装置についての動作を説明する。浮動小数点加減算を
行う場合には、まず、指数差を求め、小さい方の指数を
持つ仮数をこの指数差だけ右シフトして桁合せを行う必
要がある。
【0023】このために、第1の指数演算装置11にお
いて指数差(Ex−Ey)が演算され、その絶対値を右
シフト量RSAとして求める。一方、2つの指数Ex,
Eyの大小はEx−Eyの演算において最上位ビットか
ら生じるボローがあるか否かで判断でき、ボローがあれ
ばEx−Ey<0すなわちEx<Eyであるので、この
ボローをスワップ信号SWとして出力する。また、指数
セレクタ12では、ボローの値に従ってEx,Eyの指
数のうち大きい方を第2の指数演算装置13に出力す
る。
【0024】更に、2つの仮数Mx,Myはスワッパ1
5に入力され、スワップ信号SWがSW=1すなわちE
x<EyであればA=My,B=Mxとし、またスワッ
プ信号SWがSW=0すなわちEx≧EyであればA=
Mx,B=Myとしてそれぞれ出力する。このことによ
り、小さい方の指数を持つオペランドの仮数が常に右シ
フタ16に入力される。右シフタ16では、スワッパ1
5のB側の出力を右シフト量RSAに従って右シフト
し、第2の仮数セレクタ18に出力する。この動作によ
って仮数の桁合せが完了する。以上のように桁合せされ
た仮数を演算するために、第1の仮数セレクタ17はス
ワッパ15のA側の出力を選択して1ビット右シフタ1
9に出力し、第2の仮数セレクタ18は右シフタ16の
出力を選択して1ビット右シフタ20に出力する。
【0025】次に、桁合せして得られた仮数について加
減算及び丸めを行うが、IEEE754規格に規定され
る丸めを実現するには、丸め用のビットが少なくとも2
ビット必要になる。このうち下位側の1ビットは、ステ
ィッキー・ビットと呼ばれ、この桁から下の桁全てが0
であるか否かを表すものである。
【0026】ところで、丸め用の2ビットを上位側から
r,sとすると、丸め前の演算結果は以下の3通りにな
る。ここで、「*」は“1”又は“0”を示す。
【0027】 (a) 1*.***…*rs (b) 1.***…**rs (c) 0.***…***rs
【0028】丸めによる桁上げは上述したrの位置から
上位側に発生するので、このままでは桁上げ位置を3通
り用意しなければならない。しかし、加減算において
は、同符号の浮動小数点数について加算を行うかあるい
は異符号の浮動小数点数について減算を行う場合(以下
簡単のために、仮数に桁上げが生じる場合と呼ぶ)は、
結果は(a),(b)のどちらかにしかならず、またこ
れ以外の場合は(b),(c)のどちらかにしかならな
い。本実施例では、仮数に桁上げが生じる場合は1ビッ
ト右シフタ19,20で入力を右へ1ビットシフトし、
加減算器21に出力する。また仮数に桁上げが生じない
場合は、1ビット右シフタ19,20でシフトを行わ
ず、入力をそのまま加減算器21に出力する。このよう
に1ビット右シフタ19,20によって仮数に桁上げが
ある場合でも(b),(c)として扱うことができ、丸
めの桁上げ位置を2通りに減少させることができる。1
ビット右シフタ19,20でシフトが行われた場合は、
指数を補正する必要があるので、第2の指数演算装置1
3では、入力に1を加えた結果を第3の指数演算装置1
4に出力する。これ以外の場合は、指数の補正の必要は
ないので、第2の指数演算装置13では、入力をそのま
ま第3の指数演算装置14に出力する。
【0029】こうして得られた1ビット右シフタ19,
20の出力を加減算器21に入力し、加減算と丸めを行
い、加減算結果をプライオリティ・エンコーダ22及び
左シフタ23に出力する。
【0030】本実施例では、右シフタ16でシフトが行
われる際に丸めのためのスティッキー・ビットsを生成
するが、この時、(b)のsの位置を下位に1ビットず
らすことで、sの位置を(c)と共通にし、右シフタ1
6のハードウェア量を減らしている。sの位置をずらす
ことで増加する丸めビットをgとすると、丸め前の演算
結果が(b)及び(c)となる時の仮数の組合せは、そ
れぞれ図2(a)及び図2(b)のとおりである。ここ
で、x,yは“1”又は“0”を示す。
【0031】さて、加減算器21では、加減算と丸めは
以下のように実現される。2つの入力に対して図2
(a)のgより上位の桁について加減算を行い、最下位
桁からの桁上げがあった場合の演算結果Z1と、桁上げ
がなかった場合の演算結果Z0の両方を用意する。一
方、g以下の桁に対して、図2(a)及び図2(b)の
それぞれの場合のgの桁からの桁上げCgb,Cgcを
演算する。図2(a)の場合はgrsによる丸めの桁上
げがCgbとなるが、図2(b)の場合はrsによる丸
めの桁上げとgの桁の値とによってCgcが決定する。
加減算器21の出力は、演算結果Z1,Z0の最上位桁
の値と、桁上げCgb,Cgcと、仮数に対して加算が
行われたか減算が行われたかとによって、gより上位の
桁についてはZ1,Z0のどちらかとなり、gの桁は演
算結果か0のどちらかとなる。以上のようにして、加減
算と丸めとを1つの加減算器21で実現する。
【0032】プライオリティ・エンコーダ22では、入
力について最初の“1”の位置を検出するが、これはす
なわち先行する“0”の数を求めることであり、これに
よって加減算器21の加減算結果を正規化するための左
シフト量LSAを得る。左シフタ23では、プライオリ
ティ・エンコーダ22の出力である左シフト量LSAに
従って加減算器21の出力を左シフトし、正規化された
仮数を出力する。第3の指数演算装置14は、第2の指
数演算装置13の出力からプライオリティ・エンコーダ
22の出力である左シフト量LSAを減じることで、指
数を補正して出力する。以上のような動作によって浮動
小数点加減算が実行できる。
【0033】次に、浮動小数点乗算を行う場合の動作を
説明する。浮動小数点乗算を行う場合は、まず、第1の
指数演算装置11においてEx,Eyの積指数Ezを求
める。求められた積指数Ezは指数セレクタ12で選択
され、第2の指数演算装置13に入力される。仮数M
x,Myは乗算器24で乗算され、乗算結果を中間和S
及び桁上げCの形で出力する。第1の仮数セレクタ17
は中間和Sを選択して1ビット右シフタ19に出力し、
第2の仮数セレクタ18は桁上げCを選択して1ビット
右シフタ20に出力する。
【0034】浮動小数点乗算では、丸める前の加算結果
が常に(a),(b)のどちらかであるために、1ビッ
ト右シフタ19,20で入力を右へ1ビットシフトす
る。1ビット右シフタ19,20の出力は加減算器21
で加算され、丸めて仮数の乗算結果を得る。以降、プラ
イオリティ・エンコーダ22、左シフタ23及び第3の
指数演算装置14における動作は前記した浮動小数点加
減算を行う場合と同じである。
【0035】一方、第1の指数演算装置11では、指数
のバイアスをBとして積指数Ez=Ex+Ey−Bを得
て、指数セレクタ12に出力する。指数セレクタ12は
第1の指数演算装置11の出力を選択し、第2の指数演
算装置13に入力する。1ビット右シフタ19,20に
おいてシフトが行われたので、第2の指数演算装置13
では、入力に1を加えた結果を第3の指数演算装置14
に出力する。第3の指数演算装置14における動作は前
記した浮動小数点加減算を行う場合と同じである。以上
のようにして浮動小数点乗算が実行できる。
【0036】次に、浮動小数点除算を行う場合の動作を
説明する。Yの仮数の逆数を格納したROM(Read Onl
y Memory)を用いてX/Yの除算を行う。いま、Xの指
数及び仮数をそれぞれXe,Xfとし、Yの指数及び仮
数をそれぞれYe,Yfとする。まず、仮数Yfの逆数
を不図示のROMから読出し、図1のMyとして乗算器
24に入力する。一方、仮数Xfを図1のMxとして乗
算器24に入力し、乗算結果Mx・My=Xf/Yfを
中間和S及び桁上げCとして得る。第1の仮数セレクタ
17は中間和Sを選択して1ビット右シフタ19に出力
し、第2の仮数セレクタ18は桁上げCを選択して1ビ
ット右シフタ20に出力する。
【0037】浮動小数点除算では、丸める前の加算結果
が常に(b),(c)のどちらかであるために、1ビッ
ト右シフタ19,20は入力をそのまま加減算器21に
出力する。1ビット右シフタ19,20の出力は加減算
器21で加算され、丸めて仮数の除算結果を得る。以
降、プライオリティ・エンコーダ22、左シフタ23に
おける動作は前記した浮動小数点加減算を行う場合と同
じである。
【0038】一方、指数Xe,Yeをそれぞれ図1のE
x,Eyとして第1の指数演算装置11に入力する。第
1の指数演算装置11では、指数のバイアスをBとして
商指数Ez=Ex−Ey+Bを得て、指数セレクタ12
に出力する。指数セレクタ12は第1の指数演算装置1
1の出力を選択し、第2の指数演算装置13に入力す
る。1ビット右シフタ19,20においてシフトが行わ
れないので、第2の指数演算装置13では入力をそのま
ま第3の指数演算装置14に出力する。第3の指数演算
装置14における動作は前記した浮動小数点加減算を行
う場合と同じである。以上のようにして、浮動小数点除
算が実行できる。
【0039】以上のように本実施例によれば、スワッパ
15と右シフタ16とで構成される桁合せ手段の出力と
乗算器24の出力とを、第1及び第2の仮数セレクタ1
7,18で演算の種類に応じて選択することにより、加
減算及び乗除算で加減算器21を共用することができ
る。また、1ビット右シフタ19,20を設けることに
より、仮数の桁上がりに対する指数の補正を仮数の加減
算と並列に行うことができ、処理を高速に行うことが可
能になる。
【0040】なお、本実施例では、乗算器24の出力を
中間和S及び桁上げCの形の中間値として加減算器21
で加算したが、冗長2進数を使用した乗算器が出力する
ように乗算結果を正数及び負数の中間値とし、加減算器
21で正数から負数を減じる演算を行っても良い。
【0041】また、指数セレクタ12と第2の指数演算
装置13との間、及び第2の指数演算装置13と第3の
指数演算装置14との間にそれぞれ指数レジスタを挿入
し、また第1の仮数セレクタ17と1ビット右シフタ1
9との間、第2の仮数セレクタ18と1ビット右シフタ
20との間、及び加減算器21とプライオリティ・エン
コーダ22との間にそれぞれ仮数レジスタを挿入すれ
ば、パイプライン化された浮動小数点算術演算装置が実
現できる。これによれば、1演算命令の実行中では各パ
イプラインステージに割り当てられた回路ブロックをそ
れぞれ1回しか使用しないので、パイプライン制御方式
のメリットを十分に引き出した高速処理が可能となる。
【0042】(実施例2)図3は、本発明の第2の実施
例に係る浮動小数点算術演算装置の構成図である。図3
において、図1と同じ機能を有するものには同じ符号を
付してその詳細な説明を省略し、図1と異なる機能を有
するものについてのみ説明する。
【0043】25は仮数Mx,Myの乗算を行い、結果
を(n+m)ビットで出力する乗算器である。26は仮
数Mxと乗算器25の出力の上位nビットとのうちのど
ちらか一方を選択する第1の仮数セレクタである。27
は仮数Myと乗算器25の出力の下位mビットとのうち
のどちらか一方を選択する第2の仮数セレクタである。
28は論理ゲートで、制御信号SWEに従って、第1の
指数演算装置11から出力されるスワップ信号SWを0
にして出力したり、スワップ信号SWをそのまま出力し
たりするものである。29は第1の指数演算装置11か
ら出力される右シフト量ERSAと不図示の制御部が決
定する右シフト量CRSAとのうちのどちらか一方を選
択して右シフト量RSAとするシフト量セレクタであ
る。
【0044】以上のように構成された浮動小数点算術演
算装置についての動作を説明するが、基本的な動作は第
1の実施例と殆ど同じであるので、第1の実施例と動作
が異なる部分について説明を行う。
【0045】浮動小数点加減算を行う場合は、第1の仮
数セレクタ26で仮数Mxを選択してスワッパ15のX
側の入力に出力し、第2の仮数セレクタ27で仮数My
を選択してスワッパ15のY側の入力に出力する。論理
ゲート28では第1の指数演算装置11から出力された
スワップ信号SWがそのまま出力される。スワッパ15
は論理ゲート28の出力を新たにスワップ信号とし、第
1の実施例で説明した動作を行う。シフト量セレクタ2
9は第1の指数演算装置11から出力される右シフト量
ERSAを選択して右シフト量RSAとし、右シフタ1
6に出力する。右シフタ16は第1の実施例で説明した
動作を行う。スワッパ15のA側の出力は1ビット右シ
フタ19に入力され、右シフタ16の出力は1ビット右
シフタ20に入力される。以上で説明したもの以外の構
成要素は、第1の実施例に説明した動作を行い、浮動小
数点加減算を実行する。
【0046】一方、浮動小数点乗算を行う場合は、乗算
器25で仮数Mx,Myの乗算が行われ、その結果を
(n+m)ビットで出力する。この場合の浮動小数点乗
算においては、乗算器25の演算結果のうち、上位nビ
ットのみが有効な数となり、下位mビットは丸め用ビッ
トを生成するために使用されるので、第1の仮数セレク
タ26では乗算器25の乗算結果の上位nビットを選択
してスワッパ15のX側に出力し、第2の仮数セレクタ
27では乗算器25の乗算結果の下位mビットを選択し
てスワッパ15のY側に出力する。論理ゲート28では
スワップ信号SWを0として出力する。スワッパ15は
論理ゲート28の出力を新たにスワップ信号とし、第1
の実施例で説明した動作を行う。シフト量セレクタ29
は不図示の制御部が決定する右シフト量CRSAを選択
して右シフト量RSAとし、右シフタ16に出力する。
右シフタ16は右シフト量RSAに従ってスワッパ15
のB側の出力を右シフトする。このとき、右シフト量C
RSAはmであり、乗算結果の下位mビットをmビット
だけ右シフトすることで、丸め用ビットが生成される。
加減算器21では1ビット右シフタ19,20の出力を
加算することにより、乗算器25の出力の上位nビット
に右シフタ16で生成された丸め用ビットを付加し、こ
れを丸めてnビットの乗算結果を得る。以上説明したも
の以外の構成要素は、第1の実施例に説明した動作を行
い、浮動小数点乗算を実行する。なお、浮動小数点除算
時の動作説明は省略する。
【0047】図4は、図1及び図3の中の第1の指数演
算装置11の内部構成を示す。図4において、53は2
つの入力IA,IBを減算する(n+1)ビットの減算
器であり、減算結果P=IA−IB及びQ=IA−(I
B+1)を出力する。51.1は制御信号CS1に従っ
て入力を反転する1ビット反転器、52は制御信号CS
3によって0を出力したり、1ビット反転器51.1の
出力をそのまま出力したりする論理ゲートである。論理
ゲート52の出力は減算器53の減数側IBの最上位ビ
ットとなり、1ビット反転器51.1の出力は減算器5
3の減数側IBの最上位から2番目のビットとなる。5
1.2〜51.nはそれぞれ制御信号CS2に従って入
力を反転する(n−1)個の1ビット反転器であり、減
算器53の減数側IBの下位(n−1)ビットには、1
ビット反転器51.2〜51.nの出力がそれぞれ接続
されている。54は減算器53のQ出力を反転して出力
する(n+1)ビットの反転器である。55は減算器5
3のQ出力、P出力及び反転器54の出力のうちから1
つを選択する出力セレクタである。
【0048】以上のように構成された指数演算装置は、
以下のように動作して、加算、減算、乗算及び除算時の
指数の演算を行う。減算器53の被減数IAは第1の指
数入力X(Ex)であり、n個の1ビット反転器51.
1〜51.nの入力は第2の指数入力Y(Ey)であ
る。
【0049】まず、積指数X+Y−Bは、第2の指数Y
のビット反転データyを用いて、 X+Y−B=X−(B−Y) =X−(B+y+1) …(4) と表せ、 Y=Yn-1 (n-1) +Yn-2 (n-2) +…+Y1 1 +Y0 0 …(5) とすると、 y=yn-1 (n-1) +yn-2 (n-2) +…+y1 1 +y0 0 …(6) と表せる。したがって、式(6)とB=2(n-1) −1と
から、 B+y+1=2(n-1) −1+y+1 =2(n-1) +y =2n +(yn-1 +1)2(n-1) +yn-2 (n-2) +…+y0 0 …(7) と表現することができる。
【0050】ここで、yn-1 =0(Yn-1 =1)とする
と、式(7)より、 B+y+1=2n +2(n-1) +yn-2 (n-2) +…+y0 0 …(8) となる。また、yn-1 =1(Yn-1 =0)とすると、式
(7)より、 B+y+1=2n +2n +yn-2 (n-2) +…+y0 0 …(9) となる。yn-1 =1のときはB−Y>0となるので、式
(9)の右辺の第1項及び第2項は無視できる。したが
って、式(8),(9)から、 B+y+1=Yn-1 n +Yn-1 (n-1) +yn-2 (n-2) +…+y0 0 …(10) と表すことができる。
【0051】一方、商指数X−Y+Bは、バイアスBの
ビット反転データbを用いて、 X−Y+B=X−(Y−B) =X−(Y+b+1) …(11) と表せる。b+1はBの2の補数にあたるので、 b+1=2n +2(n-1) +1 …(12) である。式(5),(12)より、 Y+b+1=Yn-1 (n-1) +Yn-2 (n-2) +…+Y0 0 +2n +2(n-1) +1 =2n +(Yn-1 +1)2(n-1) +Yn-2 (n-2) +…+Y0 0 +1 …(13) と表現できる。
【0052】ここで、Yn-1 =0(yn-1 =1)とする
と、式(13)より、 Y+b+1=2n +2(n-1) +Yn-2 (n-2) +…+Y0 0 +1 …(14) となる。また、Yn-1 =1(yn-1 =0)とすると、式
(13)より、 Y+b+1=2n +2n +Yn-2 (n-2) +…+Y0 0 +1 …(15) となる。Yn-1 =1のときはY−B>0となるので、式
(15)の右辺の第1項及び第2項は無視できる。した
がって、式(14),(15)から、 Y+b+1=yn-1 n +yn-1 (n-1) +Yn-2 (n-2) +…+Y0 0 +1 …(16) と表せる。
【0053】式(10)によれば、式(4)中の減数B
+y+1は、第2の指数Yの最上位ビットと同じ値を上
位2ビットとして持ち、かつ第2の指数Yの下位(n−
1)ビットの反転を下位(n−1)ビットとして持つ
(n+1)ビットのデータであることが判る。この減数
B+y+1を第1の指数Xから減じると、積指数X+Y
−Bを得ることができる。
【0054】また、式(16)によれば、式(11)中
の減数Y+b+1は、第2の指数Yの最上位ビットの反
転を上位2ビットとして持ち、かつ第2の指数Yの下位
(n−1)ビットと同じ値を下位(n−1)ビットとし
て持つ(n+1)ビットのデータに1を加えて得られる
データであることが判る。この減数Y+b+1を第1の
指数Xから減じると、商指数X−Y+Bを得ることがで
きる。
【0055】乗算時には、1ビット反転器51.1が反
転動作を行わず、(n−1)個の1ビット反転器51.
2〜51.nが反転動作を行い、かつ論理ゲート52が
1ビット反転器51.1の出力をそのまま出力するよう
に、制御信号CS1,CS2,CS3が供給される。し
たがって、減算器53においてIA=X,IB=B+y
+1となる。この場合の減算結果Pは、 P=IA−IB =X−(B+y+1) …(17) であり、式(4)から減算結果PはX+Y−Bに等しい
ことが判る。出力セレクタ55は、この減算結果Pを積
指数Ezとして選択して出力する。
【0056】除算時には、1ビット反転器51.1が反
転動作を行い、(n−1)個の1ビット反転器51.2
〜51.nが反転動作を行わず、かつ論理ゲート52が
1ビット反転器51.1の出力をそのまま出力するよう
に、制御信号CS1,CS2,CS3が供給される。し
たがって、減算器53においてIA=X,IB=Y+b
となる。この場合の減算結果Qは、 Q=IA−(IB+1) =X−(Y+b+1) …(18) であり、式(11)から減算結果QはX−Y+Bに等し
いことが判る。出力セレクタ55は、この減算結果Qを
商指数Ezとして選択して出力する。
【0057】加減算時には、n個の1ビット反転器5
1.1〜51.nがいずれも反転動作を行わず、かつ論
理ゲート52が0を出力するように、制御信号CS1,
CS2,CS3が供給される。したがって、減算器53
においてIA=X,IB=Yとなる。この場合の2つの
減算結果P,Qは、 P=IA−IB =X−Y …(19) Q=IA−(IB+1) =X−(Y+1) …(20) である。
【0058】前記のとおり、加減算時には指数差(X−
Y)の絶対値を求める必要がある。X−Y≧0である場
合には減算器53の減算結果Pが求める絶対値となる
が、X−Y<0の場合にはY−Xを求める必要がある。
ここで、X−Y<0かどうかはX−Yの演算において最
上位ビットから生じるボローがあるか否かで判断でき、
ボローがあればX−Y<0である。一方、Y−Xは、減
算結果Qの全てのビットを反転することにより得られ
る。その理由を説明すると、 X−Y=−(Y−X) = INV(Y−X)+1 …(21) である。ここに、 INV(W)は、Wの全てのビットの反
転操作を意味するものとする。式(21)より、 INV(Y−X)=X−Y−1 =X−(Y+1) …(22) である。したがって、 Y−X= INV(X−(Y+1)) …(23) である。つまり、式(20)の減算結果Qの全てのビッ
トを(n+1)ビット反転器54で反転することによ
り、Y−Xが得られる。
【0059】加減算時には、出力セレクタ55は、減算
器53の演算で最上位ビットから生じるボローがあれば
(n+1)ビット反転器54の出力を選択し、ボローが
なければ減算器53の減算結果Pを選択する。出力セレ
クタ55の(n+1)ビット出力のうちの最上位ビット
はスワップ信号SWとしてスワッパ15へ供給され、残
りのnビットは右シフト量RSAとして右シフタ16へ
供給される。
【0060】図1及び図3の中の第1の指数演算装置1
1に図4の内部構成を採用すれば、第1〜第3の指数演
算装置11,13,14のハードウェアが加減算器を主
構成として非常に似た構成になる。したがって、図1及
び図3の浮動小数点算術演算装置をバランスの良いパイ
プライン構成にすることができる。なお、乗算器24,
25及びプライオリティ・エンコーダ22の内部構成の
説明は省略する。
【0061】
【発明の効果】以上説明してきたとおり、本発明に係る
第1の算術演算装置によれば、仮数の桁合せ手段と仮数
の乗除算手段とを並列配置した構成を採用したので、加
減算の場合の桁合せされた2つの仮数の処理と、乗除算
の場合の中間積又は中間商の処理とが同一の加減算手段
で行われる結果、少ないハードウェア量で浮動小数点数
の単一加算、単一減算、単一乗算及び単一除算を実行で
きる。
【0062】本発明に係る第2の算術演算装置によれ
ば、(n+m)ビットの積を加減算手段に分割入力する
構成を採用したので、加減算の場合の2つの仮数の丸め
を伴う桁合せ加減算処理と、乗除算の場合の所要のビッ
ト数への積又は商の丸め加算処理とが同一の手段で行わ
れる結果、少ないハードウェア量で浮動小数点数の単一
加算、単一減算、単一乗算及び単一除算を実行できる。
【0063】本発明に係る指数演算装置によれば、2つ
の減算結果P=IA−IB及びQ=IA−(IB+1)
を算出するための減算器と、減算結果Qの反転を得るた
めの(n+1)ビット反転器とを用いて、加減算の場合
の指数差の絶対値と、乗算の場合の積指数と、除算の場
合の商指数とを算出する構成を採用したので、該指数演
算装置を加減乗除算に兼用できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る浮動小数点算術演
算装置の構成を示すブロック図である。
【図2】(a)及び(b)は図1中の加減算器の動作を
説明するための図である。
【図3】本発明の第2の実施例に係る浮動小数点算術演
算装置の構成を示すブロック図である。
【図4】図1及び図3中の第1の指数演算装置の内部構
成例を示すブロック図である。
【符号の説明】
11 第1の指数演算装置 12 指数セレクタ 13 第2の指数演算装置 14 第3の指数演算装置 15 スワッパ 16 右シフタ 17 第1の仮数セレクタ 18 第2の仮数セレクタ 19,20 1ビット右シフタ 21 加減算器 22 プライオリティ・エンコーダ 23 左シフタ 24,25 乗算器 26 第1の仮数セレクタ 27 第2の仮数セレクタ 28 論理ゲート 29 シフト量セレクタ 51.1〜51.n 1ビット反転器 52 論理ゲート 53 減算器 54 (n+1)ビット反転器 55 出力セレクタ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 310 G06F 7/38 G06F 7/50

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1のオペランドの指数及び仮数として
    被加数オペランドの指数及び仮数又は被減数オペランド
    の指数及び仮数が、第2のオペランドの指数及び仮数と
    して加数オペランドの指数及び仮数又は減数オペランド
    の指数及び仮数が、第3のオペランドの指数及び仮数と
    して被乗数オペランドの指数及び仮数又は被除数オペラ
    ンドの指数及び仮数が、第4のオペランドの指数及び仮
    数として乗数オペランドの指数及び仮数又は除数オペラ
    ンドの指数及び仮数がそれぞれ与えられる浮動小数点数
    のための算術演算装置であって、 前記第1のオペランドの仮数と前記第2のオペランドの
    仮数との桁合せを行うための桁合せ手段と、 前記第3のオペランドの仮数及び前記第4のオペランド
    の仮数から、2つの中間値の形の中間積又は中間商を算
    出するための乗除算手段と、 加減算の場合には前記桁合せされた2つの仮数のうちの
    一方を、乗除算の場合には前記2つの中間値のうちの一
    方を各々第1のデータとして選択するための第1の選択
    手段と、 加減算の場合には前記桁合せされた2つの仮数のうちの
    他方を、乗除算の場合には前記2つの中間値のうちの他
    方を各々第2のデータとして選択するための第2の選択
    手段と、 前記第1及び第2のデータの加減算を行うための加減算
    手段とを備えたことを特徴とする算術演算装置。
  2. 【請求項2】 請求項1記載の算術演算装置において、 前記乗除算手段は、 前記第3のオペランドの仮数及び前記第4のオペランド
    の仮数から、中間和と桁上げとの形の中間積を生成する
    ための乗算器を備えたことを特徴とする算術演算装置。
  3. 【請求項3】 請求項1記載の算術演算装置において、 前記桁合せ手段は、 前記第1及び第2のオペランドのうちの大きい方の指数
    を持つオペランドの仮数を第1の数値とし、他方のオペ
    ランドの仮数を第2の数値として出力するためのスワッ
    パと、 前記第2の数値に右シフト処理を施すための右シフタと
    を備えたことを特徴とする算術演算装置。
  4. 【請求項4】 請求項3記載の算術演算装置において、 加減算の場合には前記第1のオペランドの指数と前記第
    2のオペランドの指数との大小関係を示す信号を前記ス
    ワッパへ供給し、かつ前記第1のオペランドの指数と前
    記第2のオペランドの指数との差の絶対値をシフト量と
    して前記右シフタへ供給し、乗除算の場合には前記第3
    のオペランドの指数及び前記第4のオペランドの指数か
    ら積指数又は商指数を算出するための第1の指数演算装
    置と、 加減算の場合には前記第1のオペランドの指数と前記第
    2のオペランドの指数とのうちの大きい方の指数を選択
    し、乗除算の場合には前記算出された積指数又は商指数
    を選択するための指数セレクタとを更に備えたことを特
    徴とする算術演算装置。
  5. 【請求項5】 請求項4記載の算術演算装置において、 前記第1の指数演算装置は、 前記第1のオペランドの指数又は前記第3のオペランド
    の指数をnビットの第1の指数Xとし、前記第2のオペ
    ランドの指数又は前記第4のオペランドの指数をnビッ
    トの第2の指数Yとし、かつ指数のバイアスをB=2
    (n-1) −1とするとき、 加減算の場合には前記第2の指数Yそのもので構成され
    るnビットの中間データを、乗算の場合には前記第2の
    指数Yの最上位ビットと前記第2の指数Yの下位(n−
    1)ビットの各々の反転とで構成されるnビットの中間
    データを、除算の場合には前記第2の指数Yの最上位ビ
    ットの反転と前記第2の指数Yの下位(n−1)ビット
    とで構成されるnビットの中間データをそれぞれ得るた
    めのn個の1ビット反転器と、 (n+1)ビットの減数データIBを得るように、加減
    算の場合には0を、乗除算の場合には前記n個の1ビッ
    ト反転器により得られたnビットの中間データの最上位
    ビットの値をそれぞれ該nビットの中間データの上位桁
    に付加するための論理ゲートと、 前記第1の指数Xを被減数データIAとして、第1の減
    算結果P=IA−IBと第2の減算結果Q=IA−(I
    B+1)とを算出するための減算器と、 前記第2の減算結果Qを構成する(n+1)ビットの各
    々の反転を得るための(n+1)ビット反転器と、 X≧Yかつ加減算の場合には前記第1のオペランドの指
    数が前記第2のオペランドの指数より小さくないことを
    示す信号と、前記第1のオペランドの指数と前記第2の
    オペランドの指数との差の絶対値X−Yとを出力するよ
    うに前記第1の減算結果Pを選択し、X<Yかつ加減算
    の場合には前記第1のオペランドの指数が前記第2のオ
    ペランドの指数より小さいことを示す信号と、前記第1
    のオペランドの指数と前記第2のオペランドの指数との
    差の絶対値Y−Xとを出力するように前記(n+1)ビ
    ット反転器の結果を選択し、乗算の場合には積指数X+
    Y−Bを出力するように前記第1の減算結果Pを選択
    し、除算の場合には商指数X−Y+Bを出力するように
    前記第2の減算結果Qを選択するための出力セレクタと
    を備えたことを特徴とする算術演算装置。
  6. 【請求項6】 請求項4記載の算術演算装置において、 前記右シフタは、丸め用ビットを生成する機能を更に備
    え、 前記加減算手段は、加減算とともに前記丸め用ビットを
    用いた丸めを行うための加減算器を備え、 前記算術演算装置は、 各々前記第1及び第2の選択手段と前記加減算手段との
    間に介在し、算術演算の種類に応じて選択的に前記第1
    及び第2のデータに1ビット右シフト処理を施すための
    2つの1ビット右シフタと、 前記指数セレクタによって選択された指数を前記1ビッ
    ト右シフト処理に応じて修正するための第2の指数演算
    装置とを更に備えたことを特徴とする算術演算装置。
  7. 【請求項7】 請求項6記載の算術演算装置において、 前記加減算手段の結果の最初の非ゼロ値ビットの位置を
    検出することにより、先行するゼロ値ビットの数を求め
    るためのプライオリティ・エンコーダと、 前記加減算手段の結果に前記求められたゼロ値ビットの
    数をシフト量とする左シフト処理を施すための左シフタ
    と、 前記第2の指数演算装置によって修正された指数を前記
    左シフト処理に応じて補正するための第3の指数演算装
    置とを更に備えたことを特徴とする算術演算装置。
  8. 【請求項8】 第1のオペランドの指数及び仮数として
    被加数オペランドの指数及び仮数又は被減数オペランド
    の指数及び仮数が、第2のオペランドの指数及び仮数と
    して加数オペランドの指数及び仮数又は減数オペランド
    の指数及び仮数が、第3のオペランドの指数及び仮数と
    して被乗数オペランドの指数及び仮数又は被除数オペラ
    ンドの指数及び仮数が、第4のオペランドの指数及び仮
    数として乗数オペランドの指数及び仮数又は除数オペラ
    ンドの指数及び仮数がそれぞれ与えられる浮動小数点数
    のための算術演算装置であって、 前記第3のオペランドの仮数及び前記第4のオペランド
    の仮数から、(n+m)ビットの積又は商を算出するた
    めの乗除算手段と、 加減算の場合には前記第1のオペランドの仮数を、乗除
    算の場合には前記(n+m)ビットの積又は商のうちの
    上位nビットを各々第1のデータとして選択するための
    第1の選択手段と、 加減算の場合には前記第2のオペランドの仮数を、乗除
    算の場合には前記(n+m)ビットの積又は商のうちの
    下位mビットを各々第2のデータとして選択するための
    第2の選択手段と、 加減算の場合には前記第1のデータと前記第2のデータ
    との桁合せを行うとともに第1の丸め用ビットを生成
    し、乗除算の場合には前記第1のデータを出力するとと
    もに前記第2のデータから第2の丸め用ビットを生成す
    るための桁合せ手段と、 加減算の場合には前記桁合せされた第1及び第2のデー
    タの加減算とともに前記第1の丸め用ビットを用いた丸
    めを行い、乗除算の場合には前記第2の丸め用ビットを
    用いて前記第1のデータの丸めを行うための加減算手段
    とを備えたことを特徴とする算術演算装置。
  9. 【請求項9】 請求項8記載の算術演算装置において、 前記桁合せ手段は、 加減算の場合には前記第1及び第2のデータに係る前記
    第1及び第2のオペランドのうちの大きい方の指数を持
    つオペランドの仮数を第1の数値としかつ他方のオペラ
    ンドの仮数を第2の数値として出力し、乗除算の場合に
    は前記第1のデータを第1の数値としかつ前記第2のデ
    ータを第2の数値として出力するためのスワッパと、 加減算の場合には前記第1及び第2の数値の桁合せを行
    うとともに前記第1の丸め用ビットを生成するように、
    乗除算の場合には前記第2の丸め用ビットを生成するよ
    うに、それぞれ前記第2の数値に右シフト処理を施すた
    めの右シフタとを備えたことを特徴とする算術演算装
    置。
  10. 【請求項10】 請求項9記載の算術演算装置におい
    て、 加減算の場合には前記第1のオペランドの指数と前記第
    2のオペランドの指数との大小関係を示す信号を前記ス
    ワッパへ供給し、かつ前記第1のオペランドの指数と前
    記第2のオペランドの指数との差の絶対値をシフト量と
    して前記右シフタへ供給し、乗除算の場合には前記第3
    のオペランドの指数及び前記第4のオペランドの指数か
    ら積指数又は商指数を算出するための第1の指数演算装
    置と、 加減算の場合には前記第1のオペランドの指数と前記第
    2のオペランドの指数とのうちの大きい方の指数を選択
    し、乗除算の場合には前記算出された積指数又は商指数
    を選択するための指数セレクタとを更に備えたことを特
    徴とする算術演算装置。
  11. 【請求項11】 請求項10記載の算術演算装置におい
    て、 前記第1の指数演算装置は、 前記第1のオペランドの指数又は前記第3のオペランド
    の指数をnビットの第1の指数Xとし、前記第2のオペ
    ランドの指数又は前記第4のオペランドの指数をnビッ
    トの第2の指数Yとし、かつ指数のバイアスをB=2
    (n-1) −1とするとき、 加減算の場合には前記第2の指数Yそのもので構成され
    るnビットの中間データを、乗算の場合には前記第2の
    指数Yの最上位ビットと前記第2の指数Yの下位(n−
    1)ビットの各々の反転とで構成されるnビットの中間
    データを、除算の場合には前記第2の指数Yの最上位ビ
    ットの反転と前記第2の指数Yの下位(n−1)ビット
    とで構成されるnビットの中間データをそれぞれ得るた
    めのn個の1ビット反転器と、 (n+1)ビットの減数データIBを得るように、加減
    算の場合には0を、乗除算の場合には前記n個の1ビッ
    ト反転器により得られたnビットの中間データの最上位
    ビットの値をそれぞれ該nビットの中間データの上位桁
    に付加するための論理ゲートと、 前記第1の指数Xを被減数データIAとして、第1の減
    算結果P=IA−IBと第2の減算結果Q=IA−(I
    B+1)とを算出するための減算器と、 前記第2の減算結果Qを構成する(n+1)ビットの各
    々の反転を得るための(n+1)ビット反転器と、 X≧Yかつ加減算の場合には前記第1のオペランドの指
    数が前記第2のオペランドの指数より小さくないことを
    示す信号と、前記第1のオペランドの指数と前記第2の
    オペランドの指数との差の絶対値X−Yとを出力するよ
    うに前記第1の減算結果Pを選択し、X<Yかつ加減算
    の場合には前記第1のオペランドの指数が前記第2のオ
    ペランドの指数より小さいことを示す信号と、前記第1
    のオペランドの指数と前記第2のオペランドの指数との
    差の絶対値Y−Xとを出力するように前記(n+1)ビ
    ット反転器の結果を選択し、乗算の場合には積指数X+
    Y−Bを出力するように前記第1の減算結果Pを選択
    し、除算の場合には商指数X−Y+Bを出力するように
    前記第2の減算結果Qを選択するための出力セレクタと
    を備えたことを特徴とする算術演算装置。
  12. 【請求項12】 請求項10記載の算術演算装置におい
    て、 各々前記桁合せ手段と前記加減算手段との間に介在し、
    算術演算の種類に応じて選択的に前記桁合せ手段の2出
    力に1ビット右シフト処理を施すための2つの1ビット
    右シフタと、 前記指数セレクタによって選択された指数を前記1ビッ
    ト右シフト処理に応じて修正するための第2の指数演算
    装置とを更に備えたことを特徴とする算術演算装置。
  13. 【請求項13】 請求項12記載の算術演算装置におい
    て、 前記加減算手段の結果の最初の非ゼロ値ビットの位置を
    検出することにより、先行するゼロ値ビットの数を求め
    るためのプライオリティ・エンコーダと、 前記加減算手段の結果に前記求められたゼロ値ビットの
    数をシフト量とする左シフト処理を施すための左シフタ
    と、 前記第2の指数演算装置によって修正された指数を前記
    左シフト処理に応じて補正するための第3の指数演算装
    置とを更に備えたことを特徴とする算術演算装置。
  14. 【請求項14】 第1のオペランドの指数として被加数
    オペランドの指数又は被減数オペランドの指数が、第2
    のオペランドの指数として加数オペランドの指数又は減
    数オペランドの指数が、第3のオペランドの指数として
    被乗数オペランドの指数又は被除数オペランドの指数
    が、第4のオペランドの指数として乗数オペランドの指
    数又は除数オペランドの指数がそれぞれ与えられる浮動
    小数点数のための指数演算装置であって、 前記第1のオペランドの指数又は前記第3のオペランド
    の指数をnビットの第1の指数Xとし、前記第2のオペ
    ランドの指数又は前記第4のオペランドの指数をnビッ
    トの第2の指数Yとし、かつ指数のバイアスをB=2
    (n-1) −1とするとき、 加減算の場合には前記第2の指数Yそのもので構成され
    るnビットの中間データを、乗算の場合には前記第2の
    指数Yの最上位ビットと前記第2の指数Yの下位(n−
    1)ビットの各々の反転とで構成されるnビットの中間
    データを、除算の場合には前記第2の指数Yの最上位ビ
    ットの反転と前記第2の指数Yの下位(n−1)ビット
    とで構成されるnビットの中間データをそれぞれ得るた
    めのn個の1ビット反転器と、 (n+1)ビットの減数データIBを得るように、加減
    算の場合には0を、乗除算の場合には前記n個の1ビッ
    ト反転器により得られたnビットの中間データの最上位
    ビットの値をそれぞれ該nビットの中間データの上位桁
    に付加するための論理ゲートと、 前記第1の指数Xを被減数データIAとして、第1の減
    算結果P=IA−IBと第2の減算結果Q=IA−(I
    B+1)とを算出するための減算器と、 前記第2の減算結果Qを構成する(n+1)ビットの各
    々の反転を得るための(n+1)ビット反転器と、 X≧Yかつ加減算の場合には前記第1のオペランドの指
    数が前記第2のオペランドの指数より小さくないことを
    示す信号と、前記第1のオペランドの指数と前記第2の
    オペランドの指数との差の絶対値X−Yとを出力するよ
    うに前記第1の減算結果Pを選択し、X<Yかつ加減算
    の場合には前記第1のオペランドの指数が前記第2のオ
    ペランドの指数より小さいことを示す信号と、前記第1
    のオペランドの指数と前記第2のオペランドの指数との
    差の絶対値Y−Xとを出力するように前記(n+1)ビ
    ット反転器の結果を選択し、乗算の場合には積指数X+
    Y−Bを出力するように前記第1の減算結果Pを選択
    し、除算の場合には商指数X−Y+Bを出力するように
    前記第2の減算結果Qを選択するための出力セレクタと
    を備えたことを特徴とする指数演算装置。
JP07129940A 1994-06-07 1995-05-29 浮動小数点数のための算術演算装置 Expired - Fee Related JP3100868B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07129940A JP3100868B2 (ja) 1994-06-07 1995-05-29 浮動小数点数のための算術演算装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-125025 1994-06-07
JP12502594 1994-06-07
JP07129940A JP3100868B2 (ja) 1994-06-07 1995-05-29 浮動小数点数のための算術演算装置

Publications (2)

Publication Number Publication Date
JPH0855015A JPH0855015A (ja) 1996-02-27
JP3100868B2 true JP3100868B2 (ja) 2000-10-23

Family

ID=26461567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07129940A Expired - Fee Related JP3100868B2 (ja) 1994-06-07 1995-05-29 浮動小数点数のための算術演算装置

Country Status (1)

Country Link
JP (1) JP3100868B2 (ja)

Also Published As

Publication number Publication date
JPH0855015A (ja) 1996-02-27

Similar Documents

Publication Publication Date Title
JP2651267B2 (ja) 演算処理装置及び演算処理方法
JP4418578B2 (ja) 第1、第2、第3オペランドに浮動小数点演算を適用するためのデータ処理装置および方法
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
EP0472139A2 (en) A floating-point processor
GB2267589A (en) Performing integer and floating point division using a single SRT divider
US5148386A (en) Adder-subtracter for signed absolute values
JP5640081B2 (ja) 飽和を伴う整数乗算および乗算加算演算
JP3313560B2 (ja) 浮動小数点演算処理装置
CN111752526A (zh) 浮点相加
JP2003196079A (ja) 積和演算装置、及び積和演算方法
WO1999040508A1 (en) Fast adder/subtractor for signed floating point numbers
US5260889A (en) Computation of sticky-bit in parallel with partial products in a floating point multiplier unit
US5623435A (en) Arithmetic unit capable of performing concurrent operations for high speed operation
JP7285966B2 (ja) 多入力浮動小数点加算器
JP2511527B2 (ja) 浮動小数点演算器
US7401107B2 (en) Data processing apparatus and method for converting a fixed point number to a floating point number
JP6919539B2 (ja) 演算処理装置および演算処理装置の制御方法
JPH04355827A (ja) 開平演算装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
US6109777A (en) Division with limited carry-propagation in quotient accumulation
JP2003084969A (ja) 浮動小数点剰余演算器、情報処理装置及びコンピュータプログラム
JP3517162B2 (ja) 除算・開平演算装置
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
Shapran et al. DIVISION USING THE BASE RADIX16 NUMBER SYSTEM TO FORM FRACTION DIGITS
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000801

LAPS Cancellation because of no payment of annual fees