JPH0769787B2 - 逆数演算装置 - Google Patents
逆数演算装置Info
- Publication number
- JPH0769787B2 JPH0769787B2 JP63094787A JP9478788A JPH0769787B2 JP H0769787 B2 JPH0769787 B2 JP H0769787B2 JP 63094787 A JP63094787 A JP 63094787A JP 9478788 A JP9478788 A JP 9478788A JP H0769787 B2 JPH0769787 B2 JP H0769787B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- reciprocal
- bits
- bit
- register
- 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 - Lifetime
Links
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、計算機において除算等を行う際に必要となる
逆数を短時間で演算することができる逆数演算装置に関
する。
逆数を短時間で演算することができる逆数演算装置に関
する。
[従来の技術] 逆数の演算は、除算器を持たない計算機において、除算
を実現するために是非とも備える必要がある機能の一つ
である。
を実現するために是非とも備える必要がある機能の一つ
である。
従来、一般的に除算は引離し法又は引戻し法等によって
行われている。しかし、この方式は、n桁の商を得るた
めに演算をn回繰り返す必要があるため、演算時間が長
くなるという欠点がある。
行われている。しかし、この方式は、n桁の商を得るた
めに演算をn回繰り返す必要があるため、演算時間が長
くなるという欠点がある。
このため、高速の乗算器を備えた計算機では、Newton法
を使用した逐次近似によって除数の逆数を求め、これを
被除数と乗算する方式で除算を行うことが多い。以下
に、Newton法を使用して逐次近似で除数aの逆数1/aを
算出する手法について説明する。
を使用した逐次近似によって除数の逆数を求め、これを
被除数と乗算する方式で除算を行うことが多い。以下
に、Newton法を使用して逐次近似で除数aの逆数1/aを
算出する手法について説明する。
1/aは関数f(x)=1/x−a=0の解であるから、出発
値x0を与えて順次改良された近似解x1,x2,……を求めて
ゆき、第m近似解xmが求まったとき、第(m+1)近似
解xm+1は次式で表される。
値x0を与えて順次改良された近似解x1,x2,……を求めて
ゆき、第m近似解xmが求まったとき、第(m+1)近似
解xm+1は次式で表される。
xm+1=xm−f(xm)/f′(xm) =xm+(1/xm−a) ×{1/(xm)2} =xm×(2−a×xm) ……(1) ここで、aは浮動小数点方式で表された数値の仮数部で
あり、1≦a<2と正規化されているものとする。
あり、1≦a<2と正規化されているものとする。
第m近似解xmは1/aの近似値であるが、Newton法の2乗
収束の性質より、第(m+1)近似解xm+1で2n桁の精度
を期待するならば、n桁の精度のxmを用意すればよいこ
とが知られている。このため、予め計算された1/aのデ
ータが記憶されているテーブルROMを用意し、以下の手
順でaからxmを求めればよい。
収束の性質より、第(m+1)近似解xm+1で2n桁の精度
を期待するならば、n桁の精度のxmを用意すればよいこ
とが知られている。このため、予め計算された1/aのデ
ータが記憶されているテーブルROMを用意し、以下の手
順でaからxmを求めればよい。
先ず、2nビットの入力データaを上位nビットのデータ
Hと下位nビットのデータLとに分離し(a=H+
L)、次に、データHをアドレスとしてテーブルROMを
引き、2nビットのxmを求める。次いで、このxmとaとを
乗算し、定数2からこの乗算値を減算し、更に、この減
算値にxmを乗じることによって、(1)式のxm+1を求め
る。
Hと下位nビットのデータLとに分離し(a=H+
L)、次に、データHをアドレスとしてテーブルROMを
引き、2nビットのxmを求める。次いで、このxmとaとを
乗算し、定数2からこの乗算値を減算し、更に、この減
算値にxmを乗じることによって、(1)式のxm+1を求め
る。
なお、xm+1に2n桁の精度を保証するには、(1)式にお
ける乗算と減算には2n桁の精度が必要とされる。
ける乗算と減算には2n桁の精度が必要とされる。
[発明が解決しようとする課題] しかしながら、上述した従来技術においては、以下に述
べるような欠点がある。
べるような欠点がある。
先ず、演算時間が長いという問題点がある。
即ち、逆数1/aと実質的に等しいxm+1を求めるための
(1)式の演算において、テーブルROMの検索が1回、
乗算が2回及び減算が1回必要である。しかも、テーブ
ルROMの検索、乗算及び減算は並列に演算できないの
で、逐次的に演算する必要がある。このために、演算時
間が長くなる。
(1)式の演算において、テーブルROMの検索が1回、
乗算が2回及び減算が1回必要である。しかも、テーブ
ルROMの検索、乗算及び減算は並列に演算できないの
で、逐次的に演算する必要がある。このために、演算時
間が長くなる。
次に、ハードウエアが大規模になるという問題点があ
る。
る。
即ち、(1)式において、2n桁の精度を保証するために
は、2回の乗算を2n桁の精度で行う必要がある。換言す
れば、この場合、2n×2nビットの容量を有する乗算器が
必要となる。更に、(1)式を1ステップで演算しよう
とすれば、2n×2nビットの容量を有する乗算器が2組必
要となる。このような要求を満たそうとすれば、LSI化
する上で必然的に素子面積の増大を招き、且つ、ハード
ウエアが大規模となる。
は、2回の乗算を2n桁の精度で行う必要がある。換言す
れば、この場合、2n×2nビットの容量を有する乗算器が
必要となる。更に、(1)式を1ステップで演算しよう
とすれば、2n×2nビットの容量を有する乗算器が2組必
要となる。このような要求を満たそうとすれば、LSI化
する上で必然的に素子面積の増大を招き、且つ、ハード
ウエアが大規模となる。
本発明はかかる問題点に鑑みてなされたものであって、
小規模のハードウエアを使用しても高精度で、且つ、短
時間で演算を行うことができる逆数演算装置を提供する
ことを目的とする。
小規模のハードウエアを使用しても高精度で、且つ、短
時間で演算を行うことができる逆数演算装置を提供する
ことを目的とする。
[課題を解決するための手段] 本発明に係る逆数演算装置は、Nビットの入力データa
(Nは2以上の自然数)から上位Mビット(Mは自然
数)の第1の分割データH及び下位(N-M)ビットの第
2の分割データLを分割して夫々出力する分割手段と、
逆数及び逆数の2乗に関するデータが予め記憶されてい
て前記第1の分割データHを入力するとその対応する逆
数1/Hに関するデータ及び逆数の2乗1/H2に関するデー
タを夫々出力するメモリ手段と、前記第2の分割データ
L及び前記逆数の2乗データ1/H2を乗算してその乗算値
L/H2に関するデータを出力する乗算手段と、前記逆数1/
Hと前記乗算値L/H2との間で加算又は減算して前記入力
データaの逆数を形成する加減算手段とを備えたことを
特徴とする。
(Nは2以上の自然数)から上位Mビット(Mは自然
数)の第1の分割データH及び下位(N-M)ビットの第
2の分割データLを分割して夫々出力する分割手段と、
逆数及び逆数の2乗に関するデータが予め記憶されてい
て前記第1の分割データHを入力するとその対応する逆
数1/Hに関するデータ及び逆数の2乗1/H2に関するデー
タを夫々出力するメモリ手段と、前記第2の分割データ
L及び前記逆数の2乗データ1/H2を乗算してその乗算値
L/H2に関するデータを出力する乗算手段と、前記逆数1/
Hと前記乗算値L/H2との間で加算又は減算して前記入力
データaの逆数を形成する加減算手段とを備えたことを
特徴とする。
[作用] 先ず、数式を用いて、本発明に係る逆数演算装置の演算
原理について説明する。
原理について説明する。
簡単のために、入力データaのビット数を偶数2n(nは
自然数)とし、2nビットの2進数で表現された入力デー
タaからその2nビットの逆数1/aを以下のようにして求
める。
自然数)とし、2nビットの2進数で表現された入力デー
タaからその2nビットの逆数1/aを以下のようにして求
める。
先ず、入力データaを、例えば、上位nビットのデータ
Hと下位nビットのデータLとにnビットずつ分割する
(n=M=N/2)。この場合a、H及びLの関係は次式
のように表される。
Hと下位nビットのデータLとにnビットずつ分割する
(n=M=N/2)。この場合a、H及びLの関係は次式
のように表される。
但し、 ak={1,0} (k=0,1,2,…,2n−1) 1≦a<2 ここで、逆数1/aは(1)式から次式のように変形され
る。
る。
1/a=(1/H)×{2−a×(1/H)} =(1/H) ×{2−(H+L)×(1/H)} =(1/H)−L×(1×H2) ……(5) この(5)式から明らかなように、データHを入力と
し、1/H及び1/H2の各データを出力するテーブルROMを用
意すれば、乗算と減算を1回ずつ行うことにより逆数1/
aを得ることができる。
し、1/H及び1/H2の各データを出力するテーブルROMを用
意すれば、乗算と減算を1回ずつ行うことにより逆数1/
aを得ることができる。
本発明は、前記(5)式に基いたこのような演算原理に
着目したものであって、先ず、分割手段により、Nビッ
トの入力データaを、上位Mビットからなる第1の分割
データH及び下位(N-M)ビットからなる第2の分割デ
ータLとに分割する(但し、a=H+L)。メモリ手段
は逆数データ及び逆数の2乗データを予め記憶してお
り、第1の分割データHを入力すると、その対応する逆
数データ1/H及び逆数の2乗データ1/H2を出力する。そ
して、乗算手段は第2の分割データLと逆数の2乗デー
タ1/H2との乗算を行ってその乗算データ(L/H2)を出力
する。更に、加減算手段は逆数データ1/Hから乗算デー
タL/H2を減算して、減算値(1/H−L/H2)を求め、入力
データaの逆数1/a[第(5)式参照]を形成する。
着目したものであって、先ず、分割手段により、Nビッ
トの入力データaを、上位Mビットからなる第1の分割
データH及び下位(N-M)ビットからなる第2の分割デ
ータLとに分割する(但し、a=H+L)。メモリ手段
は逆数データ及び逆数の2乗データを予め記憶してお
り、第1の分割データHを入力すると、その対応する逆
数データ1/H及び逆数の2乗データ1/H2を出力する。そ
して、乗算手段は第2の分割データLと逆数の2乗デー
タ1/H2との乗算を行ってその乗算データ(L/H2)を出力
する。更に、加減算手段は逆数データ1/Hから乗算デー
タL/H2を減算して、減算値(1/H−L/H2)を求め、入力
データaの逆数1/a[第(5)式参照]を形成する。
このように、本発明によれば、メモリ手段における逆数
データ及び逆数の2乗データの検索を合計2回(同時検
索の時は1回)、乗算を1回、また減算を1回実行する
ことにより逆数を算出することができる。従って、従来
方式に比して演算時間を短縮することができる。
データ及び逆数の2乗データの検索を合計2回(同時検
索の時は1回)、乗算を1回、また減算を1回実行する
ことにより逆数を算出することができる。従って、従来
方式に比して演算時間を短縮することができる。
また、前記(3)式及び(4)式を参照すれば、H<
2、L<2-(n+1)が成立するので、(5)式の第2項の
演算精度はn桁でよいことがわかる。このために、逆数
1/aにおいて2n桁の精度を実現するためには、メモリ手
段は、所要データ数2n個に対して2n×2nビットの容量を
有する逆数データ用のテーブルROM及び所要データ数2n
個に対しn×2nビットの容量を有する逆数の2乗データ
用のテーブルROMで構成すればよい。また、乗算手段は
n×nビットの容量を有する乗算器で、加減算手段は2n
ビットの容量を有する減算器で夫々構成すればよい。
2、L<2-(n+1)が成立するので、(5)式の第2項の
演算精度はn桁でよいことがわかる。このために、逆数
1/aにおいて2n桁の精度を実現するためには、メモリ手
段は、所要データ数2n個に対して2n×2nビットの容量を
有する逆数データ用のテーブルROM及び所要データ数2n
個に対しn×2nビットの容量を有する逆数の2乗データ
用のテーブルROMで構成すればよい。また、乗算手段は
n×nビットの容量を有する乗算器で、加減算手段は2n
ビットの容量を有する減算器で夫々構成すればよい。
従来方式では、逆数1/aにおいて2n桁という高い精度を
短時間の演算で得ようとすれば、前述のように、乗算器
は2n×2nビットのものが2組必要であるが、本発明では
上述のようにn×nビットの乗算器で済む。
短時間の演算で得ようとすれば、前述のように、乗算器
は2n×2nビットのものが2組必要であるが、本発明では
上述のようにn×nビットの乗算器で済む。
なお、本発明では逆数データ用のテーブルROMに加え
て、逆数の2乗データ用のテーブルROMを必要とする
が、LSI化を考慮すると、乗算器よりもテーブルROMの方
が小素子面積でしかも容易に設計することができる。従
って、本発明によれば、同程度の高い演算精度を維持す
る場合、従来方式に比して装置のハードウエアを小規模
にすることができる。
て、逆数の2乗データ用のテーブルROMを必要とする
が、LSI化を考慮すると、乗算器よりもテーブルROMの方
が小素子面積でしかも容易に設計することができる。従
って、本発明によれば、同程度の高い演算精度を維持す
る場合、従来方式に比して装置のハードウエアを小規模
にすることができる。
なお、前記メモリ手段は、逆数の2乗1/H2に関するデー
タを記憶しているが、このデータを(−1/H2)として記
憶させておくことより、乗算手段は乗算値(−L/H2)を
出力するから、加減算手段を(1/H)と(−L/H2)との
加算を行う加算器で構成することもできる。
タを記憶しているが、このデータを(−1/H2)として記
憶させておくことより、乗算手段は乗算値(−L/H2)を
出力するから、加減算手段を(1/H)と(−L/H2)との
加算を行う加算器で構成することもできる。
[実施例] 以下、添付の図面を参照して、本発明の実施例について
具体的に説明する。
具体的に説明する。
第1図は本発明の第1の実施例に係る逆数演算装置を示
すブロック図である。
すブロック図である。
第1のレジスタ11は2nビットの容量を有するレジスタ
で、2nビットの入力データa1に関する入力信号10を入力
してこれを保持すると共に、入力データa1を上位nビッ
トからなるデータH1と下位nビットからなるデータL1と
に分割する。データH1に関する信号12は第1のレジスタ
11からテーブルROM14に出力される。テーブルROM14は2n
×2n+1ビットの容量を有するROMであり、このテーブルR
OM14には複数種類のデータHについての逆数データ1/H
及び2乗データ1/H2が予め記憶されている。
で、2nビットの入力データa1に関する入力信号10を入力
してこれを保持すると共に、入力データa1を上位nビッ
トからなるデータH1と下位nビットからなるデータL1と
に分割する。データH1に関する信号12は第1のレジスタ
11からテーブルROM14に出力される。テーブルROM14は2n
×2n+1ビットの容量を有するROMであり、このテーブルR
OM14には複数種類のデータHについての逆数データ1/H
及び2乗データ1/H2が予め記憶されている。
そして、テーブルROM14は、第1のレジスタ11から出力
されたnビットのデータH1に関する信号12を入力する
と、1/H1又は1/H1 2の出力を指定するための1ビットの
制御信号15によって、入力データH1に対応する2nビット
のデータ1/H1又は1/H1 2を第2のレジスタ16に出力す
る。
されたnビットのデータH1に関する信号12を入力する
と、1/H1又は1/H1 2の出力を指定するための1ビットの
制御信号15によって、入力データH1に対応する2nビット
のデータ1/H1又は1/H1 2を第2のレジスタ16に出力す
る。
第2のレジスタ16は2nビットの容量を有するレジスタで
あり、テーブルROM14から出力される1/H1又は1/H1 2のデ
ータ保持すると共に、データ1/H1 2の上位nビットのデ
ータに関する信号17を乗算器18に出力し、更に、データ
1/H1に関する信号22を減算器21に出力する。
あり、テーブルROM14から出力される1/H1又は1/H1 2のデ
ータ保持すると共に、データ1/H1 2の上位nビットのデ
ータに関する信号17を乗算器18に出力し、更に、データ
1/H1に関する信号22を減算器21に出力する。
また、乗算器18はn×nビットの容量を有する乗算器
で、第1のレジスタ11から出力されるnビットのデータ
L1に関する信号13と第2のレジスタ16から出力されるデ
ータ1/H1 2の上位nビットのデータに関する信号17との
乗算を行い、2nビットの乗算データL1/H1 2を第3のレジ
スタ19に出力する。そして、第3のレジスタ19はnビッ
トの容量を有するレジスタで、乗算器18から出力される
2nビットのデータのうち上位nビットを保持すると共
に、桁合せを行うために、この保持したnビットのデー
タを下位nビットとし、また、残りの上位nビットを全
て零とする2nビットのデータ(L1/H1 2)を形成し、この
データに関する信号20を減算器21に出力する。
で、第1のレジスタ11から出力されるnビットのデータ
L1に関する信号13と第2のレジスタ16から出力されるデ
ータ1/H1 2の上位nビットのデータに関する信号17との
乗算を行い、2nビットの乗算データL1/H1 2を第3のレジ
スタ19に出力する。そして、第3のレジスタ19はnビッ
トの容量を有するレジスタで、乗算器18から出力される
2nビットのデータのうち上位nビットを保持すると共
に、桁合せを行うために、この保持したnビットのデー
タを下位nビットとし、また、残りの上位nビットを全
て零とする2nビットのデータ(L1/H1 2)を形成し、この
データに関する信号20を減算器21に出力する。
減算器21は2nビットの容量を有する減算器であり、第2
のレジスタ16から出力される2nビットのデータ1/H1に関
する信号22と第3のレジスタ19から出力される2nビット
のデータ(L1/H1 2)に関する信号20とを入力し、前者の
データから後者のデータを減算する。この2nビットの減
算データを入力データa1の逆数である2nビットのデータ
1/a1として、第4のレジスタ24に出力する。第4のレジ
スタ24は2nビットの容量を有するレジスタで、減算器21
から出力される2nビットのデータ1/a1に関する信号23を
受けてこれを保持する。
のレジスタ16から出力される2nビットのデータ1/H1に関
する信号22と第3のレジスタ19から出力される2nビット
のデータ(L1/H1 2)に関する信号20とを入力し、前者の
データから後者のデータを減算する。この2nビットの減
算データを入力データa1の逆数である2nビットのデータ
1/a1として、第4のレジスタ24に出力する。第4のレジ
スタ24は2nビットの容量を有するレジスタで、減算器21
から出力される2nビットのデータ1/a1に関する信号23を
受けてこれを保持する。
なお、第1、第2及び第4のレジスタ11,16,24では、最
上位ビットMSBの下位に少数点を置く固定少数点方式で
表された数値を扱う。この場合、第1のレジスタ11上の
入力データa1は正規化されており、1≦a1<2の条件を
満たしている。
上位ビットMSBの下位に少数点を置く固定少数点方式で
表された数値を扱う。この場合、第1のレジスタ11上の
入力データa1は正規化されており、1≦a1<2の条件を
満たしている。
第2図は第1の実施例装置による逆数の演算手順を示す
フローチャート図であり、このフローチャート図を参照
して、本実施例の動作について具体的に説明する。な
お、P1乃至P8はフローチャート図の各ステップを示して
いる。
フローチャート図であり、このフローチャート図を参照
して、本実施例の動作について具体的に説明する。な
お、P1乃至P8はフローチャート図の各ステップを示して
いる。
先ず、ステップP2において、第1のレジスタ11に2nビッ
トの入力データa1(=H1+L1)を入力してこれを保持さ
せる。
トの入力データa1(=H1+L1)を入力してこれを保持さ
せる。
次に、ステップP3において、1/H1 2出力を指定する制御
信号15を入力した状態で、入力データa1の上位nビット
のデータH1をアドレスとして、テーブルROM14から対応
する2nビットのデータ1/H1 2を取り出し、これを第2の
レジスタ16に保持させる。
信号15を入力した状態で、入力データa1の上位nビット
のデータH1をアドレスとして、テーブルROM14から対応
する2nビットのデータ1/H1 2を取り出し、これを第2の
レジスタ16に保持させる。
そして、ステップP4において乗算器18により第1のレジ
スタ11から出力される入力データa1の下位nビットのデ
ータL1と、第2のレジスタ16から出力されるデータ1/H1
2の上位nビットのデータとの乗算を行う。続いて、乗
算器18の2nビットの出力データのうち上位nビットを第
3のレジスタ19に入力して保持させ、更に、桁合わせを
行うために、このnビットのデータを下位nビットとす
ると共に、残り上位nビットを全て零とする2nビットの
データ(=L1×1/H1 2)を形成させ、このデータを減算
器21に出力する。
スタ11から出力される入力データa1の下位nビットのデ
ータL1と、第2のレジスタ16から出力されるデータ1/H1
2の上位nビットのデータとの乗算を行う。続いて、乗
算器18の2nビットの出力データのうち上位nビットを第
3のレジスタ19に入力して保持させ、更に、桁合わせを
行うために、このnビットのデータを下位nビットとす
ると共に、残り上位nビットを全て零とする2nビットの
データ(=L1×1/H1 2)を形成させ、このデータを減算
器21に出力する。
また、このステップP4と並行して、ステップP5におい
て、1/H1出力を指定する制御信号15を入力した状態で、
入力データa1の上位nビットのデータH1をアドレスとし
て、テーブルROM14から対応する2nビットのデータ1/H1
を取り出し、これを第2のレジスタ16に保持させる。
て、1/H1出力を指定する制御信号15を入力した状態で、
入力データa1の上位nビットのデータH1をアドレスとし
て、テーブルROM14から対応する2nビットのデータ1/H1
を取り出し、これを第2のレジスタ16に保持させる。
そして、減算器21により、第2のレジスタ16から出力さ
れた2nビットのデータ1/H1と第3のレジスタ19から出力
された2nビットのデータ(L1/H1 2)との間で減算処理を
行い、これにより、入力データa1の逆数である2nビット
のデータ1/a1を得る(ステップP6)。更に、ステップP7
でデータ1/a1を第4のレジスタ24に出力してこれを保持
させる。
れた2nビットのデータ1/H1と第3のレジスタ19から出力
された2nビットのデータ(L1/H1 2)との間で減算処理を
行い、これにより、入力データa1の逆数である2nビット
のデータ1/a1を得る(ステップP6)。更に、ステップP7
でデータ1/a1を第4のレジスタ24に出力してこれを保持
させる。
ここにおいて、ステップP3、ステップP4,P5、及びステ
ップP6,P7の各演算ステップは、1個のクロックパルス
に同期して実行される。従って、本実施例装置による演
算ステップは、実質的に3個のクロックパルスに夫々対
応する演算ブロック(I)乃至(III)で構成され、こ
のために、短い演算時間で逆数の演算を行うことができ
る。
ップP6,P7の各演算ステップは、1個のクロックパルス
に同期して実行される。従って、本実施例装置による演
算ステップは、実質的に3個のクロックパルスに夫々対
応する演算ブロック(I)乃至(III)で構成され、こ
のために、短い演算時間で逆数の演算を行うことができ
る。
第3図は本発明の第2の実施例を示すブロック図であ
り、同図を参照して、第2の実施例の構成について説明
する。本実施例の装置では、データ1/H用及びデータ1/H
2用のテーブルROMを独立に備え、これにより逆数1/aを
演算する。
り、同図を参照して、第2の実施例の構成について説明
する。本実施例の装置では、データ1/H用及びデータ1/H
2用のテーブルROMを独立に備え、これにより逆数1/aを
演算する。
第1のレジスタ31は2nビットの容量を有するレジスタ
で、2nビットの入力データa2信号30を入力してこれを保
持すると共に、入力データa2を上位nビットのデータH2
信号32と下位nビットのデータL2信号33とに分けて個別
に出力する。
で、2nビットの入力データa2信号30を入力してこれを保
持すると共に、入力データa2を上位nビットのデータH2
信号32と下位nビットのデータL2信号33とに分けて個別
に出力する。
第1のテーブルROM34は2n×2nビットの容量を有するROM
で構成され、複数種類のデータHの逆数データ1/Hを予
め記憶している。そして、この第1のデータROM34は、
第1のレジスタ31から出力されるデータH2信号32を出力
してこれに対応する2nビットのデータ1/H2に関する信号
36を出力する。また、第2のテーブルROM35はn×2nビ
ットの容量を有するROMで構成され、複数種類のデータ
Hに対応する逆数の2乗データ1/H2を予め記憶してい
る。そして、この第2のテーブルROM35は第1のレジス
タ31から出力されるデータH2信号32を受けてこれと対応
するnビットのデータ1/H2 2信号37を出力する。
で構成され、複数種類のデータHの逆数データ1/Hを予
め記憶している。そして、この第1のデータROM34は、
第1のレジスタ31から出力されるデータH2信号32を出力
してこれに対応する2nビットのデータ1/H2に関する信号
36を出力する。また、第2のテーブルROM35はn×2nビ
ットの容量を有するROMで構成され、複数種類のデータ
Hに対応する逆数の2乗データ1/H2を予め記憶してい
る。そして、この第2のテーブルROM35は第1のレジス
タ31から出力されるデータH2信号32を受けてこれと対応
するnビットのデータ1/H2 2信号37を出力する。
乗算器38はn×nビットの容量を有する乗算器で、第1
のレジスタ31から出力されるnビットのデータL2信号33
と、第2のテーブルROM35から出力されるnビットのデ
ータ1/H2 2信号37とを乗算する。更に、桁合わせを行う
ために、2nビットの乗算データのうち上位nビットを下
位nビットとし、また、残りの上位nビットを全て零と
する2nビットのデータ(=L2×1/H2 2)を形成し、この
データに関する信号39を減算器40に出力する。
のレジスタ31から出力されるnビットのデータL2信号33
と、第2のテーブルROM35から出力されるnビットのデ
ータ1/H2 2信号37とを乗算する。更に、桁合わせを行う
ために、2nビットの乗算データのうち上位nビットを下
位nビットとし、また、残りの上位nビットを全て零と
する2nビットのデータ(=L2×1/H2 2)を形成し、この
データに関する信号39を減算器40に出力する。
そして、減算器40は2nビットの容量を有する減算器であ
り、第1のテーブルROM34から出力される2nビットのデ
ータ1/H2信号36から上記2nビットのデータ信号39を減算
し、入力データa2の逆数として2nビットの減算データ1/
a2に関する信号を出力する。更に、第2のレジスタ24は
2nビットの容量を有するレジスタで、減算器21から出力
される2nビットのデータ1/a2に関する信号41を受けてこ
れ保持する。
り、第1のテーブルROM34から出力される2nビットのデ
ータ1/H2信号36から上記2nビットのデータ信号39を減算
し、入力データa2の逆数として2nビットの減算データ1/
a2に関する信号を出力する。更に、第2のレジスタ24は
2nビットの容量を有するレジスタで、減算器21から出力
される2nビットのデータ1/a2に関する信号41を受けてこ
れ保持する。
なお、上述した本実施例装置では、第1及び第2のレジ
スタ31,42、第1及び第2のテーブルROM34,35並びに減
算器40では、最上位ビットMSBの下位に少数点を置く固
定少数点方式で表された数値が扱われている。また、こ
の場合、第1のレジスタ31上の入力データa2は正規化さ
れて、1≦a2<2を満たしている。
スタ31,42、第1及び第2のテーブルROM34,35並びに減
算器40では、最上位ビットMSBの下位に少数点を置く固
定少数点方式で表された数値が扱われている。また、こ
の場合、第1のレジスタ31上の入力データa2は正規化さ
れて、1≦a2<2を満たしている。
ここで、第2のテーブルROM35にnビットのデータ(−1
/H2)を記憶させておけば、乗算器38に負の数値を乗算
することができるものを使用することにより、減算器42
を加算器で代替させることができる。
/H2)を記憶させておけば、乗算器38に負の数値を乗算
することができるものを使用することにより、減算器42
を加算器で代替させることができる。
更に、第1及び第2のテーブルROM34,35は、上述したよ
うに、同一のnビットのアドレス信号32(入力データa2
の上位nビットのデータH2に関する信号)でアクセスさ
れるので、これらを一体化して、3n×2nビットの容量を
有するテーブルROMで構成することもできる。
うに、同一のnビットのアドレス信号32(入力データa2
の上位nビットのデータH2に関する信号)でアクセスさ
れるので、これらを一体化して、3n×2nビットの容量を
有するテーブルROMで構成することもできる。
第4図は、第2の実施例装置による逆数の演算手順を示
すフローチャート図であり、同図を参照して、逆数の演
算手順を具体的に説明する。なお、Q1乃至Q8はフローチ
ャート図の各ステップを示している。
すフローチャート図であり、同図を参照して、逆数の演
算手順を具体的に説明する。なお、Q1乃至Q8はフローチ
ャート図の各ステップを示している。
先ず、ステップQ2において、第1のレジスタ31に2nビッ
トの入力データa2(=H2+L2)を入力してこれを保持さ
せると共に、上位nビットのデータH2と下位nビットの
データL2とを個別に出力させる。
トの入力データa2(=H2+L2)を入力してこれを保持さ
せると共に、上位nビットのデータH2と下位nビットの
データL2とを個別に出力させる。
次に、ステップQ3において、入力データa2の上位nビッ
トのデータH2をアドレスとして第1のテーブルROM34か
ら対応する2nビットのデータ1/H2を取り出し、これを減
算器40に入力する。
トのデータH2をアドレスとして第1のテーブルROM34か
ら対応する2nビットのデータ1/H2を取り出し、これを減
算器40に入力する。
また、ステップQ3のステップと同時に、ステップQ4にお
いて、nビットのデータH2をアドレスとして、第2のテ
ーブルROM35から対応するnビットのデータ1/H2 2を取り
出し、これを乗算器38に入力する。
いて、nビットのデータH2をアドレスとして、第2のテ
ーブルROM35から対応するnビットのデータ1/H2 2を取り
出し、これを乗算器38に入力する。
次いで、ステップQ5において、乗算器38により第1のレ
ジスタ31から出力されたnビットのデータL2と第2のテ
ーブルROM35から出力されたnビットのデータ1/H2 2との
乗算を行う。そして、桁合わせを行うために、2nビット
の乗算データのうち上位nビットを下位nビットとする
と共に、残り上位nビットを全て零とする2nビットのデ
ータ(=L2/H2 2)を形成して、これを減算器40に出力す
る。
ジスタ31から出力されたnビットのデータL2と第2のテ
ーブルROM35から出力されたnビットのデータ1/H2 2との
乗算を行う。そして、桁合わせを行うために、2nビット
の乗算データのうち上位nビットを下位nビットとする
と共に、残り上位nビットを全て零とする2nビットのデ
ータ(=L2/H2 2)を形成して、これを減算器40に出力す
る。
更に、減算器40により第1のテーブルROM34から出力さ
れた2nビットのデータ1/H2を上記2nビットのデータで減
算し、これにより、入力データa2の逆数である2nビット
のデータ1/a2を得る(ステップQ6)。更にまた、ステッ
プQ7で、データ1/a2を第2のレジスタ42に入力してこれ
を保持させる。
れた2nビットのデータ1/H2を上記2nビットのデータで減
算し、これにより、入力データa2の逆数である2nビット
のデータ1/a2を得る(ステップQ6)。更にまた、ステッ
プQ7で、データ1/a2を第2のレジスタ42に入力してこれ
を保持させる。
以上述べたように、本実施例装置による演算処理におい
ては、Q2乃至Q7のステップを1個のクロックパルス(第
1の実施例装置の演算処理におけるクロックパルスより
もパルス幅は長い)に同期させて実行させることができ
る。このため、演算ステップは実質的に1つの演算ブロ
ックで構成されるので、第1の実施例装置による演算処
理に比して、一層短時間で逆数の演算を行うことができ
る。この場合、第1及び第2のテーブルROM34,35の読出
しを同時に行っているので、テーブル検索に要する時間
は実質的に1回分の時間で済む。従って、演算時間はテ
ーブル検索1回、乗算1回及び減算1回に要する時間の
和となる。
ては、Q2乃至Q7のステップを1個のクロックパルス(第
1の実施例装置の演算処理におけるクロックパルスより
もパルス幅は長い)に同期させて実行させることができ
る。このため、演算ステップは実質的に1つの演算ブロ
ックで構成されるので、第1の実施例装置による演算処
理に比して、一層短時間で逆数の演算を行うことができ
る。この場合、第1及び第2のテーブルROM34,35の読出
しを同時に行っているので、テーブル検索に要する時間
は実質的に1回分の時間で済む。従って、演算時間はテ
ーブル検索1回、乗算1回及び減算1回に要する時間の
和となる。
[発明の効果] 以上説明したように、本発明によれば、分割手段から入
力データに関する上位ビットデータ及び下位ビットデー
タが夫々出力された後は、メモリ手段における入力デー
タに対応する逆数データ及び逆数の2乗データの検索を
2回(同時検索も可能)、乗算を1回及び加算又は減算
を1回実行することにより、逆数を演算することができ
るので、演算時間を短縮することができる。この場合
に、2回の検索を同時に行う場合は、更に一層演算時間
を短縮することができる。
力データに関する上位ビットデータ及び下位ビットデー
タが夫々出力された後は、メモリ手段における入力デー
タに対応する逆数データ及び逆数の2乗データの検索を
2回(同時検索も可能)、乗算を1回及び加算又は減算
を1回実行することにより、逆数を演算することができ
るので、演算時間を短縮することができる。この場合
に、2回の検索を同時に行う場合は、更に一層演算時間
を短縮することができる。
また、装置構成も、逆数データ及び逆数の2乗データを
検索するためのメモリ手段の他に、1組の乗算手段及び
加算又は減算を行う加減算手段を備えるだけでよいの
で、従来のように大面積を必要とする乗算手段を2組設
ける場合に比して、小面積のLSI化が可能であり、ハー
ドウエアを小規模にすることができる。
検索するためのメモリ手段の他に、1組の乗算手段及び
加算又は減算を行う加減算手段を備えるだけでよいの
で、従来のように大面積を必要とする乗算手段を2組設
ける場合に比して、小面積のLSI化が可能であり、ハー
ドウエアを小規模にすることができる。
第1図は本発明の第1の実施例装置を示すブロック図、
第2図は第1図に示した第1の実施例装置による演算処
理を示すフローチャート図、第3図は本発明の第2の実
施例装置を示すブロック図、第4図は第3図に示した第
2の実施例装置による演算処理を示すフローチャート図
である。 10,30;入力データ信号、11,16,19,24,31,42;レジスタ、
12,32;上位ビットデータ信号、13,33;下位ビットデータ
信号、14,34,35;テーブルROM、18,38;乗算器、21,41;減
算器、23,41;逆数データ信号
第2図は第1図に示した第1の実施例装置による演算処
理を示すフローチャート図、第3図は本発明の第2の実
施例装置を示すブロック図、第4図は第3図に示した第
2の実施例装置による演算処理を示すフローチャート図
である。 10,30;入力データ信号、11,16,19,24,31,42;レジスタ、
12,32;上位ビットデータ信号、13,33;下位ビットデータ
信号、14,34,35;テーブルROM、18,38;乗算器、21,41;減
算器、23,41;逆数データ信号
Claims (1)
- 【請求項1】Nビットの入力データa(Nは2以上の自
然数)から上位Mビット(Mは自然数)の第1の分割デ
ータH及び下位(N-M)ビットの第2の分割データLを
分割して夫々出力する分割手段と、逆数及び逆数の2乗
に関するデータが予め記憶されていて前記第1の分割デ
ータHを入力するとその対応する逆数1/Hに関するデー
タ及び逆数の2乗1/H2に関するデータを夫々出力するメ
モリ手段と、前記第2の分割データL及び前記逆数の2
乗データ1/H2を乗算してその乗算値L/H2に関するデータ
を出力する乗算手段と、前記逆数1/Hと前記乗算値L/H2
との間で加算又は減算して前記入力データaの逆数を形
成する加減算手段とを備えたことを特徴とする逆数演算
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63094787A JPH0769787B2 (ja) | 1988-04-18 | 1988-04-18 | 逆数演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63094787A JPH0769787B2 (ja) | 1988-04-18 | 1988-04-18 | 逆数演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01265327A JPH01265327A (ja) | 1989-10-23 |
JPH0769787B2 true JPH0769787B2 (ja) | 1995-07-31 |
Family
ID=14119790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63094787A Expired - Lifetime JPH0769787B2 (ja) | 1988-04-18 | 1988-04-18 | 逆数演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0769787B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4718032A (en) * | 1985-02-14 | 1988-01-05 | Prime Computer, Inc. | Method and apparatus for effecting range transformation in a digital circuitry |
JPS61243532A (ja) * | 1985-04-22 | 1986-10-29 | Toshiba Corp | 演算装置 |
JPS6278629A (ja) * | 1985-10-02 | 1987-04-10 | Hitachi Denshi Ltd | 逆数値演算方式 |
JPS63118936A (ja) * | 1986-11-07 | 1988-05-23 | Matsushita Electric Ind Co Ltd | 倍精度演算装置 |
US4823301A (en) * | 1987-10-22 | 1989-04-18 | Tektronix, Inc. | Method and circuit for computing reciprocals |
-
1988
- 1988-04-18 JP JP63094787A patent/JPH0769787B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH01265327A (ja) | 1989-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2938547B2 (ja) | 演算処理装置 | |
JPS60229140A (ja) | 倍精度乗算器 | |
JPH0934693A (ja) | 指数対数変換回路 | |
JPH0368416B2 (ja) | ||
US3721812A (en) | Fast fourier transform computer and method for simultaneously processing two independent sets of data | |
JP2001222410A (ja) | 除算器 | |
US5274580A (en) | Method for calculating the inverse of a number, and computer for performing the method | |
JP2822399B2 (ja) | 対数関数演算装置 | |
US4991132A (en) | Apparatus for executing division by high-speed convergence processing | |
JPH0769787B2 (ja) | 逆数演算装置 | |
JP2972326B2 (ja) | 平方根計算装置 | |
JPH10111791A (ja) | 除算装置 | |
US10353671B2 (en) | Circuitry and method for performing division | |
Takagi | Arithmetic unit based on a high-speed multiplier with a redundant-binary addition tree | |
JPH06105421B2 (ja) | 逆三角関数演算装置 | |
JP2508286B2 (ja) | 平方根演算装置 | |
JP3195609B2 (ja) | 逆数計算装置及び逆数計算装置を備えたコンピュータ | |
JP2777265B2 (ja) | 高基数開平演算装置 | |
JPH06180640A (ja) | 除算装置及び方法 | |
JP2960595B2 (ja) | ディジタル信号プロセッサ | |
JPH04314126A (ja) | 逆数発生装置 | |
JP2624738B2 (ja) | 丸め処理方式 | |
JPS63254525A (ja) | 除算装置 | |
JPH0322025A (ja) | 指数関数演算装置 | |
JPH01161437A (ja) | 除算装置 |