JP2001005643A - 累乗演算装置 - Google Patents
累乗演算装置Info
- Publication number
- JP2001005643A JP2001005643A JP11177368A JP17736899A JP2001005643A JP 2001005643 A JP2001005643 A JP 2001005643A JP 11177368 A JP11177368 A JP 11177368A JP 17736899 A JP17736899 A JP 17736899A JP 2001005643 A JP2001005643 A JP 2001005643A
- Authority
- JP
- Japan
- Prior art keywords
- value
- radix
- input
- exponent
- bit
- 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.)
- Granted
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/544—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 for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
対して一律の演算処理しか実施することができず、この
処理に用いる乗算器25などの処理速度を超えて高速化
を図ることはできないなどの課題があった。 【解決手段】 入力指数ビット列Yが2を基数とする整
数累乗の数である場合には乗算器1に換えてビット演算
器5を用いるものである。
Description
と入力指数ビット列とからなる入力数値の累乗演算を実
施する累乗演算装置に係り、特に、その累乗演算速度を
実質的に高速化ならしめるための改良に関するものであ
る。
に開示された従来の累乗演算装置の構成を示すブロック
図である。図において、24は対数算出部、25は乗算
器、26は指数算出部、27は対数シフト部、28は対
数テーブル、29は対数加算部、30は指数減算部、3
1は指数テーブル、32は指数シフト部である。
累乗に係る基数ビット列をその小数部と整数部とに分割
すると、その小数部は対数テーブル28を用いて対数値
に変換され、この対数値と整数部とで乗算器25への基
数対数ビット列が生成される。乗算器25はこの基数対
数ビット列と指数ビット列とを乗算し、指数算出部26
へ出力する。この指数算出部26では、指数減算部30
がこれを整数項と小数項とに分割し、その小数部は指数
テーブル31を用いて逆変換され、指数シフト部32は
この逆変換された小数項と上記整数項とを用いて累乗演
算結果を出力する。
数ビット列を対数に変換し、この基数ビット列の指数ビ
ット列による累乗演算を基数ビット列の対数と指数ビッ
ト列との乗算演算に置き換えることができ、級数に基づ
く演算を繰り返すことで基数ビット列の累乗演算を行う
ような場合よりもはるかに短時間のうちに累乗演算結果
を得ることができる。
以上のように構成されているので、あらゆる累乗演算を
同列に扱い、あらゆる累乗演算処理において同様の処理
にて累乗演算を実施することとなり、この処理に用いる
乗算器などの処理速度を超えて高速化を図ることはでき
ないなどの課題があった。
めになされたもので、乗算演算処理において多用される
特定の乗算演算処理についての高速化を図り、これによ
り実質的に累乗演算速度を高速化させた累乗演算装置を
得ることを目的とする。
装置は、入力基数ビット列と入力指数ビット列とからな
る入力数値の累乗演算を実施する累乗演算装置におい
て、上記入力基数ビット列に対して2を底とする対数演
算を実施してこの入力基数ビット列の対数ビット列を出
力する対数演算部と、当該対数ビット列と上記入力指数
ビット列とを乗算して第一乗算値を出力する乗算器と、
上記対数ビット列に対して上記入力指数ビット列に基づ
くビットシフト処理を行って第二乗算値を出力するビッ
ト演算部と、上記入力指数ビット列が2を基数とする整
数累乗の数であるか否かを判定し、その判定が正しい場
合には第二乗算値選択信号を出力する指数判定部と、上
記第一乗算値および第二乗算値が入力され、上記第二乗
算値選択信号が入力された場合には第二乗算値を選択乗
算値として出力し、それ以外の場合には第一乗算値を選
択乗算値として出力する乗算値選択部と、上記選択乗算
値に対して2を基数項とする指数演算を実施してそれを
上記入力数値の累乗演算結果として出力する指数演算部
とを備えるものである。
部が、入力指数ビット列が「1/2」であるか否かを判
定するとともにその判定が正しい場合には第二乗算値選
択信号を出力し、ビット演算部は対数ビット列に対して
1回だけ右シフト処理を行って第二乗算値を出力するも
のである。
部が、入力指数ビット列が「−1」であるか否かを判定
するとともにその判定が正しい場合には第二乗算値選択
信号を出力し、ビット演算部は対数ビット列のビット反
転処理を行って第二乗算値を出力するものである。
部が、入力指数ビット列が「−1/2」であるか否かを
判定するとともにその判定が正しい場合には第二乗算値
選択信号を出力し、ビット演算部は対数ビット列に対し
て1回だけ右シフト処理を行った後ビット反転処理を行
い、これを第二乗算値として出力するものである。
部が、入力基数ビット列が基数仮数値と基数指数値とか
らなる浮動小数点データ形式で入力されるとともに、そ
の基数仮数値と2を底とする対数演算テーブルとを用い
てこの基数仮数値の対数値を出力する仮数処理手段と、
上記基数指数値から上記指数オフセット値を減算して指
数減算値を出力する指数処理手段と、上記基数仮数値の
対数値とこの指数減算値とに基づいて上記入力基数ビッ
ト列の固定小数点形式の対数値を生成する固定基数ビッ
ト列生成手段とを備え、この対数値を上記入力基数ビッ
ト列の対数ビット列として出力するものである。
部が、ネイピア数の対数値を保持する固定基数ビット列
保持手段と、入力基数ビット列がネイピア数であるか否
かを判断し、その判定が正しい場合には固定データ選択
信号を出力する基数判定手段と、固定基数ビット列生成
手段の出力値および固定基数ビット列保持手段の保持値
とが入力され、固定データ選択信号が入力された場合に
は当該保持値を入力基数ビット列の対数ビット列として
出力し、それ以外の場合には固定基数ビット列生成手段
の出力値を入力基数ビット列の対数ビット列として出力
する基数出力選択部とを備えるものである。
ビット列をその小数点位置が乗算器の小数点位置と一致
するようにシフトさせる仮数処理手段を備えるものであ
る。
説明する。 実施の形態1.図1はこの発明の実施の形態1による累
乗演算装置の構成を示すブロック図である。この累乗演
算装置は、入力基数ビット列と入力指数ビット列とが入
力され、これらの指数演算結果を出力するものである。
図において、1は入力される2つのビット列を所定の固
定小数点位置の下でのビット列として取り扱ってこれら
2つのビット列同士の乗算演算を実施し、その乗算結果
を第一乗算ビット列Zmとして出力する乗算器、2は入
力基数ビット列Xが入力され、これを上記乗算器1の固
定小数点位置の下でのビット列(固定基数ビット列)に
変換し、更に、その固定基数ビット列に対して2を底と
する対数演算を実施して固定基数対数ビット列Wを乗算
器1へ出力する基数ビット列変換部、3は入力指数ビッ
ト列Yが入力され、これを上記乗算器1の固定小数点位
置の下でのビット列(固定指数ビット列Ytran)に
変換して乗算器1へ出力する指数ビット列変換手段、4
は入力指数ビット列Yが入力され、これに基づいて各種
の演算制御信号Yx,Zsel,Ys,Yiを出力する
指数判定手段、5はこの演算制御信号Yi,Ysに応じ
て固定基数対数ビット列Wのシフト処理や反転処理など
のビット演算処理を実施し、この演算結果を第二乗算ビ
ット列Zbとして出力するビット演算器、6は上記第一
乗算ビット列Zmおよびこの第二乗算ビット列Zbが入
力され、上記演算制御信号Zselに応じてこのうちの
一方を選択して選択乗算ビット列Zとして出力する指数
値選択部、7はこの選択乗算ビット列Zが入力され、こ
れに対して2を基数とする指数演算を実施して上記入力
基数ビット列Xと同様の小数点位置の下でのビット列に
逆変換し、これを入力基数ビット列Xと入力指数ビット
列Yとに基づく累乗演算結果として出力する逆変換部で
ある。
基数ビット列Xの仮数項Xfと2を底とする対数演算テ
ーブルとを用いてこの仮数項の対数変換値を出力する基
数仮数項変換手段、9は入力基数ビット列Xの指数項X
eから上記指数オフセット値Kを減算してこの指数項の
変換値を出力する基数指数項変換手段、10はこの仮数
項の対数変換値および指数項の変換値に基づいて上記乗
算器1の固定小数点位置の下でのビット列を生成し、こ
れを演算導出型固定基数ビット列として出力する固定基
数ビット列生成手段、11は「log2 (e)」の値を
上記乗算器1の固定小数点位置の下でのビット列として
保持するとともにこれを固定保持型固定基数ビット列と
して出力する固定基数ビット列保持手段、12は入力基
数ビット列Xが入力され、この入力基数ビット列Xがネ
イピア数(=e)である場合には固定データ選択信号を
出力する基数判定手段、13は上記演算導出型固定基数
ビット列および固定保持型固定基数ビット列が入力さ
れ、この固定データ選択信号が入力された場合には固定
保持型固定基数ビット列を選択して固定基数対数ビット
列Wとして出力し、それ以外の場合には演算導出型固定
基数ビット列を選択して固定基数対数ビット列Wとして
出力する基数出力選択部である。
対数ビット列Wを入力指数ビット列Yに応じたビット数
だけシフトするシフタ、15はこのシフタ14の出力を
ビット反転するビット反転器、16は入力指数ビット列
Yに応じてシフタ14の出力とビット反転器15の出力
のうちの一方を選択して第二乗算ビット列Zbとして出
力するビット演算選択部である。
14やビット演算選択部16は指数判定手段4からの演
算制御信号Yi,Ysに基づいてシフト演算処理や選択
処理を実施している。具体的には、この指数判定手段4
において入力指数ビット列Yが2を基数とする整数累乗
の数であるか否かが判定され、この判定が正しいときに
はその累乗数を示す演算制御信号Yiがシフタ14に出
力され、このシフタ14はこの累乗数と同数分だけ固定
基数対数ビット列Wに対して右シフト(累乗数が負の場
合)あるいは左シフト(累乗数が正の場合)を実施す
る。また、指数判定手段4は入力指数ビット列Yの符号
を判断し、負である場合には反転ビット列の選択を指示
する演算制御信号をビット演算選択部16に出力し、こ
のビット演算選択部16はこの演算制御信号に基づいて
ビット反転器15の出力を選択して出力する。
からの演算制御信号Zselに基づいて、入力指数ビッ
ト列Yが2を基数とする整数累乗の数である場合にはビ
ット演算器5の出力を選択して選択乗算ビット列Zとし
て出力し、それ以外の場合には乗算器1の出力を選択し
て選択乗算ビット列Zとして出力する。
ト列Zの小数項Zfrcを2を基数とする指数演算テー
ブルを用いて小数項逆変換値を出力する小数項逆変換手
段、18は選択乗算ビット列Zの整数項Zintに上記
指数オフセット値Kを加算して整数項逆変換値を出力す
る整数項逆変換手段、19はこの小数項逆変換値および
整数項逆変換値に基づいて上記入力基数ビット列Xと同
じ小数点位置のビット列を生成し、これを累乗演算ビッ
ト列として出力する出力ビット列生成手段である。
12は入力基数ビット列Xが負数の場合には基数負数通
知信号Xxを出力し、指数判定手段4は入力指数ビット
列Yが整数でない場合には指数非整数通知信号Yxを出
力し、出力ビット列生成手段19はこれらに基づき入力
基数ビット列Xが負数の場合であって且つ入力指数ビッ
ト列Yが整数でない場合には、この累乗演算を数学的に
定義することができないので、累乗演算ビット列として
「0」を出力する。
ト列Xが入力されると、基数仮数項変換手段8は、その
仮数項Xfと2を底とする対数演算テーブルとを用いて
この仮数項の対数変換値を出力し、基数指数項変換手段
9はその指数項Xeから上記指数オフセット値Kを減算
してこの指数項の変換値を出力し、固定基数ビット列生
成手段10はこの仮数項の対数変換値および指数項の変
換値に基づいて上記乗算器1の固定小数点位置の下での
ビット列を生成して、これを演算導出型固定基数ビット
列として出力する。
数オフセットKの浮動小数点表現で表わし、その仮数項
をXf(0≦Xf≦1)、その指数項をXeとすると入
力基数ビット列Xは下記式1のように表わされ、更に入
力指数ビット列をYとすると、入力値は下記式2のよう
に表記される。従って、この基数仮数項変換手段8から
は「log2 (1+Xf)」に対応するビット列が出力
され、基数指数項変換手段9からは「(Xe−K)」に
対応するビット列が出力されるので、固定基数ビット列
生成手段10からは「log2 (1+Xf)+(Xe−
K)」が出力されることになる。
基数判定手段12は、入力基数ビット列Xがネイピア数
(=e)であるか否かを判断し、それが正しい場合には
固定データ選択信号を出力する。そして、基数出力選択
部13は、固定データ選択信号が入力された場合には固
定保持型固定基数ビット列を選択して固定基数対数ビッ
ト列として出力し、それ以外の場合には演算導出型固定
基数ビット列を選択して固定基数対数ビット列として出
力する。これにより、基数として使用頻度が高いネイピ
ア数を用いた累乗演算処理の時間を短縮することができ
る。
と、指数判定手段4において入力指数ビット列Yが2を
基数とする整数累乗の数であるか否かなどの判定がなさ
れ、これに応じて指数ビット列変換手段3から、乗算器
1の固定小数点位置の下でのビット列(固定指数ビット
列)Ytranが出力される。そして、乗算器1はこの
固定指数ビット列Ytranと固定基数対数ビット列W
との乗算演算を実施して第一乗算ビット列Zmを出力す
る。なお、上記式2からすれば、この第一乗算ビット列
Zmは「Y×{log2 (1+Xf)+(Xe−
K)}」と等価な値を備える。
ット演算器5は指数判定手段4からの演算制御信号Y
i,Ysに応じて固定基数対数ビット列Wのビット演算
処理を実施し、この演算結果を第二乗算ビット列Zbと
して出力する。具体的には、シフタ14が固定基数対数
ビット列Wを入力指数ビット列Yに応じたビット数だけ
シフトし、ビット反転器15がこのシフタ14の出力を
ビット反転し、入力指数ビット列Yの符号が負である場
合にはビット演算選択部16がビット反転器15の出力
を選択して第二乗算ビット列Zbとして出力し、それ以
外の場合にはシフタ14の出力を選択して第二乗算ビッ
ト列Zbとして出力する。更に、指数値選択部6は、入
力指数ビット列Yが2を基数とする整数累乗の数である
場合にはビット演算器5の出力を選択し、それ以外の場
合には乗算器1の出力を選択し、これを選択乗算ビット
列Zとして出力する。
れる第二乗算ビット列Zbは、入力指数ビット列Yが2
を基数とする整数累乗の数である場合には、その整数累
乗の数だけ固定基数対数ビット列Wをシフトすること
で、整数累乗の数と固定基数対数ビット列Wとを乗算し
た場合と等価な演算を実施することになる。また、乗算
演算においては下位ビットからの繰り上げなどを待った
上で上位のビットの最終的な演算結果が生成されること
になるので、その分最終的な演算結果を得るまでに時間
がかかってしまうが、シフタ14におけるシフト処理で
はそのような待ち時間が発生することはなく、その分高
速に演算結果を得ることができる。
ビット列Zの小数項Zfrcを2を基数とする指数演算
テーブルを用いて小数項逆変換値を出力し、整数項逆変
換手段18は選択乗算ビット列Zの整数項Zintに上
記指数オフセット値Kを加算して整数項逆変換値を出力
し、出力ビット列生成手段19はこの小数項逆変換値お
よび整数項逆変換値に基づいて上記入力基数ビット列X
と同じ小数点位置のビット列を生成して累乗演算ビット
列として出力する。また、出力ビット列生成手段19は
入力基数ビット列Xが負数の場合であって且つ入力指数
ビット列Uが整数でない場合には、累乗演算ビット列と
して「0」を出力する。
形することができ、指数値選択部6から出力される「Y
×{log2 (1+Xf)+(Xe−K)}」をZ、そ
の小数項をZfrc、整数項をZintとすると、更に
式4のように表記する事ができる。
上、1未満であるので「2Zfrc」は1以上2未満であ
り、この式3と上記式1とを比較すれば明らかなよう
に、小数項逆変換手段17から出力される小数項逆変換
値は浮動小数点表示形式の仮数項の表現形式と一致す
る。同様に、整数項逆変換手段18から出力される整数
項逆変換値、つまり選択乗算ビット列Zの整数項に上記
指数オフセット値Kを加算した値は浮動小数点表示形式
の指数項の表現形式と一致する。従って、上記式4は例
えば下記式5のように書き換えることができる。但し、
ZfはZfrcによって参照された仮数項であり、Ze
は浮動小数点表現形式におけるオフセット付き指数項で
ある。
理、例えば開平演算、逆数演算、正規化演算を例に詳し
く動作を説明する。
は「1/2(=2-1)」なので、2を基数とする整数累
乗の数となる。また、その整数累乗の数は「−1」であ
る。従って、シフタ14は入力基数ビット列Xの対数値
Wに対して1回だけ右シフト処理を行い、その出力がビ
ット演算選択部16から第二乗算ビット列Zbとして出
力され、更に指数値選択部6から出力される。従って、
乗算器1の演算結果を待つことなく指数値選択部6にお
ける選択を実施してこれに基づいて累乗演算結果を出力
することができる。
は「−1(=−1×20 )」なので、2を基数とする整
数累乗の数となる。また、その整数累乗の数は「0」で
ある。従って、シフタ14は入力基数ビット列Xの対数
値Wをそのまま出力し、ビット反転器15においてそれ
を反転させた値がビット演算選択部16から第二乗算ビ
ット列Zbとして出力され、更に指数値選択部6から出
力される。従って、乗算器1の演算結果を待つことなく
指数値選択部6における選択を実施してこれに基づいて
累乗演算結果を出力することができる。
Yは「−1/2(=−1×2-1)」なので、2を基数と
する整数累乗の数となる。また、その整数累乗の数は
「−1」である。従って、シフタ14は入力基数ビット
列Xの対数値に対して1回だけ右シフト処理を行い、ビ
ット反転器15においてそれを反転させた値がビット演
算選択部16から第二乗算ビット列として出力され、更
に指数値選択部6から出力される。従って、乗算器1の
演算結果を待つことなく指数値選択部6における選択を
実施してこれに基づいて累乗演算結果を出力することが
できる。
ット列Xや入力指数ビット列Yとして主に浮動小数点形
式のビット列の場合について説明したが、この累乗演算
装置で取り扱うことができるビット列はこれに限られる
ものではなく、固定小数点形式のビット列についても同
様に累乗演算を行うことができる。
ば、入力基数ビット列Xと入力指数ビット列Yとからな
る入力数値の累乗演算を実施する累乗演算装置におい
て、上記入力基数ビット列Xに対して2を底とする対数
演算を実施してこの入力基数ビット列Xの対数ビット列
Wを出力する対数演算部2と、当該対数ビット列Wと上
記入力指数ビット列Yとを乗算して第一乗算値Zmを出
力する乗算器1と、上記対数ビット列Wに対して上記入
力指数ビット列Yに基づくビットシフト処理を行って第
二乗算値Zbを出力するビット演算部5と、上記入力指
数ビット列Yが2を基数とする整数累乗の数であるか否
かを判定し、その判定が正しい場合には第二乗算値選択
信号を出力する指数判定部4と、上記第一乗算値Zmお
よび第二乗算値Zbが入力され、上記第二乗算値選択信
号が入力された場合には第二乗算値Zbを選択乗算値と
して出力し、それ以外の場合には第一乗算値Zmを選択
乗算値Zとして出力する乗算値選択部6と、上記選択乗
算値Zに対して2を基数項とする指数演算を実施してそ
れを上記入力数値の累乗演算結果として出力する指数演
算部7とを備えるので、入力指数ビット列Yが2を基数
とする整数累乗の数である場合には、ビット演算部5に
よる演算結果を用いて入力数値の累乗演算結果を出力す
ることができる。
「1/2」となる開平演算、入力指数ビット列Yが「−
1」となる逆数演算、入力指数ビット列Yが「−1/
2」となる正規化演算などの演算処理においては乗算器
1を用いずにビット演算部5を用いて累乗演算結果を出
力することができるので、このような一般的に多用され
る累乗演算処理を特別に高速化させることにより、累乗
演算速度を実質的に高速化することができる効果があ
る。
が、入力基数ビット列Xが基数仮数値Xfと基数指数値
Xeとからなる浮動小数点データ形式で入力されるとと
もに、その基数仮数値Xfと2を底とする対数演算テー
ブルとを用いてこの基数仮数値Xfの対数値を出力する
仮数処理手段8と、上記基数指数値Xeから上記指数オ
フセット値Kを減算して指数減算値を出力する指数処理
手段9と、上記基数仮数値Xfの対数値とこの指数減算
値とに基づいて上記入力基数ビット列Xの固定小数点形
式の対数値を生成する固定基数ビット列生成手段10と
を備え、この対数値を上記入力基数ビット列の対数ビッ
ト列Wとして出力するので、基数仮数値Xfと基数指数
値Xeとからなる浮動小数点データ形式の数値を入力基
数ビット列Xとして入力し、この入力基数ビット列Xの
累乗を演算することができる効果がある。
が、ネイピア数の対数値(log2(e))を保持する
固定基数ビット列保持手段11と、入力基数ビット列X
がネイピア数であるか否かを判断し、その判定が正しい
場合には固定データ選択信号を出力する基数判定手段1
2と、固定基数ビット列生成手段10の出力値および固
定基数ビット列保持手段11の保持値とが入力され、固
定データ選択信号が入力された場合には当該保持値を入
力基数ビット列Xの対数ビット列Wとして出力し、それ
以外の場合には固定基数ビット列生成手段10の出力値
を入力基数ビット列Xの対数ビット列Wとして出力する
基数出力選択部13とを備えるので、ネイピア数が入力
されれば基数判定手段12から固定データ選択信号が出
力され、基数出力選択部13から直ちにネイピア値の対
数値が出力されることとなり、指数演算における基数項
Xとして頻繁に用いられるネイピア数の乗算演算におい
て対数演算テーブルの検索時間を削減して更に累乗演算
速度を実質的に高速化することができる効果がある。
ト列Yをその小数点位置が乗算器1の小数点位置と一致
するようにシフトさせる仮数処理手段3を備えるので、
浮動小数点データ形式の数値を入力指数ビット列Yとし
て入力し、この入力指数ビット列Yを用いて累乗を演算
することができる効果がある。
態2による累乗演算装置の構成を示すブロック図であ
る。図において、20は入力基数ビット列Xの小数点位
置を乗算器1の小数点位置と一致するようにシフト処理
を行う入力基数ビット列用のシフタ、21は入力基数ビ
ット列Xがネイピア数(=e)である場合には固定デー
タ選択信号を出力するとともに、上記シフタ20に対し
て上記シフト処理を行うためのシフト処理指示信号を出
力する基数判定手段、22は選択乗算ビット列Zの整数
項Zintに「1」を加算して出力するインクリメン
タ、23はこのインクリメンタ22の値に基づいて上記
シフタ20とは逆方向へのシフト処理(正の値の場合に
は左シフト、負の値の場合には右シフト)を実施するイ
ンバートシフタである。これ以外の構成は図1と同様で
あり同一の符号を付して説明を省略する。
21は入力基数ビット列Xが入力されると、それがネイ
ピア数(=e)であるか否かを判断するとともに、入力
基数ビット列用のシフタ20に対するシフト処理指示信
号を出力する。具体的には、シフトした後の数値が1以
上、2未満の値となるようにシフト処理指示信号を出力
する。例えば、入力基数ビット列Xが「010.101
1」の場合には「+1」を出力し、「000.001
1」の場合には「−3」をシフト値として出力する。こ
のためには、「1」が立っている最上位ビット位置が整
数項の最下位ビットを起点として整数項側にあれば正の
シフト値、小数項側にあれば負のシフト値として検出を
行えば良い。そして、このシフト値に基づいて入力基数
ビット列用のシフタ20は入力基数ビット列Xのシフト
処理を行う。具体的には、シフト値が正の場合には右シ
フト処理、負の場合には左シフト処理を実施する。
ット列Zの整数項Zintに「1」を加算して出力し、
インバートシフタ23はこのインクリメンタ22の値に
基づいて上記シフタ20とは逆方向へのシフト処理を実
施するものである。これにより、出力ビット列の小数点
位置を元の入力ビット列Xと同様の小数点位置に移動さ
せることができ、同様の小数点位置のビット列を出力す
ることができる。なお、上記インクリメンタ22におい
て「1」を加算するのは、小数項Zfrcを用いて2の
累乗テーブルを参照する際に省略されてしまう整数項
「1」を補うためである。これ以外の動作は実施の形態
1と同様であり説明を省略する。
不要となり、構成の簡略化、高速処理化を図ることがで
きる効果がある。
基数ビット列と入力指数ビット列とからなる入力数値の
累乗演算を実施する累乗演算装置において、上記入力基
数ビット列に対して2を底とする対数演算を実施してこ
の入力基数ビット列の対数ビット列を出力する対数演算
部と、当該対数ビット列と上記入力指数ビット列とを乗
算して第一乗算値を出力する乗算器と、上記対数ビット
列に対して上記入力指数ビット列に基づくビットシフト
処理を行って第二乗算値を出力するビット演算部と、上
記入力指数ビット列が2を基数とする整数累乗の数であ
るか否かを判定し、その判定が正しい場合には第二乗算
値選択信号を出力する指数判定部と、上記第一乗算値お
よび第二乗算値が入力され、上記第二乗算値選択信号が
入力された場合には第二乗算値を選択乗算値として出力
し、それ以外の場合には第一乗算値を選択乗算値として
出力する乗算値選択部と、上記選択乗算値に対して2を
基数項とする指数演算を実施してそれを上記入力数値の
累乗演算結果として出力する指数演算部とを備えるの
で、入力指数ビット列が2を基数とする整数累乗の数で
ある場合には、ビット演算部による演算結果を用いて入
力数値の累乗演算結果を出力することができる。
/2」となる開平演算、入力指数ビット列が「−1」と
なる逆数演算、入力指数ビット列が「−1/2」となる
正規化演算などの演算処理においては乗算器を用いずに
ビット演算部を用いて累乗演算結果を出力することがで
きるので、このような一般的に多用されるこのような累
乗演算処理を特別に高速化させることにより、累乗演算
速度を実質的に高速化することができる効果がある。
数ビット列が基数仮数値と基数指数値とからなる浮動小
数点データ形式で入力されるとともに、その基数仮数値
を乗算器の小数点位置と一致するように指数オフセット
値だけシフトさせるとともに、そのシフトさせた基数仮
数値と2を底とする対数演算テーブルとを用いてこの基
数仮数値の対数値を出力する仮数処理手段と、上記基数
指数値から上記指数オフセット値を減算して指数減算値
を出力する指数処理手段と、上記基数仮数値の対数値と
この指数減算値とに基づいて上記入力基数ビット列の固
定小数点形式の対数値を生成する固定基数ビット列生成
手段とを備え、この対数値を上記入力基数ビット列の対
数ビット列として出力するので、基数仮数値と基数指数
値とからなる浮動小数点データ形式の数値を入力基数ビ
ット列として入力し、この入力基数ビット列の累乗を演
算することができる効果がある。
ア数の対数値を保持する固定基数ビット列保持手段と、
入力基数ビット列がネイピア数であるか否かを判断し、
その判定が正しい場合には固定データ選択信号を出力す
る基数判定手段と、固定基数ビット列生成手段の出力値
および固定基数ビット列保持手段の保持値とが入力さ
れ、固定データ選択信号が入力された場合には当該保持
値を入力基数ビット列の対数ビット列として出力し、そ
れ以外の場合には固定基数ビット列生成手段の出力値を
入力基数ビット列の対数ビット列として出力する基数出
力選択部とを備えるので、ネイピア数が入力されれば基
数判定手段から固定データ選択信号が出力され、基数出
力選択部から直ちにネイピア値の対数値が出力されるこ
ととなり、指数演算における基数項として頻繁に用いら
れるネイピア数の乗算演算において対数演算テーブルの
検索時間を削減して更に累乗演算速度を実質的に高速化
することができる効果がある。
の小数点位置が乗算器の小数点位置と一致するようにシ
フトさせる仮数処理手段を備えるので、浮動小数点デー
タ形式の数値を入力指数ビット列として入力し、この入
力指数ビット列を用いて累乗を演算することができる効
果がある。
の構成を示すブロック図である。
の構成を示すブロック図である。
である。
3 指数ビット列変換手段(仮数処理手段)、4 指数
判定手段(指数判定部)、5 ビット演算器(ビット演
算部)、6 指数値選択部(乗算値選択部)、7 逆変
換部(指数演算部)、8 基数仮数項変換手段(仮数処
理手段)、9 基数指数項変換手段(指数処理手段)、
10 固定基数ビット列生成手段、11 固定基数ビッ
ト列保持手段、12 基数判定手段、13 基数出力選
択部、14 シフタ、15 ビット反転器、16 ビッ
ト演算選択部、17 小数項逆変換手段、18 整数項
逆変換手段、19 出力ビット列生成手段、20 入力
基数ビット列用のシフタ(仮数処理手段)、21 基数
判定手段、22 インクリメンタ、23 インバートシ
フタ。
Claims (7)
- 【請求項1】 入力基数ビット列と入力指数ビット列と
からなる入力数値の累乗演算を実施する累乗演算装置に
おいて、 上記入力基数ビット列に対して2を底とする対数演算を
実施してこの入力基数ビット列の対数ビット列を出力す
る対数演算部と、 当該対数ビット列と上記入力指数ビット列とを乗算して
第一乗算値を出力する乗算器と、 上記対数ビット列に対して上記入力指数ビット列に基づ
くビットシフト処理を行って第二乗算値を出力するビッ
ト演算部と、 上記入力指数ビット列が2を基数とする整数累乗の数で
あるか否かを判定し、その判定が正しい場合には第二乗
算値選択信号を出力する指数判定部と、 上記第一乗算値および第二乗算値が入力され、上記第二
乗算値選択信号が入力された場合には第二乗算値を選択
乗算値として出力し、それ以外の場合には第一乗算値を
選択乗算値として出力する乗算値選択部と、 上記選択乗算値に対して2を基数項とする指数演算を実
施してそれを上記入力数値の累乗演算結果として出力す
る指数演算部とを備える累乗演算装置。 - 【請求項2】 指数判定部は、入力指数ビット列が「1
/2」であるか否かを判定するとともにその判定が正し
い場合には第二乗算値選択信号を出力し、ビット演算部
は対数ビット列に対して1回だけ右シフト処理を行って
第二乗算値を出力することを特徴とする請求項1記載の
累乗演算装置。 - 【請求項3】 指数判定部は、入力指数ビット列が「−
1」であるか否かを判定するとともにその判定が正しい
場合には第二乗算値選択信号を出力し、ビット演算部は
対数ビット列のビット反転処理を行って第二乗算値を出
力することを特徴とする請求項1記載の累乗演算装置。 - 【請求項4】 指数判定部は、入力指数ビット列が「−
1/2」であるか否かを判定するとともにその判定が正
しい場合には第二乗算値選択信号を出力し、ビット演算
部は対数ビット列に対して1回だけ右シフト処理を行っ
た後ビット反転処理を行い、これを第二乗算値として出
力することを特徴とする請求項1記載の累乗演算装置。 - 【請求項5】 対数演算部は、 入力基数ビット列が基数仮数値と基数指数値とからなる
浮動小数点データ形式で入力されるとともに、 その基数仮数値と2を底とする対数演算テーブルとを用
いてこの基数仮数値の対数値を出力する仮数処理手段
と、 上記基数指数値から上記指数オフセット値を減算して指
数減算値を出力する指数処理手段と、 上記基数仮数値の対数値とこの指数減算値とに基づいて
上記入力基数ビット列の固定小数点形式の対数値を生成
する固定基数ビット列生成手段とを備え、 この対数値を上記入力基数ビット列の対数ビット列とし
て出力することを特徴とする請求項1から4のうちのい
ずれか1項記載の累乗演算装置。 - 【請求項6】 対数演算部は、 ネイピア数の対数値を保持する固定基数ビット列保持手
段と、 入力基数ビット列がネイピア数であるか否かを判断し、
その判定が正しい場合には固定データ選択信号を出力す
る基数判定手段と、 固定基数ビット列生成手段の出力値および固定基数ビッ
ト列保持手段の保持値とが入力され、固定データ選択信
号が入力された場合には当該保持値を入力基数ビット列
の対数ビット列として出力し、それ以外の場合には固定
基数ビット列生成手段の出力値を入力基数ビット列の対
数ビット列として出力する基数出力選択部とを備えるこ
とを特徴とする請求項5記載の累乗演算装置。 - 【請求項7】 入力指数ビット列をその小数点位置が乗
算器の小数点位置と一致するようにシフトさせる仮数処
理手段を備えることを特徴とする請求項1から4のうち
のいずれか1ビット列記載の累乗演算装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17736899A JP4274633B2 (ja) | 1999-06-23 | 1999-06-23 | 累乗演算装置 |
US09/478,004 US6480873B1 (en) | 1999-06-23 | 2000-01-05 | Power operation device |
DE10013068A DE10013068C2 (de) | 1999-06-23 | 2000-03-17 | Potenzierungsoperationsvorrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17736899A JP4274633B2 (ja) | 1999-06-23 | 1999-06-23 | 累乗演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001005643A true JP2001005643A (ja) | 2001-01-12 |
JP4274633B2 JP4274633B2 (ja) | 2009-06-10 |
Family
ID=16029743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17736899A Expired - Fee Related JP4274633B2 (ja) | 1999-06-23 | 1999-06-23 | 累乗演算装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6480873B1 (ja) |
JP (1) | JP4274633B2 (ja) |
DE (1) | DE10013068C2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010517435A (ja) * | 2007-01-25 | 2010-05-20 | クォルコム・メムズ・テクノロジーズ・インコーポレーテッド | 対数ルックアップテーブルを用いた任意の冪乗関数 |
CN101639768B (zh) * | 2008-07-29 | 2012-07-04 | 索尼株式会社 | 用于算术处理的装置、方法和程序 |
CN104636595A (zh) * | 2014-12-23 | 2015-05-20 | 深圳市航天泰瑞捷电子有限公司 | 电力测量中的二次快速插值方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049343A (en) * | 1997-01-20 | 2000-04-11 | Hitachi, Ltd. | Graphics processing unit and graphics processing system |
JP3983394B2 (ja) * | 1998-11-09 | 2007-09-26 | 株式会社ルネサステクノロジ | 幾何学処理プロセッサ |
US7617268B2 (en) * | 2000-05-15 | 2009-11-10 | Qsigma, Inc. | Method and apparatus supporting non-additive calculations in graphics accelerators and digital signal processors |
US6779015B1 (en) * | 2000-06-22 | 2004-08-17 | Sony Corporation | Method for implementation of power calculation on a fixed-point processor using table lookup and linear approximation |
US6898615B2 (en) * | 2000-07-24 | 2005-05-24 | Matsushita Electric Industrial Co., Ltd. | Signal processing unit and signal processing method including using an exponent part and a mantissa part for power generation |
US6681237B1 (en) * | 2000-09-07 | 2004-01-20 | International Business Machines Corporation | Exponentiation circuit for graphics adapter |
JP2002215196A (ja) * | 2001-01-24 | 2002-07-31 | Nec Corp | 0.75乗計算装置及び0.75乗計算方法並びにそれに用いるプログラム |
US6910059B2 (en) * | 2002-07-09 | 2005-06-21 | Silicon Integrated Systems Corp. | Apparatus and method for calculating an exponential calculating result of a floating-point number |
JP4647951B2 (ja) * | 2004-07-29 | 2011-03-09 | 株式会社ジェイテクト | 安全制御装置、安全制御システム及び通信エラー検出方法 |
KR20090071823A (ko) * | 2007-12-28 | 2009-07-02 | 한국과학기술원 | 다기능 연산장치 및 방법 |
US9779272B2 (en) * | 2015-04-14 | 2017-10-03 | Analog Devices, Inc. | Extended use of logarithm and exponent instructions |
US20240094989A1 (en) * | 2022-09-20 | 2024-03-21 | Apple Inc. | Execution Circuitry for Floating-Point Power Operation |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4033507C2 (de) | 1990-10-21 | 1997-04-24 | Bernd Prof Dr Hoefflinger | Schaltungsanordnung zum digitalen Multiplizieren von Integer-Zahlen |
JP3884809B2 (ja) | 1997-01-20 | 2007-02-21 | 株式会社日立製作所 | ディジタルべき乗演算装置及びそれを用いたグラフィックスシステム |
US5926406A (en) * | 1997-04-30 | 1999-07-20 | Hewlett-Packard, Co. | System and method for calculating floating point exponential values in a geometry accelerator |
US6182100B1 (en) * | 1998-06-30 | 2001-01-30 | International Business Machines Corporation | Method and system for performing a logarithmic estimation within a data processing system |
US6128638A (en) * | 1998-07-23 | 2000-10-03 | Silicon Graphics, Inc. | Method and apparatus for calculating X to the Exponent of Y |
-
1999
- 1999-06-23 JP JP17736899A patent/JP4274633B2/ja not_active Expired - Fee Related
-
2000
- 2000-01-05 US US09/478,004 patent/US6480873B1/en not_active Expired - Lifetime
- 2000-03-17 DE DE10013068A patent/DE10013068C2/de not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010517435A (ja) * | 2007-01-25 | 2010-05-20 | クォルコム・メムズ・テクノロジーズ・インコーポレーテッド | 対数ルックアップテーブルを用いた任意の冪乗関数 |
CN101639768B (zh) * | 2008-07-29 | 2012-07-04 | 索尼株式会社 | 用于算术处理的装置、方法和程序 |
US8631061B2 (en) | 2008-07-29 | 2014-01-14 | Sony Corporation | Apparatus, method, and program for arithmetic processing |
CN104636595A (zh) * | 2014-12-23 | 2015-05-20 | 深圳市航天泰瑞捷电子有限公司 | 电力测量中的二次快速插值方法 |
Also Published As
Publication number | Publication date |
---|---|
DE10013068C2 (de) | 2002-04-04 |
DE10013068A1 (de) | 2000-12-28 |
US6480873B1 (en) | 2002-11-12 |
JP4274633B2 (ja) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001005643A (ja) | 累乗演算装置 | |
JPH08255073A (ja) | 数値フォーマット変換装置 | |
JPS60140422A (ja) | 演算処理装置 | |
JP4273071B2 (ja) | 除算・開平演算器 | |
JP2608165B2 (ja) | ディジタル信号処理システムにおける実時間2の補数コードの乗算方法及び装置 | |
JPH07234778A (ja) | 演算回路 | |
JP2511527B2 (ja) | 浮動小数点演算器 | |
JP4279626B2 (ja) | 剰余系演算システム、スケーリング演算器、スケーリング演算方法、及びそのプログラムと記録媒体 | |
JP2606331B2 (ja) | 絶対値加減算方法及びその装置 | |
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
JPH086766A (ja) | 正弦余弦演算装置 | |
JP2797773B2 (ja) | 逆数演算装置 | |
JP2518532B2 (ja) | 減算シフト型除算器 | |
KR100805272B1 (ko) | 부호화를 이용하는 곱셈 장치 및 그 방법 | |
JP2901463B2 (ja) | 加算装置 | |
JPH0527949A (ja) | 浮動小数点乗算における指数部演算回路 | |
JP2575969B2 (ja) | 浮動小数点乗除算装置 | |
JP2000010763A (ja) | 除算回路 | |
JP2777265B2 (ja) | 高基数開平演算装置 | |
KR20010067226A (ko) | 인터폴레이션 방법 및 장치 | |
JP2512939B2 (ja) | 固定浮動デ−タ変換回路 | |
JP3803653B2 (ja) | 乗算処理装置 | |
CN118409730A (zh) | 基于三段式线性拟合的对数近似乘法器电路结构 | |
Wang et al. | Efficient argument range reduction for implementation of double-precision floating-point exponential function | |
JPH0427587B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060123 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060606 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20071101 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090216 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090303 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140313 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |