JPS60217435A - 多重精度浮動小数点加算回路 - Google Patents

多重精度浮動小数点加算回路

Info

Publication number
JPS60217435A
JPS60217435A JP59071751A JP7175184A JPS60217435A JP S60217435 A JPS60217435 A JP S60217435A JP 59071751 A JP59071751 A JP 59071751A JP 7175184 A JP7175184 A JP 7175184A JP S60217435 A JPS60217435 A JP S60217435A
Authority
JP
Japan
Prior art keywords
precision floating
floating point
precision
point
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
Application number
JP59071751A
Other languages
English (en)
Inventor
Sadao Nakamura
中村 定雄
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP59071751A priority Critical patent/JPS60217435A/ja
Publication of JPS60217435A publication Critical patent/JPS60217435A/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
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/485Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3896Bit slicing

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は複数個の単精度浮動小数点加算回路間互いに縦
続に接続することによって任意語長の多重精度浮動小数
点加算回路を構成することに関する。
〔発明の技術的背景とその問題点〕
実際の数値計算の分野では演算精度に対する要求は一足
ではなく、単精度演算(=よればこの為に設置されてい
る専用の高速浮動小数点演算回路によって高速な処理が
可能であるにもかかわらず、多少の演算速度を犠牲にし
ても、前記浮動小数点演算回路の能力を越えるような多
重精度浮動小数点演算を要求されることがしばしばある
。しかしながらユーザは多少の演算速度を犠牲C:する
といっても、可能な限り高速な多重精度浮動小数点演算
を望んでいる。
従来、このような場合、設置されている前記専用の高速
単精度浮動小数点演算回路の使用を断念して、多重精度
浮動小数点演算を丁べてソフトウェアで実現するか、又
はあらかじめある種の工夫の施された前記単精度浮動小
数点演算回路自身を反復的に使用して、多重精度浮動小
数点演算全実現していた。当然、後者のようζニハード
ウェアを用いる方が遥かに高速であるが、高々2倍精度
演算が可能である場合がほとんどであplまたもともと
単精度演算に対して最適に設計されている単一の単精度
浮動小数点演算回路を用いる為、高速化には限度がある
高速計算器の多くは処理効率を高める為に複数個の演算
回路を持っているが、従来これら複数個の演算器が上述
した多重精度演算の実現上の問題点の解決に役立てられ
ることはなかった。
また、最近の集積回路技術の進歩により1チツプの浮動
小数点演算回路が十分に実現できるようになったが、ゲ
ート数と入出力ピン数の制限の為、回路規模と浮動小数
の語長は比較的小さなもの(:限られている。このよう
な場合、前述した従来の多重精度浮動小数点演算の実現
上の問題点は特に顕著になる。集積回路にはそれを多数
個用いることによって同一構造の回路を反復的に使用で
きるという利点があるが、従来この利点を利用して単一
演算器の能力を越えるような多重精度浮動小数点加算回
路現するような方法は知られていなかった0 〔発明の目的〕 本発明は以上の6点に鑑みなされたもので、単一の単精
度浮動小数点加算回路の能力を越えるような2倍精度の
みならず、任意語長の多重精度浮動小数点加算金、隣接
間にのみ結合路を持つ一次元的3二配列された複数個の
単精度浮動小数点加算回路の並列動作によって実現する
ことζ:よって演算速度の高速化と回路の柔軟性と拡張
可能性とを持つた多重精度浮動小数点加算回路を提供す
ることを目的としている。
〔発明の概要〕
本発明は4つの構成要件から成っている。以下において
これら構成要件についての解説を行う。
本発明の第1の構成要件はN1精度浮動小数を互いにオ
ーバラップしないN個の単精度浮動小数の和で表わすこ
とである。
符号ビットS、指数部E、及び最上位ビットが2 桁で
語長がNビットであるような仮数部Mより成る単精度浮
動小数を3項組(StE+’ )によって表わすことに
すると、例えば4倍精度浮動小数Aは4つの単精度浮動
小数A!+A!+A3.A4によって次のように表わさ
れる: A = Al + A2 + As + A4第1図は
この状況を示したもので、仮数部を横長の長方形で表わ
し、指数部の値に基づく重みをつけて横に並べたもので
ある。
本発明の第2の構成要件は、入力された2つの単精度浮
動小数A、Hに対して厳密に正確な非正規化加算を実行
し、この結果として互いにオーバラップしない2つの単
精度浮動小数C,D(ただしCODとする)を出力する
機能を持っ浮動小数点加算回路を複数個から構成された
多重精度浮動小数点加算回路である。
ここで非正規化加算とは2つの入力浮動小数の桁合わせ
処理の後、それぞれの仮数部全加算し、その結果最上位
桁よりキャリーが発生したときは仮数部加算結果を右1
ビツトシフトするとともに指数部の値を更新して仮数部
加算結果の正規化を行うが、これ以外の場合には仮数部
加算結果の正規化を行わない浮動小数点加算方式のこと
である。
2つの単精度浮動小数の厳密C正確な非正規化加算の意
味を図式的に示そう。第2図はこの状況を示したもので
、2つの単精度浮動小数A、Bの可能な2通りの配置C
:対する厳密に正確な非正規化加算の結果である互いに
オーバラップのない2つの単精度浮動小数の図である。
ただし−膜性を失なうことなく(Aの指数部)≧(Bの
指数部)を仮足している。第2図の(1)は2つの入力
浮動小数A、Bにオーバラップがある場合を示している
この場合、仮数部加算結果が、キャリーが発生すること
があり、従って正規化の為2つの単精度加算結果C,D
について2通りの場合が生じる。これは第2図の(1)
におけるL)とLL)とによって示されている。
同図においてDの下位部分の斜線は、この部分の全ビッ
トがOであることを意味している。第2図の(II)は
2つの入力浮動小数A、Hの間にオーバラップがない場
合を示している。この場合には実際の加算は行われず2
つの単精度加算結果C,Dとしてそれぞれ人力A、Bが
そのまま出力される。
以上の説明で分かる通り、倍精度加算結果C十りはいか
なる場合にも正確に入力の和A十Bに等しい。
本発明において、単精度浮動小数点加算とけオーバラッ
プについて制約のない2つの単精度浮動小数の和A+B
’r互いにオーバラップのない2つの単精度浮動小数の
和C十〇へ変換することである。
本発明の第3の構成要件は、N単精度浮動小数点加算回
路の構成要素であるN個の単精度浮動小数点加算回路の
間(−11つの単精度浮動小数点加算回路のA入力とし
て上位段に位置する単精度浮動小数点加算回路のD出力
か又は外部からの単精度入力か又は自身のD出力の中か
ら選択でき、及び同じくB入力として自身のC出力か又
は外部からの単精度入力か又は下位段に位置する単精度
浮動小数点加算回路のC出力の中から選択できるような
データ経路が存在することである。
第3図はこの状況金示したもので、4倍精度浮動小数加
算の為の結合路が描かれている。図において31,32
,33.34はそれぞれ本発明の第2の構成要件を満足
する4つの単精度浮動小数点加算回路である。
個々の単精度浮動小数点加算回路の人人力、B入力のそ
れぞれは、本発明の第3の構成要件を満たす為に3人力
1出力のデータセレクタ35,36゜37.38,39
,40,41.42を持っている。
本発明の第4の構成要件は、本発明を構成する複数の浮
動小数点加算器のうち、少なくとも最上段(−位置する
浮動小数点加算器は、入力された非正規化浮動小数全正
規化して出力する正規化演算機能を持つことである。こ
れは第3図において浮動小数点加算器31が正規化演算
機能を持つことに相当する。
〔発明の効果〕 本発明の第2の構成要件で述べた単精度の非正規化加算
を単位ステップとし、正規化演算も同じく単位ステップ
で実行されると仮足すると、本発明の実施によってN重
精度の正規化浮動小数点加算が3Nステツプで実行でき
るようになる。
本発明によれば、単一浮動小数点加算器の能力を越える
ような多重精度浮動小数点加算全複数個の浮動小数点加
算器の並列動作によって実現する為、従来の多重精度浮
動小数点加算よりも高速であり、また浮動小数点加算器
の数を増化させることによって2倍精度のみならず任意
の多重精度浮動小数点加算が実現可能になる。
また、本発明の構成要素でおる複数個の浮動小数点演算
回路は、すべてを同一構成とすることが可能なため、集
積回路化され次浮動小数点加算回路を複数個用いること
によって、容易に本発明を実現できる。
また、本発明では構成要素である複数個の浮動小数点演
算回路間の結合が1次元的な隣接間どおしの単純な結合
である為、後からの演算精度の増化の要求C二対して新
たな浮動小数点加算回路を追加して簡単にこれに答える
ことができる。
〔発明の実施例〕
以下において、本発明の実施例について説明する。
ここに示す実施例は4つの単精度浮動小数点加算器を第
3図に描かれている結合路によって構成した4倍精度浮
動小数点加算器である。
本実施例の構成要素である個々の単精度浮動小数点加算
器は、前述したように、非正規化加算機能と正規化演算
機能を持つ。本実施例(二おける非正規化演算機能は、
2つの単精度入力(871,EA。
MA)及び(SB、EB、MB)に対して厳密に正確な
非正規化加算を実行して、2つの単精度演算結果(Sc
 lFC,Mc)及び(5DiD、MD) k出カーj
ルモ(7)テ!り、また、正規化演算機能はB入力(S
n、lin+Mn) ’に正規化してD出力(SD、E
DIMD)として出力するものである。このような浮動
小数点加算回路は、従来の浮動小数点加算回路の拡張と
して容易に実現でき、当該業者には明らかなので明示し
ない。
以上によって、本実施例の構成が示された。
本実施例では、4つの単精度浮動小数が同一クロックに
同期しながら並列に動作し、個々の単精度加算器は、1
クロツクにつき1回の非正規化加算又は正規化演算?行
う。
本実施例による2つの4倍精度浮動小数A = A。
+ Ayl−As+A4 、 B = Bt+n=+ 
B3+ B4の4倍精度浮動小数点加算の実行手順は次
のとおりである。ただし当然のことながらAI 、 A
x 、 As 、 A4の間にはオーバラップがなく、
また、Bl 、B2 + B3 + B4の間にもオー
バラップがないことを仮定している:44倍精浮動小数
点加算の実行手順 上式において、1ステツプにつき、4つの演算が描かれ
ているが、これらは本実施例の4つの浮勤小数点演算回
路が同一クロックで同時に実行するものである。
上式において左辺の+は前述した厳密に正確な非正規化
加算全意味し、右辺の+はその結果でおるオーバラップ
のない2つの単精度浮動小数を意味している。また左辺
のnormalizeは正規化演算であり、nopはそ
の区間の演算は結果(二影響しないことを意味している
4倍精度浮動小数点加算は全体で12ステツプかかり、
最終結果である4つの単精度浮動小数Ql。
(h、Qs、G4は互いにオーバラップがない正規化さ
れた4倍精度浮動小数である。しかし、この4倍精度加
算結果Ql+ Qz+ Qa+ G4は正確な入力4倍
精朋浮動小数の和A+111とは一致せず、最下位2゜
3ビツト程に誤差を含んでいるが、これは問題(二なら
ないであろう。
第4図は上述しfc4倍精度加算の演算手順のデータフ
ローを描いたものである。図C二おいて(1)から@の
数字は各実行ステップ全意味し、51,52゜53.5
4で示される破線の枠はそれぞれの演算器の時間を追っ
た処理内容を示している。破線の枠をまたぐデータ経路
は異なる演算器間のデータ通信を意味する。図によって
分かる通り、すべてのブタ通信は隣接演算器間のデータ
通信である。
演算手順は桁合わせ加算処理とキャリー伝播加算/正規
化処理の2つに分割できる。
第1段回の桁合わせ加算処理は入力A = A1+A!
十A3 +A4及びB = Bl +Bt +Bs十B
4 から中間結果C11Et、G3.工4 ’fc得る
までの処理である。中間結果C1十E、+G、+ I4
は近似的に入力の和A十Bに等しい。最大位2,2ビッ
ト程の誤差はD5. F、 。
Hs+Js全無視していることから生じる。これらもま
た前記中間結果に加算して正確に入力の和に一致させる
ことも可能であるが、こうすると演算ステップ数がかな
り増加する。
中間結果C1+ F、t+ G3+ I aは近似的C
入力の和に等しいのであるが、各単精度浮動小数の間に
オーバラップが存在する可能性がおる。しかしどのよう
な入力の組み合わせに対してもオーバラップは高々1ビ
ツトである。また中間結果C1+E!十G!+I4は正
規化されていない。1 第2段回のキャリ伝播加算/正規化処理は中間結果Ct
+Et+Gs+ I4から和を一定に保ちながら互いに
オーバラップがなく、かつ正規化された最終結果Qt+
(h+(h+Q4i得る為の処理手順である。
中間結果C1+g鵞+G、、yl−I4の正規化状態が
どのようなものであっても、前述した処理手順によって
、この第2段回のキャリ伝播加算/正規化処理は正しく
行われ、最終結果として正規化された4倍精度浮動小数
Qs+ (h+ Q!+ G4を得ることができる。
以上により、本実施例の動作説明を終える。
本実施例によれば、単精度浮動小数点加算を単位ステッ
プとすると、4倍精度浮動小数点加算が12ステツプで
実行できる。また本実施例では構成要素である単精度浮
動小数点加算回路間の結合路が隣接間のみの単純な結合
の為、新たな単精度加算回路をいくつでも追加して、任
意に演算精度を増加させることができる。更に本実施例
では演算精度の柔軟な制御が可能である。例えば、実施
例が8個の演算回路を含むとき、1コの8倍精度浮動小
数点加算回路、2つの4倍精度浮動小数点加算回路、4
つの2倍精度浮動小数点加算回路、又は8つの単精度浮
動小数点加算回路のどれ(二対しても簡単C:変更でき
る。
【図面の簡単な説明】
第1図は4つの単精度浮動小数の和によって表わされた
4倍精度浮動小数を図式的(二示す図、第2図は2つの
単精度浮動小数の厳密に正確な非正規化加算を説明する
ための図、第3図は本発明の実施例としての4つの単精
度浮動小数点加算器を含む4倍精度浮動小数点加算回路
の構成図、第4図は本発明の実施例によって4倍精度浮
動小数点加算を実現する為の処理手順のデータフロー図
、31.32,33,34はそれぞれ単精度浮動小数点
加算回路、35,36,37,38,39,40,41
.42は3人力から1出力を選択するデータセレクタで
ある。 代理人 弁理士 則 近 憲 佑 (ほか1名)第1図 第2図 + 13 (M ) 第3図 第4図

Claims (1)

  1. 【特許請求の範囲】 N重精度浮動小数を互いにオーバラップのないN個の単
    精度浮動小数の和として表現し、前記形式の2つのN重
    精度浮動小数に対するN重精度浮動小数点加算を行う為
    にN個の縦続に接続された単精度浮動小数点加算回路を
    含み、 個々の単精度浮動小数点加算回路−は、入力され7’c
    2つの単精度浮動小数A、Hに対して厳密に正確な非正
    規化加算の結果として互いにオーバラップのない2つの
    単精度浮動小数C、D(ただしC〉Dとする)を出力す
    る機能を持ち、 前記N個の単精度浮動小数点加算回路のそれぞれのへ入
    力として上位段に位置する単精度浮動小数点加算回路の
    D出力又は外部からの単精度入力又は自身のD出力の中
    から選択でき、及びN個の単精度浮動小数点加算回路の
    B入力として自身のC出力又は外部からの単精度入力又
    は下位段に位置する単精度浮動小数点加算回路のC出力
    の中から、選択できるような単精度浮動小数点加算回路
    間のデータ経路が存在し、 更に最上位段4二位置する単精度浮動小数点加算回路は
    入力単精度浮動小数に対して正規化された単精度浮動小
    数を出力する機能を持つこと、を特徴とした多重精度浮
    動小数点加算回路。
JP59071751A 1984-04-12 1984-04-12 多重精度浮動小数点加算回路 Pending JPS60217435A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59071751A JPS60217435A (ja) 1984-04-12 1984-04-12 多重精度浮動小数点加算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59071751A JPS60217435A (ja) 1984-04-12 1984-04-12 多重精度浮動小数点加算回路

Publications (1)

Publication Number Publication Date
JPS60217435A true JPS60217435A (ja) 1985-10-31

Family

ID=13469544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59071751A Pending JPS60217435A (ja) 1984-04-12 1984-04-12 多重精度浮動小数点加算回路

Country Status (1)

Country Link
JP (1) JPS60217435A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222225B2 (en) 1995-08-16 2007-05-22 Microunity Systems Engineering, Inc. Programmable processor and method for matched aligned and unaligned storage instructions
US7849291B2 (en) 1995-08-16 2010-12-07 Microunity Systems Engineering, Inc. Method and apparatus for performing improved group instructions
US8289335B2 (en) 1995-08-16 2012-10-16 Microunity Systems Engineering, Inc. Method for performing computations using wide operands

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222225B2 (en) 1995-08-16 2007-05-22 Microunity Systems Engineering, Inc. Programmable processor and method for matched aligned and unaligned storage instructions
US7260708B2 (en) 1995-08-16 2007-08-21 Microunity Systems Engineering, Inc. Programmable processor and method for partitioned group shift
US7353367B2 (en) 1995-08-16 2008-04-01 Microunity Systems Engineering, Inc. System and software for catenated group shift instruction
US7386706B2 (en) 1995-08-16 2008-06-10 Microunity Systems Engineering, Inc. System and software for matched aligned and unaligned storage instructions
US7660972B2 (en) 1995-08-16 2010-02-09 Microunity Systems Engineering, Inc Method and software for partitioned floating-point multiply-add operation
US7818548B2 (en) 1995-08-16 2010-10-19 Microunity Systems Engineering, Inc. Method and software for group data operations
US7849291B2 (en) 1995-08-16 2010-12-07 Microunity Systems Engineering, Inc. Method and apparatus for performing improved group instructions
US7987344B2 (en) 1995-08-16 2011-07-26 Microunity Systems Engineering, Inc. Multithreaded programmable processor and system with partitioned operations
US8117426B2 (en) 1995-08-16 2012-02-14 Microunity Systems Engineering, Inc System and apparatus for group floating-point arithmetic operations
US8289335B2 (en) 1995-08-16 2012-10-16 Microunity Systems Engineering, Inc. Method for performing computations using wide operands

Similar Documents

Publication Publication Date Title
EP0081632A2 (en) Adder circuit
US4969118A (en) Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US4780842A (en) Cellular processor apparatus capable of performing floating point arithmetic operations
US4761760A (en) Digital adder-subtracter with tentative result correction circuit
JPH02294820A (ja) 浮動小数点数演算処理装置および演算処理方法
US4172288A (en) Binary or BCD adder with precorrected result
US3699326A (en) Rounding numbers expressed in 2{40 s complement notation
US5185714A (en) Arithmetic operation processing apparatus
JP3345894B2 (ja) 浮動小数点乗算器
JPS6131890B2 (ja)
US6715066B1 (en) System and method for arranging bits of a data word in accordance with a mask
JPH05134851A (ja) 乗算回路出力方式
JPS6125245A (ja) 丸め処理回路
JPS60217435A (ja) 多重精度浮動小数点加算回路
JPH02278382A (ja) 図形処理装置用の演算論理機構
US4839848A (en) Fast multiplier circuit incorporating parallel arrays of two-bit and three-bit adders
US4873660A (en) Arithmetic processor using redundant signed digit arithmetic
EP0332215A2 (en) Operation circuit based on floating-point representation
US3675000A (en) Apparatus for arithmetic operations by alerting the corresponding digits of the operands
KR0175974B1 (ko) 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조
EP0242600A2 (en) Carry look-ahead calculating method and circuits therefor
US3681584A (en) Carry transfer circuit for a parallel binary adder
JP2617591B2 (ja) シリアル演算回路
JPS62274425A (ja) シフタ付き加算器
GB2189630A (en) Multiplier