JPH08147146A - 除算演算装置 - Google Patents

除算演算装置

Info

Publication number
JPH08147146A
JPH08147146A JP6289401A JP28940194A JPH08147146A JP H08147146 A JPH08147146 A JP H08147146A JP 6289401 A JP6289401 A JP 6289401A JP 28940194 A JP28940194 A JP 28940194A JP H08147146 A JPH08147146 A JP H08147146A
Authority
JP
Japan
Prior art keywords
quotient
rounding
bit
partial remainder
remainder
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.)
Withdrawn
Application number
JP6289401A
Other languages
English (en)
Inventor
Toshimitsu Nagata
敏光 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6289401A priority Critical patent/JPH08147146A/ja
Publication of JPH08147146A publication Critical patent/JPH08147146A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】本発明は、多ビット演算処理に従い、商部分の
予測値となる予測商に従って除倍数を算出することで新
たな部分剰余を算出し、この部分剰余に従って予測商を
補正していくとともに、新たな予測商を作成していくこ
とを繰り返していくことで浮動小数点の除算処理を実行
する除算演算装置に関し、簡略な構成でもって剰余を算
出できるようにすることを目的とする。 【構成】丸め位置を含む多ビット商の1つ前までの除算
処理により求まる部分剰余を退避する退避レジスタ手段
19と、丸め位置を含む多ビット商に丸め処理を施す丸
め手段16と、退避レジスタ手段19の退避する部分剰
余と、丸め手段16の求めた多ビット商から導出される
除倍数とから算出される部分剰余の桁合わせ処理を実行
する正規化手段18とを備え、正規化手段18の処理結
果を、被除数を除数で除算したときの剰余として出力し
ていくように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多ビット演算処理に従
って浮動小数点の除算処理を実行する除算演算装置に関
し、特に、簡略な構成でもって剰余を算出できるように
する除算演算装置に関する。
【0002】多ビット演算処理に従って浮動小数点の除
算処理を実行する除算演算装置では、20 のビット位置
で丸めた商を使って剰余を算出していくことになる。こ
の剰余の算出処理を簡略化していくことで、除算演算装
置の実用性を高めていく必要がある。
【0003】
【従来の技術】多ビット演算処理に従って浮動小数点の
除算処理を実行する除算演算装置では、除数と前回求ま
った部分剰余(演算の開始のときは被除数となる)とか
ら商部分の予測値となる予測商を決定し、この予測商に
従って除倍数(予測商×除数)を算出することで新たな
部分剰余を算出して、この部分剰余の符号に従って予測
商を補正していくとともに、新たな予測商を作成してい
くことを繰り返していくことで商を求める。そして、こ
の商を最下位ビットの20 のビット位置で丸めて、その
丸めた商Qと、被除数Xと、除数Yとから、「R=X−
Y×Q」の算出式に従って、剰余Rを算出する処理を実
行する。
【0004】この除算処理にあって、丸め位置までの除
算処理回数と、多ビット商内での丸め位置とは、被除数
と除数との指数差とで決められることになる。図7に、
4ビット商/サイクルで除算処理を実行する場合の丸め
位置までの除算処理回数と、4ビット商内での丸め位置
とを図示する。ここで、被除数の仮数が除数の仮数より
も大きい場合には、被除数の指数を1つ増やしてこの図
が参照されることになる。すなわち、この図は、被除数
の仮数が除数の仮数よりも小さいことを条件として作成
されている。なお、図中のIは、丸め位置となる商の最
下位ビット位置を表しており、Gはガードビット、Rは
ラウンドビット、Kはスティキービットと呼ばれてい
る。
【0005】この図に示すように、被除数と除数との指
数差が“0”ないし“3”にあるときには、1回目の除
算処理でもって丸め位置までの商が求まり、“4”ない
し“7”にあるときには、2回目の除算処理でもって丸
め位置までの商が求まり、“8”ないし“11”にある
ときには、3回目の除算処理でもって丸め位置までの商
が求まり、“12”ないし“15”にあるときには、4
回目の除算処理でもって丸め位置までの商が求まること
になる。
【0006】そして、被除数と除数との指数差の下位2
ビットが“00”であるときには、丸め位置を含む4ビ
ット商の先頭位置に丸め位置が存在し、指数差の下位2
ビットが“01”であるときには、丸め位置を含む4ビ
ット商の2番目位置に丸め位置が存在し、指数差の下位
2ビットが“10”であるときには、丸め位置を含む4
ビット商の3番目位置に丸め位置が存在し、指数差の下
位2ビットが“11”であるときには、丸め位置を含む
4ビット商の最終位置に丸め位置が存在することにな
る。
【0007】例えば、被除数が“1.0011001*27 ”、除
数が“1.010*24 ”である場合、すなわち、仮数が“1.
0011001 ”で指数が“7”という被除数(10進表示の
“153")”と、仮数が“1.010 ”で指数が“4”という
除数(10進表示の“20")とが与えられる場合には、指数
差が“7−4−1=2(但し、1は、図7のデータを参
照するための仮数による補正)”であることから、除算
処理を1回実行することで丸め位置までの商が求まると
ともに、その丸め位置を含む4ビット商の3番目位置に
丸め位置が存在する。
【0008】図8(a)に、この除算処理を図示する。
この図に示すように、1回目の除算処理で商“1111”が
求まって、この4ビット商“1111”の3番目位置に丸め
位置が存在し、IGRKの全ビットが求まるときの部分
剰余(図中のαで示されるもの)は“1000”となる。実
際には、GRKビットの値が“100"というように閾値
(“011"と仮定する)よりも大きな値を示すことから、
Iビットに“1”を加算する丸め処理を行うことで、4
ビット商は“1110+10(10進表示の“16")”となる。但
し、商の最下位ビットはIビットであることから、本来
の商の値は10進表示の“8”である。
【0009】この丸められた商のときの剰余は、上述の
「R=X−Y×Q」の算出式に、Xとして、丸め位置を
含む4ビット商の1つ前までの除算処理により求まる部
分剰余(この場合は被除数と一致)を代入し、Qとし
て、丸め位置を含む4ビット商の丸め値(この場合は商
と一致)を代入することで、図8(b)に示すように、
“-11111001"と求まる。ここで、2進表示の引き算処理
は、補数をとって加算してから最下位ビットに“1”を
加算することで実行され、このときキャリィアウトが
“0”のときには負の値、“1”のときには正の値を表
していることから、この“-11111001"が求まるのであ
る。そして、この剰余が負の値を示すときには、補数を
とって最下位ビットに“1”を加算することで、“0000
00111"というように絶対値に変換し、“1”が先頭にな
るようにと左シフトして、被除数の指数“7”からこの
左シフト量“5”を引き算することで左シフトした剰余
の指数“2”を求めて、“-1.11*22 ”という浮動小数
点表示に変換する。すなわち、この丸められた商のとき
の剰余として“−7”という値が求まるのである。
【0010】また、例えば、被除数が“1.000*27 ”、
除数が“1.010*24 ”である場合、すなわち、仮数が
“1.000 ”で指数が“7”という被除数(10進表示の
“128")と、仮数が“1.010 ”で指数が“4”という除
数(10進表示の“20")とが与えられる場合には、指数差
が“7−4−1=2(但し、1は、図7のデータを参照
するための仮数による補正)”であることから、除算処
理を1回実行することで丸め位置までの商が求まるとと
もに、その丸め位置を含む4ビット商の3番目位置に丸
め位置が存在する。
【0011】図9(a)に、この除算処理を図示する。
この図に示すように、1回目の除算処理で商“1100”が
求まって、この4ビット商“1100”の3番目位置に丸め
位置が存在し、IGRKの全ビットが求まるときの部分
剰余(図中のαで示されるもの)は“10”となる。実際
には、GRKビットの値が“011"というように閾値“01
1"と同じ値を示すことから、Iビットに“0”を加算す
る丸め処理を行うことで、4ビット商は“1100+00(10
進表示の“12")”となる。但し、商の最下位ビットはI
ビットであることから、本来の商の値は10進表示の
“6”である。
【0012】この丸められた商のときの剰余は、上述の
「R=X−Y×Q」の算出式に、Xとして、丸め位置を
含む4ビット商の1つ前までの除算処理により求まる部
分剰余(この場合は被除数と一致)を代入し、Qとし
て、丸め位置を含む4ビット商の丸め値(この場合は商
と一致)を代入することで、図9(b)に示すように、
“00001000" と求まる。ここで、2進表示の引き算処理
は、補数をとって加算してから最下位ビットに“1”を
加算することで実行され、このときキャリィアウトが
“0”のときには負の値、“1”のときには正の値を表
していることから、この“00001000" が求まるのであ
る。そして、この剰余の“1”が先頭になるようにと左
シフトして、被除数の指数“7”からこの左シフト量
“4”を引き算することで左シフトした剰余の指数
“3”を求めて、“1.00*23 ”という浮動小数点表示に
変換する。すなわち、この丸められた商のときの剰余と
して“8”という値が求まるのである。
【0013】また、例えば、被除数が“1.011*27 ”、
除数が“1.010*24 ”である場合、すなわち、仮数が
“1.011 ”で指数が“7”という被除数(10進表示の
“176")と、仮数が“1.010 ”で指数が“4”という除
数(10進表示の“20")とが与えられる場合には、指数差
が“7−4=3”であることから、除算処理を1回実行
することで丸め位置までの商が求まるとともに、その丸
め位置を含む4ビット商の4番目位置に丸め位置が存在
する。
【0014】図10(a)に、この除算処理を図示す
る。この図に示すように、1回目の除算処理で商“100
0”が求まって、この4ビット商“1000”の4番目位置
に丸め位置が存在し、IGRKの全ビットが求まるとき
の部分剰余(図中のαで示されるもの)は“100 ”とな
る。実際には、GRKビットの値が“110"というように
閾値“011"よりも大きな値を示すことから、Iビットに
“1”を加算する丸め処理を行うことで、4ビット商は
“1000+1(10進表示の“9")”となる。商の最下位ビッ
トはIビットであることから、この値が本来の商とな
る。
【0015】この丸められた商のときの剰余は、上述の
「R=X−Y×Q」の算出式に、Xとして、丸め位置を
含む4ビット商の1つ前までの除算処理により求まる部
分剰余(この場合は被除数と一致)を代入し、Qとし
て、丸め位置を含む4ビット商の丸め値(この場合は商
と一致)を代入することで、図10(b)に示すよう
に、“-11111110"と求まる。ここで、2進表示の引き算
処理は、補数をとって加算してから最下位ビットに
“1”を加算することで実行され、このときキャリィア
ウトが“0”のときには負の値、“1”のときには正の
値を表していることから、この“-11111110"が求まるの
である。そして、この剰余が負の値を示すときには、補
数をとって最下位ビットに“1”を加算することで、
“000000100000" というように絶対値に変換し、“1”
が先頭になるようにと左シフトして、被除数の指数
“7”に“1”を加算(被除数の仮数が除数の仮数より
も大きいときには、この補正が加わる)した“8”か
ら、この左シフト量“6”を引き算することで左シフト
した剰余の指数“2”を求めて、“-1.00*22 ”という
浮動小数点表示に変換する。すなわち、この丸められた
商のときの剰余として“−4”という値が求まるのであ
る。
【0016】また、例えば、被除数が“1.011*27 ”、
除数が“1.010*2-2”である場合、すなわち、仮数が
“1.011 ”で指数が“7”という被除数(10進表示の
“176")と、仮数が“1.010 ”で指数が“−2”という
除数(10進表示の“-0.3125") とが与えられる場合に
は、指数差が“7−(−2)=9”であることから、除
算処理を3回実行することで丸め位置までの商が求まる
とともに、その丸め位置を含む4ビット商の2番目位置
に丸め位置が存在する。
【0017】図11(a)に、この除算処理を図示す
る。この図に示すように、3回目の除算処理で丸め位置
までの商“10001100110"が求まって、丸め位置を含む4
ビット商“110/”の2番目位置に丸め位置が存在し、I
Gビットが求まるときの部分剰余(図中のαで示される
もの)は“1000”、丸め位置を含む4ビット商の1つ前
までの除算処理により求まる部分剰余(図中のX RE
M)は“1000”となる。実際には、GRKビットの値が
“0//"というように閾値“011"よりも大きくない値を示
すことから、Iビットに“0”を加算する丸め処理を行
うことで、丸め位置を含む4ビット商は“1100+00(10
進表示の“12")”となる。但し、商の最下位ビットはI
ビットであることから、本来の商の値は“1000110011
(10進表示の“563")”である。
【0018】この丸められた商のときの剰余は、上述の
「R=X−Y×Q」の算出式に、Xとして、丸め位置を
含む4ビット商の1つ前までの除算処理により求まる部
分剰余(図中のX REM)を代入し、Qとして、丸め
位置を含む4ビット商の丸め値を代入することで、図1
1(b)に示すように、“-00001000"と求まる。ここ
で、2進表示の引き算処理は、補数をとって加算してか
ら最下位ビットに“1”を加算することで実行され、こ
のときキャリィアウトが“0”のときには負の値、
“1”のときには正の値を表していることから、この
“-00001000"が求まるのである。そして、この剰余の
“1”が先頭になるようにと左シフトして、被除数の指
数“7”に“1”を加算(被除数の仮数が除数の仮数よ
りも大きいときには、この補正が加わる)した“8”か
ら、この左シフト量“4”と2回除算処理を実行してい
ることとから導出される“12”を引き算することで左
シフトした剰余の指数“−4”を求めて、“1.00*2-4
という浮動小数点表示に変換する。すなわち、この丸め
られた商のときの剰余として“0.0625”という値が求ま
るのである。
【0019】このようにして、除算演算装置は、丸め位
置を含む4ビット商の1つ前までの除算処理により求ま
る部分剰余を「X REM」とし、丸め位置を含む4ビ
ット商の丸め値をQとするならば、除数Yを使い、 R=(X REM)−Y×Q の算出式に従って、被除数Xを除数Yで除算したときの
剰余Rを算出するのである。
【0020】このような除算処理を実行する除算演算装
置では、従来、除数と前回求まった部分剰余(演算の開
始のときは被除数となる)とから多ビットの予測商を決
定し、この予測商に従って除倍数(予測商×除数)を算
出することで新たな部分剰余を算出して、この部分剰余
に従って予測商を補正するとともに新たな予測商を作成
していくハードウェアを用意する構成を採って、そのハ
ードウェアが、IGRKビットが特定できるまでの商を
求めるとともに、その商のときの部分剰余を求める構成
を採っている。
【0021】そして、そのハードウェアの出力データを
受け取って最終的な商及び剰余を算出するマイクロプロ
グラムを用意する構成を採って、そのマイクロプログラ
ムが、ハードウェアから出力される商及び部分剰余を受
け取り、GRKビットに従ってIビットに“1”を加算
するか否かを決定することで最終的な商を決定するとと
もに、受け取った商及び部分剰余から、ハードウェアの
演算処理を逆にシミュレートしていくことで、丸め位置
を含む4ビット商の1つ前までの除算処理により求まる
部分剰余(上述のX REM)を再現して、それを使っ
て、上述のアルゴリズムに従って、丸めた商に対応する
剰余を算出していくという構成を採っている。
【0022】例えば、図11(a)の除算処理で説明す
るならば、ハードウェアが、丸め処理の内容が決定可能
となるIGビットまでの商“10001100110"と、図中のα
で示されるそのときの部分剰余“1000”とを出力し、マ
イクロプログラムが、この出力データを受け取って、
“1000110011”という商を最終的に決定するとともに、
丸め位置を含む4ビット商の1つ前までの除算処理によ
り求まる部分剰余(X REM)“1000”を再現して、そ
れを使って、最終的な商に対応する剰余“1.00*2-4”を
算出していくという構成を採っていたのである。
【0023】
【発明が解決しようとする課題】しかしながら、丸め位
置を含む4ビット商の1つ前までの除算処理により求ま
る部分剰余(X REM)を再現していくためには、か
なり複雑な処理を実行していかなくてはならないことか
ら、マイクロプログラムが複雑になるという問題点があ
った。
【0024】すなわち、上述のように、IGRKビット
の位置が被除数と除数の指数差によって異なることか
ら、「X REM」を再現していくためには、かなり複
雑な処理を実行していかなくてはならないのである。
【0025】この問題点は、非回復型の除算演算装置で
一層大きなものとなる。すなわち、非回復型の除算演算
装置では、予測商が大き過ぎたときに求めた部分剰余を
補正せずに、次の予測商にそれを反映させていくという
構成を採っているので、この点を考慮しつつ「X RE
M」を再現していくためには、一層複雑な処理を実行し
ていかなくてはならない。
【0026】本発明はかかる事情に鑑みてなされたもの
であって、多ビット演算処理に従って浮動小数点の除算
処理を実行する構成を採るときにあって、簡略な構成で
もって剰余を算出できるようにする新たな除算演算装置
の提供を目的とする。
【0027】
【課題を解決するための手段】図1及び図2に本発明の
原理構成を図示する。図中、1は本発明により構成され
る除算演算装置であって、多ビット演算処理に従い、商
部分の予測値となる予測商に従って除倍数を算出するこ
とで部分剰余を算出し、この部分剰余に従って予測商を
補正していくとともに、新たな予測商を作成していくこ
とを繰り返していくことで浮動小数点の除算処理を実行
するものである。
【0028】図1に原理構成を図示する除算演算装置1
は、部分剰余レジスタ手段10と、予測商決定手段11
と、除倍数算出手段12と、部分剰余算出手段13と、
予測商補正手段14と、商レジスタ手段15と、丸め手
段16と、セレクタ手段17と、正規化手段18と、退
避レジスタ手段19と、制御手段20とを備える。
【0029】この部分剰余レジスタ手段10は、部分剰
余(演算開始時は被除数)を更新しつつ保持する。予測
商決定手段11は、部分剰余(演算開始時は被除数)と
除数とから商部分の予測値となる多ビットの予測商を決
定する。除倍数算出手段12は、除数と予測商決定手段
11の決定した予測商とを乗算することで除倍数を算出
する。部分剰余算出手段13は、部分剰余と除倍数算出
手段12の算出した除倍数とを引き算することで次の部
分剰余を算出して、部分剰余レジスタ手段10に格納す
る。
【0030】予測商補正手段14は、部分剰余算出手段
13の算出した部分剰余の符号に従って、予測商決定手
段11の決定した予測商を補正する。商レジスタ手段1
5は、予測商補正手段14の処理結果の多ビット商を格
納していくことで商を格納する。丸め手段16は、予測
商補正手段14により求められる丸め位置を含む多ビッ
ト商に対して丸め処理を施す。セレクタ手段17は、丸
め手段16の処理結果の多ビット商か、予測商決定手段
11の決定した予測商のいずれか一方を選択して除倍数
算出手段12に与える。
【0031】正規化手段18は、除算結果の剰余を求め
て外部に出力する。退避レジスタ手段19は、丸め位置
を含む多ビット商の1つ前までの除算処理により求まる
部分剰余(部分剰余レジスタ手段10に格納されてい
る)を退避する。制御手段20は、被除数と除数との指
数差から丸め位置を含む多ビット商が求まるまでの除算
回数を算出して、その算出結果に従って除算処理を制御
する。
【0032】図2に原理構成を図示する除算演算装置1
は、図1の除算演算装置1の備える手段の内、退避レジ
スタ手段19を除くものを備えるとともに、新たに、セ
レクタ手段21を備える。
【0033】このセレクタ手段21は、商レジスタ手段
15の格納データか、部分剰余レジスタ手段10の格納
データのいずれか一方を選択して部分剰余算出手段13
に与える。この図2の制御手段20は、丸め位置を含む
多ビット商の1つ前までの除算処理により求まる部分剰
余を商レジスタ手段15に退避させる制御処理を実行す
る。
【0034】
【作用】図1に原理構成を図示する本発明の除算演算装
置1では、制御手段20は、演算開始時に、部分剰余レ
ジスタ手段10に被除数をセットするとともに、除倍数
算出手段12がゼロ値を出力するようにセットしてから
起動を指示する。
【0035】この起動指示を受け取ると、部分剰余算出
手段13は、部分剰余レジスタ手段10に格納される被
除数をそのまま予測商決定手段11に出力し、これを受
けて、予測商決定手段11は、被除数と除数とから予測
商を決定し、これを受けて、セレクタ手段17は、この
予測商を選択して除倍数算出手段12に出力する。
【0036】除倍数算出手段12は、この予測商を受け
取ると、この予測商と除数とを乗算することで除倍数を
算出し、これを受けて、部分剰余算出手段13は、部分
剰余レジスタ手段10に格納される被除数とこの除倍数
とを引き算することで部分剰余を算出して、部分剰余レ
ジスタ手段10に格納する。そして、このとき、予測商
補正手段14は、この部分剰余の符号に従って、予測商
が大き過ぎたのか否かを判断して、大き過ぎたことを判
断するときには、予測商を1つ小さくして商レジスタ手
段15に格納し、大き過ぎないことを判断するときに
は、予測商をそのまま商レジスタ手段15に格納する。
【0037】以下、同様に、予測商決定手段11は、部
分剰余算出手段13の出力する部分剰余と除数とから予
測商を決定し、これを受けて、セレクタ手段17は、こ
の予測商を選択して除倍数算出手段12に出力し、これ
を受けて、除倍数算出手段12は、この予測商と除数と
を乗算することで除倍数を算出し、これを受けて、部分
剰余算出手段13は、部分剰余レジスタ手段10に格納
される前回の部分剰余とこの除倍数とを引き算すること
で新たな部分剰余を算出して、部分剰余レジスタ手段1
0に格納し、これを受けて、予測商補正手段14は、部
分剰余算出手段13の算出した部分剰余の符号に従って
予測商決定手段11の決定した予測商を補正して、商レ
ジスタ手段15に格納していく。
【0038】このようにして除算処理を実行していくと
きにあって、丸め位置を含む多ビット商の1つ前までの
除算処理が終了すると、制御手段20は、その除算処理
により求まる部分剰余を部分剰余レジスタ手段10から
退避レジスタ手段19に退避させる。そして、そのまま
除算処理を続行していって、丸め手段16が丸め処理を
実行できる多ビット商が得られるまでの除算処理を完了
すると、丸め手段16に対して、丸め処理の実行を指示
するとともに、セレクタ手段17に対して、丸め手段1
6の処理結果の多ビット商の選択を指示する。
【0039】この指示を受けて、丸め手段16は、丸め
位置を含む多ビット商に丸め処理を施し、セレクタ手段
17は、丸め手段16の処理結果の多ビット商を選択し
て出力し、これを受けて、除倍数算出手段12は、この
多ビット商と除数とを乗算することで除倍数を算出し、
これを受けて、部分剰余算出手段13は、退避レジスタ
手段19に退避される部分剰余(上述のX REMに相
当するもの)とこの除倍数とを引き算することで最終的
な部分剰余を算出し、これを受けて、正規化手段18
は、この部分剰余の桁合わせ処理を実行することで除算
結果の剰余を求めて外部に出力する。
【0040】このようにして、図1に原理構成を図示す
る本発明の除算演算装置1では、マイクロプログラムを
使用することなく、除算結果の剰余を求めることができ
るようになる。
【0041】一方、図2に原理構成を図示する本発明の
除算演算装置1では、制御手段20は、除算処理に入る
と、商レジスタ手段15に対して、予測商補正手段14
の求める商を読み込まないよう指示するとともに、セレ
クタ手段21に対して、部分剰余レジスタ手段10の格
納する部分剰余を選択するよう指示する。
【0042】この指示に従って、図1に原理構成を図示
する本発明の除算演算装置1と同様の除算処理を実行し
ていくときにあって、制御手段20は、丸め位置を含む
多ビット商の1つ前までの除算処理が終了すると、その
除算処理により求まる部分剰余(部分剰余算出手段13
が出力する)を商レジスタ手段15に退避させる。
【0043】そして、制御手段20は、制御手段22の
制御処理の後もそのまま除算処理を続行していって、丸
め手段16が丸め処理を実行できる多ビット商が得られ
るまでの除算処理を完了すると、丸め手段16に対し
て、丸め処理の実行を指示し、セレクタ手段17に対し
て、丸め手段16の処理結果の多ビット商の選択を指示
するとともに、セレクタ手段21に対して、商レジスタ
手段15の格納データの選択を指示する。
【0044】この指示を受けて、丸め手段16は、丸め
位置を含む多ビット商に丸め処理を施し、セレクタ手段
17は、丸め手段16の処理結果の多ビット商を選択し
て出力し、セレクタ手段21は、商レジスタ手段15の
格納データを選択して出力し、これを受けて、除倍数算
出手段12は、セレクタ手段17の出力する多ビット商
と除数とを乗算することで除倍数を算出し、これを受け
て、部分剰余算出手段13は、商レジスタ手段15に退
避される部分剰余(上述のX REMに相当するもの)
とこの除倍数とを引き算することで最終的な部分剰余を
算出し、これを受けて、正規化手段18は、この部分剰
余の桁合わせ処理を実行することで除算結果の剰余を求
めて外部に出力する。
【0045】このようにして、図2に原理構成を図示す
る本発明の除算演算装置1では、マイクロプログラムを
使用することなく、除算結果の剰余を求めることができ
るようになる。
【0046】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。図3に、本発明の一実施例を図示する。
【0047】図中、30は被除数レジスタであって、被
除数をラッチするもの、31は除数レジスタであって、
除数をラッチするもの、32は仮数減算器であって、除
数の仮数から被除数の仮数を引いた値を求めるもの、3
3は指数補正器であって、仮数減算器32の算出値が負
の値を示すときに、被除数の指数を1つ増加するもの、
34は部分剰余レジスタであって、演算開始時には被除
数(仮数減算器32の算出値が負の値を示すときには、
その被除数の仮数の小数点位置は1つ右シフトされる)
をラッチするとともに、演算途中には除算処理により求
まる部分剰余を更新しつつラッチするもの、35は退避
レジスタであって、部分剰余レジスタ34にラッチされ
る丸め位置を含む多ビット商の1つ前までの除算処理に
より求まる部分剰余を退避するものである。
【0048】36は被除数指数レジスタであって、指数
補正器33の出力する被除数の指数をラッチするもの、
37は除数指数レジスタであって、除数の指数をラッチ
するもの、38は指数差算出器であって、被除数の指数
から除数の指数を引いた値を求めるものである。ここ
で、この指数差算出器38は、バイアス値が印加される
ことで正負の算出値を表示可能とする構成を採ってい
る。
【0049】39は演算回数レジスタであって、指数差
算出器38の算出値により規定される丸め位置を含む多
ビット商の1つ前までの除算処理回数を初期値としてラ
ッチして、除算処理が1回終了する度に保持値を減算し
ていくもの、40は演算終了判断器であって、除算が終
了したか否かを判断するもの、41は演算終了レジスタ
であって、演算終了判断器40が除算終了を判断すると
きにその旨の信号をラッチして外部に出力するもの、4
2は指数結果レジスタであって、指数差算出器38の算
出値をラッチするもの、43は符号レジスタであって、
被除数、除数の符号をラッチし、除算結果の符号を決定
して外部に出力するものである。
【0050】44はセレクタであって、部分剰余レジス
タ34のラッチする部分剰余か、退避レジスタ35のラ
ッチする部分剰余のいずれか一方を選択して出力するも
の、45はゼロチェック器であって、部分剰余レジスタ
34のラッチする部分剰余がゼロ値になるとき、すなわ
ち割り切れるときに、演算終了判断器40に対してその
旨を通知するもの、46は除数デコーダであって、除数
レジスタ31に格納される除数をデコードするものであ
る。
【0051】47は予測商決定器であって、除算処理に
より求まる部分剰余(演算開始時には被除数)と、除数
デコーダ46のデコードする除数とから、商部分の予測
値となる多ビットの予測商を決定するもの、48は除倍
数算出器であって、除数と予測商決定器47の決定して
予測商とを乗算することで除倍数を算出するもの、49
は部分剰余算出器であって、部分剰余レジスタ34に格
納される部分剰余と、除倍数算出器48の算出した除倍
数とを引き算することで次の部分剰余を算出して、部分
剰余レジスタ34に格納するものである。
【0052】50は予測商レジスタであって、予測商決
定器47の決定した予測商をラッチするもの、51は予
測商補正器であって、部分剰余算出器49の算出した部
分剰余の符号に従って、予測商決定器47の決定した予
測商を補正するもの、52は商レジスタであって、予測
商補正器51の処理結果の多ビット商を格納していくこ
とで商を格納するとともに、図中のβで示されるバスを
介して送られてくる部分剰余(最終的な剰余となる)を
ラッチするものである。
【0053】53は丸め器であって、予測商補正器51
により求められる丸め位置を含む多ビット商に対して丸
め処理を施すもの、54はセレクタであって、ゼロ値
か、予測商決定器47の決定する予測商か、丸め器53
の処理結果の多ビット商のいずれか1つを選択して除倍
数算出器48に出力するもの、55は出力演算器であっ
て、商レジスタ52に格納される商に対して丸め処理を
施すとともに、商レジスタ52に格納される剰余に対し
て桁合わせの正規化処理を施すもの、56は指数補正減
算器であって、出力演算器55の算出する商がオーバー
フローするときに、指数結果レジスタ42のラッチする
指数値を1つインクリメントして外部に出力するもので
ある。
【0054】次に、このように構成される図3の実施例
の除算演算装置1の動作について説明する。除算が指示
されると、仮数減算器32は、除数の仮数から被除数の
仮数を引いた値を求め、指数補正器33は、この算出値
が負の値を示すときには、被除数の指数を1つ増加す
る。すなわち、被除数の仮数が除数の仮数よりも小さく
なるようにと前処理する。
【0055】指数補正器33の処理が終了すると、指数
差算出器38は、指数補正器33の出力する被除数の指
数から除数の指数を引いた値を求め、この算出値を受け
て、演算回数レジスタ39は、この算出値により規定さ
れる丸め位置を含む多ビット商の1つ前までの除算処理
回数を初期値としてラッチする。例えば、4ビットで除
算処理を実行するときにあって、指数差算出器38の算
出する指数差が“10”である場合には、図7に示した
ように、3回目の除算処理でもって丸め位置までの商が
求まることから、演算回数レジスタ39は、初期値とし
て“2”をラッチするのである。
【0056】一方、除算が指示されると、部分剰余レジ
スタ34は、初期値として被除数をラッチし、セレクタ
44は、切替指示があるまでの間、部分剰余レジスタ3
4のレジスタデータを選択出力し、セレクタ54は、最
初の1回だけゼロ値を選択出力する。
【0057】この初期セット処理を受けて、除倍数算出
器48がゼロ値を出力することから、部分剰余算出器4
9は、部分剰余レジスタ34に格納される被除数をその
まま予測商決定器47に出力し、これを受けて、予測商
決定器47は、被除数と除数とから予測商を決定する。
この時点では、セレクタ54は、予測商決定器47の決
定する予測商を選択して除倍数算出器48に出力するよ
う動作している。これから、除倍数算出器48は、予測
商決定器47の決定した予測商と除数とを乗算すること
で除倍数を算出し、これを受けて、部分剰余算出器49
は、部分剰余レジスタ34に格納されている被除数とこ
の除倍数とを引き算することで部分剰余を算出して、部
分剰余レジスタ34に格納する。
【0058】そして、この部分剰余の算出を受けて、予
測商補正器51は、算出された部分剰余の符号に従っ
て、予測商が大き過ぎたのか否かを判断して、大き過ぎ
たことを判断するときには、予測商を1つ小さくするこ
とで本来の多ビット商を求めて、それを演算回数レジス
タ39のレジスタ値の指す商レジスタ52の格納領域に
格納していくとともに、大き過ぎないことを判断すると
きには、その予測商の多ビット商をそのまま演算回数レ
ジスタ39のレジスタ値の指す商レジスタ52の格納領
域に格納していく。
【0059】このようにして、1回目の除算処理が終了
すると、演算回数レジスタ39は、そのレジスタ値を1
つ減算していく。続いて、2回目の除算処理に入って、
予測商決定器47は、部分剰余算出器49の出力する部
分剰余と除数とから予測商を決定し、これを受けて、除
倍数算出器48は、予測商決定器47の決定した予測商
と除数とを乗算することで除倍数を算出し、これを受け
て、部分剰余算出器49は、部分剰余レジスタ34に格
納されている部分剰余とこの除倍数とを引き算すること
で次の部分剰余を算出して、部分剰余レジスタ34に格
納する。
【0060】そして、この部分剰余の算出を受けて、予
測商補正器51は、算出された部分剰余の符号に従っ
て、予測商が大き過ぎたのか否かを判断して、大き過ぎ
たことを判断するときには、予測商を1つ小さくするこ
とで本来の多ビット商を求めて、それを演算回数レジス
タ39のレジスタ値の指す商レジスタ52の格納領域に
格納していくとともに、大き過ぎないことを判断すると
きには、その予測商の多ビット商をそのまま演算回数レ
ジスタ39のレジスタ値の指す商レジスタ52の格納領
域に格納していく。
【0061】このようにして、2回目の除算処理が終了
すると、演算回数レジスタ39は、そのレジスタ値を1
つ減算していく。以下、同様にして、丸め器53が丸め
処理を実行できる状態になるまで、この除算処理を繰り
返し実行していくことになる。すなわち、4ビットで除
算処理を実行するときにあって、指数差算出器38の算
出する指数差が“10”である場合には、図7に示した
ように、除算処理を4回実行するとIGRKの全ビット
が求まることで、丸め器53が丸め処理を実行できる状
態になることから、この除算処理を4回繰り返していく
のである。
【0062】この除算処理の実行中に、演算回数レジス
タ39のレジスタ値がゼロ値に到達すると、退避レジス
タ35は、部分剰余レジスタ34にラッチされる部分剰
余、すなわち、丸め位置を含む多ビット商の1つ前まで
の除算処理により求まる部分剰余を退避していく。
【0063】そして、丸め器53が丸め処理を実行でき
る状態になるまでの除算処理を終了すると、出力演算器
55は、商レジスタ52に格納される商(丸め位置を含
む多ビット商までの商が格納されている)を読み込ん
で、必要に応じてその商に続く多ビット商を参照しつつ
その商の丸め処理を実行することで、最終的な商を求め
て外部に出力する。すなわち、4ビットで除算処理を実
行する場合で説明するならば、商を構成するGRKビッ
ト(図7に示したように、丸め位置を含む4ビット商に
収まらず、次の4ビット商に飛び出ることがあるので、
商レジスタ52に格納される商に続く4ビット商を参照
することがある)のビット値が閾値“011"よりも大きな
値を示すときには、丸め位置となる20 ビットのIビッ
トに“1”を加算し、そうでない場合には、“0”を加
算するという丸め処理を実行することで、最終的な商を
求めて外部に出力するのである。
【0064】続いて、丸められた商の持つ剰余の算出処
理に入って、丸め器53は、予測商補正器51により求
められる丸め位置を含む多ビット商に対して丸め処理を
施す。この丸め処理は、4ビットの除算処理を実行する
場合で説明するならば、図8ないし図11で例示したよ
うに、丸め位置を含む4ビット商の持つGRKビットの
ビット値を仮にゼロ値に設定して、その設定前のGRK
ビットのビット値が閾値“011"よりも大きな値を示すと
きには、Iビットに“1”を加算し、そうでない場合に
は、“0”を加算することで実行する。この丸め処理の
実行のために、丸め器53は、丸め位置を含む多ビット
商と、それに続く多ビット商をラッチできる機能を持つ
ことになる。
【0065】そして、この丸められた商の持つ剰余の算
出処理に入ると、切替指示に応答して、セレクタ44
は、退避レジスタ35のレジスタデータを選択出力し、
セレクタ54は、丸め器53の求めた多ビット商を選択
出力する。
【0066】これから、このセット処理を受けて、除倍
数算出器48は、丸め器53の求めた多ビット商と除数
とを乗算することで除倍数を算出し、これを受けて、部
分剰余算出器49は、退避レジスタ35に格納されてい
る部分剰余(丸め位置を含む多ビット商の1つ前までの
除算処理により求まる部分剰余)と、この除倍数とを引
き算することで最終的な剰余を算出する。すなわち、図
8ないし図11で説明したように、丸め位置を含む多ビ
ット商の1つ前までの除算処理により求まる部分剰余を
「X REM」とし、丸め位置を含む多ビット商の丸め
値をQとするならば、除数Yを使い、 R=(X REM)−Y×Q の算出式に従って、被除数Xを除数Yで除算したときの
剰余Rを算出するのである。
【0067】このようにして算出された剰余は、図中の
βで示されるバスを介して商レジスタ52にラッチされ
ることになるので、出力演算器55は、この剰余を正規
化してから外部に出力する。すなわち、図8ないし図1
1で例示したような桁合わせ処理を実行してから外部に
出力するのである。
【0068】このようにして、図3の実施例の除算演算
装置1では、マイクロプログラムを使用することなく、
除算結果の剰余を求めることができるようになる。しか
も、商についてもマイクロプログラムを使用することな
く、丸めたものを求めることができるようになる。図4
に、この図3の実施例の除算演算装置1の動作タイムチ
ャートを図示する。ここで、4ビットの除算処理を想定
しており、被除数と除数の指数差の下位2ビットが“0
0”である場合の動作タイムチャートである。
【0069】図5に、本発明の他の実施例を図示する。
この実施例は、図3の実施例の退避レジスタ35を備え
ない構成を採って、この退避レジスタ35に退避する部
分剰余を商レジスタ52に退避する構成を採るものであ
って、図3に図示した実施例の備えるものの内、退避レ
ジスタ35及びセレクタ44を除くものを備えるととも
に、新たに、商レジスタ52の格納データと、部分剰余
レジスタ34のレジスタデータとのいずれか一方を選択
して部分剰余算出器49に出力するセレクタ60を備え
る構成を採るものである。
【0070】この実施例では、セレクタ60が部分剰余
レジスタ34のレジスタデータを選択することで、図3
の実施例と同様の除算処理を実行していくときにあっ
て、演算回数レジスタ39のレジスタ値がゼロ値に到達
すると、商レジスタ52は、図中のβで示されるバスを
介して、部分剰余算出器49の出力する部分剰余を退避
する。このとき退避する部分剰余は、丸め位置を含む多
ビット商の1つ前までの除算処理により求まる部分剰余
である。
【0071】丸め器53が丸め処理を実行できる状態に
なるまでの除算処理を終了すると、続いて、丸められた
商の持つ剰余の算出処理に入って、丸め器53は、予測
商補正器51により求められる丸め位置を含む多ビット
商に対して丸め処理を施す。そして、この丸められた商
の持つ剰余の算出処理にはいると、切替指示に応答し
て、セレクタ54は、丸め器53の求めた多ビット商を
選択出力し、セレクタ60は、商レジスタ52の格納す
る部分剰余を選択出力する。
【0072】これから、このセット処理を受けて、除倍
数算出器48は、丸め器53の求めた多ビット商と除数
とを乗算することで除倍数を算出し、これを受けて、部
分剰余算出器49は、商レジスタ52に格納されている
部分剰余(丸め位置を含む多ビット商の1つ前までの除
算処理により求まる部分剰余)と、この除倍数とを引き
算することで最終的な剰余を算出する。すなわち、図8
ないし図11で説明したように、丸め位置を含む多ビッ
ト商の1つ前までの除算処理により求まる部分剰余を
「X REM」とし、丸め位置を含む多ビット商の丸め
値をQとするならば、除数Yを使い、 R=(X REM)−Y×Q の算出式に従って、被除数Xを除数Yで除算したときの
剰余Rを算出するのである。
【0073】このようにして算出された剰余は、図中の
βで示されるバスを介して商レジスタ52にラッチされ
ることになるので、出力演算器55は、この剰余を正規
化してから外部に出力する。すなわち、図8ないし図1
1で例示したような桁合わせ処理を実行してから外部に
出力するのである。
【0074】このようにして、図4の実施例の除算演算
装置1でも、マイクロプログラムを使用することなく、
除算結果の剰余を求めることができるようになる。な
お、この実施例では、商レジスタ52に部分剰余を退避
する構成を採ることから、商レジスタ52に商を格納で
きないことで商と剰余を同時に求めることはできない
が、物量の大きな退避レジスタ35を持たなくてよいと
いう利点がある。
【0075】図6に、この図4の実施例の除算演算装置
1の動作タイムチャートを図示する。ここで、この動作
タイムチャートでは、4ビットの除算処理を想定してお
り、被除数と除数の指数差の下位2ビットが“11”で
あることを想定している。
【0076】この実施例では、浮動小数点の除算処理に
ついて説明したが、固定小数点の除算では、浮動小数点
に直してから除算処理を実行するので、結局、本発明を
そのまま適用できることになる。
【0077】
【発明の効果】以上説明したように、本発明の除算演算
装置では、マイクロプログラムを使用することなく、除
算結果の剰余を求めることができるようになる。これか
ら、従来技術よりも簡略に除算結果の剰余を求めること
ができるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の原理構成図である。
【図3】本発明の一実施例である。
【図4】実施例の動作タイムチャートである。
【図5】本発明の他の実施例である。
【図6】実施例の動作タイムチャートである。
【図7】除算回数と丸め位置の説明図である。
【図8】除算処理の一例である。
【図9】除算処理の一例である。
【図10】除算処理の一例である。
【図11】除算処理の一例である。
【符号の説明】
1 除算演算装置 10 部分剰余レジスタ手段 11 予測商決定手段 12 除倍数算出手段 13 部分剰余算出手段 14 予測商補正手段 15 商レジスタ手段 16 丸め手段 17 セレクタ手段 18 正規化手段 19 退避レジスタ手段 20 制御手段 21 セレクタ手段

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 多ビット演算処理に従い、商部分の予測
    値となる予測商に従って除倍数を算出することで新たな
    部分剰余を算出し、この部分剰余に従って該予測商を補
    正していくとともに、新たな予測商を作成していくこと
    を繰り返していくことで浮動小数点の除算処理を実行す
    る除算演算装置において、 丸め位置を含む多ビット商の1つ前までの除算処理によ
    り求まる部分剰余を退避する退避レジスタ手段と、 丸め位置を含む多ビット商に丸め処理を施す丸め手段
    と、 上記退避レジスタ手段の退避する部分剰余と、上記丸め
    手段の求めた多ビット商から導出される除倍数とから算
    出される部分剰余の桁合わせ処理を実行する正規化手段
    とを備え、 上記正規化手段の処理結果を、被除数を除数で除算した
    ときの剰余として出力していくよう構成されることを、 特徴とする除算演算装置。
  2. 【請求項2】 多ビット演算処理に従い、商部分の予測
    値となる予測商に従って除倍数を算出することで新たな
    部分剰余を算出し、この部分剰余に従って該予測商を補
    正していくとともに、新たな予測商を作成していくこと
    を繰り返していくことで浮動小数点の除算処理を実行す
    る除算演算装置において、 丸め位置を含む多ビット商の1つ前までの除算処理によ
    り求まる部分剰余を、商を格納する商レジスタ手段に退
    避させる構成を採り、 かつ、丸め位置を含む多ビット商に丸め処理を施す丸め
    手段と、 上記商レジスタ手段の退避する部分剰余と、上記丸め手
    段の求めた多ビット商から導出される除倍数とから算出
    される部分剰余の桁合わせ処理を実行する正規化手段と
    を備え、 上記正規化手段の処理結果を、被除数を除数で除算した
    ときの剰余として出力していくよう構成されることを、 特徴とする除算演算装置。
JP6289401A 1994-11-24 1994-11-24 除算演算装置 Withdrawn JPH08147146A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6289401A JPH08147146A (ja) 1994-11-24 1994-11-24 除算演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6289401A JPH08147146A (ja) 1994-11-24 1994-11-24 除算演算装置

Publications (1)

Publication Number Publication Date
JPH08147146A true JPH08147146A (ja) 1996-06-07

Family

ID=17742759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6289401A Withdrawn JPH08147146A (ja) 1994-11-24 1994-11-24 除算演算装置

Country Status (1)

Country Link
JP (1) JPH08147146A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100407562B1 (ko) * 2001-11-21 2003-11-28 삼성전자주식회사 제산 및 제곱근 계산 장치 및 방법
JP2014041473A (ja) * 2012-08-22 2014-03-06 Fujitsu Ltd 除算装置及び除算方法
CN106020769A (zh) * 2016-06-22 2016-10-12 上海兆芯集成电路有限公司 浮点除法器以及浮点除法器操作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100407562B1 (ko) * 2001-11-21 2003-11-28 삼성전자주식회사 제산 및 제곱근 계산 장치 및 방법
JP2014041473A (ja) * 2012-08-22 2014-03-06 Fujitsu Ltd 除算装置及び除算方法
CN106020769A (zh) * 2016-06-22 2016-10-12 上海兆芯集成电路有限公司 浮点除法器以及浮点除法器操作方法

Similar Documents

Publication Publication Date Title
KR920005226B1 (ko) 부동 소수점 연산장치
JP2835153B2 (ja) 高基数除算器
US20050160129A1 (en) Arithmetic unit for approximating function
CN108139885B (zh) 浮点数舍入
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
CN111813371B (zh) 数字信号处理的浮点除法运算方法、系统及可读介质
US7809784B2 (en) Apparatus and method for calculation of divisions and square roots
US9009209B2 (en) Processor, control method of processor, and computer readable storage medium storing processing program for division operation
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
EP0366155A2 (en) Logarithmic function arithmetic unit including means for separately processing pseudo division and multiplication
US6598065B1 (en) Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal
JPH08147146A (ja) 除算演算装置
JP2020098469A (ja) 演算処理装置および演算処理装置の制御方法
JPH0687219B2 (ja) 制御方法
JP2578482B2 (ja) 浮動小数点演算器
JPH01207823A (ja) 浮動小数点数一固定小数点数変換装置
JP2761145B2 (ja) 開平演算装置
JP3415569B2 (ja) 10進データ除算方法およびそのプログラム記録媒体
JP2005128907A (ja) 演算装置の制御方法、演算装置、並びに、そのプログラムおよび記録媒体
JP2607759B2 (ja) 除算器
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
JPS592055B2 (ja) 開平演算方式
JP3233432B2 (ja) 乗算器
JP4271589B2 (ja) 演算装置の制御方法、並びに、そのプログラムおよび記録媒体
JP3482817B2 (ja) 商ディジット選択回路および除算演算器

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020205