JPH01232430A - 演算回路 - Google Patents

演算回路

Info

Publication number
JPH01232430A
JPH01232430A JP63058827A JP5882788A JPH01232430A JP H01232430 A JPH01232430 A JP H01232430A JP 63058827 A JP63058827 A JP 63058827A JP 5882788 A JP5882788 A JP 5882788A JP H01232430 A JPH01232430 A JP H01232430A
Authority
JP
Japan
Prior art keywords
circuit
data
lsb
processing
mantissa
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
JP63058827A
Other languages
English (en)
Inventor
Akira Katsuno
昭 勝野
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63058827A priority Critical patent/JPH01232430A/ja
Publication of JPH01232430A publication Critical patent/JPH01232430A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [目 次] 概要 産業上の利用分野 従来の技術        (第4図)発明が解決しよ
うとする課題 課題を解決するための手段 作用 実施例 本発明の一実施例    (第1〜3図)発明の効果 〔概 要〕 浮動小数点表記法の数値について演算を行う演算回路に
関し、 演算処理を高速化できる演算回路を提供することを目的
とし、 指数部と仮数部により表される浮動小数点表記法により
2つの数の演算を行い、仮数部の演算結果が負であると
き、絶対値化回路ブロックにより絶対値の2の補数処理
を行うとともに、仮数部の下桁に所定数の付加ビットを
有し、仮数部の演算結果に基づき後処理回路ブロックに
より正規化および丸めの処理を行う演算回路において、
前記絶対値化回路ブロックに、仮数部の演算データを反
転した後のデータにおけるLSBが“0″であるとき該
反転データのLSBを“1゛に固定して後段に出力する
LSB固定手段を設けるとともに、前記後処理回路ブロ
ックに、丸め要求に基づき仮数部データに対して前記付
加ビット以下の桁上げを行う第1の桁上げ手段と、前記
付加ビット以上の桁上げを行う第2の桁上げ手段と、を
設け、前記仮数部の演算データを反転した後のデータに
おけるLSBが“1パであるとき、第1の桁上げ手段を
用いて丸め処理を行い、前記仮数部の演算データを反転
した後のデータにおけるLSBが“0”であるとき、第
2の桁上げ手段を用いて丸め処理を行うように構成する
(産業上の利用分野〕 本発明は、演算回路に係り、詳しくは浮動小数点表記法
の数値について演算を行う演算回路に関する。
固定小数点表現では、表現できる数の範囲が狭いため非
常に大きな数を表すことができない。また、固定小数点
表現は通常整数のみを扱うことが多く、したがって科学
技術計算などに必要な実数を表すための表記法が別に必
要となる。このようなことから、仮数と指数と呼ばれる
2つの数を組み合わせた浮動小数点表記法(float
ing point re−presentation
)が考察された。
−船釣な浮動小数点数は、基数(radix)がRのと
き、次のように示される。
(−1) s−m −R” ここに、Sは符号(sign)で、正のときs=0、負
のときs=iである。また、mとeはそれぞれ仮#!J
、(mantissa)、指数(exponen t)
であり、これらを固定小数点で表したものを組み合わせ
たものがコンピュータ内の浮動小数点表現である。なお
、)7動小数点表現では、仮数mの長さが有効けたの長
さを決めるので、精度の良い数値を必要とする場合は、
仮数部の長さを大きくした表現が用いられる。
このような浮動小数点演算は整数演算と比べ、ダイナミ
ックレンジが広く精度も高い。特に、近時は各種の高度
な演算要求に沿うように高速のものが求められる傾向に
ある。
〔従来の技術〕
現在、最も広く使われている2進の浮動小数点規格は、
IEEE、DEC,IBM、MIL−3t d−175
0の四つである。いずれも単精度の浮動小数点を32ビ
ツトの語長で表している。いずれの規格も倍精度データ
サポートしており、なかには拡張形式の単精度や拡張形
式の倍精度など他のデータ形式をサポートしているもの
もある。
このうち、I EEEの作業グループは、ANSI/ 
IEEE  S L−d  754 1985に示す仕
様を、移植性の高い浮動小数点ソフト用の強力な規格と
して提案している。この規格案は広い支持を受けており
、全後作られるハードウェアの大部分の基本になってい
くと考えられる。
従来のこの種のI EEEの浮動小数点フォーマットに
よる演算回路としては、例えば第4図に示すようなもの
がある。同図に示すものは、2を基数とする2つの入力
数(人力データ)A、Bについて正規化数同士の演算を
行う例である。なお、I EEE浮動小数点データ・フ
ォーマットでは仮数部は隠れビットを除いた絶対値とし
て表現される。いま、浮動小数点の減算を考えてみる。
仮数部の減算は、加算器を用いて減数について絶対値の
2の補数を作って加算することによって実行される。そ
のため、被減数が減数より大であれば演算結果は絶対値
で得られるが、被減数が減数より小であるときは、演算
結果は負となり数値は2の補数で得られる。したがって
、従来例では第4図に示すように、仮数部のALUの演
算後に2の補数化回路ブロックを必要とする。
すなわち、入力数A、Bは仮数部同士が仮数部のALU
Iで減算され、仮数部のデータの符号ビア)(SIN)
が判別される。5IN=1のときは演算結果が負である
から、まず反転回路2で仮数部データを反転し、次いで
24ビツトのインクリメンタ3によりLSBに“1パを
加える。これにより、2の補数が絶対値表現に変換され
る。反転回路2およびインクリメンタ3は絶対値化回路
ブロック4に対応する。一方、5IN=Oのときは仮数
部の演算結果が正であるから、絶対値化回路ブロック4
をバイパスする。
次に、正規化および丸め(ラウンド)処理を行う。なお
、正規化とは仮数部の最上位桁が“0”。
にならないようにすることであり、また丸めとは演算結
果が所定の桁数を超えて格納できない場合に、下位のあ
ふれた部分を切り捨て等の方法によって処理、すなわち
丸めることである。丸めの方法により累積誤差が大きな
影客を受ける可能性があるので、近傍の値に向って丸め
る、0に向って丸める等の方法がある。
まず、シフト量検出器5により正規化のために必要な仮
数部のシフト量を検出し、該検出結果に基づきシフタ6
が仮数部を必要量(シフト量)だけシフトさせる。なお
、シフト量検出器5からのシフト量は七数部演算器(図
中ではexpで表す)へも送られる。次いで、ラウンド
回路7により丸めのためのモード要求であるラウンド信
号に従ってラウンド処理を実行し、その後の出力をレジ
スタ8に格納する。上記シフト量検出器5、シフタ6お
よびラウンド回路7は正規化およびラウンド回路ブロッ
ク9に対応する。なお、ラウンド回路7には24ビツト
のインクリメントが含まれる。
[発明が解決しようとする課題] しかしながら、このような従来の演算回路にあっては、
仮数部演算後の絶対値化および正規化、ラウンド処理を
逐次的に行うとともに、ラウンド回路7には24ピント
のインクリメントを含める構成となっていたため、全体
の演算処理時間が長(、近時の高速化要求に沿い難いと
いう問題点があった。
一例として、最も遅延となるクリティカルパスは、AL
UI→反転回路2→インクリメンタ3→シフト量検出器
5→シフタ6→ラウンド回路7→レジスタ8の場合であ
る。したがって、仮数部演算後の処理に多大の時間を費
やすことになる。
〔課題を解決するための手段〕
本発明による演算回路は上記目的達成のため、指数部と
仮数部により表される浮動小数点表記法により2つの数
の演算を行い、仮数部の演算結果が負であるとき絶対値
化回路ブロックにより絶対値の2の補数処理を行うとと
もに、仮数部の下桁に所定数の付加ビットを有し、仮数
部の演算結果に基づき後処理回路ブロックにより正規化
および丸めの処理を行う演算回路において、前記絶対値
化回路ブロックに、仮数部の演算データを反転した後の
データにおけるLSBが“0゛であるとき該反転データ
のLSBを“t ”に固定して後段に出力するLSB固
定手段を設けるとともに、前記後処理回路ブロックに、
丸め要求に基づき仮数部データに対して前記付加ビット
以下の桁上げを行う第1の桁上げ手段と、前記付加ビッ
ト以上の桁上げを行う第2の桁上げ手段と、を設け、前
記仮数部の演算データを反転した後のデータにおけるL
SBが“1゛′であるとき、第1の桁上げ手段を用いて
丸め処理を行い、前記仮数部の演算データを反転した後
のデータにおけるLSBが“0″であるとき、第2の桁
上げ手段を用いて丸め処理を行うように構成している。
(作 用〕 本発明では、絶対値化による桁上げ用の回路と、ラウン
ド処理における所定ビット以上の桁上げ用の回路を仮数
部データが同時に通過せず、従来に比べて特に補数処理
とラウンド処理の遅延が少なくなる。
したがって、演算時間が短縮され、処理の高速化が図ら
れる。
〔実施例〕
以下、本発明を図面に基づいて説明する。
第1〜4図は本発明に係る演算回路の一実施例を示す図
である。まず、構成を説明する。第1図において、11
は仮数部のALU、12は反転回路、13は24ビツト
のインクリメンタ、15はシフト量検出器、16はシフ
タ、18はレジスタであり、これらは従来例と同様の機
能を有している。
本実施例ではこの他に新たな構成として、LSB固定回
路21が追加されるとともに、ラウンド回路が第1ラウ
ンド回路22および第2ラウンド回路23に分けて構成
されている。
LSB固定回路21(LSB固定手段)はインクリメン
タ13をバイパスする位置に介挿されており、反転回路
12によって仮数部データが反転した後の反転データに
おけるLSBの値によって信号が分岐する。すなち、L
SB=1のとき反転回路の出力はインクリメンタ13を
通り、LSB=OのときLSB固定回路21を通るよう
になっている。LSB固定回路21は反転回路に通過後
のデータのLSBが“0゛のときLSBに“I 11を
加えても桁上げを生じないという事実に鑑み、該データ
のLSBを“1”に固定する機能をもつ。
第1ラウンド回路(第1の桁上げ手段)22は前記仮数
部の演算データを反転した後のデータにおけるLSB=
1のとき、該入力データの下位3ビツトについてのみの
ラウンド処理をラウンド信号に基づいて行うもので、こ
れには3ビツトのインクリメント処理も含んでいる。す
なわち、第1ラウンド回路22は第2図に示すように2
4ビツトのデータを21ビツトと3ビツトに分割して格
納するシフタ24と、3ビツトのインクリメンタ25と
、バイパス通路26.27と、ラウンド信号に基づいて
インクリメンタ25の出力とバイパス通路27を通過し
た出力とを選択するセレクタ28と、21ビツトと3ビ
ツトの分割データを1つに合成して24ビツトで格納す
るレジスタ29とを有しており、下位3ビツトについて
のラウンド処理を゛行う。一方、LSB=0のとき該デ
ータは第2ラウンド回路23に入力され、ラウンド回路
(第2の桁上げ手段)23は24ビツトのインクリメン
ト処理も含み、同じくラウンド信号に基づいて入力され
たデータにつき3ビツト以上のラウンド処理を行うもの
である。第1ラウンド回路22および第2ラウンド回路
23の出力は選択され、レジスタ18に格納されるよう
になっている。上記反転回路12、インクリメンタ13
およびLSB固定回路21は絶対値化回路ブロック31
に対応し、シフト量検出器15、シフタ16、第1ラウ
ンド回路22および第2ラウンド回路23は正規化およ
びラウンド回路ブロック(後処理回路ブロック)32に
対応している。なお、図中expは指数部演算器への出
力を示している。
次に、作用を説明する。
本実施例で扱うデータ形式は第3図のようなIEEE規
格で示され、LSBの下位に次のような3つのビットが
ある。
G:ガードビット R:ラウンドビット Sニスティツキビット なお、Mの上位側にはVという仮数部のオーバーフロー
ビットがあるが、これに隠れビットとなっている。
さて、仮数部演算(加、減算等)を実行した後の処理に
おいて、処理時間の最も遅(なるケースは仮数部演算デ
ータが負、すなわち2の補数データとなるときで、かつ
ラウンド処理で桁上げが生じる場合である。いま、IE
EE規格で単精度の場合を考えてみる。2の補数を絶対
値表現に変換する処理は、各ビットを反転しLSBに1
を加えることによって実行される。LSBに1を加える
処理はインクリメンタ13で実行されるが、このインク
リメンタ13で桁上げが生じる場合は反転回路12通過
後のLSBが1のときだけである。さらに、LSBが1
のときはインクリメンタ13実行後のデータのLSBは
Oになる。ところで、IEEE規格でばLSBの下位に
GビットとRビットとSピントがあるが、Sビットは演
算には関係しないので、ここではGビットとRビットが
問題になってくる。すなわち、インクリメンタ13出力
後の仮数部データの下位ビットは、0** (LSB、
G。
R)となる。したがって、正規化後のラウンド処理では
、高々2ビツトの桁上げしか生じない。−方、反転回路
12通過後のデータのLSBが0のとき桁上げは生じず
、よってLSBは1になる。この場合のラウンド処理で
は従来技術と同様のインクリメンタが必要である。
そこで本実施例では、上記の事情から絶対値化による桁
上げとラウンド処理による3ビツト以上の桁上げが生じ
ないことに着目し、絶対値化ブロック31と正規化およ
びラウンド回路ブロック32内にそれぞれバイパス通路
(LSB固定回路21に相当)3ビツトのインクリメン
タ(第1ラウンド回路22に相当)して処理の高速化を
図っている。
すなわち、仮数部演算データが正(SIN−〇)のとき
は従来同様に絶対値化回路ブロック31をバイパスして
処理が行われるが、負(SIN−1)のときは反転回路
12を通過後LSBの値によって分岐する。LSB=1
のときはインクリメンタ13で24ビツトのインクリメ
ンタが行われる。−方、LSB=0のときは、仮にLS
B=1の処理を行ったとしても桁上げが無いという事実
から、LSB固定回路21により直ちにデータのLSB
が1111+に固定される。したがって、インクリメン
タ13を通過しなくてもよい分だけ遅れが少なくなる。
次いで、正規化処理が実行される。まず、シフトffl
検出器15によって正規化に必要なシフト量が検出され
、このシフトfflだけシフタ16によって仮数部デー
タがシフトする。
次いで前記仮数部の演算データを反転した後のLSB=
1のときは第1ラウンド回路22にデータが入力される
。LSB=1ということはインクリメンタ13によって
インクリメンタ13の出力のデータLSBがφになり、
ラウンド処理では高々2ビツトの桁上げしか生じないか
ら、LSB=1、の状態におけるラウンド処理では第1
ラウンド回路22でデータの少なくとも下位3ビツトに
つき、該当するラウンドのモード要求に従ってラウンド
処理を行うのみで十分となる。これは24ビツトのうち
の下位3ビツトの操作のみでラウンド処理が行われるた
め、処理時間の遅延が少なくなることを意味している。
一方、LSB=Oのときは、該データが第2ラウンド回
路23に入力される。LSB=Oということはインクリ
メンタ13によって、インクリメンタ13の出力データ
のLSBが1になり、第2ラウンド回路23により3ビ
ツト以上のインクリメントを伴うラウンド処理が実行さ
れる。この処理は3ビツトのインクリメントよりも長く
かかる。
以上のデータの流れを分類すると、次のように表される
(1)S IN=Oのとき ALUII→シフト量検出器15→シフタ16→第2ラ
ウンド回路23→レジスタ18 (n)SIN=1で、かつLSB=1 ALUII→反転回路12→インクリメンタ13→シフ
ト量検出器15→シフタ16→第1ラウンド回路22→
レジスタ18 (lI[)SIN=1で、かつLSB=OALUII→
反転回路12→LSB固定回路21→シフト量検出器1
5→シフタ16→第2ラウンド回路23→レジスタ18 以上のバスから明らかであるように、絶対値化による桁
上げ用の回路と、ラウンド処理における3ビツト以上の
桁上げ用の回路を仮数部データが同時に通過することは
ないから、従来に比べて演算処理の時間を短くして、高
速化を図ることができる。
〔効 果〕
本発明によれば、絶対値化による桁上げ用の回路と、ラ
ウンド処理における所定のビット以上の桁上げ用の回路
を仮数部データが同時に通過しない構成としているので
、遅延を少なくして演算時間を短縮し、処理の高速化を
図ることができる。
【図面の簡単な説明】
第1〜3図は本発明に係る演算回路の一実施例を示す図
であり、 第1図はその全体的回路図、 第2図はその第1ラウンド回路のブロック図、第3図は
そのデータ形成を示す図、 第4図は従来の演算回路の回路図である。 21・・・・・・LSB固定回路(LSB固定手段)、
22・・・・・・第1ラウンド回路(第1の桁上げ手段
)、23・・・・・・第2ラウンド回路(第2の桁上げ
手段)、31・・・・・・絶対値化回路ブロック、32
・・・・・・正規化およびラウンド回路ブロック(後処
理回路ブロック)。 −突施)列の回路図 第1図 21:LSB固定回路 (LSB固定手段) 22:第1ラウンド回路 (第1の桁上げ手段) 23:第2ラウンド回路 (第2の桁上げ手段) 31:絶対値化回路ブロック (後処理回路ブロック) −実84列のオIラウンド゛回品)のフ゛し・ソゲ図第
2図 小収九位置 一寅施イダ」のデータ升ネ入を示す図 第3図 第4図

Claims (1)

  1. 【特許請求の範囲】 指数部と仮数部により表される浮動小数点表記法により
    2つの数の演算を行い、 仮数部の演算結果が負であるとき、絶対値化回路ブロッ
    クにより絶対値の2の補数処理を行うとともに、 仮数部の下桁に所定数の付加ビットを有し、仮数部の演
    算結果に基づき後処理回路ブロックにより正規化および
    丸めの処理を行う演算回路において、 前記絶対値化回路ブロックに、仮数部の演算データを反
    転した後のデータにおけるLSBが“0”であるとき、
    該反転データのLSBを“1”に固定して後段に出力す
    るLSB固定手段を設けるとともに、 前記後処理回路ブロックに、丸め要求に基づき仮数部デ
    ータに対して前記付加ビット以下の桁上げを行う第1の
    桁上げ手段と、 前記付加ビット以上の桁上げを行う第2の桁上げ手段と
    、を設け、 仮数部の演算データを反転した後のデータにおけるLS
    Bが“1”であるとき第1の桁上げ手段を用いて丸め処
    理を行い、 仮数部の演算データを反転した後のデータにおけるLS
    Bが“0”であるとき第2の桁上げ手段を用いて丸め処
    理を行うように構成したことを特徴とする演算回路。
JP63058827A 1988-03-11 1988-03-11 演算回路 Pending JPH01232430A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63058827A JPH01232430A (ja) 1988-03-11 1988-03-11 演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63058827A JPH01232430A (ja) 1988-03-11 1988-03-11 演算回路

Publications (1)

Publication Number Publication Date
JPH01232430A true JPH01232430A (ja) 1989-09-18

Family

ID=13095480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63058827A Pending JPH01232430A (ja) 1988-03-11 1988-03-11 演算回路

Country Status (1)

Country Link
JP (1) JPH01232430A (ja)

Similar Documents

Publication Publication Date Title
US5963461A (en) Multiplication apparatus and methods which generate a shift amount by which the product of the significands is shifted for normalization or denormalization
JP2662196B2 (ja) 演算結果正規化方法及び装置
US4999803A (en) Floating point arithmetic system and method
US5148386A (en) Adder-subtracter for signed absolute values
JPH02196328A (ja) 浮動小数点演算装置
EP0472139A2 (en) A floating-point processor
US4758974A (en) Most significant digit location
JP3313560B2 (ja) 浮動小数点演算処理装置
JPH04290122A (ja) 数値表現変換装置
US5247471A (en) Radix aligner for floating point addition and subtraction
JPS60140422A (ja) 演算処理装置
JP2511527B2 (ja) 浮動小数点演算器
JPH01232423A (ja) 演算回路
JPH01232430A (ja) 演算回路
JP2555135B2 (ja) 演算回路
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
JPH03102519A (ja) 除算器
JPS59140560A (ja) 浮動小数点乗算器
JPS6149234A (ja) 浮動小数点乗算回路
JPS62159224A (ja) 浮動小数点演算回路
JP3124286B2 (ja) 浮動小数点数演算装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JPS6359170B2 (ja)
WO1998006029A1 (en) Apparatus and methods for execution of computer instructions
JPH01232424A (ja) 演算回路