JPH03163662A - 浮動小数点累算器 - Google Patents

浮動小数点累算器

Info

Publication number
JPH03163662A
JPH03163662A JP1304247A JP30424789A JPH03163662A JP H03163662 A JPH03163662 A JP H03163662A JP 1304247 A JP1304247 A JP 1304247A JP 30424789 A JP30424789 A JP 30424789A JP H03163662 A JPH03163662 A JP H03163662A
Authority
JP
Japan
Prior art keywords
mantissa
exponent
data
processing section
input
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
Application number
JP1304247A
Other languages
English (en)
Inventor
Toshiyuki Tamura
田村 俊之
Hisakazu Sato
尚和 佐藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1304247A priority Critical patent/JPH03163662A/ja
Publication of JPH03163662A publication Critical patent/JPH03163662A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理装置における浮動小数点累算器に
関し、特に累算器の構成要素をパイプライン化構威にし
て高速動作可能な累算を行う浮動小数点累算器に関する
〔従来の技術〕
第8図は、1987年2月27日開催の[IEEE E
nternational Solid−State 
Circuits Conference]の予稿集p
p274〜pp274にあるrA 30−MFLOPS
 C門OSSingle Precision Flo
atingPoint Multiply/Accum
ulate Chip Jに示されている2段パイプラ
イン構成の浮動小数点積和器のうち浮動小数点累算器部
分のブロック図である。
第8図の詳細な説明に入る前に浮動小数点フォーマット
、浮動小数点加算のアルゴリズムについて若干説明を行
っておくことにする。
まず、浮動小数点フォーマットについて説明する。
ここでは、IEEE 754標準にある単精度浮動小数
点フォーマットを仮定する。第4図にIEEE 754
標準にある単精度浮動小数点フォーマットを示す。
第4図に示されているフィールド(S),  (E),
(F)を用いて本フォーマントは、数値(  1) $
 ×2f!−12ffl X (1, F)・・・式(
A)を表現しており、各々符号,指数部,仮数部と称す
るのが一般的である。また、条件(0くE <255 
)を満足しているものを正規化数と称し有意な数を表現
しているものと見なす。
第4図においてフィールド(F)は、仮数部の小数点以
下の数値を表しているため、本フォーマットを用いてデ
ータ処理を行う場合、2°の位に“1”を補う必要があ
る。(以降この20の位に補われる“l”を隠しビット
と称する。)また、正規化浮動小数点フォーマントでは
、式(A)に示されているように仮数部は、1以上2未
満に保たれるよう調節し処理システムより出力される(
正規化処理)。
つぎに、浮動小数点数の加算のアルゴリズムについて説
明する。
第5図は、特に、浮動小数点数の桁合わせのアルゴリズ
ムについて説明した図である。第5図(alでは、16
進数で表すと(42000000) +1と(4480
0000)Hなる浮動小数点フォーマットが入力された
場合を示している。弐(A)に従って、隠しビットを付
加し筆算で行われているような表弐に再構成されている
。第5図(b)では、通常筆算で行われているように指
数部の値の異なる正規化浮動小数点数同士の加算におい
ては、指数の値の小さいデータを指数の値が同一となる
ように表現しなおし(この指数の値を仮指数と称する。
)仮数部の加算を実行する。これは、仮数部を指数の差
分て与えられているビット数だけ下位側にシフトするこ
とにより実現できることは、本図により明らかである。
第6図は、待に、正規化のアルゴリズムを示した図であ
る。
第6図では、仮数部の最上位ビット、即ち、2°の位に
“1”が置かれた正規化フォーマントとするため、指数
の値を調整している。これは、仮数部の上位から起算し
て最初の“1”が最上位ビットになるように上位側にシ
フト処理し、また、そのシフト量分仮指数から減ずるこ
とにより実現される。
第7図は、やはり正規化アルゴリズムを表した図である
が、第7図では、仮数部の加算の結果オーバーフローが
生じた場合を示している.2°の位に61”が置かれた
正規化フォーマントとするため、仮数部を1ビット下位
側にシフト処理し、仮指数に1を加算することにより実
現される。
以上、浮動小数点フォーマット、浮動小数点加算のアル
ゴリズムについて説明した。
以下に、従来技術について、第8図に基づき説明する。
(1)は、入力された浮動小数点数の仮数部フィールド
に隠しビットを付加し、また符号フィールド(S)が“
O”即ち、入力されたデータが正数である場合には、そ
の仮数部をそのまま出力し、負である場合は、2の補数
をとることにより、仮数部を2の補数表現に変換する仮
数部補数器である。(2〉は入力された浮動小数点デー
タの各々の指数部の差、および仮指数を検出し出力する
指数入力処理部である。(3〉は、入力された浮動小数
点数データのうち絶対値の大きくない方のデータに属す
る仮数部を、指数入力処理部(2)の出力する指数の差
の値に従って下位側ヘシフトする桁合わせ処理部である
。(4)は、2の補数表現された仮数部データの加算を
行う仮数演算処理部である。(5)は、仮数演算処理部
(4)より出力された結果データを所定の浮動小数点フ
ォマットに整えるために結果データの状態にしたがって
上位側もしくは下位側へシフト処理し、また、そのシフ
ト値を出力する仮数正規化処理部である。
例えば、所定のフォーマソトがIEEE 754標準で
ある場合は、 (A)仮数部の演算結果の最上位のビットが単なる符号
の拡張である場合は、以下の2通りの処理の何れかが実
行される。
■仮数演算処理部(4)より出力された結果デタが正の
数を表している時は、上位側から起算して最初に″1″
が現れるまでの“0”の数を検出しこの数だけ上位側に
シフト処理をする。
■仮数演算処理部(4)より出力された結果デタが負の
数を表している時は、上位側から起算して最初に“0”
が現れるまでの“1′の数を検出しこの数だけ上位側に
シフト処理をする。
(B)仮数分の演算結果がオーバーフローした場合は、
下位側に1ビットシフト処理する。
上記(A)は、第6図で示した正規化に対応しているが
、仮数部が、2の補数表現をとっているため有為なビッ
トは、正の数の場合は、“1”負の数の場合は、“0”
となる。したがって上の■、■の場合わけが必要となる
(B)は、第7図で示した正規化アルゴリズムに対応す
る。
また、第8図の(6)は、仮指数より、仮数正規化処理
部5の出力するシフト値を滅し、結果指数を生或する指
数正規化処理部である。(7)は、仮数正規化処理部お
よび指数正規化処理部(6)より各々出力される結果デ
ータを仮数フィールド(7−2)および指数フィールド
(7−1)に格納すると同時に、その出力を指数入力処
理部2および桁合わせ処理部(3)の入力部に入力され
ている結果レジスタである。
以上のようにti或された浮動小数点累算器の動作は、
以下のようである。
1.初期化 リセット信号(1 0 0)を論理値“O”とすること
で結果レジスタ(7)はリセットされ、格納されている
データは、0クリアされる。従って、指数入力処理部(
2)及び桁合わせ処理部(3)に入力されている一方の
入力値はゼロとなる。
2.初期化直後の動作 入力部(2 0 0)に浮動小数点数が入力されると仮
数補数器(1)においては、入力されたデタの仮数部の
最上位ビットの上位側に隠しビットを付加する。次に入
力されたデータの符号フィールド(S)の論理値に従っ
て以下の動作のうちの一方を行う。
すなわち、 ■符号フィールド(S)が論理値“0”の場合は、入力
データが正であるので仮数補数器(1)は、入力データ
の仮数部をそのまま出力する。
■符号フィールド(S)が論理値“l”の場合は、入力
データが負であるので仮数補数器(1)は、入力された
データの仮数フィールドの2の補数をとり出力する。
入力データの指数部は、指数入力処理部(2)に入力さ
れ、他方の入力には結果レジスタ(7)のゼロクリアさ
れた指数フィールド(値はゼロ)が入力されている。従
って、指数入力処理部2からは、指数差の値“E”仮指
数値“E”が出力される。
従って、桁合わせ処理部(3)は、ゼロクリアされた結
果レジスタ(7)から出力される仮数フィールドがEビ
ット分下位側にシフトされるが入力される値がゼロであ
るため、シフトした結果もゼロとなる。仮数演算処理部
(4)において入力データの仮数フィールドとゼロとの
加算が行われ結果として入力された仮数フィールドがそ
のまま仮数正規化処理部(5)に出力される。仮数正規
化処理部(5)においては、仮数補数器(1〉の出力値
がそのまま入力されるので、入力されたデータが正の数
であれば最上位のビットには“1”また、入力されたデ
ータが負の数であれば最上位ビソトには″0′であるの
で上位側へのシフト処理は行われずそのまま結果レジス
タ(7)の仮数フィールドへ出力される。(換言すれば
、ゼロピントシフト処理が行われた。)従って、指数正
規化処理部(6〉においても、入力される仮指数がその
まま結果レジスタ(7)の指数フィールドへ出力される
。(仮指数からゼロを減ずる。)このように、初期化直
後には、入力されたデータの指数部は入力された値が仮
数部は隠しビットがそれぞれ付加され、符号(S)の論
理値に応じて2の補数表現され、結果レジスタ(7)に
格納される。以降の動作においては、仮数部は、2の補
数表現のまま処理が実行される。
3.通常の動作 初期化直後には入力されたデータの指数部は、入力され
た値がそのまま、また仮数部は、隠しビットが付加され
、符号(S)の論理値に応じて2の補数表現されて各々
結果レジスタ(7)に格納さる過程を説明した。
次に、結果レジスタ(7)に有為な値が格納されている
場合について説明する。桁合わせ処理部(3)および指
数入力処理部(2)の入力端には、結果レジスタ(7)
に格納されている仮数部フィールドおよび指数部フィー
ルドが各々入力されている。入力部(200)に浮動小
数点数が入力されると、仮数補数器(1)に入力された
仮数部には隠しビットの付加、符号フィールド(S)の
論理値にしたがって、符号無し表現から2の補数表現に
変換される。指数入力処理部(2)では、入力されたデ
ータの指数部と結果レジスタ(7)の指数フィールド(
7−1)の値が比較され、仮指数および桁合わせシフト
値が出力される。桁合わせ処理部(3)では、前述の、
桁合わせシフト値に従って絶対値の大きくないほうのデ
ータに属する仮数部に対してシフト処理が行われる。仮
数演算処理部(4)では、2の補数表現された仮数部同
士の加算もしくは減算が行われる。
仮数正規化処理部(5)では、仮数部の演算結果の正負
に従って、最上位ビットに“1”もしくは、“0”が無
い場合、上位側から起算して最初に“l”もしくは、“
0″が現れるまでの“O“もしくは、“1”の数を検出
しこの数だけ上位側にシフト処理をするか、演算処理の
結果、オーバフ口一が生じた場合には、下位側に1ビッ
トシフトするか、何れかの正規化処理が行われ、その結
果を結果レジスタ(7)へ格納する。
指数正規化処理部(6)では、仮数正規化処理部(5)
で行われた正規化処理にしたがって、■仮数正規化処理
部(5)で上位側へのシフトト処理が行われた場合は、
そのシフト数を仮指数より滅じその結果を結果レジスタ
(7)の指数フィールド(7−1)に格納する。
■仮数正規化処理部(5)で下位側へのシフト処理が行
われた場合は、そのシフト数を仮指数に加算し、その結
果を結果レジスタ(7)の指数フィール(7−1)に格
納する。
以上、結果レジスタ(7)に格納されているデタに入力
されたデータが加算され、再び結果レジスタ(7)に格
納されるという浮動小数点累算器の動作について説明し
た。
〔発明が解決しようとする課題〕
従来この種の浮動小数点累算器は、複雑な処理を行うた
めクリティカルパスの長い論理回路により構威されてい
た。
そのため以下の問題点があった。
(1)1回の累算過程に要する時間が長い。
(2)連続して入力されるデータに対して、そのうちの
1個のデータの累算が終了するまで他のデータを待機さ
せる必要があり多数のデータに対し高速な処理が困難で
ある。
本発明は上記のような問題点を解決するためになされた
もので、浮動小数点累算器の構戒要素をバイブライン化
構成し連続して入力されるデータを効率良く処理可能な
浮動小数点累算器を得ることを目的とする。
〔課題を解決するための手段〕
この発明に係る浮動小数点累算器は、指数入力処理部(
2)と指数正規化処理部(6)と桁合わせ処理部3と仮
数演算処理部(4)と仮数正規化処理部(5)とがパイ
プライン処理可能な構成にするためのデータラッチ回路
(10),  (20).(30)を複数個設け、これ
らのデータラソチ回路(10),  (20),  (
30)を用いてパイプライン処理を行った処理結果を順
次格納すの結果レジスタ(1 1−1),  (11−
2),  (1 1−3)を複数個設け、更に該複数個
の結果レジスタ(II−1),  (II−2),  
(If−3)の内容を上記指数入力処理部(2)および
上記桁合わせ処理部(3)へ入力するフィードバソク手
段(40),  (41)を設けたことを特徴とするも
のである。
〔作用) 指数入力処理部(2)、指数正規化処理部(6)桁合わ
せ処理部(3)、仮数演算処理部(4)、および仮数正
規化処理部(5)はデータラッチ回路(1 0) , 
 (2 0) ,  (3 0)によってパイプライン
処理を行い、処理結果は結果レジスタ(11−1), 
 (11−2),  (11−3)に順次格納される。
結果レジスタ(11−1).(11−2),  (11
−3)に格納された内容はフィードバック手段(40)
,  (41)を介して指数入力処理部(2)および桁
合わせ処理部(3)へ入力される。
〔発明の実施例〕
以下、本発明の一実施例を図面に基づき説明する。
第1図は、この実施例に係る浮動小数点累算器の構成を
示したブロック図である。第1図において仮数補数器(
1)、指数入力処理部(2)、桁合わせ処理部(3)、
仮数演算処理部(4)、仮数正規化処理部(5〉、およ
び指数正規化処理部(6)については、第8図において
説明した通りである。
第1図において、(10)は、仮数補数器(1)と桁合
わせ処理部(3)とを結合する信号線上に挿入されたデ
ータラッチ回路であり、その指数フィールドには、指数
入力処理部(2)より出力される仮指数が入力されてい
る。(20)は、桁合わせ処理部(3)と仮数演算処理
部(4)とを結合する信号線上に挿入されたデータラソ
チ回路であり、その指数フィールドにはデータラッチ回
路(10)の指数フィールドの出力が入力されている。
(30)は、仮数演算処理部(4)と仮数正規化処理部
(5)とを結合する信号線上に挿入されているデータラ
ソチ回路であり、その指数フィールドは、データラッチ
回路(20)の指数のフィールドの出力が入力されてい
る。(11)は、複数のレジスタ(1 1−1).  
(11−2),(II−3)により構成されているレジ
スタ群である。また、レジスタ群(■1)は、リセソト
信号線(1 0 0)によりそれを構戊するレジスタに
格納されたデータがすべてリセソトされる。(8)は、
指数正規化処理部(6)および、仮数正規化処理部(5
)の出力をレジスタ群(11)を構成するレジスタのう
ち1つ、もしくは、この累算器の入力部側へ選択的に分
配するレジスタ分配手段である。(9)は、レジスタ群
(11)を構戒するレジスタの出力のうち1つを選択し
、その指数フィールドおよび仮数フィールドを指数入力
処理部(2)および桁合わせ処理部(3)へ各々入力し
ている。(400)は、レジスタ分配手段(8)と入力
部を結合する信号線上に挿入され、レジスタ分配手段(
8)の出力か、もしくは、入力されたデータかを選択し
、入力部側へ入力するスイソチ手段である。データラッ
チ回路(1 0) ,(20),  (30)およびレ
ジスタ群(1l)は、バイブライン転送制御部(図示せ
ず)により制御されており、例えば第2図に示したよう
な動作をする。
本実施例の動作の詳細な説明に入る前にまず、第2図に
基づいてパイプライン動作について説明する。
第2図(A)は、2段のパイプライン処理機構の一般形
を示したブロック図であり、第2図(A)において、L
L,L2,L3はデータラッチ回路もしくは、レジスタ
であり、ML,M2は組合わせ回路により構成されたデ
ータ処理部である。
第2図(B)は、パイプライン制御部の一例のく図示せ
ず)の動作を示すタイミングチャートである。
第2図(B)において、SLI,SL2,SL3は、第
2図(A)におけるデータラッチ回路LL,L2,L3
を各々制御する制御信号である,データラッチ回路L1
にデータが入力されると信号&iSL1が“1′となり
データラッチ回路L1に入力されたデータがランチされ
、データ処理部M1の処理が開始され、その出力結果は
、信号線SL2が11”となるタイミングでデータラッ
チ回路L2によりラッチされ第1段目のバイブライン段
の処理が終了する。
以下第2段目のパイプライン段の処理は、信号線SL2
が“l”と変化してから信号線SL3が“1”と変化す
るまでの時間にデータ処理部M2によりデータ処理がな
されデータラッチ回路L3にその結果がラッチされるこ
とで終了する。
このように構威されたパイプライン処理機構では、第1
のデータが第1段目のパイプライン段でデータ処理を受
け、データラソチ回路L2にラッチされ第2段目のバイ
ブラインでの処理が開始されると同時に第2のデータが
データラッチ回路L1にラッチされ第■段目のバイブラ
イン段の処理が開始される。
さて、第1図に戻って、本実施例について説明する。
第2図で説明したように、入力部(200)とデータラ
ッチ回路(10)(以降、入力パイプライン段)、デー
タラッチ回路(10)とデータラッチ回路(20)(以
降、第1パイプライン段)、データラッチ回路(20)
とデータラッチ回路(30)(以降、第2バイブライン
段)、データを構威している。
また、本実施例においては、レジスタ群(l1)を構戒
するレジスタの数をlとすると、1≧1であれば、連続
的に入力される浮動小数点データに対し各バイブライン
段では、独立に浮動小数点累算が実行される。
本実施例の説明では、1=3の場合について説明する。
1.パイプライン段の動作 本実施例では、各パイプライン段の処理は、第8図にお
いて説明した従来技術の機能の分割であり以下に示す動
作をする. ■入力パイプライン段 入力部(2 0 0)にデータが到着しその指数フィー
ルド、仮数フィールドが指数入力処理部(2)および、
仮数補数器(1〉に各々に入力され仮数部の2の補数表
示への変換、仮指数の検出、次段で行われる仮数部の桁
合わせ処理のための指数差の算出が行われる。
それらの出力結果がデータラッチ回路(10)にラッチ
され入力パイプライン段の処理が終了する。
■第1パイプライン段 入力されたデータがデータラッチ回路(10)にラッチ
された後、第1パイプライン段の処理が開始される. データラッチ回路(10)の出力の指数の差を格納する
フィールドと仮数フィールドが桁合わせ処理部(3)に
入力され桁合わせ処理が行われその結果、およびデータ
ラッチ回路(1 0)の仮指数フィールドが各々データ
ラッチ回路(2o)に格納され第1パイプライン段の処
理が終了する。
■第2パイプライン段 データラッチ回路(20)にデータがラッチされると零
段の処理が開妬される。桁合わせ処理部の演算結果、お
よび仮指数がデータラソチ回路〈30)の対応するフィ
ールドにランチされ第2のパイプライン段の処理が終了
する。
■第3バイブライン段 データラッチ回路(30)にデータがランチされると本
段の処理が開始される。仮数演算処理部(4)の出力結
果が格納されたデータラッチ回路(30)の仮数フィー
ルドが仮数正規化処理部(5)に入力され、正規化シフ
ト量が指数正規化処理部(6)へ、また仮数部の正規化
処理結果がレジスタ分配手段(8)へ入力される。指数
正規化処理部(6)では、データラッチ回路(3o)の
出力仮指数フィールドおよび前述した正規化シフト量が
入力されることにより指数の正規化処理が行われその結
果が、同じく、レジスタ分配手段(8)へ入力される。
レジスタ分配手段(8)は、入力されたデータをレジス
タ群(1l)を構成するレジスタ(11−1)〜(11
−3)の順に出力する。レジスタ選択千段9は、レジス
タ群(11)を構戒するレジスタ(11−1)〜(11
−3)の出力を、レジスタ(11〜1)〜(11−3)
の順に選択しその指数フィールドおよび仮数フィールド
を、各々指数入力処理部(2)および桁合わせ処理部(
3)へフィードバック手段(40)および(41)を介
して戻され、第3パイプライン段の処理が終了する。
2.初期化および初期化後の動作 (1)初期化 リセット信号線(1 0 0)を論理値“0”とするこ
とで、レジスタ群(l1)の内容は、クリアされる。
(n)初期化後の動作 この時点では、スイッチ手段(4 0 0)は、入力デ
ータを選択している。
データが入力部(200)に到着するとデータラッチ回
路(10)がデータ入力可能な状態となりその指数フィ
ールド、仮数フィールドに各々指数入力処理部〈2)か
らの出力および仮数補数器(1)からの出力が各々のフ
ィールドに入力される。指数入力処理部(2)において
は、入力データの指数部およびゼロクリアされたレジス
タ群(l1)の出力が入力されているのでデータラッチ
回路(lO)の指数フィールドおよび指数差を入力する
フィールドには、ともに入力データの指数部の数値が入
力される。また、仮数フィールドには、入力データの仮
数フィールドを2の補数表現に変換した結果がラッチさ
れ入力パイプライン段の処理が終了する。
以下第8図の初期化直後の動作の説明と同様に第1番目
に入力されたデータは、第1パイプライン段、第2パイ
プライン段を処理を受けずに通過し、レジスタ分配手段
(8)により、レジスタ群(11)の第1番目のレジス
タ(11−1)に格納される。
以下、同様にしてレジスタ(11−2)は、第2番目に
入力されたデータが格納され、レジスタ(11−3)に
は、第3番目に入力されたデータが格納される。このよ
うにしてレジスタ群(11)に入力されたデータの3個
を格納して初期化後の動作を完了する。
(II[) ilm常動作 この時点でも、スイッチ手段(4 0 0)は、入力デ
ータを選択している。初期化直後の動作を完了した時点
でレジスタ群(11)を構戊する各レジスタ(11−1
).  (11−2)  (11−3)には入力された
データが格納され、そしてそのデタの指数部は入力され
た状態で、仮数部は2の補数表現に変換された状態でそ
れぞれ格納されている。
すなわち、レジスタ群(1 1)の1番目のレジスタ(
11−1)には最初に入力されたデータが、2番目のレ
ジスタ(11−2)には2番目に入力されたデータが、
3番目のレジスタ(11−3)には3番目に入力された
データが格納されている。
また、レジスタ選択手段(9)により、レジスタ群(1
1)の1番目のレジスタ(11−1)に格納されている
データの指数フィールド、および仮数フィールドは、指
数入力処理部(2)の一方の入力端、およびデータラッ
チ回路(10)の仮数フィールドへ各々入力されている
従って、以降のパイプライン段で、この段のレジスタに
格納されていたデータとの浮動小数点加算が実行され再
びレジスタ(11−1)に格納される。
以降、同様にしてK番目に入力されるデータと、レジス
タ群(l1)を構成する(L+1)番目(Lは、Kを3
で割った剰余)のレジスタに格納されているデータとの
浮動小数点加算が行われる。
すなわち、J番目のレジスタには、J番目、(J+3)
番目、 (J+6)番目・・・ (J + 3 N)番
目・・・に入力されたデータの累算結果が格納されてい
く。
以上説明したように、入力されたデータは、レジスタ群
(11)を構成するレジスタの何れかに累算され、また
、累算の途中結果がデータラソチ回路(10)〜(30
)に格納されている。
(I[I)出力処理 従って、最終的な累算結果を得るためには、レジスタ群
(11)の各々に格納されているデータおよび、データ
ラッチ回路(30)より出力されるデータを所望の浮動
小数点フォーマントに変換し加算してやればよい。
浮動小数点累算を必要とするデータの入力が終了した時
点で、以下の過程を実行することで最終的な結果が得ら
れる。
■スイッチ手段(400)およびレジスタ選択手段(8
)を制御することにより入力部(200)に入力するデ
ータをデータラッチ回路(30)より出力されるデータ
にし、また、レジスタ選択手段(9)を制御することに
より、レジスタ(11−1)の出力の指数フィールドお
よび仮数フィルドを各々指数入力処理部(2)および桁
合わせ処理部(3)へ入力する。
づぎのパイプラインステップでは、レジスタ(11−1
)とデータラッチ回路(30)に各々格納されていたデ
ータの浮動小数点加算の実行が開始される。その次のパ
イプラインステップでは、同様にして、レジスタ(11
−2)に格納されていたデータと、データラッチ回路(
30)より出力されるデータとの浮動小数点加算が開始
される。
さらに、次のパイプラインステップでは、レジスタ(1
1−3)に格納されていたデータとデークランチ回路(
30)より出力されるデータの浮動小数点加算が開始さ
れ、結果として、データラッチ回路(10)〜(30)
のみに浮動小数点累算の結果、もしくは、途中結果が格
納された状態となる。
■次の、パイプラインステソプでレジスタ分配手段(8
)を制御することによりデータラッチ回路(30)の出
力をレジスタ(11−1)へ入力する。この時点で、デ
ータラソチ回路(30)およびレジスタ(11−1)に
は、累算の部分和が、データラッチ回路(20)には、
累算の途中経過が格納さている。
従って、次のパイプラインステソプでデータラッチ回路
(30)とレジスタ(11−1)に格納さていたデータ
の浮動小数点加算が開始される。
この時点で、データラッチ回路(30)には累算の部分
和が、データラッチ回路(10)には累算の途中経過が
、各々格納されている。
■レジスタ分配手段(8)を制御することにより、次の
パイプラインステップで、データラソチ回路(30)の
出力をレジスタ(11−1)へ出力する。この時点で、
データラソチ回路(20)に累算の途中経過がレジスタ
(11−1)に累算の部分和が各々格納されている。
■パイプライン制御部を制御することで、次のパイプラ
インステンプではレジスタ(11−1)に格納されてい
るデータを不変に保つ。この時点で、データラッチ回路
(30)には、累算の部分和が格納されているので、次
のパイプラインステップにおいてデータラッチ回路(3
0)に格納ささているデータとレジスタ(11−1)に
格納されているデータとの浮動小数点加算が開姑され、
以降のパイプライン段で最終的な累算結果が計算され、
データラッチ回路(30)に格納される。
以降、データラッチ回路(30)に格納されているデー
タの仮数部をレジスタ分配手段(8)およびスイッチ手
段(400)を制御することにより仮数補数器(1)に
入力し、仮数補数器(1)により仮数部が正の場合は処
理せず、符号フィルドを“O″にセットし、また負の数
の場合は2の補数をとり、符号フィールドを“1”にセ
・ツトし出力部(図示せず)より外部へ出力する。
なお、この実施例ではデータラッチ回路を、仮数補数器
(1)と桁合わせ処理部(3)とを結合する信号線上に
、桁合わせ処理部(3)と仮数演算処理部(4)とを結
合する信号線上に、仮数演算処理部(4)と仮数正規処
理部(5)とを結合する信号線上に挿入さている例のみ
示したが、データラッチ回路を挿入する位置は、仮数補
数器(1)、仮数入力処理部(2)、桁合わせ処理部(
3)、仮数演算処理部(4)、仮数正規処理部(5〉の
内部であっても同一もしくは、それ以上の効果を奏する
。第3図は、その一例として仮数演算処理部の内部にデ
ータラソチ回路を配置した例を示した図であり回路のク
リティカルパス上にデータラッチ回路を挿入することに
よりスループソトを高めている。
また、本実施例では、レジスタ群を構戊するレジスタの
数を3個に限ったが、3個以上であっても同一の効果を
奏する。また、レジスタ群の構戒は、レジスタを直列に
接続したものであっても同一の効果を奏する。さらに、
レジスタ群、データラッチ回路よりの出力を入力部に入
力するフィールドバンク手段は、2種類に限らず多数あ
ってもよい。
〔発明の効果〕
以上のように本発明によれば、指数入力処理部と指数正
規化処理部と桁合わせ処理部と仮数演算処理部と仮数正
規化処理部とがパイプライン処理可能な構成にするため
のデータラッチ回路を複数個設け、これらのデータラッ
チ回路を用いてパイプライン処理を行った処理結果を順
次格納する結果レジスタを複数個設け、更に複数個の結
果レジスタの内容を指数入力処理部および桁合わせ処理
部へ入力するフィードバンク手段を設けて構戊したので
、連続的に入力される浮動小数点データの累算を行う場
合、1個の入力データの累算が終了するまで後続のデー
タを待機させることなく浮動小数点累算を連続して実行
でき、また、容易に累算結果が取り出せ、したがって効
率良くデータ処理を行えるという効果が得られる。例え
ば、音響処理等のようにダイナミックレンジが広いデー
タの積和処理をリアルタイムに実行する必要のある応用
に対しては特に本発明の浮動小数点累算器は効果的であ
る。
【図面の簡単な説明】
第1図はこの発明の一実施例に係る浮動小数点累算器の
構成を示すブロソク図、第2図(A)はパイプライン制
御の一例を説明するためのブロソク図、第2図(B)は
そのパイプライン制御の動作を説明するためのタイ貴ン
グチャート、第3図は仮数演算処理部にデータラッチ回
路を配置したことを示すブロソク図、第4図はIEEE
 745標準フォーマットを示す図、第5図は浮動小数
点加算における桁合わせのアルゴリズムを説明するため
の図、第6図および第7図は浮動小数点演算における正
規化処理のアルゴリズムを説明するための図、第8図は
従来の浮動小数点累算器の構戒を示すブロソク図である
。 (2)・・・指数入力処理部、(3)・・・桁合わせ処
理部、(4)・・・仮数演算処理部、(5)・・・仮数
正規化処理部、(6)・・・指数正規化処理部、(1 
1−1).  (11−2)(11−3)  ・・・結
果レジスタ、(10),(20),  (30)  ・
・・データラソチ回路、(40),  (41)  ・
・・フィードバック手段。

Claims (1)

    【特許請求の範囲】
  1.  入力された第1および第2の浮動小数点数(ただし、
    第1および第2の浮動小数点数に属する指数の値を各々
    E_1、E_2とするとE_1≦E_2を満たすものと
    する)の指数部の差を算出し、かつ該第2の浮動小数点
    数の指数部である仮指数を検知する指数入力処理部と、
    この指数入力処理部により検知された上記指数部の差に
    従って上記第1の浮動小数点数に属する仮数部を桁合わ
    せのために下位側にシフト処理する桁合わせ処理部と、
    この桁合わせ処理部によりシフト処理された上記第1の
    浮動小数点数に属する仮数部と上記第2の浮動小数点に
    属する仮数部との加算を行う仮数演算処理部と、この仮
    数演算処理部から出力される仮数部演算結果を所定の浮
    動小数点フォーマットに再構成するため上記仮数演算処
    理部から出力される仮数部演算結果をシフト処理すると
    共に該シフト量を出力する仮数正規化処理部と、上記仮
    指数より上記シフト量を減じる指数正規化処理部と、上
    記仮数正規化処理部から出力される仮数部および上記指
    数正規化処理部から出力される指数部を格納する結果レ
    ジスタとを備えた浮動小数点累算器において、上記指数
    入力処理部と上記指数正規化処理部と上記桁合わせ処理
    部と上記仮数演算処理部と上記仮数正規化処理部とがパ
    イプライン処理可能な構成にするためのデータラッチ回
    路を複数個設け、これらのデータラッチ回路を用いてパ
    イプライン処理を行った処理結果を順次格納する上記結
    果レジスタを複数個設け、更に該複数個の結果レジスタ
    の内容を上記指数入力処理部および上記桁合わせ処理部
    へ入力するフィードバック手段を設けたことを特徴とす
    る浮動小数点累算器。
JP1304247A 1989-11-21 1989-11-21 浮動小数点累算器 Pending JPH03163662A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1304247A JPH03163662A (ja) 1989-11-21 1989-11-21 浮動小数点累算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1304247A JPH03163662A (ja) 1989-11-21 1989-11-21 浮動小数点累算器

Publications (1)

Publication Number Publication Date
JPH03163662A true JPH03163662A (ja) 1991-07-15

Family

ID=17930760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1304247A Pending JPH03163662A (ja) 1989-11-21 1989-11-21 浮動小数点累算器

Country Status (1)

Country Link
JP (1) JPH03163662A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010501938A (ja) * 2006-08-18 2010-01-21 クゥアルコム・インコーポレイテッド マルチステージ浮動小数点アキュームレータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010501938A (ja) * 2006-08-18 2010-01-21 クゥアルコム・インコーポレイテッド マルチステージ浮動小数点アキュームレータ

Similar Documents

Publication Publication Date Title
US4700324A (en) Digital circuit performing an arithmetic operation with an overflow
US6209017B1 (en) High speed digital signal processor
US5053631A (en) Pipelined floating point processing unit
US20020013800A1 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US4866652A (en) Floating point unit using combined multiply and ALU functions
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
JPH03171324A (ja) オペランドの平方根を計算する回路及び方法
JP3345894B2 (ja) 浮動小数点乗算器
EP0869432A1 (en) Multiplication method and multiplication circuit
JP2508784B2 (ja) 指数関数演算装置
JPH1195982A (ja) 演算処理回路及び演算処理方法並びに演算処理システム
KR102228995B1 (ko) 여러 가지 수치 포맷의 데이터를 갖는, 데이터 베이스화된 함수 모델의 연산을 위한 모델 연산 유닛 및 제어 장치
JPH0568725B2 (ja)
EP0543024B1 (en) Divider
JPH03163662A (ja) 浮動小数点累算器
JP2507183B2 (ja) 浮動小数点加減算装置
JPS6339932B2 (ja)
JPH09128213A (ja) ブロックフローティング処理システムおよび方法
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
JP2663287B2 (ja) データプロセッサの条件を明確に評価する方法及び装置
JP2956252B2 (ja) 4点補間回路
JPS63254525A (ja) 除算装置
GB2345562A (en) Digital signal processor for performing fixed-point and/or integer arithmetic
JPH0816366A (ja) 除算器およびその除算方法
JPH0414173A (ja) 固定小数点演算器