JPS5968058A - フロ−テイング乗算器 - Google Patents
フロ−テイング乗算器Info
- Publication number
- JPS5968058A JPS5968058A JP57178494A JP17849482A JPS5968058A JP S5968058 A JPS5968058 A JP S5968058A JP 57178494 A JP57178494 A JP 57178494A JP 17849482 A JP17849482 A JP 17849482A JP S5968058 A JPS5968058 A JP S5968058A
- Authority
- JP
- Japan
- Prior art keywords
- precision data
- data
- multiplication
- double
- result
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、フローティング演算回路に係り、特に単精度
データの乗算結果を倍N度のデータ形式で出力するベク
トル演算の高速実行に好適な70−ティング乗算器に関
するものである。
データの乗算結果を倍N度のデータ形式で出力するベク
トル演算の高速実行に好適な70−ティング乗算器に関
するものである。
フローティングデータの乗算を計算機で行なう場合、関
数演算や内積演算などにおいては入力データが単精度デ
ータであってもその結果を倍精度データとして得ること
が精度を確保するうえで必要な場合が往々にしであるが
、従来にあっては結果が迅速に得られなかったり、迅速
に得られるにしても精度が十分でないというのが実状で
ある。
数演算や内積演算などにおいては入力データが単精度デ
ータであってもその結果を倍精度データとして得ること
が精度を確保するうえで必要な場合が往々にしであるが
、従来にあっては結果が迅速に得られなかったり、迅速
に得られるにしても精度が十分でないというのが実状で
ある。
例えば指数部が16進のべき乗で表現され、単精度と倍
精度の指数部でのビット数が同一であるデータフォーマ
ットを採用している計算機においては、単精度データの
まま乗算を行ないその結果を倍精度データとして得るこ
とは容易となっている。
精度の指数部でのビット数が同一であるデータフォーマ
ットを採用している計算機においては、単精度データの
まま乗算を行ないその結果を倍精度データとして得るこ
とは容易となっている。
しかし力から、16進のべき乗で指数部が表現される場
合には、仮数部を正規化した場合でも仮数部の先頭3ビ
ツト内にOが生じる場合があることから、仮数部を表現
するビット数分だけの精度が得られないものとなってい
る。このため指数部を2のべき乗で表現し、且つ倍精度
である場合には表現し得る数の範囲をINK拡大すべく
単精度の指数部よりはビット長が大とされたフォーマッ
トを採用することが行なわれている。この例としては例
えば、IEEE Computer marCh 19
8L I)I)51−62”A propoaed 5
tandard for BinaryFloatin
g−point Arithmetic”で開示されて
いるIEEE 標準フォーマットが挙げられる。しか
しながら、これらのフォーマットによる場合は単精度と
倍精度の指数部でのビット長が異なることから、単精度
データは倍精度データに変換されなければならないもの
となっている。即ち、単精度データの演算結果を結果的
−倍精度データとして得るためには単精度データは演算
に先立って先ず倍精度データに一旦変換される必要があ
り、しかる後倍精度演算が行なわれるというものである
。
合には、仮数部を正規化した場合でも仮数部の先頭3ビ
ツト内にOが生じる場合があることから、仮数部を表現
するビット数分だけの精度が得られないものとなってい
る。このため指数部を2のべき乗で表現し、且つ倍精度
である場合には表現し得る数の範囲をINK拡大すべく
単精度の指数部よりはビット長が大とされたフォーマッ
トを採用することが行なわれている。この例としては例
えば、IEEE Computer marCh 19
8L I)I)51−62”A propoaed 5
tandard for BinaryFloatin
g−point Arithmetic”で開示されて
いるIEEE 標準フォーマットが挙げられる。しか
しながら、これらのフォーマットによる場合は単精度と
倍精度の指数部でのビット長が異なることから、単精度
データは倍精度データに変換されなければならないもの
となっている。即ち、単精度データの演算結果を結果的
−倍精度データとして得るためには単精度データは演算
に先立って先ず倍精度データに一旦変換される必要があ
り、しかる後倍精度演算が行なわれるというものである
。
しかし、このようにして演算を行なう場合は変換処理や
倍精度乗算処理に多くの時間を要することになり、著し
く性能が低下することとなるものである。
倍精度乗算処理に多くの時間を要することになり、著し
く性能が低下することとなるものである。
よって本発明の目的は、単精度と倍精度の指数部でのビ
ット数が異なる場合に、単精度データの乗算結果が結果
的に倍精度データとして迅速に、しかも精度良好にして
得られるフローティング乗算器を供するにある。
ット数が異なる場合に、単精度データの乗算結果が結果
的に倍精度データとして迅速に、しかも精度良好にして
得られるフローティング乗算器を供するにある。
この目的のため本発明は、単精度データにおける指数部
の加算演算、仮数部の乗算演算を行なうようにするが、
その際その加算結果は乗算結果如何によって補正される
ようになしたものであり、このようにして得た加算結果
および乗算結果を倍精度データ形式に配列することによ
って結果的に単精度データ乗算結果を倍精度データの乗
算結果として得るようにしたものである。
の加算演算、仮数部の乗算演算を行なうようにするが、
その際その加算結果は乗算結果如何によって補正される
ようになしたものであり、このようにして得た加算結果
および乗算結果を倍精度データ形式に配列することによ
って結果的に単精度データ乗算結果を倍精度データの乗
算結果として得るようにしたものである。
以下、本発明を第1図から第13図によシ説明する。
先ず第1図から第4図によシ本発明に係るプロセッサの
概要について説明する。第1図はその全体構成を示すが
、これによるとホス)(HO8T)コンピュータ1はイ
ンタ7工イス部2を介し演算ユニット3、レジスタファ
イル4、メモリ部5およびアドレス演算部6、更にはマ
イクロプログラムコントローラ7に接続されており、マ
イクロプログラム内容が可変とされたマイクロプログラ
ムコントローラ7はホストコンピュータ1による制御下
にそのマイクロプログラムを実行することによって演算
ユニット3やアドレス演算部6などに制御タイミング信
号やアドレス信号などを出力するものとなっている。こ
のようにしてなるプロセッサの構成は特に新規なもので
はないが、本発明はその構成における演算ユニットの一
部を構成する乗算器に関するものである。
概要について説明する。第1図はその全体構成を示すが
、これによるとホス)(HO8T)コンピュータ1はイ
ンタ7工イス部2を介し演算ユニット3、レジスタファ
イル4、メモリ部5およびアドレス演算部6、更にはマ
イクロプログラムコントローラ7に接続されており、マ
イクロプログラム内容が可変とされたマイクロプログラ
ムコントローラ7はホストコンピュータ1による制御下
にそのマイクロプログラムを実行することによって演算
ユニット3やアドレス演算部6などに制御タイミング信
号やアドレス信号などを出力するものとなっている。こ
のようにしてなるプロセッサの構成は特に新規なもので
はないが、本発明はその構成における演算ユニットの一
部を構成する乗算器に関するものである。
第2図はその演算ユニットの構成を示したものであり、
図示の如く32ビット乗算器1oと64ビツト加算器1
1とから主に構成されるようになっている。このうち乗
算器1oは4段のステージ回路10−1〜10−4より
なるパイプライン乗算器として構成され、また、加算器
11は3段のステージ回路11−1〜11−3よシなる
パイプライン加算器として構成され例えば米国特許第4
、075.704号で例示されているようなパイプライ
ン加算器とされる。乗算器1oについては後に詳述する
ところであるが、乗算器1oへの乗算データの入力は3
2ビット乗算器右入力信号バス14および32ビット乗
算器左入力信号バス15より行なわれる。また、その出
方である乗算結果のうち上位32ビツトは16ピツトデ
ータバス16の他、信号線21.18によってそれぞれ
32ビット加算器右入力信号バス12、レジスタファイ
ルに送出される一方、その下位32ビツトは信号線22
によって加算器J1に圧入力下32ビットとして入力さ
れるようになっている。一方、加算器11への加算デー
タの入力は単精度データの場合は勿論のこと、倍精度デ
ータが2度に分けて入力される場合も原則として加算6
右入力信号バス12および32ピット加X6左入力信号
バス13を介して行なわれる。但し、倍精度データの場
合に乗算器10より圧入力下32ビットが、加算器11
より圧入力下32ビットが与えられる場合には右入力上
32ビツト、左入力上32ビツトのみが加算6右入力信
号バス12および加算器在入力信号バス13より入力さ
れるようになっている。
図示の如く32ビット乗算器1oと64ビツト加算器1
1とから主に構成されるようになっている。このうち乗
算器1oは4段のステージ回路10−1〜10−4より
なるパイプライン乗算器として構成され、また、加算器
11は3段のステージ回路11−1〜11−3よシなる
パイプライン加算器として構成され例えば米国特許第4
、075.704号で例示されているようなパイプライ
ン加算器とされる。乗算器1oについては後に詳述する
ところであるが、乗算器1oへの乗算データの入力は3
2ビット乗算器右入力信号バス14および32ビット乗
算器左入力信号バス15より行なわれる。また、その出
方である乗算結果のうち上位32ビツトは16ピツトデ
ータバス16の他、信号線21.18によってそれぞれ
32ビット加算器右入力信号バス12、レジスタファイ
ルに送出される一方、その下位32ビツトは信号線22
によって加算器J1に圧入力下32ビットとして入力さ
れるようになっている。一方、加算器11への加算デー
タの入力は単精度データの場合は勿論のこと、倍精度デ
ータが2度に分けて入力される場合も原則として加算6
右入力信号バス12および32ピット加X6左入力信号
バス13を介して行なわれる。但し、倍精度データの場
合に乗算器10より圧入力下32ビットが、加算器11
より圧入力下32ビットが与えられる場合には右入力上
32ビツト、左入力上32ビツトのみが加算6右入力信
号バス12および加算器在入力信号バス13より入力さ
れるようになっている。
また、その出力である加算結果のうち上位32ビツトは
データバス16の他、信号線17.20によってそれぞ
れレジスタファイル、加算器在入力信号バス13に送出
される一方、その下位32ビツトは信号線19によって
左入力として直接加算器11に入力されるようになって
いる。
データバス16の他、信号線17.20によってそれぞ
れレジスタファイル、加算器在入力信号バス13に送出
される一方、その下位32ビツトは信号線19によって
左入力として直接加算器11に入力されるようになって
いる。
次に第3図によりレジスタファイルについて説明すれば
、レジスタファイル4は主にFIFO(1;”1rst
−(n、 pirst−Qut ) vラスタ31と2
ポートレジスタ33とから構成されるようになっている
。Ii’IFOレジスタ31へのデータの書込は信号i
17.18からの加算器出力、乗算器出力の何れかをセ
レクタ30で選択したうえ1ビット書込信号WEを1”
の状態におくことによって、また、FIFOレジスタ3
1からのデータの加算器右入力佃号バス12、加算器在
入力信号バス13への読出は1ビット読出信号R1Eを
1”の状態におくことによって行なわれるようになって
いるものである。また、2ポートレジスタ33へのデー
タの書込は信号線17.18からの加算器出力、乗算器
出力の何れか、またはデータバス16上のデータがセレ
クタ32で選択されたうえ5ビット書込アドレス信号W
Aによって指定されたアドレスに書込されるようになっ
ている。2ポートレジスタ33からのデータの続出は筐
た5ビット読出アドレス信号RA1.FtA2によって
いる。読出アドレス信号R,AIによって読出されたデ
ータは加算益左入力信号パス13および乗算器片入力信
号バス15に、また、読出アドレス信号R,A2によっ
て読出されたデータは加算6右入力信号バス12および
乗算6右入力信号バス14に読み出されるようになって
いるものである。
、レジスタファイル4は主にFIFO(1;”1rst
−(n、 pirst−Qut ) vラスタ31と2
ポートレジスタ33とから構成されるようになっている
。Ii’IFOレジスタ31へのデータの書込は信号i
17.18からの加算器出力、乗算器出力の何れかをセ
レクタ30で選択したうえ1ビット書込信号WEを1”
の状態におくことによって、また、FIFOレジスタ3
1からのデータの加算器右入力佃号バス12、加算器在
入力信号バス13への読出は1ビット読出信号R1Eを
1”の状態におくことによって行なわれるようになって
いるものである。また、2ポートレジスタ33へのデー
タの書込は信号線17.18からの加算器出力、乗算器
出力の何れか、またはデータバス16上のデータがセレ
クタ32で選択されたうえ5ビット書込アドレス信号W
Aによって指定されたアドレスに書込されるようになっ
ている。2ポートレジスタ33からのデータの続出は筐
た5ビット読出アドレス信号RA1.FtA2によって
いる。読出アドレス信号R,AIによって読出されたデ
ータは加算益左入力信号パス13および乗算器片入力信
号バス15に、また、読出アドレス信号R,A2によっ
て読出されたデータは加算6右入力信号バス12および
乗算6右入力信号バス14に読み出されるようになって
いるものである。
最後にメモリ部5およびアドレス演算部6について第4
図により説明すれば、メモリ部5は2つの同一構成のメ
モリ(I)41およびメモリ@45よシなりその周辺回
路構成も全く同様となっている。
図により説明すれば、メモリ部5は2つの同一構成のメ
モリ(I)41およびメモリ@45よシなりその周辺回
路構成も全く同様となっている。
即ち、メモ1J41.45へのデータの書込はデータバ
ス16上のデータをメモリデータライトレジスタ42.
46にセットした状態でメモリアドレスレジスタ43.
47より書込アドレス信号を与えることによって行なわ
れるようになっている。
ス16上のデータをメモリデータライトレジスタ42.
46にセットした状態でメモリアドレスレジスタ43.
47より書込アドレス信号を与えることによって行なわ
れるようになっている。
メモリアドレスレジスタ43.47は後述するアドレス
演算部6からのアドレス信号を保持し必要な場合には保
持されているアドレス信号をインク(9) リメントしたりデクリメントするようになっている。ま
た、メモ1J41,45からのデータの続出はメモリア
ドレスレジスタ43.47よ、[出アドレス信号を与え
ることによって行なわれる。そのアドレス信号によって
指定されたアドレスより読み出されたデータはメモリデ
ータリードレジスタ40.44を介しアドレス演算部6
に出力される他、既述の信号バス12〜15や信号線4
8゜49を介してデータバス16上に出力可とされるよ
うにしてなる。次にアドレス演(資)部6について説明
すれば、アドレス演算部6は2ボートレジスタ51およ
びALU (数値論理演算部)53を含むものとなって
いる。このうち2ボートレジスタ51は4ビットアドレ
ス信号WKI、WK2に対応して2つの続出ボートを有
するものとなっておシ、また、2ボートレジスタ51へ
のデータの書込はALU53出力、データバス上のデー
タの何れかをセレクタ50によって選択したうえアドレ
ス信号WKIによって1マシンサイクルの後半に行なわ
れるものとなっている。2ボートレジスタ(10) 51の何れか一方の読出ボートからの読出データは直接
A、LU51に右入力として入力されるが、左入力はメ
モリデータリードレジスタ40.44からのメモリ続出
データの何れか、捷たけ2ボートレジスタ51の他方の
読出ボートからの続出データをセレクタ52によって選
択したものとされる。ALU51はそれら左入力、右入
力のデータにもとづき所定の演算を行なうが、その演算
結果はメモリアドレスレジスタ43.47や2ボートレ
ジスタ51にセット町となっているものである。
演算部6からのアドレス信号を保持し必要な場合には保
持されているアドレス信号をインク(9) リメントしたりデクリメントするようになっている。ま
た、メモ1J41,45からのデータの続出はメモリア
ドレスレジスタ43.47よ、[出アドレス信号を与え
ることによって行なわれる。そのアドレス信号によって
指定されたアドレスより読み出されたデータはメモリデ
ータリードレジスタ40.44を介しアドレス演算部6
に出力される他、既述の信号バス12〜15や信号線4
8゜49を介してデータバス16上に出力可とされるよ
うにしてなる。次にアドレス演(資)部6について説明
すれば、アドレス演算部6は2ボートレジスタ51およ
びALU (数値論理演算部)53を含むものとなって
いる。このうち2ボートレジスタ51は4ビットアドレ
ス信号WKI、WK2に対応して2つの続出ボートを有
するものとなっておシ、また、2ボートレジスタ51へ
のデータの書込はALU53出力、データバス上のデー
タの何れかをセレクタ50によって選択したうえアドレ
ス信号WKIによって1マシンサイクルの後半に行なわ
れるものとなっている。2ボートレジスタ(10) 51の何れか一方の読出ボートからの読出データは直接
A、LU51に右入力として入力されるが、左入力はメ
モリデータリードレジスタ40.44からのメモリ続出
データの何れか、捷たけ2ボートレジスタ51の他方の
読出ボートからの続出データをセレクタ52によって選
択したものとされる。ALU51はそれら左入力、右入
力のデータにもとづき所定の演算を行なうが、その演算
結果はメモリアドレスレジスタ43.47や2ボートレ
ジスタ51にセット町となっているものである。
なお、演算ユニットやアドレス演算部などでの動作はマ
イクロプログラムコントローラに格納されているマイク
ロプログラムの1語によって規定されるようになってい
る。また、演算ユニットやレジスタファイルなどからの
信号バスへのデータ出力も何れか1つのみしか選択され
ないようになっている。
イクロプログラムコントローラに格納されているマイク
ロプログラムの1語によって規定されるようになってい
る。また、演算ユニットやレジスタファイルなどからの
信号バスへのデータ出力も何れか1つのみしか選択され
ないようになっている。
さて、本発明によるフローティング乗算器を第5図によ
シ説明する。第5図は第2図における乗算器の構成を具
体的に示したものであるが、これ(11) によると全体は符号演算部分、指数演算部分および仮数
演算部分よりなるものとなっている。先ず第5図を具体
的に説明する前に単精度データ、倍精度データのデータ
フォーマットを第6図(a)、(b)により説明してお
く。第6図(a)、Φ)はそれぞれ単精度データ、倍精
度データのフォーマットを示すが、これによると単精度
データは全体として32ビツトよりなり符号81指数E
8、仮数Fgにはそれぞれ1ビツト、8ビツト、23ビ
ツトが割当され、しか(〜で単精度データは式(1)に
示すデータを表わすものとなっている。
シ説明する。第5図は第2図における乗算器の構成を具
体的に示したものであるが、これ(11) によると全体は符号演算部分、指数演算部分および仮数
演算部分よりなるものとなっている。先ず第5図を具体
的に説明する前に単精度データ、倍精度データのデータ
フォーマットを第6図(a)、(b)により説明してお
く。第6図(a)、Φ)はそれぞれ単精度データ、倍精
度データのフォーマットを示すが、これによると単精度
データは全体として32ビツトよりなり符号81指数E
8、仮数Fgにはそれぞれ1ビツト、8ビツト、23ビ
ツトが割当され、しか(〜で単精度データは式(1)に
示すデータを表わすものとなっている。
F!g−Bg
単精度データミ(−1,)’・2 ・1コFs・
・(1)但し、Bsは指数E8のバイアス分を、また、
Sけ1”か0”の値をとり”1”である場合にはその単
精度データは負のデータであることを、0”の場合には
正のデータであることを示すようになっている。
・(1)但し、Bsは指数E8のバイアス分を、また、
Sけ1”か0”の値をとり”1”である場合にはその単
精度データは負のデータであることを、0”の場合には
正のデータであることを示すようになっている。
また、倍精度データは全体が64ビツトよシなシ符号S
1指数ED、仮数Fnにはそれぞれ1ビツト、11ビツ
ト、52ビツトが割当され単精度(12) データの場合と同様にその倍精度データは式(2)に示
すデータを表わすものとなっている。
1指数ED、仮数Fnにはそれぞれ1ビツト、11ビツ
ト、52ビツトが割当され単精度(12) データの場合と同様にその倍精度データは式(2)に示
すデータを表わすものとなっている。
BD−BD
倍精度データ=(−1) 8・2 ・1.FD
・・・(2)但し、BDは指数EDのバイアス分を示し
ている。
・・・(2)但し、BDは指数EDのバイアス分を示し
ている。
ここでデータの乗算の態様を考えれば、3つの場合が考
えられる。その1つは2つの単精度データを乗算しその
結果を単精度データとして得る場合である。その2は単
精度データの乗算結果を倍精度データとして得る場合で
あシ、その3は2つの倍精度データを乗算しその結果を
倍精度データとした場合である。何れの乗算態様におい
ても乗算結果が負のデータとなるか正のデータとなるか
は符号Sが同一ピット状態か否かによって直ちに知れる
ものとなっている。即ち、符号Sが同一ピット状態であ
れば乗算結果は正のデータを、同一ピット状態でなけれ
ば乗算結果は負のデータを示すことになるものである。
えられる。その1つは2つの単精度データを乗算しその
結果を単精度データとして得る場合である。その2は単
精度データの乗算結果を倍精度データとして得る場合で
あシ、その3は2つの倍精度データを乗算しその結果を
倍精度データとした場合である。何れの乗算態様におい
ても乗算結果が負のデータとなるか正のデータとなるか
は符号Sが同一ピット状態か否かによって直ちに知れる
ものとなっている。即ち、符号Sが同一ピット状態であ
れば乗算結果は正のデータを、同一ピット状態でなけれ
ば乗算結果は負のデータを示すことになるものである。
問題は乗算結果における指数と仮数である。ここで2つ
の単精度データの指数をE81 z Es、とじ、しか
も乗算結果を単精(13) 度データとして得る場合を想定すると、乗算結果におけ
る指数は以下のように求められ、また変形されることに
なる。
の単精度データの指数をE81 z Es、とじ、しか
も乗算結果を単精(13) 度データとして得る場合を想定すると、乗算結果におけ
る指数は以下のように求められ、また変形されることに
なる。
(EsI Bs)+(E82−Bs)
=Est +Esx −2Bs
= (Esl+Esz Els )−Bs
−(3)即ち、E81とE82 を加えたもの
からBsを差し引く必要があるものである。同様にして
倍精度データを乗算しその結果を倍精度データとして得
る場合にも2つの指数を加えたものからBDを差し引く
必要がある。問題は単精度データを乗算しその結果を倍
精度データで得る場合である。この場合には式(3)は
式(4)のように変形され得るから、E81とE82を
加えたものから(2Bs BD)を差し引けばよいこ
とになる。
−(3)即ち、E81とE82 を加えたもの
からBsを差し引く必要があるものである。同様にして
倍精度データを乗算しその結果を倍精度データとして得
る場合にも2つの指数を加えたものからBDを差し引く
必要がある。問題は単精度データを乗算しその結果を倍
精度データで得る場合である。この場合には式(3)は
式(4)のように変形され得るから、E81とE82を
加えたものから(2Bs BD)を差し引けばよいこ
とになる。
(BslBS)+(E112 Bs)=(Esl+E
s2−2BB+Bn)BD −(4)したがって
、何れの場合でも乗算結果における符号は直ちに、また
、指数も上記のようにして求め得るが、問題はそのよう
にして求められた指数(14) は必ずしも正しくはなく、仮数の演算結果如何によって
は補正される必要があるということである。
s2−2BB+Bn)BD −(4)したがって
、何れの場合でも乗算結果における符号は直ちに、また
、指数も上記のようにして求め得るが、問題はそのよう
にして求められた指数(14) は必ずしも正しくはなく、仮数の演算結果如何によって
は補正される必要があるということである。
例えば2つの単精度データの仮数をそれぞれ1゜F s
+ 、1.F82 とした場合その乗算結果(((1
。
+ 、1.F82 とした場合その乗算結果(((1
。
F’s、 )x(1,F’82 )))は2進表示で”
100 ”未満、′1”以上となり、乗算結果が111
、・・・・・・・・・”となったり10、・・・・・・
・・・”となる場合には、乗算結果における仮数を′1
、・・・・・・・・・”といった形にすると同時に、別
途求めておいた指数には′1”を加える必要があるとい
うわけである。なお、バイアス分B s r B oは
本発明に直接間するものではないが、指数のビット数が
固定となっている場合には、表現し得るデータの範囲が
バイアス分B81 BDによって拡張されるものとなっ
ている。
100 ”未満、′1”以上となり、乗算結果が111
、・・・・・・・・・”となったり10、・・・・・・
・・・”となる場合には、乗算結果における仮数を′1
、・・・・・・・・・”といった形にすると同時に、別
途求めておいた指数には′1”を加える必要があるとい
うわけである。なお、バイアス分B s r B oは
本発明に直接間するものではないが、指数のビット数が
固定となっている場合には、表現し得るデータの範囲が
バイアス分B81 BDによって拡張されるものとなっ
ている。
さて、本発明によるフローティング乗算器の一例での構
成を第5図により説明すれば、その構成は概ね上記説明
に沿ったものとなっている。乗算されるべき2つの単精
度データあるいは倍精度データは乗算器右回力信号バス
14および乗算器左(15) 入力信号バス15より32ビット単位にフローティング
乗算器10に入力されたうえ乗算されるが、先ず符号演
算より説明すれば以下のようである。
成を第5図により説明すれば、その構成は概ね上記説明
に沿ったものとなっている。乗算されるべき2つの単精
度データあるいは倍精度データは乗算器右回力信号バス
14および乗算器左(15) 入力信号バス15より32ビット単位にフローティング
乗算器10に入力されたうえ乗算されるが、先ず符号演
算より説明すれば以下のようである。
即ち、乗算されるべき2つの単精度データあるいは倍精
度データの符号Sは第6図(a)、Φ)からも判るよう
に0番目ビット位置のビット状態として示されているか
ら、そのビット状態を排他的論理和ゲート111によっ
て比較することにより容易に知れることは明らかである
。この比較結果はレジスタ112.113を介しレジス
タ114に格納されるようになっている。レジスタ11
4に格納された符号の演算結果がこの後どのように処理
されるかは後述するところである。
度データの符号Sは第6図(a)、Φ)からも判るよう
に0番目ビット位置のビット状態として示されているか
ら、そのビット状態を排他的論理和ゲート111によっ
て比較することにより容易に知れることは明らかである
。この比較結果はレジスタ112.113を介しレジス
タ114に格納されるようになっている。レジスタ11
4に格納された符号の演算結果がこの後どのように処理
されるかは後述するところである。
次に指数演算部分について説明すれば、第6図(a)
、 (b)に示すデータフォーマットの1金目ビット位
置より11番目ビット位置までのビット状態が指数部入
力制御回路101,102に取り込まれ所定に配列制御
されたうえで11ビツト容量のレジスタ103.104
にセットされるように麦っている。この場合指数部入力
制御回路101゜(16) 102は同一構成とされその具体的構成は第7図に示す
ところであるが、これによると入力されるデータが単精
度データであるか倍精度であるかによって配列制御は異
なるものとなっている。即ち、単精度データが入力され
る場合にはその旨を示す信号S (第6図におけるもの
と異なることに注意)によって出力ゲートが所定に制御
され、レジスタ103.104の1番目ビット位置から
3番目ビット位置には0”のビット状態が、またその4
番目ビット位置より11番目ビット位#Lまでには1番
目ビット位置から8番目ビット位置までのビット状態が
右方向に3ビット分シフトされた形で入力されたうえセ
ットされるようになっているものである。また、倍精度
データが入力される場合には結果的に1番目ビット位置
から11番目ビット位@までのビット状態はそのままレ
ジスタ103゜104の対応するビット位置にセットさ
れる。これによシ単精度データであるか倍精度データで
あるかとは無関係に指数のみが抽出され、しかもそのM
SBは揃えられるものである。このようにしく17) てレジスタ103.104にセットされた指数は次に加
算器105によって加算されるが、この加算値からは指
数に対するバイアス分が加算器107によって差し引か
れるようになっている。こむでいうバイアス分とは既述
のBs= Bnまたは2BsBoでありセレクタ106
はそのうちの何れかを乗算態様に応じて選択しているわ
けである。このようにしてバイアス分が差し引かれた加
算値はレジスタ108を介しレジスタ109にセットさ
れるが、これ以後については前の場合と同様後述すると
ころである。
、 (b)に示すデータフォーマットの1金目ビット位
置より11番目ビット位置までのビット状態が指数部入
力制御回路101,102に取り込まれ所定に配列制御
されたうえで11ビツト容量のレジスタ103.104
にセットされるように麦っている。この場合指数部入力
制御回路101゜(16) 102は同一構成とされその具体的構成は第7図に示す
ところであるが、これによると入力されるデータが単精
度データであるか倍精度であるかによって配列制御は異
なるものとなっている。即ち、単精度データが入力され
る場合にはその旨を示す信号S (第6図におけるもの
と異なることに注意)によって出力ゲートが所定に制御
され、レジスタ103.104の1番目ビット位置から
3番目ビット位置には0”のビット状態が、またその4
番目ビット位置より11番目ビット位#Lまでには1番
目ビット位置から8番目ビット位置までのビット状態が
右方向に3ビット分シフトされた形で入力されたうえセ
ットされるようになっているものである。また、倍精度
データが入力される場合には結果的に1番目ビット位置
から11番目ビット位@までのビット状態はそのままレ
ジスタ103゜104の対応するビット位置にセットさ
れる。これによシ単精度データであるか倍精度データで
あるかとは無関係に指数のみが抽出され、しかもそのM
SBは揃えられるものである。このようにしく17) てレジスタ103.104にセットされた指数は次に加
算器105によって加算されるが、この加算値からは指
数に対するバイアス分が加算器107によって差し引か
れるようになっている。こむでいうバイアス分とは既述
のBs= Bnまたは2BsBoでありセレクタ106
はそのうちの何れかを乗算態様に応じて選択しているわ
けである。このようにしてバイアス分が差し引かれた加
算値はレジスタ108を介しレジスタ109にセットさ
れるが、これ以後については前の場合と同様後述すると
ころである。
さて、最後に仮数演算部分について説明すれば、この部
分においては第6図(a)、Φ)に示す仮数F8゜FD
が1. Fs、 1.−FDの形に戻されたうえ2つの
単精度データあるいは倍精度データの仮数の乗算が行な
われるようになっている。先ず乗算器右回力信号バス1
4および乗算器在入力信号バス15からの32ビット単
位の単精度データあるいは倍精度データは仮数部入力制
御回路115,116においてその仮数のみが抽出され
る。第8図はそ(18) の仮数部入力制御回路115,116の構成を示したも
のである。これによると信号S * I) L IDt
rはそれぞれ単精度データが入力される場合、倍精度デ
ータ下32ビットが入力される場合、倍精度データ上3
2ビツトが入力される場合のみ′1”の状態におかれ出
力ゲートがそれぞれの場合に応じ所定に制御されるよう
になっている。先ず単精度データが入力される場合には
そのO番目ビット位置から7番目ビット位置までのビッ
ト状態は全て0″として、また8番目ビット位置のビッ
ト状態は′1”として、更に9番目ビット位置から31
番目ビット位置までのビット状態はそのままとしてレジ
スタ117.118にセットされる。この場合8番目ビ
ット位置のビット状態を1”とおくのはFsだけでは仮
数としての用をなさないが、1.・Fsとすることによ
って初めて仮数としての意味をもつようになるからであ
る。また、倍精度データ上32ビツトが入力される場合
も同様にしてθ番目ビット位置から10査目ビット位置
までのビット状態は1″0”として、11番(19) 目ビットIffMのビット状態は1″として、12番目
ビット位置から31番目ビット位置までのビット状態は
そのままとしてレジスタ117.118にセットされる
が、倍精度データ下32ビットが入力される場合にはそ
のままレジスタ117゜118にセットされるようにな
っている。このようにしてレジスタ117,118にセ
ットされた32ビツトデータは乗算器119によって乗
算されるところとなるが、第9図はその回路構成を示し
たものである。これによると乗算器119は16ビツト
入力32ビツト出力の乗算器[201〜204よりなり
、それぞれ入力データ上位16ビツト乗算、左入力デー
タ下位16ビツトと右入力データ上位16ビツトとの乗
算、左入力データ上位16ビツトと右入力データ下位1
6ビツトとの乗算、入力データ下位16ビツト乗算を行
ない、これら4つの結果は各々レジスタ120にセット
されるようになっている。レジスタ120にセットされ
た結果は次に加算器122でセレクタ121出力と加算
されるようになっている。加算器122(20) は5人力のもので、上記4つの乗算結果についての加算
は第10図に示す組合せで64ビツト幅で行なわれるが
、セレクタ】21出力をも考慮した場合でのそれは76
ビツト幅となっている。加算器122からの加算結果は
レジスタ124にセットされるが、乗算されるべきデー
タが単精度データである場合にはその加算結果が最終的
な乗算結果として得られることになる。しかしながら、
乗算されるべきデータが倍精度データである場合は32
ビツトデータの乗算組合せは4通りあるから、単精度デ
ータの乗算に比し3マシンサイクル分だけ多くの時間を
要することになる。倍精度データの乗算の場合には下3
2ビツト乗算、下32ビットと上32ビットとの乗算、
上32ビットと下32ビットとの乗算、上32ビツト乗
算が順次行なわれつつ各乗算結果は加算器122で加算
されるが、最終的な乗算結果を得るためには各加算結果
を所定に加算することが必要となる。レジスタ124の
出力を入力とするシフタ123はそのために設けられた
ものである。単精度データの乗算(21) の場合セレクタ121の出力は勿論″O″とされるが、
倍精度データの乗算の場合にはシフタ123出力がセレ
クタ121を介し1加算入力として加算器122に入力
可とされるようになっている亀のである。シフタ123
はレジスタ124の出力をそのまま出力するか、右方向
に32ビツトシフトさせて出力するようになっている。
分においては第6図(a)、Φ)に示す仮数F8゜FD
が1. Fs、 1.−FDの形に戻されたうえ2つの
単精度データあるいは倍精度データの仮数の乗算が行な
われるようになっている。先ず乗算器右回力信号バス1
4および乗算器在入力信号バス15からの32ビット単
位の単精度データあるいは倍精度データは仮数部入力制
御回路115,116においてその仮数のみが抽出され
る。第8図はそ(18) の仮数部入力制御回路115,116の構成を示したも
のである。これによると信号S * I) L IDt
rはそれぞれ単精度データが入力される場合、倍精度デ
ータ下32ビットが入力される場合、倍精度データ上3
2ビツトが入力される場合のみ′1”の状態におかれ出
力ゲートがそれぞれの場合に応じ所定に制御されるよう
になっている。先ず単精度データが入力される場合には
そのO番目ビット位置から7番目ビット位置までのビッ
ト状態は全て0″として、また8番目ビット位置のビッ
ト状態は′1”として、更に9番目ビット位置から31
番目ビット位置までのビット状態はそのままとしてレジ
スタ117.118にセットされる。この場合8番目ビ
ット位置のビット状態を1”とおくのはFsだけでは仮
数としての用をなさないが、1.・Fsとすることによ
って初めて仮数としての意味をもつようになるからであ
る。また、倍精度データ上32ビツトが入力される場合
も同様にしてθ番目ビット位置から10査目ビット位置
までのビット状態は1″0”として、11番(19) 目ビットIffMのビット状態は1″として、12番目
ビット位置から31番目ビット位置までのビット状態は
そのままとしてレジスタ117.118にセットされる
が、倍精度データ下32ビットが入力される場合にはそ
のままレジスタ117゜118にセットされるようにな
っている。このようにしてレジスタ117,118にセ
ットされた32ビツトデータは乗算器119によって乗
算されるところとなるが、第9図はその回路構成を示し
たものである。これによると乗算器119は16ビツト
入力32ビツト出力の乗算器[201〜204よりなり
、それぞれ入力データ上位16ビツト乗算、左入力デー
タ下位16ビツトと右入力データ上位16ビツトとの乗
算、左入力データ上位16ビツトと右入力データ下位1
6ビツトとの乗算、入力データ下位16ビツト乗算を行
ない、これら4つの結果は各々レジスタ120にセット
されるようになっている。レジスタ120にセットされ
た結果は次に加算器122でセレクタ121出力と加算
されるようになっている。加算器122(20) は5人力のもので、上記4つの乗算結果についての加算
は第10図に示す組合せで64ビツト幅で行なわれるが
、セレクタ】21出力をも考慮した場合でのそれは76
ビツト幅となっている。加算器122からの加算結果は
レジスタ124にセットされるが、乗算されるべきデー
タが単精度データである場合にはその加算結果が最終的
な乗算結果として得られることになる。しかしながら、
乗算されるべきデータが倍精度データである場合は32
ビツトデータの乗算組合せは4通りあるから、単精度デ
ータの乗算に比し3マシンサイクル分だけ多くの時間を
要することになる。倍精度データの乗算の場合には下3
2ビツト乗算、下32ビットと上32ビットとの乗算、
上32ビットと下32ビットとの乗算、上32ビツト乗
算が順次行なわれつつ各乗算結果は加算器122で加算
されるが、最終的な乗算結果を得るためには各加算結果
を所定に加算することが必要となる。レジスタ124の
出力を入力とするシフタ123はそのために設けられた
ものである。単精度データの乗算(21) の場合セレクタ121の出力は勿論″O″とされるが、
倍精度データの乗算の場合にはシフタ123出力がセレ
クタ121を介し1加算入力として加算器122に入力
可とされるようになっている亀のである。シフタ123
はレジスタ124の出力をそのまま出力するか、右方向
に32ビツトシフトさせて出力するようになっている。
即ち、先ず下32ビツト乗算が行なわれる場合にはセレ
クタ121出力はg′0”とされた状態で加算器122
で加算が行なわれる。次に下32ビットと上32ビット
との乗算が行なわれる場合にはレジスタ124出力は3
2ビツト右方向にシフトされた状態でレジスタ120の
出力と加算されるようになっている。32ビツト右方向
にシフトさせるのは桁合せのためである。この抜上32
ビットと下32ビットとの乗算が行なわれるが、この場
合にはセレクタ121の出力はレジスタ124出力その
ものとされる。これは、既に前の乗算で桁合せが済まさ
れているからである。最後に上32ビツト乗算が行なわ
れるが、この場合には再び桁合せ(22) を行なうべくレジスタ124出力は右方向に32ピツト
シフトされた状態でレジスタ10出力と加算される。こ
の加算での加算結果が倍精度データ乗算における仮数の
最終的な乗算結果として得られるものである。
クタ121出力はg′0”とされた状態で加算器122
で加算が行なわれる。次に下32ビットと上32ビット
との乗算が行なわれる場合にはレジスタ124出力は3
2ビツト右方向にシフトされた状態でレジスタ120の
出力と加算されるようになっている。32ビツト右方向
にシフトさせるのは桁合せのためである。この抜上32
ビットと下32ビットとの乗算が行なわれるが、この場
合にはセレクタ121の出力はレジスタ124出力その
ものとされる。これは、既に前の乗算で桁合せが済まさ
れているからである。最後に上32ビツト乗算が行なわ
れるが、この場合には再び桁合せ(22) を行なうべくレジスタ124出力は右方向に32ピツト
シフトされた状態でレジスタ10出力と加算される。こ
の加算での加算結果が倍精度データ乗算における仮数の
最終的な乗算結果として得られるものである。
さて、以上のようにして仮数の乗算結果が求められるが
、第11図(a)〜(d)はレジスタ124にセットさ
れる仮数の最終的な乗算結果のデータフォーマットを示
したものである。このうち、第11図(a)、(b)は
単精度データ乗算に係るものを、また、第11図(C)
、(d)は倍精度データ乗算に係るものを示している。
、第11図(a)〜(d)はレジスタ124にセットさ
れる仮数の最終的な乗算結果のデータフォーマットを示
したものである。このうち、第11図(a)、(b)は
単精度データ乗算に係るものを、また、第11図(C)
、(d)は倍精度データ乗算に係るものを示している。
図示の如く単精度データ乗算に係るものは16番目ビッ
ト位置か177番目ビット置に初めて1”が現われるも
のであることが判る。
ト位置か177番目ビット置に初めて1”が現われるも
のであることが判る。
因みに188番目ビット置以降のデータが小数点以下の
データとなるから、第11図(a)のように16番目ビ
ット位置に@1″が現われる場合にはその乗算結果を1
ビツト右方向にシフトさせると同時に、指数の演算結果
に1を加える操作が必要となる。これと同様にして倍精
度データ乗算に係(23) るものにおいては24番目ビット位置以降が小数点以下
のデータと々るから、第11図(C)のような場合には
上記と同様な操作が必要となる。第5図におけるセレク
タ125,127および加算器110はその操作のため
に設けられたものである。
データとなるから、第11図(a)のように16番目ビ
ット位置に@1″が現われる場合にはその乗算結果を1
ビツト右方向にシフトさせると同時に、指数の演算結果
に1を加える操作が必要となる。これと同様にして倍精
度データ乗算に係(23) るものにおいては24番目ビット位置以降が小数点以下
のデータと々るから、第11図(C)のような場合には
上記と同様な操作が必要となる。第5図におけるセレク
タ125,127および加算器110はその操作のため
に設けられたものである。
セレクタ125は単精度データ乗算の際は16番目ビッ
ト位置のビット状態が、また、倍精度データ乗算データ
乗算の際には229目ビット位置のビット状態が1”で
ある場合に仮数の乗算結果を1ビツト右方向にシフトさ
せるべく機能するものである。また、セレクタ127は
単精度データ乗算の際は16番目ビット位置のビットを
、倍精度データ乗算の際には22番目ビット位置のビッ
トを選択出力するためのものであり、選択出力されたビ
ットは加算器110でレジスタ109からの指数演算結
果と加算されるようになっている。
ト位置のビット状態が、また、倍精度データ乗算データ
乗算の際には229目ビット位置のビット状態が1”で
ある場合に仮数の乗算結果を1ビツト右方向にシフトさ
せるべく機能するものである。また、セレクタ127は
単精度データ乗算の際は16番目ビット位置のビットを
、倍精度データ乗算の際には22番目ビット位置のビッ
トを選択出力するためのものであり、選択出力されたビ
ットは加算器110でレジスタ109からの指数演算結
果と加算されるようになっている。
これによシ指数の補正が行なわれるものである。
したがって、レジスタ114からの符号演算結果、加算
器110からの指数演算結果およびセレクタ125から
の仮数演算結果をそのときの乗算(24) 態様に応じて所定に配列し直した状態で出力するように
すれば、乗算態様に応じた乗算結果が所定のフオ、マッ
トで得られることになるものである。
器110からの指数演算結果およびセレクタ125から
の仮数演算結果をそのときの乗算(24) 態様に応じて所定に配列し直した状態で出力するように
すれば、乗算態様に応じた乗算結果が所定のフオ、マッ
トで得られることになるものである。
第12図は乗算結果を乗算態様に応じたフォーマットで
得るための出力制御回路126の構成を示した本のであ
る。これによると信号S(第6図。
得るための出力制御回路126の構成を示した本のであ
る。これによると信号S(第6図。
第7図および第8図におけるものと異なることに注意)
、S’I’D、Dはそれぞれ通常の単精度データ乗算で
ある場合、単精度データの乗算結果を倍精度データで得
る場合、通常の倍精度データ乗算である場合のみ′1”
となり、また、信号OEは1”にある場合のみ乗算結果
の乗算器10外部への出力を許容するものとなっている
。
、S’I’D、Dはそれぞれ通常の単精度データ乗算で
ある場合、単精度データの乗算結果を倍精度データで得
る場合、通常の倍精度データ乗算である場合のみ′1”
となり、また、信号OEは1”にある場合のみ乗算結果
の乗算器10外部への出力を許容するものとなっている
。
先ずSが1”である場合には信号、lj!128からの
1ビット符号演算結果は0番目ビット位首のビットとし
て出力ゲートを介し出力されるようになっている。また
、信号線129からの11ビツト指数演算結果のその4
番目ビット位置から11番目ビット位置までのビットは
1番目ビット位置から8番目ビット位置のビットとして
出力される。
1ビット符号演算結果は0番目ビット位首のビットとし
て出力ゲートを介し出力されるようになっている。また
、信号線129からの11ビツト指数演算結果のその4
番目ビット位置から11番目ビット位置までのビットは
1番目ビット位置から8番目ビット位置のビットとして
出力される。
(25)
更に信号線130からの仮数演算結果のその181玲目
ビット位置から40査目ビット位置までのビットは9番
目ビット位置から31′4目ビット位置のビットとして
出力され、残りの32番目ビット位置から63番目ビッ
ト位#までのビットは全て0”として出力されるように
なっている。また、STDが1”の場合は信号線128
からの符号演算結果は前の場合と同様0番目ビット位置
のビットとして出力され、信号1i!129からの指数
演算結果のその1番目ビット位置から11番目ピット位
置までのビットは1番目ビット位置から11番目ビット
位置までのビットとして出力されるようになっている。
ビット位置から40査目ビット位置までのビットは9番
目ビット位置から31′4目ビット位置のビットとして
出力され、残りの32番目ビット位置から63番目ビッ
ト位#までのビットは全て0”として出力されるように
なっている。また、STDが1”の場合は信号線128
からの符号演算結果は前の場合と同様0番目ビット位置
のビットとして出力され、信号1i!129からの指数
演算結果のその1番目ビット位置から11番目ピット位
置までのビットは1番目ビット位置から11番目ビット
位置までのビットとして出力されるようになっている。
信号線130からの仮数演算結果のその188番目ビッ
ト置から699番目ビット置までのビットは12番目ビ
ット位置から63番目ビット位置マでのビットとして出
力されるようになっているわけである。更にDが′1”
の場合には、信号線130からの仮数演算結果のその2
4番目ビット位置から75番目ビット位置までのビット
が12番目ビット位置から63番目ピッ(26) ト位置までのビットとして出力される他はSTDが1”
の場合と同様となっている。
ト置から699番目ビット置までのビットは12番目ビ
ット位置から63番目ビット位置マでのビットとして出
力されるようになっているわけである。更にDが′1”
の場合には、信号線130からの仮数演算結果のその2
4番目ビット位置から75番目ビット位置までのビット
が12番目ビット位置から63番目ピッ(26) ト位置までのビットとして出力される他はSTDが1”
の場合と同様となっている。
第13図はSTDが11”である場合での処理ステップ
を1ステツプ/マシンサイクルとして示すが、これより
も判るように演算データが入力されてから4マシンサイ
クルで結果が得られることになる。従来にあっては単精
度データの乗算結果を倍精度データとして出力する機能
はなく、シたがって単精度データを倍精度データに変換
してから倍精度データの乗算を行なう必要があったが、
これだと例えば所望の結果を得るまでに13マシンサイ
クルもの時間を要するものとなっている。
を1ステツプ/マシンサイクルとして示すが、これより
も判るように演算データが入力されてから4マシンサイ
クルで結果が得られることになる。従来にあっては単精
度データの乗算結果を倍精度データとして出力する機能
はなく、シたがって単精度データを倍精度データに変換
してから倍精度データの乗算を行なう必要があったが、
これだと例えば所望の結果を得るまでに13マシンサイ
クルもの時間を要するものとなっている。
単精度データの倍精度データへの変換機能を加算器(1
1)が有する場合、2つの単精度データの倍精度データ
への変換に6マシンサイクル、更に倍精度データ乗算に
7マシンサイクル要していたものである。しかしながら
、本発明による場合は、4マシンサイクルで結果が得ら
れるから、実に3倍以上の高速化が図れるものである。
1)が有する場合、2つの単精度データの倍精度データ
への変換に6マシンサイクル、更に倍精度データ乗算に
7マシンサイクル要していたものである。しかしながら
、本発明による場合は、4マシンサイクルで結果が得ら
れるから、実に3倍以上の高速化が図れるものである。
これにより例えば単精度データの内積演算を行なう場合
、第(27) 2図において乗算器入力信号バス14.15より同時に
1マシンサイクル当り1つずつ乗算器10にデータを供
給して乗算器10で単精度データ乗算を行ないその結果
を倍精度データとして得、これを信号線21.22を介
して信号線19.20からのデータと加算器11で倍精
度加算を繰り返すようにすれば、内積演算を精度落ちさ
せることなく実行することが可能となるものである。
、第(27) 2図において乗算器入力信号バス14.15より同時に
1マシンサイクル当り1つずつ乗算器10にデータを供
給して乗算器10で単精度データ乗算を行ないその結果
を倍精度データとして得、これを信号線21.22を介
して信号線19.20からのデータと加算器11で倍精
度加算を繰り返すようにすれば、内積演算を精度落ちさ
せることなく実行することが可能となるものである。
以上説明したように本発明は、単精度データにおける指
数部の加算結果は、仮数部の乗算結果如例によって補正
されるようにし、補正済指数部加算結果、符号演算結果
および仮数部乗算結果を倍精度データフォーマットとし
て出力可となしたものである。したがって、本発明によ
る場合は、単精度データの指数部のビット数が倍精度デ
ータの指数部のそれと異なる場合でも単精度データの乗
算結果が倍精度データフォーマットで速やかに得られ、
単精度データ、倍精度データの演算が混合していても高
速に演算が実行され得るという効果(28) がある。
数部の加算結果は、仮数部の乗算結果如例によって補正
されるようにし、補正済指数部加算結果、符号演算結果
および仮数部乗算結果を倍精度データフォーマットとし
て出力可となしたものである。したがって、本発明によ
る場合は、単精度データの指数部のビット数が倍精度デ
ータの指数部のそれと異なる場合でも単精度データの乗
算結果が倍精度データフォーマットで速やかに得られ、
単精度データ、倍精度データの演算が混合していても高
速に演算が実行され得るという効果(28) がある。
第1図は、本発明に係るプロセッサの全体構成を示す図
、第2図、第3図、第4図は、その構成における演算ユ
ニット、レジスタファイル、メモリ部・アドレス演算部
の構成をそれぞれ示す図、第5図は、本発明によるフロ
ーティング乗算器の構成をパイプライン構成として示す
図、第6図(a)。 (b)は、それぞれ単精度データ、倍精度データのフォ
ーマットを示す図、第7図、第8図は、それぞれ第5図
における指数部入力制御回路、仮数部入力制御回路の構
成を示す図、第9図は、第5図における乗算器の構成を
示す図、第10図は、その加算器での加算動作を説明す
るための図、第11図(a)、Φ)は、単精度データに
おける指数の乗算結果のデータフォーマットを、また、
第11図(C)。 (d)は、倍精度データにおける指数の乗算結果のデー
タフォーマットを示す図、第12図は、第5図における
出力制御回路の構成を示す図、第13図は、単精度デー
タの乗算結果を倍精度データとしく29) て出力する場合での処理のフローを示す図である。 101.102・・・指数部入力制御回路、103゜1
04.108,109.112〜114,117゜11
8.120,124・・・レジスタ、105゜107.
110.122・・・加算器、106,125゜127
・・・セレクタ、111・・・排他的論理和ゲート、1
15.116・・・仮数部入力制御回路、119・・・
乗算器、126・・・出力制御回路。 代理人 弁理士 秋本正実 (30) もq(2) 策I1図
、第2図、第3図、第4図は、その構成における演算ユ
ニット、レジスタファイル、メモリ部・アドレス演算部
の構成をそれぞれ示す図、第5図は、本発明によるフロ
ーティング乗算器の構成をパイプライン構成として示す
図、第6図(a)。 (b)は、それぞれ単精度データ、倍精度データのフォ
ーマットを示す図、第7図、第8図は、それぞれ第5図
における指数部入力制御回路、仮数部入力制御回路の構
成を示す図、第9図は、第5図における乗算器の構成を
示す図、第10図は、その加算器での加算動作を説明す
るための図、第11図(a)、Φ)は、単精度データに
おける指数の乗算結果のデータフォーマットを、また、
第11図(C)。 (d)は、倍精度データにおける指数の乗算結果のデー
タフォーマットを示す図、第12図は、第5図における
出力制御回路の構成を示す図、第13図は、単精度デー
タの乗算結果を倍精度データとしく29) て出力する場合での処理のフローを示す図である。 101.102・・・指数部入力制御回路、103゜1
04.108,109.112〜114,117゜11
8.120,124・・・レジスタ、105゜107.
110.122・・・加算器、106,125゜127
・・・セレクタ、111・・・排他的論理和ゲート、1
15.116・・・仮数部入力制御回路、119・・・
乗算器、126・・・出力制御回路。 代理人 弁理士 秋本正実 (30) もq(2) 策I1図
Claims (1)
- 【特許請求の範囲】 1、指数部のビット長が異なる単精度データ、倍精度デ
ータにもとづき2つの同一精度データとの間で乗算を行
ない、単精度データ乗算結果を単精度データ形式あるい
は倍精度データ形式として、倍精度データ乗算結果を倍
精度データ形式として得るフローティング乗算器にして
、2つの同一精度データの符号を比較する回路と、上記
同一精度データ各々における指数部のみを所定状態で選
択する回路と、上記同一精度データ各々における仮数部
のみを選択する回路と、選択された指数部を加算する回
路と、選択された仮数部を乗算する回路と、仮数部乗算
結果によって指数部加算結果を補正する回路と、符号比
較結果、補正済指数部加算結果および仮数部乗算結果を
単精度データあるいは倍精度データの形式で出力制御す
る回路とからなる構成を特徴とする70−ティング乗算
器。 2、比較、選択、加算、乗算器々の結果を保持するレジ
スタが各ステージ最終段に設けられバイブライン構成と
してなる特許請求の範囲第1項記載のフローティング乗
算器。 3、指数部を加算する回路は、指数部のみを加算する回
路と、該回路からの加算結果と乗算結果出力形式に応じ
て選択されたバイアス値とを加算する回路とからなる特
許請求の範囲第1項または第2項記載の70−ティング
乗算器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57178494A JPS5968058A (ja) | 1982-10-13 | 1982-10-13 | フロ−テイング乗算器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57178494A JPS5968058A (ja) | 1982-10-13 | 1982-10-13 | フロ−テイング乗算器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS5968058A true JPS5968058A (ja) | 1984-04-17 |
Family
ID=16049428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57178494A Pending JPS5968058A (ja) | 1982-10-13 | 1982-10-13 | フロ−テイング乗算器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5968058A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6126135A (ja) * | 1984-07-16 | 1986-02-05 | Nec Corp | 浮動小数点デ−タ変換回路 |
| JPS6126136A (ja) * | 1984-07-16 | 1986-02-05 | Nec Corp | 浮動小数点加算回路の桁合わせ回路 |
| JPS61289422A (ja) * | 1985-06-18 | 1986-12-19 | Panafacom Ltd | シフト制御方式 |
| JPH01228019A (ja) * | 1988-03-08 | 1989-09-12 | Fujitsu Ltd | データ処理装置 |
| JPH01305424A (ja) * | 1988-06-03 | 1989-12-08 | Oki Electric Ind Co Ltd | 撮像装置 |
| JPH02294730A (ja) * | 1989-04-17 | 1990-12-05 | Internatl Business Mach Corp <Ibm> | 浮動小数点数演算処理装置 |
| JP2008212001A (ja) * | 2007-02-28 | 2008-09-18 | Mitsubishi Heavy Ind Ltd | 植物苗の短期育成用具および育成方法、定植用植物苗セット、並びに植苗方法 |
-
1982
- 1982-10-13 JP JP57178494A patent/JPS5968058A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6126135A (ja) * | 1984-07-16 | 1986-02-05 | Nec Corp | 浮動小数点デ−タ変換回路 |
| JPS6126136A (ja) * | 1984-07-16 | 1986-02-05 | Nec Corp | 浮動小数点加算回路の桁合わせ回路 |
| JPS61289422A (ja) * | 1985-06-18 | 1986-12-19 | Panafacom Ltd | シフト制御方式 |
| JPH01228019A (ja) * | 1988-03-08 | 1989-09-12 | Fujitsu Ltd | データ処理装置 |
| JPH01305424A (ja) * | 1988-06-03 | 1989-12-08 | Oki Electric Ind Co Ltd | 撮像装置 |
| JPH02294730A (ja) * | 1989-04-17 | 1990-12-05 | Internatl Business Mach Corp <Ibm> | 浮動小数点数演算処理装置 |
| JP2008212001A (ja) * | 2007-02-28 | 2008-09-18 | Mitsubishi Heavy Ind Ltd | 植物苗の短期育成用具および育成方法、定植用植物苗セット、並びに植苗方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4893268A (en) | Circuit and method for accumulating partial products of a single, double or mixed precision multiplication | |
| US4597053A (en) | Two-pass multiplier/accumulator circuit | |
| US4754421A (en) | Multiple precision multiplication device | |
| US4941120A (en) | Floating point normalization and rounding prediction circuit | |
| US5541865A (en) | Method and apparatus for performing a population count operation | |
| US5282153A (en) | Arithmetic logic unit | |
| JPH02138620A (ja) | 数値量を計算する方法および数値データ処理装置 | |
| US4949291A (en) | Apparatus and method for converting floating point data formats in a microprocessor | |
| US4866652A (en) | Floating point unit using combined multiply and ALU functions | |
| JPS6132437Y2 (ja) | ||
| US5457805A (en) | Microcomputer enabling high speed execution of product-sum operation | |
| US5426600A (en) | Double precision division circuit and method for digital signal processor | |
| US4390961A (en) | Data processor performing a decimal multiply operation using a read only memory | |
| US5144576A (en) | Signed digit multiplier | |
| US4905178A (en) | Fast shifter method and structure | |
| JPS5968058A (ja) | フロ−テイング乗算器 | |
| US4996660A (en) | Selection of divisor multipliers in a floating point divide circuit | |
| GB2120426A (en) | Operation processing apparatus | |
| JPS63123125A (ja) | 浮動小数点数の加算装置 | |
| EP0278529A2 (en) | Multiplication circuit capable of operating at a high speed with a small amount of hardware | |
| US4604723A (en) | Bit-slice adder circuit | |
| US6070237A (en) | Method for performing population counts on packed data types | |
| JPS5932038A (ja) | 浮動小数点加算器 | |
| JPS59105142A (ja) | フロ−テイング加算器 | |
| JPH0215089B2 (ja) |