JP2000081968A - 逆数演算装置 - Google Patents

逆数演算装置

Info

Publication number
JP2000081968A
JP2000081968A JP10250572A JP25057298A JP2000081968A JP 2000081968 A JP2000081968 A JP 2000081968A JP 10250572 A JP10250572 A JP 10250572A JP 25057298 A JP25057298 A JP 25057298A JP 2000081968 A JP2000081968 A JP 2000081968A
Authority
JP
Japan
Prior art keywords
data
reciprocal
normalized
intercept
bit shift
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
JP10250572A
Other languages
English (en)
Inventor
Hiroyasu Kibi
裕恭 吉備
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP10250572A priority Critical patent/JP2000081968A/ja
Publication of JP2000081968A publication Critical patent/JP2000081968A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 マイクロコンピュータ等に装備されている一
般的なビットシフト機能と、加算器(減算器)のみで、
また、小容量の記憶装置を設けるのみで、容易に構成で
きる、高速の逆数演算装置を提供すること。 【解決手段】 入力データ101を、内部で処理可能な
正規化データ102に変換するデータ正規化部11と、
上記正規化データ102から演算に必要な係数(切片と
傾き)を参照する係数参照部12と、上記正規化データ
102と傾き減算係数106とから減算データ103を
生成する傾き減算部13と、切片加算データ107から
加算データ104を生成する切片加算部14と、上記減
算データ103と加算データ104と、上記データ正規
化部11からのビットシフト情報105とから演算結果
データ108を生成する演算結果生成部15とを設け
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、数値演算に固定小
数点データを用いる演算装置に係るものであり、特に、
逆数演算装置に関するものである。
【0002】
【従来の技術】従来、逆数演算装置として、繰り返し計
算により逆数を求めるもの(例えば、特開平5−942
80号公報)が知られているが、かかる、繰り返し計算
により逆数を求める方法では、高精度の解は求められる
が、演算回数が多くなる欠点があった。
【0003】かかる欠点を除去した、従来の逆数演算装
置としては、以下に示す2つのものがある。
【0004】第1の逆数演算装置は、専用回路により逆
数演算処理を行うもので、例えば、特開平5−1138
72号公報では、図3に示すように、4つのブロックか
ら成る論理回路で逆数生成回路装置を構成している。す
なわち、入力データに基づき、結果データの最上位桁か
ら下位方向へ何桁0のデータが出現するかを検出する0
出力検出回路31と、該0出力検出回路31の出力デー
タに基づき結果データが1を超えない範囲内で結果デー
タの最も上位桁に1を出現させる1出力検出回路32
と、該1出力検出回路32の出力データを補正する補正
回路33と、上記1出力検出回路32にて1のデータが
検出された桁より下位側の各桁の値を決定する演算回路
34とにより、逆数生成回路装置を構成している。
【0005】第2の逆数演算装置は、入力値の逆数に対
する出力値を予めメモリに記憶させておくもので、特開
平5−53769号公報や特開平5−100826号公
報では、図4に示すように、入力データXに対する出力
データ1/Xの値を、例えば、ROMに記憶されている
変換表41を参照して、求めるものである。
【0006】
【発明が解決しようとする課題】しかしながら、上記第
1の逆数演算装置では、装置内に逆数演算のための専用
回路を新たに必要とし、また、第2の逆数演算装置で
は、入力値に対する出力値を、変換表として予め内部に
記憶させておくことができる、大容量の記憶装置を必要
とした。
【0007】本発明は、上記に鑑み為されたものであ
り、マイクロコンピュータ等に装備されている一般的な
ビットシフト機能と、加算器(減算器)のみで、また、
小容量の記憶装置を設けるのみで、容易に構成できる逆
数演算装置を提供することを目的としているものであ
る。
【0008】
【課題を解決するための手段】前記目的を達成するた
め、本発明の逆数演算装置に於いては、入力データのビ
ットシフト動作により、該入力データを、内部で処理可
能な正規化データに変換するデータ正規化手段と、予め
定められる各正規化データ範囲区分毎に、切片データと
傾きデータとを記憶する係数記憶手段と、前記正規化デ
ータに基づいて、前記係数記憶手段を参照し、対応する
切片データ及び傾きデータを読み出す係数読み出し手段
と、前記正規化データと傾きデータとから生成される傾
き減算データと、前記切片データとから、中間演算結果
を算出する中間演算結果算出手段と、前記データ正規化
手段よりのビットシフト情報に基づき、前記中間演算結
果のビットシフトを行うことにより、前記入力データの
逆数を算出する演算結果算出手段とを設けたこと特徴と
する。
【0009】また、前記傾きデータは、ビットシフト
(0ビットシフトを含む)により得られる値の合成デー
タで構成されていることを特徴とする。
【0010】更に、前記傾き減算データは、前記正規化
データと、該正規化データをビットシフトした値の合成
値であることを特徴とする。
【0011】本発明の逆数演算装置に於いては、入力デ
ータの逆数を算出するために、まず、入力データのビッ
トシフト動作を行って、入力データを正規化データ(例
えば、0.5〜1.0の区間内のデータ)に変換する。
そして、正規化データ区間(例えば、0.5〜1.0の
区間)をn等分(例えば、8等分)した各区分毎に予め
設定されている係数(切片データ、傾きデータ)を記憶
している係数記憶手段(係数参照テーブル)を参照し
て、入力データのビットシフト動作により得られた正規
化データに対応する切片データと傾きデータとを読み出
す。以後、上記正規化データ、切片データ及び傾きデー
タに基づき、ビットシフト動作と、加減算処理により、
入力データの逆数を算出する。
【0012】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態について詳細に説明する。
【0013】図1及び図7は、本発明の逆数演算装置の
一実施形態の説明に供する図であり、図1は、同実施形
態の逆数演算装置の機能構成を示すブロック図、図7
は、同実施形態の逆数演算装置に於いて実行される逆数
演算処理を示すフローチャートである。
【0014】本発明に於ける逆数演算(y=1/x)で
は、図2に示すように、y=1/x曲線(図示せず)
を、所定の正規化データ区間内(図2では、一例とし
て、正規化データ区間がx=0.5〜1.0の範囲であ
る場合を示している)に於いて、x軸方向にn等分し
(図2では、一例として、8等分の場合を示してい
る)、各区分(a〜h)毎に直線近似することにより、
入力データの逆数を算出する手法を用いているものであ
る。
【0015】図1に於いて、11はデータ正規化部、1
2は係数参照部、13は傾き減算部、14は切片加算
部、15は演算結果生成部である。
【0016】まず、入力データ101をデータ正規化部
11に入力する。先述の直線近似計算を行うために、ま
ず、入力データ101をある範囲内(正規化データ区
間、図2では、x=0.5〜1.0の範囲内)に制限す
る必要がある。このため、データ正規化部11は、入力
データ101を、0.5〜1.0の範囲内のデータに変
換する正規化処理を行っている。この正規化は、入力デ
ータ101のビットをシフトすることで行われる。これ
により、正規化データ102とビットシフト情報(ビッ
トシフト数を示す情報)105が生成される。ビットシ
フト情報105は、演算結果生成部15へ送られる(図
7のステップ7.1)。
【0017】一方、データ正規化部11からの正規化デ
ータ102は、係数参照部12に送られる。係数参照部
12には、先述の図2の各区分(a〜h)毎の直線近似
式に基づく係数参照テーブルがあり、直線近似計算を行
うための係数(切片データと傾きデータ)の参照が行わ
れる(図7のステップ7.2)。
【0018】正規化データ102は、さらに傾き減算部
13にも送られ、この傾き減算部13で、係数参照部1
2から出力される傾き減算係数106とから、減算デー
タ103を生成する。一方、切片加算部14は、係数参
照部12からの切片加算データ107から加算データ1
04を生成する。演算結果生成部15は、これら減算デ
ータ103と加算データ104を合計することで、直線
近似計算を行う(図7のステップ7.3)。
【0019】この後、この演算結果生成部15では、先
述のビットシフト情報105に基づき、逆のビットシフ
ト操作を行い、求める逆数の結果データ108を算出・
出力する(図7のステップ7.4)。
【0020】以上が、本実施形態の逆数演算装置の概要
である。
【0021】以下、更に、図1の各部の詳細な説明を行
う。
【0022】まず、データ正規化部11について説明す
る。
【0023】入力データ101として、図8に示すよう
なQ15フォーマット(2進小数点以下のビット数が1
5)による16ビットの固定小数点データを考えると、
正規化データ範囲[0.5〜1.0]は、16進表現で
は、[4000h〜8000h]となる。入力データを
正規化して、この範囲内になるように変換するというこ
とは、入力データを上位方向にビットシフトして、図8
のビット14に1の値がくるようにすることを意味す
る。表1では、左方向にビットシフトを行い、ビット1
4の値が1になるまでシフトする。このときのビットシ
フト数をビットシフト情報105とする。このビットシ
フト情報105は4ビットで構成される。なお、表1の
下2つの入力データ(ビットシフト情報欄に、−印を記
載)については、本実施形態の逆数演算装置での演算は
実施しない。
【0024】
【表1】
【0025】以上のように、データ正規化部11では、
入力データ101の正規化を行い、正規化データ102
とビットシフト情報105を生成する。
【0026】次に、係数参照部12について説明する。
【0027】先述の図2に記載のように、各区分(a〜
hの8区分)毎の直線近似式が求められる。
【0028】各区分毎の近似式を図6に示す。図2のa
区分の正規化データに対する直線近似式は、図6のya
で、b区分の正規化データに対する直線近似式は、図6
のybで表されている。以下、c〜hの各区分について
も同様である。直線近似式に於ける各係数(傾き及び切
片)は、各区分毎に適切な値が設定されている。
【0029】なお、正規化データxに基づく、a〜hの
区分分けは、データの第11ビットから第13ビットま
での値を参照して行われる。
【0030】具体的には、データxの(第13ビット、
第12ビット、第11ビット)が、(0、0、0)であ
れば、区分a、(第13ビット、第12ビット、第11
ビット)が、(0、0、1)であれば、区分b、(第1
3ビット、第12ビット、第11ビット)が、(0、
1、0)であれば、区分c、…、(第13ビット、第1
2ビット、第11ビット)が、(1、1、1)であれ
ば、区分hとなる。
【0031】直線近似式の各係数をまとめた係数参照テ
ーブルが、図5であり、係数参照部12に記憶されてい
る。
【0032】ここで、図5に於いて、例えば、a区分
(0.5000〜0.5625、16進表現では、40
00h〜47FFh)の正規化データxが、係数参照部
12に入力されると、ya=1.8749−1.750
x(16進表現では、EFFFh−1.750x)が選
択される。ここでの、傾きデータの−1.750は、−
1と、−1/2と、−1/4との和である。この(−
1、−1/2、−1/4)を傾き減算係数106とし
て、傾き減算部13は受け取る。この傾き減算係数10
6は、入力された正規化データxと、この正規化データ
xを下位に1ビットシフトした値と、同データxを下位
に2ビットシフトした値とを加算し、減算データ103
にすることを意味する。一方、切片加算部14は、係数
参照部12より切片加算データ(切片値EFFFh)を
受け取ると、該データを加算データ104として出力す
る。
【0033】また、b区分(0.5625〜0.625
0)の正規化データxが、係数参照部12に入力される
と、yb=1.6621−1.375x(16進表現で
は、D4C0h−1.375x)が選択される。ここで
の、傾きデータの−1.375は、−1と、−1/4
と、−1/8との和である。先と同様に、この(−1、
−1/4、−1/8)を傾き減算係数106として、傾
き減算部13は受け取る。この情報106を基に、傾き
減算部13は、入力された正規化データxと、この正規
化データxを下位に2ビットシフトした値と、同データ
xを下位に3ビットシフトした値とを加算し、減算デー
タ103にしている。また、切片加算データ(切片値D
4C0h)についても、先と同様の処理が実行される。
【0034】以下、c〜hの各区分の正規化データが入
力された場合の処理も同様である。
【0035】以上のように、係数参照部12からは、入
力された正規化データxに対応する傾き減算係数106
と切片加算データ107とが出力される。
【0036】以上の説明から明らかなように、傾き減算
部13での演算処理は、乗算(入力正規化データxと傾
きデータとの乗算)が、入力された正規化データxと、
この正規化データxをビットシフトした値の加減算で実
行されるように、係数参照テーブルの傾き減算係数10
6が設定されている。したがって、乗算器は不要であ
り、加減算器のみでの処理が可能となっているものであ
る。
【0037】最後に、演算結果生成部15について説明
する。
【0038】演算結果生成部15では、上記減算データ
103と加算データ104とを合計する。そして、先の
表1に示したビットシフト情報105に基づいて、先の
処理とは逆に下位方向にビットシフトを行い、所望の逆
数が、結果データ108として出力される。
【0039】なお、実際の演算は、Q15フォーマット
の場合、桁を考慮する必要から、ここでの説明より1ビ
ット下位にシフトして行われ、演算の最後に、上位へ1
ビットシフトして戻す操作が加わっているが、説明を簡
単にするため、上記説明に於いては省略している。
【0040】また、データフォーマット、正規化データ
区間の範囲、及び各区分の設定方法は、上記実施形態に
於けるものに限定されるものではないことは言うまでも
ない。例えば、正規化データ区間を16等分して、各区
分を設定する構成としてもよいものである。
【0041】
【発明の効果】以上詳述したように、本発明によれば、
マイクロコンピュータ等に装備されている一般的なビッ
トシフト機能と、加算器(減算器)のみで、また、小容
量の記憶装置を設けるのみで、容易に構成できる、高速
の逆数演算装置を提供することができるものであり、小
規模な装置で、高速の逆数演算が可能となるものであ
る。したがって、本発明の実用的効果は極めて大なるも
のである。
【図面の簡単な説明】
【図1】本発明の逆数演算装置の一実施形態の機能構成
を示すブロック図である。
【図2】正規化データ区間(0.5000〜1.00
0)を8等分し、各区分毎に、逆数関数y=1/xを直
線近似して逆数演算を実行する、本発明の逆数演算装置
に於ける計算原理の説明に供する図である。
【図3】従来の逆数演算装置の機能構成を示すブロック
図である。
【図4】従来の他の逆数演算装置の説明に供する図であ
る。
【図5】図1に示す係数参照部12内にあって、直線近
似計算をするために参照される係数参照テーブルを示す
図である。
【図6】図2に示される各区分(a〜h)毎に設定され
る直線近似式を示す図である。
【図7】本発明の逆数演算装置で実行される処理を示す
フローチャートである。
【図8】Q15フォーマットによる16ビットの固定小
数点データを示す図である。
【符号の説明】
11 データ正規化部 12 係数参照部 13 傾き減算部 14 切片加算部 15 演算結果生成部 101 入力データ 102 正規化データ 103 減算データ 104 加算データ 105 ビットシフト情報 106 傾き減算係数 107 切片加算データ 108 結果データ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 入力データのビットシフト動作により、
    該入力データを、内部で処理可能な正規化データに変換
    するデータ正規化手段と、予め定められる各正規化デー
    タ範囲区分毎に、切片データと傾きデータとを記憶する
    係数記憶手段と、前記正規化データに基づいて、前記係
    数記憶手段を参照し、対応する切片データ及び傾きデー
    タを読み出す係数読み出し手段と、前記正規化データと
    傾きデータとから生成される傾き減算データと、前記切
    片データとから、中間演算結果を算出する中間演算結果
    算出手段と、前記データ正規化手段よりのビットシフト
    情報に基づき、前記中間演算結果のビットシフトを行う
    ことにより、前記入力データの逆数を算出する演算結果
    算出手段とを設けて成ることを特徴とする逆数演算装
    置。
  2. 【請求項2】 前記傾きデータは、ビットシフト(0ビ
    ットシフトを含む)により得られる値の合成データで構
    成されていることを特徴とする、請求項1に記載の逆数
    演算装置。
  3. 【請求項3】 前記傾き減算データは、前記正規化デー
    タと、該正規化データをビットシフトした値の合成値で
    あることを特徴とする、請求項2に記載の逆数演算装
    置。
JP10250572A 1998-09-04 1998-09-04 逆数演算装置 Pending JP2000081968A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10250572A JP2000081968A (ja) 1998-09-04 1998-09-04 逆数演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10250572A JP2000081968A (ja) 1998-09-04 1998-09-04 逆数演算装置

Publications (1)

Publication Number Publication Date
JP2000081968A true JP2000081968A (ja) 2000-03-21

Family

ID=17209893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10250572A Pending JP2000081968A (ja) 1998-09-04 1998-09-04 逆数演算装置

Country Status (1)

Country Link
JP (1) JP2000081968A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005197989A (ja) * 2004-01-07 2005-07-21 Mega Chips Corp べき乗演算回路、量子化回路および方法
JP2011175433A (ja) * 2010-02-24 2011-09-08 Ntt Electornics Corp 演算回路及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005197989A (ja) * 2004-01-07 2005-07-21 Mega Chips Corp べき乗演算回路、量子化回路および方法
JP2011175433A (ja) * 2010-02-24 2011-09-08 Ntt Electornics Corp 演算回路及び方法

Similar Documents

Publication Publication Date Title
US7188133B2 (en) Floating point number storage method and floating point arithmetic device
JP2884057B2 (ja) 数値フォーマット変換装置
US6304890B1 (en) Exponential calculation device and decoding device
US4583180A (en) Floating point/logarithmic conversion system
US6769006B2 (en) Method and apparatus for calculating a reciprocal
JP2001222410A (ja) 除算器
KR970006408B1 (ko) 논리회로의 자동설계방법 및 그 장치와 승산기
US6898615B2 (en) Signal processing unit and signal processing method including using an exponent part and a mantissa part for power generation
JP2000081968A (ja) 逆数演算装置
JP4163967B2 (ja) 浮動小数点演算装置
JPH08504046A (ja) 浮動小数点2進数を2進形式における対数に変換しまたはその逆変換をするための装置
JPS62197868A (ja) パイプライン構成の直線近似変換回路
JP3538512B2 (ja) データ変換装置
US20080091754A1 (en) Reciprocal calculation unit and reciprocal calculation method
JP2000010763A (ja) 除算回路
JP3201097B2 (ja) 乗算器における乗算処方方法
KR20010067226A (ko) 인터폴레이션 방법 및 장치
JP2870018B2 (ja) 積和演算回路
JP3112662B2 (ja) 乗算器
JP4643951B2 (ja) 剰余系の被変換数を2進数に変換する変換装置及び変換方法
JP2003303096A (ja) 除算回路
JP2797773B2 (ja) 逆数演算装置
JP3104569B2 (ja) 除算回路
JP2002108608A (ja) 信号処理装置、信号処理方法、プログラム記録媒体及びコンピュータプログラム
JP2699658B2 (ja) 平方根演算装置