JPS5939773B2 - 対数関数の演算方式 - Google Patents
対数関数の演算方式Info
- Publication number
- JPS5939773B2 JPS5939773B2 JP976577A JP976577A JPS5939773B2 JP S5939773 B2 JPS5939773 B2 JP S5939773B2 JP 976577 A JP976577 A JP 976577A JP 976577 A JP976577 A JP 976577A JP S5939773 B2 JPS5939773 B2 JP S5939773B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- storage means
- instruction
- calculation
- logarithmic
- 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.)
- Expired
Links
- 238000004364 calculation method Methods 0.000 title claims description 18
- 230000006870 function Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 description 4
- 101100524639 Toxoplasma gondii ROM3 gene Proteins 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001343 mnemonic effect Effects 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
本発明は計算機の対数関数の演算方式に関し、特に任意
正数xに対する10を底とする対数関数kg10Xを演
算する方式に関するものである従来、10を底とする対
数関数log1oXを演算する方式として代表的なもの
に、例えばln(1+Y)=Y−Y2/ 2+Y3/
3 +・・・・・・+(−1)n−IYn/n +・・
・・・・ (1)ただし、0≦Y<1で表わされる近似
式を用いてまず自然対数lnXを求め、しかる後にその
結果を1n10=2.30258509・・・・・・で
除算し、その商をlog1oXの関数値とするものがあ
る。
正数xに対する10を底とする対数関数kg10Xを演
算する方式に関するものである従来、10を底とする対
数関数log1oXを演算する方式として代表的なもの
に、例えばln(1+Y)=Y−Y2/ 2+Y3/
3 +・・・・・・+(−1)n−IYn/n +・・
・・・・ (1)ただし、0≦Y<1で表わされる近似
式を用いてまず自然対数lnXを求め、しかる後にその
結果を1n10=2.30258509・・・・・・で
除算し、その商をlog1oXの関数値とするものがあ
る。
しかしながら、この方式によると(1)式を適用するに
あたつては、0≦Y<1の制限があり、このため種々の
前処理を必要とするという欠点があつた。本発明の目的
は従来の方式に比べて前処理のみならず全体的な処理が
少なくしかも簡単で従つて演算速度も速い対数関数の演
算方式を提供することにある。
あたつては、0≦Y<1の制限があり、このため種々の
前処理を必要とするという欠点があつた。本発明の目的
は従来の方式に比べて前処理のみならず全体的な処理が
少なくしかも簡単で従つて演算速度も速い対数関数の演
算方式を提供することにある。
本発明の別の目的は高精度の演算結果が得られる対数関
数の演算方式を提供することにある。
数の演算方式を提供することにある。
通常、対数関数等を含む科学技術計算を取り扱う計算機
における内部データは正規化された固定d−B5l点表
示された構造を有する。これを数式により表現すれば、
x=x×10N(2) ただし、】≦1x1<10、、N=整数 となる。
における内部データは正規化された固定d−B5l点表
示された構造を有する。これを数式により表現すれば、
x=x×10N(2) ただし、】≦1x1<10、、N=整数 となる。
(1式においてxが仮数部でありNが指数部である。す
なわち、内部データは仮数部xと指数部Nとを独立して
持つている。本発明はこのデータ構造に着目し入力され
る真数データの仮数部と指数部とに別処理を施して対数
関数値を得ようとするものである。
なわち、内部データは仮数部xと指数部Nとを独立して
持つている。本発明はこのデータ構造に着目し入力され
る真数データの仮数部と指数部とに別処理を施して対数
関数値を得ようとするものである。
入力される真数値X&刻時式で表わされる。
(2)式において真数X>0であるので、x>0である
。(2)式の両辺の対数をとると、が成立する。
。(2)式の両辺の対数をとると、が成立する。
右辺のNは(2)式の指数部Nであり、整数値である。
一方、1Cg10Xの項は1≦o〈10であるので1〉
1Cg10X≧0すなわち小数値であることがわかる。
すなわち、被演算数Xの指数部Nをそのまま演算結果の
整数部とすべく処理し、他方被演算数Xの仮数部xにつ
いての対数値を求めてこれを演算結果の小数部とすべく
処理することによつて、被演算数Xに対する対数関数値
を容易に求めることができる。
一方、1Cg10Xの項は1≦o〈10であるので1〉
1Cg10X≧0すなわち小数値であることがわかる。
すなわち、被演算数Xの指数部Nをそのまま演算結果の
整数部とすべく処理し、他方被演算数Xの仮数部xにつ
いての対数値を求めてこれを演算結果の小数部とすべく
処理することによつて、被演算数Xに対する対数関数値
を容易に求めることができる。
しかも仮数部Xは1≦x〈10であるので、例えばHa
stingsの近似公式(Hastings著、竹内均
訳、東京図書1973年発行の『電子計算機のための近
似計算法』の129頁から131頁参照)を用いれば、
わずかの処理のみで1(GlOXが求まる。
stingsの近似公式(Hastings著、竹内均
訳、東京図書1973年発行の『電子計算機のための近
似計算法』の129頁から131頁参照)を用いれば、
わずかの処理のみで1(GlOXが求まる。
次に図面を用いて本発明の一実施例を説明する。
第1図は本発明を実施するためのハードウエアを示した
ものである。図において、1aと1bとを含む部分は最
終的に演算結果が格納される循環保持型のZレジスタ、
2は循環保持型のwレジスタである。Zレジスタは通常
はデータ線C,bを通じて保持されているが、右シフト
命令が発生すると最下位桁(4ビツト)1bを除いたデ
ータパスA,bが開き一桁右シフトを行う。3は真数X
として入力される数値の仮数部と指数部とを別処理する
命令が格納されている読み出し専用メモリ(以下ROM
と称す)、4はROM3の番地を逐次指定するアドレス
レジスタ(以下ARと称す)、5はROM3の出力を解
読する命令デコーダ(以下1Dと称す)、G1〜G5は
ID5の出力Inst.により開閉するゲート、6はZ
レジスタあるいはwレジスタの処理すべき桁を指定する
タイミングを発生するタイミング発生器、7はwレジス
タの内容に゛1゛を10進加算するための加算回路、8
はZレジスタの内容が1t01であるかどうかを判断じ
O゛であればその出力でAR4を修飾する判定回路であ
る。
ものである。図において、1aと1bとを含む部分は最
終的に演算結果が格納される循環保持型のZレジスタ、
2は循環保持型のwレジスタである。Zレジスタは通常
はデータ線C,bを通じて保持されているが、右シフト
命令が発生すると最下位桁(4ビツト)1bを除いたデ
ータパスA,bが開き一桁右シフトを行う。3は真数X
として入力される数値の仮数部と指数部とを別処理する
命令が格納されている読み出し専用メモリ(以下ROM
と称す)、4はROM3の番地を逐次指定するアドレス
レジスタ(以下ARと称す)、5はROM3の出力を解
読する命令デコーダ(以下1Dと称す)、G1〜G5は
ID5の出力Inst.により開閉するゲート、6はZ
レジスタあるいはwレジスタの処理すべき桁を指定する
タイミングを発生するタイミング発生器、7はwレジス
タの内容に゛1゛を10進加算するための加算回路、8
はZレジスタの内容が1t01であるかどうかを判断じ
O゛であればその出力でAR4を修飾する判定回路であ
る。
9はZレジスタの内容を左シフトするための1桁分(4
ビット)のレジスタ、10はwレジスタの内容を左シフ
トするための1桁分(4ビツト)のレジスタで、左シフ
ト命令が発生すると一桁分余計に循環するためレジスタ
1あるいは2は左シフトされる。
ビット)のレジスタ、10はwレジスタの内容を左シフ
トするための1桁分(4ビツト)のレジスタで、左シフ
ト命令が発生すると一桁分余計に循環するためレジスタ
1あるいは2は左シフトされる。
11は10を底とする対数値を演算するための対数演算
器である。
器である。
Zレジスタ1a,1b.Wレジスタ2はそれぞれ第3図
1の如くD1〜D8の8桁(32ビツ(へ)より構成さ
れ、このうちD1〜D6が仮数データ格納部(それぞれ
二ーモニツクZM,WMで表わす)またD7,D8が指
数データ格納部(それぞれ二ーモニツクZE,WEで表
わす)である。
1の如くD1〜D8の8桁(32ビツ(へ)より構成さ
れ、このうちD1〜D6が仮数データ格納部(それぞれ
二ーモニツクZM,WMで表わす)またD7,D8が指
数データ格納部(それぞれ二ーモニツクZE,WEで表
わす)である。
第3図1に示すごとく、データの固定小数点位置をD6
として、wレジスタに0.Zレジスタに2X1012の
データが初期値として格納されている。この初期状態よ
り第2図に示したフローチヤートに従つて10g10(
2X1012)を求めよう。以下、第2図のステツプ1
から順に説明する。(ステツプ1) Zレジスタの仮数
データをwレジスタに転送するためZM+WMの命令が
出される。
として、wレジスタに0.Zレジスタに2X1012の
データが初期値として格納されている。この初期状態よ
り第2図に示したフローチヤートに従つて10g10(
2X1012)を求めよう。以下、第2図のステツプ1
から順に説明する。(ステツプ1) Zレジスタの仮数
データをwレジスタに転送するためZM+WMの命令が
出される。
ROM3の出力はID5で解読される。ID5はその出
力によつてタイミング発生器6にD,〜D6に相当する
タイミングを発生させると同時にゲートG3およびG4
を開かせる。従つてZMの内容は信号線eを通じてwレ
ジスタ2のWMに転送される。第3図2はこのステツプ
1の命令が実行された後の各レジスタの内容を表わしw
レジスタには2X10レが格納されていることになる。
(ステツプ2) 10g10W+Wなる命令が出される
。すなわち、wレジスタ2の内容を入力とする対数演算
を行うとともにこの演算結果を再びWレジスタに格納す
る。このステツプにおけるデータの流れは、2→G5→
k→11→n→G4→2である。第3図3はこのステツ
プ2の命令が実行された後の各レジスタの内容を表わし
、データの小数点がD6に固定されているのでWレジス
タには10g102−0.30103が格納されている
ことになる。(ステツプ3) Wの仮数部を再びZへ移
すためWM−+ZMなる命令を実行する。
力によつてタイミング発生器6にD,〜D6に相当する
タイミングを発生させると同時にゲートG3およびG4
を開かせる。従つてZMの内容は信号線eを通じてwレ
ジスタ2のWMに転送される。第3図2はこのステツプ
1の命令が実行された後の各レジスタの内容を表わしw
レジスタには2X10レが格納されていることになる。
(ステツプ2) 10g10W+Wなる命令が出される
。すなわち、wレジスタ2の内容を入力とする対数演算
を行うとともにこの演算結果を再びWレジスタに格納す
る。このステツプにおけるデータの流れは、2→G5→
k→11→n→G4→2である。第3図3はこのステツ
プ2の命令が実行された後の各レジスタの内容を表わし
、データの小数点がD6に固定されているのでWレジス
タには10g102−0.30103が格納されている
ことになる。(ステツプ3) Wの仮数部を再びZへ移
すためWM−+ZMなる命令を実行する。
このステツプにおけるデータの流れは、2→G5→j+
G1→1である。第3図4にこのステツプ3の命令が実
行された後の各レジスタの内容を示す。(ステツプ4)
ZE=0?という判定命令が出される。
G1→1である。第3図4にこのステツプ3の命令が実
行された後の各レジスタの内容を示す。(ステツプ4)
ZE=0?という判定命令が出される。
ZEの内容がO、すなわち整数部が存在しない場合、こ
れで演算は終了である。Oでない場合と区別するために
、判定回路8によつてZEの内容がOであるかを判定す
る。この時のデータの流れは、1→G3→d→8である
。Oであると判定回路8よりhを通じアドレスレジスタ
4を修飾し演算終了ルーチンヘアドレスを設定する。(
ステツプ5) ZM−+LSなる命令が出される。ZE
の内容がOでない場合整数部が存在するため、Zレジス
タの仮数部すなわち小数部データとZEの内容を結びつ
けるためにZMを1桁左シフトする。このステツプにお
けるデータの流れは、1→G3→f→9→g→G1→1
である。第3図4が左シフト前、第3図5がシフト後の
レジスタの内容である。(ステツプ6) ZD8=0?
という判定命令が出される。
れで演算は終了である。Oでない場合と区別するために
、判定回路8によつてZEの内容がOであるかを判定す
る。この時のデータの流れは、1→G3→d→8である
。Oであると判定回路8よりhを通じアドレスレジスタ
4を修飾し演算終了ルーチンヘアドレスを設定する。(
ステツプ5) ZM−+LSなる命令が出される。ZE
の内容がOでない場合整数部が存在するため、Zレジス
タの仮数部すなわち小数部データとZEの内容を結びつ
けるためにZMを1桁左シフトする。このステツプにお
けるデータの流れは、1→G3→f→9→g→G1→1
である。第3図4が左シフト前、第3図5がシフト後の
レジスタの内容である。(ステツプ6) ZD8=0?
という判定命令が出される。
ZE..の内容が演算結果の整数部であるため、正規化
するためにZEの内容をZMとともに右シフトし仮数部
へ移す必要がある。この場合、ZEが2桁ならば2桁、
1桁(ZD8=0)ならば1桁の右シフトが必要であり
、その区別をつけるためZD8=Oの判定をしOならば
ステツプ9ヘアドレスを移す。(ステツプ7および8)
Z→RSなる命令によりzを右シフトする。
するためにZEの内容をZMとともに右シフトし仮数部
へ移す必要がある。この場合、ZEが2桁ならば2桁、
1桁(ZD8=0)ならば1桁の右シフトが必要であり
、その区別をつけるためZD8=Oの判定をしOならば
ステツプ9ヘアドレスを移す。(ステツプ7および8)
Z→RSなる命令によりzを右シフトする。
このときのデータの流れは、1a−+G2→a→b→G
1→1aである。同時にWE+14WE.なる命令によ
りシフト回数をWEに記憶するためにWEに゛1゛を加
算する。このときのデータの流れは、2→G5→sぅ7
ぅT4G4→2であり、第3図6がその結果である。こ
のステツプ7、8はZD8=0の時は実行されない。(
ステツプ9) ステツブ7と同じ動作をする。
1→1aである。同時にWE+14WE.なる命令によ
りシフト回数をWEに記憶するためにWEに゛1゛を加
算する。このときのデータの流れは、2→G5→sぅ7
ぅT4G4→2であり、第3図6がその結果である。こ
のステツプ7、8はZD8=0の時は実行されない。(
ステツプ9) ステツブ7と同じ動作をする。
第3図7がその結果を表わし、Zレジスタには1.23
010、WEにはその指数部01が格納されている。(
ステツプ10) WE→ZEなる命令が出される。
010、WEにはその指数部01が格納されている。(
ステツプ10) WE→ZEなる命令が出される。
WEに格納されているデータをZEに転送し、Zレジス
タに10g10(2X1012)の演算結果として1.
23010X1001が格納される。この状態を第3図
8に示す。以上の説明から明らかなように、本発明によ
れば前処理のみならず全体的な処理が従来方式に比べて
極めて少なくかつ簡単で従つて演算速度も速いという効
果を有する。
タに10g10(2X1012)の演算結果として1.
23010X1001が格納される。この状態を第3図
8に示す。以上の説明から明らかなように、本発明によ
れば前処理のみならず全体的な処理が従来方式に比べて
極めて少なくかつ簡単で従つて演算速度も速いという効
果を有する。
第1図は本発明を実施するためのハードウエアの一例を
示したプロツク図、第2図は本発明の演算方式のフロー
チヤートを示した図、第3図1〜8は第2図のフローチ
ヤートの8時点におけるZレジスタおよびWレジスタの
内容を示した図である。 1aおよび1b・・・・・・最終的に演算結果が格納さ
れるZレジスタ、2・・・・・・Wレジスタ、3・・・
・・・真数Xとして入力される数値の仮数部と指数部と
を別処理する命令が格納されている読み出し専用メモリ
(ROM)、4・・・・・・アドレスレジスタ(AR)
、5・・・・・倫令デコーダ(ID)、6・・・・・・
タイミング発生器、7・・・・・・Wレジスタの内容に
゛1゛を加算するための加算回路、8・・・・・・判定
回路、9および10・・・・・・左シフト用の一桁分(
4ビツト)のレジスタ、11・・・・・・10を底とす
る対数値を演算するための対熱演算器、G1〜G5・・
・・・・ゲート。
示したプロツク図、第2図は本発明の演算方式のフロー
チヤートを示した図、第3図1〜8は第2図のフローチ
ヤートの8時点におけるZレジスタおよびWレジスタの
内容を示した図である。 1aおよび1b・・・・・・最終的に演算結果が格納さ
れるZレジスタ、2・・・・・・Wレジスタ、3・・・
・・・真数Xとして入力される数値の仮数部と指数部と
を別処理する命令が格納されている読み出し専用メモリ
(ROM)、4・・・・・・アドレスレジスタ(AR)
、5・・・・・倫令デコーダ(ID)、6・・・・・・
タイミング発生器、7・・・・・・Wレジスタの内容に
゛1゛を加算するための加算回路、8・・・・・・判定
回路、9および10・・・・・・左シフト用の一桁分(
4ビツト)のレジスタ、11・・・・・・10を底とす
る対数値を演算するための対熱演算器、G1〜G5・・
・・・・ゲート。
Claims (1)
- 1 任意正数Xを真数とし10を底としてlog_1_
0Xと表わされる対数関数の演算方式において、演算結
果を格納するための演算結果格納手段と、10を底とす
る対数値を演算するための演算手段と、上記真数として
入力される数値の仮数部と指数部とを別処理する命令が
格納されている命令格納手段とを備え、上記命令格納手
段の命令により、上記仮数部に対しては上記演算手段に
対数値を演算させ該対数値を上記演算結果の小数部とし
て上記演算結果格納手段に格納させるが、上記指数部に
対しては上記演算手段に演算を行なわせることなく上記
演算結果の整数部として上記演算結果格納手段に格納さ
せるようにしたことを特徴とする対数関数の演算方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP976577A JPS5939773B2 (ja) | 1977-02-02 | 1977-02-02 | 対数関数の演算方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP976577A JPS5939773B2 (ja) | 1977-02-02 | 1977-02-02 | 対数関数の演算方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5395542A JPS5395542A (en) | 1978-08-21 |
| JPS5939773B2 true JPS5939773B2 (ja) | 1984-09-26 |
Family
ID=11729355
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP976577A Expired JPS5939773B2 (ja) | 1977-02-02 | 1977-02-02 | 対数関数の演算方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5939773B2 (ja) |
-
1977
- 1977-02-02 JP JP976577A patent/JPS5939773B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5395542A (en) | 1978-08-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH05250146A (ja) | 整数累乗処理を行なうための回路及び方法 | |
| JP3723115B2 (ja) | 単一命令多重データ処理 | |
| JPS5939773B2 (ja) | 対数関数の演算方式 | |
| JPH0585924B2 (ja) | ||
| JP4728392B2 (ja) | 大数乗算方法およびデバイス | |
| JPS63111535A (ja) | デ−タ処理装置 | |
| JP3336986B2 (ja) | 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器 | |
| JPS6029409B2 (ja) | 三角関数計算装置 | |
| JP2972326B2 (ja) | 平方根計算装置 | |
| JP2705162B2 (ja) | 演算処理装置 | |
| JPS6259828B2 (ja) | ||
| JPH03240144A (ja) | 可変長データメモリインタフェース回路 | |
| JPH0721760B2 (ja) | ディジタル演算回路 | |
| JP2605792B2 (ja) | 演算処理装置 | |
| JP2778478B2 (ja) | 相関演算プロセッサ | |
| JPS5944656B2 (ja) | デイジタル微分解析機の積分方式 | |
| JP3074910B2 (ja) | 除算装置 | |
| JP2624738B2 (ja) | 丸め処理方式 | |
| JP3088956B2 (ja) | 演算装置 | |
| JPS63254525A (ja) | 除算装置 | |
| JP3523407B2 (ja) | 情報処理装置 | |
| JPH02181821A (ja) | 演算装置 | |
| JPH0215089B2 (ja) | ||
| JPS59161730A (ja) | パイプライン演算器 | |
| JPH02242426A (ja) | ディジタル・シグナル・プロセッサの除算方式 |