JPH02166517A - 除算方式 - Google Patents
除算方式Info
- Publication number
- JPH02166517A JPH02166517A JP88323088A JP32308888A JPH02166517A JP H02166517 A JPH02166517 A JP H02166517A JP 88323088 A JP88323088 A JP 88323088A JP 32308888 A JP32308888 A JP 32308888A JP H02166517 A JPH02166517 A JP H02166517A
- Authority
- JP
- Japan
- Prior art keywords
- register
- mantissa
- divisor
- result
- dividend
- 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
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
1丘豆!
本発明は除算方式に関し、特に浮動小数点データの桁合
せに要する処理を高速に実行する除算方式に関する。
せに要する処理を高速に実行する除算方式に関する。
良米及l
従来、浮動小数点データの除算を実行する際には以下の
ようなオペランドの桁合せが必要とされている。
ようなオペランドの桁合せが必要とされている。
除数と被除数との仮数部同士を比較し、被除数の仮数部
の大きさが除数の仮数部の大きさより大きい場合には、
被除数の仮数部が除数の仮数部よりも小さくなるまで右
シフトを行い、同時に被除数の指数部に上記右シフト量
を加算する6次に、除数が2進正規形となるまで除数と
被除数を同量左シフトする。
の大きさが除数の仮数部の大きさより大きい場合には、
被除数の仮数部が除数の仮数部よりも小さくなるまで右
シフトを行い、同時に被除数の指数部に上記右シフト量
を加算する6次に、除数が2進正規形となるまで除数と
被除数を同量左シフトする。
上記のような桁合せは例えば第2図のような構成で実行
されている。第2図を用いたオペランドの桁合せは以下
のようになる。なお、ここでは指数の基数が2すなわち
指数が2″″ (n:整数)のnをあられす場合に限っ
て説明する。
されている。第2図を用いたオペランドの桁合せは以下
のようになる。なお、ここでは指数の基数が2すなわち
指数が2″″ (n:整数)のnをあられす場合に限っ
て説明する。
(1)指数レジスタAllに被除数の指数部、指数レジ
スタB12に除数の指数部、固定小数点レジスタA2に
被除数Ω仮数部、固定小数点レジスタB3と仮数レジス
タB21とに被除数の仮数部を格納する。
スタB12に除数の指数部、固定小数点レジスタA2に
被除数Ω仮数部、固定小数点レジスタB3と仮数レジス
タB21とに被除数の仮数部を格納する。
(2)固定小数点比較器7において、固定小数点レジス
タA2と固定小数点レジスタB3との内容の大きさを比
較する。同時にシフトオペランドセレクタ8を通して固
定小数点レジスタB3の出力をリーディングサイン検出
回路23に入力し、このリーディングサイン検出回路2
3にて固定小数点レジスタB3の内容を2進正規形にす
るのに必要なシフト量を求める。また除数チェック回路
4において、除数が2進正規形か否かをチェックし、指
数減算器13で指数レジスタAllの内容から指数レジ
スタB12の内容を減算した結果を指数リザルトレジス
タ15に格納する。
タA2と固定小数点レジスタB3との内容の大きさを比
較する。同時にシフトオペランドセレクタ8を通して固
定小数点レジスタB3の出力をリーディングサイン検出
回路23に入力し、このリーディングサイン検出回路2
3にて固定小数点レジスタB3の内容を2進正規形にす
るのに必要なシフト量を求める。また除数チェック回路
4において、除数が2進正規形か否かをチェックし、指
数減算器13で指数レジスタAllの内容から指数レジ
スタB12の内容を減算した結果を指数リザルトレジス
タ15に格納する。
(3)■除数チェック回路4において、除数が2進正規
形であると判断されかつ固定小数点比較器7において被
除数が除数より小さいと判断された場合には、オペラン
ドセレクタ8を通して固定小数点レジスタA2の内容を
仮数レジスタA19に格納し、指数補正値レジスタ18
に“0″を格納し後の(10)を実行する。
形であると判断されかつ固定小数点比較器7において被
除数が除数より小さいと判断された場合には、オペラン
ドセレクタ8を通して固定小数点レジスタA2の内容を
仮数レジスタA19に格納し、指数補正値レジスタ18
に“0″を格納し後の(10)を実行する。
■除数チェック回路4において、除数が2進正規形であ
ると判断されかつ固定小数点比較器7において被除数が
除数よりも大きいと判断された場合には、シフトカウン
トレジスタ6、指数補正値レジスタ18に“1″を格納
して次の(4)を実行する。
ると判断されかつ固定小数点比較器7において被除数が
除数よりも大きいと判断された場合には、シフトカウン
トレジスタ6、指数補正値レジスタ18に“1″を格納
して次の(4)を実行する。
■除数チェック回路4において、除数が2進正規形でな
いと判断された場合には、リーディングサイン検出回路
23の出力をリーディングサインレジスタA24に格納
し、同時にシフトオペランドセレクタ8を通して固定小
数点レジスタA2の出力をリーディングサイン検出回路
23に入力し、後の(5)を実行する。
いと判断された場合には、リーディングサイン検出回路
23の出力をリーディングサインレジスタA24に格納
し、同時にシフトオペランドセレクタ8を通して固定小
数点レジスタA2の出力をリーディングサイン検出回路
23に入力し、後の(5)を実行する。
(4)■シフトオペランドセレクタ8を通してシフタ9
に固定小数点レジスタA2の内容を入力し、シフトカウ
ントレジスタ6の値に応じて右シフトした結果を、オペ
ランドセレクタ10を通して仮数レジスタA19、固定
小数点レジスタ2に夫々格納する。
に固定小数点レジスタA2の内容を入力し、シフトカウ
ントレジスタ6の値に応じて右シフトした結果を、オペ
ランドセレクタ10を通して仮数レジスタA19、固定
小数点レジスタ2に夫々格納する。
■前記■の結果、固定小数点比較器7において右シフト
した被除数が除数よりも小さいと判断された場合には、
そのまま(10)を実行し、大きいと判断された場合に
は指数補正値レジスタ18に“2″を格納し、シフタ9
において固定小数点レジスタA2の内容をシフトカウン
トレジスタ6の値に応じて再び右シフトした結果を、オ
ペランセレクタ10を通して仮数レジスタA19に格納
して(10)を実行する。
した被除数が除数よりも小さいと判断された場合には、
そのまま(10)を実行し、大きいと判断された場合に
は指数補正値レジスタ18に“2″を格納し、シフタ9
において固定小数点レジスタA2の内容をシフトカウン
トレジスタ6の値に応じて再び右シフトした結果を、オ
ペランセレクタ10を通して仮数レジスタA19に格納
して(10)を実行する。
(5)リーディングサインレジスタB25にリーディン
グサイン検出回路23の出力を格納し、リーディングサ
インレジスタA24の内容をシフトカウントレジスタ6
に格納したのち、シフタ6において固定小数点レジスタ
3の内容をシフトカウントレジスタ6の内容に応じて左
シフトした結果を、オペランドセレクタ10を通して仮
数レジスタ21に格納し次の(6)を実行する。
グサイン検出回路23の出力を格納し、リーディングサ
インレジスタA24の内容をシフトカウントレジスタ6
に格納したのち、シフタ6において固定小数点レジスタ
3の内容をシフトカウントレジスタ6の内容に応じて左
シフトした結果を、オペランドセレクタ10を通して仮
数レジスタ21に格納し次の(6)を実行する。
(6)■固定小数点比較器7において、被除数が除数よ
り小さいと判断された場合には、シフタ9において固定
小数点レジスタA2の内容をシフトカウントレジスタ6
の内容に応じて左シフトした結果を仮数レジスタA19
に格納し、指数補正値レジスタ18にOnを格納して(
10)を実行する。
り小さいと判断された場合には、シフタ9において固定
小数点レジスタA2の内容をシフトカウントレジスタ6
の内容に応じて左シフトした結果を仮数レジスタA19
に格納し、指数補正値レジスタ18にOnを格納して(
10)を実行する。
■固定小数点比較器7において、被除数が除数より大き
いと判断された場合には、シフト量生成回路28におい
てリーディングサインレジスタA24の内容からリーデ
ィングサインレジスタB25の内容を減じた結果を、シ
フトカウントレジスタ6と指数補正値レジスタ18に格
納し次の(7)を実行する。
いと判断された場合には、シフト量生成回路28におい
てリーディングサインレジスタA24の内容からリーデ
ィングサインレジスタB25の内容を減じた結果を、シ
フトカウントレジスタ6と指数補正値レジスタ18に格
納し次の(7)を実行する。
(7)指数リザルトレジスタ15と指数補正値レジスタ
18との内容を指数補正回路16において加算したのち
、再び指数リザルトレジスタ15に格納して指数補正値
レジスタ18の内容を“0′にする。同時に、シフタ9
において固定小数点レジスタA2の内容をシフトカウン
トレジスタ6の内容に応じて右シフトした結果を、オペ
ランドセレクタ10を通して固定小数点レジスタA2に
再び格納し次の(8)を実行する。
18との内容を指数補正回路16において加算したのち
、再び指数リザルトレジスタ15に格納して指数補正値
レジスタ18の内容を“0′にする。同時に、シフタ9
において固定小数点レジスタA2の内容をシフトカウン
トレジスタ6の内容に応じて右シフトした結果を、オペ
ランドセレクタ10を通して固定小数点レジスタA2に
再び格納し次の(8)を実行する。
(8)■固定小数点比較器7において、右シフトした被
除数が除数より小さいと判断された場合には、シフトカ
ウントレジスタ6にリーディングサインレジスタA24
の内容を再び入力し、シフタ9において固定小数点レジ
スタA2の内容をシフトカウントレジスタ6の内容に応
じて左シフトした結果を、オペランドセレクタ10を通
して仮数レジスタA19に格納して(10)を実行する
。
除数が除数より小さいと判断された場合には、シフトカ
ウントレジスタ6にリーディングサインレジスタA24
の内容を再び入力し、シフタ9において固定小数点レジ
スタA2の内容をシフトカウントレジスタ6の内容に応
じて左シフトした結果を、オペランドセレクタ10を通
して仮数レジスタA19に格納して(10)を実行する
。
■固定小数点比較器7において、右シフトした被除数が
除数より大きいと判断された場合には、シフトカウント
レジスタ6、指数補正値レジスタ18に“1“を夫々格
納し、シフタ9において固定小数点レジスタA2の内容
をシフトカウントレジスタ6の内容に応じて右シフトし
、再びオペランドセレクタ10を通して固定小数点レジ
スタA2に格納し次の(9)を実行する。
除数より大きいと判断された場合には、シフトカウント
レジスタ6、指数補正値レジスタ18に“1“を夫々格
納し、シフタ9において固定小数点レジスタA2の内容
をシフトカウントレジスタ6の内容に応じて右シフトし
、再びオペランドセレクタ10を通して固定小数点レジ
スタA2に格納し次の(9)を実行する。
(9)■固定小数点比較器7において、再び右シフトし
た被除数が除数よりも小さいと判断された場合には、シ
フトカウントレジスタ6にリーディングサインレジスタ
A24の内容を再び入力し、シフタ9において固定小数
点レジスタA2の内容をシフトカウントレジスタ6の内
容に応じて左シ′フトした結果を、オペランドセレクタ
10を通して仮数レジスタA19に格納して(10)を
実行する。
た被除数が除数よりも小さいと判断された場合には、シ
フトカウントレジスタ6にリーディングサインレジスタ
A24の内容を再び入力し、シフタ9において固定小数
点レジスタA2の内容をシフトカウントレジスタ6の内
容に応じて左シ′フトした結果を、オペランドセレクタ
10を通して仮数レジスタA19に格納して(10)を
実行する。
■固定小数点比較器7において、再び右シフトした被除
数が除数よりも大きいと判断された場合には、指数補正
値レジスタ18に“2″を格納し〜シフタ9において固
定小数点レジスタA2の内容をシフトカウントレジスタ
6の値に応じて右シフトした結果を、再び固定小数点レ
ジスタA2に入力し、さらにシフトカウントレジスタ6
に再びリーディングサインレジスタ24の内容を格納し
たのち、再びシフタ9において固定小数点レジスタA2
の内容をシフトカウントレジスタ6の値に応じて左シフ
トし、その結果をオペランドセレクタ38を通して仮数
レジスタA19に格納して(10)を実行する。
数が除数よりも大きいと判断された場合には、指数補正
値レジスタ18に“2″を格納し〜シフタ9において固
定小数点レジスタA2の内容をシフトカウントレジスタ
6の値に応じて右シフトした結果を、再び固定小数点レ
ジスタA2に入力し、さらにシフトカウントレジスタ6
に再びリーディングサインレジスタ24の内容を格納し
たのち、再びシフタ9において固定小数点レジスタA2
の内容をシフトカウントレジスタ6の値に応じて左シフ
トし、その結果をオペランドセレクタ38を通して仮数
レジスタA19に格納して(10)を実行する。
(10)指数リザルトレジスタ15の出力と指数補正値
レジスタ18の出力を指数補正回路16において加算し
た結果を、再び指数リザルトレジスタ15に入力する。
レジスタ18の出力を指数補正回路16において加算し
た結果を、再び指数リザルトレジスタ15に入力する。
また、仮数レジスタA19、仮数レジスタB21の出力
を用いて除算器22により除算を実行し、結果を仮数リ
ザルトレジスタ51へ入力する。
を用いて除算器22により除算を実行し、結果を仮数リ
ザルトレジスタ51へ入力する。
ここで示した従来例においては、指数が2島のnをあら
れす場合について示したものであるが、指数が16”の
nをあられすような場合でも同様である。なお後者のよ
うな場合、被除数の右シフトは4ビット単位となるので
本従来例とは多少異った方式となる。
れす場合について示したものであるが、指数が16”の
nをあられすような場合でも同様である。なお後者のよ
うな場合、被除数の右シフトは4ビット単位となるので
本従来例とは多少異った方式となる。
上述した従来の除算方式を用いると、その制御をハード
ウェアで実施する場合には金物社が、ファームウェアで
実施する場合にはステップ数が、夫々大量となりかつ複
雑となる。また被除数の仮数部が2進正規形でかつ除数
の仮数部が被除数の仮数部の大きさよりも大きい場合に
は、除算をすぐに開始することができるが、それ以外の
ケース特に除数の仮数部が2進(指数の基数が24=1
6の場合には16道)正規形でない場合でかつ被除数の
仮数部が除数の仮数部よりも大きい場合には、前処理に
かかる時間が非常に長くなるといった欠点がある。
ウェアで実施する場合には金物社が、ファームウェアで
実施する場合にはステップ数が、夫々大量となりかつ複
雑となる。また被除数の仮数部が2進正規形でかつ除数
の仮数部が被除数の仮数部の大きさよりも大きい場合に
は、除算をすぐに開始することができるが、それ以外の
ケース特に除数の仮数部が2進(指数の基数が24=1
6の場合には16道)正規形でない場合でかつ被除数の
仮数部が除数の仮数部よりも大きい場合には、前処理に
かかる時間が非常に長くなるといった欠点がある。
一般的に、浮動小数点命令は演算の後に正規形にする処
理を行っているため、プログラム中で用いられる演算デ
ータの大半は正規形になっていることが多い、従って後
者のようなケースは被除数が正規形で除数が正規形でな
い場合として比較的多くでてくるケースであるため、平
均的な命令実行時間に与える影響が少くない。
理を行っているため、プログラム中で用いられる演算デ
ータの大半は正規形になっていることが多い、従って後
者のようなケースは被除数が正規形で除数が正規形でな
い場合として比較的多くでてくるケースであるため、平
均的な命令実行時間に与える影響が少くない。
1肌塁1」
本発明の目的は、特に従来の除算方式において除数が正
規形でなくかつ被除数の仮数部が除数のそれより大なる
場合のオペランドの桁合せ処理を簡潔かつ高速化し、平
均的な除算命令実行時間を短くすることである。
規形でなくかつ被除数の仮数部が除数のそれより大なる
場合のオペランドの桁合せ処理を簡潔かつ高速化し、平
均的な除算命令実行時間を短くすることである。
1匪五璽羞
本発明による除算方式は、除数が正規形か否かを判定す
る除数チェック手段と、前記除数と被除数との仮数部の
絶対値の大きさを比較するオペランド比較手段と、前記
被除数の仮数部を右シフトし前記被除数のビット幅より
も下位側に、指数の基数より規定される2桁分だけビッ
ト幅を拡張した出力を有する拡張右シフタと、前記除数
と前記被除数との仮数部の除算を実行して商を出力する
除算手段と、前記拡張右シフタと同一のビット幅を有し
前記除算手段へ入力される被除数を保持する拡張仮数レ
ジスタと、前記除算手段へ入力される除数を保持し前記
除数と同一のビット幅を有する仮数レジスタと、前記除
算手段の商出力を指数の基数により規定される桁だけ左
シフトして出力する仮数リザルトセレクタとを設け、前
記除数チェック手段において前記除数が正規形でないと
判定されかつ前記オペランド比較手段により前記被除数
の仮数部が前記除数の仮数部よりも大きいと判定された
とき、前記除数の仮数部を正規形となるまで左シフトし
、その結果を前記仮数レジスタへ格納し、前記被除数の
仮数部を前記拡張右シックにおいて前記被除数と前記除
数との仮数部のリーディングサインカウントの差と指数
の基数より規定される右シフト数より2桁分多いビット
数だけ右シフトし、更にこの右シフト結果を前記除数を
正規形にするに必要なビット数だけ左シフトした結果を
前記拡張仮数レジスタに格納して前記除算手段により除
算を実行し、しかる後に前記拡張右シックにおいて前記
被除数の仮数部を前記被除数と前記除数との仮数部のリ
ーディングサインカウントの差と前記基数により規定さ
れる右シフト数だけシフトし、その結果が前記オペラン
ド比較手段により前記除数の仮数部よりも小であると判
定された場合には、前記除算手段の商出力を前記仮数リ
ザルトセレクタにおいて2桁左シフトして除算結果を出
力し、大であると判定された場合には、更に当該右シフ
ト結果を1桁分のビット数だけ前記拡張右シフタにより
シフトし、この右シフト結果が前記オペランド比較手段
により前記除数の仮数部よりも小であると判定された場
合、前記除算手段の商出力を前記仮数リザルトセレクタ
において1桁左シフトし、大であると判定された場合に
は、0桁左シフトして夫々除算結果を出力するようにし
たことを特徴とする。
る除数チェック手段と、前記除数と被除数との仮数部の
絶対値の大きさを比較するオペランド比較手段と、前記
被除数の仮数部を右シフトし前記被除数のビット幅より
も下位側に、指数の基数より規定される2桁分だけビッ
ト幅を拡張した出力を有する拡張右シフタと、前記除数
と前記被除数との仮数部の除算を実行して商を出力する
除算手段と、前記拡張右シフタと同一のビット幅を有し
前記除算手段へ入力される被除数を保持する拡張仮数レ
ジスタと、前記除算手段へ入力される除数を保持し前記
除数と同一のビット幅を有する仮数レジスタと、前記除
算手段の商出力を指数の基数により規定される桁だけ左
シフトして出力する仮数リザルトセレクタとを設け、前
記除数チェック手段において前記除数が正規形でないと
判定されかつ前記オペランド比較手段により前記被除数
の仮数部が前記除数の仮数部よりも大きいと判定された
とき、前記除数の仮数部を正規形となるまで左シフトし
、その結果を前記仮数レジスタへ格納し、前記被除数の
仮数部を前記拡張右シックにおいて前記被除数と前記除
数との仮数部のリーディングサインカウントの差と指数
の基数より規定される右シフト数より2桁分多いビット
数だけ右シフトし、更にこの右シフト結果を前記除数を
正規形にするに必要なビット数だけ左シフトした結果を
前記拡張仮数レジスタに格納して前記除算手段により除
算を実行し、しかる後に前記拡張右シックにおいて前記
被除数の仮数部を前記被除数と前記除数との仮数部のリ
ーディングサインカウントの差と前記基数により規定さ
れる右シフト数だけシフトし、その結果が前記オペラン
ド比較手段により前記除数の仮数部よりも小であると判
定された場合には、前記除算手段の商出力を前記仮数リ
ザルトセレクタにおいて2桁左シフトして除算結果を出
力し、大であると判定された場合には、更に当該右シフ
ト結果を1桁分のビット数だけ前記拡張右シフタにより
シフトし、この右シフト結果が前記オペランド比較手段
により前記除数の仮数部よりも小であると判定された場
合、前記除算手段の商出力を前記仮数リザルトセレクタ
において1桁左シフトし、大であると判定された場合に
は、0桁左シフトして夫々除算結果を出力するようにし
たことを特徴とする。
Xl1
次に、本発明の実施例について添付図面を参照しながら
説明する。
説明する。
第1図は本発明の一実施例を示す図であり、第2図と同
等部分は同一符号にて示す、第1図において、拡張シフ
タ9は2,3.21の各仮数レジスタのビット幅よりも
下位側に8ビツト拡張したシフタであり、拡張オペラン
ドセレクタ10は拡張シフタ9と同じビット幅をもつセ
レクタであり、拡張仮数レジスタA19は拡張シフタ9
と同様のビット幅をもち被除数の仮数部を保持するレジ
スタである。
等部分は同一符号にて示す、第1図において、拡張シフ
タ9は2,3.21の各仮数レジスタのビット幅よりも
下位側に8ビツト拡張したシフタであり、拡張オペラン
ドセレクタ10は拡張シフタ9と同じビット幅をもつセ
レクタであり、拡張仮数レジスタA19は拡張シフタ9
と同様のビット幅をもち被除数の仮数部を保持するレジ
スタである。
また、除算回路22は拡張仮数レジスタA19と仮数レ
ジスタB21とに格納された仮数の除算を実行し、仮数
リザルトセレクタ29は除算回路22出力をそのままも
しくは指数の基数にもとづき1桁もしくは2桁分左シフ
トしたデータを出力する。リーディングサイン減算器2
6はリーディングサインレジスタA24の内容からリー
ディングサインレジスタB25の内容を引いた結果を用
いて指数の基数にもとづき仮数部の桁合わせに必要な右
シフト量を生成して出力する。
ジスタB21とに格納された仮数の除算を実行し、仮数
リザルトセレクタ29は除算回路22出力をそのままも
しくは指数の基数にもとづき1桁もしくは2桁分左シフ
トしたデータを出力する。リーディングサイン減算器2
6はリーディングサインレジスタA24の内容からリー
ディングサインレジスタB25の内容を引いた結果を用
いて指数の基数にもとづき仮数部の桁合わせに必要な右
シフト量を生成して出力する。
指数補正値生成回路27はリーディングサイン減算器2
6の出力を桁数にPA算した後“+2”して指数補正値
セレクタ17へ出力し、シフト数生成回路28へは2桁
分のシフト量を加算したシフト量を出力する。またシフ
ト数生成回路28は指数補正値生成回路27の出力から
リーディングサインレジスタA24出力を減算する。
6の出力を桁数にPA算した後“+2”して指数補正値
セレクタ17へ出力し、シフト数生成回路28へは2桁
分のシフト量を加算したシフト量を出力する。またシフ
ト数生成回路28は指数補正値生成回路27の出力から
リーディングサインレジスタA24出力を減算する。
第1図を用いたオペランドの桁合せは以下のように行わ
れる。
れる。
(1)指数レジスタAllに被除数の仮数部、指数レジ
スタB12に除数の指数部、固定小数点レジスタA2に
被除数の仮数部、固定小数点レジスタB3に除数の仮数
部を夫々格納して次の(2)を実行する。
スタB12に除数の指数部、固定小数点レジスタA2に
被除数の仮数部、固定小数点レジスタB3に除数の仮数
部を夫々格納して次の(2)を実行する。
(2)指秋減算器13の出力を指数リザルトレジスタ1
5に格納し、またシフトオペランドセレクタ8において
固定小数点レジスタB3の出力を選択し、リーディング
サイン検出回路23の出力をリーディングサインレジス
タA24に格納する。
5に格納し、またシフトオペランドセレクタ8において
固定小数点レジスタB3の出力を選択し、リーディング
サイン検出回路23の出力をリーディングサインレジス
タA24に格納する。
(3)■除数チエラフ回路4において、除数が2進正規
形であると判断されかつ固定小数点比較器7において被
除数の仮数部が除数の仮数部より小さいと判断された場
合には、拡張オペランドセレクタ9を通して固定小数点
レジスタA2の出力をそのまま仮数レジスタ19に格納
し次の(4)を実行する。
形であると判断されかつ固定小数点比較器7において被
除数の仮数部が除数の仮数部より小さいと判断された場
合には、拡張オペランドセレクタ9を通して固定小数点
レジスタA2の出力をそのまま仮数レジスタ19に格納
し次の(4)を実行する。
■除数チエラフ回路4において、除数が2進正規形であ
ると判断されかつ固定小数点比較器7において被除数の
仮数部が除数の仮数部より大きいと判断された場合には
、指数補正値レジスタ18に“2”、シフトカウントレ
ジスタ6に指数の基数に対応する2桁の右シフト量を夫
々格納し、指数補正回路16において指数リザルトレジ
スタ15の出力を補正した値を再び指数リザルトレジス
タ15に格納する。さらに拡張シフタ9において固定小
数点レジスタA2の出力をシフトカウントレジスタ6の
出力に従い右2桁シフトし、拡張シフタ9の出力を全ビ
ットそのまま拡張仮数レジスタA19に格納し後の(5
)を実行する。
ると判断されかつ固定小数点比較器7において被除数の
仮数部が除数の仮数部より大きいと判断された場合には
、指数補正値レジスタ18に“2”、シフトカウントレ
ジスタ6に指数の基数に対応する2桁の右シフト量を夫
々格納し、指数補正回路16において指数リザルトレジ
スタ15の出力を補正した値を再び指数リザルトレジス
タ15に格納する。さらに拡張シフタ9において固定小
数点レジスタA2の出力をシフトカウントレジスタ6の
出力に従い右2桁シフトし、拡張シフタ9の出力を全ビ
ットそのまま拡張仮数レジスタA19に格納し後の(5
)を実行する。
■除数チエラフ回路4において除数が2進正規形でない
と判断された場合には、シフトオペランドセレクタ8に
おいて固定小数点レジスタA2を選択し、リーディング
サイン検出回路23の出力をリーディングサインレジス
タ25に格納し、同時にリーディングサインレジスタA
24の出力をシフトカウントレジスタ6へ格納する。そ
ののち、拡張シフタ9において固定小数点レジスタB3
の出力をシフトカウントレジスタ6の出力に応じて左シ
フトした結果を、拡張部は切捨てて仮数レジスタ21へ
格納して後の(6)を実行する。
と判断された場合には、シフトオペランドセレクタ8に
おいて固定小数点レジスタA2を選択し、リーディング
サイン検出回路23の出力をリーディングサインレジス
タ25に格納し、同時にリーディングサインレジスタA
24の出力をシフトカウントレジスタ6へ格納する。そ
ののち、拡張シフタ9において固定小数点レジスタB3
の出力をシフトカウントレジスタ6の出力に応じて左シ
フトした結果を、拡張部は切捨てて仮数レジスタ21へ
格納して後の(6)を実行する。
(4)除算回路22において拡張仮数レジスタA19の
出力と仮数レジスタB21の出力を用いて除算を実行し
、仮数リザルトセレクタ2つを通して、除算回路22の
出力をそのまま出力する。
出力と仮数レジスタB21の出力を用いて除算を実行し
、仮数リザルトセレクタ2つを通して、除算回路22の
出力をそのまま出力する。
また指数の演算結果は指数リザルトレジスタ15に格納
されている。
されている。
(5)除算回路22において、拡張仮数レジスタA19
の出力と仮数レジスタB21の出力とを用いて除算を実
行する。除算と並行して以下の処理を実行する。すなわ
ち、シフトカウントレジスタ6に指数の基数に応じた1
桁のシフト量を格納して固定数小数点レジスタA2の内
容を拡張シフタ9において右シフトを実行し、再びその
結果の拡張部を切捨てて拡張オペランドセレクタ10を
通して固定小数点レジスタA2に格納する。固定小数点
比較器7において、固定小数点レジスタA2の内容が固
定小数点レジスタB3の内容より大きいと判断された場
合には、仮数リザルトセレクタ29をスルーのモードと
する。また、大きくないと判断された場合には、仮数リ
ザルトセレクタ29を1桁左シフトモードすると同時に
指数補正値に−1を格納し、指数リザルトレジスタ15
の出力を指数補正回路16にて補正した結果を、再び指
数リザルトレジスタ15へ格納し最終的な指数演算結果
とする。しかるのち、除算終了後仮数リザルトセレクタ
29を通して除算回路22の出力をスルーもしくはシフ
トして出力することにより仮数演算結果が得られる。
の出力と仮数レジスタB21の出力とを用いて除算を実
行する。除算と並行して以下の処理を実行する。すなわ
ち、シフトカウントレジスタ6に指数の基数に応じた1
桁のシフト量を格納して固定数小数点レジスタA2の内
容を拡張シフタ9において右シフトを実行し、再びその
結果の拡張部を切捨てて拡張オペランドセレクタ10を
通して固定小数点レジスタA2に格納する。固定小数点
比較器7において、固定小数点レジスタA2の内容が固
定小数点レジスタB3の内容より大きいと判断された場
合には、仮数リザルトセレクタ29をスルーのモードと
する。また、大きくないと判断された場合には、仮数リ
ザルトセレクタ29を1桁左シフトモードすると同時に
指数補正値に−1を格納し、指数リザルトレジスタ15
の出力を指数補正回路16にて補正した結果を、再び指
数リザルトレジスタ15へ格納し最終的な指数演算結果
とする。しかるのち、除算終了後仮数リザルトセレクタ
29を通して除算回路22の出力をスルーもしくはシフ
トして出力することにより仮数演算結果が得られる。
(6)指数補正値レジスタ18に指数補正値生成回路2
7出力を格納し、指数補正回v@16において指数リザ
ルトレジスタ15の出力を補正した結果を、再び指数リ
ザルトレジスタ15に格納する。さらにシフトカウント
レジスタ6にシフト数生成回路28の出力を格納したの
ち、拡張シフタ9において固定小数点レジスタA2の出
力を右シフトした結果を、そのまま拡張仮数レジスタA
19に格納し除算を開始する。除算と並行して以下の処
理を実行する。
7出力を格納し、指数補正回v@16において指数リザ
ルトレジスタ15の出力を補正した結果を、再び指数リ
ザルトレジスタ15に格納する。さらにシフトカウント
レジスタ6にシフト数生成回路28の出力を格納したの
ち、拡張シフタ9において固定小数点レジスタA2の出
力を右シフトした結果を、そのまま拡張仮数レジスタA
19に格納し除算を開始する。除算と並行して以下の処
理を実行する。
すなわち、リーディングサイン減算器26の出力をシフ
トカウントレジスタ6に格納し、拡張シフタ9において
固定小数点レジスタA2の出力を右シフトした結果を再
び固定小数点レジスタA2に格納する。この時固定小数
点比較器7において固定小数点レジスタA2の内容が固
定小数点レジスタB3の内容より小さいと判断された場
合jこは、仮数リザルトセレクタ29を左2桁シフトモ
ードとすると同時に、指数補正値レジスタ18に“2”
を格納し、指数補正回路16において指数リザルトレジ
スタ15の出力を補正し、再び指数リザルトレジスタ1
5に格納する。
トカウントレジスタ6に格納し、拡張シフタ9において
固定小数点レジスタA2の出力を右シフトした結果を再
び固定小数点レジスタA2に格納する。この時固定小数
点比較器7において固定小数点レジスタA2の内容が固
定小数点レジスタB3の内容より小さいと判断された場
合jこは、仮数リザルトセレクタ29を左2桁シフトモ
ードとすると同時に、指数補正値レジスタ18に“2”
を格納し、指数補正回路16において指数リザルトレジ
スタ15の出力を補正し、再び指数リザルトレジスタ1
5に格納する。
また大きいと判断された場合には、シフトカウントレジ
スタ6に指数の基数に応じた1桁のシフト址を格納し、
拡張シフタ9において固定小数点レジスタA2の出力を
右シフト結果を、再び固定小数点レジスタA2に格納す
る。
スタ6に指数の基数に応じた1桁のシフト址を格納し、
拡張シフタ9において固定小数点レジスタA2の出力を
右シフト結果を、再び固定小数点レジスタA2に格納す
る。
ここで再び、固定小数点比較器7において固定小数点レ
ジスタA2の内容が固定小数点レジスタB3の内容より
大きいと判断された場合には、仮数リザルトセレクタ2
9をスルーモードとし、小さいと判断された場合には仮
数リザルトセレクタ29を左1桁シフトモードにすると
同時に指数補正値レジスタに′−1″を格納し指数補正
回路16において指数リザルトレジスタ15の出力を補
正し再びその結果を指数リザルトレジスタ15へ格納す
る。しかるのち除算終了後仮数リザルトセレクタ29を
通して除算回路22の出力を、スルーもしくはシフトし
て出力することにより仮数演算結果が得らえる。
ジスタA2の内容が固定小数点レジスタB3の内容より
大きいと判断された場合には、仮数リザルトセレクタ2
9をスルーモードとし、小さいと判断された場合には仮
数リザルトセレクタ29を左1桁シフトモードにすると
同時に指数補正値レジスタに′−1″を格納し指数補正
回路16において指数リザルトレジスタ15の出力を補
正し再びその結果を指数リザルトレジスタ15へ格納す
る。しかるのち除算終了後仮数リザルトセレクタ29を
通して除算回路22の出力を、スルーもしくはシフトし
て出力することにより仮数演算結果が得らえる。
以上のことかられかるように、第1図の実施例によれば
、従来のリーディングサインの差もしくは基数にもとづ
く1桁のシフト量を用いて被除数を右シフトした後の桁
合せ処理は、全て除算の実行中に行うことができること
になり、除算の平均的実行時間を短縮することができる
のである。
、従来のリーディングサインの差もしくは基数にもとづ
く1桁のシフト量を用いて被除数を右シフトした後の桁
合せ処理は、全て除算の実行中に行うことができること
になり、除算の平均的実行時間を短縮することができる
のである。
魚朋ヱL1里
軟土の如く、本発明によれば、被除数を右シフトした後
の桁合せ処理は全て除算の実行中に行うことができるの
で、特に除数が正規形でなくかつ被除数の仮数部が除数
のそれよりも大なるときの如く、従来では前処理に極め
て大きい時間を要するケースの除算に対し効果がある。
の桁合せ処理は全て除算の実行中に行うことができるの
で、特に除数が正規形でなくかつ被除数の仮数部が除数
のそれよりも大なるときの如く、従来では前処理に極め
て大きい時間を要するケースの除算に対し効果がある。
第1図は本発明の実施例を示すブロック図、第2図は従
来の除算方式を示すブロック図である。 主要部分の符号の説明 2・・・・・・固定小数点レジスタA 3・・・・・・固定小数点レジスタB 4・・・・・・除数チェック回路 5・・・・・・シフトカウントセレクタ6・・・・・・
シフトカウントレジスタ7・・・・・・固定小数点比較
器 8・・・・・・シフトオペランドセレクタ9・・・・・
・拡張シフタ 10・・・・・・拡張オペランドセレクタ1・・・・・
・指数レジスタA 2・・・・・・指数レジスタB 3・・・・・・指数減算器 4・・・・・・指数リザルトセレクタ 5・・・・・・指数リザルトレジスタ 6・・・・・・指数補正回路 7・・・・・・指数補正値セレクタ 8・・・・・・指数補正値レジスタ 9・・・・・・拡張仮数レジスタA O・・・・・・仮数セレクタ ト・・・・・仮数レジスタB 22・・・・・・除
算回路3・・・・・・リーディングサイン検出回路4・
・・・・・リーディングサインレジスタA5・・・・・
・リーディングサインレジスタB6・・・・・・リーデ
ィングサイン減算器7・・・・・・指数補正値生成回路 8・・・・・・シフト数生成回路 9・・・・・・仮数リザルトセレクタ
来の除算方式を示すブロック図である。 主要部分の符号の説明 2・・・・・・固定小数点レジスタA 3・・・・・・固定小数点レジスタB 4・・・・・・除数チェック回路 5・・・・・・シフトカウントセレクタ6・・・・・・
シフトカウントレジスタ7・・・・・・固定小数点比較
器 8・・・・・・シフトオペランドセレクタ9・・・・・
・拡張シフタ 10・・・・・・拡張オペランドセレクタ1・・・・・
・指数レジスタA 2・・・・・・指数レジスタB 3・・・・・・指数減算器 4・・・・・・指数リザルトセレクタ 5・・・・・・指数リザルトレジスタ 6・・・・・・指数補正回路 7・・・・・・指数補正値セレクタ 8・・・・・・指数補正値レジスタ 9・・・・・・拡張仮数レジスタA O・・・・・・仮数セレクタ ト・・・・・仮数レジスタB 22・・・・・・除
算回路3・・・・・・リーディングサイン検出回路4・
・・・・・リーディングサインレジスタA5・・・・・
・リーディングサインレジスタB6・・・・・・リーデ
ィングサイン減算器7・・・・・・指数補正値生成回路 8・・・・・・シフト数生成回路 9・・・・・・仮数リザルトセレクタ
Claims (1)
- (1)除数が正規形か否かを判定する除数チェック手段
と、前記除数と被除数との仮数部の絶対値の大きさを比
較するオペランド比較手段と、前記被除数の仮数部を右
シフトし前記被除数のビット幅よりも下位側に、指数の
基数より規定される2桁分だけビット幅を拡張した出力
を有する拡張右シフタと、前記除数と前記被除数との仮
数部の除算を実行して商を出力する除算手段と、前記拡
張右シフタと同一のビット幅を有し前記除算手段へ入力
される被除数を保持する拡張仮数レジスタと、前記除算
手段へ入力される除数を保持し前記除数と同一のビット
幅を有する仮数レジスタと、前記除算手段の商出力を指
数の基数により規定される桁だけ左シフトして出力する
仮数リザルトセレクタとを設け、前記除数チェック手段
において前記除数が正規形でないと判定されかつ前記オ
ペランド比較手段により前記被除数の仮数部が前記除数
の仮数部よりも大きいと判定されたとき、前記除数の仮
数部を正規形となるまで左シフトし、その結果を前記仮
数レジスタへ格納し、前記被除数の仮数部を前記拡張右
シフタにおいて前記被除数と前記除数との仮数部のリー
ディングサインカウントの差と指数の基数より規定され
る右シフト数より2桁分多いビット数だけ右シフトし、
更にこの右シフト結果を前記除数を正規形にするに必要
なビット数だけ左シフトした結果を前記拡張仮数レジス
タに格納して前記除算手段により除算を実行し、しかる
後に前記拡張右シフタにおいて前記被除数の仮数部を前
記被除数と前記除数との仮数部のリーディングサインカ
ウントの差と前記基数により規定される右シフト数だけ
シフトし、その結果が前記オペランド比較手段により前
記除数の仮数部よりも小であると判定された場合には、
前記除算手段の商出力を前記仮数リザルトセレクタにお
いて2桁左シフトして除算結果を出力し、大であると判
定された場合には、更に当該右シフト結果を1桁分のビ
ット数だけ前記拡張右シフタによりシフトし、この右シ
フト結果が前記オペランド比較手段により前記除数の仮
数部よりも小であると判定された場合、前記除算手段の
商出力を前記仮数リザルトセレクタにおいて1桁左シフ
トし、大であると判定された場合には、0桁左シフトし
て夫々除算結果を出力するようにしたことを特徴とする
除算方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP88323088A JPH02166517A (ja) | 1988-12-21 | 1988-12-21 | 除算方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP88323088A JPH02166517A (ja) | 1988-12-21 | 1988-12-21 | 除算方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02166517A true JPH02166517A (ja) | 1990-06-27 |
Family
ID=18150943
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP88323088A Pending JPH02166517A (ja) | 1988-12-21 | 1988-12-21 | 除算方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02166517A (ja) |
-
1988
- 1988-12-21 JP JP88323088A patent/JPH02166517A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2729027B2 (ja) | パイプライン浮動小数点プロセッサ及びその乗算・加算命令シーケンスの実行 | |
| US5097435A (en) | High speed dividing apparatus | |
| US5136536A (en) | Floating-point ALU with parallel paths | |
| US5677861A (en) | Arithmetic apparatus for floating-point numbers | |
| JPH02232723A (ja) | ディジタルコンピュータ用パイプライン式浮動小数点加減算器 | |
| US20040267853A1 (en) | Method and apparatus for implementing power of two floating point estimation | |
| US20040230634A1 (en) | Method and system for determining quotient digits for decimal division in a superscaler processor | |
| JPH0250492B2 (ja) | ||
| JPH05250146A (ja) | 整数累乗処理を行なうための回路及び方法 | |
| JPH10500513A (ja) | ディジタル除算実行装置 | |
| JP2502836B2 (ja) | 除算回路の前処理装置 | |
| JPS63123125A (ja) | 浮動小数点数の加算装置 | |
| US7016930B2 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
| JPH02166517A (ja) | 除算方式 | |
| JPH10283164A (ja) | 除算回路 | |
| JP2664750B2 (ja) | 演算装置及び演算処理方法 | |
| JP2517064B2 (ja) | 非正規化数の処理方式 | |
| JP2903529B2 (ja) | ベクトル演算方式 | |
| JP4428778B2 (ja) | 演算装置及び演算方法並びに計算装置 | |
| JP3205020B2 (ja) | 演算装置 | |
| JPH0413734B2 (ja) | ||
| JPH0426495B2 (ja) | ||
| JPH01233520A (ja) | 高基数非回復型除算装置 | |
| JP2552086B2 (ja) | 浮動小数点演算装置 | |
| JPS59160235A (ja) | 除算装置 |