JPS63118936A - 倍精度演算装置 - Google Patents
倍精度演算装置Info
- Publication number
- JPS63118936A JPS63118936A JP26599786A JP26599786A JPS63118936A JP S63118936 A JPS63118936 A JP S63118936A JP 26599786 A JP26599786 A JP 26599786A JP 26599786 A JP26599786 A JP 26599786A JP S63118936 A JPS63118936 A JP S63118936A
- Authority
- JP
- Japan
- Prior art keywords
- reciprocal
- precision
- register
- value
- inverse
- 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
- 238000004364 calculation method Methods 0.000 claims description 10
- CNQCVBJFEGMYDW-UHFFFAOYSA-N lawrencium atom Chemical compound [Lr] CNQCVBJFEGMYDW-UHFFFAOYSA-N 0.000 abstract 1
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は1ワード(以下”単精度”ということばと同じ
意味で用いる)で表わされる値の逆数算出手段(例えば
1o進1桁を1ワードとする場合、%や%)を用いて2
ワード(以下”倍精度”ということばと同じ意味で用い
る)で表わされる値の逆数(例えば1/3.2や1/’
5.4)を短いステップ数で精度良く求める倍精度演算
装置に関するものである。
意味で用いる)で表わされる値の逆数算出手段(例えば
1o進1桁を1ワードとする場合、%や%)を用いて2
ワード(以下”倍精度”ということばと同じ意味で用い
る)で表わされる値の逆数(例えば1/3.2や1/’
5.4)を短いステップ数で精度良く求める倍精度演算
装置に関するものである。
従来の技術
近年、ディジタル信号処理技術の発展によりその技術が
各方面に適応されはじめている。それとともに従来応用
分野が限られていたために使用頻度の少なかった除算に
対し、高速化と高精度化が望まれている。高精度演算の
1方法に、今までの処理装置で倍のデータ幅の数値を扱
う倍精度演算がある。
各方面に適応されはじめている。それとともに従来応用
分野が限られていたために使用頻度の少なかった除算に
対し、高速化と高精度化が望まれている。高精度演算の
1方法に、今までの処理装置で倍のデータ幅の数値を扱
う倍精度演算がある。
除算の一般的な方法として、除数の逆数をテーブルを参
照して求めそれと被除数とを掛けあわせて商を求める方
法がある。倍精度の除算をこの方法で行なう場合、逆数
と被除数との積は4つの部分積を小数点位置をそろえて
足すことにより求めることができるが、逆数テーブルを
単精度の場合の2乗持つ必要がある。よって、効率の良
い逆数算出アルゴリズムが必要とされる。
照して求めそれと被除数とを掛けあわせて商を求める方
法がある。倍精度の除算をこの方法で行なう場合、逆数
と被除数との積は4つの部分積を小数点位置をそろえて
足すことにより求めることができるが、逆数テーブルを
単精度の場合の2乗持つ必要がある。よって、効率の良
い逆数算出アルゴリズムが必要とされる。
従来、倍精度の逆数は加減算とシフトを繰り返して行な
うことにより求めていた。第4図は従来の倍精度演算装
置の構成を示すものであり、これは引き放し法(non
−restoring method )を用いる場合
を例にとっている。1.2は連結してシフトするシフト
レジスタである。最下位から”1.0,0・・・・・・
”がつめられ部分剰余を格納する。3,4は除数を格納
する。3,4は除数を格納するレジスタ、7は算術演算
器である。算術演算器7は、マルチプレクサ6で選択し
た前記シフトレジスタ1又は2の値と、マルチプレクサ
6で選択した前記レジスタ3又は4の値を入力とし、コ
ントロール部11の指定する演算を行ない、前記シフト
レジスタ1又は2に出力する。演算結果の最上位ピッ)
(MSB)はボローフラグ(BF)8に格納され前記コ
ントロール部11に入力されるとともに連結してシフト
するシフトレジスタ9,10の最下位から順次格納され
ていく。
うことにより求めていた。第4図は従来の倍精度演算装
置の構成を示すものであり、これは引き放し法(non
−restoring method )を用いる場合
を例にとっている。1.2は連結してシフトするシフト
レジスタである。最下位から”1.0,0・・・・・・
”がつめられ部分剰余を格納する。3,4は除数を格納
する。3,4は除数を格納するレジスタ、7は算術演算
器である。算術演算器7は、マルチプレクサ6で選択し
た前記シフトレジスタ1又は2の値と、マルチプレクサ
6で選択した前記レジスタ3又は4の値を入力とし、コ
ントロール部11の指定する演算を行ない、前記シフト
レジスタ1又は2に出力する。演算結果の最上位ピッ)
(MSB)はボローフラグ(BF)8に格納され前記コ
ントロール部11に入力されるとともに連結してシフト
するシフトレジスタ9,10の最下位から順次格納され
ていく。
以上のように構成された従来の倍精度演算装置の動作を
以下A1〜A12に説明する。
以下A1〜A12に説明する。
A1 シフトレジスタ1,2にゼロレジスタ3,4に除
数を格納する。
数を格納する。
A2 マルチプレクサ6と6はそれぞれシフトレジスタ
2とレジスタ4を選択して算術演算器7に入力する。
2とレジスタ4を選択して算術演算器7に入力する。
A3 算術演算器7はシフトレジスタ2からレジスタ4
の内容を減算し、その演算結果をシフトレジスタ2に代
入する。そして、その最下位ビットをボローフラグBF
に格納する。
の内容を減算し、その演算結果をシフトレジスタ2に代
入する。そして、その最下位ビットをボローフラグBF
に格納する。
A4 次にマルチプレクサ6と6はそれぞれシフトレジ
スタ1とレジスタ3を選択して算術演算器7に入力する
。
スタ1とレジスタ3を選択して算術演算器7に入力する
。
A6 算術演算器7はシフトレジスタ1からレジスタ3
の内容とA3におきセントしたボローフラグの値を減算
し結果をシフトレジスタ1に格納する。
の内容とA3におきセントしたボローフラグの値を減算
し結果をシフトレジスタ1に格納する。
そしてその最上位ビットをボローフラグBFに格納する
とともに、シフトレジスタ10の最下位に代入する。
とともに、シフトレジスタ10の最下位に代入する。
A6 シフトレジス、り1と2を連結してシフトする。
シフトレジスタ2の最下位から”1,0.0・・・”が
順次格納される。
順次格納される。
A7 シフトレジスタ9と1oを連結してシフトする。
八8 マルチプレクサ6と6はそれぞれシフトレジスタ
2とレジスタ4を選択して算術演算器7に代入する。・ A9 算術演算器7は、A5又はA11でセ、ツトした
ボローフラグが′1”の時は2人力の加算を、”0”の
時は減算を行なってその結果をシフトレジスタ2に格納
する。ボローフラグには演算結果の最下位ビットを格納
する。
2とレジスタ4を選択して算術演算器7に代入する。・ A9 算術演算器7は、A5又はA11でセ、ツトした
ボローフラグが′1”の時は2人力の加算を、”0”の
時は減算を行なってその結果をシフトレジスタ2に格納
する。ボローフラグには演算結果の最下位ビットを格納
する。
A10次にマルチプレクサ6と6はそれぞれシフトレジ
スタ1とレジスタ3を選択して算術演算器7に入力する
。
スタ1とレジスタ3を選択して算術演算器7に入力する
。
A11 算術演算器7はA5又はA11でセットした
ボローフラグが1”の時は2人力値とA9でセットした
ボローフラグの加算を行ない、”o”の時は2人力値の
減算結果からさらにA9でセットしたボローフラグの値
を減算してシフトレジスタ1に格納する。演算結果の最
上位ビットはボローフラグに格納されるとともにシフト
レジスタ1゜の最下位に代入される。
ボローフラグが1”の時は2人力値とA9でセットした
ボローフラグの加算を行ない、”o”の時は2人力値の
減算結果からさらにA9でセットしたボローフラグの値
を減算してシフトレジスタ1に格納する。演算結果の最
上位ビットはボローフラグに格納されるとともにシフト
レジスタ1゜の最下位に代入される。
Al1 16の動作に戻る。八〇〜AI2を倍精度のピ
ット数だけ(たとえば1ワードを8ピントとした時は1
6回)繰り返したあと逆数算出の処理は終了する。シフ
トレジスタ9,1oに除数の逆数が格納されている。
ット数だけ(たとえば1ワードを8ピントとした時は1
6回)繰り返したあと逆数算出の処理は終了する。シフ
トレジスタ9,1oに除数の逆数が格納されている。
発明が解決しようとする問題点
しかしながら上記のような構成では逆数を1ビツトづつ
求めていくため、倍精度の逆数算出に処理時間がかかり
、その上、処理には倍精度の加減算が必要でありしたが
って制御が非常に複雑になってしまう。上述の実施例の
他にも倍精度値の逆数を全部もつという方法もあるが、
単精度値の逆数テーブルの2乗のサイズが必要である。
求めていくため、倍精度の逆数算出に処理時間がかかり
、その上、処理には倍精度の加減算が必要でありしたが
って制御が非常に複雑になってしまう。上述の実施例の
他にも倍精度値の逆数を全部もつという方法もあるが、
単精度値の逆数テーブルの2乗のサイズが必要である。
本発明はかかる点に鑑み、単精度値の逆数を算出する手
段を持ち、それを用いて倍精度値の逆数を短い処理時間
で精度良く求める倍精度演算装置を提供することを目的
とする。
段を持ち、それを用いて倍精度値の逆数を短い処理時間
で精度良く求める倍精度演算装置を提供することを目的
とする。
問題点を解決するだめの手段
本発明は、単精度値の逆数を求める逆数算出手段と、前
記逆数算出手段に接続した乗算器と、前記乗算器に直列
に接続するシフタと、算術演算器と、演算結果を格納す
る2ワードのレジスタとを備えた倍精度演算装置である
。
記逆数算出手段に接続した乗算器と、前記乗算器に直列
に接続するシフタと、算術演算器と、演算結果を格納す
る2ワードのレジスタとを備えた倍精度演算装置である
。
作 用
AとBを単精度の値とし、A+B・2−0の逆数を求め
る場合について説明する。
る場合について説明する。
f(x)=−とし、f(A+B−2−C)をテーラ−展
開する((1)式)。
開する((1)式)。
f(A+B−2−〇)=f(A)+f’(A)−B−2
−’+ −f’(AJ−B2−2−”+、−,,・=、
z。(−K)n+1 Bn、(2−C)n(−1)n
、、<1)今、説明を簡単にするため2項だけをとり、
これをA+B・2−0の逆数の近似値とする((2)式
)。
−’+ −f’(AJ−B2−2−”+、−,,・=、
z。(−K)n+1 Bn、(2−C)n(−1)n
、、<1)今、説明を簡単にするため2項だけをとり、
これをA+B・2−0の逆数の近似値とする((2)式
)。
1/(A+B・2−’) #−−(−)2・B・2−C
・・・・・・(に)A Aは単精度の値なので上記逆数算出手段におき1/A
の値を得ることができる。あとは乗算とシフトと減算
で(2)式の右辺が算出できる。
・・・・・・(に)A Aは単精度の値なので上記逆数算出手段におき1/A
の値を得ることができる。あとは乗算とシフトと減算
で(2)式の右辺が算出できる。
実施例
第1図は本発明の一実施例の構成を示す図であり、1ワ
ードを8ピントとしている。106は8ビツト幅のデー
タバス、1oOは単精度値の逆数を格納する逆数テーブ
ルである。逆数テーブルには1ワードが8ピントである
ことより28ワードの逆数が格納されている。1o1は
8ピノ) X 8ビツトの乗算を行ない16ビツトの積
を出力する乗算器、102は乗算結果を指定ピントシフ
トし、8ビツトの値を出力するシフタ、103はシフタ
102の出力値とバスからの値を入力として算術演算を
行なう算術演算器、104,105は前記算術演算器1
03の出力値を格納するレジスタである。
ードを8ピントとしている。106は8ビツト幅のデー
タバス、1oOは単精度値の逆数を格納する逆数テーブ
ルである。逆数テーブルには1ワードが8ピントである
ことより28ワードの逆数が格納されている。1o1は
8ピノ) X 8ビツトの乗算を行ない16ビツトの積
を出力する乗算器、102は乗算結果を指定ピントシフ
トし、8ビツトの値を出力するシフタ、103はシフタ
102の出力値とバスからの値を入力として算術演算を
行なう算術演算器、104,105は前記算術演算器1
03の出力値を格納するレジスタである。
以上の構成をもつ装置において、倍精度の逆数を求める
方法を以下に示す。
方法を以下に示す。
AとBを単精度の値とし、A+B・2−Cの逆数を求め
る場合について説明する。f(I)ニーとし、f(A+
B・2−0)をテーラ−展開すると、第2式の近似式を
得る。
る場合について説明する。f(I)ニーとし、f(A+
B・2−0)をテーラ−展開すると、第2式の近似式を
得る。
Aは単精度の値なので、1/Aは逆数テーブルを参照す
ることにより求められる。前記乗算器101で(−)2
・B を計算し、これを前記シフタ1o2でCビット右
にシフトし、算術演算器103で1/A より減算す
ると、(2)式の右辺が得られる。
ることにより求められる。前記乗算器101で(−)2
・B を計算し、これを前記シフタ1o2でCビット右
にシフトし、算術演算器103で1/A より減算す
ると、(2)式の右辺が得られる。
上記のアルゴリズムをさらに具体的な数値で〈 ”
わしく説明する。
わしく説明する。
2ワードの値43.21=43+21X(2) (16
進表現の43と21はそれぞれ8ビツト1ワードの値で
ある)の逆数を求める場合について説明する。
進表現の43と21はそれぞれ8ビツト1ワードの値で
ある)の逆数を求める場合について説明する。
(2)式の近似式に数値を代入する((′4式)。
1 /43 、21 # 1/43−(1/43 )2
・21・2−8・・・・・欄(3)式を求める手順を第
2図に示す。
・21・2−8・・・・・欄(3)式を求める手順を第
2図に示す。
B11/43を逆数テーブルを参照することにより求め
、レジスタAに格納する。
、レジスタAに格納する。
B2 レジスタAに格納されている1/43を乗算器1
01の両側入力に代入する。シフタ102は演算結果の
ピット位をあわせて(1/43)2をレジスタBに格納
する。
01の両側入力に代入する。シフタ102は演算結果の
ピット位をあわせて(1/43)2をレジスタBに格納
する。
B3 レジスタBに格納されている(1/43)と21
を掛けあわせる。さらにシフタで乗算結果の整数部(つ
まり(1/43)2・21・2−8の演算で小数点以下
8ビツトより上の数値) をレジスタAから減算する。
を掛けあわせる。さらにシフタで乗算結果の整数部(つ
まり(1/43)2・21・2−8の演算で小数点以下
8ビツトより上の数値) をレジスタAから減算する。
これが1743.21 の上位8ビツトの値となる。
84 B3と同じ乗算の結果をシフタでその小数部(
つまり(1/43)2・21・2−8の演算で小数点以
下8ビツトより下の数値)を求める。算術演算器はこれ
の2の補数を算出し、レジスタ2に出力する。
つまり(1/43)2・21・2−8の演算で小数点以
下8ビツトより下の数値)を求める。算術演算器はこれ
の2の補数を算出し、レジスタ2に出力する。
これが1/43.21 の下位8ピントの値となる。
第3図はB1〜B4の手順の内容を小数点をあわせて示
した図である。図におき、逆数の上位8ピントを求めた
のが第2図のB3の手順である。又、逆数の下位8ビツ
トを求めたのが、第2図のB4の手順である。
した図である。図におき、逆数の上位8ピントを求めた
のが第2図のB3の手順である。又、逆数の下位8ビツ
トを求めたのが、第2図のB4の手順である。
以上のように本発明の倍精度演算装置を用いると、短い
ステップ数で倍精度値の逆数を簡単に求められる。
ステップ数で倍精度値の逆数を簡単に求められる。
なお、上述の実施例につけ加え次の4点の事柄は明白で
ちる。
ちる。
C1説明を簡単にするためテーラ−展開の2項までしか
求めなかったが、精度を更に求められる場合は(1)式
を参考にして項数を増やしていけばよい。
求めなかったが、精度を更に求められる場合は(1)式
を参考にして項数を増やしていけばよい。
C2単精度値の逆数をテーブルから求めたが、計算によ
ってこれを求める何らかの単精度値の逆数算出手段をこ
れに置きかえてもよい。
ってこれを求める何らかの単精度値の逆数算出手段をこ
れに置きかえてもよい。
C3単精度値の逆数を前記の説明中では単精度8ビツト
で持っていたがこれを2ワード16ビツトで持っていて
、倍精度の乗算、加減算を行なってもよい。
で持っていたがこれを2ワード16ビツトで持っていて
、倍精度の乗算、加減算を行なってもよい。
C4前記説明では1ワードを8ビツトとしていたがこの
倍精度演算装置が1ワード何ビツトであってても適応で
きることは言うまでもない。
倍精度演算装置が1ワード何ビツトであってても適応で
きることは言うまでもない。
発明の効果
以上述べたように本発明によれば、短いステップ数で所
望の精度をもった倍精度値の逆数を求めることができる
。特に(1)式から分かるとおりテーラ−展開の各項が
漸化的に求められることから計算手順が非常に単純にな
っている。又、乗算器。
望の精度をもった倍精度値の逆数を求めることができる
。特に(1)式から分かるとおりテーラ−展開の各項が
漸化的に求められることから計算手順が非常に単純にな
っている。又、乗算器。
シフタ、算術演算器、レジスタといったイ/スツルメン
トは近年多く発表されているディジタル信号処理プロセ
ッサ(DSP)に必ず内蔵されているものである。よっ
て現存するDSPにこの機能を付加することは非常にた
やすくかつ効果的である。
トは近年多く発表されているディジタル信号処理プロセ
ッサ(DSP)に必ず内蔵されているものである。よっ
て現存するDSPにこの機能を付加することは非常にた
やすくかつ効果的である。
第1図は本発明の一実施例における倍精度演算装置の構
成図、第2図、第3図は本発明の実施例の動作説明図、
第4図は従来の倍精度演算装置の構成図である。 1.2,9.10・・・・・・シフトレジスタ、3,4
゜104.105・・・・・・レジスタ、6,6・・・
・・・マルチプレクサ、7,103・・・・・・算術演
算器、8・・・・・・ボローフラグ、11・・・・・・
コントロール部、100・・・・・・逆数テーブル、1
01・・・・・・乗算器、102・・・・・・シフタ。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第2
図
成図、第2図、第3図は本発明の実施例の動作説明図、
第4図は従来の倍精度演算装置の構成図である。 1.2,9.10・・・・・・シフトレジスタ、3,4
゜104.105・・・・・・レジスタ、6,6・・・
・・・マルチプレクサ、7,103・・・・・・算術演
算器、8・・・・・・ボローフラグ、11・・・・・・
コントロール部、100・・・・・・逆数テーブル、1
01・・・・・・乗算器、102・・・・・・シフタ。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第2
図
Claims (1)
- 単精度値の逆数を求める逆数算出手段と、前記逆数算出
手段に接続した乗算器と、前記乗算器に直列に接続する
シフタと、算術演算器と、演算結果を格納する2ワード
のレジスタとを備え、倍精度値の逆数をテーラー展開に
よる計算値で近似する倍精度演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26599786A JPS63118936A (ja) | 1986-11-07 | 1986-11-07 | 倍精度演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26599786A JPS63118936A (ja) | 1986-11-07 | 1986-11-07 | 倍精度演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63118936A true JPS63118936A (ja) | 1988-05-23 |
Family
ID=17424931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26599786A Pending JPS63118936A (ja) | 1986-11-07 | 1986-11-07 | 倍精度演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63118936A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01265327A (ja) * | 1988-04-18 | 1989-10-23 | Nec Corp | 逆数演算装置 |
EP0484629A2 (en) * | 1990-11-09 | 1992-05-13 | Hewlett-Packard Company | Frequency measurement from a constant number of events with a fast inverse circuit |
-
1986
- 1986-11-07 JP JP26599786A patent/JPS63118936A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01265327A (ja) * | 1988-04-18 | 1989-10-23 | Nec Corp | 逆数演算装置 |
EP0484629A2 (en) * | 1990-11-09 | 1992-05-13 | Hewlett-Packard Company | Frequency measurement from a constant number of events with a fast inverse circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0149248B1 (en) | Method and apparatus for division using interpolation approximation | |
JPH0612229A (ja) | 乗累算回路 | |
JPH01125626A (ja) | 逆数計算方法 | |
JPH03204720A (ja) | 初等関数演算装置 | |
JPH03171324A (ja) | オペランドの平方根を計算する回路及び方法 | |
JPS63118936A (ja) | 倍精度演算装置 | |
JPS5939774B2 (ja) | 指数関数の演算方式 | |
JP2508286B2 (ja) | 平方根演算装置 | |
JPH0831024B2 (ja) | 演算プロセッサ | |
JPH06105421B2 (ja) | 逆三角関数演算装置 | |
Jain et al. | Realization of regula-falsi iteration based double precision floating point division | |
JPH0585924B2 (ja) | ||
JPS62147526A (ja) | 乗算器 | |
JPH0769785B2 (ja) | 除算装置 | |
JPH0371331A (ja) | 乗算器 | |
JPH07120273B2 (ja) | 除算装置 | |
JPH04314126A (ja) | 逆数発生装置 | |
JPS63254525A (ja) | 除算装置 | |
JPH01130225A (ja) | 三角関数演算装置 | |
JPH0784762A (ja) | 乗算回路 | |
Jhunjhunwala et al. | Computer implementation of the Straight division algorithm | |
JPH02154530A (ja) | 2進数への変換方法 | |
SU748409A1 (ru) | Устройство дл умножени двоично- дес тичных чисел | |
JPS6365524A (ja) | 有理数演算装置 | |
JPH0833815B2 (ja) | 高桁乗算装置 |