JPH04257921A - 浮動小数点演算器 - Google Patents
浮動小数点演算器Info
- Publication number
- JPH04257921A JPH04257921A JP3040466A JP4046691A JPH04257921A JP H04257921 A JPH04257921 A JP H04257921A JP 3040466 A JP3040466 A JP 3040466A JP 4046691 A JP4046691 A JP 4046691A JP H04257921 A JPH04257921 A JP H04257921A
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- signal
- mantissa
- processing
- 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
- 238000000034 method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、浮動小数点データに対
して演算を行う浮動小数点演算器に関するものである。
して演算を行う浮動小数点演算器に関するものである。
【0002】
【従来の技術】従来の浮動小数点演算器では、浮動小数
点データの指数部と仮数部とを異なるレジスタに取り出
し、それぞれを別々に処理した後、再び合成して演算結
果としての浮動小数点データを得ていた。
点データの指数部と仮数部とを異なるレジスタに取り出
し、それぞれを別々に処理した後、再び合成して演算結
果としての浮動小数点データを得ていた。
【0003】このような従来の浮動小数点演算器の一例
を第3図に示す。この演算器100のFRは浮動小数点
データを保持するためのレジスタで、4ワード、すなわ
ち4つの浮動小数点データを保持するための4つのレジ
スタ(FR0〜FR3)からなる。レジスタFRはバス
30を通じてメモリ装置50に接続されている。レジス
タWRはレジスタFR、処理部130,14にそれぞれ
接続された汎用のレジスタで8つのレジスタ(WR0〜
WR7)を持ち、最大8ワードのデータを保持すること
ができる。仮数部演算処理部130はレジスタFR,W
Rから出力される2つのデータ(第1データおよび第2
データ)の仮数部に対して演算処理を行い、結果をレジ
スタWRに出力する。指数部演算処理部14はレジスタ
FR,WRから出力される2つのデータ(第1データお
よび第2データ)の指数部に対して演算処理を行い、結
果をレジスタWRに出力する。演算制御部150は各部
に所定の信号を出力して演算のための制御を行う。制御
部150がレジスタFRに出力する信号111は、第1
データを出力するレジスタFR0〜FR3を指定するた
めの信号であり、信号112は第2データを出力するレ
ジスタFR0〜FR3を指定するための信号である。ま
た、信号151はデータを書き込むべきレジスタFR0
〜FR3を指定する信号であり、信号155はレジスタ
の仮数部への書き込みを指示し、一方、信号157は指
数部への書き込みを指示する信号である。処理部13,
14にそれぞれ出力される信号153,154は演算の
実行を指示する信号である。レジスタWRに出力される
信号21,22は、それぞれ第1データおよび第2デー
タを出力すべきレジスタWR0〜WR7を指定する信号
である。また、信号158はデータを書き込むレジスタ
WR0〜WR7を指定し、信号159はそのレジスタへ
のデータの書き込みを指示する信号である。
を第3図に示す。この演算器100のFRは浮動小数点
データを保持するためのレジスタで、4ワード、すなわ
ち4つの浮動小数点データを保持するための4つのレジ
スタ(FR0〜FR3)からなる。レジスタFRはバス
30を通じてメモリ装置50に接続されている。レジス
タWRはレジスタFR、処理部130,14にそれぞれ
接続された汎用のレジスタで8つのレジスタ(WR0〜
WR7)を持ち、最大8ワードのデータを保持すること
ができる。仮数部演算処理部130はレジスタFR,W
Rから出力される2つのデータ(第1データおよび第2
データ)の仮数部に対して演算処理を行い、結果をレジ
スタWRに出力する。指数部演算処理部14はレジスタ
FR,WRから出力される2つのデータ(第1データお
よび第2データ)の指数部に対して演算処理を行い、結
果をレジスタWRに出力する。演算制御部150は各部
に所定の信号を出力して演算のための制御を行う。制御
部150がレジスタFRに出力する信号111は、第1
データを出力するレジスタFR0〜FR3を指定するた
めの信号であり、信号112は第2データを出力するレ
ジスタFR0〜FR3を指定するための信号である。ま
た、信号151はデータを書き込むべきレジスタFR0
〜FR3を指定する信号であり、信号155はレジスタ
の仮数部への書き込みを指示し、一方、信号157は指
数部への書き込みを指示する信号である。処理部13,
14にそれぞれ出力される信号153,154は演算の
実行を指示する信号である。レジスタWRに出力される
信号21,22は、それぞれ第1データおよび第2デー
タを出力すべきレジスタWR0〜WR7を指定する信号
である。また、信号158はデータを書き込むレジスタ
WR0〜WR7を指定し、信号159はそのレジスタへ
のデータの書き込みを指示する信号である。
【0004】図2(a)にこの演算器100で扱うデー
タのフォーマットを示す。この1ワードのデータは全体
で32ビットで構成され、ビット0〜ビット23は仮数
部、ビット24〜31は指数部を構成している。ただし
、ビット31(MSB)は符号を表し、それが0のとき
はこのデータは正、1のときは負であることを表す。
タのフォーマットを示す。この1ワードのデータは全体
で32ビットで構成され、ビット0〜ビット23は仮数
部、ビット24〜31は指数部を構成している。ただし
、ビット31(MSB)は符号を表し、それが0のとき
はこのデータは正、1のときは負であることを表す。
【0005】次に、2つの浮動小数点データA,Bを加
算する場合を例に動作を説明する。まず、データA,B
をメモリ装置50から読み出し、それらをレジスタFR
0,FR1にそれぞれ格納する。なお、これら2のデー
タA,Bは共に正規化されており、また加算結果はレジ
スタFR2に格納するものとする。2つのデータは具体
的に、以下のような値であるとする。データは特に断ら
ない限り16進表示とする。
算する場合を例に動作を説明する。まず、データA,B
をメモリ装置50から読み出し、それらをレジスタFR
0,FR1にそれぞれ格納する。なお、これら2のデー
タA,Bは共に正規化されており、また加算結果はレジ
スタFR2に格納するものとする。2つのデータは具体
的に、以下のような値であるとする。データは特に断ら
ない限り16進表示とする。
【0006】データA: 70816000データB
: 6E7F1000 (1)データAの指数部の取り出し レジスタFR0に格納されたデータAの指数部をレジス
タWR0に取り出す。その結果、レジスタWR0の内容
は70000000となる。
: 6E7F1000 (1)データAの指数部の取り出し レジスタFR0に格納されたデータAの指数部をレジス
タWR0に取り出す。その結果、レジスタWR0の内容
は70000000となる。
【0007】具体的には、制御部150はまず、論理“
0”の信号111を出力し、第1データとしてレジスタ
FR0が保持するデータを演算処理部130,14に出
力させる。次に、指数部演算処理部14に所定の信号1
54を出力して、符号ビットを落とした形のデータ“0
1111111(2)”と第1データとの論理積を取ら
せ、また仮数部演算処理部130に所定の信号153を
出力して、“0”と第1データとの論理積を取らせる。 そして、論理“0”の信号158をレジスタWRに出力
し、また信号159を論理“1”に、すなわち有効にし
て(以下、このように表現する)上記演算結果をレジス
タWR0に書き込ませる。 (2)データAの仮数部の取り出し レジスタFR0に格納されたデータAの仮数部をレジス
タWR1に取り出す。その結果、レジスタWR1の内容
は00816000となる。
0”の信号111を出力し、第1データとしてレジスタ
FR0が保持するデータを演算処理部130,14に出
力させる。次に、指数部演算処理部14に所定の信号1
54を出力して、符号ビットを落とした形のデータ“0
1111111(2)”と第1データとの論理積を取ら
せ、また仮数部演算処理部130に所定の信号153を
出力して、“0”と第1データとの論理積を取らせる。 そして、論理“0”の信号158をレジスタWRに出力
し、また信号159を論理“1”に、すなわち有効にし
て(以下、このように表現する)上記演算結果をレジス
タWR0に書き込ませる。 (2)データAの仮数部の取り出し レジスタFR0に格納されたデータAの仮数部をレジス
タWR1に取り出す。その結果、レジスタWR1の内容
は00816000となる。
【0008】具体的には、制御部150はまず、論理“
0”の信号111を出力し、第1データとしてレジスタ
FR0が保持するデータを演算処理部130,14に出
力させる。次に、指数部演算処理部14に所定の信号1
54を出力して、“0”と第1データとの論理積を取ら
せ、また仮数部演算処理部130に所定の信号153を
出力して、“0”と第1データとの論理和を取らせる。 そして、論理“1”の信号158をレジスタWRに出力
し、また信号159を有効にして上記演算結果をレジス
タWR1に書き込ませる。 (3)データBの指数部の取り出し レジスタFR1に格納されたデータBの指数部をレジス
タWR2に取り出す。その結果、レジスタWR2の内容
は6E000000となる。
0”の信号111を出力し、第1データとしてレジスタ
FR0が保持するデータを演算処理部130,14に出
力させる。次に、指数部演算処理部14に所定の信号1
54を出力して、“0”と第1データとの論理積を取ら
せ、また仮数部演算処理部130に所定の信号153を
出力して、“0”と第1データとの論理和を取らせる。 そして、論理“1”の信号158をレジスタWRに出力
し、また信号159を有効にして上記演算結果をレジス
タWR1に書き込ませる。 (3)データBの指数部の取り出し レジスタFR1に格納されたデータBの指数部をレジス
タWR2に取り出す。その結果、レジスタWR2の内容
は6E000000となる。
【0009】この具体的な動作は、制御部150が信号
111として“1”を、信号158として“2”を出力
すること以外、(1)と同じである。 (4)データBの仮数部の取り出し レジスタFR1に格納されたデータBの仮数部をレジス
タWR3に取り出す。その結果、レジスタWR3の内容
は007F1000となる。
111として“1”を、信号158として“2”を出力
すること以外、(1)と同じである。 (4)データBの仮数部の取り出し レジスタFR1に格納されたデータBの仮数部をレジス
タWR3に取り出す。その結果、レジスタWR3の内容
は007F1000となる。
【0010】具体的な動作は、制御部150が信号11
1として“1”を、信号158として“2”を出力する
こと以外、(2)と同じである。 (5)レジスタWR0,WR2が保持するデータを比較
し、それらが一致しない場合には、レジスタWR1ある
いはレジスタWR3が保持するデータに対して所定の処
理を行って、2つのデータの桁合わせを行う。
1として“1”を、信号158として“2”を出力する
こと以外、(2)と同じである。 (5)レジスタWR0,WR2が保持するデータを比較
し、それらが一致しない場合には、レジスタWR1ある
いはレジスタWR3が保持するデータに対して所定の処
理を行って、2つのデータの桁合わせを行う。
【0011】すなわち制御部150はまず、レジスタW
Rに信号21として“0”を、信号22として“2”を
出力してレジスタWR0,WR2のデータを出力させ、
さらに演算処理部130に所定の信号153を出力して
これら2つのデータの減算を指示する。そして、レジス
タWRに信号158として“5”を出力してレジスタW
R5を指定し、信号159を有効にして上記減算の結果
をレジスタWR5に書き込ませる。その結果、レジスタ
WR5には02000000が格納されるので、そのビ
ット24〜31の8ビットの値にもとづき、レジスタW
R3のデータを8ビットだけLSB側にシフトさせ(そ
の際、MSB側には0を入力する)、レジスタWR2の
データの指数部には2を加算する。データシフトの具体
的な処理として制御部150は、レジスタWRに信号2
1として“3”を出力してレジスタWR3のデータを出
力させ、演算処理部130に所定の信号154を出力し
て、レジスタWR3からのデータをLSB側に8ビット
シフトし、MSBからは0を入力させ、さらに信号15
8として“3”を出力して信号159を有効とすること
によって、演算結果をレジスタWR3に書き込ませる。
Rに信号21として“0”を、信号22として“2”を
出力してレジスタWR0,WR2のデータを出力させ、
さらに演算処理部130に所定の信号153を出力して
これら2つのデータの減算を指示する。そして、レジス
タWRに信号158として“5”を出力してレジスタW
R5を指定し、信号159を有効にして上記減算の結果
をレジスタWR5に書き込ませる。その結果、レジスタ
WR5には02000000が格納されるので、そのビ
ット24〜31の8ビットの値にもとづき、レジスタW
R3のデータを8ビットだけLSB側にシフトさせ(そ
の際、MSB側には0を入力する)、レジスタWR2の
データの指数部には2を加算する。データシフトの具体
的な処理として制御部150は、レジスタWRに信号2
1として“3”を出力してレジスタWR3のデータを出
力させ、演算処理部130に所定の信号154を出力し
て、レジスタWR3からのデータをLSB側に8ビット
シフトし、MSBからは0を入力させ、さらに信号15
8として“3”を出力して信号159を有効とすること
によって、演算結果をレジスタWR3に書き込ませる。
【0012】これによりレジスタWR0〜WR3の内容
は次のようになる。
は次のようになる。
【0013】WR0: 70000000WR1:
00816000 WR2: 70000000 WR3: 00007F10 (6)レジスタFR0,FR1が保持するデータの符号
をチェックし、その結果にもとづいてレジスタWR1,
WR3が保持するデータの演算を行う。
00816000 WR2: 70000000 WR3: 00007F10 (6)レジスタFR0,FR1が保持するデータの符号
をチェックし、その結果にもとづいてレジスタWR1,
WR3が保持するデータの演算を行う。
【0014】2つのデータの符号を示すビット31は共
に“0”であるから、レジスタWR1,WR3のデータ
を加算し、結果はレジスタWR1に格納する。これによ
りレジスタWR1の内容は0081DF10となる。こ
の場合、レジスタWR1のデータの上位8ビットは“0
”のままであるため、指数部の値を変更する必要はない
。
に“0”であるから、レジスタWR1,WR3のデータ
を加算し、結果はレジスタWR1に格納する。これによ
りレジスタWR1の内容は0081DF10となる。こ
の場合、レジスタWR1のデータの上位8ビットは“0
”のままであるため、指数部の値を変更する必要はない
。
【0015】具体的には、制御部150はレジスタFR
0のデータの符号をチェックするため、信号111とし
て“0”を出力し、また信号154によって“1000
0000(2)”との論理積を処理部14に指示する。 この演算の結果が“0”の場合にはビット31は“0”
であり、符号は正となる。レジスタWR1,WR3のデ
ータの加算を行うときは、制御150はレジスタWRに
信号21,22としてそれぞれ“1”,“3”を、信号
158としては“1”を出力し、信号153により処理
部130に加算を指示する。そして信号159を有効と
することにより、結果はレジスタWR1に書き込まれる
。 (7)指数部と仮数部の合成 (6)の加算結果は正であって、符号ビットは“0”で
あり、最終的な結果はレジスタWR0とレジスタWR1
のデータの論理和を取り、レジスタFR2に格納するこ
とによって得られる。
0のデータの符号をチェックするため、信号111とし
て“0”を出力し、また信号154によって“1000
0000(2)”との論理積を処理部14に指示する。 この演算の結果が“0”の場合にはビット31は“0”
であり、符号は正となる。レジスタWR1,WR3のデ
ータの加算を行うときは、制御150はレジスタWRに
信号21,22としてそれぞれ“1”,“3”を、信号
158としては“1”を出力し、信号153により処理
部130に加算を指示する。そして信号159を有効と
することにより、結果はレジスタWR1に書き込まれる
。 (7)指数部と仮数部の合成 (6)の加算結果は正であって、符号ビットは“0”で
あり、最終的な結果はレジスタWR0とレジスタWR1
のデータの論理和を取り、レジスタFR2に格納するこ
とによって得られる。
【0016】すなわち、制御部150は信号21,22
をそれぞれ“0”,“1”をしてレジスタWR0,WR
1にデータを出力させ、信号153,154によって処
理部130,14に論理和を指示する。そして信号15
1を“2”としてレジスタFR2を指定し、信号155
,157を有効にして指数部および仮数部を書き込ませ
る。
をそれぞれ“0”,“1”をしてレジスタWR0,WR
1にデータを出力させ、信号153,154によって処
理部130,14に論理和を指示する。そして信号15
1を“2”としてレジスタFR2を指定し、信号155
,157を有効にして指数部および仮数部を書き込ませ
る。
【0017】
【発明が解決しようとする課題】演算器100における
処理のステップ数は演算すべきデータにより異なる。上
述した例は桁合わせを必要とする場合で、ステップ数が
最小となる場合の例であるが、それでも処理全体に7ス
テップを要している。このように処理のステップ数が多
くなる原因は、データの指数部と仮数部とを別々にレジ
スタWRに取り出して演算を行い、最後にそれらを再び
合成するという処理を行っている点にある。
処理のステップ数は演算すべきデータにより異なる。上
述した例は桁合わせを必要とする場合で、ステップ数が
最小となる場合の例であるが、それでも処理全体に7ス
テップを要している。このように処理のステップ数が多
くなる原因は、データの指数部と仮数部とを別々にレジ
スタWRに取り出して演算を行い、最後にそれらを再び
合成するという処理を行っている点にある。
【0018】本発明の目的は、このような無駄をなくし
、データの指数部と仮数部とを分離して別の記憶手段に
移動することを不要にし、処理のステップ数を減らして
処理速度の向上を計った浮動小数点演算器を提供するこ
とにある。
、データの指数部と仮数部とを分離して別の記憶手段に
移動することを不要にし、処理のステップ数を減らして
処理速度の向上を計った浮動小数点演算器を提供するこ
とにある。
【0019】
【課題を解決するための手段】本発明は、指数部と仮数
部とを含む所定ビット数のデータに対して演算を行う浮
動小数点演算器において、複数の前記データを保持する
ための第1のレジスタと、前記データの前記指数部と同
じビット数またはそれ以上のビット数の複数のデータを
保持するための第2のレジスタと、この第2のレジスタ
が保持するデータと前記第1のレジスタが保持するデー
タの仮数部とを連結したデータに対して演算を行う仮数
部演算手段と、前記第1のレジスタが保持するデータの
指数部に対して演算を行う指数部演算手段とを備えたこ
とを特徴とする。
部とを含む所定ビット数のデータに対して演算を行う浮
動小数点演算器において、複数の前記データを保持する
ための第1のレジスタと、前記データの前記指数部と同
じビット数またはそれ以上のビット数の複数のデータを
保持するための第2のレジスタと、この第2のレジスタ
が保持するデータと前記第1のレジスタが保持するデー
タの仮数部とを連結したデータに対して演算を行う仮数
部演算手段と、前記第1のレジスタが保持するデータの
指数部に対して演算を行う指数部演算手段とを備えたこ
とを特徴とする。
【0020】
【実施例】次に本発明の実施例について説明する。図1
に本発明による浮動小数点演算器の一例を示す。この演
算器10が図3の浮動小数点演算器100と異なるのは
、レジスタIRを設け、仮数部演算処理部130を仮数
部演算処理部13と置き換え、レジスタWRを削除し、
そして演算制御部150を演算制御部15で置き換えた
点である。
に本発明による浮動小数点演算器の一例を示す。この演
算器10が図3の浮動小数点演算器100と異なるのは
、レジスタIRを設け、仮数部演算処理部130を仮数
部演算処理部13と置き換え、レジスタWRを削除し、
そして演算制御部150を演算制御部15で置き換えた
点である。
【0021】レジスタIRは4つのレジスタ(IR0〜
IR3)からなり、各レジスタのビット数は、レジスタ
FRに格納されるデータの指数部と同じ8ビットである
。制御部15がレジスタIRに出力する信号121は、
第1データを出力するレジスタIR0〜IR3を指定す
るための信号であり、信号122は第2データを出力す
るレジスタIR0〜IR3を指定するための信号である
。また、信号152はデータを書き込むべきレジスタI
R0〜IR3を指定する信号であり、信号156はレジ
スタIR0〜IR3への書き込みを指示する信号である
。仮数部演算処理部13は、レジスタFRおよびレジス
タIRに接続されている。
IR3)からなり、各レジスタのビット数は、レジスタ
FRに格納されるデータの指数部と同じ8ビットである
。制御部15がレジスタIRに出力する信号121は、
第1データを出力するレジスタIR0〜IR3を指定す
るための信号であり、信号122は第2データを出力す
るレジスタIR0〜IR3を指定するための信号である
。また、信号152はデータを書き込むべきレジスタI
R0〜IR3を指定する信号であり、信号156はレジ
スタIR0〜IR3への書き込みを指示する信号である
。仮数部演算処理部13は、レジスタFRおよびレジス
タIRに接続されている。
【0022】次に、2つの浮動小数点データA,Bを加
算する場合を例に動作を説明する。まず、データA,B
をメモリ装置50から読み出し、それらをレジスタFR
0,FR1にそれぞれ格納する。なお、レジスタIRは
すべてクリアされ、各レジスタには“0”が格納されて
いるとする。このとき、各レジスタの内容は次のように
なる。
算する場合を例に動作を説明する。まず、データA,B
をメモリ装置50から読み出し、それらをレジスタFR
0,FR1にそれぞれ格納する。なお、レジスタIRは
すべてクリアされ、各レジスタには“0”が格納されて
いるとする。このとき、各レジスタの内容は次のように
なる。
【0023】
FR0: 70816000 IR0: 0
0FR1: 6E7F1000 IR1:
00FR2: ×××××××× IR2:
00FR3: ×××××××× IR3:
00(×は不定であることを表す) (1)2つのデータA,Bの桁合わせを行う(このステ
ップは、従来の演算器100の動作におけるステップ(
5)に相当する)。
0FR1: 6E7F1000 IR1:
00FR2: ×××××××× IR2:
00FR3: ×××××××× IR3:
00(×は不定であることを表す) (1)2つのデータA,Bの桁合わせを行う(このステ
ップは、従来の演算器100の動作におけるステップ(
5)に相当する)。
【0024】演算制御部15は信号111として“0”
、信号112として“1”を出力してレジスタFR0,
FR1から第1および第2データ(データA,B)を出
力させ、信号154によって減算を指数部演算処理部1
4に指示し、第1および第2データの差を計算させる。 そして、信号151として“3”を出力し、信号157
を有効とすることにより、計算結果をレジスタFR3に
格納させる。
、信号112として“1”を出力してレジスタFR0,
FR1から第1および第2データ(データA,B)を出
力させ、信号154によって減算を指数部演算処理部1
4に指示し、第1および第2データの差を計算させる。 そして、信号151として“3”を出力し、信号157
を有効とすることにより、計算結果をレジスタFR3に
格納させる。
【0025】その結果、レジスタFR3の指数部の値は
02となるので、制御部15は第2データの仮数部をL
SB側に8ビットシフトさせるための処理を行う。ただ
しその際、レジスタIR1のデータ(“00”)をレジ
スタFR1のデータの仮数部に、そのMSB側から連結
し、1つのデータとして扱う。すなわち、信号112,
122としてそれぞれ“1”を出力してレジスタFR1
,IR1からデータを出力させ、所定の信号153を出
力して処理部13に、これら2つのレジスタから出力さ
れたデータを上述のように連結してLSB側に8ビット
シフトさせ、そのときMSB側から“0”を入力するよ
う指示する。そして信号151,152として“2”を
出力し、信号155,156を有効とすることにより、
上記シフト処理の結果がレジスタIR2,FR2に格納
される。
02となるので、制御部15は第2データの仮数部をL
SB側に8ビットシフトさせるための処理を行う。ただ
しその際、レジスタIR1のデータ(“00”)をレジ
スタFR1のデータの仮数部に、そのMSB側から連結
し、1つのデータとして扱う。すなわち、信号112,
122としてそれぞれ“1”を出力してレジスタFR1
,IR1からデータを出力させ、所定の信号153を出
力して処理部13に、これら2つのレジスタから出力さ
れたデータを上述のように連結してLSB側に8ビット
シフトさせ、そのときMSB側から“0”を入力するよ
う指示する。そして信号151,152として“2”を
出力し、信号155,156を有効とすることにより、
上記シフト処理の結果がレジスタIR2,FR2に格納
される。
【0026】制御部15はまた同時に、レジスタFR0
の第1データの指数部のデータをレジスタFR2の指数
部のデータとしてレジスタFR2に格納させる。すなわ
ち、制御部15は信号111として“0”を、信号15
1として“2”を出力し、信号157を有効とする。
の第1データの指数部のデータをレジスタFR2の指数
部のデータとしてレジスタFR2に格納させる。すなわ
ち、制御部15は信号111として“0”を、信号15
1として“2”を出力し、信号157を有効とする。
【0027】以上の処理の結果、各レジスタの内容は次
のようになる。
のようになる。
【0028】
FR0: 70816000 IR0: 0
0FR1: 6E7F1000 IR1:
00FR2: 70007F10 IR2:
00FR3: 02×××××× IR3:
00(2)レジスタFR0,FR1が保持するデー
タの符号をチェックし、その結果にもとづいて第1およ
び第2データの演算を行う(このステップは、従来の演
算器100の動作におけるステップ(6)に相当する)
。
0FR1: 6E7F1000 IR1:
00FR2: 70007F10 IR2:
00FR3: 02×××××× IR3:
00(2)レジスタFR0,FR1が保持するデー
タの符号をチェックし、その結果にもとづいて第1およ
び第2データの演算を行う(このステップは、従来の演
算器100の動作におけるステップ(6)に相当する)
。
【0029】2つのデータの符号を示すビット31は共
に“0”であるから、レジスタFR0,FR2のデータ
の仮数部を加算し、結果をレジスタFR2に格納する。 ただしその際、レジスタIR0のデータ(“00”)を
レジスタFR0のデータの仮数部に、そのMSB側から
連結し、レジスタIR2のデータ(“00”)をレジス
タFR2のデータの仮数部に、そのMSB側から連結し
て2つのデータの加算を行う。つまり、図2(b)に示
すように、レジスタFRが出力するビット0〜ビット2
3までの24ビットのデータに、レジスタIRが出力す
るビット0〜ビット7までの8ビットのデータを連結し
、それを一つのデータとして加算を行う。そして加算の
結果は0081DF10となり、その上位2桁はレジス
タIR2に、下位6桁は仮数部としてレジスタFR2に
格納する。この場合には、上位2桁が“00”であるた
め、桁合わせの必要がなく、また符号を表すビット31
の値も“0”で修正の必要がないので、レジスタFR2
のデータがそのまま演算結果となる。
に“0”であるから、レジスタFR0,FR2のデータ
の仮数部を加算し、結果をレジスタFR2に格納する。 ただしその際、レジスタIR0のデータ(“00”)を
レジスタFR0のデータの仮数部に、そのMSB側から
連結し、レジスタIR2のデータ(“00”)をレジス
タFR2のデータの仮数部に、そのMSB側から連結し
て2つのデータの加算を行う。つまり、図2(b)に示
すように、レジスタFRが出力するビット0〜ビット2
3までの24ビットのデータに、レジスタIRが出力す
るビット0〜ビット7までの8ビットのデータを連結し
、それを一つのデータとして加算を行う。そして加算の
結果は0081DF10となり、その上位2桁はレジス
タIR2に、下位6桁は仮数部としてレジスタFR2に
格納する。この場合には、上位2桁が“00”であるた
め、桁合わせの必要がなく、また符号を表すビット31
の値も“0”で修正の必要がないので、レジスタFR2
のデータがそのまま演算結果となる。
【0030】加算動作を具体的に説明すると、制御部1
5はレジスタFR,IRに信号111,121としてそ
れぞれ“0”を、信号112,122としてそれぞれ“
2”を出力してレジスタIR0,FR0およびレジスタ
IR2,FR2からデータを出力させ、信号154によ
って処理部13にレジスタIRとレジスタFRのデータ
を連結して加算させる。制御部15はさらに信号151
,152として“2”を出力し、信号155,156を
有効として、加算結果をレジスタIR2,FR2に格納
させる。
5はレジスタFR,IRに信号111,121としてそ
れぞれ“0”を、信号112,122としてそれぞれ“
2”を出力してレジスタIR0,FR0およびレジスタ
IR2,FR2からデータを出力させ、信号154によ
って処理部13にレジスタIRとレジスタFRのデータ
を連結して加算させる。制御部15はさらに信号151
,152として“2”を出力し、信号155,156を
有効として、加算結果をレジスタIR2,FR2に格納
させる。
【0031】以上の処理の結果、各レジスタの内容は次
のようになる。
のようになる。
【0032】
FR0: 70816000 IR0: 0
0FR1: 6E7F1000 IR1:
00FR2: 7081DF10 IR2:
00FR3: 02×××××× IR3:
00このように本発明の浮動小数点演算器では、レ
ジスタFRに格納されたデータを、演算のため別のレジ
スタに指数部と仮数部とを分離して移動させる必要がな
い。従って、従来の演算器の動作におけるステップ(1
)〜(4)および(7)は不要となる。
0FR1: 6E7F1000 IR1:
00FR2: 7081DF10 IR2:
00FR3: 02×××××× IR3:
00このように本発明の浮動小数点演算器では、レ
ジスタFRに格納されたデータを、演算のため別のレジ
スタに指数部と仮数部とを分離して移動させる必要がな
い。従って、従来の演算器の動作におけるステップ(1
)〜(4)および(7)は不要となる。
【0033】
【発明の効果】以上説明したように本発明は、指数部と
仮数部とを含む所定ビット数のデータに対して演算を行
う浮動小数点演算器において、複数のデータを保持する
ための第1のレジスタと、データの指数部と同じビット
数またはそれ以上のビット数の複数のデータを保持する
ための第2のレジスタと、この第2のレジスタが保持す
るデータと第1のレジスタが保持するデータの仮数部と
を連結したデータに対して演算を行う仮数部演算手段と
、第1のレジスタが保持するデータの指数部に対して演
算を行う指数部演算手段とを備えている。
仮数部とを含む所定ビット数のデータに対して演算を行
う浮動小数点演算器において、複数のデータを保持する
ための第1のレジスタと、データの指数部と同じビット
数またはそれ以上のビット数の複数のデータを保持する
ための第2のレジスタと、この第2のレジスタが保持す
るデータと第1のレジスタが保持するデータの仮数部と
を連結したデータに対して演算を行う仮数部演算手段と
、第1のレジスタが保持するデータの指数部に対して演
算を行う指数部演算手段とを備えている。
【0034】すなわち、本発明の浮動小数点演算器では
、演算処理のためのレジスタを使用せず、従ってデータ
を上記第1のレジスタから他のレジスタにデータの指数
部と仮数部とを分離して移動したり、演算処理の後、指
数部および仮数部をもとのレジスタに戻し、そして浮動
小数点データを合成するといった操作は不要となる。 その結果、動作のステップ数が少なくなり、処理速度が
向上する。
、演算処理のためのレジスタを使用せず、従ってデータ
を上記第1のレジスタから他のレジスタにデータの指数
部と仮数部とを分離して移動したり、演算処理の後、指
数部および仮数部をもとのレジスタに戻し、そして浮動
小数点データを合成するといった操作は不要となる。 その結果、動作のステップ数が少なくなり、処理速度が
向上する。
【図1】本発明の浮動小数点演算器の一例を示すブロッ
ク図である。
ク図である。
【図2】図1の演算器で扱うデータを示すフォーマット
図である。
図である。
【図3】従来の浮動小数点演算器の一例を示すブロック
図である。
図である。
10 浮動小数点演算器
13 仮数部演算処理部
14 指数部演算処理部
15 演算制御部
30 バス
50 メモリ装置
FR,IR レジスタ
Claims (1)
- 【請求項1】指数部と仮数部とを含む所定ビット数のデ
ータに対して演算を行う浮動小数点演算器において、複
数の前記データを保持するための第1のレジスタと、前
記データの前記指数部と同じビット数またはそれ以上の
ビット数の複数のデータを保持するための第2のレジス
タと、この第2のレジスタが保持するデータと前記第1
のレジスタが保持するデータの仮数部とを連結したデー
タに対して演算を行う仮数部演算手段と、前記第1のレ
ジスタが保持するデータの指数部に対して演算を行う指
数部演算手段とを備えたことを特徴とする浮動小数点演
算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3040466A JPH04257921A (ja) | 1991-02-13 | 1991-02-13 | 浮動小数点演算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3040466A JPH04257921A (ja) | 1991-02-13 | 1991-02-13 | 浮動小数点演算器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04257921A true JPH04257921A (ja) | 1992-09-14 |
Family
ID=12581414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3040466A Pending JPH04257921A (ja) | 1991-02-13 | 1991-02-13 | 浮動小数点演算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04257921A (ja) |
-
1991
- 1991-02-13 JP JP3040466A patent/JPH04257921A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6097435A (ja) | 演算処理装置 | |
US6061782A (en) | Mechanism for floating point to integer conversion with RGB bias multiply | |
JPH0414385B2 (ja) | ||
US4583199A (en) | Apparatus for aligning and packing a first operand into a second operand of a different character size | |
JPH0769782B2 (ja) | マイクロプログラム可能な32ビットカスケード可能ビットスライス | |
JPS6125245A (ja) | 丸め処理回路 | |
JPH03105614A (ja) | マトリツクス演算回路 | |
JPH034936B2 (ja) | ||
JPH04257921A (ja) | 浮動小数点演算器 | |
JPS5968058A (ja) | フロ−テイング乗算器 | |
US5708800A (en) | High speed microprocessor for processing and transferring N-bits of M-bit data | |
JP3535670B2 (ja) | 浮動小数点数の仮数正規化回路 | |
JP3055558B2 (ja) | nビット演算装置 | |
JP3331682B2 (ja) | 演算装置 | |
JP3154150B2 (ja) | 演算装置 | |
JPS619725A (ja) | マイクロプログラム制御回路 | |
JP2004192405A (ja) | Simd型プロセッサ | |
JPS5932038A (ja) | 浮動小数点加算器 | |
JP2675087B2 (ja) | マイクロコンピュータ | |
JP2615746B2 (ja) | ビット操作回路 | |
JPH0329068A (ja) | 並列データ処理方式 | |
JPH0470987A (ja) | 並列データ処理方式 | |
JPS60124730A (ja) | デイジタル演算回路 | |
JPS62249228A (ja) | シフト装置 | |
JPH0869407A (ja) | データメモリを有するプロセッサ |