JPH0492921A - 指数関数演算器 - Google Patents
指数関数演算器Info
- Publication number
- JPH0492921A JPH0492921A JP20714990A JP20714990A JPH0492921A JP H0492921 A JPH0492921 A JP H0492921A JP 20714990 A JP20714990 A JP 20714990A JP 20714990 A JP20714990 A JP 20714990A JP H0492921 A JPH0492921 A JP H0492921A
- Authority
- JP
- Japan
- Prior art keywords
- exponential function
- exponential
- value
- function
- distribution
- 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
Links
- 238000000034 method Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 40
- 230000015654 memory Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
指数関数演算器に関し、
演算回数を減少すると共に、打ち切り誤差の要因となる
加算を不要にして演算精度を高めることを目的とし、 指数関数axのXの値をn個の数の和(xl +Xg
+X3 +・・・・・・)に分配する分配手段と、各分
配数をアドレス入力として分配数毎の指数関数値(3x
I 、 ax t、ax3 ・・・・……)を出力す
るn個のテーブルと、各テーブルから出力された指数関
数値の積(ax1、a11!・ax3・・・・・……)
を求める演算手段とを備えたことを特徴とする。
加算を不要にして演算精度を高めることを目的とし、 指数関数axのXの値をn個の数の和(xl +Xg
+X3 +・・・・・・)に分配する分配手段と、各分
配数をアドレス入力として分配数毎の指数関数値(3x
I 、 ax t、ax3 ・・・・……)を出力す
るn個のテーブルと、各テーブルから出力された指数関
数値の積(ax1、a11!・ax3・・・・・……)
を求める演算手段とを備えたことを特徴とする。
本発明は、指数関数演算器に関する。
データ処理や画像処理など複雑な演算処理を必要とする
分野では、関数演算、なかでも指数関数演算の占める割
合が高く、全体の処理時間を短縮化する上で、関数演算
速度を高速化することが要求される。
分野では、関数演算、なかでも指数関数演算の占める割
合が高く、全体の処理時間を短縮化する上で、関数演算
速度を高速化することが要求される。
従来の指数関数演算技法としては、「級数展開」による
ものが−船釣であった。
ものが−船釣であった。
例えば、ax (但し、a〉0)を計算する場合には、
次式■に示すようなe (2,7182818284
・・・・……)を底とする自然対数を仮定し、 ax−eyであるから、 ・・・・・・■ となり、上式■の各項を求めてそれらを反復加算するこ
とにより、axO値を得ることができる。
次式■に示すようなe (2,7182818284
・・・・……)を底とする自然対数を仮定し、 ax−eyであるから、 ・・・・・・■ となり、上式■の各項を求めてそれらを反復加算するこ
とにより、axO値を得ることができる。
しかしながら、かかる従来の技法にあっては、級数の和
を指数関数の答とするものであったため、級数の項の数
に比例して演算回数が多くなり、しかも級数の和を途中
で打ち切るために発生する打ち切り誤差(trunca
tion error)が無視できないといった問題点
があった。
を指数関数の答とするものであったため、級数の項の数
に比例して演算回数が多くなり、しかも級数の和を途中
で打ち切るために発生する打ち切り誤差(trunca
tion error)が無視できないといった問題点
があった。
本発明は、上記問題点に鑑みてなされたもので、演算回
数を減少すると共に、打ち切り誤差の要因となる加算を
不要にして演算精度を高めることを目的としている。
数を減少すると共に、打ち切り誤差の要因となる加算を
不要にして演算精度を高めることを目的としている。
本発明は、上記目的を達成するためその原理構成図を第
1図に示すように、指数関数axのXの値をn(例えば
n=3)個の数の和(’x、+x。
1図に示すように、指数関数axのXの値をn(例えば
n=3)個の数の和(’x、+x。
+x3)に分配する分配手段りと、各分配数をアドレス
入力として分配数毎の指数関数値(a″′a x2、a
x3)を出力するn個のテーブルLTLT!、LT3と
、各テーブルから出力された指数関数値の積(axl、
ax2・a″3)を求める演算手段Mとを備えたことを
特徴とする。
入力として分配数毎の指数関数値(a″′a x2、a
x3)を出力するn個のテーブルLTLT!、LT3と
、各テーブルから出力された指数関数値の積(axl、
ax2・a″3)を求める演算手段Mとを備えたことを
特徴とする。
指数関数は以下の性質を持つ。
ax :axl +X2+X3.0.。
=a −a −a −a
・((旦し、x=x、+x2+x、 十・−・−
)したがって、指数Xの値をn個の数の和4こ分配し、
各分配毎の指数関数値を求め、各関数値の積を演算して
も、指数関数axが求められる。
・((旦し、x=x、+x2+x、 十・−・−
)したがって、指数Xの値をn個の数の和4こ分配し、
各分配毎の指数関数値を求め、各関数値の積を演算して
も、指数関数axが求められる。
その結果、級数展開を不要にでき、計算回数が削減され
ると共に、演算精度が向上される。
ると共に、演算精度が向上される。
以下、本発明を図面に基づいて説明する。
第2図は本発明に係る指数関数演算器の一実施例を示す
図である。
図である。
第2図において、10は32ビツト長のデータレジスタ
であり、下位側16ビツトと上位側16ビツトのふたつ
に分けられている。各ビット内に書き込まれた数字は重
みを表しており、最上位ビットのSは符号を表している
。
であり、下位側16ビツトと上位側16ビツトのふたつ
に分けられている。各ビット内に書き込まれた数字は重
みを表しており、最上位ビットのSは符号を表している
。
データレジスタ10には、必要に応じて指数関数axの
指数Xを書き込むことができ、Xの下位側から例えば5
ビツトづつの第1〜第4ビツト群11〜14と、符号ピ
ントを含む残りの第5ビット群15が、各々第1メモリ
16〜第5メモリ20のアドレスとして取り出されるよ
うになっている。
指数Xを書き込むことができ、Xの下位側から例えば5
ビツトづつの第1〜第4ビツト群11〜14と、符号ピ
ントを含む残りの第5ビット群15が、各々第1メモリ
16〜第5メモリ20のアドレスとして取り出されるよ
うになっている。
ここで、第1ビット群11は各ビットの重みをそれぞれ
24.23.22.2′ 2°として計5ビットで数
値x1を表現し、また、第2ビット群12は各ピントの
重みをそれぞれ29.28 2726.25として計
5ビットで数値X2を表現し、また、第3ビット群13
は各ビットの重みをそれぞれt2+4 213.2I2
.2日 210として計5ビットで数値x3を表現し、
また、第4ビット群14は各ビットの重みをそれぞれ2
19.218 217216.215として計5ビット
で数値x4を表現し、第5ビット群16は各ビットの重
みをそれぞれ一2!+ (S) 、 2 Q
、 229、 228、 227 226 、
225224 2Z:l 2tz 2z+ 2g
oとして計11ピントで数値X、を表現する。
24.23.22.2′ 2°として計5ビットで数
値x1を表現し、また、第2ビット群12は各ピントの
重みをそれぞれ29.28 2726.25として計
5ビットで数値X2を表現し、また、第3ビット群13
は各ビットの重みをそれぞれt2+4 213.2I2
.2日 210として計5ビットで数値x3を表現し、
また、第4ビット群14は各ビットの重みをそれぞれ2
19.218 217216.215として計5ビット
で数値x4を表現し、第5ビット群16は各ビットの重
みをそれぞれ一2!+ (S) 、 2 Q
、 229、 228、 227 226 、
225224 2Z:l 2tz 2z+ 2g
oとして計11ピントで数値X、を表現する。
したがって、データレジスタ10は、指数関数2XのX
の値をn個(本実施例ではn−5)の数の和(x、+x
t+x、+X、 +xs’)に分配する分配手段を構成
している。
の値をn個(本実施例ではn−5)の数の和(x、+x
t+x、+X、 +xs’)に分配する分配手段を構成
している。
第1メモリ16〜第5メモリ20は、それぞれ第1ビッ
ト群11〜第5ビット群の6値x1〜x5に対応した指
数関数値を出力するもので、各メモリ内には、あらかじ
め間数テーブルが格納されている。
ト群11〜第5ビット群の6値x1〜x5に対応した指
数関数値を出力するもので、各メモリ内には、あらかじ
め間数テーブルが格納されている。
すなわち、第1メモリ16には値x、に対応した指数関
数axIの第1関数テーブル21が格納され、また、第
2メモリ17には値x2に対応した指数関数ax2の第
2関数テーブル22が格納され、また、第3メモリ18
には値x3に対応した指数関数ax3の第3関数テーブ
ル23が格納され、また、第4メモリ19には値x4に
対応した指数関数ax4の第4関数テーブル24が格納
され、また、第5メモリ20には値x5に対応した指数
関数ax5の第5関数テーブル25が格納されている。
数axIの第1関数テーブル21が格納され、また、第
2メモリ17には値x2に対応した指数関数ax2の第
2関数テーブル22が格納され、また、第3メモリ18
には値x3に対応した指数関数ax3の第3関数テーブ
ル23が格納され、また、第4メモリ19には値x4に
対応した指数関数ax4の第4関数テーブル24が格納
され、また、第5メモリ20には値x5に対応した指数
関数ax5の第5関数テーブル25が格納されている。
26は第1〜第5メモリ16〜20から取り出された各
指数関数axl〜a x Sを乗算する乗算器であり、
各テーブルから出力された指数関数値の積(ax・a
x 2・a″3・・・・・……)を求める演算手段とし
て機能する。
指数関数axl〜a x Sを乗算する乗算器であり、
各テーブルから出力された指数関数値の積(ax・a
x 2・a″3・・・・・……)を求める演算手段とし
て機能する。
以上のような構成によれば、指数Xを分配してテーブル
をルックアップした後、乗算を行うといった手順で指数
関数axを求めることができる。
をルックアップした後、乗算を行うといった手順で指数
関数axを求めることができる。
したがって、前記級数展開のように加算を含む反復演算
を行う必要がなくなり、演算回数を減少できると共に、
級数の和を途中で打ち切るために発生していた打ち切り
誤差もなくなり、演算精度を向上できる。
を行う必要がなくなり、演算回数を減少できると共に、
級数の和を途中で打ち切るために発生していた打ち切り
誤差もなくなり、演算精度を向上できる。
なお、上記実施例では、指数Xの全ての分配毎に関数テ
ーブルを設けているが、分配の仕方によってはテーブル
を省くことができる。
ーブルを設けているが、分配の仕方によってはテーブル
を省くことができる。
すなわち、MSB側にあっては、1つでもビットが立つ
と乗算器26の乗算結果がオーバーフロー(但しXが負
の場合にはアンダーフロー)となるフィールドがあり、
このフィールド範囲がひとつのビット群となるように分
配すれば、当該ビット群の論理和をとるだけでMSB側
の関数テーブルを不要にできる。また、LSB側にあっ
ては、乗算器26の乗算精度以下の重みを持つビット(
言い替えれば乗算結果に影響しないビット)があり、か
かるピントについては分配の必要がないので、このビッ
トを除く他のビットについて分配すればよい。
と乗算器26の乗算結果がオーバーフロー(但しXが負
の場合にはアンダーフロー)となるフィールドがあり、
このフィールド範囲がひとつのビット群となるように分
配すれば、当該ビット群の論理和をとるだけでMSB側
の関数テーブルを不要にできる。また、LSB側にあっ
ては、乗算器26の乗算精度以下の重みを持つビット(
言い替えれば乗算結果に影響しないビット)があり、か
かるピントについては分配の必要がないので、このビッ
トを除く他のビットについて分配すればよい。
第3図はこうした点を考慮した好ましい他の実施例を示
す図であり、LSB側の数ビットとMSB側の数ピント
を除く残りのピントについて例えば3分配し、各分配毎
に関数テーブル30〜32を設けると共に、MSB側の
数ビットの論理和をとるオアゲート33を設け、オアゲ
ート33からのオーバーフローフラグOVを乗算器34
に与えるようにしている。なお、この例では指数Xが浮
動小数点フォーマットで入力するものとし、浮動小数点
から固定小数点へとフォーマット変換する変換器35を
備えている。
す図であり、LSB側の数ビットとMSB側の数ピント
を除く残りのピントについて例えば3分配し、各分配毎
に関数テーブル30〜32を設けると共に、MSB側の
数ビットの論理和をとるオアゲート33を設け、オアゲ
ート33からのオーバーフローフラグOVを乗算器34
に与えるようにしている。なお、この例では指数Xが浮
動小数点フォーマットで入力するものとし、浮動小数点
から固定小数点へとフォーマット変換する変換器35を
備えている。
本発明によれば、以上のように構成したので、級数展開
のように加算を含む反復演算を行う必要がなくなり、演
算回数を減少できると共に、打ち切り誤差の要因となる
加算を不要にして演算精度を高めることができる。
のように加算を含む反復演算を行う必要がなくなり、演
算回数を減少できると共に、打ち切り誤差の要因となる
加算を不要にして演算精度を高めることができる。
第1図は本発明の原理構成図、
第2.3図は本発明に係る指数関数演算器の一実施例を
示す図であり、 第2図はその構成図、 第3図はその好ましい他の構成図である。 10・・・・・・データレジスタ(分配手段)、11・
・・・・・第1ビット群、 12・・・・・・第2ビット群、 13・・・・・・第3ビ・ノド群、 14・・・・・・第4ビット群、 15・・・・・・第5ピント群、 16・・・・・・第1メモリ、 17・・・・・・第2メモリ、 18・・・・・・第3メモリ、 工9・・・・・・第4メモリ、 20・・・・・・第5メモリ、 21・・・・・・第1関数テーブル(テーブル)、22
・・・・・・第2関数テーブル(テーブル)、23・・
・・・・第3関数テーブル(テーブル)24・・・・・
・第4関数テーブル(テーブル)25・・・・・・第5
関数テーブル(テーブル)26・・・・・・乗算器(演
算手段)。
示す図であり、 第2図はその構成図、 第3図はその好ましい他の構成図である。 10・・・・・・データレジスタ(分配手段)、11・
・・・・・第1ビット群、 12・・・・・・第2ビット群、 13・・・・・・第3ビ・ノド群、 14・・・・・・第4ビット群、 15・・・・・・第5ピント群、 16・・・・・・第1メモリ、 17・・・・・・第2メモリ、 18・・・・・・第3メモリ、 工9・・・・・・第4メモリ、 20・・・・・・第5メモリ、 21・・・・・・第1関数テーブル(テーブル)、22
・・・・・・第2関数テーブル(テーブル)、23・・
・・・・第3関数テーブル(テーブル)24・・・・・
・第4関数テーブル(テーブル)25・・・・・・第5
関数テーブル(テーブル)26・・・・・・乗算器(演
算手段)。
Claims (1)
- 【特許請求の範囲】 指数関数a^xのxの値をn個の数の和(x_1+x_
2+x_3+……)に分配する分配手段と、各分配数を
アドレス入力として分配数毎の指数関数値(a^x^1
、a^x^2、a^x^3、……)を出力するn個のテ
ーブルと、 各テーブルから出力された指数関数値の積(a^x^1
・a^x^2・a^x^3・……)を求める演算手段と
を備えたことを特徴とする指数関数演算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20714990A JPH0492921A (ja) | 1990-08-03 | 1990-08-03 | 指数関数演算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20714990A JPH0492921A (ja) | 1990-08-03 | 1990-08-03 | 指数関数演算器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0492921A true JPH0492921A (ja) | 1992-03-25 |
Family
ID=16535028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20714990A Pending JPH0492921A (ja) | 1990-08-03 | 1990-08-03 | 指数関数演算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0492921A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7399779B2 (en) | 2002-07-08 | 2008-07-15 | Ranbaxy Laboratories Limited | 3,6-disubstituted azabicyclo [3.1.0] hexane derivatives useful as muscarinic receptor antagonists |
JP2009514097A (ja) * | 2005-10-26 | 2009-04-02 | アナログ デバイシーズ インク | 改善されたパイプライン化デジタル信号プロセッサ |
US8285972B2 (en) | 2005-10-26 | 2012-10-09 | Analog Devices, Inc. | Lookup table addressing system and method |
US8301990B2 (en) | 2007-09-27 | 2012-10-30 | Analog Devices, Inc. | Programmable compute unit with internal register and bit FIFO for executing Viterbi code |
JP2018129040A (ja) * | 2017-02-02 | 2018-08-16 | ビバンテ コーポレーション | 数学的関数を計算するためのシステムおよび方法 |
-
1990
- 1990-08-03 JP JP20714990A patent/JPH0492921A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7399779B2 (en) | 2002-07-08 | 2008-07-15 | Ranbaxy Laboratories Limited | 3,6-disubstituted azabicyclo [3.1.0] hexane derivatives useful as muscarinic receptor antagonists |
JP2009514097A (ja) * | 2005-10-26 | 2009-04-02 | アナログ デバイシーズ インク | 改善されたパイプライン化デジタル信号プロセッサ |
US8285972B2 (en) | 2005-10-26 | 2012-10-09 | Analog Devices, Inc. | Lookup table addressing system and method |
US8458445B2 (en) | 2005-10-26 | 2013-06-04 | Analog Devices Inc. | Compute units using local luts to reduce pipeline stalls |
JP2014038640A (ja) * | 2005-10-26 | 2014-02-27 | Analog Devices Inc | 改善されたパイプライン化デジタル信号プロセッサ |
US8301990B2 (en) | 2007-09-27 | 2012-10-30 | Analog Devices, Inc. | Programmable compute unit with internal register and bit FIFO for executing Viterbi code |
JP2018129040A (ja) * | 2017-02-02 | 2018-08-16 | ビバンテ コーポレーション | 数学的関数を計算するためのシステムおよび方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0612229A (ja) | 乗累算回路 | |
KR850004826A (ko) | 도형처리 장치 | |
JPS60229140A (ja) | 倍精度乗算器 | |
GB1585285A (en) | Parallel data processor apparatus | |
JPH04290122A (ja) | 数値表現変換装置 | |
JPH0492921A (ja) | 指数関数演算器 | |
JP4402654B2 (ja) | Simdデータ処理システムにおける結果区分化 | |
JPH02240768A (ja) | 算術要素制御装置 | |
Koljonen et al. | Fast fixed-point bicubic interpolation algorithm on FPGA | |
Ratna et al. | Variable Bitspace of Variable Precision Processor | |
JPH10207694A (ja) | ディジタルべき乗演算装置及びそれを用いたグラフィックスシステム | |
Isupov et al. | Computing the Sparse Matrix-Vector Product in High-Precision Arithmetic for GPU Architectures | |
JP2951685B2 (ja) | 固定小数点演算器 | |
JPH07253874A (ja) | 演算装置 | |
KR102437329B1 (ko) | 행렬곱 연산 장치 및 방법 | |
JP3336986B2 (ja) | 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器 | |
CN117668305A (zh) | 一种查找表实现装置及方法 | |
Leoncini | On the parallel complexity of Gaussian Elimination with Pivoting | |
JP2870018B2 (ja) | 積和演算回路 | |
JPH07210373A (ja) | デジタル極座標変換回路 | |
JPS6168636A (ja) | デ−タ処理装置 | |
Zamanlooy et al. | Robust Analog Arithmetic Based on the Continuous Valued Number System | |
JPH045727A (ja) | 変換装置 | |
JPS6079429A (ja) | 浮動小数点演算器 | |
JPH0269822A (ja) | 浮動小数点演算回路 |