JPH0296225A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH0296225A
JPH0296225A JP63248326A JP24832688A JPH0296225A JP H0296225 A JPH0296225 A JP H0296225A JP 63248326 A JP63248326 A JP 63248326A JP 24832688 A JP24832688 A JP 24832688A JP H0296225 A JPH0296225 A JP H0296225A
Authority
JP
Japan
Prior art keywords
exponent part
circuit
arithmetic
square root
calculation
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
JP63248326A
Other languages
English (en)
Inventor
Hajime Kubosawa
久保沢 元
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 JP63248326A priority Critical patent/JPH0296225A/ja
Publication of JPH0296225A publication Critical patent/JPH0296225A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 作用 実施例 本発明の一実施例 発明の効果 (第3図) (第1.2図) 〔概要〕 浮動小数点の演算装置に関し、 簡単な構成でハードウェア量もROMを用いた場合に比
べて少なく、集積化に有利な演算装置を提供することを
目的とし、 浮動小数点表記法により2つの数の除算、平方根演算を
行うものであって、該演算に際して一方の数の逆数を求
め、これを他方の数に乗算して解を求める演算形式をと
るとともに、指数部の演算は指数部演算手段により行い
、仮数部の演算は仮数部演算手段により行う演算装置に
おいて、前記指数部演算手段は、要求される演算命令に
従って一方の数の逆数を求めるに際して、一方の数の指
数部を反転させた値と、該演算命令の種類に応じた所定
の定数とを加算し、除算命令では該加算結果をそのまま
指数部の逆数とし、平方根演算では該加算結果の桁を所
定ビットだけシフトしたものを指数部の逆数として求め
るように構成する。
〔産業上の利用分野〕
本発明は、浮動小数点表記法の数値について演算を行う
演算装置に係り、特に、ニュートン・ラブラン法を用い
る等して除算、平行根演算を行う演算装置に関する。
浮動小数点演算は、整数演算と比べ、ダイナミックレン
ジが広く精度も高(、特に、近時は各種の高度な演算要
求に沿うように高速のものが求められる傾向にある。
発皿夏肢血灯1景 除算、平方根演算を浮動小数点演算装置で行う場合、ニ
ュートン・ラプソン法が用いられる。以下に、ニュート
ン・ラブラン法を用いた除算について述べる。
C=A/Bという除算を行う場合、これをC=A (1
/B)と考え、Bの逆数1/Bを求める問題に置き換え
る。この1/Bをニュートン・ラプソン法を用いた反復
解法で求める。1/Bを求めた後、それをAに乗するこ
とによって、A/Bの商を求めることができる。ニュー
トン・ラプソン法の反復式は以下のようになる。
Xi+1=Xi (2−BXi)・・・・・・■但し、
  i=o、1.2.  ・・・・・・ここで、i=o
に対する除数の逆数の初期値X0は、何らかの方法で与
える必要がある。Xiは1/BO1番目の近位値である
。上式■にXoを与え、何回か反復演算を行うことによ
って、Xi+lはXiに近づいていく。Xi+1=Xi
となったとき、X i = 1 / Bとなる。通常は
Xi+1−Xiとならないので、Xi+1とXiの差が
ある値より小さくなった時に収束したとみなして反復を
打ち切り、その値とAを乗じて商とする。上記反復式が
収束する条件は初期値XOが不等式(2/B)>  X
O>O・・・・・・■を満たす時である。初期値XOを
得る代表的な方法は、除数Bに対してBの逆数の近似値
を参照するようなテーブルROMを使用することである
次に、浮動小数点数の除算A/Bを考える。A、Bは次
式で表される。
但し、MA : Aの仮数部、EA:Aの指数部MB 
: Bの仮数部、EB:Bの指数部Bの逆数を1/B=
MBRX2EllRとすると、MBRは上述したように
、ニュートン・ラプソン法による反復解法で求めること
ができる。しかし、EBRは反復解法を用いて求めるこ
とができない。
この理由は、通常ニュートン・ラプソン法を浮動小数点
数の演算に通用する場合、求める解の指数部はすでに真
値に確定したものとし、仮数部のみについて反復計算を
行うからである。したがって、この場合、EBRはMB
Rとは独立に求める必要がある。EBRを求める代表的
な方法はEBに対してEBRを直接与えるテーブルRO
Mを参照することである。浮動小数点数の指数部はI 
EEE倍精度フォーマントでは11ビツトである。
ここで、I EEEとは規格の1つであり、最も広く使
われている2進の浮動小数点規格は、IEEE、、DE
C,IBM、MIL−3TD−175OAの4つである
。いずれも単精度の浮動小数点を32ビツトの語長で表
している。いずれの規格も倍精度データをサポートして
おり、なかには拡張形式の単精度や拡張形式の倍精度な
ど他のデータの形式をサポートしているものもある。こ
のうち、I EEEの作業グループは、ANS I/I
EEES+d754−1985 (規格書最終規格とし
て、1985年規格化された)に示す仕様を、移植性の
高い浮動小数点ソフト用の強力な規格として提案してい
る。この規格提案は広い支持を受けており、今後作られ
るハードウェアの大部分の基本になっていくと考えられ
る。
再び前述の事項に戻り、逆数の指数部EBRをテーブル
ROM参照によって求めるためには、最低2”X11=
22にビットのROMが必要となる。
以上はニュートン・ラブラン法を用いて除算を行う場合
を示したものであるが、平方根演算も反復式が異なる以
外はほぼ同様の方法で行える。平方根演算のために必要
なROMの大きさは除算の場合と同様22にビットであ
る。
〔従来の技術〕
浮動小数点演算を行う従来の演算装置としては、例えば
、第3図に示すようなものがある。第3図(a)に示す
ように浮動小数点演算を行うプロセッサチップ1では浮
動小数点演算部2の外部に指数部ROM3と仮数部RO
M4とを付加し、これらのテーブルROMを参照して除
算、平方根演算を行っている。また、このとき指数部R
OM3および仮数部ROM4を接続するための制御も行
われる。第3図(b)はプロセッサチップ1のハードウ
ェア構成を示し、単一のチップ内に浮動小数点演算部2
、指数部ROM3および仮数部ROM4が配置されてい
る。この場合、ニュートン・ラプソン法の初期値用のR
OMは指数部用が44にビット、仮数部用ROMの大き
さは、初期値を何ビットの精度で与えるかで異なるが、
例えば32にビットである。
(発明が解決しようとする課題) しかしながら、このような従来の演算装置にあっては、
浮動小数点演算部のチップにテーブルROMを外付けし
て除算、平方根演算を行う構成となっていたため、RO
Mを接続するための各種制御を行う必要があり、構成が
複雑でハードウェア量も多い。また、プロセッサチップ
においてROMの占める面積が問題となることもあり、
集積化の密度が向上しないという問題点があった。
そこで本発明は、簡単な構成でハードウェア量もROM
を用いた場合に比べて少なく集積化に有利な演算装置を
提供することを目的としている。
〔課題を解決するための手段〕
本発明による演算装置は上記目的達成のため、浮動小数
点表記法により2つの数の除算、平方根演算を行うもの
であって、該演算に際して一方の数の逆数を求め、これ
を他方の数に乗算して解を求める演算形式をとるととも
に、指数部の演算は指数部演算手段により行い、仮数部
の演算は仮数部演算手段により行う演算装置において、
前記指数部演算手段は、要求される演算命令に従って一
方の数の逆数を求めるに際して、一方の数の指数部を反
転させた値と、該演算命令の種類に応じた所定の定数と
を加算し、除算命令では該加算結果をそのまま指数部の
逆数とし、平方根演算では該加算結果の桁を所定ビット
だけシフトしてものを指数部の逆数として求めるように
構成されている。
〔作用〕
本発明では、一方の数の逆数を求めるに際して、一方の
数の指数部を反転させた値と演算命令の種類に応じた所
定の定数とが加算され、除算命令では該加算結果がその
まま指数部の逆数となり、平方根演算では該加算結果の
桁を所定ビットだけシフトしたものが1h数部の逆数と
なる。
したがって、少なくとも指数部については簡単な構成の
ハードウェアで演算が実行されることとなり、制御が簡
単で必要な面積も少なく集積度が向上する。
〔実施例〕
以下、本発明を図面に基づいて説明する。
第1.2図は本発明に係る演算装置の一実施例を示す図
である。第1図(a)(b)は従来との対比で本実施例
のプロセッサチップ(演算装置に相当)11の制御系統
およびハードウェア構成をそれぞれ示す図である。
まず、制御系統は第1図(a)に示すように、仮数部R
OM4については従来と同じであるが、浮動小数点演算
部12の機能が従来と異なり、また指数部ROMに代え
て指数部演算回路13が設けられている。すなわち、指
数演算回路13はROMでなくハードウェアで構成され
、その制御も指数部ROM4の場合と異なり、アドレス
データ等を与える必要がなく、簡素化されている。浮動
小数点演算部12は2つの数の除算、平方根演算を行う
に際して一方の数の逆数を求め、これを他方の数に乗算
して解を求めるという演算形式をとり、そのうち、特に
指数部については指数部演算回路13に必要なデータお
よび制御信号を出力する。したがって、浮動小数点演算
回路12と指数部演算回路13の間はバスによって接続
され、バスの占有、解放を制御するという大がかりなも
のでなく、単なる信号のやり取りですむ程度のものであ
る。上記浮動小数点演算部12および指数部演算回路1
3は指数部演算手段14を構成する。また、仮数部の演
算は従来と同様に浮動小数点演算部12および仮数部R
OM4によって行われ、これは仮数部演算手段15を構
成する。
プロセッサチップ11のハードウェア構成は第1図(b
)のように示され、単一のチップ内に浮動小数点演算部
12、指数部演算手段14および指数部演算回路13が
配置されている。この場合、指数部演算回路13は従来
の指数部ROM3に比して面積が格段に小さく、集積化
に有利となっている。
指数部演算回路13は一方の数の逆数を求める際の指数
部についての演算をハード的に行うもので、浮動小数点
演算部12からの所定の演算命令に基づき入力数の指数
部を次に示すような表1の関係に従って解の指数部に変
換して出力する。
表  1 表1はI EEEフォーマットに基づく除算と平方根演
算において、入力数の指数部と解の↑日数部の関係を示
し、浮動小数点演算部12は要求されている演算の種類
に応じて対応する演算命令(具体的には、表1から1つ
のモードを選択する命令)を指数部演算回路13に出力
する。
指数部演算回路13は、その詳細を第2図に示すように
ビット反転回路21、マルチプレクサ22.23、加算
回路24および右シフタ25により構成される。
ビット反転回路21には一方の数の逆数を求める際の指
数部が人力指数部として浮動小数点演算部12から与え
られ、ピント反転回路21はこれを反転して(各ビット
毎に反転して)加算回路24に出力する。また、マルチ
プレクサ22は演算命令に基づき4種類(除算か平方根
演算か、また単精度か倍精度かの4種類)のうちから1
つの定数を選択して加算回路24に出力する。加算回路
24はビット反転回路21とマルチプレクサ22の出力
を加算し、平方根演算の場合は補正命令Cinに基づき
入力指数のLSBが“′0゛のときは表1の「平方根(
I)」の定数を選択し、LSBが“1”の ときは、「
平方根(■)」の定数を選択する。補正命令Cinは浮
動小数点演算部12から与えられるもので、平方根演算
でかつ入力指数のLSBが“1゛の場合に「1」となり
、他の場合は「0」となる。右シフタ25は加算回路2
4の加算結果を1bitだけ右ヘシフトして出力するも
ので、これは指数が0.5という状態で平方根演算に対
応する。マルチプレクサ23は浮動小数点演算部12か
らの演算命令に基づき加算回路24のデータ(除算のと
き)、あるいは右シフタ25からのデータ(平方根演算
)のうち1つを選択して出力し、これが出力指数部とな
る。
以上の構成において、2つの数の演算の実行がプロセッ
サチップ11に与えられると、仮数部演算手段15によ
り従来と同様にしてテーブルROM参照によって仮数部
が演算される。一方、指数部の演算は指数部演算手段1
4によって行われ、このうち指数部演算回路13は浮動
小数点演算部12からの演算命令に基づき表1の関係式
をROMを使用せずにハードウェアで実行する。なお、
表1において、EBはEB(入力指数部)の反転信号を
示す。
すなわち、指数部演算回路13により一方の数の逆数を
求める際の指数部についての演算がハード的に行われる
。詳細には、入力指数部EBが与えられると、まず、ビ
ット反転回路21によりこれが反転されて加算回路24
に出力され、このとき同時に除算か平方根演算か、また
、単精度か倍精度かによってマルチプレクサ22により
4種類のうちの1つの定数が表1から選択されて加算回
路24に出力され、加算回路24で両者が加算される。
このとき、加算回路24では補正命令C,inに基づき
平方根(1)又は(II)を選択し、さらに平方根演算
のときは右シフタ25で加算回路24のデータが1 b
itだけ右ヘシフトされる。次いで、マルチプレクサ2
3により演算命令に応じて加算回路24の出力あるいは
右シフタ25の出力が択一的に選択され、出力指数部が
求められる。
このように、本実施例ではテーブルROMを参照すると
いう方式ではなく、指数部の演算についてはハードウェ
アで実行しているので、制御が簡単で必要な面積も少な
く集積度を向上させることができる。また、指数部演算
回路13の構成も簡単でハードウェア量もROMを用い
た場合より少なくできる。
なお、上記実施例は従来例と同様にニュートン・ラプソ
ン法を用いて演算を実行する際の例であるが、本発明の
適用はニュートン・ラプソン法の初期値を求める演算形
式に限定されるものではない。浮動小数点表記法により
除算、平方根演算を行うものであって、該演算に際して
一方の数の逆数を求め、これを他方の数に乗算して解を
求める演算形式を採るものには全てに適用ができる。
〔効果〕
本発明によれば、指数部の演算を簡単な構成のハードウ
ェアで実行しているので、演算の制御が簡単で、かつハ
ードウェア量もROMを用いた場合に比べて少なく、集
積度を向上させることができる。
15・・・・・・仮数部演算手段。
代 理 人 弁理士 井  桁 頁
【図面の簡単な説明】
第1.2図は本発明に係る演算装置の一実施例を示す図
であり、第1図(a)(b)はそのプロセッサチップを
示す図、 第2図はその指数演算回路を示す図、 第3図(a)(b)は従来のプロセッサチップを示す図
である。 4・・・・・・仮数部ROM、 11・・・・・・プロセッサチップ、 12・・・・・・浮動小数点演算部、 13・・・・・・指数部演算回路、 14・・・・・・指数部演算手段、 一実施例のプロセッサチップを示す間 第1図 入力指数部 出力指数部

Claims (1)

  1. 【特許請求の範囲】 浮動小数点表記法により2つの数の除算、平方根演算を
    行うものであって、 該演算に際して一方の数の逆数を求め、これを他方の数
    に乗算して解を求める演算形式をとるとともに、 指数部の演算は指数部演算手段により行い、仮数部の演
    算は仮数部演算手段により行う演算装置において、 前記指数部演算手段は、要求される演算命令に従って一
    方の数の逆数を求めるに際して、一方の数の指数部を反
    転させた値と、該演算命令の種類に応じた所定の定数と
    を加算し、除算命令では該加算結果をそのまま指数部の
    逆数とし、平方根演算では該加算結果の桁を所定ビット
    だけシフトしたものを指数部の逆数として求めるように
    構成されていることを特徴とする演算装置。
JP63248326A 1988-09-30 1988-09-30 演算装置 Pending JPH0296225A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63248326A JPH0296225A (ja) 1988-09-30 1988-09-30 演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63248326A JPH0296225A (ja) 1988-09-30 1988-09-30 演算装置

Publications (1)

Publication Number Publication Date
JPH0296225A true JPH0296225A (ja) 1990-04-09

Family

ID=17176416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63248326A Pending JPH0296225A (ja) 1988-09-30 1988-09-30 演算装置

Country Status (1)

Country Link
JP (1) JPH0296225A (ja)

Similar Documents

Publication Publication Date Title
US6138135A (en) Propagating NaNs during high precision calculations using lesser precision hardware
US8341204B2 (en) Vector SIMD processor
JP2002108606A (ja) スティッキービット生成回路及び乗算器
JPH0776911B2 (ja) 浮動小数点演算装置
JPH02196328A (ja) 浮動小数点演算装置
KR19990013698A (ko) 연산방법 및 연산장치
US6178435B1 (en) Method and system for performing a power of two estimation within a data processing system
US5687106A (en) Implementation of binary floating point using hexadecimal floating point unit
JPH05134851A (ja) 乗算回路出力方式
CN113126954A (zh) 浮点数乘法计算的方法、装置和算术逻辑单元
JPS6125245A (ja) 丸め処理回路
US5337265A (en) Apparatus for executing add/sub operations between IEEE standard floating-point numbers
JPH0687218B2 (ja) 浮動小数点数演算処理装置及び除数倍数生成装置
US5648924A (en) Method and apparatus for finding arctangents
JPH07234778A (ja) 演算回路
JPH0346024A (ja) 浮動小数点演算器
JPH0296225A (ja) 演算装置
JPH01232423A (ja) 演算回路
JPH04172526A (ja) 浮動小数点除算器
JP2578482B2 (ja) 浮動小数点演算器
JP2555135B2 (ja) 演算回路
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
US20040254973A1 (en) Rounding mode insensitive method and apparatus for integer rounding
JP3517162B2 (ja) 除算・開平演算装置
JP3201097B2 (ja) 乗算器における乗算処方方法