JPH03131966A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH03131966A JPH03131966A JP27260989A JP27260989A JPH03131966A JP H03131966 A JPH03131966 A JP H03131966A JP 27260989 A JP27260989 A JP 27260989A JP 27260989 A JP27260989 A JP 27260989A JP H03131966 A JPH03131966 A JP H03131966A
- Authority
- JP
- Japan
- Prior art keywords
- floating point
- mantissa
- data
- register
- exponent
- 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
- 238000009825 accumulation Methods 0.000 claims abstract description 28
- 238000010606 normalization Methods 0.000 claims description 25
- 230000010365 information processing Effects 0.000 claims description 7
- 230000000295 complement effect Effects 0.000 description 20
- 238000000034 method Methods 0.000 description 11
- 230000001186 cumulative effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- ATJFFYVFTNAWJD-UHFFFAOYSA-N Tin Chemical group [Sn] ATJFFYVFTNAWJD-UHFFFAOYSA-N 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置における浮動小数点累算器に関
し、更に詳しくは、複数の処理要素を互いに並列に接続
し、この複数の処理要素の実行をインタリーブすること
により高速化可能な浮動小数点累算器に関するものであ
る。
し、更に詳しくは、複数の処理要素を互いに並列に接続
し、この複数の処理要素の実行をインタリーブすること
により高速化可能な浮動小数点累算器に関するものであ
る。
第4図は、1987年2月27日開催のl5sCCIn
ternational 5olid−5tate (
1:1rcuits Conference(アイ・ニ
ス・ニス・シー・シー、固体回路間際会ml)の予稿集
274頁にある「30メガフロンブスCMO3単精度浮
動小数点積和チップ(A 30−MFLOPS 0MO
5Single Precision Floatin
gPoint Multiply/Accumulat
e Chip) Jに示されている2段パイプライン構
成の浮動小数点積和器のうちの浮動小数点累算器部分の
ブロック系統図である。
ternational 5olid−5tate (
1:1rcuits Conference(アイ・ニ
ス・ニス・シー・シー、固体回路間際会ml)の予稿集
274頁にある「30メガフロンブスCMO3単精度浮
動小数点積和チップ(A 30−MFLOPS 0MO
5Single Precision Floatin
gPoint Multiply/Accumulat
e Chip) Jに示されている2段パイプライン構
成の浮動小数点積和器のうちの浮動小数点累算器部分の
ブロック系統図である。
第4図の詳細な説明に入る前に浮動小数点フォーマット
、浮動小数点加算のアルゴリズムについて若干説明を行
なっておくことにする。
、浮動小数点加算のアルゴリズムについて若干説明を行
なっておくことにする。
まず、浮動小数点フォーマントについて説明する。ここ
では、IEII!E 754標準にある単精度浮動小数
点フォーマットを仮定する。第5図に、IEEE 75
4標準にある単精度浮動小数点フォーマントを示す。本
フォーマントは、第5図に示されているフィールドS、
E、Fを用いて、数値 (−1) IX 2 tt−′tq> X (1、p)
・・・・(1)を表現しており、各々符号、指数部
、仮数部と称するのが一般的である。また、条件(0<
E<255)を満足しているものを正規化数と称し、有
意な数を表現しているものとする。
では、IEII!E 754標準にある単精度浮動小数
点フォーマットを仮定する。第5図に、IEEE 75
4標準にある単精度浮動小数点フォーマントを示す。本
フォーマントは、第5図に示されているフィールドS、
E、Fを用いて、数値 (−1) IX 2 tt−′tq> X (1、p)
・・・・(1)を表現しており、各々符号、指数部
、仮数部と称するのが一般的である。また、条件(0<
E<255)を満足しているものを正規化数と称し、有
意な数を表現しているものとする。
第5図においてフィールドFは仮数部の小数点以下の数
値を表わしているため、本フォーマントを用いてデータ
処理を行なう場合、2°の位に“1”を補う必要がある
。以降、この2°の位に補われる“1”を隠しビットと
称する。また、正規化浮動小数点フォーマットでは、式
(1)に示されているように仮数部は、1以上2未満に
保たれるよう調節し処理システムより出力される(正規
化処理)。
値を表わしているため、本フォーマントを用いてデータ
処理を行なう場合、2°の位に“1”を補う必要がある
。以降、この2°の位に補われる“1”を隠しビットと
称する。また、正規化浮動小数点フォーマットでは、式
(1)に示されているように仮数部は、1以上2未満に
保たれるよう調節し処理システムより出力される(正規
化処理)。
次に、浮動小数点の加算のアルゴリズムについて説明す
る。式(21,(31は特に、浮動小数点数の桁合わせ
のアルゴリズムについて説明した図である。
る。式(21,(31は特に、浮動小数点数の桁合わせ
のアルゴリズムについて説明した図である。
2’ Xl、0O00・
+2IO×10000g上(2)
式(2)では、16進数で表わすと、(4200000
0) Hと(44800000) Hなる浮動小数点フ
ォーマントが入力された場合を示している。式(1)に
従って隠しビットを付加し、筆算で行なわれているよう
な表弐に再構成されている。
0) Hと(44800000) Hなる浮動小数点フ
ォーマントが入力された場合を示している。式(1)に
従って隠しビットを付加し、筆算で行なわれているよう
な表弐に再構成されている。
式(3)では、通常筆算で行なわれているように指数部
の値の異なる正規化浮動小数点数同士の加算においては
、指数の値の小さいデータを指数の値が同一となるよう
に表現し直しくこの指数の値を仮指数と称する。式(3
)では仮指数の値は10である)、仮数部の加算を実行
する。これは、仮数部を指数の差分て与えられるビット
数(ここでは5ビツト)だけ下位側にシフトすることに
より実現できることは式(3)から明らかである。
の値の異なる正規化浮動小数点数同士の加算においては
、指数の値の小さいデータを指数の値が同一となるよう
に表現し直しくこの指数の値を仮指数と称する。式(3
)では仮指数の値は10である)、仮数部の加算を実行
する。これは、仮数部を指数の差分て与えられるビット
数(ここでは5ビツト)だけ下位側にシフトすることに
より実現できることは式(3)から明らかである。
式(4)、 (5)、 +6)は特に正規化のアルゴリ
ズムを示したものである。式(6)では、仮数部の最下
位ピントすなわち2°の位に“1”が置かれた正規化フ
ォーマントとするため、指数の値を調整している。
ズムを示したものである。式(6)では、仮数部の最下
位ピントすなわち2°の位に“1”が置かれた正規化フ
ォーマントとするため、指数の値を調整している。
これは、仮数部の上位から起算して最初の“1”が最上
位ビットになるように上位側にシフト処理し、また、そ
のシフト量分仮指数から減することにより実現される。
位ビットになるように上位側にシフト処理し、また、そ
のシフト量分仮指数から減することにより実現される。
式(4)は桁合わせ、式(5)は正規化、式(6)は指
数の値を調整した後の数である。
数の値を調整した後の数である。
2−” Xl、00QO・・・・・・0 ・ ・ ・
・ ・(6)式(7)、 (81は、やはり正規化ア
ルゴリズムを表わしたものであるが、式(7)、 +8
)では、仮数部の加算の結果オーバーフローが生じた場
合を示している。
・ ・(6)式(7)、 (81は、やはり正規化ア
ルゴリズムを表わしたものであるが、式(7)、 +8
)では、仮数部の加算の結果オーバーフローが生じた場
合を示している。
そして、2°の位に“1”が置かれた正規化フォーマン
トとするため、仮数部を1ビツト下位側にシフト処理し
、仮指数に1を加算することにより実現している。
トとするため、仮数部を1ビツト下位側にシフト処理し
、仮指数に1を加算することにより実現している。
2 ’X1.0000・・・・・・O・ ・ ・ ・
・(8)以上、浮動小数点フォーマント、浮動小数点加
算のアルゴリズムについて説明した。
・(8)以上、浮動小数点フォーマント、浮動小数点加
算のアルゴリズムについて説明した。
次に、従来技術について第4図に基づき説明する。20
1は、入力された浮動小数点数の仮数部フィールドFに
隠しビットを付加し、また、符号フィールドSが“0”
すなわち入力されたデータが正数である場合は、その仮
数部をそのまま出力し、負である場合は、2の補数をと
ることにより仮数部を2の補数表現に変換する仮数補数
器である。
1は、入力された浮動小数点数の仮数部フィールドFに
隠しビットを付加し、また、符号フィールドSが“0”
すなわち入力されたデータが正数である場合は、その仮
数部をそのまま出力し、負である場合は、2の補数をと
ることにより仮数部を2の補数表現に変換する仮数補数
器である。
202は、入力された浮動小数点数データの各々の指数
部の差および仮指数を検出し出力する指数入力処理部で
ある。
部の差および仮指数を検出し出力する指数入力処理部で
ある。
203は、入力された浮動小数点数データのうち絶対値
の大きくない方のデータに属する仮数部を、指数入力処
理部202の出力する指数の差の値にしたがって下位側
ヘシフトする桁合せ処理部である。
の大きくない方のデータに属する仮数部を、指数入力処
理部202の出力する指数の差の値にしたがって下位側
ヘシフトする桁合せ処理部である。
204は、2の補数表現された仮数部データの加算を行
なう仮数演算処理部である。
なう仮数演算処理部である。
205は、仮数演算処理部204より出力された結果デ
ータを所定の浮動小数点フォーマットに整えるために結
果データの状態にしたがって上位側もしくは下位側へシ
フト処理し、また、そのシフト値を出力する仮数正規化
処理部である。
ータを所定の浮動小数点フォーマットに整えるために結
果データの状態にしたがって上位側もしくは下位側へシ
フト処理し、また、そのシフト値を出力する仮数正規化
処理部である。
例えば、所定のフォーマントがIEEE 754標準で
ある場合は、 (A)仮数部の演算結果の最上位のビットが単なる符号
の拡張である場合は、以下の2通りの処理の■、■の何
れかが実行される。
ある場合は、 (A)仮数部の演算結果の最上位のビットが単なる符号
の拡張である場合は、以下の2通りの処理の■、■の何
れかが実行される。
■仮数演算処理部204より出力された結果データが正
の数を表わしている時は、上位側から起算して最初に“
1″が現れるまでの“0”の数を検出し、この数だけ上
位側にシフト処理をする。
の数を表わしている時は、上位側から起算して最初に“
1″が現れるまでの“0”の数を検出し、この数だけ上
位側にシフト処理をする。
■仮数演算処理部204より出力された結果データが負
の数を表わしている時は、上位側から起算して最初に1
0″が現れるまでの“1”の数を検出し、この数だけ上
位側にシフト処理をする。
の数を表わしている時は、上位側から起算して最初に1
0″が現れるまでの“1”の数を検出し、この数だけ上
位側にシフト処理をする。
(B)仮数部の演算結果がオーバーフローした場合は、
下位側に1ピントシフト処理する。
下位側に1ピントシフト処理する。
上記(A)は、式(4)〜(6)で示した正規化に対応
しているが、仮数部が2の補数表現をとっているため、
有意なビットは、正の数の場合は“1”、負の数の場合
は“0”となる。したがって、上の■■の場合わけが必
要となる。
しているが、仮数部が2の補数表現をとっているため、
有意なビットは、正の数の場合は“1”、負の数の場合
は“0”となる。したがって、上の■■の場合わけが必
要となる。
(B)は、弐(71,(8)で示した正規化アルゴリズ
ムに対応する。
ムに対応する。
206は、仮指数より仮数正規化処理部205の出力す
るシフト値を滅じ、結果指数を生成する指数正規化処理
部である。
るシフト値を滅じ、結果指数を生成する指数正規化処理
部である。
207は、仮数正規化処理部205および指数正規化処
理部206より各々出力される結果データを仮数部20
7bおよび指数部207aに格納すると同時に、その出
力が指数入力処理部202、桁合せ処理部203に入力
されている結果レジスタである。
理部206より各々出力される結果データを仮数部20
7bおよび指数部207aに格納すると同時に、その出
力が指数入力処理部202、桁合せ処理部203に入力
されている結果レジスタである。
以上のように構成された浮動小数点累算器の動作は以下
のようである。
のようである。
所田止
リセット信号R200を論理値「0」とすることで結果
レジスタ207はリセフトされ、格納されているデータ
は0クリアされる。従って、指数入力処理部2022桁
合せ処理部203に入力されている一方の入力値はゼロ
となる。
レジスタ207はリセフトされ、格納されているデータ
は0クリアされる。従って、指数入力処理部2022桁
合せ処理部203に入力されている一方の入力値はゼロ
となる。
靭田上直復■勤詐
浮動小数点数D200が入力されると、仮数補数器20
1においては、入力されたデータの仮数部の最上位ピン
トの上位側に隠しビットを付加する。
1においては、入力されたデータの仮数部の最上位ピン
トの上位側に隠しビットを付加する。
次に、入力されたデータの符号フィールドSの論理値に
従って以下の動作のうちの一方を行なう。
従って以下の動作のうちの一方を行なう。
すなわち、
■符号フィールドSが論理値rOJの場合は、入力デー
タが正であるので、仮数補数器201は入力データの仮
数部をそのまま出力する。
タが正であるので、仮数補数器201は入力データの仮
数部をそのまま出力する。
■符号フィールドSが論理値rNの場合は、入力データ
が負であるので、仮数補数器201は入力されたデータ
の仮数フィールドの2の補数をとり出力する。
が負であるので、仮数補数器201は入力されたデータ
の仮数フィールドの2の補数をとり出力する。
入力データの指数部は指数入力処理部202に入力され
、指数入力処理部202の他方の入力には結果レジスタ
207のゼロクリアされた指数フィールド(値はゼロ)
が入力されている。したがって、指数入力処理部202
からは、指数差の値E、仮仮数数値が出力される。
、指数入力処理部202の他方の入力には結果レジスタ
207のゼロクリアされた指数フィールド(値はゼロ)
が入力されている。したがって、指数入力処理部202
からは、指数差の値E、仮仮数数値が出力される。
従って、桁合せ処理部203は、ゼロクリアされた結果
レジスタ207から出力される仮数フィールドがEビッ
ト分下位側にシフトされるが、入力される値がゼロであ
るため、シフトした結果もゼロとなる。
レジスタ207から出力される仮数フィールドがEビッ
ト分下位側にシフトされるが、入力される値がゼロであ
るため、シフトした結果もゼロとなる。
仮数演算処理部204において入力データの仮数フィー
ルドとゼロとの加算が行なわれ、結果として、入力され
た仮数フィールドがそのまま仮数正規化処理部205に
出力される。
ルドとゼロとの加算が行なわれ、結果として、入力され
た仮数フィールドがそのまま仮数正規化処理部205に
出力される。
仮数正規化処理部205においては、仮数補数器201
の出力値がそのまま入力されるので、入力されたデータ
が正の数であれば最上位のビットは「1」、また入力さ
れたデータが負の数であれば最上位ビットは「0」であ
るので、上位側へのシフト処理は行なわれず、そのまま
結果レジスタ207の仮数部207bに出力される。換
言すれば、ゼロビットシフト処理が行なわれた。
の出力値がそのまま入力されるので、入力されたデータ
が正の数であれば最上位のビットは「1」、また入力さ
れたデータが負の数であれば最上位ビットは「0」であ
るので、上位側へのシフト処理は行なわれず、そのまま
結果レジスタ207の仮数部207bに出力される。換
言すれば、ゼロビットシフト処理が行なわれた。
従って、指数正規化処理部206においても、入力され
る仮借数がそのまま結果レジスタ207の指数部207
aへ出力される。つまり、仮借数からゼロを減すること
になる。
る仮借数がそのまま結果レジスタ207の指数部207
aへ出力される。つまり、仮借数からゼロを減すること
になる。
このように、初期化直後には、指数部の値については人
力されたデータの指数部の値が結果レジスタ207に格
納され、仮数部については、隠しと、トが付加され、符
号Sの論理値に応じて2の補数表現されて結果レジスタ
207に格納される。
力されたデータの指数部の値が結果レジスタ207に格
納され、仮数部については、隠しと、トが付加され、符
号Sの論理値に応じて2の補数表現されて結果レジスタ
207に格納される。
以降の動作においては、仮数部は2の補数表現のまま処
理が実行される。
理が実行される。
1塞皇軌作
初期化直後には、指数部については入力されたデータの
指数部の値がそのまま、仮数部については、隠しビット
が付加され、符号Sの論理値に応じて2の補数表現され
て、各々結果レジスタ207に格納される、という過程
を前の動作で説明した。
指数部の値がそのまま、仮数部については、隠しビット
が付加され、符号Sの論理値に応じて2の補数表現され
て、各々結果レジスタ207に格納される、という過程
を前の動作で説明した。
次に、結果レジスタ207に有意な値が格納されている
場合について説明する。第4図において、桁合せ処理部
203.指数入力処理部202の入力端には、結果レジ
スタ207に格納されている仮数部フィールドおよび指
数部フィールドが各々入力されている。
場合について説明する。第4図において、桁合せ処理部
203.指数入力処理部202の入力端には、結果レジ
スタ207に格納されている仮数部フィールドおよび指
数部フィールドが各々入力されている。
浮動小数点数0200が入力されると、仮数補数器20
1に入力された仮数部には、隠しビットが付加され、符
号フィールドSの論理値にしたがって、符号無し表現か
ら2の補数表現に変換される。
1に入力された仮数部には、隠しビットが付加され、符
号フィールドSの論理値にしたがって、符号無し表現か
ら2の補数表現に変換される。
指数入力処理部202では、入力されたデータの指数部
の値と結果レジスタ207の指数部207aの値が比較
され、仮借数および桁合わせシフト値が出力される。
の値と結果レジスタ207の指数部207aの値が比較
され、仮借数および桁合わせシフト値が出力される。
桁合せ処理部203では、上記桁合わせシフト値に従っ
て絶対値の大きくないほうのデータに属する仮数部に対
してシフト処理が行なわれる。
て絶対値の大きくないほうのデータに属する仮数部に対
してシフト処理が行なわれる。
仮数演算処理部204では、2の補数表現された仮数部
同士の加算もしくは減算が行なわれる。
同士の加算もしくは減算が行なわれる。
仮数正規化処理部205では、仮数部の演算結果の正負
にしたがって、最上位ビットに「1」もしくは「0」が
無い場合、上位側から起算して最初に「1」もしくは「
0」が現れるまでの「0」もしくは「1」の数を検出し
、この数だけ上位側にシフト処理をするか、あるいは演
算処理の結果オーバーフローが生じた場合には下位側に
1ビツトシフトするかの何れかの正規化処理が行なわれ
、結果を結果レジスタ207へ格納する。
にしたがって、最上位ビットに「1」もしくは「0」が
無い場合、上位側から起算して最初に「1」もしくは「
0」が現れるまでの「0」もしくは「1」の数を検出し
、この数だけ上位側にシフト処理をするか、あるいは演
算処理の結果オーバーフローが生じた場合には下位側に
1ビツトシフトするかの何れかの正規化処理が行なわれ
、結果を結果レジスタ207へ格納する。
指数正規化処理部206では、仮数正規化処理部205
で行なわれた正規化処理にしたがって、■仮数正規化処
理部205で上位側へのシフト処理が行なわれた場合は
、そのシフト数を仮借数より減じ、その結果を結果レジ
スタ2070指数部207aに格納する。
で行なわれた正規化処理にしたがって、■仮数正規化処
理部205で上位側へのシフト処理が行なわれた場合は
、そのシフト数を仮借数より減じ、その結果を結果レジ
スタ2070指数部207aに格納する。
■仮数正規化処理部205で下位側へのシフト処理が行
なわれた場合は、そのシフト数を仮借数に加算し、その
結果を結果レジスタ207の指数部207aに格納する
。
なわれた場合は、そのシフト数を仮借数に加算し、その
結果を結果レジスタ207の指数部207aに格納する
。
以上、結果レジスタ207に格納されているデ−タに入
力されたデータが加算され、再び結果レジスタ207に
格納されるという浮動小数点累算器の動作について説明
した。
力されたデータが加算され、再び結果レジスタ207に
格納されるという浮動小数点累算器の動作について説明
した。
従来の浮動小数点累算器は、複雑な処理が必要なため、
クリティカルパスの長い論理回路により構成されていた
。そのため次の■、■の問題があった。
クリティカルパスの長い論理回路により構成されていた
。そのため次の■、■の問題があった。
01回の累算過程に要する時間が長い。
■連続して人力されるデータに対しては、そのうちの1
個のデータ処理が終了するまで他のデータを待機させる
必要があり、多数のデータに対し高速な処理が困難であ
る。
個のデータ処理が終了するまで他のデータを待機させる
必要があり、多数のデータに対し高速な処理が困難であ
る。
本発明はこのような点に鑑みてなされたものであり、そ
の目的とするところは、連続して入力されるデータを待
たせることなく効率よく処理することのできる浮動小数
点累算器を得ることにある。
の目的とするところは、連続して入力されるデータを待
たせることなく効率よく処理することのできる浮動小数
点累算器を得ることにある。
このような目的を達成するために本発明は、第1の浮動
小数点加算要素と結果を格納する結果レジスタとから成
る浮動小数点累算要素の複数個と、分配手段と、1又は
2以上の第2の浮動小数点加算要素とを設けるようにし
たものである。
小数点加算要素と結果を格納する結果レジスタとから成
る浮動小数点累算要素の複数個と、分配手段と、1又は
2以上の第2の浮動小数点加算要素とを設けるようにし
たものである。
本発明による情報処理装置においては、連続して入力さ
れるデータを次々と異なる浮動小数点累算器に割り振る
。これにより、1個の入力データの累算が終了するまで
後続のデータを待機させることなく、浮動小数点累算が
並列分散的に行なわれる。
れるデータを次々と異なる浮動小数点累算器に割り振る
。これにより、1個の入力データの累算が終了するまで
後続のデータを待機させることなく、浮動小数点累算が
並列分散的に行なわれる。
以下、本発明の実施例を図を用いて説明する。
第1図は、本発明による情報処理装置としての浮動小数
点累算器の一実施例を示すブロック系統図である。累算
を行なうべきデータは、図中の経路D1より与えられ、
結果は経路D2より出力される。
点累算器の一実施例を示すブロック系統図である。累算
を行なうべきデータは、図中の経路D1より与えられ、
結果は経路D2より出力される。
本実施例は、12個のデータレジスタR1〜R12、浮
動小数点加算器A1〜A7、入力セレクタSl、入力し
た浮動小数点データ(以下「入力データ」と略称する)
の仮数部を前述のIEEE 754標準フオーマント(
以下rI EEEフォーマット」と略称する)における
表現から2の補数表現に変換する補数変換器M1.2の
補数表現からIEEEフォーマットに逆変換する補数逆
変換器M2、およびレジスタR12に入るクロックにゲ
ートをかけるNANDゲー)Glとから構成される。第
1図において、A1−A4は第1の浮動小数点加算要素
、A5〜A7は第2の浮動小数点加算要素、Slは分配
手段である。
動小数点加算器A1〜A7、入力セレクタSl、入力し
た浮動小数点データ(以下「入力データ」と略称する)
の仮数部を前述のIEEE 754標準フオーマント(
以下rI EEEフォーマット」と略称する)における
表現から2の補数表現に変換する補数変換器M1.2の
補数表現からIEEEフォーマットに逆変換する補数逆
変換器M2、およびレジスタR12に入るクロックにゲ
ートをかけるNANDゲー)Glとから構成される。第
1図において、A1−A4は第1の浮動小数点加算要素
、A5〜A7は第2の浮動小数点加算要素、Slは分配
手段である。
累算処理を開始する前、レジスタR1−R12は全て初
期化されており、全ビット「0」なるデータを有してい
る。この状態から累算を行なっていく場合について動作
を説明する。累算処理を行なわない時には、セレクタS
1の制御信号C1は「0」であり、全ビット「0」なる
データをセレクトしている。累算処理を開始するとき制
御信号C1は「lJとされ、セレクタSlは本累算器に
対しデータ経路D1より与えられる入力データをセレク
トする。ここで、経路Diより与えられるデータとして
はTEEEフォーマットで表現された浮動小数点数を仮
定しているが、更に累算処理の最終項データであること
を示す“END”フラグ領域を1ビー/ ト備えている
。経路D1より与えられるデータはクロックT1に同期
して与えられるものとする。予め述べておけば、本累算
器内のレジスタを制御しているクロックは第1図中でφ
1〜φ4およびTlにて示されているものであり、これ
らのタイムチャートを第6図に示す。第6図(a)、
(b)はクロックTI、T2を示し、(C) 〜(f)
はクロックφ1〜φ4を示す。
期化されており、全ビット「0」なるデータを有してい
る。この状態から累算を行なっていく場合について動作
を説明する。累算処理を行なわない時には、セレクタS
1の制御信号C1は「0」であり、全ビット「0」なる
データをセレクトしている。累算処理を開始するとき制
御信号C1は「lJとされ、セレクタSlは本累算器に
対しデータ経路D1より与えられる入力データをセレク
トする。ここで、経路Diより与えられるデータとして
はTEEEフォーマットで表現された浮動小数点数を仮
定しているが、更に累算処理の最終項データであること
を示す“END”フラグ領域を1ビー/ ト備えている
。経路D1より与えられるデータはクロックT1に同期
して与えられるものとする。予め述べておけば、本累算
器内のレジスタを制御しているクロックは第1図中でφ
1〜φ4およびTlにて示されているものであり、これ
らのタイムチャートを第6図に示す。第6図(a)、
(b)はクロックTI、T2を示し、(C) 〜(f)
はクロックφ1〜φ4を示す。
セレクタS1によりセレクトされたデータは、補数変換
器M1によってフォーマット変換された後、4つのレジ
スタR1〜R4のいずれが1つに格納される。補数変換
器Mlは第4図の仮数補数器201と全(同じ作用をな
すものである。
器M1によってフォーマット変換された後、4つのレジ
スタR1〜R4のいずれが1つに格納される。補数変換
器Mlは第4図の仮数補数器201と全(同じ作用をな
すものである。
経路Diより与えられたデータがレジスタR1〜R4の
いずれに格納されるかは、データが与えられたタイミン
グと各々のレジスタを制御するクロックφ1〜φ4のタ
イミングとによって定まる。
いずれに格納されるかは、データが与えられたタイミン
グと各々のレジスタを制御するクロックφ1〜φ4のタ
イミングとによって定まる。
φ1〜φ4は全てT1の4倍の周期を持ち、φlとφ2
.φ2とφ3.φ3とφ4そしてφ4とφ1は各々1/
4ずつ位相がずれている(第6図参照)。また、φl〜
φ4とT1の5つのクロックは全てに対して非重複の関
係を満たしている。したがって、仮に[DT、] と称
するn番目のデータが与えられたのがφ1期間であった
ならば、[DT、]はφ1により制御されているレジス
タR1に格納される。次に、n+1番目のデータ[D’
r −−+ 3が[DT、]の直後に連続して与えられ
たなら、これはφ2期間であるから、[D T −+
]はレジスタR2に格納される。また、連続して与えら
れた[DT、、!]はレジスタR3、[DTfi−s]
はレジスタR4に格納され、T1周期にして[DT、]
から4周期後に与えられた[DT、、4]は再びレジス
タR1に格納される。このようにT1に同期して与えら
れたデータは1/4ずつに分割され、レジスタR1−R
4に格納される。
.φ2とφ3.φ3とφ4そしてφ4とφ1は各々1/
4ずつ位相がずれている(第6図参照)。また、φl〜
φ4とT1の5つのクロックは全てに対して非重複の関
係を満たしている。したがって、仮に[DT、] と称
するn番目のデータが与えられたのがφ1期間であった
ならば、[DT、]はφ1により制御されているレジス
タR1に格納される。次に、n+1番目のデータ[D’
r −−+ 3が[DT、]の直後に連続して与えられ
たなら、これはφ2期間であるから、[D T −+
]はレジスタR2に格納される。また、連続して与えら
れた[DT、、!]はレジスタR3、[DTfi−s]
はレジスタR4に格納され、T1周期にして[DT、]
から4周期後に与えられた[DT、、4]は再びレジス
タR1に格納される。このようにT1に同期して与えら
れたデータは1/4ずつに分割され、レジスタR1−R
4に格納される。
さて、レジスタR1〜R4には、2項演算である浮動小
数点加算を行なうための2つのデータが格納される。そ
の1つは、前述したように、データ経路DIより入力さ
れるデータであり、第1図のレジスタのby域に格納さ
れる。他の1つは、レジスタR5〜R8より各々フィー
ドバックされたデータであり、第1図のレジスタのa領
域に格納される。レジスタR1〜R4に格納されている
データは各々、浮動小数点加算器A1〜A4により演算
処理を施された後、各々レジスタR5〜R8に格納され
る。それ故に、例えばレジスタRIR5および加算器A
tをまとめて考えると、これらは1つの浮動小数点累算
要素を形成しており、レジスタR5に格納される内容は
得ようとする累算結果の部分和である。これはレジスタ
R7についても同様のことが言え、レジスタR6とR8
のbH域についても同様である。
数点加算を行なうための2つのデータが格納される。そ
の1つは、前述したように、データ経路DIより入力さ
れるデータであり、第1図のレジスタのby域に格納さ
れる。他の1つは、レジスタR5〜R8より各々フィー
ドバックされたデータであり、第1図のレジスタのa領
域に格納される。レジスタR1〜R4に格納されている
データは各々、浮動小数点加算器A1〜A4により演算
処理を施された後、各々レジスタR5〜R8に格納され
る。それ故に、例えばレジスタRIR5および加算器A
tをまとめて考えると、これらは1つの浮動小数点累算
要素を形成しており、レジスタR5に格納される内容は
得ようとする累算結果の部分和である。これはレジスタ
R7についても同様のことが言え、レジスタR6とR8
のbH域についても同様である。
φ1期間に入力されたデータの累算経過はレジスタR5
に格納され、この内容はφ4に同期して次々と更新され
ていく。φ2期間に入力されたデータの累算経過はレジ
スタR6のb領域に格納され、この内容はφ1に同期し
て更新されていく。
に格納され、この内容はφ4に同期して次々と更新され
ていく。φ2期間に入力されたデータの累算経過はレジ
スタR6のb領域に格納され、この内容はφ1に同期し
て更新されていく。
φ4期間に更新されたレジスタR5のデータは、直後の
φ1期間にレジスタR6のa領域へと転送されており、
レジスタR6のa領域とb TiN域の加算を行なうこ
とにより、φ1期間とφ2期間に入力されたデータにつ
いて累算経過が得られる。この累算経過はレジスタR9
に格納され、φ4に同期して更新される。レジスタR9
に格納されているデータは、次のφ2期間にレジスタR
IOのa領域へ転送されるが、同時にφ3期間とφ4期
間に入力されたデータの累算経過がレジスタRIOのb
領域に得られる。従って、レジスタRIOのa eft
域とb領域の加算を行なうことによって、人力経路DI
より与えられた全データについての累算経過が得られ、
これをレジスタR11に格納する。レジスタR11の内
容はφ1に同期して更新される。
φ1期間にレジスタR6のa領域へと転送されており、
レジスタR6のa領域とb TiN域の加算を行なうこ
とにより、φ1期間とφ2期間に入力されたデータにつ
いて累算経過が得られる。この累算経過はレジスタR9
に格納され、φ4に同期して更新される。レジスタR9
に格納されているデータは、次のφ2期間にレジスタR
IOのa領域へ転送されるが、同時にφ3期間とφ4期
間に入力されたデータの累算経過がレジスタRIOのb
領域に得られる。従って、レジスタRIOのa eft
域とb領域の加算を行なうことによって、人力経路DI
より与えられた全データについての累算経過が得られ、
これをレジスタR11に格納する。レジスタR11の内
容はφ1に同期して更新される。
ここで、レジスタR11に格納される内容を累算経過と
称したのは、次式(9)に示す値を得るのが目的である
ときに、レジスタR11に得られているのは弐〇1+1
に示す値だからである。
称したのは、次式(9)に示す値を得るのが目的である
ときに、レジスタR11に得られているのは弐〇1+1
に示す値だからである。
αω式においてm=’nとなったことを確認したならば
累算処理は終了し、レジスタR11に格納されているデ
ータは累算結果である。このとき信号C2はrlJとさ
れ(m≠nの場合は常にC2=0である)、累算結果は
補数逆変換器M2によってIEEEフォーマットに再変
換された後、出力レジスタR12へ送られる。
累算処理は終了し、レジスタR11に格納されているデ
ータは累算結果である。このとき信号C2はrlJとさ
れ(m≠nの場合は常にC2=0である)、累算結果は
補数逆変換器M2によってIEEEフォーマットに再変
換された後、出力レジスタR12へ送られる。
ここで重要なことは、全てのデータの累算が完了したこ
とを明確に知ることであるが、これには既に述べた“E
ND”フラグを用いる。浮動小数点加算器A1〜A7の
構成を表わすブロック系統を第2図に示す。同図におい
て、オアゲート(○Rゲー))806によって、入力デ
ータに付された” END”フラグは最終的にはレジス
タR11にまで到着する。そしてレジスタR11におけ
る“END”フラグを信号C2とすれば、最終的な累算
結果のみを出力レジスタR12に送ることができる。ま
た、レジスタR12の“END”フラグは、本累算器の
処理が完了したことを外部に告げる働きをする。処理完
了後レジスタR12の読出しく本累算器外部への続出し
)が完了すれば、再びレジスタR1〜R12までの全レ
ジスタを初期化信号(図示せず)により初期化し、次な
る累算データを待機する状態となる。これによって、一
連の処理は完了する。なお、累算を行なうべき最後のデ
ータ(“END”フラグが「1」であるデータ)が入力
されるのは、φ1〜φ4いずれの期間でも構わない。更
に、最初のデータの入力、累算データ入力の一時停止お
よび再開のタイミングも、φ1〜φ4の期間を問わない
。
とを明確に知ることであるが、これには既に述べた“E
ND”フラグを用いる。浮動小数点加算器A1〜A7の
構成を表わすブロック系統を第2図に示す。同図におい
て、オアゲート(○Rゲー))806によって、入力デ
ータに付された” END”フラグは最終的にはレジス
タR11にまで到着する。そしてレジスタR11におけ
る“END”フラグを信号C2とすれば、最終的な累算
結果のみを出力レジスタR12に送ることができる。ま
た、レジスタR12の“END”フラグは、本累算器の
処理が完了したことを外部に告げる働きをする。処理完
了後レジスタR12の読出しく本累算器外部への続出し
)が完了すれば、再びレジスタR1〜R12までの全レ
ジスタを初期化信号(図示せず)により初期化し、次な
る累算データを待機する状態となる。これによって、一
連の処理は完了する。なお、累算を行なうべき最後のデ
ータ(“END”フラグが「1」であるデータ)が入力
されるのは、φ1〜φ4いずれの期間でも構わない。更
に、最初のデータの入力、累算データ入力の一時停止お
よび再開のタイミングも、φ1〜φ4の期間を問わない
。
次に、第2図のブロック系統について簡単に説明する。
第2図の処理ブロック801〜805は第4図の処理ブ
ロック202〜206と全く同じである。各ブロックの
処理については従来技術の説明で既に述べたので、ここ
では述べない、第4図の仮数補数器201と結果レジス
タ207は加算器と分離して外付けとしたため、第2図
には含まれていない。オアゲート806については既に
述べた通りである。また、D801.D802は加算を
行なうべきデータを示しており、指数部E2の補数表現
の仮数部Cおよび“END”フラグとから成る。
ロック202〜206と全く同じである。各ブロックの
処理については従来技術の説明で既に述べたので、ここ
では述べない、第4図の仮数補数器201と結果レジス
タ207は加算器と分離して外付けとしたため、第2図
には含まれていない。オアゲート806については既に
述べた通りである。また、D801.D802は加算を
行なうべきデータを示しており、指数部E2の補数表現
の仮数部Cおよび“END”フラグとから成る。
さらに補足の意味で、入力されるデータがどのような流
れをたどるかについて、各々のレジスタに格納されてい
るデータを示すことにより説明しているのが第3図のタ
イムチャートである。第3図は、φ1周期において第1
番目の累算を行なうべきデータ[DTl]が入力され(
第3図由1. (C)参照)、その後、連続してデータ
が入力された時の様子を示したものである。第3図にお
いて、(a)はクロックT1を示し、(d)〜(f)は
クロックφ2〜φ4、(g)〜(r)はレジスタR1〜
R11を示す。第6図でレジスタの内容を「0」と記載
したところは、レジスタが初期化された状態にあり、数
値に直すならゼロとなるデータを有していることを示し
ている。
れをたどるかについて、各々のレジスタに格納されてい
るデータを示すことにより説明しているのが第3図のタ
イムチャートである。第3図は、φ1周期において第1
番目の累算を行なうべきデータ[DTl]が入力され(
第3図由1. (C)参照)、その後、連続してデータ
が入力された時の様子を示したものである。第3図にお
いて、(a)はクロックT1を示し、(d)〜(f)は
クロックφ2〜φ4、(g)〜(r)はレジスタR1〜
R11を示す。第6図でレジスタの内容を「0」と記載
したところは、レジスタが初期化された状態にあり、数
値に直すならゼロとなるデータを有していることを示し
ている。
本実施例においては、φ1〜φ4の4種のクロックを用
いることにより、加算器A1〜A4により、4つの部分
和を求め、その総和をとったが、これはほんの−例であ
り、2つあるいは3つの部分和から総和を求めても、8
つあるいは9つの部分和から総和を求めてもよい。さら
に、I EEEフォーマットとの変換は必ずしも必要な
いことは言うまでもないつ 〔発明の効果〕 以上説明したように本発明によれば、高速動作を実現す
る際のネックとなる処理に対し、その処理を多重にイン
タリーブして実効的な動作速度の向上を図ることにより
、先行する処理の結果をその前後の処理に反映させる必
要がある場合など、−iにパイプライン化によって高速
化を図り難い場合にも、高速処理が可能となる効果があ
る。
いることにより、加算器A1〜A4により、4つの部分
和を求め、その総和をとったが、これはほんの−例であ
り、2つあるいは3つの部分和から総和を求めても、8
つあるいは9つの部分和から総和を求めてもよい。さら
に、I EEEフォーマットとの変換は必ずしも必要な
いことは言うまでもないつ 〔発明の効果〕 以上説明したように本発明によれば、高速動作を実現す
る際のネックとなる処理に対し、その処理を多重にイン
タリーブして実効的な動作速度の向上を図ることにより
、先行する処理の結果をその前後の処理に反映させる必
要がある場合など、−iにパイプライン化によって高速
化を図り難い場合にも、高速処理が可能となる効果があ
る。
また、本発明によれば、累算を行なう場合のデータ入力
は連続であっても、あるいは断続であっても構わず、さ
らに、例えば終了用のフラグを使用すれば、累算処理の
終了を明確に把握でき、処理結果が容易に取り出せるな
ど、フレキシブルな応用の可能な浮動小数点累算器を構
成できるという効果がある。
は連続であっても、あるいは断続であっても構わず、さ
らに、例えば終了用のフラグを使用すれば、累算処理の
終了を明確に把握でき、処理結果が容易に取り出せるな
ど、フレキシブルな応用の可能な浮動小数点累算器を構
成できるという効果がある。
第1図は本発明による情報処理装置の一実施例を示すブ
ロック系統図、第2図は第1図の浮動小数点加算器の構
成を示すブロック系統図、第3図は入力されるデータが
累算、加算の処理を受けながら流れていく様子をクロッ
クとともに示したタイムチャート、第4図は従来の情報
処理装置を示すブロック系統図、第5図はIEEE 7
45標準フオーマツトを示すフォーマント図、第6図は
クロックのタイムチャートである。 R1へR12・・・レジスタ、A1〜A7・・・浮動小
数点加算器、Sl・・・セレクタ、Ml・・・補数変換
器、M2・・・補数逆変換器、DI、D2・・・経路。
ロック系統図、第2図は第1図の浮動小数点加算器の構
成を示すブロック系統図、第3図は入力されるデータが
累算、加算の処理を受けながら流れていく様子をクロッ
クとともに示したタイムチャート、第4図は従来の情報
処理装置を示すブロック系統図、第5図はIEEE 7
45標準フオーマツトを示すフォーマント図、第6図は
クロックのタイムチャートである。 R1へR12・・・レジスタ、A1〜A7・・・浮動小
数点加算器、Sl・・・セレクタ、Ml・・・補数変換
器、M2・・・補数逆変換器、DI、D2・・・経路。
Claims (1)
- 【特許請求の範囲】 第1の浮動小数点加算要素と結果を格納する結果レジス
タとから成る複数個の浮動小数点累算要素と、分配手段
と、1又は2以上の第2の浮動小数点加算要素とを備え
、 前記複数個の浮動小数点累算要素は互いに並列に接続さ
れ、第1の浮動小数点加算要素の2つの入力のうちの1
つには前記結果レジスタの内容をフィードバックして与
え、 前記分配手段は、連続あるいは断続して入力される浮動
小数点数を前記浮動小数点累算要素に分配し、 前記第2の浮動小数点加算要素は、前記浮動小数点累算
要素に含まれる結果レジスタに格納されているデータで
ある部分和を入力とし、全部分和の総和を求めることに
より浮動小数点累算を行ない、 前記第1、第2の浮動小数点加算要素は、与えられた2
つの浮動小数点数の指数部の差を検出する指数入力処理
部と、この指数入力処理部によって検出された指数部の
差に従って前記2つの浮動小数点数の仮数部の桁合わせ
を行なう桁合せ処理部と、この桁合せ処理部によって桁
合せを施された前記2つの浮動小数点数の仮数部の加算
を行なう仮数演算部と、この仮数演算部より出力される
仮数演算結果を所定の浮動小数点フォーマットに再構成
するためにシフト処理を行なう仮数正規化処理部と、こ
の仮数正規化処理部が前記仮数演算結果に対し施したシ
フト量に応じて前記2つの浮動小数点数の指数部のうち
大きな方に対し加算あるいは減算を行なう指数正規化処
理部とから構成される ことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27260989A JPH03131966A (ja) | 1989-10-18 | 1989-10-18 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27260989A JPH03131966A (ja) | 1989-10-18 | 1989-10-18 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03131966A true JPH03131966A (ja) | 1991-06-05 |
Family
ID=17516316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27260989A Pending JPH03131966A (ja) | 1989-10-18 | 1989-10-18 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03131966A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100959347B1 (ko) * | 2010-02-24 | 2010-05-20 | 조성호 | 자동차의 좌우후방 시야확보 장치 |
-
1989
- 1989-10-18 JP JP27260989A patent/JPH03131966A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100959347B1 (ko) * | 2010-02-24 | 2010-05-20 | 조성호 | 자동차의 좌우후방 시야확보 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2651267B2 (ja) | 演算処理装置及び演算処理方法 | |
US5218564A (en) | Layout efficient 32-bit shifter/register with 16-bit interface | |
US6099158A (en) | Apparatus and methods for execution of computer instructions | |
US4484259A (en) | Fraction bus for use in a numeric data processor | |
US4597053A (en) | Two-pass multiplier/accumulator circuit | |
JP3244506B2 (ja) | 小型乗算器 | |
JPH02138620A (ja) | 数値量を計算する方法および数値データ処理装置 | |
US5957996A (en) | Digital data comparator and microprocessor | |
JPH0844540A (ja) | 並列乗算論理回路 | |
JPH0850578A (ja) | 算術論理演算装置及び制御方法 | |
JPS584369B2 (ja) | デイジツトの有効性追跡装置 | |
JP3277089B2 (ja) | 乗算器及び積和演算装置 | |
JP2511527B2 (ja) | 浮動小数点演算器 | |
JPH03131966A (ja) | 情報処理装置 | |
JP3579087B2 (ja) | 演算器およびマイクロプロセッサ | |
JPS5968058A (ja) | フロ−テイング乗算器 | |
RU2069009C1 (ru) | Суммирующее устройство | |
Ercegovac et al. | Multiplication/division/square root module for massively parallel computers | |
JP3522167B2 (ja) | 演算処理回路及び演算処理方法 | |
EP0333306B1 (en) | Single chip integrated circuit digital signal processor with a slow or fast mode of operation | |
JPH05738B2 (ja) | ||
JPS60247781A (ja) | 演算装置 | |
JPH02128217A (ja) | 除算回路 | |
WO1998006029A1 (en) | Apparatus and methods for execution of computer instructions | |
Katell | A bounded carry inspection adder for fast parallel arithmetic |