JPH04218831A - 除算装置 - Google Patents
除算装置Info
- Publication number
- JPH04218831A JPH04218831A JP3071405A JP7140591A JPH04218831A JP H04218831 A JPH04218831 A JP H04218831A JP 3071405 A JP3071405 A JP 3071405A JP 7140591 A JP7140591 A JP 7140591A JP H04218831 A JPH04218831 A JP H04218831A
- Authority
- JP
- Japan
- Prior art keywords
- divisor
- partial remainder
- division
- quotient digit
- quotient
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F7/535—Dividing only
- G06F7/537—Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
- G06F7/5375—Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT
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)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、情報処理装置等に適用
され、浮動小数点数の仮数部どうしの除算や固定小数点
数どうしの除算等を行う除算装置に関するものである。
され、浮動小数点数の仮数部どうしの除算や固定小数点
数どうしの除算等を行う除算装置に関するものである。
【0002】
【従来の技術】近年、信号処理や数値計算など多くの情
報処理分野において高速な浮動小数点演算等を行い得る
演算装置が求められている。特に、除算に関しては、一
般に加減乗算と比較して数倍から数十倍程度の演算時間
がかかり、これを高速化するためには大規模なハードウ
ェアを投入する必要がある。
報処理分野において高速な浮動小数点演算等を行い得る
演算装置が求められている。特に、除算に関しては、一
般に加減乗算と比較して数倍から数十倍程度の演算時間
がかかり、これを高速化するためには大規模なハードウ
ェアを投入する必要がある。
【0003】そこで、簡潔なハードウェアで、しかも除
算を高速に実行し得る除算装置を得るための除算アルゴ
リズムの研究が、計算機の開発当初より盛んに進められ
、そのようなアルゴリズムとして例えば、(1)Kai
Hwang 著,堀越彌訳:“コンピュータの高速演
算方式”,近代科学社発行,pp.236〜247 (
昭和55年) (2)テ゛ィー.イー.アトキンス゛著,「ハイアー
ラテ゛ィックス テ゛ィウ゛ィシ゛ョン ユーシ゛ンク
゛ エスティメイツ オフ゛ サ゛ テ゛ィウ゛ァイサ
゛ー アント゛ ハ゜ーシャル リメインタ゛ース゛」
アイ・トリフ゜ル・イー・トランサ゛クションス゛・オ
ン・コンヒ゜ュータス゛, 第C−17巻,10号,
1968年10月,pp.925−934(D.E.A
tkins,”Higher−Radix Divis
ion Using Estimates of th
e Divisor and Partial Rem
ainders,” IEEETransactio
ns on Computers, Vol.C−17
, No.10, October 1968, pp
.925−934) (3)テ゛ィー.イー.アトキンス゛著,「テ゛サ゛イ
ン オフ゛ シ゛ アリスメティック ユニッツ オフ
゛ イリアック3: ユース オフ゛ リタ゛ンタ゛ン
シー アント゛ ハイアー ラテ゛ィックス メソッス
゛」アイ・トリフ゜ル・イー・トランサ゛クションス゛
・オン・コンヒ゜ュータス゛, 第C−19巻, 8
号,1970年 8月,pp.720−733(D.E
.Atkins,”Design ofthe Ari
thmetic Units of ILLIAC I
II: Use of Redundancy and
Higher RadixMethods,” IE
EE Transactions on Comput
ers, Vol. C−19, No.8, Aug
ust 1970, pp.720−733)に示さ
れているものなどが知られている。
算を高速に実行し得る除算装置を得るための除算アルゴ
リズムの研究が、計算機の開発当初より盛んに進められ
、そのようなアルゴリズムとして例えば、(1)Kai
Hwang 著,堀越彌訳:“コンピュータの高速演
算方式”,近代科学社発行,pp.236〜247 (
昭和55年) (2)テ゛ィー.イー.アトキンス゛著,「ハイアー
ラテ゛ィックス テ゛ィウ゛ィシ゛ョン ユーシ゛ンク
゛ エスティメイツ オフ゛ サ゛ テ゛ィウ゛ァイサ
゛ー アント゛ ハ゜ーシャル リメインタ゛ース゛」
アイ・トリフ゜ル・イー・トランサ゛クションス゛・オ
ン・コンヒ゜ュータス゛, 第C−17巻,10号,
1968年10月,pp.925−934(D.E.A
tkins,”Higher−Radix Divis
ion Using Estimates of th
e Divisor and Partial Rem
ainders,” IEEETransactio
ns on Computers, Vol.C−17
, No.10, October 1968, pp
.925−934) (3)テ゛ィー.イー.アトキンス゛著,「テ゛サ゛イ
ン オフ゛ シ゛ アリスメティック ユニッツ オフ
゛ イリアック3: ユース オフ゛ リタ゛ンタ゛ン
シー アント゛ ハイアー ラテ゛ィックス メソッス
゛」アイ・トリフ゜ル・イー・トランサ゛クションス゛
・オン・コンヒ゜ュータス゛, 第C−19巻, 8
号,1970年 8月,pp.720−733(D.E
.Atkins,”Design ofthe Ari
thmetic Units of ILLIAC I
II: Use of Redundancy and
Higher RadixMethods,” IE
EE Transactions on Comput
ers, Vol. C−19, No.8, Aug
ust 1970, pp.720−733)に示さ
れているものなどが知られている。
【0004】この種のアルゴリズムによれば、例えば被
除数R(0) を除数dで除算した小数点以下のビット
長がn(但し、nは2の倍数)の商Qn 、および最終
剰余の2j 倍(以下単に最終剰余と称する。)R(n
+2) は、以下に示すステップを実行することにより
得られる。ここで、基数は4、すなわち除算の商を2進
数表現における小数点以下第j−1位と第j位(但し、
jは2の倍数)との2桁ずつ求めて、これを1つの商デ
ィジットqj とするものとし、小数点以下第j位まで
の商をQj とする。
除数R(0) を除数dで除算した小数点以下のビット
長がn(但し、nは2の倍数)の商Qn 、および最終
剰余の2j 倍(以下単に最終剰余と称する。)R(n
+2) は、以下に示すステップを実行することにより
得られる。ここで、基数は4、すなわち除算の商を2進
数表現における小数点以下第j−1位と第j位(但し、
jは2の倍数)との2桁ずつ求めて、これを1つの商デ
ィジットqj とするものとし、小数点以下第j位まで
の商をQj とする。
【0005】また、上記商ディジットqj を求める際
に用いられる部分剰余の2j 倍(以下単に部分剰余と
称する。)をR(j)で表わし、この部分剰余R(j)
を2の補数表現した場合の小数点以下第i位の値をA
i で表わす。さらに、除数dにおける小数点以下第i
位の値をMi で表わす。すなわち、 R(j) =A0 .A1 A2 A3 A4 …Qj
=q0 .q2 q4 …qj d=0.M1 M2
M3 M4 … で表わされる。但し、上記A0 は2の補数表現におい
て符号を示すものである。
に用いられる部分剰余の2j 倍(以下単に部分剰余と
称する。)をR(j)で表わし、この部分剰余R(j)
を2の補数表現した場合の小数点以下第i位の値をA
i で表わす。さらに、除数dにおける小数点以下第i
位の値をMi で表わす。すなわち、 R(j) =A0 .A1 A2 A3 A4 …Qj
=q0 .q2 q4 …qj d=0.M1 M2
M3 M4 … で表わされる。但し、上記A0 は2の補数表現におい
て符号を示すものである。
【0006】また、部分剰余R(j) 、および商ディ
ジットqj は冗長2進数表現、すなわち各2進数1桁
が符号ビットと絶対値ビットとの2ビットで表されるも
のとする。 step1被除数R(0) 、および除数dを正規化す
る。 すなわち、 2−1≦R(0) <1 2−1≦d<1 となるようにする。(既に正規化されていればこのステ
ップは不要である。); step2q0 :=[01]2 ; Q0 :=q0 ; R(2) :=R(0) −q0 ・d;step3f
or j:=2 to n+1 step 2dobe
gin 下記(表1)、(表2)に従って商ディジットqj を
選択する; R(j+2) :=4R(j) −qj ・d;Qj
:=Qj−2 +qj ・2−j;endstep4i
f R(n+2) <0 thenbegin Qn :=Qn −2−n; R(n+2) :=R(n+2) +d;endste
p5 商Qn を2の補数表現に変換する。また、必要に応じ
て最終剰余R(n+2) を2の補数表現に変換する。 ;なお、上記の記述はプログラム言語Pascalの表
記に準じ、‘:=’は代入を表す演算子、[…]2 は
2進数表示の数値であることを示す。
ジットqj は冗長2進数表現、すなわち各2進数1桁
が符号ビットと絶対値ビットとの2ビットで表されるも
のとする。 step1被除数R(0) 、および除数dを正規化す
る。 すなわち、 2−1≦R(0) <1 2−1≦d<1 となるようにする。(既に正規化されていればこのステ
ップは不要である。); step2q0 :=[01]2 ; Q0 :=q0 ; R(2) :=R(0) −q0 ・d;step3f
or j:=2 to n+1 step 2dobe
gin 下記(表1)、(表2)に従って商ディジットqj を
選択する; R(j+2) :=4R(j) −qj ・d;Qj
:=Qj−2 +qj ・2−j;endstep4i
f R(n+2) <0 thenbegin Qn :=Qn −2−n; R(n+2) :=R(n+2) +d;endste
p5 商Qn を2の補数表現に変換する。また、必要に応じ
て最終剰余R(n+2) を2の補数表現に変換する。 ;なお、上記の記述はプログラム言語Pascalの表
記に準じ、‘:=’は代入を表す演算子、[…]2 は
2進数表示の数値であることを示す。
【0007】
【表1】
【0008】
【表2】
【0009】上記(表1)は、除数dがあらかじめ設定
された値を境界とする複数の区間のうちのいずれに属す
るかを識別する除数区間識別論理を示し、論理式の演算
結果が変数D1 〜D11として表わされ、このうち
のいずれか一つだけの値が1になるように設定されてい
る。 また、(表2)は、上記変数D1 …等に基づいて商デ
ィジットqj を決定する商ディジット選択論理を示し
、商ディジット選択論理式の演算結果が変数zeroP
…として表わされ、このうちのいずれか一つだけの値が
1になり、対応する商ディジットが選択されるように設
定されている。
された値を境界とする複数の区間のうちのいずれに属す
るかを識別する除数区間識別論理を示し、論理式の演算
結果が変数D1 〜D11として表わされ、このうち
のいずれか一つだけの値が1になるように設定されてい
る。 また、(表2)は、上記変数D1 …等に基づいて商デ
ィジットqj を決定する商ディジット選択論理を示し
、商ディジット選択論理式の演算結果が変数zeroP
…として表わされ、このうちのいずれか一つだけの値が
1になり、対応する商ディジットが選択されるように設
定されている。
【0010】なお、(表1)および(表2)において、
各論理変数に対する上線は論理否定を示す。また、(表
2)において、商ディジットの欄の数字に対する上線は
負の数であることを示す。例えば
各論理変数に対する上線は論理否定を示す。また、(表
2)において、商ディジットの欄の数字に対する上線は
負の数であることを示す。例えば
【0011】
【数1】
【0012】は−1を表す。上記のようなアルゴリズム
で除算を行う除算装置としては、例えば図8に示すよう
な除算装置100が考えられる。同図において、1は除
数区間識別回路で、除数dの小数点以下第2位以下3桁
の値M2 、M3 、およびM4 に基づき、(表1)
に従って、除数dがあらかじめ設定された値を境界とす
る複数の区間のうちのいずれに属するかを識別するもの
である。
で除算を行う除算装置としては、例えば図8に示すよう
な除算装置100が考えられる。同図において、1は除
数区間識別回路で、除数dの小数点以下第2位以下3桁
の値M2 、M3 、およびM4 に基づき、(表1)
に従って、除数dがあらかじめ設定された値を境界とす
る複数の区間のうちのいずれに属するかを識別するもの
である。
【0013】3は商ディジット決定回路で、上記除数区
間識別回路1の識別結果と、後述する次部分剰余生成回
路17から出力される部分剰余R(j) の上位6桁を
2の補数表現に変換して得られる値の符号A0 と小数
点以下第1位から第6位までの値A1 〜A6 とに基
づき、(表2)に従って、絶対値が2ビットで表される
値−2、−1、0、1、2のうちのいずれかを商ディジ
ットqj として選択するものである。なお、この商デ
ィジット決定回路3は、除算の開始時には、商ディジッ
トq0 として値1を出力するようになっている。商デ
ィジット決定回路3は、また、後述する除数倍数選択回
路13、および次部分剰余生成回路17に選択指示およ
び加減算指示を出力するようになっている。
間識別回路1の識別結果と、後述する次部分剰余生成回
路17から出力される部分剰余R(j) の上位6桁を
2の補数表現に変換して得られる値の符号A0 と小数
点以下第1位から第6位までの値A1 〜A6 とに基
づき、(表2)に従って、絶対値が2ビットで表される
値−2、−1、0、1、2のうちのいずれかを商ディジ
ットqj として選択するものである。なお、この商デ
ィジット決定回路3は、除算の開始時には、商ディジッ
トq0 として値1を出力するようになっている。商デ
ィジット決定回路3は、また、後述する除数倍数選択回
路13、および次部分剰余生成回路17に選択指示およ
び加減算指示を出力するようになっている。
【0014】4は正の商ディジット格納回路で、商ディ
ジット決定回路3によって選択された商ディジットqj
が正ならば、その商ディジットqj の絶対値、正で
なければ、値0を対応する位取りの桁に格納するもので
ある。5は負の商ディジット格納回路で、上記正の商デ
ィジット格納回路4と同様に、商ディジットqj が負
ならば、商ディジットqj の絶対値、負でなければ、
値0を対応する位取りの桁に格納するものである。
ジット決定回路3によって選択された商ディジットqj
が正ならば、その商ディジットqj の絶対値、正で
なければ、値0を対応する位取りの桁に格納するもので
ある。5は負の商ディジット格納回路で、上記正の商デ
ィジット格納回路4と同様に、商ディジットqj が負
ならば、商ディジットqj の絶対値、負でなければ、
値0を対応する位取りの桁に格納するものである。
【0015】6は商変換回路で、正の商ディジット格納
回路4の内容から負の商ディジット格納回路5の内容を
減算し、減算結果を商Qn として出力するものである
。 10は除数2倍回路で、除数dの2倍数を発生するもの
である。13は除数倍数選択回路で、商ディジット決定
回路3からの選択指示に応じて、商ディジットqj の
絶対値と除数dとの積、すなわち、除数d、除数dの2
倍数、または値0のいずれかを選択して出力するもので
ある。
回路4の内容から負の商ディジット格納回路5の内容を
減算し、減算結果を商Qn として出力するものである
。 10は除数2倍回路で、除数dの2倍数を発生するもの
である。13は除数倍数選択回路で、商ディジット決定
回路3からの選択指示に応じて、商ディジットqj の
絶対値と除数dとの積、すなわち、除数d、除数dの2
倍数、または値0のいずれかを選択して出力するもので
ある。
【0016】16は部分剰余4倍回路で、後述する次部
分剰余生成回路17から出力される部分剰余R(j)
の4倍数を発生するものである。17は次部分剰余生成
回路で、除算の開始時には、図示しない正規化回路によ
って正規化された被除数R(0) から、同じく正規化
された除数dを減算し、減算結果を最初の部分剰余R(
2) とする一方、その後には、商ディジット決定回路
3からの加減算指示に応じ、部分剰余4倍回路16から
出力される部分剰余R(j) の4倍数に対して、除数
倍数選択回路13から出力される値、すなわち商ディジ
ットqj の絶対値と除数dとの積を、商ディジットq
j が正ならば減算、負ならば加算するものである。
分剰余生成回路17から出力される部分剰余R(j)
の4倍数を発生するものである。17は次部分剰余生成
回路で、除算の開始時には、図示しない正規化回路によ
って正規化された被除数R(0) から、同じく正規化
された除数dを減算し、減算結果を最初の部分剰余R(
2) とする一方、その後には、商ディジット決定回路
3からの加減算指示に応じ、部分剰余4倍回路16から
出力される部分剰余R(j) の4倍数に対して、除数
倍数選択回路13から出力される値、すなわち商ディジ
ットqj の絶対値と除数dとの積を、商ディジットq
j が正ならば減算、負ならば加算するものである。
【0017】なお、上記加減算は冗長2進数(2を基数
とする符号付きディジット数)体系で行なわれ、部分剰
余R(j) も冗長2進数表現として得られるようにな
っている。このように構成された除算装置100で行わ
れる除算動作を説明する。 (1) まず、正規化された被除数R(0) と、除
数dとが入力されると、次部分剰余生成回路17は被除
数R(0) から除数dを減算し、最初の部分剰余R(
2) を出力する。また、商ディジット決定回路3は最
初の商ディジットq0 (2進数表現における1の位の
値)として値1を出力し、正の商ディジット格納回路4
に格納する。 (2) 除数区間識別回路1は、除数dの小数点以下
第2位以下3桁の値M2 〜M4 を(表1)に従って
デコードし、除数dの含まれる区間を識別する。この識
別は除算の開始時に1回だけ行われ、識別結果は、その
除算処理が終了するまで保持される。 (3) 商ディジット決定回路3は、次部分剰余生成
回路17から出力された部分剰余R(2) の上位6桁
を2の補数表現に変換し、得られた値の符号A0 と小
数点以下第1位から第6位までの値A1 〜A6 、お
よび上記除数区間識別回路1の識別結果に基づき、(表
2)に従って値−2、−1、0、1、2のうちのいずれ
かを商ディジットq2 として選択し、出力する。 (4) 商ディジット決定回路3は、さらに、正の商
ディジット格納回路4、および負の商ディジット格納回
路5における対応する位取りの桁に、それぞれ2ビット
で表わされる商ディジットq2 の絶対値、または値0
を商ディジットq2 の正負に応じて格納する。 (5) 除数倍数選択回路13は、商ディジット決定
回路3からの選択指示に応じて、商ディジットq2 の
絶対値と除数dとの積を選択して出力する。 (6) 次部分剰余生成回路17は、部分剰余4倍回
路16から出力される部分剰余R(2) の4倍数に対
し、除数倍数選択回路13から出力される値を、商ディ
ジット決定回路3からの加減算指示、すなわち商ディジ
ットq2 の正負に応じて減算または加算し、次の除算
ステップに用いる部分剰余R(4) を出力する。 (7) 上記(3)〜(6)が、各添え字を2ずつイ
ンクリメントしつつ、n/2回(小数点以下は切り上げ
る)繰り返されることにより、各商ディジットqj が
冗長2進数表現として得られ、その正負に応じて、正の
商ディジット格納回路4または負の商ディジット格納回
路5に格納されるとともに、最終剰余R(n+2) が
次部分剰余生成回路17から出力される。 (8) 商変換回路6は、正の商ディジット格納回路
4に格納されている値から負の商ディジット格納回路5
に格納されている値を減算し、2の補数表現に変換する
とともに、最終剰余R(n+2) が負であれば、最下
位のビットにおいて1を減じて商Qn を求める。また
、必要に応じて、図示しない最終剰余補正回路により同
様に最終剰余R(n+2) を2の補数表現に変換する
ともに、その値が負であれば、これに除数dを加算する
。
とする符号付きディジット数)体系で行なわれ、部分剰
余R(j) も冗長2進数表現として得られるようにな
っている。このように構成された除算装置100で行わ
れる除算動作を説明する。 (1) まず、正規化された被除数R(0) と、除
数dとが入力されると、次部分剰余生成回路17は被除
数R(0) から除数dを減算し、最初の部分剰余R(
2) を出力する。また、商ディジット決定回路3は最
初の商ディジットq0 (2進数表現における1の位の
値)として値1を出力し、正の商ディジット格納回路4
に格納する。 (2) 除数区間識別回路1は、除数dの小数点以下
第2位以下3桁の値M2 〜M4 を(表1)に従って
デコードし、除数dの含まれる区間を識別する。この識
別は除算の開始時に1回だけ行われ、識別結果は、その
除算処理が終了するまで保持される。 (3) 商ディジット決定回路3は、次部分剰余生成
回路17から出力された部分剰余R(2) の上位6桁
を2の補数表現に変換し、得られた値の符号A0 と小
数点以下第1位から第6位までの値A1 〜A6 、お
よび上記除数区間識別回路1の識別結果に基づき、(表
2)に従って値−2、−1、0、1、2のうちのいずれ
かを商ディジットq2 として選択し、出力する。 (4) 商ディジット決定回路3は、さらに、正の商
ディジット格納回路4、および負の商ディジット格納回
路5における対応する位取りの桁に、それぞれ2ビット
で表わされる商ディジットq2 の絶対値、または値0
を商ディジットq2 の正負に応じて格納する。 (5) 除数倍数選択回路13は、商ディジット決定
回路3からの選択指示に応じて、商ディジットq2 の
絶対値と除数dとの積を選択して出力する。 (6) 次部分剰余生成回路17は、部分剰余4倍回
路16から出力される部分剰余R(2) の4倍数に対
し、除数倍数選択回路13から出力される値を、商ディ
ジット決定回路3からの加減算指示、すなわち商ディジ
ットq2 の正負に応じて減算または加算し、次の除算
ステップに用いる部分剰余R(4) を出力する。 (7) 上記(3)〜(6)が、各添え字を2ずつイ
ンクリメントしつつ、n/2回(小数点以下は切り上げ
る)繰り返されることにより、各商ディジットqj が
冗長2進数表現として得られ、その正負に応じて、正の
商ディジット格納回路4または負の商ディジット格納回
路5に格納されるとともに、最終剰余R(n+2) が
次部分剰余生成回路17から出力される。 (8) 商変換回路6は、正の商ディジット格納回路
4に格納されている値から負の商ディジット格納回路5
に格納されている値を減算し、2の補数表現に変換する
とともに、最終剰余R(n+2) が負であれば、最下
位のビットにおいて1を減じて商Qn を求める。また
、必要に応じて、図示しない最終剰余補正回路により同
様に最終剰余R(n+2) を2の補数表現に変換する
ともに、その値が負であれば、これに除数dを加算する
。
【0018】上記のような除算装置によれば、基数2の
SRT除算や非回復型除算を適用した除算装置に比べて
、除算ステップの繰り返し回数が約半分になるとともに
、次部分剰余生成回路17が桁上げ伝播を伴わない冗長
2進数体系の演算を行うように構成されていることによ
り、1除算ステップの実行時間が短く抑えられるので、
上記基数2のSRT除算等を適用した除算装置の2倍近
い除算処理速度が得られる。
SRT除算や非回復型除算を適用した除算装置に比べて
、除算ステップの繰り返し回数が約半分になるとともに
、次部分剰余生成回路17が桁上げ伝播を伴わない冗長
2進数体系の演算を行うように構成されていることによ
り、1除算ステップの実行時間が短く抑えられるので、
上記基数2のSRT除算等を適用した除算装置の2倍近
い除算処理速度が得られる。
【0019】また、基数4のSRT除算を適用した除算
装置においては商ディジットが値−3、−2、−1、0
、1、2、3のうちから選択されるのに対して、値−2
、−1、0、1、2のうちから選択されるように選択範
囲が制限されているので、商ディジットと除数との積を
求める回路を除数2倍回路10と除数倍数選択回路13
とだけから構成することができ、ハードウェア規模の増
大を比較的小さく抑えることができるとともに、1除算
ステップの実行時間も比較的短く抑えることができる。
装置においては商ディジットが値−3、−2、−1、0
、1、2、3のうちから選択されるのに対して、値−2
、−1、0、1、2のうちから選択されるように選択範
囲が制限されているので、商ディジットと除数との積を
求める回路を除数2倍回路10と除数倍数選択回路13
とだけから構成することができ、ハードウェア規模の増
大を比較的小さく抑えることができるとともに、1除算
ステップの実行時間も比較的短く抑えることができる。
【0020】
【発明が解決しようとする課題】しかしながら、上記の
ような除算装置においては、商ディジットと除数との積
を求める回路等を比較的簡潔に構成することができるも
のの、商ディジット選択論理が非常に複雑であり、部分
剰余および除数の多数の上位ビットをデコードする複雑
な商ディジット選択用デコーダを備える必要がある。
ような除算装置においては、商ディジットと除数との積
を求める回路等を比較的簡潔に構成することができるも
のの、商ディジット選択論理が非常に複雑であり、部分
剰余および除数の多数の上位ビットをデコードする複雑
な商ディジット選択用デコーダを備える必要がある。
【0021】それゆえ、商ディジット決定回路3のハー
ドウェア規模が大きく、商ディジットの選択に要する時
間も、SRT除算を適用した除算装置に比べて長くかか
る。したがって、従来の除算装置は、全体的に大幅なハ
ードウェア規模の増大を招くことなく、除算処理速度を
大幅に向上させることは困難であるという問題点を有し
ていた。
ドウェア規模が大きく、商ディジットの選択に要する時
間も、SRT除算を適用した除算装置に比べて長くかか
る。したがって、従来の除算装置は、全体的に大幅なハ
ードウェア規模の増大を招くことなく、除算処理速度を
大幅に向上させることは困難であるという問題点を有し
ていた。
【0022】しかも、同様の手法を基数8以上の高基数
除算に応用することは、一層の商ディジット選択用デコ
ーダの複雑化および商ディジットの選択に要する時間の
増大を招くことになるので、困難である。このように、
従来の除算装置は商ディジットと除数との積の算出を容
易にするために商ディジットの選択範囲を制限していた
のに対し、本発明者は試行錯誤を行った結果、商ディジ
ットの選択論理を簡素化する方が、より除算速度の向上
を図り得ることを知得するに致った。
除算に応用することは、一層の商ディジット選択用デコ
ーダの複雑化および商ディジットの選択に要する時間の
増大を招くことになるので、困難である。このように、
従来の除算装置は商ディジットと除数との積の算出を容
易にするために商ディジットの選択範囲を制限していた
のに対し、本発明者は試行錯誤を行った結果、商ディジ
ットの選択論理を簡素化する方が、より除算速度の向上
を図り得ることを知得するに致った。
【0023】本発明は上記の点に鑑み、商ディジット選
択論理を簡素化して、大幅な除算処理の高速化を図ると
ともにハードウェア規模の増大を小さく抑えることがで
きる除算装置の提供を目的としている。
択論理を簡素化して、大幅な除算処理の高速化を図ると
ともにハードウェア規模の増大を小さく抑えることがで
きる除算装置の提供を目的としている。
【0024】
【課題を解決するための手段】上記目的を達成するため
、本発明は、2の補数表現で表わされる部分剰余を用い
て高基数除算を行う除算装置であって、除数および部分
剰余における上位の一部の桁の値、および部分剰余の符
号に基づいて、前記基数のもとにとり得るすべての商デ
ィジットの値のうちのいずれかを選択する商ディジット
選択手段と、それぞれ、値0、および除数の2の整数乗
倍の値のうちの少なくともいずれか1つを生成する複数
の除数倍数生成手段と、前記除数倍数生成手段の出力、
および部分剰余の基数倍の値とを加減算して、新たな部
分剰余を生成する3入力以上の加減算手段とが設けられ
ていることを特徴としている。
、本発明は、2の補数表現で表わされる部分剰余を用い
て高基数除算を行う除算装置であって、除数および部分
剰余における上位の一部の桁の値、および部分剰余の符
号に基づいて、前記基数のもとにとり得るすべての商デ
ィジットの値のうちのいずれかを選択する商ディジット
選択手段と、それぞれ、値0、および除数の2の整数乗
倍の値のうちの少なくともいずれか1つを生成する複数
の除数倍数生成手段と、前記除数倍数生成手段の出力、
および部分剰余の基数倍の値とを加減算して、新たな部
分剰余を生成する3入力以上の加減算手段とが設けられ
ていることを特徴としている。
【0025】また、冗長2進数表現で表わされる部分剰
余を用いて高基数除算を行う除算装置であって、除数お
よび部分剰余における上位の一部の桁の値に基づいて、
前記基数のもとにとり得るすべての商ディジットの値の
うちのいずれかを選択する商ディジット選択手段と、そ
れぞれ、値0、および除数の2の整数乗倍の値のうちの
少なくともいずれか1つを生成する複数の除数倍数生成
手段と、前記除数倍数生成手段の出力を加減算して、商
ディジットと除数との積を冗長2進数表現数として生成
する第1の加減算手段と、前記第1の加減算手段の出力
と部分剰余の基数倍の値とを加減算して、新たな部分剰
余を冗長2進数表現数として生成する第2の加減算手段
とが設けられていることを特徴としている。
余を用いて高基数除算を行う除算装置であって、除数お
よび部分剰余における上位の一部の桁の値に基づいて、
前記基数のもとにとり得るすべての商ディジットの値の
うちのいずれかを選択する商ディジット選択手段と、そ
れぞれ、値0、および除数の2の整数乗倍の値のうちの
少なくともいずれか1つを生成する複数の除数倍数生成
手段と、前記除数倍数生成手段の出力を加減算して、商
ディジットと除数との積を冗長2進数表現数として生成
する第1の加減算手段と、前記第1の加減算手段の出力
と部分剰余の基数倍の値とを加減算して、新たな部分剰
余を冗長2進数表現数として生成する第2の加減算手段
とが設けられていることを特徴としている。
【0026】
【作用】上記の構成により、商ディジット選択手段は、
除数および2の補数表現で表される部分剰余における上
位の一部の桁の値と部分剰余の符号、または除数および
冗長2進数表現で表される部分剰余における上位の一部
の桁の値に基づいて、基数のもとにとり得るすべての商
ディジットの値のうちのいずれかを選択する。
除数および2の補数表現で表される部分剰余における上
位の一部の桁の値と部分剰余の符号、または除数および
冗長2進数表現で表される部分剰余における上位の一部
の桁の値に基づいて、基数のもとにとり得るすべての商
ディジットの値のうちのいずれかを選択する。
【0027】複数の除数倍数生成手段は、それぞれ、値
0、および除数の2の整数乗倍の値のうちの少なくとも
いずれか1つを生成する。3入力以上の加減算手段、ま
たは第1および第2の加減算手段は、除数倍数生成手段
の出力および部分剰余の基数倍の値とを加減算して、新
たな部分剰余を生成する。
0、および除数の2の整数乗倍の値のうちの少なくとも
いずれか1つを生成する。3入力以上の加減算手段、ま
たは第1および第2の加減算手段は、除数倍数生成手段
の出力および部分剰余の基数倍の値とを加減算して、新
たな部分剰余を生成する。
【0028】
【実施例】(実施例1)本発明の実施例1として、被除
数R(0) を除数Dで除算した小数点以下のビット長
がn(但し、nは2の倍数)の商Qn 、および最終剰
余の2j 倍(以下単に最終剰余と称する。但し、jは
2の倍数)R(n+2) を算出する除算装置の例を説
明する。
数R(0) を除数Dで除算した小数点以下のビット長
がn(但し、nは2の倍数)の商Qn 、および最終剰
余の2j 倍(以下単に最終剰余と称する。但し、jは
2の倍数)R(n+2) を算出する除算装置の例を説
明する。
【0029】ここで、基数は4、すなわち除算の商を2
進数表現における小数点以下第j−1位と第j位との2
桁ずつ求めて、これを1つの商ディジットqj とする
ものとし、小数点以下第j位までの商をQj とする。 また、上記商ディジットqj を求める際に用いられる
部分剰余の2j 倍(以下単に部分剰余と称する。)を
R(j) で表わし、この部分剰余R(j) の小数点
以下第i位の値をri (j) で表わす。
進数表現における小数点以下第j−1位と第j位との2
桁ずつ求めて、これを1つの商ディジットqj とする
ものとし、小数点以下第j位までの商をQj とする。 また、上記商ディジットqj を求める際に用いられる
部分剰余の2j 倍(以下単に部分剰余と称する。)を
R(j) で表わし、この部分剰余R(j) の小数点
以下第i位の値をri (j) で表わす。
【0030】さらに、除数Dにおける小数点以下第i位
の値をdi で表わす。すなわち、 R(j) =r0 (j) .r1 (j) r2 (
j) r3 (j) r4 (j) … Qj =q0 .q2 q4 …qj D=0.d1
d2 d3 d4 … で表わされる。但し、部分剰余R(j) は2の補数表
現で表されるものとし、上記r0 (j) は2の補数
表現における符号を示すものである。
の値をdi で表わす。すなわち、 R(j) =r0 (j) .r1 (j) r2 (
j) r3 (j) r4 (j) … Qj =q0 .q2 q4 …qj D=0.d1
d2 d3 d4 … で表わされる。但し、部分剰余R(j) は2の補数表
現で表されるものとし、上記r0 (j) は2の補数
表現における符号を示すものである。
【0031】また、商ディジットqj は冗長2進数表
現、すなわち下記(表3)に示すように、各2進数1桁
が符号ビットと絶対値ビットとの2ビットで表されるも
のとする。ここで、上記冗長2進数表現のビット割り当
ては便宜上のものであり、任意の割り当てが可能である
。なお、同表中および以下の説明において、記号Xは値
が0でも1でもよいことを示し、数字に対する上線は負
の数であることを示す。また、以下の説明において、論
理変数に対する上線は論理否定を示す。
現、すなわち下記(表3)に示すように、各2進数1桁
が符号ビットと絶対値ビットとの2ビットで表されるも
のとする。ここで、上記冗長2進数表現のビット割り当
ては便宜上のものであり、任意の割り当てが可能である
。なお、同表中および以下の説明において、記号Xは値
が0でも1でもよいことを示し、数字に対する上線は負
の数であることを示す。また、以下の説明において、論
理変数に対する上線は論理否定を示す。
【0032】
【表3】
【0033】まず、本発明で適用される概略のアルゴリ
ズムについて説明する。 step1 被除数R(0) 、および除数Dを正規化する。すなわ
ち、2−1≦R(0) <1 2−1≦D<1 となるようにする。(既に正規化されていればこのステ
ップは不要である。);step2 q0 :=[01]2 ; Q0 :=q0 ; R(2) :=R(0) −q0 ・D;step3f
or j:=2 to n+1 step 2 do
begin 下記(表4)〜(表6)に従って商ディジ
ットqj を選択する; R(j+2) :=4R(j) −qj ・D;Qj
:=Qj−2 +qj ・2−j;endstep4 if R(n+2) <0 thenbegin Qn :=Qn −2−n; R(n+2) :=R(n+2) +D;endste
p5 商Qn を2の補数表現に変換する。;なお、上記の記
述はプログラム言語Pascalの表記に準じ、‘:=
’は代入を表す演算子、[…]2 は2進数表示の数値
であることを示す。
ズムについて説明する。 step1 被除数R(0) 、および除数Dを正規化する。すなわ
ち、2−1≦R(0) <1 2−1≦D<1 となるようにする。(既に正規化されていればこのステ
ップは不要である。);step2 q0 :=[01]2 ; Q0 :=q0 ; R(2) :=R(0) −q0 ・D;step3f
or j:=2 to n+1 step 2 do
begin 下記(表4)〜(表6)に従って商ディジ
ットqj を選択する; R(j+2) :=4R(j) −qj ・D;Qj
:=Qj−2 +qj ・2−j;endstep4 if R(n+2) <0 thenbegin Qn :=Qn −2−n; R(n+2) :=R(n+2) +D;endste
p5 商Qn を2の補数表現に変換する。;なお、上記の記
述はプログラム言語Pascalの表記に準じ、‘:=
’は代入を表す演算子、[…]2 は2進数表示の数値
であることを示す。
【0034】
【表4】
【0035】
【表5】
【0036】
【表6】
【0037】上記(表4)は、部分剰余R(j) があ
らかじめ設定された値を境界とする複数の区間のうちの
いずれに属するかを識別する部分剰余区間識別論理を示
し、論理式の演算結果が変数R4 、R3 …として表
わされ、このうちのいずれか一つだけの値が1になるよ
うに設定されている。(表5)は、上記各部分剰余区間
ごとの、商ディジットqj を選択すべき除数Dの範囲
を示す。同表中、()内の数値は理論的な境界値を示し
、()外の数値は本実施例において適用する境界値を示
す。また、空欄は、そのような商ディジットqj の値
になる除数Dは存在しないことを示し、記号−は、理論
的に、Dmin に対しては1/2よりも小さく、Dm
ax に対しては1よりも大きいことを示す。但し、実
際には除数Dは正規化されているので、このような範囲
を考慮する必要はない。なお、各除数Dの範囲には、理
論的境界値Dmin は含まれる一方Dmax は含ま
れず、適用する境界値も同様になるように設定されてい
る。また、部分剰余R(j) が負である場合には、商
ディジットqj の符号を反転したものとなる。
らかじめ設定された値を境界とする複数の区間のうちの
いずれに属するかを識別する部分剰余区間識別論理を示
し、論理式の演算結果が変数R4 、R3 …として表
わされ、このうちのいずれか一つだけの値が1になるよ
うに設定されている。(表5)は、上記各部分剰余区間
ごとの、商ディジットqj を選択すべき除数Dの範囲
を示す。同表中、()内の数値は理論的な境界値を示し
、()外の数値は本実施例において適用する境界値を示
す。また、空欄は、そのような商ディジットqj の値
になる除数Dは存在しないことを示し、記号−は、理論
的に、Dmin に対しては1/2よりも小さく、Dm
ax に対しては1よりも大きいことを示す。但し、実
際には除数Dは正規化されているので、このような範囲
を考慮する必要はない。なお、各除数Dの範囲には、理
論的境界値Dmin は含まれる一方Dmax は含ま
れず、適用する境界値も同様になるように設定されてい
る。また、部分剰余R(j) が負である場合には、商
ディジットqj の符号を反転したものとなる。
【0038】(表6)は、除数Dが上記(表5)におけ
る複数の区間のうちのいずれに属するかを識別する除数
区間識別論理を示し、論理式の演算結果が変数D0 (
0)、D1 (1)…として表わされ、それぞれの部分
剰余区間ごとに、いずれか一つだけの値が1になるよう
に設定されている。すなわち、変数R0 …と変数D0
(0)…との論理積をとることにより、いずれか一つ
の論理積だけが1となって商ディジットが選択されるよ
うになっている。
る複数の区間のうちのいずれに属するかを識別する除数
区間識別論理を示し、論理式の演算結果が変数D0 (
0)、D1 (1)…として表わされ、それぞれの部分
剰余区間ごとに、いずれか一つだけの値が1になるよう
に設定されている。すなわち、変数R0 …と変数D0
(0)…との論理積をとることにより、いずれか一つ
の論理積だけが1となって商ディジットが選択されるよ
うになっている。
【0039】なお、上記除算算法の正当性は数学的帰納
法により証明することができる。次に、上記アルゴリズ
ムに従って除算を行う除算装置を図1ないし図3に基づ
いて説明する。図1は除算装置200の構成を示すブロ
ック図である。同図において、22は部分剰余区間識別
回路で、後述する次部分剰余生成用3入力加減算回路3
7から出力される部分剰余R(j) の符号r0 (j
) と小数点以下第1位から第3位までの値r1 (j
) 〜r3 (j) とに基づき、(表4)に従って、
部分剰余R(j) があらかじめ設定された値を境界と
する複数の区間のうちのいずれに属するかを識別するも
のである。
法により証明することができる。次に、上記アルゴリズ
ムに従って除算を行う除算装置を図1ないし図3に基づ
いて説明する。図1は除算装置200の構成を示すブロ
ック図である。同図において、22は部分剰余区間識別
回路で、後述する次部分剰余生成用3入力加減算回路3
7から出力される部分剰余R(j) の符号r0 (j
) と小数点以下第1位から第3位までの値r1 (j
) 〜r3 (j) とに基づき、(表4)に従って、
部分剰余R(j) があらかじめ設定された値を境界と
する複数の区間のうちのいずれに属するかを識別するも
のである。
【0040】23は商ディジット決定回路で、上記部分
剰余区間識別回路22の識別結果と、除数Dの小数点以
下第2位の値d2 とに基づき、(表6)に従って、絶
対値が2ビットで表わされる値−3、−2、−1、0、
1、2、3のうちのいずれかを商ディジットqj とし
て選択するものである。なお、この商ディジット決定回
路23は、除算の開始時には、商ディジットq0 とし
て値1を出力するようになっている。商ディジット決定
回路23は、また、後述する第1・第2の除数倍数選択
回路33・34、および次部分剰余生成用3入力加減算
回路37に選択指示および加減算指示を出力するように
なっている。
剰余区間識別回路22の識別結果と、除数Dの小数点以
下第2位の値d2 とに基づき、(表6)に従って、絶
対値が2ビットで表わされる値−3、−2、−1、0、
1、2、3のうちのいずれかを商ディジットqj とし
て選択するものである。なお、この商ディジット決定回
路23は、除算の開始時には、商ディジットq0 とし
て値1を出力するようになっている。商ディジット決定
回路23は、また、後述する第1・第2の除数倍数選択
回路33・34、および次部分剰余生成用3入力加減算
回路37に選択指示および加減算指示を出力するように
なっている。
【0041】24は正の商ディジット格納回路で、商デ
ィジット決定回路23によって選択された商ディジット
qj が正ならば、その商ディジットqj の絶対値、
正でなければ、値0を対応する位取りの桁に格納するも
のである。25は負の商ディジット格納回路で、上記正
の商ディジット格納回路24と同様に、商ディジットq
j が負ならば、商ディジットqjの絶対値、負でなけ
れば、値0を対応する位取りの桁に格納するものである
。
ィジット決定回路23によって選択された商ディジット
qj が正ならば、その商ディジットqj の絶対値、
正でなければ、値0を対応する位取りの桁に格納するも
のである。25は負の商ディジット格納回路で、上記正
の商ディジット格納回路24と同様に、商ディジットq
j が負ならば、商ディジットqjの絶対値、負でなけ
れば、値0を対応する位取りの桁に格納するものである
。
【0042】なお、上記正の商ディジット格納回路24
、負の商ディジット格納回路25は、シフトレジスタを
用いて、最下位の2桁に商ディジットqj を格納した
後に保持している値を2桁左シフトするように構成して
もよい。26は商変換回路で、正の商ディジット格納回
路24の内容から負の商ディジット格納回路25の内容
を減算し、減算結果を商Qn として出力するものであ
る。
、負の商ディジット格納回路25は、シフトレジスタを
用いて、最下位の2桁に商ディジットqj を格納した
後に保持している値を2桁左シフトするように構成して
もよい。26は商変換回路で、正の商ディジット格納回
路24の内容から負の商ディジット格納回路25の内容
を減算し、減算結果を商Qn として出力するものであ
る。
【0043】ここで、上記商変換回路26は、後述する
次部分剰余生成用3入力加減算回路37で代用するよう
に構成してもよい。30は除数2倍回路で、除数Dの2
倍数を発生するものである。この除数2倍回路30は、
より具体的には、例えばシフトレジスタにより構成され
る。ここで、除数Dの2倍数は、1除算ステップごとに
発生するようにしてもよいし、あらかじめ発生しておく
ようにしてもよい。
次部分剰余生成用3入力加減算回路37で代用するよう
に構成してもよい。30は除数2倍回路で、除数Dの2
倍数を発生するものである。この除数2倍回路30は、
より具体的には、例えばシフトレジスタにより構成され
る。ここで、除数Dの2倍数は、1除算ステップごとに
発生するようにしてもよいし、あらかじめ発生しておく
ようにしてもよい。
【0044】33は第1の除数倍数選択回路で、商ディ
ジット決定回路23からの選択指示に応じて、下記(表
7)に従い、除数Dの2倍数、または値0のいずれかを
選択して、値Aとして出力するものである。34は第2
の除数倍数選択回路で、商ディジット決定回路23から
の選択指示に応じて、下記(表7)に従い、除数D、ま
たは値0のいずれかを選択して、値Bとして出力するも
のである。
ジット決定回路23からの選択指示に応じて、下記(表
7)に従い、除数Dの2倍数、または値0のいずれかを
選択して、値Aとして出力するものである。34は第2
の除数倍数選択回路で、商ディジット決定回路23から
の選択指示に応じて、下記(表7)に従い、除数D、ま
たは値0のいずれかを選択して、値Bとして出力するも
のである。
【0045】上記第1・第2の除数倍数選択回路33・
34の出力A、Bは、後述する次部分剰余生成用3入力
加減算回路37で下記(表7)に従って加減算されるこ
とにより、商ディジットqj の絶対値と除数Dとの積
として、除数Dの0〜3倍までの倍数が生成されるよう
になっている。
34の出力A、Bは、後述する次部分剰余生成用3入力
加減算回路37で下記(表7)に従って加減算されるこ
とにより、商ディジットqj の絶対値と除数Dとの積
として、除数Dの0〜3倍までの倍数が生成されるよう
になっている。
【0046】
【表7】
【0047】36は部分剰余4倍回路で、後述する次部
分剰余生成用3入力加減算回路37から出力される部分
剰余R(j) の4倍数を発生するものである。37は
次部分剰余生成用3入力加減算回路で、除算の開始時に
は、図示しない正規化回路によって正規化された被除数
R(0) から、同じく正規化された除数Dを減算し、
減算結果を最初の部分剰余R(2) とする一方、その
後には、商ディジット決定回路23からの加減算指示に
応じて、上記(表7)に従い、部分剰余4倍回路36か
らの出力4×R(j) と、第1・第2の除数倍数選択
回路33・34の出力A、Bとを加減算するものである
。すなわち、部分剰余R(j) の4倍数に対して、商
ディジットqj の絶対値と除数Dとの積を、商ディジ
ットqjが正ならば減算、負ならば加算するようになっ
ている。
分剰余生成用3入力加減算回路37から出力される部分
剰余R(j) の4倍数を発生するものである。37は
次部分剰余生成用3入力加減算回路で、除算の開始時に
は、図示しない正規化回路によって正規化された被除数
R(0) から、同じく正規化された除数Dを減算し、
減算結果を最初の部分剰余R(2) とする一方、その
後には、商ディジット決定回路23からの加減算指示に
応じて、上記(表7)に従い、部分剰余4倍回路36か
らの出力4×R(j) と、第1・第2の除数倍数選択
回路33・34の出力A、Bとを加減算するものである
。すなわち、部分剰余R(j) の4倍数に対して、商
ディジットqj の絶対値と除数Dとの積を、商ディジ
ットqjが正ならば減算、負ならば加算するようになっ
ている。
【0048】上記次部分剰余生成用3入力加減算回路3
7は、より詳しくは例えば図2に示すように、被減数ビ
ット反転回路371、3入力加算回路372、および和
ビット反転回路373から構成され、上記被減数ビット
反転回路371、および和ビット反転回路373は、図
3に示すように複数のXORゲート374から構成され
、図示しない制御部からの制御信号に応じて、4×R(
j)+A+Bまたは4×R(j) −A−Bの演算が行
われるようになっている。
7は、より詳しくは例えば図2に示すように、被減数ビ
ット反転回路371、3入力加算回路372、および和
ビット反転回路373から構成され、上記被減数ビット
反転回路371、および和ビット反転回路373は、図
3に示すように複数のXORゲート374から構成され
、図示しない制御部からの制御信号に応じて、4×R(
j)+A+Bまたは4×R(j) −A−Bの演算が行
われるようになっている。
【0049】上記3入力加算回路372は、除算装置2
00が例えば浮動小数点数演算装置等、3入力加算器を
備えた装置に設けられる場合には、その3入力加算器を
流用するようにしてもよい。また、2入力加算器を備え
た装置に設けられる場合には、僅かなハードウェアの追
加を行って3入力加算器に拡張したものを用いるように
してもよい。
00が例えば浮動小数点数演算装置等、3入力加算器を
備えた装置に設けられる場合には、その3入力加算器を
流用するようにしてもよい。また、2入力加算器を備え
た装置に設けられる場合には、僅かなハードウェアの追
加を行って3入力加算器に拡張したものを用いるように
してもよい。
【0050】ここで、以上説明した各回路は、公知のA
ND回路、OR回路、およびNOT回路等によって構成
され、(表4)(表6)および(表7)に示す論理演算
などが行われるようになっている。なお、実際にはこれ
ら以外にも、部分剰余R(j) を一時記憶する回路や
除算ステップの回数を数える回路など種々の構成要素を
必要とするが、本発明の主眼ではないので省略する。
ND回路、OR回路、およびNOT回路等によって構成
され、(表4)(表6)および(表7)に示す論理演算
などが行われるようになっている。なお、実際にはこれ
ら以外にも、部分剰余R(j) を一時記憶する回路や
除算ステップの回数を数える回路など種々の構成要素を
必要とするが、本発明の主眼ではないので省略する。
【0051】上記の構成において、除算装置200で行
われる除算動作を説明する。 (1) まず、正規化された被除数R(0) と、除
数Dとが入力されると、次部分剰余生成用3入力加減算
回路37は被除数R(0) から除数Dを減算し、最初
の部分剰余R(2) を出力する。また、商ディジット
決定回路23は最初の商ディジットq0 (2進数表現
における1の位の値)として値1を出力し、正の商ディ
ジット格納回路24に格納する。 (2) 部分剰余区間識別回路22は、次部分剰余生
成用3入力加減算回路37から出力された部分剰余R(
2) の符号r0 (2) と小数点以下第1位から第
3位までの値r1 (2) 〜r3 (2) を(表4
)に従ってデコードし、部分剰余R(2) の含まれる
区間を識別する。
われる除算動作を説明する。 (1) まず、正規化された被除数R(0) と、除
数Dとが入力されると、次部分剰余生成用3入力加減算
回路37は被除数R(0) から除数Dを減算し、最初
の部分剰余R(2) を出力する。また、商ディジット
決定回路23は最初の商ディジットq0 (2進数表現
における1の位の値)として値1を出力し、正の商ディ
ジット格納回路24に格納する。 (2) 部分剰余区間識別回路22は、次部分剰余生
成用3入力加減算回路37から出力された部分剰余R(
2) の符号r0 (2) と小数点以下第1位から第
3位までの値r1 (2) 〜r3 (2) を(表4
)に従ってデコードし、部分剰余R(2) の含まれる
区間を識別する。
【0052】ここで、次部分剰余生成用3入力加減算回
路37から出力される部分剰余R(2) は2の補数表
現であるため、冗長2進数表現から2の補数表現への変
換を行う必要はない。 (3) 商ディジット決定回路23は、上記部分剰余
区間識別回路22の識別結果と、除数Dの小数点以下第
2位の値d2 とに基づき、(表6)に従って、値−3
、−2、−1、0、1、2、3のうちのいずれかを商デ
ィジットq2 として選択し、出力する。 (4) 商ディジット決定回路23は、さらに、正の
商ディジット格納回路24、および負の商ディジット格
納回路25における対応する位取りの桁に、それぞれ2
ビットで表わされる商ディジットq2 の絶対値、また
は値0を商ディジットq2 の正負に応じて格納する。 (5) 第1の除数倍数選択回路33および第2の除
数倍数選択回路34は、それぞれ、商ディジット決定回
路23からの選択指示に応じて、(表7)に従い値0ま
たは除数Dの2倍数のうちの一方、もしくは値0または
除数Dのうちの一方を選択して出力する。 (6) 次部分剰余生成用3入力加減算回路37は、
商ディジット決定回路23からの加減算指示に応じて、
(表7)に従い、部分剰余4倍回路36からの出力4×
R(2) と、第1・第2の除数倍数選択回路33・3
4からの出力A、Bとの加減算を行い、次の除算ステッ
プに用いる部分剰余R(4) を出力する。 (7) 上記(2)〜(6)が、各添え字を2ずつイ
ンクリメントしつつ、n/2回(小数点以下は切り上げ
る)繰り返されることにより、各商ディジットqj が
冗長2進数表現として得られ、その正負に応じて、正の
商ディジット格納回路24または負の商ディジット格納
回路25に格納されるとともに、最終剰余R(n+2)
が次部分剰余生成用3入力加減算回路37から出力さ
れる。 (8) 商変換回路26は、正の商ディジット格納回
路24に格納されている値から負の商ディジット格納回
路25に格納されている値を減算し、2の補数表現に変
換するとともに、最終剰余R(n+2) が負であれば
、最下位のビットにおいて1を減じて商Qn を求める
。また、必要に応じて、最終剰余R(n+2) の値が
負であれば、これに除数Dを加算する。
路37から出力される部分剰余R(2) は2の補数表
現であるため、冗長2進数表現から2の補数表現への変
換を行う必要はない。 (3) 商ディジット決定回路23は、上記部分剰余
区間識別回路22の識別結果と、除数Dの小数点以下第
2位の値d2 とに基づき、(表6)に従って、値−3
、−2、−1、0、1、2、3のうちのいずれかを商デ
ィジットq2 として選択し、出力する。 (4) 商ディジット決定回路23は、さらに、正の
商ディジット格納回路24、および負の商ディジット格
納回路25における対応する位取りの桁に、それぞれ2
ビットで表わされる商ディジットq2 の絶対値、また
は値0を商ディジットq2 の正負に応じて格納する。 (5) 第1の除数倍数選択回路33および第2の除
数倍数選択回路34は、それぞれ、商ディジット決定回
路23からの選択指示に応じて、(表7)に従い値0ま
たは除数Dの2倍数のうちの一方、もしくは値0または
除数Dのうちの一方を選択して出力する。 (6) 次部分剰余生成用3入力加減算回路37は、
商ディジット決定回路23からの加減算指示に応じて、
(表7)に従い、部分剰余4倍回路36からの出力4×
R(2) と、第1・第2の除数倍数選択回路33・3
4からの出力A、Bとの加減算を行い、次の除算ステッ
プに用いる部分剰余R(4) を出力する。 (7) 上記(2)〜(6)が、各添え字を2ずつイ
ンクリメントしつつ、n/2回(小数点以下は切り上げ
る)繰り返されることにより、各商ディジットqj が
冗長2進数表現として得られ、その正負に応じて、正の
商ディジット格納回路24または負の商ディジット格納
回路25に格納されるとともに、最終剰余R(n+2)
が次部分剰余生成用3入力加減算回路37から出力さ
れる。 (8) 商変換回路26は、正の商ディジット格納回
路24に格納されている値から負の商ディジット格納回
路25に格納されている値を減算し、2の補数表現に変
換するとともに、最終剰余R(n+2) が負であれば
、最下位のビットにおいて1を減じて商Qn を求める
。また、必要に応じて、最終剰余R(n+2) の値が
負であれば、これに除数Dを加算する。
【0053】このように、基数を4とすることにより、
除算ステップの繰り返し回数は、基数2のSRT除算や
非回復型除算に比べて約1/2になる。一方、除数倍数
の生成論理は多少複雑ではあるが、次部分剰余生成用3
入力加減算回路37を備えていることにより、ハードウ
ェア規模はさほど大きくはなく、また、部分剰余の生成
に要する時間もあまり長くはかからないのに対し、商デ
ィジット選択論理は非常に簡潔であるため、除算装置全
体としては、前記テ゛ィー.イー.アトキンス゛のアル
ゴリズムを適用した除算装置等に比べて同程度のハード
ウェア規模で1除算ステップの実行時間を短縮すること
ができる。
除算ステップの繰り返し回数は、基数2のSRT除算や
非回復型除算に比べて約1/2になる。一方、除数倍数
の生成論理は多少複雑ではあるが、次部分剰余生成用3
入力加減算回路37を備えていることにより、ハードウ
ェア規模はさほど大きくはなく、また、部分剰余の生成
に要する時間もあまり長くはかからないのに対し、商デ
ィジット選択論理は非常に簡潔であるため、除算装置全
体としては、前記テ゛ィー.イー.アトキンス゛のアル
ゴリズムを適用した除算装置等に比べて同程度のハード
ウェア規模で1除算ステップの実行時間を短縮すること
ができる。
【0054】特に、次部分剰余生成用3入力加減算回路
37の3入力加算回路372として、例えば除算装置が
設けられる浮動小数点数演算装置等に備えられている3
入力加算器を流用する場合などには、一層ハードウェア
の規模は小さく押えることができる。しかも収束型除算
のように誤差を伴うことなく最下位ビットまで正確な商
と剰余が得られる。 (実施例2)本発明の実施例2として、基数が8で、部
分剰余R(j) は、演算過程において商ディジットq
j と同様に冗長2進数表現で表わされる除算装置の例
を説明する。
37の3入力加算回路372として、例えば除算装置が
設けられる浮動小数点数演算装置等に備えられている3
入力加算器を流用する場合などには、一層ハードウェア
の規模は小さく押えることができる。しかも収束型除算
のように誤差を伴うことなく最下位ビットまで正確な商
と剰余が得られる。 (実施例2)本発明の実施例2として、基数が8で、部
分剰余R(j) は、演算過程において商ディジットq
j と同様に冗長2進数表現で表わされる除算装置の例
を説明する。
【0055】ここで、値ri (j) は、部分剰余R
(j) を2の補数表現に変換した場合における小数点
以下第i位の値を示すものとする。この除算装置では、
次のようなアルゴリズムで除算が行われる。 step1 被除数R(0) 、および除数Dを正規化する。すなわ
ち、2−1≦R(0) <1 2−1≦D<1 となるようにする。(既に正規化されていればこのステ
ップは不要である。);step2 q0 :=[001]2 ; Q0 :=q0 ; R(3) :=R(0) −q0 ・D;step3f
or j:=3 to n+2 step 3 do
begin 下記(表8・9)、(表10)、(表11・12)に従
って商ディジットqj を選択する; R(j+3) :=8R(j) −qj ・D;Qj
:=Qj−3 +qj ・2−j;endstep4i
f R(n+3) <0 thenbegin Qn :=Qn −2−n; R(n+3) :=R(n+3) +D;endste
p5 商Qn を2の補数表現に変換する。また、必要に応じ
て最終剰余R(n+3) を2の補数表現に変換する。 ;
(j) を2の補数表現に変換した場合における小数点
以下第i位の値を示すものとする。この除算装置では、
次のようなアルゴリズムで除算が行われる。 step1 被除数R(0) 、および除数Dを正規化する。すなわ
ち、2−1≦R(0) <1 2−1≦D<1 となるようにする。(既に正規化されていればこのステ
ップは不要である。);step2 q0 :=[001]2 ; Q0 :=q0 ; R(3) :=R(0) −q0 ・D;step3f
or j:=3 to n+2 step 3 do
begin 下記(表8・9)、(表10)、(表11・12)に従
って商ディジットqj を選択する; R(j+3) :=8R(j) −qj ・D;Qj
:=Qj−3 +qj ・2−j;endstep4i
f R(n+3) <0 thenbegin Qn :=Qn −2−n; R(n+3) :=R(n+3) +D;endste
p5 商Qn を2の補数表現に変換する。また、必要に応じ
て最終剰余R(n+3) を2の補数表現に変換する。 ;
【0056】
【表8】
【0057】
【表9】
【0058】
【表10】
【0059】
【表11】
【0060】
【表12】
【0061】上記(表8・9)は、冗長2進数表現から
2の補数表現に変換された部分剰余R(j) について
、前記実施例1の(表4)と同様の部分剰余区間識別論
理を示すものである。(表10)および表(11・12
)は、それぞれ実施例1の(表5)、(表6)に対応し
、商ディジットqj を選択すべき除数Dの範囲、およ
び除数区間識別論理を示すものである。但し、(表10
)において、理論的境界値Dmin およびDmax
は、何れも除数Dの範囲に含まれ、適用する境界値につ
いては、Dminは含まれる一方、Dmax は含まれ
ないように設定されている。
2の補数表現に変換された部分剰余R(j) について
、前記実施例1の(表4)と同様の部分剰余区間識別論
理を示すものである。(表10)および表(11・12
)は、それぞれ実施例1の(表5)、(表6)に対応し
、商ディジットqj を選択すべき除数Dの範囲、およ
び除数区間識別論理を示すものである。但し、(表10
)において、理論的境界値Dmin およびDmax
は、何れも除数Dの範囲に含まれ、適用する境界値につ
いては、Dminは含まれる一方、Dmax は含まれ
ないように設定されている。
【0062】次に、上記アルゴリズムに従って除算を行
う除算装置を図4ないし図6に基づいて説明する。図4
は除算装置400の構成を示すブロック図である。なお
本実施例2において、前記実施例1と同様の機能を有す
る構成部分については対応する番号を付して説明を省略
する。
う除算装置を図4ないし図6に基づいて説明する。図4
は除算装置400の構成を示すブロック図である。なお
本実施例2において、前記実施例1と同様の機能を有す
る構成部分については対応する番号を付して説明を省略
する。
【0063】同図において、41は除数区間識別回路で
、除数Dの小数点以下第2位以下5桁の値d2 〜d6
に基づき、(表11・12)に従って、除数Dがあら
かじめ設定された値を境界とする複数の区間のうちのい
ずれに属するかを識別するものである。42は部分剰余
区間識別回路で、後述する次部分剰余生成用2入力加減
算回路57から出力される冗長2進数表現の部分剰余R
(j) の上位5桁を2の補数表現に変換し、その符号
r0 (j) と小数点以下第1位から第5位までの値
r1 (j) 〜r5 (j) とに基づき、(表8・
9)に従って、部分剰余R(j) があらかじめ設定さ
れた値を境界とする複数の区間のうちのいずれに属する
かを識別するものである。
、除数Dの小数点以下第2位以下5桁の値d2 〜d6
に基づき、(表11・12)に従って、除数Dがあら
かじめ設定された値を境界とする複数の区間のうちのい
ずれに属するかを識別するものである。42は部分剰余
区間識別回路で、後述する次部分剰余生成用2入力加減
算回路57から出力される冗長2進数表現の部分剰余R
(j) の上位5桁を2の補数表現に変換し、その符号
r0 (j) と小数点以下第1位から第5位までの値
r1 (j) 〜r5 (j) とに基づき、(表8・
9)に従って、部分剰余R(j) があらかじめ設定さ
れた値を境界とする複数の区間のうちのいずれに属する
かを識別するものである。
【0064】43は商ディジット決定回路で、上記除数
区間識別回路41および部分剰余区間識別回路42の識
別結果に基づき、(表11・12)に従って、絶対値が
3ビットで表わされる値−7、−6、−5、−4、−3
、−2、−1、0、1、2、3、4、5、6、7のうち
のいずれかを商ディジットqj として選択するもので
ある。なお、この商ディジット決定回路43は、除算の
開始時には、商ディジットq0 として値1を出力する
ようになっている。商ディジット決定回路43は、また
、後述する第1・第2の除数倍数選択回路53・54、
除数倍数生成用2入力加減算回路55、および次部分剰
余生成用2入力加減算回路57に選択指示および加減算
指示を出力するようになっている。
区間識別回路41および部分剰余区間識別回路42の識
別結果に基づき、(表11・12)に従って、絶対値が
3ビットで表わされる値−7、−6、−5、−4、−3
、−2、−1、0、1、2、3、4、5、6、7のうち
のいずれかを商ディジットqj として選択するもので
ある。なお、この商ディジット決定回路43は、除算の
開始時には、商ディジットq0 として値1を出力する
ようになっている。商ディジット決定回路43は、また
、後述する第1・第2の除数倍数選択回路53・54、
除数倍数生成用2入力加減算回路55、および次部分剰
余生成用2入力加減算回路57に選択指示および加減算
指示を出力するようになっている。
【0065】50〜52は除数2倍回路、除数4倍回路
、および除数8倍回路で、それぞれ、除数2倍回路30
と同様に除数Dの2倍数、4倍数、または8倍数を発生
するものである。53は第1の除数倍数選択回路で、商
ディジット決定回路43からの選択指示に応じて、下記
(表13)に従い、除数Dの8倍数、4倍数、または値
0のいずれかを選択して、値Aとして出力するものであ
る。
、および除数8倍回路で、それぞれ、除数2倍回路30
と同様に除数Dの2倍数、4倍数、または8倍数を発生
するものである。53は第1の除数倍数選択回路で、商
ディジット決定回路43からの選択指示に応じて、下記
(表13)に従い、除数Dの8倍数、4倍数、または値
0のいずれかを選択して、値Aとして出力するものであ
る。
【0066】54は第2の除数倍数選択回路で、商ディ
ジット決定回路43からの選択指示に応じて、下記(表
13)に従い、除数Dの2倍数、除数D、または値0の
いずれかを選択して、値Bとして出力するものである。 55は除数倍数生成用2入力加減算回路で、上記第1・
第2の除数倍数選択回路53・54の出力A、Bを、商
ディジット決定回路43からの加減算指示に応じて下記
(表13)に従い加減算することにより、商ディジット
qj の絶対値と除数Dとの積Cとして、冗長2進数表
現で表わされる除数Dの0〜7倍までの倍数を生成する
ものである。ここで、上記積Cは、1除算ステップごと
に生成するようにしてもよいし、あらかじめ各倍数につ
いて生成した値を保持しておき、そのうちのいずれかを
商ディジットが決定した段階で出力するようにしてもよ
い。
ジット決定回路43からの選択指示に応じて、下記(表
13)に従い、除数Dの2倍数、除数D、または値0の
いずれかを選択して、値Bとして出力するものである。 55は除数倍数生成用2入力加減算回路で、上記第1・
第2の除数倍数選択回路53・54の出力A、Bを、商
ディジット決定回路43からの加減算指示に応じて下記
(表13)に従い加減算することにより、商ディジット
qj の絶対値と除数Dとの積Cとして、冗長2進数表
現で表わされる除数Dの0〜7倍までの倍数を生成する
ものである。ここで、上記積Cは、1除算ステップごと
に生成するようにしてもよいし、あらかじめ各倍数につ
いて生成した値を保持しておき、そのうちのいずれかを
商ディジットが決定した段階で出力するようにしてもよ
い。
【0067】
【表13】
【0068】なお、同表中、記号±は加算でも減算でも
よいことを示す。上記除数倍数生成用2入力加減算回路
55は、より詳しくは例えば図5に示すような構成を成
している。同図において、551i は、第1および第
2の除数倍数選択回路53・54の出力A、Bにおける
第i桁の値ai 、bi を下記(表14)に従って加
減算し、中間桁上げと中間和とを出力する第1段加算器
セルである。
よいことを示す。上記除数倍数生成用2入力加減算回路
55は、より詳しくは例えば図5に示すような構成を成
している。同図において、551i は、第1および第
2の除数倍数選択回路53・54の出力A、Bにおける
第i桁の値ai 、bi を下記(表14)に従って加
減算し、中間桁上げと中間和とを出力する第1段加算器
セルである。
【0069】
【表14】
【0070】同表中、各欄の「,」の左右の数値は、そ
れぞれ中間桁上げと中間和とを示す。552i は、第
1段加算器セル551i から出力される中間和と、第
1段加算器セル551i−1 から出力される中間桁上
げとを下記(表15)に従って加減算し、加減算結果を
冗長2進数表現の値ci として出力する第2段加算器
セルである。
れぞれ中間桁上げと中間和とを示す。552i は、第
1段加算器セル551i から出力される中間和と、第
1段加算器セル551i−1 から出力される中間桁上
げとを下記(表15)に従って加減算し、加減算結果を
冗長2進数表現の値ci として出力する第2段加算器
セルである。
【0071】
【表15】
【0072】同表中、各欄の数値は、加減算結果ci
の値を示す。記号−はあり得ない組み合わせを示す。上
記除数倍数生成用2入力加減算回路55による演算は、
冗長2進数体系による正の2進数どうしの加減算であり
、演算規則が簡略化できるため、除数倍数生成用2入力
加減算回路55を簡潔な構成とすることができ、また、
桁上げや桁借りが1桁上位側にまでしか伝播しないので
、計算時間が除数のビット長に依存しない高速な加減算
が行われる。
の値を示す。記号−はあり得ない組み合わせを示す。上
記除数倍数生成用2入力加減算回路55による演算は、
冗長2進数体系による正の2進数どうしの加減算であり
、演算規則が簡略化できるため、除数倍数生成用2入力
加減算回路55を簡潔な構成とすることができ、また、
桁上げや桁借りが1桁上位側にまでしか伝播しないので
、計算時間が除数のビット長に依存しない高速な加減算
が行われる。
【0073】56は部分剰余8倍回路で、後述する次部
分剰余生成用2入力加減算回路57から出力される部分
剰余R(j) の8倍数を発生するものである。57は
次部分剰余生成用2入力加減算回路で、除算の開始時に
は、図示しない正規化回路によって正規化された被除数
R(0) から、同じく正規化された除数Dを減算し、
減算結果を最初の部分剰余R(3) とする一方、その
後には、商ディジット決定回路43からの加減算指示に
応じて、前記(表13)に従い、部分剰余8倍回路56
からの出力と、除数倍数生成用2入力加減算回路55か
らの出力とを加減算するものである。すなわち、部分剰
余R(j) の8倍数に対して、商ディジットqj の
絶対値と除数Dとの積Cを、商ディジットqj が正な
らば減算、負ならば加算するようになっている。
分剰余生成用2入力加減算回路57から出力される部分
剰余R(j) の8倍数を発生するものである。57は
次部分剰余生成用2入力加減算回路で、除算の開始時に
は、図示しない正規化回路によって正規化された被除数
R(0) から、同じく正規化された除数Dを減算し、
減算結果を最初の部分剰余R(3) とする一方、その
後には、商ディジット決定回路43からの加減算指示に
応じて、前記(表13)に従い、部分剰余8倍回路56
からの出力と、除数倍数生成用2入力加減算回路55か
らの出力とを加減算するものである。すなわち、部分剰
余R(j) の8倍数に対して、商ディジットqj の
絶対値と除数Dとの積Cを、商ディジットqj が正な
らば減算、負ならば加算するようになっている。
【0074】上記次部分剰余生成用2入力加減算回路5
7は、より詳しくは例えば図6に示すような構成を成し
ている。同図において、571i は、除数倍数生成用
2入力加減算回路55の出力C、および部分剰余8倍回
路56の出力8×R(j) における第i桁の値ci
、ri−3 を下記(表16)に従って加減算し、中間
桁上げと中間和とを出力する第1段加算器セルである。
7は、より詳しくは例えば図6に示すような構成を成し
ている。同図において、571i は、除数倍数生成用
2入力加減算回路55の出力C、および部分剰余8倍回
路56の出力8×R(j) における第i桁の値ci
、ri−3 を下記(表16)に従って加減算し、中間
桁上げと中間和とを出力する第1段加算器セルである。
【0075】
【表16】
【0076】同表中、中間桁上げ・中間和の各欄の「,
」の左右の数値は、それぞれ中間桁上げと中間和とを示
す。572i は、第1段加算器セル571i から出
力される中間和と、第1段加算器セル571i−1から
出力される中間桁上げとを下記(表17)に従って前記
表15と同様の演算規則で加減算し、加減算結果を冗長
2進数表現の部分剰余R(J+3) として出力する第
2段加算器セルである。
」の左右の数値は、それぞれ中間桁上げと中間和とを示
す。572i は、第1段加算器セル571i から出
力される中間和と、第1段加算器セル571i−1から
出力される中間桁上げとを下記(表17)に従って前記
表15と同様の演算規則で加減算し、加減算結果を冗長
2進数表現の部分剰余R(J+3) として出力する第
2段加算器セルである。
【0077】
【表17】
【0078】上記次部分剰余生成用2入力加減算回路5
7による演算は、正負の2進数どうしの加減算であるが
、冗長2進数体系による演算であるため、桁上げや桁借
りの影響等が2桁上位側にまでしか伝播しないので、や
はり、計算時間が除数のビット長に依存しない高速な加
減算が行われる。上記の構成において、除算装置400
で行われる除算動作を説明する。 (1) まず、正規化された被除数R(0) と、除
数Dとが入力されると、次部分剰余生成用2入力加減算
回路57は被除数R(0) から除数Dを減算し、最初
の部分剰余R(3) を出力する。また、商ディジット
決定回路43は最初の商ディジットq0 (2進数表現
における1の位の値)として値1を出力し、正の商ディ
ジット格納回路44に格納する。 (2) 除数区間識別回路41は、除数Dの小数点以
下第2位以下5桁の値d2 〜d6 を(表11・12
)に従ってデコードし、除数Dの含まれる区間を識別す
る。この識別は除算の開始時に1回だけ行われ、識別結
果は、その除算処理が終了するまで保持される。 (3) 部分剰余区間識別回路42は、次部分剰余生
成用2入力加減算回路57から出力された部分剰余R(
3) の上位5桁を2の補数表現に変換し、得られた値
の符号r0 (3) と小数点以下第1位から第5位ま
での値r1 (3) 〜r5 (3) を(表8・9)
に従ってデコードし、部分剰余R(3) の含まれる区
間を識別する。 (4) 商ディジット決定回路43は、上記除数区間
識別回路41および部分剰余区間識別回路42の識別結
果に基づき、(表11・12)に従って、値−7、−6
、−5、−4、−3、−2、−1、0、1、2、3、4
、5、6、7のうちのいずれかを商ディジットq3 と
して選択し、出力する。 (5) 商ディジット決定回路43は、さらに、正の
商ディジット格納回路44、および負の商ディジット格
納回路45における対応する位取りの桁に、それぞれ3
ビットで表わされる商ディジットq3 の絶対値、また
は値0を商ディジットq3 の正負に応じて格納する。 (6) 第1の除数倍数選択回路53および第2の除
数倍数選択回路54は、それぞれ、商ディジット決定回
路43からの選択指示に応じて、(表13)に従い除数
Dの8倍数、4倍数、または値0のいずれか、もしくは
除数Dの2倍数、除数D、または値0のいずれかを選択
して出力する。 (7) 除数倍数生成用2入力加減算回路55は、商
ディジット決定回路43からの加減算指示に応じて、(
表13)に従い、第1・第2の除数倍数選択回路53・
54の出力A、Bの加減算を行い、商ディジットq3
の絶対値と除数Dとの積Cを出力する。 (8) 次部分剰余生成用2入力加減算回路57は、
商ディジット決定回路43からの加減算指示に応じて、
(表13)に従い、部分剰余8倍回路56からの出力8
×R(3) と、除数倍数生成用2入力加減算回路55
からの出力Cとの加減算を行い、次の除算ステップに用
いる部分剰余R(6) を出力する。 (9) 上記(2)〜(8)が、各添え字を3ずつイ
ンクリメントしつつ、n/3回(小数点以下は切り上げ
る)繰り返されることにより、各商ディジットqj が
冗長2進数表現として得られ、その正負に応じて、正の
商ディジット格納回路44または負の商ディジット格納
回路45に格納されるとともに、最終剰余R(n+3)
が次部分剰余生成用2入力加減算回路57から出力さ
れる。 (10) 商変換回路46は、正の商ディジット格納
回路44に格納されている値から負の商ディジット格納
回路45に格納されている値を減算し、2の補数表現に
変換するとともに、最終剰余R(n+3) が負であれ
ば、最下位のビットにおいて1を減じて商Qn を求め
る。また、必要に応じて、図示しない最終剰余補正回路
により同様に最終剰余R(n+3) を2の補数表現に
変換するとともに、その値が負であれば、これに除数D
を加算する。
7による演算は、正負の2進数どうしの加減算であるが
、冗長2進数体系による演算であるため、桁上げや桁借
りの影響等が2桁上位側にまでしか伝播しないので、や
はり、計算時間が除数のビット長に依存しない高速な加
減算が行われる。上記の構成において、除算装置400
で行われる除算動作を説明する。 (1) まず、正規化された被除数R(0) と、除
数Dとが入力されると、次部分剰余生成用2入力加減算
回路57は被除数R(0) から除数Dを減算し、最初
の部分剰余R(3) を出力する。また、商ディジット
決定回路43は最初の商ディジットq0 (2進数表現
における1の位の値)として値1を出力し、正の商ディ
ジット格納回路44に格納する。 (2) 除数区間識別回路41は、除数Dの小数点以
下第2位以下5桁の値d2 〜d6 を(表11・12
)に従ってデコードし、除数Dの含まれる区間を識別す
る。この識別は除算の開始時に1回だけ行われ、識別結
果は、その除算処理が終了するまで保持される。 (3) 部分剰余区間識別回路42は、次部分剰余生
成用2入力加減算回路57から出力された部分剰余R(
3) の上位5桁を2の補数表現に変換し、得られた値
の符号r0 (3) と小数点以下第1位から第5位ま
での値r1 (3) 〜r5 (3) を(表8・9)
に従ってデコードし、部分剰余R(3) の含まれる区
間を識別する。 (4) 商ディジット決定回路43は、上記除数区間
識別回路41および部分剰余区間識別回路42の識別結
果に基づき、(表11・12)に従って、値−7、−6
、−5、−4、−3、−2、−1、0、1、2、3、4
、5、6、7のうちのいずれかを商ディジットq3 と
して選択し、出力する。 (5) 商ディジット決定回路43は、さらに、正の
商ディジット格納回路44、および負の商ディジット格
納回路45における対応する位取りの桁に、それぞれ3
ビットで表わされる商ディジットq3 の絶対値、また
は値0を商ディジットq3 の正負に応じて格納する。 (6) 第1の除数倍数選択回路53および第2の除
数倍数選択回路54は、それぞれ、商ディジット決定回
路43からの選択指示に応じて、(表13)に従い除数
Dの8倍数、4倍数、または値0のいずれか、もしくは
除数Dの2倍数、除数D、または値0のいずれかを選択
して出力する。 (7) 除数倍数生成用2入力加減算回路55は、商
ディジット決定回路43からの加減算指示に応じて、(
表13)に従い、第1・第2の除数倍数選択回路53・
54の出力A、Bの加減算を行い、商ディジットq3
の絶対値と除数Dとの積Cを出力する。 (8) 次部分剰余生成用2入力加減算回路57は、
商ディジット決定回路43からの加減算指示に応じて、
(表13)に従い、部分剰余8倍回路56からの出力8
×R(3) と、除数倍数生成用2入力加減算回路55
からの出力Cとの加減算を行い、次の除算ステップに用
いる部分剰余R(6) を出力する。 (9) 上記(2)〜(8)が、各添え字を3ずつイ
ンクリメントしつつ、n/3回(小数点以下は切り上げ
る)繰り返されることにより、各商ディジットqj が
冗長2進数表現として得られ、その正負に応じて、正の
商ディジット格納回路44または負の商ディジット格納
回路45に格納されるとともに、最終剰余R(n+3)
が次部分剰余生成用2入力加減算回路57から出力さ
れる。 (10) 商変換回路46は、正の商ディジット格納
回路44に格納されている値から負の商ディジット格納
回路45に格納されている値を減算し、2の補数表現に
変換するとともに、最終剰余R(n+3) が負であれ
ば、最下位のビットにおいて1を減じて商Qn を求め
る。また、必要に応じて、図示しない最終剰余補正回路
により同様に最終剰余R(n+3) を2の補数表現に
変換するとともに、その値が負であれば、これに除数D
を加算する。
【0079】このように、商ディジット選択論理が非常
に簡潔であるために、大幅なハードウェア規模の増大を
招くことなく基数が8の除算装置を構成することができ
、除算ステップの繰り返し回数を基数2のSRT除算や
非回復型除算に比べて約1/3にすることができる。 また、除数倍数生成用2入力加減算回路55、および次
部分剰余生成用2入力加減算回路57による2段の加減
算処理によって部分剰余が求められるようになっている
が、これらの演算は冗長2進数体系によって行われるよ
うに構成されているため遅延時間はさほど大きくなく、
したがって商ディジット選択論理の簡潔化により、除算
処理の大幅な高速化が得られる。 (実施例3)本発明の実施例3として、基数は前記実施
例2と同様に8で、部分剰余R(j) が、前記実施例
1と同様に2の補数表現で表わされる除算装置の例を説
明する。
に簡潔であるために、大幅なハードウェア規模の増大を
招くことなく基数が8の除算装置を構成することができ
、除算ステップの繰り返し回数を基数2のSRT除算や
非回復型除算に比べて約1/3にすることができる。 また、除数倍数生成用2入力加減算回路55、および次
部分剰余生成用2入力加減算回路57による2段の加減
算処理によって部分剰余が求められるようになっている
が、これらの演算は冗長2進数体系によって行われるよ
うに構成されているため遅延時間はさほど大きくなく、
したがって商ディジット選択論理の簡潔化により、除算
処理の大幅な高速化が得られる。 (実施例3)本発明の実施例3として、基数は前記実施
例2と同様に8で、部分剰余R(j) が、前記実施例
1と同様に2の補数表現で表わされる除算装置の例を説
明する。
【0080】図7は除算装置600の構成を示すブロッ
ク図である。なお本実施例3において、前記実施例1ま
たは実施例2と同様の機能を有する構成部分については
対応する番号を付して説明を省略する。同図において、
62は部分剰余区間識別回路で、実施例1の部分剰余区
間識別回路22と同様に、下記(表18)に従って、後
述する次部分剰余生成用3入力加減算回路77から出力
される部分剰余R(j) の属する区間を識別するもの
である。
ク図である。なお本実施例3において、前記実施例1ま
たは実施例2と同様の機能を有する構成部分については
対応する番号を付して説明を省略する。同図において、
62は部分剰余区間識別回路で、実施例1の部分剰余区
間識別回路22と同様に、下記(表18)に従って、後
述する次部分剰余生成用3入力加減算回路77から出力
される部分剰余R(j) の属する区間を識別するもの
である。
【0081】
【表18】
【0082】61は除数区間識別回路で、実施例2の除
数区間識別回路41と同様に、下記(表19)に示す除
数Dが属する区間を(表20)に従って識別するもので
ある。但し、(表19)において、理論的境界値Dmi
n およびDmax は、何れも除数Dの範囲に含まれ
ず、適用する境界値については、Dmin は含まれる
一方、Dmax は含まれないように設定されている。
数区間識別回路41と同様に、下記(表19)に示す除
数Dが属する区間を(表20)に従って識別するもので
ある。但し、(表19)において、理論的境界値Dmi
n およびDmax は、何れも除数Dの範囲に含まれ
ず、適用する境界値については、Dmin は含まれる
一方、Dmax は含まれないように設定されている。
【0083】
【表19】
【0084】
【表20】
【0085】63は商ディジット決定回路で、実施例2
の商ディジット決定回路43と同様に、上記(表20)
に従って、値−7、−6、−5、−4、−3、−2、−
1、0、1、2、3、4、5、6、7のうちのいずれか
を商ディジットqj として選択するものである。73
・74は第1・第2の除数倍数選択回路、77は次部分
剰余生成用3入力加減算回路で、それぞれ、実施例1の
第1・第2の除数倍数選択回路33・34、または次部
分剰余生成用3入力加減算回路37と同様に、下記表2
1に従って除数倍数の選択や加減算を行うことにより、
部分剰余R(j) の8倍数に対して、商ディジットq
j の絶対値と除数Dとの積を加減算するようになって
いる。
の商ディジット決定回路43と同様に、上記(表20)
に従って、値−7、−6、−5、−4、−3、−2、−
1、0、1、2、3、4、5、6、7のうちのいずれか
を商ディジットqj として選択するものである。73
・74は第1・第2の除数倍数選択回路、77は次部分
剰余生成用3入力加減算回路で、それぞれ、実施例1の
第1・第2の除数倍数選択回路33・34、または次部
分剰余生成用3入力加減算回路37と同様に、下記表2
1に従って除数倍数の選択や加減算を行うことにより、
部分剰余R(j) の8倍数に対して、商ディジットq
j の絶対値と除数Dとの積を加減算するようになって
いる。
【0086】
【表21】
【0087】このように構成することにより、前記実施
例2と同様のアルゴリズムにより除算処理が行われ、実
施例2と同様に基数が8であるため除算ステップの繰り
返し回数が少なくなる一方、基数が8であるにも係わら
ず商ディジットの決定に要する時間が短くなるため、1
除算ステップの実行時間も短くなり、したがって除算処
理速度は大幅に向上する。
例2と同様のアルゴリズムにより除算処理が行われ、実
施例2と同様に基数が8であるため除算ステップの繰り
返し回数が少なくなる一方、基数が8であるにも係わら
ず商ディジットの決定に要する時間が短くなるため、1
除算ステップの実行時間も短くなり、したがって除算処
理速度は大幅に向上する。
【0088】なお、上記各実施例においては、被除数、
除数の正規化の範囲を1/2以上1未満としたが、これ
に限らず任意の整数kに対して2k−1 ≦正規化数<
2k と設定することができ、例えば1以上2未満とす
る場合には、正規化の範囲を1/2以上1未満とする場
合における小数点の位置を下位側へ1ビットもしくは1
桁シフトすればよい。その際、上記実施例中で説明した
ビット位置もしくは桁位置は、見かけ上上位側へ1ビッ
トもしくは1桁シフトされることになる。
除数の正規化の範囲を1/2以上1未満としたが、これ
に限らず任意の整数kに対して2k−1 ≦正規化数<
2k と設定することができ、例えば1以上2未満とす
る場合には、正規化の範囲を1/2以上1未満とする場
合における小数点の位置を下位側へ1ビットもしくは1
桁シフトすればよい。その際、上記実施例中で説明した
ビット位置もしくは桁位置は、見かけ上上位側へ1ビッ
トもしくは1桁シフトされることになる。
【0089】すなわち、被除数と除数に任意の同じ数を
乗じてもそれらの商は変わらないから、上記除算算法に
おける小数点の位置や正規化数の範囲を表す整数kの値
は本質的な問題ではないといえる。また、上記各実施例
においては、正規化された数同士の除算を行なうものと
したが、被除数は必ずしも正規化されている必要がない
。それゆえ、例えば除数を正規化する回路、および商と
剰余の桁合わせを行う回路を付加することにより、整数
除算を行わせることなども可能である。
乗じてもそれらの商は変わらないから、上記除算算法に
おける小数点の位置や正規化数の範囲を表す整数kの値
は本質的な問題ではないといえる。また、上記各実施例
においては、正規化された数同士の除算を行なうものと
したが、被除数は必ずしも正規化されている必要がない
。それゆえ、例えば除数を正規化する回路、および商と
剰余の桁合わせを行う回路を付加することにより、整数
除算を行わせることなども可能である。
【0090】また、被除数の絶対値が除数より小さい場
合には、値0を最初の商ディジットとするとともに、被
除数をそのまま最初の部分剰余とするようにしてもよい
。また、上記各実施例において示した論理式はその形式
に限定されるものではなく、種々の論理演算規則に基づ
く変形が可能である。
合には、値0を最初の商ディジットとするとともに、被
除数をそのまま最初の部分剰余とするようにしてもよい
。また、上記各実施例において示した論理式はその形式
に限定されるものではなく、種々の論理演算規則に基づ
く変形が可能である。
【0091】
【発明の効果】以上説明したように、本発明によれば、
除数および2の補数表現で表わされる部分剰余における
上位の一部の桁の値、および部分剰余の符号に基づいて
、前記基数のもとにとり得るすべての商ディジットの値
のうちのいずれかを選択する商ディジット選択手段、ま
たは除数および冗長2進数表現で表わされる部分剰余に
おける上位の一部の桁の値に基づいて、前記基数のもと
にとり得るすべての商ディジットの値のうちのいずれか
を選択する商ディジット選択手段と、それぞれ、値0、
および除数の2の整数乗倍の値のうちの少なくともいず
れか1つを生成する複数の除数倍数生成手段と、前記除
数倍数生成手段の出力および部分剰余の基数倍の値を加
減算して新たな部分剰余を生成する3入力以上の加減算
手段、または前記除数倍数生成手段の出力を加減算して
商ディジットと除数との積を冗長2進数表現数として生
成する第1の加減算手段と前記第1の加減算手段の出力
と部分剰余の基数倍の値とを加減算して新たな部分剰余
を冗長2進数表現数として生成する第2の加減算手段と
が設けられていることにより、商ディジットが、除数お
よび部分剰余の一部の上位ビットに基づいて、設定され
ている基数のもとにとり得るすべての値のうちから選択
されるので、商ディジットの選択論理が簡素化されてハ
ードウェアの規模が小さくてすむうえ、1除算ステップ
の実行に要する時間が短くなり、除算処理の高速化が図
られる。
除数および2の補数表現で表わされる部分剰余における
上位の一部の桁の値、および部分剰余の符号に基づいて
、前記基数のもとにとり得るすべての商ディジットの値
のうちのいずれかを選択する商ディジット選択手段、ま
たは除数および冗長2進数表現で表わされる部分剰余に
おける上位の一部の桁の値に基づいて、前記基数のもと
にとり得るすべての商ディジットの値のうちのいずれか
を選択する商ディジット選択手段と、それぞれ、値0、
および除数の2の整数乗倍の値のうちの少なくともいず
れか1つを生成する複数の除数倍数生成手段と、前記除
数倍数生成手段の出力および部分剰余の基数倍の値を加
減算して新たな部分剰余を生成する3入力以上の加減算
手段、または前記除数倍数生成手段の出力を加減算して
商ディジットと除数との積を冗長2進数表現数として生
成する第1の加減算手段と前記第1の加減算手段の出力
と部分剰余の基数倍の値とを加減算して新たな部分剰余
を冗長2進数表現数として生成する第2の加減算手段と
が設けられていることにより、商ディジットが、除数お
よび部分剰余の一部の上位ビットに基づいて、設定され
ている基数のもとにとり得るすべての値のうちから選択
されるので、商ディジットの選択論理が簡素化されてハ
ードウェアの規模が小さくてすむうえ、1除算ステップ
の実行に要する時間が短くなり、除算処理の高速化が図
られる。
【0092】しかも、商ディジットの選択論理が簡素化
されることにより、従来よりもさらに基数を大きく設定
することが容易にでき、一層除算処理の高速化が容易に
なるという効果を奏する。
されることにより、従来よりもさらに基数を大きく設定
することが容易にでき、一層除算処理の高速化が容易に
なるという効果を奏する。
【図1】実施例1における除算装置の構成を示すブロッ
ク図である。
ク図である。
【図2】同、次部分剰余生成用3入力加減算回路の詳細
な構成を示すブロック図である。
な構成を示すブロック図である。
【図3】同、被減数ビット反転回路、および和ビット反
転回路の詳細な構成を示す回路図である。
転回路の詳細な構成を示す回路図である。
【図4】実施例2における除算装置の構成を示すブロッ
ク図である。
ク図である。
【図5】同、除数倍数生成用2入力加減算回路の詳細な
構成を示すブロック図である。
構成を示すブロック図である。
【図6】同、次部分剰余生成用2入力加減算回路の詳細
な構成を示すブロック図である。
な構成を示すブロック図である。
【図7】実施例3における除算装置の構成を示すブロッ
ク図である
ク図である
【図8】従来のアルゴリズムで除算を行う除算装置の構
成を示すブロック図である。
成を示すブロック図である。
41・61 除数区間識別回路22
・42・62 部分剰余区間識別回路23・43
・63 商ディジット決定回路24・44・64
正の商ディジット格納回路25・45・65
負の商ディジット格納回路26・46・66
商変換回路 30・50・70 除数2倍回路51・71
除数4倍回路52・72
除数8倍回路33・53・73 第1の
除数倍数選択回路34・54・74 第2の除数
倍数選択回路55 除
数倍数生成用2入力加減算回路36
部分剰余4倍回路56・76
部分剰余8倍回路37・77
次部分剰余生成用3入力加減算回路 57 次部分剰余生成
用2入力加減算回路
・42・62 部分剰余区間識別回路23・43
・63 商ディジット決定回路24・44・64
正の商ディジット格納回路25・45・65
負の商ディジット格納回路26・46・66
商変換回路 30・50・70 除数2倍回路51・71
除数4倍回路52・72
除数8倍回路33・53・73 第1の
除数倍数選択回路34・54・74 第2の除数
倍数選択回路55 除
数倍数生成用2入力加減算回路36
部分剰余4倍回路56・76
部分剰余8倍回路37・77
次部分剰余生成用3入力加減算回路 57 次部分剰余生成
用2入力加減算回路
Claims (34)
- 【請求項1】 2の補数表現で表わされる部分剰余を
用いて高基数除算を行う除算装置であって、除数および
部分剰余における上位の一部の桁の値、および部分剰余
の符号に基づいて、前記基数のもとにとり得るすべての
商ディジットの値のうちのいずれかを選択する商ディジ
ット選択手段と、それぞれ、値0、および除数の2の整
数乗倍の値のうちの少なくともいずれか1つを生成する
複数の除数倍数生成手段と、前記除数倍数生成手段の出
力と部分剰余の基数倍の値とを加減算して、新たな部分
剰余を生成する3入力以上の加減算手段とが設けられて
いることを特徴とする除算装置。 - 【請求項2】 請求項1の除算装置であって、前記加
減算手段は、被減数の全ビットを反転させる第1のビッ
ト反転手段と、前記第1のビット反転手段の出力と、減
数とを加算する加算手段と、前記加算手段の出力の全ビ
ットを反転させる第2のビット反転手段とが設けられて
構成されていることを特徴とする除算装置。 - 【請求項3】 演算装置に設けられる請求項1の除算
装置であって、前記加減算手段は、前記演算装置におけ
る他の演算に用いられる加減算手段を兼ねるものである
ことを特徴とする除算装置。 - 【請求項4】 冗長2進数表現で表わされる部分剰余
を用いて高基数除算を行う除算装置であって、除数およ
び部分剰余における上位の一部の桁の値に基づいて、前
記基数のもとにとり得るすべての商ディジットの値のう
ちのいずれかを選択する商ディジット選択手段と、それ
ぞれ、値0、および除数の2の整数乗倍の値のうちの少
なくともいずれか1つを生成する複数の除数倍数生成手
段と、前記除数倍数生成手段の出力を加減算して、商デ
ィジットと除数との積を冗長2進数表現数として生成す
る第1の加減算手段と、前記第1の加減算手段の出力と
部分剰余の基数倍の値とを加減算して、新たな部分剰余
を冗長2進数表現数として生成する第2の加減算手段と
が設けられていることを特徴とする除算装置。 - 【請求項5】 8を基数として除算を行う除算装置で
あって、2の補数表現の部分剰余の取り得る区間を予め
定められた定数を境界として分割し該部分剰余がどの分
割された区間に含まれるかを該部分剰余の小数点以下4
ビットと該部分剰余の符号により判定する部分剰余区間
識別手段と、正規化された除数の取り得る区間を予め定
められた定数を境界として分割し該除数がどの分割され
た区間に含まれるかを該除数の小数第2位以下5ビット
により判定する除数区間識別手段と、除算の最初におい
ては、商ディジットとして1を生成し、除算の最初以外
においては、前記部分剰余区間識別手段と前記除数区間
識別手段で判定した部分剰余と除数それぞれが含まれる
区間の組み合わせに従い集合{−7、−6、−5、−4
、−3、−2、−1、0、1、2、3、4、5、6、7
}から唯一の商ディジットを選択する商ディジット決定
手段と、前記商ディジットと前記除数との積を求める除
数倍数生成手段と、除算の最初においては、正規化され
た被除数より前記除数を減算し且つ該差を最初の2の補
数表現の部分剰余とし、除算の最初以外においては、8
倍された2の補数表現の部分剰余から前記除数倍数生成
手段で求めた商ディジットと除数との積を減算し且つ該
差を次の2の補数表現の部分剰余とする次部分剰余生成
手段とを備えたことを特徴とする除算装置。 - 【請求項6】 請求項5の除算装置であって、前記正
規化された除数および被除数は、1/2以上1未満の範
囲に収められた除数および被除数であることを特徴とす
る除算装置。 - 【請求項7】 請求項5の除算装置であって、前記正
規化された除数および被除数は、1以上2未満の範囲に
収められた除数および被除数であることを特徴とする除
算装置。 - 【請求項8】 前記除数倍数生成手段に代えて、商デ
ィジットの絶対値と除数との積を求める除数倍数生成手
段を備えるとともに、前記次部分剰余生成手段に代えて
、除算の最初においては、正規化された被除数より前記
除数を減算し且つ該差を最初の2の補数表現の部分剰余
とし、除算の最初以外においては、8倍された2の補数
表現の部分剰余に対し、前記除数倍数生成手段で求めた
商ディジットの絶対値と除数との積を、商ディジットが
正のとき減算し、負のとき加算し、且つ該演算結果を次
の2の補数表現の部分剰余とする次部分剰余生成手段を
備えたことを特徴とする請求項5の除算装置。 - 【請求項9】 前記除数倍数生成手段に代えて、除算
の最初において除数の2から7倍までの倍数を求める除
数倍数生成手段と、商ディジット決定手段が選択した0
から7までの商ディジットの絶対値に従って、値0、除
数、および前記除数倍数生成手段の求めた除数倍数のう
ちのいずれかを選択して出力する選択手段とを備えると
ともに、前記次部分剰余生成手段に代えて、除算の最初
においては、正規化された被除数より前記除数を減算し
且つ該差を最初の2の補数表現の部分剰余とし、除算の
最初以外においては、8倍された2の補数表現の部分剰
余に対し、前記選択手段の出力を前記商ディジットが正
のとき減算し、負のとき加算し、且つ該演算結果を次の
2の補数表現の部分剰余とする次部分剰余生成手段を備
えたことを特徴とする請求項5の除算装置。 - 【請求項10】 除数をDと表し、部分剰余をRと表
すとすると、前記除数倍数生成手段に代えて、除数の2
倍数2Dを発生する除数2倍手段と、除数の4倍数4D
を発生する除数4倍手段と、除数の8倍数8Dを発生す
る除数8倍手段とを備えるとともに、前記次部分剰余生
成手段に代えて、次部分剰余生成用3入力加減算手段を
有し、除算の最初においては、正規化された被除数より
前記除数を減算し且つ該差を最初の2の補数表現の部分
剰余とし、除算の最初以外においては、商ディジットが
、−7、−6、−5、−4、−3、−2、−1、0、1
、2、3、4、5、6、および7のときに、それぞれ、
(R−D+8D)、(R+2D+4D)、(R+D+4
D)、(R+4D)、(R−D+4D)、(R+2D)
、(R+D)、R、(R−D)、(R−2D)、(R+
D−4D)、(R−4D)、(R−D−4D)、(R−
2D−4D)、または(R+D−8D)を出力し、該出
力を次の2の補数表現の部分剰余とする次部分剰余生成
手段を備えたことを特徴とする請求項5の除算装置。 - 【請求項11】 前記次部分剰余生成手段に代えて、
除算の最初においては、被除数は絶対値が除数より小さ
い範囲に収められた数である場合に、該被除数を最初の
2の補数表現の部分剰余とし、除算の最初以外において
は、8倍された2の補数表現の部分剰余から前記除数倍
数生成手段で求めた商ディジットと除数との積を減算し
且つ該差を次の2の補数表現の部分剰余とする次部分剰
余生成手段を備えたことを特徴とする請求項5の除算装
置。 - 【請求項12】 請求項11の除算装置であって、前
記正規化された除数は、1/2以上1未満の範囲に収め
られた除数であることを特徴とする除算装置。 - 【請求項13】 請求項11の除算装置であって、前
記正規化された除数は、1以上2未満の範囲に収められ
た除数であることを特徴とする除算装置。 - 【請求項14】 前記次部分剰余生成手段に代えて、
除算の最初においては、被除数は絶対値が除数より小さ
い範囲に収められた数である場合に、該被除数を最初の
2の補数表現の部分剰余とし、除算の最初以外において
は、8倍された2の補数表現の部分剰余に対し、前記除
数倍数生成手段で求めた商ディジットの絶対値と除数と
の積を、商ディジットが正のとき減算し、負のとき加算
し、且つ該演算結果を次の2の補数表現の部分剰余とす
る次部分剰余生成手段を備えたことを特徴とする請求項
8の除算装置。 - 【請求項15】 前記次部分剰余生成手段に代えて、
除算の最初においては、被除数は絶対値が除数より小さ
い範囲に収められた数である場合に、該被除数を最初の
2の補数表現の部分剰余とし、除算の最初以外において
は、8倍された2の補数表現の部分剰余に対し、前記選
択手段の出力を前記商ディジットが正のとき減算し、負
のとき加算し、且つ該演算結果を次の2の補数表現の部
分剰余とする次部分剰余生成手段を備えたことを特徴と
する請求項9の除算装置。 - 【請求項16】 前記次部分剰余生成手段に代えて、
次部分剰余生成用3入力加減算手段を有し、除算の最初
においては、被除数は絶対値が除数より小さい範囲に収
められた数である場合に、該被除数を最初の2の補数表
現の部分剰余とし、除算の最初以外においては、商ディ
ジットが、−7、−6、−5、−4、−3、−2、−1
、0、1、2、3、4、5、6、および7のときに、そ
れぞれ、(R−D+8D)、(R+2D+4D)、(R
+D+4D)、(R+4D)、(R−D+4D)、(R
+2D)、(R+D)、R、(R−D)、(R−2D)
、(R+D−4D)、(R−4D)、(R−D−4D)
、(R−2D−4D)、または(R+D−8D)を出力
し、該出力を次の2の補数表現の部分剰余とする次部分
剰余生成手段を備えたことを特徴とする請求項10の除
算装置。 - 【請求項17】 前記部分剰余区間識別手段に代えて
、部分剰余の取り得る区間を予め定められた定数を境界
として分割し該部分剰余がどの分割された区間に含まれ
るかを冗長2進数表現の部分剰余の1の位以下6桁によ
り判定する部分剰余区間識別手段を備えるとともに、前
記次部分剰余生成手段は、冗長2進数表現の部分剰余を
生成するように構成されていることを特徴とする請求項
5ないし請求項16の除算装置。 - 【請求項18】 商ディジットが正ならば、3ビット
で表される商ディジットの絶対値を、さもなければ0を
対応する位取りの桁に格納する正の商ディジット格納手
段と、商ディジットが負ならば、3ビットで表される商
ディジットの絶対値を、さもなければ0を対応する位取
りの桁に格納する負の商ディジット格納手段と、前記正
の商ディジット格納手段の内容から前記負の商ディジッ
ト格納手段の内容を減算し該差を商とする商変換手段と
を備え、部分剰余の区間識別から次の部分剰余生成まで
の一連の処理を(n/3)回(nは求めるべき商のビッ
ト長とする。小数点以下は切り上げる。)繰り返し最後
に前記商変換手段により2の補数表現の商を得、かつ最
終的な部分剰余として剰余を得るように構成されている
ことを特徴とする請求項5ないし請求項17の除算装置
。 - 【請求項19】 除算の最初において値0を保持し、
商ディジットが求められるごとに保持した内容を上位方
向へ3ビットシフトすると共にこれに商ディジットを累
算していく商累算シフトレジスタ手段が設けられている
ことを特徴とする請求項5ないし請求項17の除算装置
。 - 【請求項20】 4を基数として除算を行う除算装置
であって、2の補数表現の部分剰余の取り得る区間を予
め定められた定数を境界として分割し該部分剰余がどの
分割された区間に含まれるかを該部分剰余の小数点以下
3ビットと該部分剰余の符号により判定する部分剰余区
間識別手段と、除算の最初においては、商ディジットと
して1を生成し、除算の最初以外においては、前記部分
剰余区間識別手段で判定した部分剰余が含まれる区間と
正規化された除数の小数第2位1ビットの組み合わせに
従い集合{−3、−2、−1、0、1、2、3}から唯
一の商ディジットを選択する商ディジット決定手段と、
前記商ディジットと前記除数との積を求める除数倍数生
成手段と、除算の最初においては、正規化された被除数
より前記除数を減算し且つ該差を最初の2の補数表現の
部分剰余とし、除算の最初以外においては、4倍された
2の補数表現の部分剰余から前記除数倍数生成手段で求
めた商ディジットと除数との積を減算し且つ該差を次の
2の補数表現の部分剰余とする次部分剰余生成手段とを
備えたことを特徴とする除算装置。 - 【請求項21】 請求項20の除算装置であって、前
記正規化された除数および被除数は、1/2以上1未満
の範囲に納められた除数および被除数であることを特徴
とする除算装置。 - 【請求項22】 請求項20の除算装置であって、前
記正規化された除数および被除数は、1以上2未満の範
囲に納められた除数および被除数であることを特徴とす
る除算装置。 - 【請求項23】 前記除数倍数生成手段に代えて、商
ディジットの絶対値と除数との積を求める除数倍数生成
手段を備えるとともに、前記次部分剰余生成手段に代え
て、除算の最初においては、正規化された被除数より前
記除数を減算し且つ該差を最初の2の補数表現の部分剰
余とし、除算の最初以外においては、4倍された2の補
数表現の部分剰余に対し、前記除数倍数生成手段で求め
た商ディジットの絶対値と除数との積を、商ディジット
が正のとき減算し、負のとき加算し、且つ該演算結果を
次の2の補数表現の部分剰余とする次部分剰余生成手段
を備えたことを特徴とする請求項20の除算装置。 - 【請求項24】 前記除数倍数生成手段に代えて、除
算の最初において除数の2から3倍までの倍数を求める
除数倍数生成手段と、商ディジット決定手段が選択した
0から3までの商ディジットの絶対値に従って、値0、
除数、および前記除数倍数生成手段の求めた除数倍数の
うちのいずれかを選択して出力する選択手段とを備える
とともに、前記次部分剰余生成手段に代えて、除算の最
初においては、正規化された被除数より前記除数を減算
し且つ該差を最初の2の補数表現の部分剰余とし、除算
の最初以外においては、4倍された2の補数表現の部分
剰余に対し、前記選択手段の出力を前記商ディジットが
正のとき減算し、負のとき加算し、且つ該演算結果を次
の2の補数表現の部分剰余とする次部分剰余生成手段を
備えたことを特徴とする請求項20の除算装置。 - 【請求項25】 除数をDと表し、部分剰余をRと表
すとすると、前記除数倍数生成手段に代えて、除数の2
倍数2Dを発生する除数2倍手段を備えるとともに、前
記次部分剰余生成手段に代えて、次部分剰余生成用3入
力加減算手段を有し、除算の最初においては、正規化さ
れた被除数より前記除数を減算し且つ該差を最初の2の
補数表現の部分剰余とし、除算の最初以外においては、
商ディジットが、−3、−2、−1、0、1、2、およ
び3のときに、それぞれ、(R+D+2D)、(R+2
D)、(R+D)、R、(R−D)、(R−2D)、ま
たは(R−D−2D)を出力し、該出力を次の2の補数
表現の部分剰余とする次部分剰余生成手段を備えたこと
を特徴とする請求項20の除算装置。 - 【請求項26】 前記次部分剰余生成手段に代えて、
除算の最初においては、被除数は絶対値が除数より小さ
い範囲に納められた数である場合に、該被除数を最初の
2の補数表現の部分剰余とし、除算の最初以外において
は、4倍された2の補数表現の部分剰余から前記除数倍
数生成手段で求めた商ディジットと除数との積を減算し
且つ該差を次の2の補数表現の部分剰余とする次部分剰
余生成手段を備えたことを特徴とする請求項20の除算
装置。 - 【請求項27】 請求項26の除算装置であって、前
記正規化された除数は、1/2以上1未満の範囲に収め
られた除数であることを特徴とする除算装置。 - 【請求項28】 請求項26の除算装置であって、前
記正規化された除数は、1以上2未満の範囲に収められ
た除数であることを特徴とする除算装置。 - 【請求項29】 前記次部分剰余生成手段に代えて、
除算の最初においては、被除数は絶対値が除数より小さ
い範囲に納められた数である場合に、該被除数を最初の
2の補数表現の部分剰余とし、除算の最初以外において
は、4倍された2の補数表現の部分剰余に対し、前記除
数倍数生成手段で求めた商ディジットの絶対値と除数と
の積を、商ディジットが正のとき減算し、負のとき加算
し、且つ該演算結果を次の2の補数表現の部分剰余とす
る次部分剰余生成手段を備えたことを特徴とする請求項
23の除算装置。 - 【請求項30】 前記次部分剰余生成手段に代えて、
除算の最初においては、被除数は絶対値が除数より小さ
い範囲に納められた数である場合に、該被除数を最初の
2の補数表現の部分剰余とし、除算の最初以外において
は、4倍された2の補数表現の部分剰余に対し、前記選
択手段の出力を前記商ディジットが正のとき減算し、負
のとき加算し、且つ該演算結果を次の2の補数表現の部
分剰余とする次部分剰余生成手段を備えたことを特徴と
する請求項24の除算装置。 - 【請求項31】 前記次部分剰余生成手段に代えて、
次部分剰余生成用3入力加減算手段を有し、除算の最初
においては、被除数は絶対値が除数より小さい範囲に納
められた数である場合に、該被除数を最初の2の補数表
現の部分剰余とし、除算の最初以外においては、商ディ
ジットが、−3、−2、−1、0、1、2、および3の
ときに、それぞれ、(R+D+2D)、(R+2D)、
(R+D)、R、(R−D)、(R−2D)、または(
R−D−2D)を出力し、該出力を次の2の補数表現の
部分剰余とする次部分剰余生成手段を備えたことを特徴
とする請求項25の除算装置。 - 【請求項32】 商ディジットが正ならば、2ビット
で表される商ディジットの絶対値を、さもなければ0を
対応する位取りの桁に格納する正の商ディジット格納手
段と、商ディジットが負ならば、2ビットで表される商
ディジットの絶対値を、さもなければ0を対応する位取
りの桁に格納する負の商ディジット格納手段と、前記正
の商ディジット格納手段の内容から前記負の商ディジッ
ト格納手段の内容を減算し該差を商とする商変換手段と
を備え、部分剰余の区間識別から次の部分剰余生成まで
の一連の処理を(n/2)回(nは求めるべき商のビッ
ト長とする。小数点以下は切り上げる。)繰り返し最後
に前記商変換手段により2の補数表現の商を得、かつ最
終的な部分剰余として剰余を得るように構成されている
ことを特徴とする請求項20ないし請求項31の除算装
置。 - 【請求項33】 除算の最初において値0を保持し、
商ディジットが求められるごとに保持した内容を上位方
向へ2ビットシフトすると共にこれに商ディジットを累
算していく商累算シフトレジスタ手段が設けられている
ことを特徴とする請求項20ないし請求項31の除算装
置。 - 【請求項34】 高基数除算を行う除算装置であって
、除数における上位の一部の桁の値に基づく論理演算の
演算結果、および部分剰余における上位の一部の桁の値
と部分剰余の符号とに基づく論理演算の演算結果に応じ
て、前記基数のもとにとり得るすべての商ディジットの
値のうちのいずれかを選択する商ディジット選択手段と
、商ディジットと除数との積と、部分剰余の基数倍の値
とを加減算して、新たな部分剰余を生成する次部分剰余
算出手段とを備え、前記商ディジット選択手段における
除数に基づく論理演算、および部分剰余に基づく論理演
算は、部分剰余に基づく論理演算の最大遅延時間が最も
小さくなるように設定されていることを特徴とする除算
装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3071405A JP2857505B2 (ja) | 1990-04-10 | 1991-04-04 | 除算装置 |
| EP19910303132 EP0452099A3 (en) | 1990-04-10 | 1991-04-09 | Divider unit |
| US07/682,902 US5206827A (en) | 1990-04-10 | 1991-04-09 | Iterative high radix divider decoding the upper bits of a divisor and dividend |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2-95759 | 1990-04-10 | ||
| JP9575990 | 1990-04-10 | ||
| JP3071405A JP2857505B2 (ja) | 1990-04-10 | 1991-04-04 | 除算装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04218831A true JPH04218831A (ja) | 1992-08-10 |
| JP2857505B2 JP2857505B2 (ja) | 1999-02-17 |
Family
ID=26412506
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3071405A Expired - Fee Related JP2857505B2 (ja) | 1990-04-10 | 1991-04-04 | 除算装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5206827A (ja) |
| EP (1) | EP0452099A3 (ja) |
| JP (1) | JP2857505B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11294630B2 (en) | 2018-05-01 | 2022-04-05 | Fujitsu Limited | Adder-subtractor circuit and method of controlling adder-subtractor circuit |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5696713A (en) * | 1995-08-21 | 1997-12-09 | International Business Machines Corporation | Method for faster division by known divisor while maintaining desired accuracy |
| JP3604518B2 (ja) * | 1996-11-01 | 2004-12-22 | 株式会社ルネサステクノロジ | 除算装置 |
| US6233593B1 (en) * | 1998-11-18 | 2001-05-15 | Tektronix, Inc. | Fir filter based upon squaring |
| JP2000347836A (ja) * | 1999-06-04 | 2000-12-15 | Sony Corp | 高次基数除算器およびその方法 |
| US6748411B1 (en) | 2000-11-20 | 2004-06-08 | Agere Systems Inc. | Hierarchical carry-select multiple-input split adder |
| JP2004326112A (ja) * | 2003-04-25 | 2004-11-18 | Samsung Electronics Co Ltd | マルチプルモジュラス選択器、累算器、モンゴメリー掛け算器、マルチプルモジュラス発生方法、部分掛け発生方法、累算方法、掛け算方法、モジュラス選択器、およびブースレコーダ |
| DE102013222842A1 (de) | 2013-11-11 | 2015-05-13 | Schaeffler Technologies Gmbh & Co. Kg | Stirnraddifferenzial mit Sinterplanetenträger |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3733477A (en) * | 1972-02-04 | 1973-05-15 | Control Data Corp | Iterative binary divider utilizing multiples of the divisor |
| US3852581A (en) * | 1972-12-14 | 1974-12-03 | Burroughs Corp | Two bit binary divider |
| FR2301869A1 (fr) * | 1975-02-19 | 1976-09-17 | Szamitastech Koord | Procede et couplage rapide pour la division des nombres binaires |
| CA1231455A (en) * | 1984-04-09 | 1988-01-12 | Masayuki Ikeda | Nonrestoring divider |
-
1991
- 1991-04-04 JP JP3071405A patent/JP2857505B2/ja not_active Expired - Fee Related
- 1991-04-09 EP EP19910303132 patent/EP0452099A3/en not_active Withdrawn
- 1991-04-09 US US07/682,902 patent/US5206827A/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11294630B2 (en) | 2018-05-01 | 2022-04-05 | Fujitsu Limited | Adder-subtractor circuit and method of controlling adder-subtractor circuit |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2857505B2 (ja) | 1999-02-17 |
| EP0452099A2 (en) | 1991-10-16 |
| US5206827A (en) | 1993-04-27 |
| EP0452099A3 (en) | 1993-06-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Garner | Number systems and arithmetic | |
| JP3144816B2 (ja) | 除算を行なう装置 | |
| JPH09269891A (ja) | 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置 | |
| JP2000259394A (ja) | 浮動小数点乗算器 | |
| US5132925A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
| US5023827A (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
| Hickmann et al. | A parallel IEEE P754 decimal floating-point multiplier | |
| Kabuo et al. | Accurate rounding scheme for the Newton-Raphson method using redundant binary representation | |
| JPH04283831A (ja) | 除算器 | |
| Erle et al. | Decimal floating-point multiplication | |
| JP2857505B2 (ja) | 除算装置 | |
| JP4273071B2 (ja) | 除算・開平演算器 | |
| Teja et al. | FPGA implementation of low-area floating point multiplier using Vedic mathematics | |
| JP2511527B2 (ja) | 浮動小数点演算器 | |
| JPH0687218B2 (ja) | 浮動小数点数演算処理装置及び除数倍数生成装置 | |
| US20040083255A1 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
| 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 | |
| US10353671B2 (en) | Circuitry and method for performing division | |
| Chen et al. | Improved decimal floating-point logarithmic converter based on selection by rounding | |
| JPH0667852A (ja) | 除算器 | |
| Chen et al. | Decimal floating-point antilogarithmic converter based on selection by rounding: Algorithm and architecture | |
| JPH0322025A (ja) | 指数関数演算装置 | |
| JP3233432B2 (ja) | 乗算器 | |
| JP2508286B2 (ja) | 平方根演算装置 | |
| JPS63254525A (ja) | 除算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |