JPS61204735A - デ−タ駆動浮動小数点演算回路 - Google Patents

デ−タ駆動浮動小数点演算回路

Info

Publication number
JPS61204735A
JPS61204735A JP60021142A JP2114285A JPS61204735A JP S61204735 A JPS61204735 A JP S61204735A JP 60021142 A JP60021142 A JP 60021142A JP 2114285 A JP2114285 A JP 2114285A JP S61204735 A JPS61204735 A JP S61204735A
Authority
JP
Japan
Prior art keywords
data
signal
circuit
output
arithmetic
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
JP60021142A
Other languages
English (en)
Inventor
Masao Iwashita
岩下 正雄
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP60021142A priority Critical patent/JPS61204735A/ja
Publication of JPS61204735A publication Critical patent/JPS61204735A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

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

Description

【発明の詳細な説明】 (技術分野) 本発明は演算回路に関し、特にデータ駆動処理装置にお
いて浮動小数点演算を高速に実行するデータ駆動浮動小
数点演算回路に関する。
(従来技術) 従来、データ駆動処理装置における演算処理装置につい
ては例えば、特開昭58−70360号公報に記載され
ている回路がある。
この方法では、固定小数点演算がベースになっているた
め、浮動小数点演算に対しては、処理時間が極めて遅く
なってしまい、実行に必要なメモチ容量も多大である、
という欠点を有していた。
(発明の目的) 本発明の目的は、浮動小数点演算をデータ駆動制御方式
の下で高速に実行しうるデータ駆動浮動小数点演算回路
を提供することにある。
(発明の構成) 本発明の装置は、一連のデータからなるデータ流を処理
するデータ駆動処理装置から供給されるデータ値をラッ
チし1パイプラインクロック間保持しておく入力レジス
タと、前記入力レジスタからの1対の出力値の一方に対
し、2進符号化を行う符号器と、前記1対の出力値又は
前記符号器の出力値を入力し、乗算を行う乗算器と、前
記1対の出力値に対し論理演算、加減算を行う演算器と
、前記乗算器の出力の一部に対しその最上位ビット位置
から数えて何番目のビットが初めて論理11111とな
るかを求めて出力するプライオリティエンコーダと、前
記乗算器、前記演算器、前記デコーダの出力のうちどれ
か1つを選択して出力するマルチプレクサと、前記入力
レジスタからの1対の出力値に対応した1対の制御信号
と、前記1対の制御信号のどれが一方を選択するマルチ
プレクサと、装置全体の処理実行順序制御及び演算の種
類が演算に必要なパラメータの格納に用いられる制御回
路とを含んで構成される。
(実施例) 次に本発明の実施例について図面を参照して詳細に説明
する。第1図は本発明の一実施例を示すブロック図であ
る。第1図のデータ駆動浮動小数点演算回路は、入力信
号101〜105をパイプラインクロック106に同期
してラッチし107〜111を出力し1クロック間保持
しておく入力レジスタ11と、信号109と113を入
力し乗算を行い、その結果上位データ値を115、下位
データを114に出方する乗算器14と、信号109と
110を入力し演算コード111の値に応じて定められ
た論理演算、固定小数点演算を行い、演算結果の上位デ
ータ値を117、下位データ値を116に出力する演算
器15と、信号118を入力し、その最上位ビット位置
から数えて何番目のビットが初めて論理11111とな
るがを求め信号119を出方するプライオリティエンコ
ーダ17と、信号110を2進符号化して信号112を
出方するバイナリデコーダ12と、信号107.108
のどちらが一方を選択して信号120を出力するマルチ
プレクサ19と、信号114.119゜117を入力し
そのどれが−っを選択して信号121を出力するマルチ
プレクサ18と、信号110.112のどちらか一方を
選択し113に出力するマルチプレクサ13と、信号1
15.116のどちらか一方を選択し信号118に出力
するマルチプレクサ16とを含んで構成される。
本実施例はパイプライン方式により制御されたデータ駆
動処理装置の一モジュールとして構成され、前段のモジ
ュールからの信号101〜105を入力レジスタ11に
とりこみ、必要な処理を施した後次段のモジュールへ信
号120.121として出力する。浮動小数点演算は本
発明の回路を用いて、複数のパイプラインロックステー
ジにより実行される。その詳細については後述するが、
その前に本発明の回路を1モジユールとして含むデータ
駆動処理装置を説明する。第2図は第1図を1モジユー
ルとして含んだデータ駆動演算回路のブロック図である
。第2図のデータ駆動演算回路は第1図の回路を含む演
算回路21と、データの行き先アドレスを貯えておくリ
ンクテーブルメモリ22と、命令を貯えておくファンク
ションテーブルメモリ23と、2項演算の片側の入力デ
ータを−1寺貯えておくデータメモリ24と、データが
次段のパイプラインステージに流せないときに一時貯え
ておくキューメモリ25と、外部バスへの出力データを
制御する出力制御回路26と、外部バスからの入力デー
タを制御する入力制御回路27とを含み構成される。
各ブロック21〜27内にはパイプラインクロックに同
期してその入力データを一時保持しておく入力レジスタ
を含み、全体がパイプラインクロックに同期して動作す
る。
入力制御回路27は外部から入力されるデータ206の
一部であるモジュール番号の値を参照し、リンクテーブ
ルメモリ22は又は出力制御回路26にデータ206を
振り分ける。即ち入力されたデータ206のモジュール
番号が、あらかじめ設定された自分自身のモジュール番
号値と一致すれば信号201に出力し、異なっていれば
信号207に出力する。
リンクテーブルメモリ22は演算回路21又は入力制御
回路27から送られてくるデータの一部であるデータ番
号をアドレスとしてアクセスされ、次の行き先のデータ
番号を読み出し、旧データ番号と置き換えると同時に演
算番号を読みだし、信号202を生成するファクション
テーブルメモリ23は信号202の一部である演算番号
をアドレスとしてアクセスされ、演算の種類及び演算に
必要なパラメータを読み出し、信号202のデータとペ
アとなるデータが既にデータメモリ24内に貯えられて
いるときは、データメモリ24内のペアとなるデータを
読み出し、2項入力データとしてキューメモリ25に送
る。ペアとなるデータが未だ到着していない場合にはデ
ータメモリ24にいま流されてきたデータの書き込みを
行い、キューメモリ25へのデータ204は無効とする
。ファンクションテーブルメモリ23の内部にはこのよ
うに2項演算の入力となる2種類のデータを識別し、ど
ちらが先に到着したかという内部状態をデータ番号毎に
貯えておく状態メモリを含んでいる。この状態メモリの
内容はデータが到着する毎に更新され、その状態メモリ
の内容を参照することでデータメモリ24の読み出し、
書きこみの制御を行う。2項演算のペアとなる入力デー
タ同志は同一のデータ番号をもち、ペアのどちらの入力
であるかを特定するペアビットの値により判別される、
データメモリ24には2項演算のペアとなる2つの入力
データのうち先に到着したものがデータ番号毎に貯えら
れ、ペアとなるデータのもう一方が到着すると読み出さ
れ、合流れてきたデータと、データメモリ24に貯えら
れていたペアとなるデータと一緒にキューメモリ25に
出力される。データメモリ24の1月こは定数演算のと
きの定数の値も貯えることができ、ファンクションテー
ブル23内に貯えられているファンクションコードによ
り2項演算であるか定数演算であるかが識別される。キ
ューメモリ25にはファンクションコード、演算に必要
なパラメータ、演算の対象となる2つのデータが到着順
に貯えられ、出力制御回路26又は演算回路21が空き
次第読み出されて送り込まれる。
プロセッサユニット21は2つの入力データ値に対して
与えられたファンクションコードに従い所定の演算を施
し、演算結果をリンクテーブル22に出力する。プロセ
ッサユニット21が複数個のデータ出力を行っていると
きにはキューメモリ25からのデータ人力は停止され待
たされる。
出力制御回路26は入力制御回路27からの通過データ
あるいはキューメモリ25からの出力データを引き取り
、外部回路へ出力するマルチプレクサであり、内部にデ
ータの待ち合せを行うキューを内臓している。
出力制御回路26からの出力データ208は大容量メモ
リ又は他のパイプラインプロゼッサモジュールと結合さ
れ、システムを構成する。
第3図は本発明のデータ駆動浮動小数点演算回路上で、
具体的に浮動小数点演算を行う場合の流れ図である。3
1〜38は第1図の回路上で実行される演算の種類を示
しており、++ + Itは加算、II X +1は乗
算、110RIIは論理和を表し、基本的には2人力1
出力の演算である。演算34.38は定数演算であり’
0OOFH”。
”FFFFH”などは16ビツトの16進定数を表して
いる。浮動小数点の乗算は次式で表される。
C・2e:A・2”XB−2b=(AXB)−28+b
ここで大文字のΔ、 B、 Cは仮数部、小文字のa、
 b、 cは2進表示の指数部である。
演算31は仮数部の和、32は指数部の和を求めており
、基本的にはこれだけでよいのだが、演算31の結果を
正規化表現に直すため、演算33では最上位のビットか
ら数えて初めて°1″の現れるビット位置を求め、その
値を演算34.36に出力している。
演算34では、”0OOFH”から前記ビット位置まで
のビット数を引き算し、演算35により仮数部をシフト
し正規化を行なう。演算37では演算33で行われたシ
フト結果と演算35では行われたシフト結果を合成し仮
数部結果Cを生成する。演算36では仮数部を正規化す
るためにシフトを行なった分だけ指数部の調整を行う。
演算38は演算36の結果指数部がオーバーフローした
ら、最大値” F F F F H”で打ち切って、指
数部Cを生成する。
演算31〜38の2つの入力データの待ち合せは第2図
におけるデータメモリ24で行う。演算の種類はファン
クションテーブルメモリ23の中にあらかじめ貯えられ
てあり、1つの演算から他の演算へいく矢印はデータバ
スを表しており、この接続はリンクテーブル22に貯え
られである。
処理の実行はあらかじめホストプロセッサカラ第2図に
示す入力制御回路を介して、リンクテーブルメモリ22
、ファンクションテーブルメモリ23等に必要な情報を
設定しておき、その後2つの入力データA・2”、 B
・2bを入力制御回路27を介して第2図の演算ブロッ
ク22.23.24.25.21により構成される内部
演算ループを周回することで第3図に示される処理がパ
イプ時に実行され、出力データC・2Cが出力制御回路
26を介して外部へ出力される。
第4図は本発明のデータ駆動浮動小数点演算回路上で、
浮動小数点加算を行う場合の流れ図を示したものである
。表記法は第3図のそれと同じである。図において演算
41〜53は演算の種類を示しており、6−″は減算、
“+″は加算、パ分流′”は入力データの値に応じて出
力光を振り分けるもので、°°制御フラグコピー″は一
方の入力データの制御フラグを他方のデータにコピーす
る操作を示している。
浮動小数点加算は次式で表される。
C・2c= A−2a+ B−2b の指数部に小さい方の指数部を合わせる演算部42では
指数部の差を求め、演算部43では°”0OOFH’”
と比較し、小さい方を出力し大きい方は削減する。演算
部44.45はA、Bに称して右シフトを行う、但し、
演算41での比較の結果大きい方には制御ビット“1”
となり、そのデータに対してはシフトを行わずそのまま
通過させる。演算部46では仮数部の和を求め、演算部
47では、演算部46の結果に対しオーバーフローの有
無を判断し、オーバーフロー有の場合演算部49へ、オ
ーバーフロー無の場合演算部48へ出力する。オーバー
フロー有の場合は演算部51により、仮数部の絶対値の
最上位ビットを1′”にする。オーバーフロー無の場合
には演算部48により絶対値の最上位ビットが1″とな
るまで左にシフトし、シフト後の値とシフト数をそれぞ
れ演算部51.50に出力する。
演算部50では仮数部正規化後の指数部調整を行う。こ
のため、演算部41から出力される大きい方の指数部と
、演算部48.49から出力される仮数部の正規化のた
めのシフト数とを足し合わせる。演算部52ではオーバ
ーフローが演算部47で検出された場合、オーバーフロ
ーが生じたことを示す制御フラグが°“1”となってデ
ータと一緒に演算部49を介して送られてくるのでこの
フラグを演算部50からの出力データにコピーして付加
する。演算部53ではオーバーフローフラグが9T”の
ときは”FFFFH”と論理和をとり最大数とおきかえ
る。パO”′のときにはそのまま通過させ指数部演算結
果Cを生成する。
(発明の効果) 本発明には、単精度固定小数点の演算回路にプラクオリ
ティエンコーダー回路、マルチプレクサ等の回路を付加
し、少量のハードウェアで効率よ(浮動小数点演算を高
速にデータ駆動方式パイプライン上で実行できるという
効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
第1図を演算モジュールとして含み構成されるデータ駆
動演算回路のブロック図、第3図は第1図の回路を用い
第2図の回路上で具体的に浮動小数点乗算を行う際の流
れ図、第4図は、浮動小数点加算を行う際の流れ図であ
る。 11・・・レジスタ      12・・・バイナリデ
コーダ13、16.18.19・・・マルチプレクサ1
4・・・乗算器       15・・・算術論理演算
回路。 代理人)fノ里士 内 原  、旨 tar  toz  103 /θ4 AS         ab Cc b

Claims (1)

    【特許請求の範囲】
  1. データ駆動処理装置において、入力のデータ値をラッチ
    し1パイプラインクロックの間保持しておく入力レジス
    タと、前記入力レジスタからの1対の出力値の一方に対
    し2進符号化を行う符号器と、前記1対の出力値又は前
    記符号器の出力値を入力し乗算を行う演算器と、前記1
    対の出力値に対し論理演算、加減演算を行う演算器と、
    前記乗算器及び前記演算器の出力の一部に対しその最上
    位のビット位置から数えて何番目のビットが初めて論理
    “1”となるかを求めて出力するプライオリティエンコ
    ーダと前記乗算器、前記演算器、前記デコーダの出力の
    うちどれか1つを選択して出力するマルチプレクサとか
    ら構成され、データ駆動型制御による浮動小数点演算を
    実行可能としたことを特徴とするデータ駆動浮動小数点
    演算回路。
JP60021142A 1985-02-06 1985-02-06 デ−タ駆動浮動小数点演算回路 Pending JPS61204735A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60021142A JPS61204735A (ja) 1985-02-06 1985-02-06 デ−タ駆動浮動小数点演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60021142A JPS61204735A (ja) 1985-02-06 1985-02-06 デ−タ駆動浮動小数点演算回路

Publications (1)

Publication Number Publication Date
JPS61204735A true JPS61204735A (ja) 1986-09-10

Family

ID=12046644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60021142A Pending JPS61204735A (ja) 1985-02-06 1985-02-06 デ−タ駆動浮動小数点演算回路

Country Status (1)

Country Link
JP (1) JPS61204735A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5444617A (en) * 1977-08-26 1979-04-09 Du Pont Novel phosphonates and use thereof
JPS5870360A (ja) * 1981-10-22 1983-04-26 Nec Corp デ−タフロ−処新装置
JPS59125435A (ja) * 1982-12-30 1984-07-19 Fujitsu Ltd 浮動小数点演算方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5444617A (en) * 1977-08-26 1979-04-09 Du Pont Novel phosphonates and use thereof
JPS5870360A (ja) * 1981-10-22 1983-04-26 Nec Corp デ−タフロ−処新装置
JPS59125435A (ja) * 1982-12-30 1984-07-19 Fujitsu Ltd 浮動小数点演算方式

Similar Documents

Publication Publication Date Title
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US4785421A (en) Normalizing circuit
US5696959A (en) Memory store from a selected one of a register pair conditional upon the state of a selected status bit
US5734880A (en) Hardware branching employing loop control registers loaded according to status of sections of an arithmetic logic unit divided into a plurality of sections
JP3729881B2 (ja) 並列加算および平均演算を行うための回路およびその方法
KR970022770A (ko) 데이타처리장치
CN112650469A (zh) 用于二进制标志确定的电路和方法
JP2518293B2 (ja) デ−タフロ−プロセツサ
US4038538A (en) Integer and floating point to binary converter
JPH0568725B2 (ja)
JPH09222991A (ja) 加算方法および加算器
JPS61204735A (ja) デ−タ駆動浮動小数点演算回路
US6065034A (en) Circuit and method employing an adder for sign extending operands
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
JPS63111535A (ja) デ−タ処理装置
JPH01187638A (ja) プロセッシングユニット
JP2001034457A (ja) 加減算回路
JPH0991118A (ja) 浮動小数点演算装置
JPS62257536A (ja) デ−タフロ−処理装置
JPH0367328A (ja) 浮動小数点演算装置
SU798857A1 (ru) Устройство дл вычислени экспоненты
JPH0553759A (ja) 固定小数点演算ユニツト
JPH01233520A (ja) 高基数非回復型除算装置
JPH01263812A (ja) テーブル読み出し回路
JPH01147723A (ja) 情報処理装置のパイプライン処理方式