JP2003303096A - 除算回路 - Google Patents

除算回路

Info

Publication number
JP2003303096A
JP2003303096A JP2002108725A JP2002108725A JP2003303096A JP 2003303096 A JP2003303096 A JP 2003303096A JP 2002108725 A JP2002108725 A JP 2002108725A JP 2002108725 A JP2002108725 A JP 2002108725A JP 2003303096 A JP2003303096 A JP 2003303096A
Authority
JP
Japan
Prior art keywords
absolute value
circuit
bit
value
division
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
JP2002108725A
Other languages
English (en)
Inventor
Hideaki Furukawa
英明 古川
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.)
Olympus Corp
Original Assignee
Olympus Optical Co 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 Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP2002108725A priority Critical patent/JP2003303096A/ja
Publication of JP2003303096A publication Critical patent/JP2003303096A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 参照テーブルを格段に小さくしながら、高精
度の除算を行えるようにした除算回路を提供する。 【解決手段】 (m+1)ビットの除数Xの絶対値AXと(m+
1)ビットの被除数Yの絶対値AYと除算結果の符号部SigZ
を求める絶対値化回路11と、AXの指数部K1と仮数部N1を
求める第1の浮動小数点化回路12と、N1の指数部K2と仮
数部N2を求め、N2の上位(q+1)ビット分(q<m−2)のデ
ータN2′を抽出し、最下位ビットを丸め処理でqビッ
ト分のデータとして求める第2の浮動小数点化回路13
と、K2とN2′で指定されるアドレスに、AXの逆数に対応
する参照値IX′を格納した参照テーブル14と、参照テー
ブルから読み出された参照値IX′を、AYに乗算する乗算
回路17と、乗算値をK1ビット右シフトして除算結果の絶
対値Z′を求めるビットシフト回路18と、符号部SigZに
よりZ′の符号化処理を行って除算結果Zを出力する符
号化回路19とで除算回路を構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、参照テーブルを
格段に小さくしながら高精度の除算を行えるようにした
除算回路に関する。
【0002】
【従来の技術】従来の除算方式は、例えば図9に示すよ
うな構成で行われている。すなわち、除数Xの逆数値を
予め参照テーブルLUT101 に書き込んでおき、参照テ
ーブルLUT101 の出力に遅延回路102 を介して分子Y
を乗算器103 で乗じて、除算結果Zを出力する。しか
し、この構成の除算方式では、除数Xがmビットの場
合、参照テーブルLUT101 として、2m ×mビットも
の参照テーブルを必要とし、回路規模が非常に大きくな
るという問題がある。そこで、回路規模を縮小するた
め、参照テーブルLUT101 に入力されるビット幅、若
しくは参照テーブルLUT101 から出力されるビット幅
を減らそうとすると、今度は演算精度が低下すると言う
問題が生じてくる。つまり回路規模と演算精度は相反す
る関係にある。
【0003】これに対して、特開平9−269845号
公報に開示されている装置では、除数が小さい時は除数
を2n 倍し、逆数テーブルから出力された値と被除数を
乗算した結果を2n 倍することで、逆数テーブルの無駄
に使用されている上位数ビットを削り、削ったビット数
分だけ逆数テーブルの精度を高めることによって、回路
規模を増大することなく演算精度を向上させている。
【0004】
【発明が解決しようとする課題】ところで、上記特開平
9−269845号公報に開示されている装置は、除数
が大きい場合には演算精度は向上するものの、逆数テー
ブルの大きさは従来と変わらず、回路規模は依然として
大きい。また、除数XがX=3の場合、逆数は2進数表
記で‘1’と‘0’の繰り返しとなり、逆数テーブルに
もつ逆数のビット幅を拡張しなければ精度は向上しな
い。つまり、除数X=3の場合は2n 倍しても精度が向
上しない。
【0005】本発明は、この点に着目してなされたもの
で、参照テーブルを格段に小さくしながら高精度な除算
を行えるようにした除算回路を提供することを目的とす
る。
【0006】
【課題を解決するための手段】上記課題を解決するた
め、請求項1に係る発明は、(m+1)ビット(但し、
mは正の整数)の被除数Yを(m+1)ビットの除数X
で除算した結果Zを出力する除算回路であって、除数X
の絶対値AXと被除数Yの絶対値AYと除算結果Zの符
号部SigZを求める絶対値化回路と、除数Xの絶対値A
Xの指数部K1と仮数部N1を求める第1の浮動小数点
化回路と、更に仮数部N1の指数部K2と仮数部N2を
求め、仮数部N2の上位(q+1)ビット分(但し、q
はq<m−2の正の整数)のデータをN2′として抽出
し、抽出したデータを最下位ビットで丸め処理してqビ
ット分のデータとして求める第2の浮動小数点化回路
と、指数部K2と抽出データN2′で指定されるアドレ
スに、除数Xの絶対値AXの逆数に対応する参照値I
X′を格納した参照テーブルと、指数部K2と抽出デー
タN2′とで指定された参照テーブルのアドレスから読
み出された参照値IX′を、被除数の絶対値AYに乗算
する乗算回路と、該乗算回路の乗算値をK1ビット右シ
フトして除算結果の絶対値Z′を求めるビットシフト回
路と、符号部SigZにより除算結果の絶対値Z′の符号
化処理を行って除算結果Zを出力する符号化回路とを有
することを特徴とするものである。
【0007】また請求項2に係る発明は、請求項1に係
る除算回路において、前記仮数部N1,N2は正数であ
り、仮数部N1としては、(1+N1/2m-1 )で表さ
れる除数Xの絶対値AXの仮数部の第2項分子のN1を
用い、仮数部N2としては、(1+N2/2m-2 )で表
される仮数部N1の仮数部の第2項分子のN2を用いる
ことを特徴とするものである。
【0008】また請求項3に係る発明は、請求項1に係
る除算回路において、前記抽出データのビット数qは、
ビット幅mに応じて予め設定されていることを特徴とす
るものである。
【0009】また請求項4に係る発明は、請求項1に係
る除算回路において、前記第2の浮動小数点化回路は、
除数Xの絶対値AXがAX=2n (但し、nは正の整
数)で表わされる場合は、例外としてK2=0,N2′
=0を出力し、この例外が発生した場合は参照値IX′
を0とし、前記ビットシフト回路は、被除数の絶対値A
Yに参照値IX′を乗算した結果が0の場合は、被除数
の絶対値AYをK1ビット右シフトして除算結果の絶対
値Z′を求めることを特徴とするものである。
【0010】また請求項5に係る発明は、請求項1に係
る除算回路において、参照テーブルは、参照値IX′と
して本来の参照値IXの下位(m−1)ビット分のデー
タを格納するようにし、前記参照テーブルから参照値I
X′を読み出した後、mビット目に‘1’を加算するこ
とを特徴とするものである。
【0011】また請求項6に係る発明は、請求項1に係
る除算回路において、前記参照テーブルは、前記第2の
浮動小数点化回路から出力される除数Xの絶対値AXに
対応するK2とN2′とにより指定されるアドレスに、
除数Xの絶対値AXの逆数に対応する参照値IX′を格
納していることを特徴とするものでる。
【0012】また請求項7に係る発明は、請求項1に係
る除算回路において、前記第2の浮動小数点化回路は、
入力アドレスを指定するN2′が丸め処理によりq+1
ビット目に桁上がりが生じる場合は、qビットで表現で
きる最大値をN2′として出力することを特徴とするも
のである。
【0013】また請求項8に係る発明は、請求項1又は
請求項6に係る除算回路に用いる参照テーブルを作成す
る参照テーブル作成装置において、処理ビット数mを入
力する手段と、処理ビット数mに応じた抽出すべき下位
ビット数q及び除数Xの絶対値AXに対応するK2とN
2′を演算し、mとqとK2とN2′に対応する参照値
IX′を算出する演算手段と、該演算手段で得られた参
照値IX′を、N2′とK2とにより指定されるアドレ
スにテーブルとして格納する格納手段をもつことを特徴
とするものである。
【0014】また請求項9に係る発明は、(m+1)ビ
ット(但し、mは正の整数)の被除数Yを(m+1)ビ
ットの除数Xで除算した結果Zを出力する除算回路であ
って、除数Xの絶対値AXと被除数Yの絶対値AYと除
算結果Zの符号部SigZを求める絶対値化回路と、AX
の最上位ビットから検索して最初に‘1’が立つビット
位置K1と、二番目に‘1’が立つビット位置K2と、
二番目に‘1’が立つビット位置の次のビット位置から
(q+1)ビット分(但し、qはq<m−2の正の整
数)のデータを抽出して最下位ビットで丸め処理してq
ビット分のデータN2′を出力する演算回路と、K2と
N2′で指定されるアドレスに、除数Xの絶対値AXの
逆数に対応する参照値IX′を格納した参照テーブル
と、指数部K2とN2′とで指定された参照テーブルの
アドレスから読み出された参照値IX′を、被除数の絶
対値AYに乗算する乗算回路と、該乗算回路の乗算値を
K1ビット右シフトして除算結果の絶対値Z′を求める
ビットシフト回路と、符号部SigZにより除算結果の絶
対値Z′の符号化処理を行って除算結果Zを出力する符
号化回路とを有するものである。
【0015】このように構成された除算回路において
は、第2の浮動小数点化回路又は演算回路で得られる、
除数Xの絶対値AXに対応するK2とN2′は、そのビ
ット幅の合計がmビットより小さいため、参照テーブル
を格段に小さくすることができる。更に、除数Xの絶対
値AXの逆数に対応する参照値IX′から導き出したI
Xと被除数Yを乗算した後に、ビットシフト回路で指数
部K1による右ビットシフトを行うため、非常に精度よ
く除算結果Zを求めることができる。
【0016】
【発明の実施の形態】次に、実施の形態について説明す
る。図1は本発明に係る除算回路の第1の実施の形態を
示すブロック構成図である。この実施の形態に係る除算
回路は、次のように構成されている。すなわち、11は絶
対値化回路で、この絶対値化回路11はビット幅(m+
1)の除数Xとビット幅(m+1)の被除数Yそれぞれ
の絶対値(AX,AY)と、除算結果の符号(SigZ)
を出力する回路である。12は第1の浮動小数点化回路
で、この第1の浮動小数点化回路12は分母となる除数X
の絶対値AXを、指数部(K1)と仮数部(N1)とに
分ける回路である。13は第2の浮動小数点化回路で、こ
の第2の浮動小数点化回路13は第1の浮動小数点化回路
12によって出力された仮数部(N1)を、更に指数部
(K2)と仮数部(N2′)に分ける回路である。14は
LUTで、このLUT14は仮数部N2′と指数部K2か
ら除数Xの絶対値AXの逆数に対応する値IX′を出力
する参照テーブルである。15はLUT14によって出力さ
れたAXの逆数に対応する値IX′に、所定の加算を行
う加算回路である。16は被除数Yの絶対値AYと除算結
果の符号部SigZを適切に遅延させる遅延回路である。
加算回路15から出力された値IXは、被除数Yの絶対値
AYと乗算回路17で乗算されて、ビットシフト回路18に
入力される。ビットシフト回路18は乗算結果をK1ビッ
トだけ右シフトしてZ′(除算結果の絶対値)として出
力する。符号化回路19は、遅延回路16によって適切に遅
延されたSigZによって、Z′を符号付きに変換して、
除算結果Zとして出力する。
【0017】次に、この発明の実施の形態の作用を説明
するために、まず本発明における除算手法について説明
する。除数Xと被除数Yが入力され、除算結果Z=Y/
Xを求める場合、除算結果Zの符号は、除数Xと被除数
Yの符号部から求められるので、これをSigZとし、除
算結果の絶対値Z′と符号部SigZから除算結果Zを求
めるようにする。除算結果Zの絶対値Z′は、除数Xの
絶対値AXと被除数Yの絶対値AYから、〔数1〕のよ
うに求める。
【0018】
【数1】
【0019】ここで、 int( ) は( ) 内の数値を超えな
い正数を返す関数とする。
【0020】次に、〔数1〕の各変数について詳細に説
明する。まずN1,K1は、除数の絶対値AXを浮動小
数点化したときの仮数部(N1)と指数部(K1)に対
応する。但し、N1は単純に絶対値AXの仮数部ではな
い。すなわち、絶対値AXの仮数部は〔数2〕で表され
るが、その第2項分子を示す数値であるN1を、本発明
では絶対値AXの仮数部と呼ぶことにする。
【0021】
【数2】
【0022】ちなみに、N1の変域は〔0,2m-1
1〕、K1の変域は〔0,m−1〕である。
【0023】次に、N2とK2は、除数の絶対値AXの
仮数部であるN1を、更に浮動小数点化したときの仮数
部(N2)と指数部(K2)に対応する。但し、〔数
2〕で示したと同様、N1の実際の仮数部は〔数3〕で
表わされるが、これについてもN2をN1の仮数部と呼
ぶことにする。
【0024】
【数3】
【0025】最後にqとN2′であるが、これは所望の
除算結果が十分な精度で得られる範囲内で近似式〔数
4〕を満たすように定義される。
【0026】
【数4】
【0027】より具体的には、〔数5〕に従うようにq
とN2′を定義する。
【0028】
【数5】
【0029】〔数5〕を満たすN2′とqを〔数1〕に
適用すると、〔数1〕によって表わされる除算結果Z
は、誤差±1以内の精度で演算することができる。
【0030】さて、除算を〔数1〕で表現する理由を、
例を用いて更に詳しく説明する。いま、m=16,X=A
X=9513(2進数表記で“0010010100101001")が入力
されたとする。このとき、〔数1〕と〔数5〕から、求
める除算は〔数6〕に示すように変形できる。
【0031】
【数6】
【0032】ここで、“ " で囲まれる数値は2進数で
表現された数値である。
【0033】〔数6〕の中で、指数部であるK1(=1
3)とK2(=12)は、入力Xの‘1’となっているビ
ットを、MSB側から検索したときの一番目と二番目の
位置情報を表わす。m=16の場合、K1とK2は4ビッ
トで表現できる。N2′(=“010011")は、MSB側
から検索して二番目の‘1’のすぐ右にあるビット位置
からLSBに向かって7ビット分の情報を取得し、最下
位ビット(7ビット目)で四捨五入して上位6ビットを
取得したものである。つまり〔数6〕は、分母であるA
Xを近似的に表わした数値であり、AXのMSB側から
数えて2番目の‘1’のある位置から6ビットの情報ま
でが保持されている。
【0034】〔数6〕の式中のK1に対応する情報であ
る213は、分子Yを乗算後にビットシフトすればよいの
で、逆数演算に必要な情報は、4ビット情報のK2と6
ビット情報のqの合計10ビットで十分となる。これを参
照テーブルとしてもつ回路を構成すれば、従来ビット幅
分だけのアドレス(16ビット)を必要としたのに対し、
6ビット分のアドレスを圧縮でき、回路規模の縮小が期
待できる。
【0035】図2の左表に除数Xに対応するK2,N
2′,IX′の表を示す。図2の左表において、表の右
端に示したからの数字は、同じ数字の段に示すK
2,N2′,IX′の値が全て同じ値であることを指し
ている。例えば、は除数Xが1,2,4,8,16の列
に付けられているが、このときのK2,N2′,IX′
は、どれも0となっていることが分かる。すなわち、除
数Xが1,2,4,8,16のときはテーブルが一つで足
りることを意味する。
【0036】図2の右表は、K2を上位アドレス、N
2′を下位アドレスとして整理した参照テーブルを表わ
す。図2の左表のに対応するアドレスは、図2の右表
の左端にと記載されている段に対応し、図2の左表の
に対応する段は、図2の右表の最下段(左端にと記
載された段)に対応する。このように、K2やN2′を
アドレスとすることで、参照テーブルを圧縮できること
が分かる。
【0037】次に、〔数5〕で示したqの求め方を説明
する。上記16ビットの例で述べたように、〔数1〕は近
似式であり、MSB側から検索して二番目の‘1’のす
ぐ右にあるビット位置からLSBに向かってqビット分
の情報までしか保持しない。このため、除数Xの絶対値
AXがある値より大きくなると、〔数1〕は近似による
誤差を発生する。近似による誤差が最大となるのは、A
Xが理想値から逸脱する最小値のときで、その値は、A
X=1+6×2q である。例えばm=16のとき、q=6
であるから、AX=385(“110000001")で、〔数1〕は
AX=385 をAX=386(“110000010")のときと、同等
に扱ってしまうため、大きな誤差が発生する。除算結果
Zを±1以内の精度で得るためには、AX=385 近傍に
おいて被除数の絶対値AYが最大値(AY=216−1)
であっても、誤差が±1以内である必要がある。これを
条件式で表わすと、〔数7〕のようになる。
【0038】
【数7】
【0039】これを解くと〔数5〕となり、〔数5〕を
満たせば、除算結果Zは除数Xと被除数Y全ての組み合
わせにおいても、誤差±1以内で計算できる。〔数5〕
を用いて計算したqの例を、図3に示す。
【0040】次に、上記実施の形態に係る除算回路の作
用を説明する。絶対値化回路11では、ビット幅(m+
1)の除数Xとビット幅(m+1)の被除数Yそれぞれ
の絶対値(AX,AY)を、ビット幅mで出力する。そ
れと同時に除算結果の符号(SigZ)を出力する。分母
となる除数の絶対値AXは、第1の浮動小数点化回路12
によって指数部(K1)と仮数部(N1)とに分けられ
る。仮数部N1は更に第2の浮動小数点化回路13によっ
て、指数部(K2)と仮数部(N2′)に分けられる。
LUT14は、N2′とK2からAXの逆数に対応する値
(参照値)IX′を出力する。IX′は〔数8〕で表わ
すことができる。
【0041】
【数8】
【0042】ここで、AXの逆数に対応する参照値I
X′を格納した参照テーブルLUT14は、図4に示すよ
うな構成の参照テーブル作成装置で作成することができ
る。すなわち、入力手段21は、例えばコンピュータのキ
ーボードのような入力手段であり、除数X,被除数Yの
絶対値AX,AYのビット幅に対応するmが入力され
る。演算手段22は、例えばコンピュータのような演算手
段で、入力されたビット幅mに対応するqとK2とN
2′を演算し、除数Xの絶対値AXの逆数に対応する参
照値IX′を求める。格納手段23は、例えばROMライ
タのように、除数Xの絶対値AXに対応する参照値I
X′を参照テーブルとしてメモリへ書き込む格納手段で
ある。
【0043】図4に示したような構成の装置で作成され
た参照テーブルLUT14によって、除数Xの絶対値AX
の逆数に対応するIX′が求められたのち、加算回路15
によって参照値IX′と2m-1 が加算され、遅延回路16
によって適切に遅延された被除数の絶対値AYと乗算回
路17で乗算される。乗算結果はビットシフト回路18に入
力され、K1だけ右シフトしてZ′(除算結果の絶対
値)として出力される。符号化回路19では、遅延回路16
によって適切に遅延された符号部SigZによって符号付
きに変換されて、除算結果Zが出力される。
【0044】ここで、回路規模を縮小するためにいくつ
かの工夫をしているので説明する。最初にN2′である
が、〔数5〕に基づいて求めたN2′の値域は〔0,2
q 〕となり、これを表現するためには(q+1)ビット
が必要となる。そこで、N2′=2q のときは、第2の
浮動小数点化回路13にてN2′から1を減算して、N
2′=2q −1を出力する。これにより、N2′はqビ
ットで表現でき、LUT14の入力アドレスが1ビット減
る。当然誤差が発生するが、幸いN2′=2q が起こり
得るのは、X≧2q+3 −1であり、除数Xが大きいため
ビットシフト量(絶対値AXの指数部)K1が大きくな
り、それほど問題とならない。
【0045】次に、〔数1〕において除数Xが2n とな
る場合を考える。このとき除数Xの逆数は2-nである
が、〔数1〕ではN1=0となってしまい、N1=0に
対応するN2′とK2を算出することができない。なぜ
なら、〔数1〕は〔数9〕のように等号が成立しないた
めである。
【0046】
【数9】
【0047】そこで、N1=0のときは例外的にN2′
=K2=0とし、N2′とK2から得られるIX′の値
及び加算回路15から出力される値IXも0とする。そし
て、ビットシフト回路18で、IXと被除数Yの絶対値A
Yを乗算した結果が0のときは、2m をK1ビット右シ
フトした値をZ′として出力する。
【0048】但し、N1=1の場合もN2′=K2=0
となり、例外条件に当てはまってしまう。しかし、N1
=1となるのは、除数XがX=2m-1 +1のときだけで
あり、除数Xが十分大きいためビットシフト量(絶対値
AXの指数部)K1も大きく、誤差は微小になるため、
例外条件に適合しても大きな問題とはならない。
【0049】以上をまとめると、回路規模縮小のため
に、〔数5〕で表わされるN2′を〔数10〕のように書
き換える。
【0050】
【数10】
【0051】以上のような構成で〔数1〕を演算する回
路が実現されるが、上述したようにLUT14は従来に比
べて非常に小さい。例えば、16ビットの除算回路の場
合、従来1Mビット(216×16ビット)必要であったメ
モリを、60分の1以下(210×15ビット)にまで削減す
ることができる。
【0052】次に、本実施の形態による誤差の改善効果
について、図5〜図7で説明する。図5〜図7は、16ビ
ット除算回路を構成したときの理想値との誤差を表わし
たグラフであり、横軸に除数X(0≦X≦4096) 、縦軸
には2m /Xの理想値と、従来例及び本実施の形態で計
算した除算結果Zとの誤差を表わしている。図5は図9
に示した従来例を用いたときの誤差を、図6は本実施の
形態においてq=6で除算回路を構成したときの誤差
を、図7は本実施の形態においてq=7で除算回路を構
成したときの誤差を表わす。従来例では、除数Xの値に
よらず±0.5 の誤差が発生しているが、本実施の形態
(q=6)ではX=385 で最も誤差が大きく、その後除
数Xが大きくなるに従って、誤差は小さくなっていく傾
向にあるのが分かる。つまり、除数Xが大きくなるほど
除算結果は正確になる。
【0053】また図6に示すように、q=6でも誤差は
±0.5 以内であるが、更に正確性を増したいのであれ
ば、qの値を大きくとることで、図7のように誤差を低
減できる。図7で示すように、q=7としたときはX=
3で最も誤差が大きくなる。しかし、q=7を超えても
q=7以上に誤差が改善されることはない。これは、q
≧7では〔数1〕の近似による誤差よりも参照テーブル
の出力(参照値)IX′のビット幅が有限であることに
よる誤差の方が優勢となるためで、これ以上正確な値を
得るためには、IX′のビット幅を広く取らなければな
らない。
【0054】なお、本実施の形態は種々の変更が可能で
ある。例えば、図1において第1の浮動小数点化回路と
第2の浮動小数点化回路の代わりに、除数Xの絶対値A
Xの最上位ビットから検索して最初に‘1’となるビッ
ト位置をK1,二番目に‘1’となるビット位置をK2
として求め、K2の次のビット位置から(q+1)ビッ
ト分抽出する手法も可能である。この場合の除算手法は
以下のようになる。
【0055】まず、除算結果の絶対値Z′を、〔数1〕
ではなく〔数11〕に基づくように変換する。
【0056】
【数11】
【0057】〔数11〕と〔数1〕を比較すると、〔数
1〕の変数はK2とN2′であったものが、〔数11〕で
は、K2−K1とN2′となる。
【0058】以上の除算手法を用いた、図1に示した実
施の形態に係る除算回路の変形例の回路構成を図8に示
す。図8において特徴的な部分は、図1に示した除算回
路における2つの浮動小数点化回路の代わりに置かれた
K1,K2及びN2′を求める演算回路31と、参照テー
ブルLUT32にある。その他の構成要素は図1に示した
除算回路と同様である。
【0059】〔数11〕におけるK2−K1は常に負であ
るので、参照テーブルLUT32への入力は、これを正数
にしたK1−K2とし、K1−K2とN2′とから除算
Xの絶対値AXの逆数に対応する参照値IX′を求める
ことができる。参照値IX′を算出した以降の処理は、
図1に示した除算回路と同様であるので説明を省略す
る。以上のように、この実施の形態並びにその変形例で
は、近似式を用いながら精度よく、且つ小さな回路規模
で除算回路を実現することができる。
【0060】
【発明の効果】以上実施の形態に基づいて説明したよう
に、本発明によれば、第2の浮動小数点化回路又は演算
回路で得られる、除数Xの絶対値AXに対応するK2と
N2′は、そのビット幅の合計がmビットより小さいた
め、参照テーブルを格段に小さくすることができる。更
に、除数Xの絶対値AXの逆数に対応する参照値IX′
から導き出したIXと被除数Yを乗算した後に、ビット
シフト回路で指数部K1による右ビットシフトを行うた
め、非常に精度よく除算結果Zを求めることができる。
【図面の簡単な説明】
【図1】本発明に係る除算回路の実施の形態を示すブロ
ック構成図である。
【図2】除数Xに対応するK2,N2′,IX′の表、
及びK2を上位アドレスとしN2′を下位アドレスとし
て整理した参照テーブルを示す図である。
【図3】〔数5〕を用いて算出したqの例を示す図であ
る。
【図4】参照テーブルを作成する参照テーブル作成装置
の構成例を示すブロック図である。
【図5】従来の16ビット除算回路で得られる除算結果と
理想値との誤差を表す図である。
【図6】本実施の形態による16ビット除算回路(q=
6)で得られる除算結果と理想値との誤差を表す図であ
る。
【図7】本実施の形態による16ビット除算回路(q=
7)で得られる除算結果と理想値との誤差を表す図であ
る。
【図8】図1に示した実施の形態の変形例を示すブロッ
ク構成図である。
【図9】従来の除算回路の構成例を示すブロック図であ
る。
【符号の説明】
11 絶対値化回路 12 第1の浮動小数点化回路 13 第2の浮動小数点化回路 14 参照テーブル 15 加算回路 16 遅延回路 17 乗算回路 18 ビットシフト回路 19 符号化回路 21 入力手段 22 演算手段 23 格納手段 31 演算回路 32 参照テーブル

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 (m+1)ビット(但し、mは正の整
    数)の被除数Yを(m+1)ビットの除数Xで除算した
    結果Zを出力する除算回路であって、除数Xの絶対値A
    Xと被除数Yの絶対値AYと除算結果Zの符号部SigZ
    を求める絶対値化回路と、除数Xの絶対値AXの指数部
    K1と仮数部N1を求める第1の浮動小数点化回路と、
    更に仮数部N1の指数部K2と仮数部N2を求め、仮数
    部N2の上位(q+1)ビット分(但し、qはq<m−
    2の正の整数)のデータをN2′として抽出し、抽出し
    たデータを最下位ビットで丸め処理してqビット分のデ
    ータとして求める第2の浮動小数点化回路と、指数部K
    2と抽出データN2′で指定されるアドレスに、除数X
    の絶対値AXの逆数に対応する参照値IX′を格納した
    参照テーブルと、指数部K2と抽出データN2′とで指
    定された参照テーブルのアドレスから読み出された参照
    値IX′を、被除数の絶対値AYに乗算する乗算回路
    と、該乗算回路の乗算値をK1ビット右シフトして除算
    結果の絶対値Z′を求めるビットシフト回路と、符号部
    SigZにより除算結果の絶対値Z′の符号化処理を行っ
    て除算結果Zを出力する符号化回路とを有する除算回
    路。
  2. 【請求項2】 前記仮数部N1,N2は正数であり、仮
    数部N1としては、(1+N1/2m-1 )で表される除
    数Xの絶対値AXの仮数部の第2項分子のN1を用い、
    仮数部N2としては、(1+N2/2m-2 )で表される
    仮数部N1の仮数部の第2項分子のN2を用いることを
    特徴とする請求項1に係る除算回路。
  3. 【請求項3】 前記抽出データのビット数qは、ビット
    幅mに応じて予め設定されていることを特徴とする請求
    項1に係る除算回路。
  4. 【請求項4】 前記第2の浮動小数点化回路は、除数X
    の絶対値AXがAX=2n (但し、nは正の整数)で表
    わされる場合は、例外としてK2=0,N2′=0を出
    力し、この例外が発生した場合は参照値IX′を0と
    し、前記ビットシフト回路は、被除数の絶対値AYに参
    照値IX′を乗算した結果が0の場合は、被除数の絶対
    値AYをK1ビット右シフトして除算結果の絶対値Z′
    を求めることを特徴とする請求項1に係る除算回路。
  5. 【請求項5】 前記参照テーブルは、参照値IX′とし
    て本来の参照値IXの下位(m−1)ビット分のデータ
    を格納するようにし、前記参照テーブルから参照値I
    X′を読み出した後、mビット目に‘1’を加算するこ
    とを特徴とする請求項1に係る除算回路。
  6. 【請求項6】 前記参照テーブルは、前記第2の浮動小
    数点化回路から出力される除数Xの絶対値AXに対応す
    るK2とN2′とにより指定されるアドレスに、除数X
    の絶対値AXの逆数に対応する参照値IX′を格納して
    いることを特徴とする請求項1に係る除算回路。
  7. 【請求項7】 前記第2の浮動小数点化回路は、入力ア
    ドレスを指定するN2′が丸め処理によりq+1ビット
    目に桁上がりが生じる場合は、qビットで表現できる最
    大値をN2′として出力することを特徴とする請求項1
    に係る除算回路。
  8. 【請求項8】 請求項1又は請求項6に係る除算回路に
    用いる参照テーブルを作成する参照テーブル作成装置で
    あって、処理ビット数mを入力する手段と、処理ビット
    数mに応じた抽出すべき下位ビット数q及び除数Xの絶
    対値AXに対応するK2とN2′を演算し、mとqとK
    2とN2′に対応する参照値IX′を算出する演算手段
    と、該演算手段で得られた参照値IX′を、N2′とK
    2とにより指定されるアドレスにテーブルとして格納す
    る格納手段をもつことを特徴とする参照テーブル作成装
    置。
  9. 【請求項9】 (m+1)ビット(但し、mは正の整
    数)の被除数Yを(m+1)ビットの除数Xで除算した
    結果Zを出力する除算回路であって、除数Xの絶対値A
    Xと被除数Yの絶対値AYと除算結果Zの符号部SigZ
    を求める絶対値化回路と、AXの最上位ビットから検索
    して最初に‘1’が立つビット位置K1と、二番目に
    ‘1’が立つビット位置K2と、二番目に‘1’が立つ
    ビット位置の次のビット位置から(q+1)ビット分
    (但し、qはq<m−2の正の整数)のデータを抽出し
    て最下位ビットで丸め処理してqビット分のデータN
    2′を出力する演算回路と、K2とN2′で指定される
    アドレスに、除数Xの絶対値AXの逆数に対応する参照
    値IX′を格納した参照テーブルと、指数部K2とN
    2′とで指定された参照テーブルのアドレスから読み出
    された参照値IX′を、被除数の絶対値AYに乗算する
    乗算回路と、該乗算回路の乗算値をK1ビット右シフト
    して除算結果の絶対値Z′を求めるビットシフト回路
    と、符号部SigZにより除算結果の絶対値Z′の符号化
    処理を行って除算結果Zを出力する符号化回路とを有す
    る除算回路。
JP2002108725A 2002-04-11 2002-04-11 除算回路 Withdrawn JP2003303096A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002108725A JP2003303096A (ja) 2002-04-11 2002-04-11 除算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002108725A JP2003303096A (ja) 2002-04-11 2002-04-11 除算回路

Publications (1)

Publication Number Publication Date
JP2003303096A true JP2003303096A (ja) 2003-10-24

Family

ID=29392384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002108725A Withdrawn JP2003303096A (ja) 2002-04-11 2002-04-11 除算回路

Country Status (1)

Country Link
JP (1) JP2003303096A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100367191C (zh) * 2005-09-22 2008-02-06 上海广电(集团)有限公司中央研究院 一种快速流水线型除法器
KR20150041540A (ko) * 2013-10-08 2015-04-16 삼성전자주식회사 수치 연산을 처리하는 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100367191C (zh) * 2005-09-22 2008-02-06 上海广电(集团)有限公司中央研究院 一种快速流水线型除法器
KR20150041540A (ko) * 2013-10-08 2015-04-16 삼성전자주식회사 수치 연산을 처리하는 장치 및 방법
KR102106538B1 (ko) * 2013-10-08 2020-05-04 삼성전자주식회사 수치 연산을 처리하는 장치 및 방법

Similar Documents

Publication Publication Date Title
US8719322B2 (en) Floating point format converter
JP3541066B2 (ja) コンピュータにおいて除算および平方根計算を実施するための方法および装置
EP0421092A2 (en) Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
US7188133B2 (en) Floating point number storage method and floating point arithmetic device
JPH06348455A (ja) 乗算における丸め込み方法及び乗算回路
JPH01125626A (ja) 逆数計算方法
JPH0934693A (ja) 指数対数変換回路
KR20080055985A (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
JP5307202B2 (ja) 精度制御反復算術論理演算ユニット
US8751555B2 (en) Rounding unit for decimal floating-point division
JPH08255073A (ja) 数値フォーマット変換装置
US6910059B2 (en) Apparatus and method for calculating an exponential calculating result of a floating-point number
JP3551113B2 (ja) 除算器
US7606850B2 (en) Method and apparatus for providing a base-2 logarithm approximation to a binary number
US11119731B2 (en) Apparatus and method for rounding
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
EP0394161A2 (en) Selection of divisor multipliers in a floating point divide circuit
JP2006172035A (ja) 除算・開平演算器
JP2003303096A (ja) 除算回路
JP2008257407A (ja) 対数演算器及び対数演算方法
US10353671B2 (en) Circuitry and method for performing division
JP4163967B2 (ja) 浮動小数点演算装置
JP3538512B2 (ja) データ変換装置
KR20010067226A (ko) 인터폴레이션 방법 및 장치
JPH0883263A (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: 20050705