JPH0368414B2 - - Google Patents
Info
- Publication number
- JPH0368414B2 JPH0368414B2 JP57038016A JP3801682A JPH0368414B2 JP H0368414 B2 JPH0368414 B2 JP H0368414B2 JP 57038016 A JP57038016 A JP 57038016A JP 3801682 A JP3801682 A JP 3801682A JP H0368414 B2 JPH0368414 B2 JP H0368414B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- value
- remainder
- quotient
- divisor
- 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
- 238000000034 method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 6
- 230000010365 information processing Effects 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
Description
【発明の詳細な説明】
本発明は、電子計算機の演算命令により、浮動
小数点数の除算の商と剰余を汎用レジスタ等の上
に与える情報処理装置に関するものである。
小数点数の除算の商と剰余を汎用レジスタ等の上
に与える情報処理装置に関するものである。
この種情報処理装置における実数値の演算は浮
動小数点によるのが通例である。従来の浮動小数
点除算は、結果として要求される精度までの除算
を行なつて商を得るものであり、剰余は得られな
い。しかしながら、商を整数値として得られるま
で計算した場合の剰余を必要とする場合がある。
これを求めるために、従来は、例えば、(米国特
許第3871578号)に示す装置を用いることができ
る。このような従来の装置では、本来除数である
べき数の逆数を乗数とする乗算を行ない、この整
数部と小数部とを分離して、それぞれを演算結果
とするものである。しかしこの計算は本質的に近
似法であるため、正確な剰余を必要とする計算に
は使用できない。
動小数点によるのが通例である。従来の浮動小数
点除算は、結果として要求される精度までの除算
を行なつて商を得るものであり、剰余は得られな
い。しかしながら、商を整数値として得られるま
で計算した場合の剰余を必要とする場合がある。
これを求めるために、従来は、例えば、(米国特
許第3871578号)に示す装置を用いることができ
る。このような従来の装置では、本来除数である
べき数の逆数を乗数とする乗算を行ない、この整
数部と小数部とを分離して、それぞれを演算結果
とするものである。しかしこの計算は本質的に近
似法であるため、正確な剰余を必要とする計算に
は使用できない。
すなわち、従来は除数の逆数を乗数とする乗算
を行なつているので、一般に除数が正しく浮動小
数点数として表わされていても、逆数の浮動小数
点数表現は正しい値を表わし得ない。これが近似
計算である理由の第1である。次に、除数の逆数
との積の値の小数点位置以上の整数部は正しい商
を表わしているが、積の値の小数点位置以下の小
数部は、このままでは剰余を表わさず、この値と
除数との積が剰余である。この剰余を求める演算
によつて誤差が生じることが、近似計算である理
由の第2である。従来は、以上の2つの理由によ
り、近似計算を行なうに過ぎず、正確な剰余を得
ることができなかつた。
を行なつているので、一般に除数が正しく浮動小
数点数として表わされていても、逆数の浮動小数
点数表現は正しい値を表わし得ない。これが近似
計算である理由の第1である。次に、除数の逆数
との積の値の小数点位置以上の整数部は正しい商
を表わしているが、積の値の小数点位置以下の小
数部は、このままでは剰余を表わさず、この値と
除数との積が剰余である。この剰余を求める演算
によつて誤差が生じることが、近似計算である理
由の第2である。従来は、以上の2つの理由によ
り、近似計算を行なうに過ぎず、正確な剰余を得
ることができなかつた。
本発明の目的は、浮動小数点データの除算にお
いて、演算結果としての商および剰余を、非常に
精度良く得ることができる情報処理装置を提供す
ることにある。
いて、演算結果としての商および剰余を、非常に
精度良く得ることができる情報処理装置を提供す
ることにある。
このような目的を達成するために、本発明で
は、被除数の指数部および仮数部をそれぞれ保持
する第1および第2のレジスタと、除数の指数部
および仮数部をそれぞれ保持する第3および第4
のレジスタと、第1および第3のレジスタの指数
部の差を求める第1の演算手段と、第2および第
4のレジスタの符号が同一かどうかを判定する比
較手段と、この比較手段の比較結果に応じて、第
2および第4のレジスタの内容の加算または減算
を行なう第2の演算手段と、第1の演算手段での
演算結果に応じた回数だけ、第2の演算手段での
演算を繰り返し、その中間過程で除数の仮数部を
第2の演算手段での演算結果で更新し、かつ、除
数の仮数部の値を桁移動させるようにする制御手
段とを備えたことに特徴がある。
は、被除数の指数部および仮数部をそれぞれ保持
する第1および第2のレジスタと、除数の指数部
および仮数部をそれぞれ保持する第3および第4
のレジスタと、第1および第3のレジスタの指数
部の差を求める第1の演算手段と、第2および第
4のレジスタの符号が同一かどうかを判定する比
較手段と、この比較手段の比較結果に応じて、第
2および第4のレジスタの内容の加算または減算
を行なう第2の演算手段と、第1の演算手段での
演算結果に応じた回数だけ、第2の演算手段での
演算を繰り返し、その中間過程で除数の仮数部を
第2の演算手段での演算結果で更新し、かつ、除
数の仮数部の値を桁移動させるようにする制御手
段とを備えたことに特徴がある。
以下、本発明の実施例を図面により詳細に説明
する。
する。
第1図は本発明による情報処理装置の主要部の
一実施例の構成を示すものである。
一実施例の構成を示すものである。
第1図において、レジスタ1,2は被除数を保
持するレジスタで、指数部レジスタ1と仮数部レ
ジスタ2よりなる。レジスタ3,4は除数を保持
するレジスタで、指数部レジスタ3と仮数部レジ
スタ4よりなる。レジスタ5,6は演算結果の剰
余を保持するレジスタで、指数部レジスタ5と仮
数部レジスタ6よりなる。これら3個のレジスタ
に保持されるデータは、正規化された浮動小数点
表現によるものとする。もしデータが正規化され
ていない場合には、以下に述べる処理に先立つ
て、正規化処理を行なうことは従来通りである。
また除数の値が0であるときは、従来通りの除算
の例外として扱う。除数の値が0でなく被除数の
値が0のときは、剰余および商を0とする。以下
の説明は除数、被除数ともに0でない場合につい
て行なう。
持するレジスタで、指数部レジスタ1と仮数部レ
ジスタ2よりなる。レジスタ3,4は除数を保持
するレジスタで、指数部レジスタ3と仮数部レジ
スタ4よりなる。レジスタ5,6は演算結果の剰
余を保持するレジスタで、指数部レジスタ5と仮
数部レジスタ6よりなる。これら3個のレジスタ
に保持されるデータは、正規化された浮動小数点
表現によるものとする。もしデータが正規化され
ていない場合には、以下に述べる処理に先立つ
て、正規化処理を行なうことは従来通りである。
また除数の値が0であるときは、従来通りの除算
の例外として扱う。除数の値が0でなく被除数の
値が0のときは、剰余および商を0とする。以下
の説明は除数、被除数ともに0でない場合につい
て行なう。
指数部と仮数部の表現形式は種々存在するが、
ここでは説明の便宜上次の通りとする。これ以外
の表現形式をとる場合でも本質的な差異はなく適
用可能であることはいうまでもない。すなわち、
指数部は整数で表わし、その負数は2の補数で表
わす。仮数部は値xに関する次の不等式を満たす
数値の2進ビツト列で表わし、その負数は2の補
数で表わす。
ここでは説明の便宜上次の通りとする。これ以外
の表現形式をとる場合でも本質的な差異はなく適
用可能であることはいうまでもない。すなわち、
指数部は整数で表わし、その負数は2の補数で表
わす。仮数部は値xに関する次の不等式を満たす
数値の2進ビツト列で表わし、その負数は2の補
数で表わす。
−2x<−1あるいは1x<2
レジスタ9は除算の途中における中間剰余を保
持するレジスタであり、その最左の1ビツト10
は剰余の符号を表わす。符号10が値0のとき非
負であり、値1のとき負であることは通例によ
る。レジスタ9には最初に、被除数の仮数の値を
格納し、これが最初の中間剰余となる。レジスタ
11は除数の仮数の値を格納するためのレジスタ
であり、その除算の間その値を変えない。なお、
レジスタ9はレジスタ2で、レジスタ11はレジ
スタ4で兼ねることもできる。
持するレジスタであり、その最左の1ビツト10
は剰余の符号を表わす。符号10が値0のとき非
負であり、値1のとき負であることは通例によ
る。レジスタ9には最初に、被除数の仮数の値を
格納し、これが最初の中間剰余となる。レジスタ
11は除数の仮数の値を格納するためのレジスタ
であり、その除算の間その値を変えない。なお、
レジスタ9はレジスタ2で、レジスタ11はレジ
スタ4で兼ねることもできる。
レジスタ7は被除数の指数部レジスタ1の値と
除数の指数部レジスタ3の値の差を保持するレジ
スタであり、これは除算の主要部を占める繰返し
の回数を定めるために用いられる。レジスタ8は
シフトレジスタであり、符号比較器15の結果に
よつて値が設定されるが、設定方法は除算の3ス
テツプ(a)前処理、(b)繰返し、(c)後処理によつて異
なる。演算器14は、加減算を行なうもので、そ
こで加算を行なうか、減算を行なうかは比較器1
5の結果によつて定まる。この演算器14は、比
較器15の結果が0のとき、すなわち中間剰余の
符号と除数の符号が一致しないとき加算器とし
て、同じく1のとき、すなわち両符号が一致する
とき減算器として働らく。演算器13は常に減算
器として働らき、レジスタ1からの入力13aの
値から、レジスタ3からの入力13bの値を減じ
た結果を出力レジスタ7に保持する。なお、この
演算器13は演算器14で兼ねてもよい。
除数の指数部レジスタ3の値の差を保持するレジ
スタであり、これは除算の主要部を占める繰返し
の回数を定めるために用いられる。レジスタ8は
シフトレジスタであり、符号比較器15の結果に
よつて値が設定されるが、設定方法は除算の3ス
テツプ(a)前処理、(b)繰返し、(c)後処理によつて異
なる。演算器14は、加減算を行なうもので、そ
こで加算を行なうか、減算を行なうかは比較器1
5の結果によつて定まる。この演算器14は、比
較器15の結果が0のとき、すなわち中間剰余の
符号と除数の符号が一致しないとき加算器とし
て、同じく1のとき、すなわち両符号が一致する
とき減算器として働らく。演算器13は常に減算
器として働らき、レジスタ1からの入力13aの
値から、レジスタ3からの入力13bの値を減じ
た結果を出力レジスタ7に保持する。なお、この
演算器13は演算器14で兼ねてもよい。
比較器15は、レジスタ9の符号ビツト10
と、レジスタ11の符号ビツト12の値によつて
結果が定まり、その結果は、第2図に示す通り、
両入力が等しいとき1、等しくないとき0とな
る。
と、レジスタ11の符号ビツト12の値によつて
結果が定まり、その結果は、第2図に示す通り、
両入力が等しいとき1、等しくないとき0とな
る。
シフタ16はレジスタ9の値を演算器14の第
1入力14aに1ビツト左シフトしたものを転送
するためのものである。1ビツト左シフトする母
線20の他に、シフトしない母線21を設ける。
1入力14aに1ビツト左シフトしたものを転送
するためのものである。1ビツト左シフトする母
線20の他に、シフトしない母線21を設ける。
第3図は、第1図の装置によつて除算を行なう
制御手順の一例を示すもので、これらの制御は、
図示されていないプロセツサによつて行なわれ
る。
制御手順の一例を示すもので、これらの制御は、
図示されていないプロセツサによつて行なわれ
る。
除算は(a)前処理、(b)繰返し処理、(c)後処理の3
つの処理からなつており、これらを順次、第3図
を参照しながら説明する。
つの処理からなつており、これらを順次、第3図
を参照しながら説明する。
(a) 前処理
まず、被除数の仮数部レジスタ2の値をレジ
スタ9に除数の仮数部レジスタ4の値をレジス
タ11に転送する(第3図のステツプ31,32)
レジスタ9の値を演算器14の第1入力14a
として、母線21を通して転送する。また、レ
ジスタ11の値を演算器14の第2入力14b
として転送する。演算器14の減算の結果をレ
ジスタ9に転送する。一方、レジスタ9の符号
ビツト10とレジスタ11の符号ビツト12を
比較器15に送り比較を行ない、両ビツトが同
じであれば1を出力し、同じでなければ0を出
力する。比較器15の比較結果の値が、0のと
きシフトレジスタ8をすべて1に、1のときす
べて0に設定する(第3図のステツプ33)。こ
れは、「足し戻しをしない除算」として知られ
た演算のための初期条件の設定である。通常こ
の演算は、次項の繰返し処理と同じ操作を行な
つて、最後に符号ビツトの0と1の反転によつ
て実現するが、本発明の場合には、一般の手法
と異なり、次項の繰返し処理の回数が、仮数部
の有効ビツト数とは異なるため、最後の符号ビ
ツトの0と1の反転のみでは実現できないから
である。
スタ9に除数の仮数部レジスタ4の値をレジス
タ11に転送する(第3図のステツプ31,32)
レジスタ9の値を演算器14の第1入力14a
として、母線21を通して転送する。また、レ
ジスタ11の値を演算器14の第2入力14b
として転送する。演算器14の減算の結果をレ
ジスタ9に転送する。一方、レジスタ9の符号
ビツト10とレジスタ11の符号ビツト12を
比較器15に送り比較を行ない、両ビツトが同
じであれば1を出力し、同じでなければ0を出
力する。比較器15の比較結果の値が、0のと
きシフトレジスタ8をすべて1に、1のときす
べて0に設定する(第3図のステツプ33)。こ
れは、「足し戻しをしない除算」として知られ
た演算のための初期条件の設定である。通常こ
の演算は、次項の繰返し処理と同じ操作を行な
つて、最後に符号ビツトの0と1の反転によつ
て実現するが、本発明の場合には、一般の手法
と異なり、次項の繰返し処理の回数が、仮数部
の有効ビツト数とは異なるため、最後の符号ビ
ツトの0と1の反転のみでは実現できないから
である。
指数部レジスタ1の値を演算器13の第1入
力13aとして入れるとともに、指数部レジス
タ3の値を演算器13の第2入力13bとして
入れる。演算器13は、第1入力13aの値か
ら第2入力13bの値を減じ、その結果の値n
をレジスタ7に保持する(第3図のステツプ
34) (b) 繰返し処理 次のことを、レジスタ7の値nに1を加えた
回数だけ行なう。
力13aとして入れるとともに、指数部レジス
タ3の値を演算器13の第2入力13bとして
入れる。演算器13は、第1入力13aの値か
ら第2入力13bの値を減じ、その結果の値n
をレジスタ7に保持する(第3図のステツプ
34) (b) 繰返し処理 次のことを、レジスタ7の値nに1を加えた
回数だけ行なう。
すなわち、レジスタ7の値nを調べ(第3図
のステツプ35)、それが負でなければ、レジス
タ7の値を1だけ減少する(第3図のステツプ
36)とともに、比較器15で、レジスタ9と1
1の符号を比較する(第3図のステツプ37)。
のステツプ35)、それが負でなければ、レジス
タ7の値を1だけ減少する(第3図のステツプ
36)とともに、比較器15で、レジスタ9と1
1の符号を比較する(第3図のステツプ37)。
レジスタ9の値を、シフタ16を通して、母
線20によつて、演算器14の第1入力14a
として転送する。レジスタ11の値を演算器1
4の第2入力14bとして転送する。比較器1
5の結果によつて演算器14を加算器あるいは
減算器として働かせ、出力結果をレジスタ9に
転送する(第3図のステツプ39,41)。
線20によつて、演算器14の第1入力14a
として転送する。レジスタ11の値を演算器1
4の第2入力14bとして転送する。比較器1
5の結果によつて演算器14を加算器あるいは
減算器として働かせ、出力結果をレジスタ9に
転送する(第3図のステツプ39,41)。
また、シフトレジスタ8の内容を1ビツト左
にシフトし、最も右のビツトとし、比較器15
の結果の値を設定する(第3図のステツプ38,
40)。
にシフトし、最も右のビツトとし、比較器15
の結果の値を設定する(第3図のステツプ38,
40)。
この部分の処理は、「足し戻しをしない除算」
として知られた演算である。剰余と除数が同符
号のときは商1を立てて減算し、異符号のとき
は商−1を立てて加算する。この演算によれば
常に最新の商のビツトは1であるが、その直前
の商は、商1が立つときは1のまま、商−1が
立つときは引算の借りにより0となる。したが
つて、直前の商として、同符号のとき1、異符
号のとき0を立てるわけである。
として知られた演算である。剰余と除数が同符
号のときは商1を立てて減算し、異符号のとき
は商−1を立てて加算する。この演算によれば
常に最新の商のビツトは1であるが、その直前
の商は、商1が立つときは1のまま、商−1が
立つときは引算の借りにより0となる。したが
つて、直前の商として、同符号のとき1、異符
号のとき0を立てるわけである。
以上のことから、この繰返しを終つたとき、
最後の商は1であることを考慮しなければなら
ない。繰返しの回数を、レジスタ7の値に1を
加えたものとする理由は、商として0.5あるい
は−0.5まで求めるためである。これによつて、
剰余rの範囲が、除数dによつて次の範囲とな
る。
最後の商は1であることを考慮しなければなら
ない。繰返しの回数を、レジスタ7の値に1を
加えたものとする理由は、商として0.5あるい
は−0.5まで求めるためである。これによつて、
剰余rの範囲が、除数dによつて次の範囲とな
る。
−|d|/2r<|d|/2
剰余rの範囲をこの通りとすることによつて、
次の後処理を容易にすることができる。
次の後処理を容易にすることができる。
(c) 後処理
レジスタ9の値を、母線21を通つて演算器
14の第1入力14aとして転送する。その第
2入力についてはこれまでと同じである。演算
器14において、比較器15の比較結果によつ
て加算あるいは減算を行なつて、演算結果をレ
ジスタ6に転送する(第5図のステツプ43)。
レジスタ3の値から1だけ減じた値をレジスタ
5に転送する。シフトレジスタ8については、
比較器15の値が0のときはそのまま、1のと
きは、1を加える(第3図のステツプ42)。
14の第1入力14aとして転送する。その第
2入力についてはこれまでと同じである。演算
器14において、比較器15の比較結果によつ
て加算あるいは減算を行なつて、演算結果をレ
ジスタ6に転送する(第5図のステツプ43)。
レジスタ3の値から1だけ減じた値をレジスタ
5に転送する。シフトレジスタ8については、
比較器15の値が0のときはそのまま、1のと
きは、1を加える(第3図のステツプ42)。
この処理は、(b)繰返しの最後の商が0.5ある
いは−0.5であるものを整数に補正するための
ものである。
いは−0.5であるものを整数に補正するための
ものである。
以上によつて、シフトレジスタ8には商が固定
小数点形式で、レジスタ5,6に剰余が浮動小数
点形式が得られる。固定小数点形式から浮動小数
点形式への変形、浮動小数点数の正規化について
は、必要に応じてこれを行なつてもよい。
小数点形式で、レジスタ5,6に剰余が浮動小数
点形式が得られる。固定小数点形式から浮動小数
点形式への変形、浮動小数点数の正規化について
は、必要に応じてこれを行なつてもよい。
本発明によれば、浮動小数点形式で表現された
数値の除算の商を整数値として得るように繰返し
回数を制御し、整数の商とそのときの剰余とを得
るための手段を与えることによつて、正しく剰余
を得ることができるため、例えば、次に述べる周
期関数値等の計算を精度よく行なえる。
数値の除算の商を整数値として得るように繰返し
回数を制御し、整数の商とそのときの剰余とを得
るための手段を与えることによつて、正しく剰余
を得ることができるため、例えば、次に述べる周
期関数値等の計算を精度よく行なえる。
浮動小数点数の除算において、商と剰余を同時
に求め得ることによる効果を示す例を述べる。
に求め得ることによる効果を示す例を述べる。
三角関数は周期関数である。このうち正接関数
の周期は弧度法で表わすときπ(円周率)である。
しかし次の関係式も知られている。
の周期は弧度法で表わすときπ(円周率)である。
しかし次の関係式も知られている。
tan((2i+1)π/2+r)=−1/tanr
これを用いて、正接関数値の値を
−π/4r<π/4
におけるtan rの値の計算に基づいて計算するこ
とができるから、実質的に周期はπ/2であると
考えて差しつかえない。また従来多くの正接関数
計算用サブルーチンはこのように作られてきてい
る。
とができるから、実質的に周期はπ/2であると
考えて差しつかえない。また従来多くの正接関数
計算用サブルーチンはこのように作られてきてい
る。
以上のことから、正接関数値の計算においては
独立変数xをπ/2で除した商qと剰余rとを求
めることによつて、次の2ステツプで計算でき
る。
独立変数xをπ/2で除した商qと剰余rとを求
めることによつて、次の2ステツプで計算でき
る。
(a) 区間
−π/4r<π/4
における正接関数値計算ルーチンによりtan
rの値を求める。
rの値を求める。
(b) qの偶奇により、qが偶数のときはそのまま
奇数のときは−1/tan rを計算する。
奇数のときは−1/tan rを計算する。
ここでqは整数、rは次の区間を満たすよう
に定める。
に定める。
−π/4r<π/4
このように、単に剰余のみでなく、商も同時に
求められると効果的である場合が存在し、三角関
数の計算は多くの場合そうである。
求められると効果的である場合が存在し、三角関
数の計算は多くの場合そうである。
剰余として得られる結果の値の範囲は、理論的
には一通りに決まるわけではないが、実用的には
それらのうちの一つとして、絶対値が最も小とな
るものを選ぶのがよい。その理由は、浮動小数点
表現が、数値の有効桁数を可能なかぎり保持する
目的で使われるものであるから、絶対値の小なる
数値ほど、絶対値としてのきめ細かさが保存され
るからである。したがつて、剰余の値rとしてと
り得る範囲は、除数の絶対値をdとするとき、 −d/2r<d/2 とする。符号については、上のものに限ることは
なく、右の不等号に付けてもよいし、除数、被除
数の符号によつて定まるようにしても、実用的に
何ら差し支えない。
には一通りに決まるわけではないが、実用的には
それらのうちの一つとして、絶対値が最も小とな
るものを選ぶのがよい。その理由は、浮動小数点
表現が、数値の有効桁数を可能なかぎり保持する
目的で使われるものであるから、絶対値の小なる
数値ほど、絶対値としてのきめ細かさが保存され
るからである。したがつて、剰余の値rとしてと
り得る範囲は、除数の絶対値をdとするとき、 −d/2r<d/2 とする。符号については、上のものに限ることは
なく、右の不等号に付けてもよいし、除数、被除
数の符号によつて定まるようにしても、実用的に
何ら差し支えない。
除数dによる除算の代りに1/dとの積を計算
し、整数部と小数部に分離するようにした従来の
装置(例えば、米国特許第3871578号)に比べて、
本発明は次のような効果がある。
し、整数部と小数部に分離するようにした従来の
装置(例えば、米国特許第3871578号)に比べて、
本発明は次のような効果がある。
(1) 従来のものでは、浮動小数点除算での商は計
算できるが剰余は直接できないのに対して、本
発明では、商とともに、剰余を直接計算でき
る。
算できるが剰余は直接できないのに対して、本
発明では、商とともに、剰余を直接計算でき
る。
(2) 従来のものでは、求めた小数部に除数dを乗
ずれば剰余を求めることができるが、正しい値
でないのに対して、本発明は正しい剰余が得ら
れる。
ずれば剰余を求めることができるが、正しい値
でないのに対して、本発明は正しい剰余が得ら
れる。
(3) 従来の場合、浮動小数点数の乗法の演算の結
果、乗数と同じ有効桁数だけ得られるが、小数
点以上の整数部の有効桁数の分だけ小数部の有
効桁数が減少するため、剰余計算の代替演算と
はなり得ないのに対して、本発明ではそのよう
な不都合はない。
果、乗数と同じ有効桁数だけ得られるが、小数
点以上の整数部の有効桁数の分だけ小数部の有
効桁数が減少するため、剰余計算の代替演算と
はなり得ないのに対して、本発明ではそのよう
な不都合はない。
(4) 従来のものでは、三角関数等の近似公式は独
立変数の簡単な関数になつているが、乗法によ
る小数部を用いる時は独立変数に一次変換を施
した公式を用いなければならないので、公式の
係数の誤差が生ずるとともに、小数部を得るた
めに、dを乗じた時に誤差が生じ、それらの誤
差が複合して大きな誤差となるのに対して、本
発明はそのような誤差は全く生じない。
立変数の簡単な関数になつているが、乗法によ
る小数部を用いる時は独立変数に一次変換を施
した公式を用いなければならないので、公式の
係数の誤差が生ずるとともに、小数部を得るた
めに、dを乗じた時に誤差が生じ、それらの誤
差が複合して大きな誤差となるのに対して、本
発明はそのような誤差は全く生じない。
第1図は本発明による情報処理装置の主要部の
一実施例の構成図、第2図は第1図の比較器での
比較結果を表わす図、第3図は第1図の制御手順
の一例を示すフローチヤートである。 1〜12……レジスタ、13,14……演算
器、15……比較器、16……シフタ。
一実施例の構成図、第2図は第1図の比較器での
比較結果を表わす図、第3図は第1図の制御手順
の一例を示すフローチヤートである。 1〜12……レジスタ、13,14……演算
器、15……比較器、16……シフタ。
1 サイクルタイムで、nビツトの商を生成する
高基数非回復型除算器であつて、除数レジスタ
と、除数の倍数発生回路と、桁上げ先見回路を持
つ加算器と、部分商予測器と、部分商発生器と、
部分剰余レジスタと、剰余補正回路とから構成さ
れる除算装置において、上記倍数発生回路と、桁
上げ先見回路とを、複数個の乗算ルートを備えた
nより少ない複数の乗算器、及び減数レジスタ
と、1段、又は複数段の桁上げ保存加算器と、桁
上げ先見回路を持つ加算器とで構成し、上記複数
個の乗算ルートを備えたnより少ない複数の乗算
器のそれぞれで形成される複数の乗算ルートを、
上記部分予測器からの部分予測信号に基づいて選
択して得た乗算出力値を、それぞれ対応した減数
レジスタにセツトし、該セツトされた上記複数個
の減数レジスタのデータを加算することで、上記
除数の倍数データを生成し、該生成された倍数デ
ータを、上記部分剰余レジスタの値から加減算し
て、和ビツト(S)とキヤリビツト(C)とを得ることを
上記1段、又は複数段の桁上げ保存加算器で行
い、該得られた和ビツト(S)とキヤリビツト(C)を上
記桁上げ先見回路を持つ加算器に入力して次のサ
イクルの部分剰余とすることを特徴とする除算装
置。
高基数非回復型除算器であつて、除数レジスタ
と、除数の倍数発生回路と、桁上げ先見回路を持
つ加算器と、部分商予測器と、部分商発生器と、
部分剰余レジスタと、剰余補正回路とから構成さ
れる除算装置において、上記倍数発生回路と、桁
上げ先見回路とを、複数個の乗算ルートを備えた
nより少ない複数の乗算器、及び減数レジスタ
と、1段、又は複数段の桁上げ保存加算器と、桁
上げ先見回路を持つ加算器とで構成し、上記複数
個の乗算ルートを備えたnより少ない複数の乗算
器のそれぞれで形成される複数の乗算ルートを、
上記部分予測器からの部分予測信号に基づいて選
択して得た乗算出力値を、それぞれ対応した減数
レジスタにセツトし、該セツトされた上記複数個
の減数レジスタのデータを加算することで、上記
除数の倍数データを生成し、該生成された倍数デ
ータを、上記部分剰余レジスタの値から加減算し
て、和ビツト(S)とキヤリビツト(C)とを得ることを
上記1段、又は複数段の桁上げ保存加算器で行
い、該得られた和ビツト(S)とキヤリビツト(C)を上
記桁上げ先見回路を持つ加算器に入力して次のサ
イクルの部分剰余とすることを特徴とする除算装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57038016A JPS58155456A (ja) | 1982-03-12 | 1982-03-12 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57038016A JPS58155456A (ja) | 1982-03-12 | 1982-03-12 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58155456A JPS58155456A (ja) | 1983-09-16 |
JPH0368414B2 true JPH0368414B2 (ja) | 1991-10-28 |
Family
ID=12513773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57038016A Granted JPS58155456A (ja) | 1982-03-12 | 1982-03-12 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS58155456A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4846237A (ja) * | 1971-10-13 | 1973-07-02 | ||
JPS5010933A (ja) * | 1973-05-28 | 1975-02-04 |
-
1982
- 1982-03-12 JP JP57038016A patent/JPS58155456A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4846237A (ja) * | 1971-10-13 | 1973-07-02 | ||
JPS5010933A (ja) * | 1973-05-28 | 1975-02-04 |
Also Published As
Publication number | Publication date |
---|---|
JPS58155456A (ja) | 1983-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3541066B2 (ja) | コンピュータにおいて除算および平方根計算を実施するための方法および装置 | |
EP0149248B1 (en) | Method and apparatus for division using interpolation approximation | |
US5249149A (en) | Method and apparatus for performining floating point division | |
USRE39385E1 (en) | Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier | |
US5184318A (en) | Rectangular array signed digit multiplier | |
JPH03136129A (ja) | 除算回路及び除算方法 | |
KR100241076B1 (ko) | 조정및정규화클래스를구비한부동소수점승산및누산장치 | |
KR100203468B1 (ko) | 부동소수점수를 위한 산술연산장치 | |
US8060551B2 (en) | Method and apparatus for integer division | |
US5144576A (en) | Signed digit multiplier | |
JPH02112023A (ja) | 基数16除算器 | |
US4594680A (en) | Apparatus for performing quadratic convergence division in a large data processing system | |
US5784307A (en) | Division algorithm for floating point or integer numbers | |
US5408426A (en) | Arithmetic unit capable of performing concurrent operations for high speed operation | |
US5278782A (en) | Square root operation device | |
JPH0477932B2 (ja) | ||
US5818745A (en) | Computer for performing non-restoring division | |
EP0436905B1 (en) | High performance adder using carry predictions | |
EP0377992A2 (en) | Floating point division method and apparatus | |
JP2558669B2 (ja) | 浮動小数点演算装置 | |
JPH0772860B2 (ja) | 演算方式 | |
JPH0368414B2 (ja) | ||
US5689721A (en) | Detecting overflow conditions for negative quotients in nonrestoring two's complement division | |
JP2578482B2 (ja) | 浮動小数点演算器 | |
US5208769A (en) | Unsigned integer multiply/divide circuit |