JPS6129020B2 - - Google Patents
Info
- Publication number
- JPS6129020B2 JPS6129020B2 JP54023464A JP2346479A JPS6129020B2 JP S6129020 B2 JPS6129020 B2 JP S6129020B2 JP 54023464 A JP54023464 A JP 54023464A JP 2346479 A JP2346479 A JP 2346479A JP S6129020 B2 JPS6129020 B2 JP S6129020B2
- Authority
- JP
- Japan
- Prior art keywords
- correction
- bits
- quotient
- approximate solution
- multiplication
- 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
- 238000012937 correction Methods 0.000 claims description 57
- 238000000034 method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Description
【発明の詳細な説明】
本発明は、乗算を繰返すことにより近似解を求
める除算方式を採用した処理装置において、求め
た近似解を補正する回路に関するものである。
める除算方式を採用した処理装置において、求め
た近似解を補正する回路に関するものである。
データ処理装置において、除算を高速に処理す
るための通常の引き算を繰返す方法以外に乗算を
繰返すことにより近似解を求める方法がある。即
ち、この方法はA/B=qを求めるときに、 q=A/B=A×R0×R1×R2×……/B×R0×
R1×R2×……(1) とおいて、B×R0×R1×R2×……を1に近づけ
るようなR0、R1、R2、……を求めることによ
り、 q〓A×R0×R1×R2×…… (2) を求めるものである。
るための通常の引き算を繰返す方法以外に乗算を
繰返すことにより近似解を求める方法がある。即
ち、この方法はA/B=qを求めるときに、 q=A/B=A×R0×R1×R2×……/B×R0×
R1×R2×……(1) とおいて、B×R0×R1×R2×……を1に近づけ
るようなR0、R1、R2、……を求めることによ
り、 q〓A×R0×R1×R2×…… (2) を求めるものである。
最初のR0はBの逆数に近い値を近似的にテー
ブルを引いて求め、B×R0を1−x、0<x<
<1とすれば、 R1=2−B×R0=1+x (3) によりR1が求まり、 B×R0×R1=(1−x)(1+x)=1−x2 (4) となる。次にR2=2−B×R0×R1=1+x2とし
て、 B×R0×R1×R2=(1−x2)(1+x2) =1−x4 (5) となる。これを繰返すことにより、B×R0×R1
×……×Rn→1とすることができる。いまx4が
浮動小数点表現の仮数部の有効桁数以下になれ
ば、 A×R0×R1×R2=q′ が求める近似解となる。
ブルを引いて求め、B×R0を1−x、0<x<
<1とすれば、 R1=2−B×R0=1+x (3) によりR1が求まり、 B×R0×R1=(1−x)(1+x)=1−x2 (4) となる。次にR2=2−B×R0×R1=1+x2とし
て、 B×R0×R1×R2=(1−x2)(1+x2) =1−x4 (5) となる。これを繰返すことにより、B×R0×R1
×……×Rn→1とすることができる。いまx4が
浮動小数点表現の仮数部の有効桁数以下になれ
ば、 A×R0×R1×R2=q′ が求める近似解となる。
以上の方法によつて商を求めた場合、
A×R0×R1×R2/1−x4=q (6)
A×R0×R1×R2=q(1−x4) (7)
となるから、q′=A×R0×R1×R2を商とみたて
たとき、真の商qよりもq×x4だけ小さくなる。
このため、真の値qが割切れる値であつた場合
も、近似解q′は割切れない答えになるこことがあ
り、引き算を繰返せば割切れる場合は必ず正解が
できる従来の方法と比べて差ができる。これを補
正するためには、単に浮動小数点表示の有効桁以
下を切捨てるのではなく、何らかの補正が必要で
ある。
たとき、真の商qよりもq×x4だけ小さくなる。
このため、真の値qが割切れる値であつた場合
も、近似解q′は割切れない答えになるこことがあ
り、引き算を繰返せば割切れる場合は必ず正解が
できる従来の方法と比べて差ができる。これを補
正するためには、単に浮動小数点表示の有効桁以
下を切捨てるのではなく、何らかの補正が必要で
ある。
従来、この種の補正について次のような方法が
考えられている。前述の通り、近似解が q′=q(1−ε) (8) で表わされるとすると、q×εが浮動小数点表示
の最小有効桁より小さな値になるまで乗算を繰返
す必要がある。いま、q×εの値が浮動小数点表
示の最小有効桁よりa桁下位より小さな値となる
ような精度で近似解を求めたと仮定する。本補正
方法は、求めた近似解に対し、表示に必要な有効
桁のa桁下位に“1”を加え、結果の有効桁以下
を切捨てゝ解とする方法である。
考えられている。前述の通り、近似解が q′=q(1−ε) (8) で表わされるとすると、q×εが浮動小数点表示
の最小有効桁より小さな値になるまで乗算を繰返
す必要がある。いま、q×εの値が浮動小数点表
示の最小有効桁よりa桁下位より小さな値となる
ような精度で近似解を求めたと仮定する。本補正
方法は、求めた近似解に対し、表示に必要な有効
桁のa桁下位に“1”を加え、結果の有効桁以下
を切捨てゝ解とする方法である。
この補正をほどこすことにより、真の値qが割
切れる値である場合は、最終近似解は真の値と等
しくなることが保証されるが、反面、次のような
問題が発生する。即ち、従来の引き算を繰返す方
法では、余りの符号は被乗数の符号と等しかつ
た。例えば、除数と被除数が正の値なら、A−A/B ×B0が保証されていた。ところが、上記の補
正方法では、切捨てる前にラウンドする結果とし
てA−A/B×B<0のケースが発生する。従つて、 引き算を繰返す方式により求める商と常に同一の
解を得るためには、更に次のような商の補正を行
なう必要がある。
切れる値である場合は、最終近似解は真の値と等
しくなることが保証されるが、反面、次のような
問題が発生する。即ち、従来の引き算を繰返す方
法では、余りの符号は被乗数の符号と等しかつ
た。例えば、除数と被除数が正の値なら、A−A/B ×B0が保証されていた。ところが、上記の補
正方法では、切捨てる前にラウンドする結果とし
てA−A/B×B<0のケースが発生する。従つて、 引き算を繰返す方式により求める商と常に同一の
解を得るためには、更に次のような商の補正を行
なう必要がある。
いま、浮動小数点表示の仮数部の有効桁を24ビ
ツトとし、乗算の繰返しにより仮数部の必要な有
効桁数より5ビツト余分に商を求めたと仮定す
る。すなわち、仮数部の有効桁の最下位ビツトよ
り5ビツト下位で±1だけの誤差を含んだ近似解
を得るものとする。また、仮数部の0ビツト目
(仮数部の最上位ビツト)を2−1の位とする
と、次式、 q+2-29q′q−2-29 (9) が成立し、これを変形すると、 q+2-28q′+2-29q (10) になる。たゞし、qは真の商の仮数部、q′は近似
解の仮数部である。この場合のデータ形式を第1
図に示す。
ツトとし、乗算の繰返しにより仮数部の必要な有
効桁数より5ビツト余分に商を求めたと仮定す
る。すなわち、仮数部の有効桁の最下位ビツトよ
り5ビツト下位で±1だけの誤差を含んだ近似解
を得るものとする。また、仮数部の0ビツト目
(仮数部の最上位ビツト)を2−1の位とする
と、次式、 q+2-29q′q−2-29 (9) が成立し、これを変形すると、 q+2-28q′+2-29q (10) になる。たゞし、qは真の商の仮数部、q′は近似
解の仮数部である。この場合のデータ形式を第1
図に示す。
いま、qの上位24ビツトをQ、q+2-29の上位
24ビツトをQHとすると、 Q+2-24QHQ (11) となる。こゝで、QH=Q+2-24となるのは、必
要は有効桁数より余分に求めた5ビツト、すなわ
ちq′の24〜28ビツトがオール“0”又はオール
“1”の場合のみであるから、 (i) q′の24〜28ビツトがオール“0”でもオール
“1”でもない場合は、QHを最終の商とする。
24ビツトをQHとすると、 Q+2-24QHQ (11) となる。こゝで、QH=Q+2-24となるのは、必
要は有効桁数より余分に求めた5ビツト、すなわ
ちq′の24〜28ビツトがオール“0”又はオール
“1”の場合のみであるから、 (i) q′の24〜28ビツトがオール“0”でもオール
“1”でもない場合は、QHを最終の商とする。
(ii) q′の24〜28ビツトがオール“0”またはオー
ル“1”の場合は、 R=|被除数|−|QH×除数| を計算し、 R0の場合は、QHの最終の商とする。
ル“1”の場合は、 R=|被除数|−|QH×除数| を計算し、 R0の場合は、QHの最終の商とする。
R<0の場合は、QH−2-24を最終の商とす
る。
る。
という補正を行なうことより、従来の引き算を繰
返す方式と同一の商を得ることができる。
返す方式と同一の商を得ることができる。
ところで、最終結果に必要な桁数よりaビツト
だけ近似商の有効桁数を余分に算出した場合、こ
のaビツトが全て“0”又は全て“1”の時にの
み商の補正が必要になる。すなわち、このaビツ
トのとりうる“0”および“1”の組合わせがラ
ンダムと仮定すると、2aに2回の割合で補正が
必要である。従つて、このaが大きければ補正が
必要な割合いが小さくなるため、補正に多少時間
がかかつても、平均的に見れば補正のためのオー
バヘツドは少なくてすむことになる。
だけ近似商の有効桁数を余分に算出した場合、こ
のaビツトが全て“0”又は全て“1”の時にの
み商の補正が必要になる。すなわち、このaビツ
トのとりうる“0”および“1”の組合わせがラ
ンダムと仮定すると、2aに2回の割合で補正が
必要である。従つて、このaが大きければ補正が
必要な割合いが小さくなるため、補正に多少時間
がかかつても、平均的に見れば補正のためのオー
バヘツドは少なくてすむことになる。
一方、上記方式の除算は前述のとうり、乗算を
繰返すことにより近似解の精度を上げていくもの
であり、aを大きくするためには多数回の乗算を
繰返さなければならず、除算自体に時間がかかる
ようになる。このため乗算は近似解の有効桁数が
最終的である商に必要な桁数を超える最小の回数
で打切るのが一般であり、上記aの値は3〜6で
あることが多い。いま、a=5、補正のために必
要な演算時間を16マシンサイクルと仮定すると、
商の補正のために必要なオーバヘツドは1回の除
算につき平均2/25×16=1マシンサイクルとなり、 処理装置の性能上、無視できない値となる。
繰返すことにより近似解の精度を上げていくもの
であり、aを大きくするためには多数回の乗算を
繰返さなければならず、除算自体に時間がかかる
ようになる。このため乗算は近似解の有効桁数が
最終的である商に必要な桁数を超える最小の回数
で打切るのが一般であり、上記aの値は3〜6で
あることが多い。いま、a=5、補正のために必
要な演算時間を16マシンサイクルと仮定すると、
商の補正のために必要なオーバヘツドは1回の除
算につき平均2/25×16=1マシンサイクルとなり、 処理装置の性能上、無視できない値となる。
本発明の目的は、データ処理置において、乗算
を繰返することにより除算を高速処理する際に、
上述の商の補正に要する平均時間を短縮すること
にある。
を繰返することにより除算を高速処理する際に、
上述の商の補正に要する平均時間を短縮すること
にある。
しかして、本発明は従来どうり近似解の有効桁
数が最終解である商に必要な桁を超える最小の回
数の乗算を実施し、この結果から商の補正の要否
を判定する。補正が不要の場合は前述のラウンド
処理を施したQHを最終解とする。補正が必要な
場合(余分に求めたaビツトが全て“0”または
全て“1”の場合)はもう一回の乗算操作を実施
しさらに有効桁数の多い近似解を求め、この結果
もう一度補正の要旨を判定する。すなわち、付加
した乗算操作により、最終の商の桁数よりbビツ
ト(a<b)だけ有効桁数の多い近似解を求め、
このbビツトが全て“0”又は全て“1”の場合
には補正が必要、全て“0”でも“1”でもない
場合は補正不要と判定する。補正が不要の場合
は、QHを最終解とする。補正が必要な場合は前
述のとうり R=|被除数|−|QH×除数| を計算し、Rの符号により商の最終補正を実施し
て正しい商を得る。こゝで、a=5、b=14、1
回の乗算操作に要する時間を2マシンサイクル、
最終補正に必要な演算時間を16マシンサイクルと
仮定すると、本発明の場合、商の補正のために必
要な平均オーバヘツドは0.13マシンサイクル以下
となり、性能上無視し得る値となる。
数が最終解である商に必要な桁を超える最小の回
数の乗算を実施し、この結果から商の補正の要否
を判定する。補正が不要の場合は前述のラウンド
処理を施したQHを最終解とする。補正が必要な
場合(余分に求めたaビツトが全て“0”または
全て“1”の場合)はもう一回の乗算操作を実施
しさらに有効桁数の多い近似解を求め、この結果
もう一度補正の要旨を判定する。すなわち、付加
した乗算操作により、最終の商の桁数よりbビツ
ト(a<b)だけ有効桁数の多い近似解を求め、
このbビツトが全て“0”又は全て“1”の場合
には補正が必要、全て“0”でも“1”でもない
場合は補正不要と判定する。補正が不要の場合
は、QHを最終解とする。補正が必要な場合は前
述のとうり R=|被除数|−|QH×除数| を計算し、Rの符号により商の最終補正を実施し
て正しい商を得る。こゝで、a=5、b=14、1
回の乗算操作に要する時間を2マシンサイクル、
最終補正に必要な演算時間を16マシンサイクルと
仮定すると、本発明の場合、商の補正のために必
要な平均オーバヘツドは0.13マシンサイクル以下
となり、性能上無視し得る値となる。
次に図示の実施例により本発明の内容を詳細に
説明する。
説明する。
第2図は一般的な高速乗除算回路を示すブロツ
ク図である。第1、第2オペランドはそれぞれ1
01,102の入力データバスを通して第1オペ
ランドレジスタ1、第2オペランドレジスタ2に
セツトされる。図で3は主乗算回路を示し、倍数
発生回路4、キヤリセイブアダ群5、および最終
サムレジスタ6、最終キヤリレジスタ7より構成
される。最終サムとキヤリは、主加算器8で加算
され、その出力レジスタ9に乗算結果としてセツ
トされる。この結果は、シフタ10で必要なシフ
トを受け、出力データバス103を通して出力さ
れる。
ク図である。第1、第2オペランドはそれぞれ1
01,102の入力データバスを通して第1オペ
ランドレジスタ1、第2オペランドレジスタ2に
セツトされる。図で3は主乗算回路を示し、倍数
発生回路4、キヤリセイブアダ群5、および最終
サムレジスタ6、最終キヤリレジスタ7より構成
される。最終サムとキヤリは、主加算器8で加算
され、その出力レジスタ9に乗算結果としてセツ
トされる。この結果は、シフタ10で必要なシフ
トを受け、出力データバス103を通して出力さ
れる。
除算時は、第2オペラントレジスタ2の内容で
近似乗算テーブル11を参照し、前述のR0を求
めた後、主乗算回路3、主加算器8、シフタ10
などを通し次の順序で演算を実行する。たゞし、
第1オペランドをA、第2オペランドをBとす
る。
近似乗算テーブル11を参照し、前述のR0を求
めた後、主乗算回路3、主加算器8、シフタ10
などを通し次の順序で演算を実行する。たゞし、
第1オペランドをA、第2オペランドをBとす
る。
(a) B×R0=B0
(b) A×R0=A0
(c) R1=2−B0を求め B0×R1=B1
(d) A0×R1=A1
(e) R2=2−B1を求め B1×R2=B2
(f) A1×R2=A2
以下、この乗算を有効桁を求めるのに必要な回
数だけ繰返し、最終的にはA×R0×R1×……×
Rnが出力レジスタ9にセツトされる。その後、
出力レジスタ9の内容はもう一度主加算器8に入
力され、必要なビツト位置に“1”が加えられて
(ラウンドされて)補正を受け、再び出力レジス
タ9にセツトされる。この結果は、シフト10を
通つて出力バス103に出力される。
数だけ繰返し、最終的にはA×R0×R1×……×
Rnが出力レジスタ9にセツトされる。その後、
出力レジスタ9の内容はもう一度主加算器8に入
力され、必要なビツト位置に“1”が加えられて
(ラウンドされて)補正を受け、再び出力レジス
タ9にセツトされる。この結果は、シフト10を
通つて出力バス103に出力される。
第3図は、第2図に示される高速乗除算回路に
本発明の要部構成である商の補正判定回路および
補正演算制御回路を適用した場合の各演算制御回
路間のつながりを示すブロツク図である。図中、
9は第2図に示した主加算器出力レジスタであ
る。20は補正判定回路、21は補正演算回路を
示す。補正判定回路20では出力レジスタ9の内
容を調べての商の補正が必要か否かを判定する。
前述の例の通り、浮動小数点表示の仮数部の有効
桁を24ピツトとし、乗算の繰返しにより仮数部の
有効桁数より5ビツト余分に商を求めたと仮定す
ると、補正判定回路20には出力レジスタ9の第
24〜28ビツトの5ビツトが入力される。補正回路
20ではこの入力信号が全て“1”又は“0”で
あることを調べ、信号線207により補正演算制
御回路21に対し商の補正演算が必要であるか否
かを知らせる。補正が不必要な場合は、直ちに演
算終了信号202を送出するとゝもに、出力レジ
スタ9の内容をシフタ10を通して出力データバ
ス103に送り演算を終了する。22〜25はそ
れぞれ入力データ制御部、除算制御部、乗算制御
部、減算制御部を示し、通常は制御信号201に
より起動され、必要な乗除算の制御を行なう。
本発明の要部構成である商の補正判定回路および
補正演算制御回路を適用した場合の各演算制御回
路間のつながりを示すブロツク図である。図中、
9は第2図に示した主加算器出力レジスタであ
る。20は補正判定回路、21は補正演算回路を
示す。補正判定回路20では出力レジスタ9の内
容を調べての商の補正が必要か否かを判定する。
前述の例の通り、浮動小数点表示の仮数部の有効
桁を24ピツトとし、乗算の繰返しにより仮数部の
有効桁数より5ビツト余分に商を求めたと仮定す
ると、補正判定回路20には出力レジスタ9の第
24〜28ビツトの5ビツトが入力される。補正回路
20ではこの入力信号が全て“1”又は“0”で
あることを調べ、信号線207により補正演算制
御回路21に対し商の補正演算が必要であるか否
かを知らせる。補正が不必要な場合は、直ちに演
算終了信号202を送出するとゝもに、出力レジ
スタ9の内容をシフタ10を通して出力データバ
ス103に送り演算を終了する。22〜25はそ
れぞれ入力データ制御部、除算制御部、乗算制御
部、減算制御部を示し、通常は制御信号201に
より起動され、必要な乗除算の制御を行なう。
いま、補正判定回路20により商の補正が必要
であると判定されると、補正演算制御回路21は
まず除算制御部23を起動し、さらにもう一回の
乗算処理を実行して、前回より有効桁数の多い近
似解を出力レジスタ9にセツトする。この近似解
の有効桁数を24+14ビツトすなわち、最終の商と
して必要な有効桁数より14ビツト多いと仮定する
と、補正判定回路20には次に出力レジスタ9の
第24〜37ビツトの14ビツトが入力される。補正判
定回路20では前回と同様、入力信号が全て
“1”又は全て“0”であることを調べ、信号線
207により補正演算制御回路21に対し商の補
正演算が必要であるか否かを知らせる。補正が不
必要な場合は、直ちに演算終了信号202を送出
するとともに、出力レジスタ9の内容をシフタ1
0を通して出力データパス103に送り演算を終
了する。補正判定回路20によりに最終的に商の
補正が必要であると判定されると、補正演算回路
21は入力データ制御部22を起動し、除数を第
2オペランドレジスタ2に、出力レジスタ9の内
容のうち仮数部の有効桁に必要な上位ビツト(前
述の例では24ビツト)QHを第1オペランドレジ
スタ1にセツトする。次に補正演算制御回路21
は乗算制御部24を起動し、QH×(除数)の乗算
を行つた後、減算制御部を起動し、 |被除数|−|QH×(除数)|=R の減算を行なう。この減算は、第2図の主加算器
8を用いて実行しても良いし、他の減算器を用い
ても良い。
であると判定されると、補正演算制御回路21は
まず除算制御部23を起動し、さらにもう一回の
乗算処理を実行して、前回より有効桁数の多い近
似解を出力レジスタ9にセツトする。この近似解
の有効桁数を24+14ビツトすなわち、最終の商と
して必要な有効桁数より14ビツト多いと仮定する
と、補正判定回路20には次に出力レジスタ9の
第24〜37ビツトの14ビツトが入力される。補正判
定回路20では前回と同様、入力信号が全て
“1”又は全て“0”であることを調べ、信号線
207により補正演算制御回路21に対し商の補
正演算が必要であるか否かを知らせる。補正が不
必要な場合は、直ちに演算終了信号202を送出
するとともに、出力レジスタ9の内容をシフタ1
0を通して出力データパス103に送り演算を終
了する。補正判定回路20によりに最終的に商の
補正が必要であると判定されると、補正演算回路
21は入力データ制御部22を起動し、除数を第
2オペランドレジスタ2に、出力レジスタ9の内
容のうち仮数部の有効桁に必要な上位ビツト(前
述の例では24ビツト)QHを第1オペランドレジ
スタ1にセツトする。次に補正演算制御回路21
は乗算制御部24を起動し、QH×(除数)の乗算
を行つた後、減算制御部を起動し、 |被除数|−|QH×(除数)|=R の減算を行なう。この減算は、第2図の主加算器
8を用いて実行しても良いし、他の減算器を用い
ても良い。
補正演算制御回路21は減算の結果であるRの
符号により、 R0の場合はQH R<0の場合はQH−2-24を計算し、 これを最終結果として出力データバス103に
送るとゝもに、演算終了信号202を送出して演
算を終了する。
符号により、 R0の場合はQH R<0の場合はQH−2-24を計算し、 これを最終結果として出力データバス103に
送るとゝもに、演算終了信号202を送出して演
算を終了する。
第4図に補正判定回路20の具体的論理回路図
を示す。図中31,33,37,38はAND回
路、32,34,35,36はOR回路である。
またAND回路31,33,OR回路32,34へ
の入力301〜314は第2図のレジスタ9の第
24〜37ビツトの出力信号を示す。AND回路3
7,38への入力208は制御信号であり、通常
は“0”、近似解の有効桁数が最終解である商に
必要な桁数を超える最小の回数の乗算を実行した
後信号301〜305が全て“0”又は全て
“1”となつた場合に“1”となる信号である。
を示す。図中31,33,37,38はAND回
路、32,34,35,36はOR回路である。
またAND回路31,33,OR回路32,34へ
の入力301〜314は第2図のレジスタ9の第
24〜37ビツトの出力信号を示す。AND回路3
7,38への入力208は制御信号であり、通常
は“0”、近似解の有効桁数が最終解である商に
必要な桁数を超える最小の回数の乗算を実行した
後信号301〜305が全て“0”又は全て
“1”となつた場合に“1”となる信号である。
まず制御信号208が“0”の状態で信号30
1〜305が回路31,32で調べられ、これら
が全て“0”又は全て“1”であると信号207
が“1”となり、第3図の補正演算制御回路21
を起動する。この結果、もう一回の乗算処理が実
行されるとともに、信号線208が“1”とな
り、次の補正の要否判定の準備が行なわれる。こ
の演算処理が終了すると、信号301〜314が
回路31,32,33,34で調べられ、これら
が全て“0”又は全て“1”であると再び信号2
07が“1”となり、以後補正演算制御回路21
の制御の下に商の最終補正演算が実行される。
1〜305が回路31,32で調べられ、これら
が全て“0”又は全て“1”であると信号207
が“1”となり、第3図の補正演算制御回路21
を起動する。この結果、もう一回の乗算処理が実
行されるとともに、信号線208が“1”とな
り、次の補正の要否判定の準備が行なわれる。こ
の演算処理が終了すると、信号301〜314が
回路31,32,33,34で調べられ、これら
が全て“0”又は全て“1”であると再び信号2
07が“1”となり、以後補正演算制御回路21
の制御の下に商の最終補正演算が実行される。
なお、第3図及び第4図の説明で、補正判定回
路20の入力としてはレジスタ9の第24〜37ビツ
トの14ビツトを用いるとしたが、ビツト位置は演
算の方式、仮定部の有効桁等により異なり、入力
のビツト数も、演算の繰返しにより仮定部の有効
桁よりも何ビツト余分に商を求めるか等により変
化するもので、本発明いずれの場合にも適用可能
である。また、第3図の21に示した補正演算の
制御はマイクロプログラムで実行しても良い。
路20の入力としてはレジスタ9の第24〜37ビツ
トの14ビツトを用いるとしたが、ビツト位置は演
算の方式、仮定部の有効桁等により異なり、入力
のビツト数も、演算の繰返しにより仮定部の有効
桁よりも何ビツト余分に商を求めるか等により変
化するもので、本発明いずれの場合にも適用可能
である。また、第3図の21に示した補正演算の
制御はマイクロプログラムで実行しても良い。
以上説明した如く、本発明によれば、演算を繰
返すことにより近似解を求める除算方式の利点、
すなわち、比較的金物量の増加が少なく、しかも
制御が簡単であるという利点を生かしつゝ、高速
に且つ正確に商を求めることが可能である。
返すことにより近似解を求める除算方式の利点、
すなわち、比較的金物量の増加が少なく、しかも
制御が簡単であるという利点を生かしつゝ、高速
に且つ正確に商を求めることが可能である。
第1図は浮動小数点表示データのデータ形式の
一例を示す図、第2図は一般的な高速乗除算回路
を示すブロツク図、第3図は本発明の一実施例を
示すブロツク図、第4図は第3図の補正判定回路
の具体的構成例を示す図である。 1,2……オペランドレジスタ、3……主乗算
回路、8……主加算器、9……出力レジスタ、1
0……シフタ、11……近似乗算テーブル、20
……補正判定回路、21……補正演算制御回路。
一例を示す図、第2図は一般的な高速乗除算回路
を示すブロツク図、第3図は本発明の一実施例を
示すブロツク図、第4図は第3図の補正判定回路
の具体的構成例を示す図である。 1,2……オペランドレジスタ、3……主乗算
回路、8……主加算器、9……出力レジスタ、1
0……シフタ、11……近似乗算テーブル、20
……補正判定回路、21……補正演算制御回路。
Claims (1)
- 1 乗算を繰返すことにより近似解を求める方式
であつて、且つ最終的な商に必要な有効桁数mビ
ツトよりn1ビツトだけ余分に近似解を求め、この
近似解の上位からm+n1ビツト位置に1加え、こ
の結果の上位mビツトを商Qとするラウンド処理
を行なう除算方式を採用したデータ処理装置にお
いて、上記余分に求めたn1ビツトの内容を調べ、
補正が必要であるか否かを判定する手段と、その
結果、補正が必要と判定されると、更にもう1回
又は複数回の乗算処理を実施して、商に必要な有
効桁数mよりn2ビツト(n1<n2)だけ余分の有効
桁数をもつ近似解を求め、該余分に求めたn2ビツ
トの内容を再度調べて最終的に商の補正の要否を
判定する手段と、最終的に補正が必要な場合、上
記Qと除数の積を計算する手段と、|被除数|−
|Q×除数|=Rを求める手段とを備え、補正が
不必要な場合はQを補正が必要な場合は、R0
の時はQを、R<0の時はQの最下位ビツト位置
から1減じた値を最終の商とする補正を、平均的
に見て短時間で行なえるようにしたことを特徴と
するデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2346479A JPS55116143A (en) | 1979-03-02 | 1979-03-02 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2346479A JPS55116143A (en) | 1979-03-02 | 1979-03-02 | Data processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS55116143A JPS55116143A (en) | 1980-09-06 |
JPS6129020B2 true JPS6129020B2 (ja) | 1986-07-03 |
Family
ID=12111234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2346479A Granted JPS55116143A (en) | 1979-03-02 | 1979-03-02 | Data processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS55116143A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62160730U (ja) * | 1986-04-01 | 1987-10-13 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4878190A (en) * | 1988-01-29 | 1989-10-31 | Texas Instruments Incorporated | Floating point/integer processor with divide and square root functions |
-
1979
- 1979-03-02 JP JP2346479A patent/JPS55116143A/ja active Granted
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62160730U (ja) * | 1986-04-01 | 1987-10-13 |
Also Published As
Publication number | Publication date |
---|---|
JPS55116143A (en) | 1980-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6138135A (en) | Propagating NaNs during high precision calculations using lesser precision hardware | |
EP0472139A2 (en) | A floating-point processor | |
JP3178746B2 (ja) | 浮動小数点数のためのフォーマット変換装置 | |
CN111813371B (zh) | 数字信号处理的浮点除法运算方法、系统及可读介质 | |
US4594680A (en) | Apparatus for performing quadratic convergence division in a large data processing system | |
US5341320A (en) | Method for rapidly processing floating-point operations which involve exceptions | |
US4386413A (en) | Method and apparatus of providing a result of a numerical calculation with the number of exact significant figures | |
JP2511527B2 (ja) | 浮動小数点演算器 | |
JPH07107664B2 (ja) | 乗算回路 | |
JPS6129020B2 (ja) | ||
US4951238A (en) | Processor for executing arithmetic operations on input data and constant data with a small error | |
JPS5968058A (ja) | フロ−テイング乗算器 | |
JPH10187416A (ja) | 浮動小数点演算装置 | |
JPH0540605A (ja) | 浮動小数点乗算装置 | |
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
GB2116757A (en) | Division apparatus | |
US5689721A (en) | Detecting overflow conditions for negative quotients in nonrestoring two's complement division | |
US5208769A (en) | Unsigned integer multiply/divide circuit | |
JP3137131B2 (ja) | 浮動小数点乗算器及び乗算方法 | |
JPH0285922A (ja) | 演算回路 | |
JP2512801B2 (ja) | 乗算器 | |
JPS592055B2 (ja) | 開平演算方式 | |
JP3100868B2 (ja) | 浮動小数点数のための算術演算装置 | |
JPH0383126A (ja) | 浮動小数点乗算器 | |
JPH086762A (ja) | 乗算回路 |