JPS60263230A - 多重精度浮動小数点加算回路 - Google Patents
多重精度浮動小数点加算回路Info
- Publication number
- JPS60263230A JPS60263230A JP59118206A JP11820684A JPS60263230A JP S60263230 A JPS60263230 A JP S60263230A JP 59118206 A JP59118206 A JP 59118206A JP 11820684 A JP11820684 A JP 11820684A JP S60263230 A JPS60263230 A JP S60263230A
- Authority
- JP
- Japan
- Prior art keywords
- word
- mantissa
- order
- input
- addition
- 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; CALCULATING OR 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/3816—Accepting numbers of variable word length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はパイプライン演算に適した可変語長の多重精度
浮動小数点加算回路に関する。
浮動小数点加算回路に関する。
数値計算の多くの場合において、演算一度に対する要求
は一定でなく、単精度演算に加えてさまざまな語長の多
重精度演算を要求されることがしばしばある。従って汎
用の浮動小数点演算回路としては多重精度浮動小数点演
算を是非とも実現する必要である。特に集積回路化され
た浮動小数点演算回路は回路規模や入出力ビン数の制限
の為比較的小さな語長であることが多いので多重精度演
算の実現は強く要求される。
は一定でなく、単精度演算に加えてさまざまな語長の多
重精度演算を要求されることがしばしばある。従って汎
用の浮動小数点演算回路としては多重精度浮動小数点演
算を是非とも実現する必要である。特に集積回路化され
た浮動小数点演算回路は回路規模や入出力ビン数の制限
の為比較的小さな語長であることが多いので多重精度演
算の実現は強く要求される。
高速浮動小数点演算回路は通常、ベクトル演算を高速(
二実行する為のパイプライン演算器として設計される。
二実行する為のパイプライン演算器として設計される。
従って多重精度浮動小数点演算はパイプライン演算器に
適した形で実現される必要がある。
適した形で実現される必要がある。
しかしながら従来のパイプライン浮動小数点演算回路(
=おいては高々2倍精度演算度演算が可能である場合が
ほとんどであり、多重精度演算はほとんど実現されてい
ない。又、実現されている2倍精度演算にしても演算シ
ーケンスが複雑で、ベクトル演算には適さず、従ってベ
クトル演算として実現されている単精度演算と比べて著
しく性能の低下することが多かった。
=おいては高々2倍精度演算度演算が可能である場合が
ほとんどであり、多重精度演算はほとんど実現されてい
ない。又、実現されている2倍精度演算にしても演算シ
ーケンスが複雑で、ベクトル演算には適さず、従ってベ
クトル演算として実現されている単精度演算と比べて著
しく性能の低下することが多かった。
第9図はn語から成る多重精度浮動小数形式の例である
。第9図(a)において浮動小数の第1語は−指数部1
1と仮数の最上位部分12を含み、仮数の下位部分が第
2語13.第3語14.第1語15と順に続く。第9図
(b)では第1語16の全体が指数部で、そして仮数部
が上位から順に第2語17.第3語18゜第0語19と
順に続く、どちらでも大きな違いはなく、或は他の形式
も考えられるが、便宜上以下の説明では第9図(b)の
形式を仮定する。
。第9図(a)において浮動小数の第1語は−指数部1
1と仮数の最上位部分12を含み、仮数の下位部分が第
2語13.第3語14.第1語15と順に続く。第9図
(b)では第1語16の全体が指数部で、そして仮数部
が上位から順に第2語17.第3語18゜第0語19と
順に続く、どちらでも大きな違いはなく、或は他の形式
も考えられるが、便宜上以下の説明では第9図(b)の
形式を仮定する。
ここでパイプライン演算に適した多重精度浮動小数点演
算の意味を明確にしておく。パイプライン演算に適した
多重精度浮動小数点演算とは複数語から成る多重精度浮
動小数がパイプライン演算回路の入力ボートへ単位時間
に1語づつ連続して入力されたとき、いくらかのパイプ
ラインによる遅延の後、パイプライン演算回路の出力ボ
ートから、単位時間に1語づつ演算結果の多重精度浮動
小数が出力されるような演算である。入力から出力に至
るパイプラインの遅延はできるだけ小さく、また多重精
度浮動小数の語長に無関係であることが望ましい。これ
はパイプラインの入力の語順と出力の語順とが同じであ
るときに可能である。
算の意味を明確にしておく。パイプライン演算に適した
多重精度浮動小数点演算とは複数語から成る多重精度浮
動小数がパイプライン演算回路の入力ボートへ単位時間
に1語づつ連続して入力されたとき、いくらかのパイプ
ラインによる遅延の後、パイプライン演算回路の出力ボ
ートから、単位時間に1語づつ演算結果の多重精度浮動
小数が出力されるような演算である。入力から出力に至
るパイプラインの遅延はできるだけ小さく、また多重精
度浮動小数の語長に無関係であることが望ましい。これ
はパイプラインの入力の語順と出力の語順とが同じであ
るときに可能である。
この状況は第10図によって描かれている。第10図に
おいて21 、22はそれぞれ入力多重精度浮動小数、
23はパイプライン演算回路、セして24は演算結果で
ある多重精度浮動小数である。
おいて21 、22はそれぞれ入力多重精度浮動小数、
23はパイプライン演算回路、セして24は演算結果で
ある多重精度浮動小数である。
従来、パイプライン演算に適した多重精度小数点加算回
路の実現が困難であった理由は次のとおりである。
路の実現が困難であった理由は次のとおりである。
浮動小数点加算は仮数部桁合わせ、仮数部加算及び正規
化の3つの処理手順に大きく分けることができる。
化の3つの処理手順に大きく分けることができる。
仮数部桁合わせは2つの入力浮動小数の指数部を比較し
て大きい方の指数を加算結果の指数として選択し、指数
部の小さい方の入力浮動小数の仮数部を両者の指数の差
だけ右シフトする処理である。これは2つの多重精度浮
動小数を上位語に順に入力しながら対応する処理結果を
直ちに上位語から順に出力するという方法によってパイ
プライン化が可能である。具体的な実現例は本発明の実
施例の中で示した。
て大きい方の指数を加算結果の指数として選択し、指数
部の小さい方の入力浮動小数の仮数部を両者の指数の差
だけ右シフトする処理である。これは2つの多重精度浮
動小数を上位語に順に入力しながら対応する処理結果を
直ちに上位語から順に出力するという方法によってパイ
プライン化が可能である。具体的な実現例は本発明の実
施例の中で示した。
次に仮数部加算であるが、加算には常に下位桁から上位
桁へのキャリー伝播が伴うので仮数部加算は下位語から
順に行わなければならない。ところが仮数部桁合わせ結
果は上位語から順に送られてくるので結局仮数部桁合わ
せ結果の全体が揃うまで仮数部加算を開始できない。
桁へのキャリー伝播が伴うので仮数部加算は下位語から
順に行わなければならない。ところが仮数部桁合わせ結
果は上位語から順に送られてくるので結局仮数部桁合わ
せ結果の全体が揃うまで仮数部加算を開始できない。
最後の正規化は仮数部加算結果の最上位ビット位置から
連続するOビットの数を数えて、この値に基づいて仮数
部加算結果を左シフト及び指数部の値を更新する処理で
ある。まず先頭ゼロビットカウントは当然仮数部加算結
果の上位語から初めなければならないが、仮数部加算結
果は下位語から順に送られてくるので加算の全体が終了
するまで開始できない。そして先頭ゼロビットカウント
が完全に終了してから、再び仮数部加算結果の上位語か
ら順に指数部の更新と仮数部の左シフトを行う。
連続するOビットの数を数えて、この値に基づいて仮数
部加算結果を左シフト及び指数部の値を更新する処理で
ある。まず先頭ゼロビットカウントは当然仮数部加算結
果の上位語から初めなければならないが、仮数部加算結
果は下位語から順に送られてくるので加算の全体が終了
するまで開始できない。そして先頭ゼロビットカウント
が完全に終了してから、再び仮数部加算結果の上位語か
ら順に指数部の更新と仮数部の左シフトを行う。
上の説明で分かる通り通常の多重精度浮動小数点加算の
処理手順は上位語から下位語へ向うスキャンと下位語か
ら上位語へ向うスキャンとが入り組んでいる為、多重精
度浮動小数点加算の全体を、上位語から順に入力して加
算結果を直ちに上位語から出力するといった単純なパイ
ブライ・ン演算で実行するのは非常に困難であり、無理
にパイプライン化しようとするなら結局1個の長語長の
並列型浮動小数点加算器を作るのと変わらない程の回路
規模が必要になってくる。
処理手順は上位語から下位語へ向うスキャンと下位語か
ら上位語へ向うスキャンとが入り組んでいる為、多重精
度浮動小数点加算の全体を、上位語から順に入力して加
算結果を直ちに上位語から出力するといった単純なパイ
ブライ・ン演算で実行するのは非常に困難であり、無理
にパイプライン化しようとするなら結局1個の長語長の
並列型浮動小数点加算器を作るのと変わらない程の回路
規模が必要になってくる。
この為、従来は多重精度浮動小数点加算はパイプライン
化を断念し、不規則な演算シーケンスによる低速なスカ
ラー演算としてしか実現されていなかった。
化を断念し、不規則な演算シーケンスによる低速なスカ
ラー演算としてしか実現されていなかった。
本発明はJa上の点に鑑みなされたもので従来の困難を
克服する新しい方圧によってパイプライン演算に適した
可変語長の多重精度浮動小数点加算回路を提供すること
を目的とする。
克服する新しい方圧によってパイプライン演算に適した
可変語長の多重精度浮動小数点加算回路を提供すること
を目的とする。
本発明では1回の多重精度浮動小数点加算を、それぞれ
パイプライン演算可能な2つの処理即ち第1の処理と第
2の処理とに分割する。
パイプライン演算可能な2つの処理即ち第1の処理と第
2の処理とに分割する。
、 11の処理は加算すべき2つの浮動小数を上位語か
ら順番に入力しながら、最初(二人力される入力浮動小
数に含まれる指数部の値に基づいて、続いて入力される
仮数部の桁合わせを行い、セして各語独立に仮数部の加
算を行なって中間結果として上位語から順番に出力し、
最後に仮数部の6語の加算によって生じたキャリー族及
び仮数部加算結果の先頭ゼロピット数とを合わせて中間
結果の最下位語に付加して出力する。
ら順番に入力しながら、最初(二人力される入力浮動小
数に含まれる指数部の値に基づいて、続いて入力される
仮数部の桁合わせを行い、セして各語独立に仮数部の加
算を行なって中間結果として上位語から順番に出力し、
最後に仮数部の6語の加算によって生じたキャリー族及
び仮数部加算結果の先頭ゼロピット数とを合わせて中間
結果の最下位語に付加して出力する。
第2の処理は前記第1の処理の出力である中間結果を下
位語から順番に入力しながら、最初に入力される中間結
果の語に含まれる仮数部の6語のキャリーを続いて下位
部分から入力される仮数部の6語に加算し、同時に最初
に入力される中間結果の最下位語中に含まれ°る仮数部
の先頭ゼロピット数に基づいて、前記仮数部キャリー加
算結果を正規化シフトし、及びこれに伴う指数部の更新
を行って、最終加算結果として下位語から順番に出力す
る。
位語から順番に入力しながら、最初に入力される中間結
果の語に含まれる仮数部の6語のキャリーを続いて下位
部分から入力される仮数部の6語に加算し、同時に最初
に入力される中間結果の最下位語中に含まれ°る仮数部
の先頭ゼロピット数に基づいて、前記仮数部キャリー加
算結果を正規化シフトし、及びこれに伴う指数部の更新
を行って、最終加算結果として下位語から順番に出力す
る。
本発明は以上のような動作をする回路構成によって実現
される。
される。
本発明によれば多重精度浮動小数点加算をパイプライン
化に適した2つの処理によって実現できる為、それぞれ
を別個のベクトル命令どすれは、従来のパイプライン化
に適さないスカラー演算としての多重精度浮動小数点加
算よりも遥かに高速な演算が可能になる。
化に適した2つの処理によって実現できる為、それぞれ
を別個のベクトル命令どすれは、従来のパイプライン化
に適さないスカラー演算としての多重精度浮動小数点加
算よりも遥かに高速な演算が可能になる。
また本発明によればあらかじめ定められている範囲内で
任意語長の多重精度浮動小数点加算をまったく同一のハ
ードウェア構造で僅かな制御手順の変更のみで実現でき
る。
任意語長の多重精度浮動小数点加算をまったく同一のハ
ードウェア構造で僅かな制御手順の変更のみで実現でき
る。
そして上記本発明の利点は回路規模力ζ入出力ピン数の
制限の為、比較的短語長の浮動小数形式に限定される集
積回路化された浮動小数点加算回路ニ対して好都合であ
る。
制限の為、比較的短語長の浮動小数形式に限定される集
積回路化された浮動小数点加算回路ニ対して好都合であ
る。
以下本発明の実施例について説明する。
ここに示す実施例は指数部1語、仮数部は1語から最大
4語までの多重精度浮動小数を扱うことのできるパイプ
ライン浮動小数点加算回路である。
4語までの多重精度浮動小数を扱うことのできるパイプ
ライン浮動小数点加算回路である。
1言吾の長さは16ビツトとする。
本発明においては1コの多N精度浮動小数点かぼ算をそ
れぞれがパイプライン処理可能な第1の処理と第2の処
理とに分割する。
れぞれがパイプライン処理可能な第1の処理と第2の処
理とに分割する。
第1図は本発明の第1の処理を実現する回路例である。
図において301 、302は入力レジスタ、303は
指数部比較回路、304 、305はパイプラインレジ
スタ、307,308は仮数部セレクタ、310は仮数
部桁合わせ右シフタ、311は仮数部加算回路、314
は出力セレクタである。そして313,312は第1の
処理の出力の最下位語に付加する仮数部の6語の加算に
おけるキャリーと仮数部先頭ゼロビット数を生成する為
の、それぞれキャリー生成回路及び先頭ゼロビットカク
ンタである。
指数部比較回路、304 、305はパイプラインレジ
スタ、307,308は仮数部セレクタ、310は仮数
部桁合わせ右シフタ、311は仮数部加算回路、314
は出力セレクタである。そして313,312は第1の
処理の出力の最下位語に付加する仮数部の6語の加算に
おけるキャリーと仮数部先頭ゼロビット数を生成する為
の、それぞれキャリー生成回路及び先頭ゼロビットカク
ンタである。
第2図は上記第1の処理の実施例の動作タイミング図で
ある。図において41は基本クロツク、42は第1図中
の入力レジスタ301 、302にランチされた入力浮
動小数である。。入力浮動小数は5語から成り最下位語
から順番に入力される。これらは42のタイミング図中
の番号1.2.3.4.5によって示さ4れている。祠
は第1図中の出力子ン゛クタ314から出力される第1
の処理の演算結果である。この演算結果は図中の番号で
示されているように6語から成り、この内部1語から第
5語までが入力の5語だようにこの出力の第6語はキャ
リー情報と仮数部の先頭ゼロピット数とを含んでいる。
ある。図において41は基本クロツク、42は第1図中
の入力レジスタ301 、302にランチされた入力浮
動小数である。。入力浮動小数は5語から成り最下位語
から順番に入力される。これらは42のタイミング図中
の番号1.2.3.4.5によって示さ4れている。祠
は第1図中の出力子ン゛クタ314から出力される第1
の処理の演算結果である。この演算結果は図中の番号で
示されているように6語から成り、この内部1語から第
5語までが入力の5語だようにこの出力の第6語はキャ
リー情報と仮数部の先頭ゼロピット数とを含んでいる。
本実施例の動作は次のとおりである。まず多重精度浮動
小数の第1語が入力される。第1語は指数部である。こ
れは第2図中のタイミング図42の第1語に相当する。
小数の第1語が入力される。第1語は指数部である。こ
れは第2図中のタイミング図42の第1語に相当する。
この指数部の入力によって第1図における指数部比較回
路303が動作して2つの入力指数の大小関係と両者の
差の絶対値とを出力し、それぞれパイプラインレジスタ
304,305にラッチされる。これは第2図中のタイ
ミング図招によって示されている。指数部比較回路30
3の出力する入力指数の大小比較信号は直接にデータセ
レクタ309にも接続され、入力指数の内、指数部の大
きい方を選択し、データセレクタ314を経て! 外部
へ出力される。これは第2図9タイミング図44の第1
語(二相光する。
路303が動作して2つの入力指数の大小関係と両者の
差の絶対値とを出力し、それぞれパイプラインレジスタ
304,305にラッチされる。これは第2図中のタイ
ミング図招によって示されている。指数部比較回路30
3の出力する入力指数の大小比較信号は直接にデータセ
レクタ309にも接続され、入力指数の内、指数部の大
きい方を選択し、データセレクタ314を経て! 外部
へ出力される。これは第2図9タイミング図44の第1
語(二相光する。
次に仮数部が連続して4語入力される。これは第2図中
のタイミング図42の第2語から第5語に相当する。レ
ジスタ304は指数の大小関係を保持しており、この信
号によって指数部の小さい方の入力浮動小数の仮数部が
桁合わせ右シフタ310に入力されるようにデータセレ
クタ307,308を制御する0桁合わせ右シック31
0はレジスタ305に保持されている指数の差の絶対値
によって仮数部の桁合わせ右Vフトを行う。桁合わせさ
れた後、2つの仮数部は仮数部加算回路311によって
各梧独立に加算され出力データセレクタ314を経て外
部へ出力される。これは第2図中のタイミング図材の第
2語から第5語に相当する。
のタイミング図42の第2語から第5語に相当する。レ
ジスタ304は指数の大小関係を保持しており、この信
号によって指数部の小さい方の入力浮動小数の仮数部が
桁合わせ右シフタ310に入力されるようにデータセレ
クタ307,308を制御する0桁合わせ右シック31
0はレジスタ305に保持されている指数の差の絶対値
によって仮数部の桁合わせ右Vフトを行う。桁合わせさ
れた後、2つの仮数部は仮数部加算回路311によって
各梧独立に加算され出力データセレクタ314を経て外
部へ出力される。これは第2図中のタイミング図材の第
2語から第5語に相当する。
この仮数部の6語の加算によって生じるキャリー情報(
キャリールックアヘッド加算器におけるpropaga
tion信号どgenerat ion信号)はキャリ
生成回路313に入力され、同時に加算結果が先頭゛ゼ
ロビットカウンタ312に入力される。仮数部の最下位
語が加算された後、キャリ生成回路313はキャリール
ツクアベッド方式で語間に又がるキャリを生成し、また
先頭ゼロピットカウンタは4語から成る仮数部加算結果
全体の最上位ピット、位置から連続するθピットの数を
計算する。そしてこれらキャリー信号と先頭ゼロピット
数は合わせて第1の処理における処理結果の第6語とし
て出力データセレクタ314を経て外部へ出力される。
キャリールックアヘッド加算器におけるpropaga
tion信号どgenerat ion信号)はキャリ
生成回路313に入力され、同時に加算結果が先頭゛ゼ
ロビットカウンタ312に入力される。仮数部の最下位
語が加算された後、キャリ生成回路313はキャリール
ツクアベッド方式で語間に又がるキャリを生成し、また
先頭ゼロピットカウンタは4語から成る仮数部加算結果
全体の最上位ピット、位置から連続するθピットの数を
計算する。そしてこれらキャリー信号と先頭ゼロピット
数は合わせて第1の処理における処理結果の第6語とし
て出力データセレクタ314を経て外部へ出力される。
これは第2図中のタイミング図必の第6語に相当する。
第3図は第1図中の桁合わせ右シック310の実現例で
ある。図において501はデコーダであり第1因中のレ
ジスタ305に保持されている入力指数の差の絶対値の
下位4ビツトを除いた残りの部分によって制御される。
ある。図において501はデコーダであり第1因中のレ
ジスタ305に保持されている入力指数の差の絶対値の
下位4ビツトを除いた残りの部分によって制御される。
502、503.’504.505はデータセレクタで
あり前記デコーダ501の出力によって制御される。5
06゜507.508はパイプラインレジスタである。
あり前記デコーダ501の出力によって制御される。5
06゜507.508はパイプラインレジスタである。
前記デコーダ501.前記データセレクタ及び前記パイ
プラインレジスタによって語単位の桁合わせシフトが実
現される。
プラインレジスタによって語単位の桁合わせシフトが実
現される。
509は32ビツト入力、32ピツト出力の布シフタで
あり、シフト数は前記入力指数の差の絶対値の下位4ビ
ツトで制御される。右シフタ509の出力下位16ビツ
トはパイプラインレジスタ510を経て右シックの入力
上位16ビツトに接続される。
あり、シフト数は前記入力指数の差の絶対値の下位4ビ
ツトで制御される。右シフタ509の出力下位16ビツ
トはパイプラインレジスタ510を経て右シックの入力
上位16ビツトに接続される。
第4図は第1図中のキャリ生成回路313及び先頭ゼロ
ビットカウンタ312の実現例である。図において60
1 、602.603.604及び605,606,6
07,608はそれぞれシフトレジスタを構成し、仮数
部加算回路からのgeneration信号とprop
agation信号が直列に入力される。609はキャ
\・リトルスフアヘッド回路であり、仮数部の最下位語
が加算された直後に動作して語間に又がるキャリ信号を
生成する。
ビットカウンタ312の実現例である。図において60
1 、602.603.604及び605,606,6
07,608はそれぞれシフトレジスタを構成し、仮数
部加算回路からのgeneration信号とprop
agation信号が直列に入力される。609はキャ
\・リトルスフアヘッド回路であり、仮数部の最下位語
が加算された直後に動作して語間に又がるキャリ信号を
生成する。
611はパイプラインレジスタであり、仮数部加算をラ
ッチする。612は語に対する先頭ゼロビットカウンタ
、613は加算器、610はレジスタである。これら6
10,611,612,613によって4語から成る仮
数部全体の先頭ゼロビットカウンタを実現している。
ッチする。612は語に対する先頭ゼロビットカウンタ
、613は加算器、610はレジスタである。これら6
10,611,612,613によって4語から成る仮
数部全体の先頭ゼロビットカウンタを実現している。
第5図は本発明の第2の処理を実現する回路例である。
第2の処理では第1の処理結果をキャリーと先頭ゼロピ
ット数とを含む第6語を先頭に下位誦・から順番に入力
する。図において73.72はそれぞれキャリーと先頭
ゼロピットを保持する為のレジスタ、71は語単位で直
列に送られてくる仮数部及び指数部を保持する為のレジ
スタ、74はインバータ、75は正規化左シフタ、76
はデータセレクタ、77は加算回路である。
ット数とを含む第6語を先頭に下位誦・から順番に入力
する。図において73.72はそれぞれキャリーと先頭
ゼロピットを保持する為のレジスタ、71は語単位で直
列に送られてくる仮数部及び指数部を保持する為のレジ
スタ、74はインバータ、75は正規化左シフタ、76
はデータセレクタ、77は加算回路である。
第6図は上記第2の処理の実現例の動作タイミング図で
ある。図において81は基本クロック、モして82は第
5図中のレジスタ71又はレジスタ72゜73にラッチ
された直後の入力データである。入力データは既に述べ
たように下位語から順番に入力され、最初の語である第
6語はキャリーと先頭ゼロピット数を含み、第5語から
第2語の4語が仮数部で、最後の第1語が指数部である
。84は第2の処理の出力即ち最終加算結果である。図
示されているように5語から成り、下位語から順番に出
力される。
ある。図において81は基本クロック、モして82は第
5図中のレジスタ71又はレジスタ72゜73にラッチ
された直後の入力データである。入力データは既に述べ
たように下位語から順番に入力され、最初の語である第
6語はキャリーと先頭ゼロピット数を含み、第5語から
第2語の4語が仮数部で、最後の第1語が指数部である
。84は第2の処理の出力即ち最終加算結果である。図
示されているように5語から成り、下位語から順番に出
力される。
本実施例の動作は次のとおりである。まず最初! 6ユ
いヵゎうあ。ゆ、Dエヵヨイ。3ツ4、やヤリ−は第5
図におけるそれぞれレジスタ72.73に保持され、続
いて第5語から第2語の仮数部がパイプラインレジスタ
71を経て加算器77に入力され、レジスタ73に保持
されているキャリーが6語ごとに加算される。この加算
のときセレクタ76は0を選択する。キャリー加算され
た仮数部は正規化左シフタ75に入力され仮数部の正規
化が行われる。レジスタ72に保持されている先頭ゼロ
ピット数がこのときの左シフト数である。正規化された
仮数部は入力と同じ語順で外部へ出力される。これは第
6図中のタイミング図84の第5語から第2語に相当す
る。
いヵゎうあ。ゆ、Dエヵヨイ。3ツ4、やヤリ−は第5
図におけるそれぞれレジスタ72.73に保持され、続
いて第5語から第2語の仮数部がパイプラインレジスタ
71を経て加算器77に入力され、レジスタ73に保持
されているキャリーが6語ごとに加算される。この加算
のときセレクタ76は0を選択する。キャリー加算され
た仮数部は正規化左シフタ75に入力され仮数部の正規
化が行われる。レジスタ72に保持されている先頭ゼロ
ピット数がこのときの左シフト数である。正規化された
仮数部は入力と同じ語順で外部へ出力される。これは第
6図中のタイミング図84の第5語から第2語に相当す
る。
最後に第1語である指数部が入力される。この指数部は
レジスタ71を経て加算回路77に入力され、レジスタ
72に保持されている先頭ゼロピット数が減算される。
レジスタ71を経て加算回路77に入力され、レジスタ
72に保持されている先頭ゼロピット数が減算される。
インバータ74はこの減算の為の先頭ゼロピット数の1
の補数をとるものである。値の更新された指数部は正規
化左ジッタをそのまま通過して外部へ出力される。これ
は第6図中のタイミング図84の第1語に相当する。
の補数をとるものである。値の更新された指数部は正規
化左ジッタをそのまま通過して外部へ出力される。これ
は第6図中のタイミング図84の第1語に相当する。
第7図は第5図における正規′化左シフタ75の実現例
である。構成と動作は前に第3図で説明した桁合せ右シ
フタと右が左に変わるだけで同じである。
である。構成と動作は前に第3図で説明した桁合せ右シ
フタと右が左に変わるだけで同じである。
第8図は第5図におけるキャリレジスタ73の実現例で
ある。キャリーレジスタはシフトレジスタになっており
、最初の第6語の入力のとき並列にセットされ、以後続
いて仮数部の4語が入力される間1ピットづつシフトし
て仮数部の6語に加算される。
ある。キャリーレジスタはシフトレジスタになっており
、最初の第6語の入力のとき並列にセットされ、以後続
いて仮数部の4語が入力される間1ピットづつシフトし
て仮数部の6語に加算される。
本実施例によって多重精度浮動小数加算をパイプライン
化の可能な2つの処理に分割でき、それぞれを別個のベ
クトル命令とすれば従来のスカラー演算としての多重精
度浮動小数点加算よりも遥かに高速な演算が可能になる
。
化の可能な2つの処理に分割でき、それぞれを別個のベ
クトル命令とすれば従来のスカラー演算としての多重精
度浮動小数点加算よりも遥かに高速な演算が可能になる
。
また本実施例の説明では指数部1語、仮数部4語から成
る浮動小数を想定していたが、まったく同じ回路構成、
わずかの制御手順の反更のみで4は容易である。そして
このようなパイプライン化可能な可変語長多重精度浮動
小数点加算は回路規模や入出力ビン数の制限の為、比較
的小語長に制限され、かつ高速演算を要求される集積回
路化された浮動小数点加算回路にとって好都合なもので
ある。
る浮動小数を想定していたが、まったく同じ回路構成、
わずかの制御手順の反更のみで4は容易である。そして
このようなパイプライン化可能な可変語長多重精度浮動
小数点加算は回路規模や入出力ビン数の制限の為、比較
的小語長に制限され、かつ高速演算を要求される集積回
路化された浮動小数点加算回路にとって好都合なもので
ある。
第1図は本発明の第1の処理の実施例を示す図、第2図
は第1の処理の動作タイミング図、第3図は第1の処理
の中の桁合わせシックの図、第4図は同じ第1の処理の
中のキャリ生成回路及び先頭ゼロビットカウンタの図、
第5図は本発明の第2の処理の実現回路例を示す図、第
6図は前記第2の処理の実現例の動作タイミング図、第
7図は第2の処理の中の正規化左シックの図、第8図は
同じく第2の処理の中のキャリーレジスタの図、第9図
は多重精度浮動小数の形式を示した図、第10図はパイ
プライン演算に適したパイプライン演算を説明する図で
ある。 301 、302・・・入力レジスタ。 303・・・指数部比較回路、304,305・・・レ
ジスタ307 、308・・・仮数部セレクタ。 309・・・指数部セレクタ。 310・・・桁合わせ右シフタ、311・・・仮数部加
算器313・・・キャリー生成回路。 312・・・仮数部先頭ゼロピントカウンタ。 314・・・出力ゲート、 71・・・入力レジスタ7
2・・・先頭ゼロピット数を保持するレジスタ73・・
・キャリーレジスタ。 75・・・正規化左シック、77・・・加算器78・・
・仮数部補正右1ピットシック代理人 弁理士 則 近
憲 佑(ほか1名)第 1 図 −1( 第2図 第 3 図 6− 第 4 図 第 5 図 第 6 図 第 7 図 第 8 図 167− 第9図 第10図
は第1の処理の動作タイミング図、第3図は第1の処理
の中の桁合わせシックの図、第4図は同じ第1の処理の
中のキャリ生成回路及び先頭ゼロビットカウンタの図、
第5図は本発明の第2の処理の実現回路例を示す図、第
6図は前記第2の処理の実現例の動作タイミング図、第
7図は第2の処理の中の正規化左シックの図、第8図は
同じく第2の処理の中のキャリーレジスタの図、第9図
は多重精度浮動小数の形式を示した図、第10図はパイ
プライン演算に適したパイプライン演算を説明する図で
ある。 301 、302・・・入力レジスタ。 303・・・指数部比較回路、304,305・・・レ
ジスタ307 、308・・・仮数部セレクタ。 309・・・指数部セレクタ。 310・・・桁合わせ右シフタ、311・・・仮数部加
算器313・・・キャリー生成回路。 312・・・仮数部先頭ゼロピントカウンタ。 314・・・出力ゲート、 71・・・入力レジスタ7
2・・・先頭ゼロピット数を保持するレジスタ73・・
・キャリーレジスタ。 75・・・正規化左シック、77・・・加算器78・・
・仮数部補正右1ピットシック代理人 弁理士 則 近
憲 佑(ほか1名)第 1 図 −1( 第2図 第 3 図 6− 第 4 図 第 5 図 第 6 図 第 7 図 第 8 図 167− 第9図 第10図
Claims (1)
- 【特許請求の範囲】 最上位語に指数部を含み、これに続いて仮数部を上位部
分から順に必要な語数だけ含むような形式の複数語から
構成される多重精度浮動小数に対する浮動小数点加算回
路において。 1つの多重精度浮動小数点加算を、加算すべき2つの浮
動小数を上位語から順番に入力しながら、最初に入力さ
れる語に含まれる指数部の値に基づいて続いて入力され
る仮数部の桁合わせを行い、セして各語独立に仮数部の
加算を行なって中間結果として上位語から順番に出力し
、最後に仮数部の各語の加算によって生じたキャリー出
力と仮数部加算結果の先頭ゼロピット数とを合わせて中
間下 結果の最末位語として出力する第1の処理手段と。 この第1の処理手段より出力された中間結果を下位語か
ら順番に入力しながら、最初に入力される中間結果の語
の中に含まれる仮数部の各語のキャリーを、続いて下位
部分から入力される仮数の各語に加算し、これと同時に
前記最初に入力される中間結果の語の中に含まれる仮数
部の先頭ゼロピット数に基づいて前記仮数部キャリー加
算結果の正規化シフト及び中間結果の最上位語に含ま1
れる指数部の値の更新を行い最終加算結果として下位語
から順番に出力する第2の処理手段とを具備したことを
特徴とする多重精度浮動小数点加算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59118206A JPS60263230A (ja) | 1984-06-11 | 1984-06-11 | 多重精度浮動小数点加算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59118206A JPS60263230A (ja) | 1984-06-11 | 1984-06-11 | 多重精度浮動小数点加算回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS60263230A true JPS60263230A (ja) | 1985-12-26 |
Family
ID=14730820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59118206A Pending JPS60263230A (ja) | 1984-06-11 | 1984-06-11 | 多重精度浮動小数点加算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60263230A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4719589A (en) * | 1983-12-28 | 1988-01-12 | Nec Corporation | Floating-point adder circuit |
-
1984
- 1984-06-11 JP JP59118206A patent/JPS60263230A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4719589A (en) * | 1983-12-28 | 1988-01-12 | Nec Corporation | Floating-point adder circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6099158A (en) | Apparatus and methods for execution of computer instructions | |
KR100239029B1 (ko) | 가산기와 함께 사용하기 위한 결과 정규화기 및 결과 정규화 방법과 그를 포함하는 데이터 프로세서 | |
US5808926A (en) | Floating point addition methods and apparatus | |
US8990282B2 (en) | Apparatus and method for performing fused multiply add floating point operation | |
US5631859A (en) | Floating point arithmetic unit having logic for quad precision arithmetic | |
TWI405126B (zh) | 微處理器及其執行指令之方法 | |
US6138135A (en) | Propagating NaNs during high precision calculations using lesser precision hardware | |
JP2018500635A (ja) | プログラム可能な有効度データを使用するデータ処理装置および方法 | |
JP3418460B2 (ja) | 倍精度除算回路および方法 | |
JPS58158739A (ja) | 浮動小数点加算方法及び装置 | |
JP3845009B2 (ja) | 積和演算装置、及び積和演算方法 | |
US6205461B1 (en) | Floating point arithmetic logic unit leading zero count using fast approximate rounding | |
US5247471A (en) | Radix aligner for floating point addition and subtraction | |
GB2549153B (en) | Apparatus and method for supporting a conversion instruction | |
US7016930B2 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
US6598065B1 (en) | Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal | |
JPS63123125A (ja) | 浮動小数点数の加算装置 | |
TWI822952B (zh) | 迭代運算的處理 | |
JPH0546363A (ja) | 除算器 | |
JPS60263230A (ja) | 多重精度浮動小数点加算回路 | |
US7237000B2 (en) | Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly | |
WO1998006029A1 (en) | Apparatus and methods for execution of computer instructions | |
CN114691088A (zh) | 包括由具有三个操作数引用的指令可驱动的双乘双加运算符的处理器 | |
JPS5827241A (ja) | 十進演算装置 | |
JP2508286B2 (ja) | 平方根演算装置 |