JP3276444B2 - 除算回路 - Google Patents

除算回路

Info

Publication number
JP3276444B2
JP3276444B2 JP06183293A JP6183293A JP3276444B2 JP 3276444 B2 JP3276444 B2 JP 3276444B2 JP 06183293 A JP06183293 A JP 06183293A JP 6183293 A JP6183293 A JP 6183293A JP 3276444 B2 JP3276444 B2 JP 3276444B2
Authority
JP
Japan
Prior art keywords
input
quotient
divisor
input terminal
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP06183293A
Other languages
English (en)
Other versions
JPH06274317A (ja
Inventor
道夫 古茂田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP06183293A priority Critical patent/JP3276444B2/ja
Priority to US08/212,926 priority patent/US5444647A/en
Priority to CA002119283A priority patent/CA2119283C/en
Priority to CA002205525A priority patent/CA2205525C/en
Priority to DE4447781A priority patent/DE4447781B4/de
Priority to DE4409834A priority patent/DE4409834C2/de
Priority to FR9403346A priority patent/FR2703166B1/fr
Publication of JPH06274317A publication Critical patent/JPH06274317A/ja
Priority to US08/433,013 priority patent/US5619440A/en
Priority to FR9600330A priority patent/FR2727777B1/fr
Application granted granted Critical
Publication of JP3276444B2 publication Critical patent/JP3276444B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
    • G06F7/5312Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA

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)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、乗算回路及び除算回
路に関し、特に丸め機能のついた乗算回路、除算回路に
関するものである。
【0002】
【従来の技術】図21及び図22は、いずれも従来の乗
算回路100の構成の一部を示す回路図であり、両図を
併せて乗算回路100の構成が示される。
【0003】乗算回路100の被乗数1a(=A3 2
1 0 )、乗数1b(=B3 21 0 )のいずれ
もが共にバイナリ形式の4ビットで表される。そして、
被乗数1a及び乗数1bはキャリセーブ方式の乗算部3
0において乗算され、第1の乗算結果4(=P'7P'6
P'5P'4P'3P'2P'1P'0)が得られる。丸め回路5に
おいて、乗算結果4の上位から6ビット目を丸めること
により、バイナリ形式の5ビットで表される第2の乗算
結果2(=P7 6 5 4 3 )が得られる。上記に
おいてデータの添字i(=0,1,2,3)は、2i
位を表す。なお「丸める」とは概数を求めることをい
い、10進数でいう四捨五入に対応する。
【0004】乗算部30は、部分積生成部30aと加算
処理部30bとから構成されている。部分積生成部30
aは、被乗数1a及び乗数1bから部分積群6を生成す
る。加算処理部30bは部分積群6の桁を整合させつ
つ、ハーフアダー7a〜7c、フルアダー8a〜8f、
先見桁上げ高速加算器9によってキャリセーブ法による
加算を行う。加算処理部30bにおいて示された破線の
グリッドは、位合わせ及び加算処理の段階を表したもの
である。
【0005】図23は従来の除算回路200の構成を示
す回路図である。除算回路200の被除数A、除数Bは
いずれも共にバイナリ形式の8ビットで表され、A<B
の関係がある。9ビット除算回路10は被除数A及び除
数Bを受け、これらから小数点以下9ビットの商Q' が
得られる。丸め回路5は商Q' を受け、この小数点以下
9ビット目を丸めて、8ビットの商Qを出力する。
【0006】図24は9ビット除算回路10の詳細を示
す回路図である。9ビット除算回路10には1ビットの
商決定回路12a,12b,…,12iが備えられてい
る。まず、1ビットの商決定回路12aにおいて被除数
Aの下位側に0を付加した9ビットデータをBで除算
し、最上位のビットを1ビットの商q'8として求める。
また、8ビットの余りR8 も求める。
【0007】次に1ビットの商決定回路12bにおいて
8ビットの余りR8 の下位側に0を付加した9ビットデ
ータをBで除算し、最上位のビットを1ビットの商q'7
として求める。また、余りR7 も求める。このようにし
て順次1ビットの商を求めて行き最後に1ビットの商
q'0が求まる。これによって9ビットの商Q' (=q'8
q'7q'6q'5q'4q'3q'2q'1q'0)が得られる。
【0008】
【発明が解決しようとする課題】従来の乗算回路、除算
回路はこのように構成されていたため、丸め回路を新た
に設ける必要があった。そのために処理段数が増し、回
路規模が大きくなってしかも動作速度が遅くなるという
問題点があった。
【0009】この発明は上記のような問題点を解消する
ためになされたもので、回路規模が小さく、かつ速い動
作速度で丸め処理が可能な除算回路を提供することを目
的とする。
【0010】
【0011】
【0012】
【0013】
【0014】
【0015】
【0016】
【0017】
【課題を解決するための手段】 この発明にかかる除算回
路は、D進数においてM桁で表される被除数A(=A
(M-1) …A10 )を、D進数においてN桁で表されて
被除数Aよりも大きな除数B(=B(N-1) …B10
で除算し、小数点以下(K+1)桁目を丸めて得られる
小数点以下K桁までの商を求める除算回路である。そし
てその基本的構成は、(x−1)被除数Aと、除数Bの
少なくとも上位から(2N−M−1)桁とを、除数Bの
最上位の桁をD(N-K-2) の位に、被除数Aの最下位の桁
をD0 の位に、それぞれ揃えつつ加算して新たな被除数
Cを得る加算手段と、(x−2)新たな被除数Cを除数
Bで除算して小数点以下K桁までの商を求める除算処理
手段と、を備える。
【0018】この発明にかかる除算回路の第1の態様
は、(a−1)第1入力端と、除数Bを入力する第2入
力端と、第3入力端と、第1及び第2の出力端と、を有
し、第1入力端に与えられた値の末尾に第3入力端に与
えられた値を付加して得られる数を得て、これを除数B
で除すことによって得られる1桁の第i(1≦i≦(2
N−M−2))の商及び第iの余りRi とをそれぞれ第
1及び第2の出力端に出力する第iの商決定部と、(a
−2)第1入力端と、除数Bを入力する第2入力端と、
第3入力端と、出力端と、を有し、第1入力端に与えら
れた値の末尾に第3入力端に与えられた値を付加して得
られる数を得て、これを除数Bで除すことによって得ら
れる1桁の第(2N−M−1)の商を出力端に出力する
第(2N−M−1)の商決定部と、を備える。そして、
(b−1)第1の商決定部の第1入力端には被除数Aが
与えられ、(b−2)第j(2≦j≦(2N−M−
1))の商決定部の第1入力端には第(j−1)の余り
(j-1) が与えられ、(c−1)第iの商決定部の第3
入力端には除数Bの上位からi番目の桁の値B(N-i)
与えられ、(c−2)第(2N−M−1)の商決定部の
第3入力端には除数Bの上位から(2N−M−1)番目
の桁の値B(M-N+1) が与えられる。
【0019】この発明にかかる除算回路の第2の態様
は、(a−1)第1入力端と、除数Bを入力する第2入
力端と、第3入力端と、第1及び第2の出力端と、を有
し、第1入力端に与えられた値の末尾に第3入力端に与
えられた値を付加して得られる数を得て、これを除数B
で除すことによって得られる1桁の第i(1≦i≦(N
−M+K−1),K>(N−1))の商及び第iの余り
i とをそれぞれ第1及び第2の出力端に出力する第i
の商決定部と、(a−2)第1入力端と、除数Bを入力
する第2入力端と、第3入力端と、出力端と、を有し、
第1入力端に与えられた値の末尾に第3入力端に与えら
れた値を付加して得られる数を得て、これを除数Bで除
すことによって得られる1桁の第(N−M+K)の商を
出力端に出力する第(N−M+K)の商決定部と、を備
える。そして、(b−1)第1の商決定部の第1入力端
には被除数Aが与えられ、(b−2)第j(2≦j≦
(N−M+K))の商決定部の第1入力端には第(j−
1)の余りR(j-1) が与えられ、(c−1)第k(1≦
≦(K−N+1))の商決定部の第3入力端には値
“0”を入力し、(c−2)第m((K−N+2)≦m
≦(N−M+K−1))の商決定部の第3入力端には除
数Bの上位から(m−(K−N+1))番目の桁の値B
(N-(m-K-N+1)) が与えられ、(c−3)第(N−M+
K)の商決定部の第3入力端には除数Bの上位から(2
N−M−1)番目の桁の値B(M-N+1) が与えられる。
【0020】この発明にかかる除算回路の第3の態様
は、(a)被除数Aを入力する第1入力端と、除数Bの
最上位の桁から(N−1−K)番目(K<N−1)の
での値B(N-1)(N-2) …Bk(K+1) を入力する第
2入力端と、第1及び第2の入力端に与えられた値のそ
れぞれの最下位の桁を揃えて加算した加算結果を出力す
る出力端を有する加算器と、(b−1)第1入力端と、
除数Bを入力する第2入力端と、第3入力端と、第1及
び第2の出力端と、を有し、第1入力端に与えられた値
の末尾に第3入力端に与えられた値を付加して得られる
数を得て、これを除数Bで除すことによって得られる1
桁の第i(1≦i≦(N−M+K−1))の商及び第i
の余りRi とをそれぞれ第1及び第2の出力端に出力す
る第iの商決定部と、(b−2)第1入力端と、除数B
を入力する第2入力端と、第3入力端と、出力端と、を
有し、第1入力端に与えられた値の末尾に第3入力端に
与えられた値を付加して得られる数を得て、これを除数
Bで除すことによって得られる1桁の第(N−M+K)
の商を出力端に出力する第(N−M+K)の商決定部
と、を備える。そして、(c−1)第1の商決定部の第
1入力端には加算結果が与えられ、(c−2)第j(2
≦j≦(N−M+K)の商決定部の第1入力端には第
(j−1)の余りR(j-1) が与えられ、(d−1)第i
の商決定部の第3入力端には除数Bの上位から(i+
(N−1−K))番目の桁の値B(K-i+1) が与えられ、
(d−2)第(N−M+K)の商決定部の第3入力端に
は除数Bの上位から(2N−M−1)番目の桁の値B
(M-N+1) が与えられる。
【0021】この発明にかかる除算回路の第4の態様
は、(a)被除数Aを入力する第1入力端と、除数Bの
最上位の桁から(N−1−K)番目の桁までの値B
(N-1)(N-2) …Bk(K+1) を入力する第2入力端
と、第1及び第2の入力端に与えられた値のそれぞれの
最下位の桁を揃えて加算した加算結果を出力する出力端
を有する加算器と、(b−1)加算結果が入力される第
1入力端と、除数Bを入力する第2入力端と、加算結果
を除数Bで除すことによって得られる1桁の第1の商及
びM桁の第1の余りR1とをそれぞれ出力する第1及び
第2の出力端と、を有する第1の商決定部と、(b−
2)第1入力端と、除数Bを入力する第2入力端と、第
3入力端と、第1及び第2の出力端と、を有し、第1入
力端に与えられた値の末尾に第3入力端に与えられた値
を付加して(M+1)桁で表される数を得て、これを除
数Bで除すことによって得られる1桁の第i(2≦i≦
(N−M+K))の商及びM桁の第iの余りRi とをそ
れぞれ第1及び第2の出力端に出力する第iの商決定部
と、(b−)第1入力端と、除数Bを入力する第2入
力端と、第3入力端と、出力端と、を有し、第1入力端
に与えられた値の末尾に第3入力端に与えられた値を付
加して(M+1)桁で表される数を得て、これを除数B
で除すことによって得られる1桁の第(N−M+K+
1)の商を出力端に出力する第(N−M+K+1)の商
決定部と、を備える。そして、(c−1)第iの商決定
部の第1入力端には第(i−1)の余りR(i-1) が与え
られ、(c−2)第(N−M+K+1)の商決定部の第
1入力端には第(N−M+K)の余りR(N-M+K) が与え
られ、(d−1)第iの商決定部の第3入力端には除数
Bの上位から(i+(N−2−K))番目の桁の値B
(K-i+2) が与えられ、(d−2)第(N−M+K+1)
の商決定部の第3入力端には除数Bの上位から(2N−
M−1)番目の桁の値B(M-N+1) が与えられる。
【0022】
【0023】
【作用】 この発明にかかる除算回路における新たな被除
数Cは、丸められた商が得られる様に予め得られる。新
たな被除数Cは一度に完全に求める必要はなく、第1乃
至第4の態様においては、被除数Cのうち各商決定部に
おいて必要な桁数だけ順次求められる。
【0024】
【実施例】
A.乗算回路: (A−0)基本的思想:この発明の詳細な説明を行う前
に、その基本的な考え方について説明しておく。4ビッ
トの整数同士の乗算において、その結果を丸めた上位5
ビットが得たい場合を考える。これは上位から6ビット
目(22 の位)の値が“0”であれば乗算結果はそのま
まとし、“1”であれば乗算結果の上位から5ビット目
(23 の位)の値に“1”を加えればよい。従来の技術
においてはこのような演算を、乗算結果の全体が全て求
まってから行っていた。
【0025】しかし、この発明では、乗算結果の全体を
求める工程は、部分積を求める工程と、部分積を加算す
る工程に大別できることに着目し、乗算結果の全体を求
める前に丸める演算を行う。
【0026】上記の例で示された丸める演算に則して考
えると、「上位から6ビット目(2の位)の値が“0”
であれば乗算結果はそのままとし、“1”であれば乗算
結果の上位から5ビット目(23 の位)の値に“1”を
加える」という演算は、「乗算結果の上位から6ビット
目(22 の位)の値に“1”を加える」という演算と等
価である。つまりバイナリ形式において(被乗数)×
(乗数)+100を計算し、22 の位以下を切捨てれ
ば、上位から6ビット目(22 の位)で丸めた結果が得
られる。この新たに6ビット目に加える“1”を以下
「補助数」と呼ぶ。
【0027】つまり、「丸めるべき特定の位に於いて丸
め、特定の位よりも低くない位の値を得る」という演算
は、「特定の位よりも一つ低い位に補助数を加える」と
いう演算と等価となる。一方、加算演算においてはその
順序を入れ換えても結果は変わらないため、補助数を加
える工程を部分積を加算する工程の途中に加えても問題
とはならない。
【0028】この発明はこのような点に着目してなされ
たものであり、補助数を加える機能を担う専用のハーフ
アダーを、特定の位よりも一つ低い位を求める位置に備
えたものである。
【0029】(A−1)第1実施例:図1及び図2は、
いずれもこの発明にかかる乗算回路101の構成の一部
を示す回路図であり、両図を併せて乗算回路101の構
成が示される。
【0030】乗算回路101には、共にバイナリ形式の
4ビットで表される被乗数1a(=A3 2
1 0 )、乗数1b(=B3 2 1 0 )が入力され
る。そして上位から6ビット目で丸めたバイナリ形式の
5ビットで表される乗算結果2(=P7 6 5 4
3 )が得られる。
【0031】乗算回路101はキャリセーブ方式の乗算
部31を備えており、これは被乗数1aと乗数1bを受
けて直接に、即ち別途丸め回路を介することなく、上位
から6ビット目を丸めた乗算結果2を得ることができ
る。
【0032】乗算部31は、部分積生成部31aと加算
処理部31bとから構成されている。部分積生成部31
aは、被乗数1a及び乗数1bから部分積群6(部分積
ij(0≦i,j≦3)から構成される)を生成するも
のであり、従来の技術で示された部分積生成部30aと
同一の構成を有している。部分積生成部31aは16
(=4×4)個のANDゲートから構成されており、部
分積群6はこれらのANDゲートの出力として得られ
る。例えば、部分積C30は、被乗数1aの最上位ビット
3 と乗数1bの最下位ビットB0 の積を表している。
【0033】部分積群6が入力される加算処理部31b
は、破線のグリッドで示されるようにして位合わせ及び
加算処理の段階が揃えられる。以下、上段から数えた段
数で加算処理の段数を示すことにする。第1段において
は、丸で囲まれた記号“h”で示されるハーフアダー7
a,7cと、丸で囲まれた記号“h+ ”で示される丸め
処理用ハーフアダー13が設けられている。第2段にお
いては丸で囲まれた記号“f”で示されるフルアダー8
a,8b,8cが、また第3段においてはフルアダー8
d,8e,8fが、そして最終段たる第4段においては
3ビット先見桁上げ加算器9が、それぞれ設けられてい
る。
【0034】まず第1段において、部分積C00(=A0
0 )は何ら演算を受けることはない。ハーフアダー7
cには部分積C10(=A1 0 ),C01(=A0 1
が与えられ、両者の和が2ビットで求められる。その出
力の桁上げ(上位ビットの方)は第2段のフルアダー8
cに与えられる。丸め処理用ハーフアダー13には、部
分積C11(=A1 1 ),C20(=A2 0 )が与えら
れ、両者の和にさらに1を加えて2ビットで出力する。
その出力の上位ビットは第2段のフルアダー8bに与え
られ、下位ビットは第2段のフルアダー8cに与えられ
る。ハーフアダー7aには部分積C21(=A2 1 ),
30(=A3 0 )が与えられ、両者の和の上位ビット
及び下位ビットは、それぞれ第2段のフルアダー8a,
8bに与えられる。
【0035】第2段において、フルアダー8aには更に
部分積C22(=A2 2 ),C31(=A3 1 )が、フ
ルアダー8bには更に部分積C12(=A1 2 )が、フ
ルアダー8cには更に部分積C02(=A0 2 )が、そ
れぞれ入力される。そして各フルアダーにおいて3入力
の加算が行われる。同様にして、第3段においては、フ
ルアダー8dは部分積C23(=A2 3 ),C32(=A
3 2 )及びフルアダー8aの上位ビットを受けて2ビ
ットの値を出力する。フルアダー8eは部分積C13(=
1 3 )並びにフルアダー8aの出力の下位ビット及
びフルアダー8bの出力の上位ビットを受けて2ビット
の値を出力する。フルアダー8fは部分積C03(=A0
3 )並びにフルアダー8bの出力の下位ビット及びフ
ルアダー8cの出力の上位ビットを受けて2ビットの値
を出力する。
【0036】第4段においては、部分積C33(=A3
3 )及びフルアダー8dの出力の上位ビット、フルアダ
ー8dの出力の下位ビット及びフルアダー8eの出力の
上位ビット、フルアダー8eの出力の下位ビット及びフ
ルアダー8fの出力の上位ビット、のそれぞれが、一つ
の桁に揃って3ビット先見桁上げ加算器9に入力され
る。
【0037】フルアダー8fの出力の下位ビットはその
まま乗算結果2の最下位ビットP3となる。そして乗算
結果2の他の上位ビット(P7 6 5 4 )は、3ビ
ット先見桁上げ加算器9から出力される。
【0038】丸め処理用ハーフアダー13は、上位から
6ビット目の計算をすべき位置、即ち図22で示された
従来の技術の加算処理部30bにおいて、ハーフアダー
7bが占めるべき位置に設けられているので、上位から
6ビット目に補助数“1”が加算されることになる。従
って、「(A−0)基本的思想」で説明したように、上
位から6ビット目でまるめられて得られた上位1乃至5
ビットから構成される乗算結果2が、乗算回路101か
ら得られることになる。しかも第1実施例ではキャリー
セーブ方式を用いているので、桁上げの伝搬経路が短
く、高速の動作が行われる。
【0039】図3は、ハーフアダー7aで代表される、
加算処理部31bの各ハーフアダーの構成を示す回路図
である。また、図4は、丸め処理用ハーフアダー13の
構成を示す回路図である。両図において入力K,Lは図
2の部分積に対応する。また、出力C,Sはそれぞれハ
ーフアダー7a若しくは丸め処理用ハーフアダー13の
出力の上位ビット、下位ビットに相当する。出力Cは桁
上げにも相当する。ハーフアダー7aにおいてANDゲ
ート14、EXORゲート15はいずれも入力K,Lを
受け、そして前者が出力Cを、後者が出力Sを、それぞ
れ与える。それぞれ1ビットの“K”,“L”の和が2
ビットの“CS”として求められる。
【0040】一方、丸め処理用ハーフアダー13におい
てORゲート16、EXNORゲート17はいずれも入
力K,Lを受け、そして前者が出力Cを、後者が出力S
を、それぞれ与える。但し、“K”,“L”及び補助数
“1”の和が2ビットの“CS”として求められる。
【0041】図5はハーフアダー7aを構成するAND
ゲート14の詳細な構成を示す回路図であり、図6は丸
め処理用ハーフアダー13を構成するORゲート16の
詳細な構成を示す回路図である。両図を比較して分かる
ように、両ゲート14,16が要求するトランジスタの
数は等しく6個である。図7はハーフアダー7aを構成
するEXORゲート15の詳細な構成を示す回路図であ
り、図8は丸め処理用ハーフアダー13を構成するEX
NORゲート17の詳細な構成を示す回路図である。両
図を比較して分かるように、両ゲート15,17が要求
するトランジスタの数は等しく10個である。これらの
ことを、図3、図4で示された構成と考え合わせると、
両ハーフアダー7a,13の回路規模は同等であること
がわかる。従って乗算回路101の加算処理部31b
は、従来の加算処理部30bと同等の回路規模で実現で
きることがわかる。
【0042】一方、乗算回路101は丸め回路5を必要
としないので、従来の乗算回路100よりも小さな回路
規模で構成できることがわかる。かかる回路規模の縮小
は高速な動作の実現をも可能にする。
【0043】(A−2)第2実施例:第2実施例はWa
llace Treeを用いた乗算方法にこの発明を適
用したものである。図9は、加算処理部31cの構成を
示す回路図である。加算処理部31cは、図1に示す部
分積生成部31aとともに乗算部32を構成する。乗算
部32においてWallace Treeによる乗算器
が構成される。
【0044】即ち部分積群6が入力される加算処理部3
1cは、第1段においてハーフアダー7a、フルアダー
8a,8b,8c、ハーフアダー7bがこの順に設けら
れている。第2段においてはハーフアダー7c,7d,
7e、フルアダー8d、丸め処理用ハーフアダー13が
この順に設けられている。そして第3段においてはオア
ゲート9bと4ビット先見桁上げ加算器9aがこの順に
設けられている。
【0045】まず第1段において、部分積C00は何ら演
算を受けることはない。ハーフアダー7aには部分積C
23,C32が、フルアダー8aには部分積C13,C22,C
31が、フルアダー8bには部分積C12,C21,C30が、
フルアダー8cには部分積C02,C11,C20が、ハーフ
アダー7bには部分積C01,C10が、それぞれ与えられ
て和が2ビットで求められる。
【0046】第2段において、ハーフアダー7cには部
分積C33及びハーフアダー7aの出力の上位ビットが、
ハーフアダー7dにはハーフアダー7aの出力の下位ビ
ット及びフルアダー8aの出力の上位ビットが、ハーフ
アダー7eにはフルアダー8aの出力の下位ビット及び
フルアダー8bの出力の上位ビットが、フルアダー8d
には部分積C03、並びにフルアダー8bの出力の下位ビ
ット及びフルアダー8cの出力の上位ビットが、そして
丸め処理用ハーフアダー13にはフルアダー8cの出力
の下位ビット及びハーフアダー7bの出力の上位ビット
が、それぞれ与えられて和が2ビットで求められる。
【0047】第3段において、ハーフアダー7cの出力
の下位ビット及びハーフアダー7dの出力の上位ビッ
ト、ハーフアダー7dの出力の下位ビット及びハーフア
ダー7eの出力の上位ビット、ハーフアダー7eの出力
の下位ビット及びフルアダー8dの出力の上位ビット、
フルアダー8dの出力の下位ビット及び丸め処理用ハー
フアダー13の出力の上位ビット、のそれぞれが、一つ
の桁に揃って4ビット先見桁上げ加算器9aに入力され
る。オアゲート9bにおいて先見桁上げ加算器9aの桁
上げ出力(最上位ビット)とハーフアダー7cの出力の
上位ビットとの論理和が取られ、乗算結果2の最上位ビ
ットP7 が出力される。先見桁上げ加算器9aからは乗
算結果2の他の上位ビット(P6 5 4 3 )が出力
される。
【0048】丸め処理用ハーフアダー13は、上位から
6ビット目の計算をすべき位置に設けられているので、
上位から6ビット目に補助数が加算されることになり、
Wallace Treeを用いた乗算方法においても
この発明の効果が得られることがわかる。即ち別途丸め
回路を介することなく、上位から6ビット目を丸めた乗
算結果2を得ることができ、しかも加算処理部31cの
段数は第1実施例における加算処理部31bよりも低減
することができる。
【0049】(A−3)第3実施例:第3実施例はBo
othのアルゴリズムを用いた乗算方法にこの発明を適
用したものである。図10は、この発明にかかる乗算回
路102の構成を示す回路図である。乗算回路101に
は、共に8ビットで表され、2の補数表示による負数で
ある被乗数X7 〜X0 、乗数Y7 〜Y0 が入力される。
そして別途丸め回路を介することなく、上位から13ビ
ット目で丸めたバイナリ形式の12ビットで表される乗
算結果21(=P15…P5 4 )が得られる。
【0050】乗算回路102はBoothのアルゴリズ
ムを用いた乗算部33を備えており、乗算部33は、部
分積生成部33aと加算処理部33bとから構成されて
いる。
【0051】部分積生成部33aは、被乗数X7 〜X0
及び乗数Y7 〜Y0 から4つの部分積を生成するもので
ある。部分積生成部33aは4種のBooth部分積生
成回路331〜334を備えている。Booth部分積
生成回路331は被乗数X7〜X0 及び乗数の最下位2
ビットY1 0 から16ビットの部分積を生成する。B
ooth部分積生成回路332は被乗数X7 〜X0 及び
乗数の上位から5,6,7番目の3ビットY3 2 1
から14ビットの部分積を生成する。Booth部分積
生成回路333は被乗数X7 〜X0 及び乗数の上位から
3,4,5番目の3ビットY5 4 3 から12ビット
の部分積を生成する。Booth部分積生成回路334
は被乗数X7 〜X0 及び乗数の上位から1,2,3番目
の3ビットY7 6 5 から10ビットの部分積を生成
する。
【0052】これら4種の部分積はその最上位を揃えて
加算処理部33bに入力される。但し、図10において
は煩雑を避けるために各部分積の最上位及び最下位近傍
のビットのみの入力の様子を図示している。
【0053】加算処理部33bは4段から構成されてい
る。第1段においては、ハーフアダー7a〜7l、丸め
処理用ハーフアダー13、ハーフアダー7mがこの順に
上位から設けられている。第2段においてはフルアダー
8a〜8l、ハーフアダー7nがこの順に上位から設け
られている。また第3段においてはフルアダー8m〜8
v及びハーフアダー7o,7pがこの順に上位から設け
られている。そして最終段たる第4段においては11ビ
ット加算器91が設けられている。
【0054】図11は加算処理部33bの構成を図10
よりも詳細に示す回路図である。まず第1段において、
ハーフアダー7a〜7l、丸め処理用ハーフアダー1
3、ハーフアダー7mには、それぞれBooth部分積
生成回路331の上位1ビットから14ビットまで順に
1ビットずつ与えられる。またそれぞれBooth部分
積生成回路332の上位から順に1ビットずつ与えられ
る。
【0055】次に第2段において、フルアダー8a〜8
lに対して、ハーフアダー7aの出力及びハーフアダー
7bの出力の上位ビット並びにBooth部分積生成回
路333の出力の上位から第1番目のビット、ハーフア
ダー7bの出力の下位ビット及びハーフアダー7cの出
力の上位ビット並びにBooth部分積生成回路333
の出力の上位から第2番目のビット、ハーフアダー7c
の出力の下位ビット及びハーフアダー7dの出力の上位
ビット並びにBooth部分積生成回路333の出力の
上位から第3番目のビット、ハーフアダー7dの出力の
下位ビット及びハーフアダー7eの出力の上位ビット並
びにBooth部分積生成回路333の出力の上位から
第4番目のビット、ハーフアダー7eの出力の下位ビッ
ト及びハーフアダー7fの出力の上位ビット並びにBo
oth部分積生成回路333の出力の上位から第5番目
のビット、ハーフアダー7fの出力の下位ビット及びハ
ーフアダー7gの出力の上位ビット並びにBooth部
分積生成回路333の出力の上位から第6番目のビッ
ト、ハーフアダー7gの出力の下位ビット及びハーフア
ダー7hの出力の上位ビット並びにBooth部分積生
成回路333の出力の上位から第7番目のビット、ハー
フアダー7hの出力の下位ビット及びハーフアダー7i
の出力の上位ビット並びにBooth部分積生成回路3
33の出力の上位から第8番目のビット、ハーフアダー
7iの出力の下位ビット及びハーフアダー7jの出力の
上位ビット並びにBooth部分積生成回路333の出
力の上位から第9番目のビット、ハーフアダー7jの出
力の下位ビット及びハーフアダー7kの出力の上位ビッ
ト並びにBooth部分積生成回路333の出力の上位
から第10番目のビット、ハーフアダー7kの出力の下
位ビット及びハーフアダー7lの出力の上位ビット並び
にBooth部分積生成回路333の出力の上位から第
11番目のビット、ハーフアダー7lの出力の下位ビッ
ト及び丸め処理用ハーフアダー13の出力の上位ビット
並びにBooth部分積生成回路333の出力の上位か
ら第12番目のビット、がそれぞれ入力される。そして
ハーフアダー7nには、丸め処理用ハーフアダー13の
出力の下位ビット及びハーフアダー7mの出力の上位ビ
ットが入力される。
【0056】次に第3段において、フルアダー8m〜8
vに対して、フルアダー8aの出力及びフルアダー8b
の出力の上位ビット並びにBooth部分積生成回路3
34の出力の上位から第1番目のビット、フルアダー8
bの出力の下位ビット及びフルアダー8cの出力の上位
ビット並びにBooth部分積生成回路334の出力の
上位から第2番目のビット、フルアダー8cの出力の下
位ビット及びフルアダー8dの出力の上位ビット並びに
Booth部分積生成回路334の出力の上位から第3
番目のビット、フルアダー8dの出力の下位ビット及び
フルアダー8eの出力の上位ビット並びにBooth部
分積生成回路334の出力の上位から第4番目のビッ
ト、フルアダー8eの出力の下位ビット及びフルアダー
8fの出力の上位ビット並びにBooth部分積生成回
路334の出力の上位から第5番目のビット、フルアダ
ー8fの出力の下位ビット及びフルアダー8gの出力の
上位ビット並びにBooth部分積生成回路334の出
力の上位から第6番目のビット、フルアダー8gの出力
の下位ビット及びフルアダー8hの出力の上位ビット並
びにBooth部分積生成回路334の出力の上位から
第7番目のビット、フルアダー8hの出力の下位ビット
及びフルアダー8iの出力の上位ビット並びにBoot
h部分積生成回路334の出力の上位から第8番目のビ
ット、フルアダー8iの出力の下位ビット及びフルアダ
ー8jの出力の上位ビット並びにBooth部分積生成
回路334の出力の上位から第9番目のビット、フルア
ダー8jの出力の下位ビット及びフルアダー8kの出力
の上位ビット並びにBooth部分積生成回路334の
出力の上位から第10番目のビット、がそれぞれ入力さ
れる。そしてハーフアダー7o,7pには、フルアダー
8kの出力の下位ビット及びフルアダー8lの出力の上
位ビット、フルアダー8lの出力の下位ビット及びハー
フアダー7nの出力の上位ビット、がそれぞれ入力され
る。
【0057】第4段において、11ビット加算器91に
は、フルアダー8mの出力及びフルダー8nの出力の上
位ビット、フルアダー8nの出力の下位ビット及びフル
アダー8oの出力の上位ビット、フルアダー8oの出力
の下位ビット及びフルアダー8pの出力の上位ビット、
フルアダー8pの出力の下位ビット及びフルアダー8q
の出力の上位ビット、フルアダー8qの出力の下位ビッ
ト及びフルアダー8rの出力の上位ビット、フルアダー
8rの出力の下位ビット及びフルアダー8sの出力の上
位ビット、フルアダー8sの出力の下位ビット及びフル
アダー8tの出力の上位ビット、フルアダー8tの出力
の下位ビット及びフルアダー8uの出力の上位ビット、
フルアダー8uの出力の下位ビット及びフルアダー8v
の出力の上位ビット、フルアダー8vの出力の下位ビッ
ト及びハーフアダー7oの出力の上位ビット、ハーフア
ダー7oの出力の下位ビット及びハーフアダー7pの出
力の上位ビット、のそれぞれが、一つの桁に揃って入力
される。この結果、加算器91の出力が乗算結果21の
上位ビット(P15〜P5 )を与える。乗算結果21の最
下位ビットP4 はハーフアダー7pの出力の下位ビット
により与えられる。
【0058】丸め処理用ハーフアダー13は、上位から
13ビット目の計算をすべき位置に設けられているの
で、上位から13ビット目に補助数が加算されることに
なり、Boothのアルゴリズムを用いた乗算方法にお
いてもこの発明の効果が得られることがわかる。即ち2
の補数表示による負数を補正することなく、しかも別途
丸め回路を介することなく、上位から13ビット目を丸
めた乗算結果21を得ることができる。
【0059】なお、丸め処理用ハーフアダー13は、上
位から13ビット目の計算をすべき位置に設ければよい
のであるから、加算処理部33bの構成に示されるよう
に第1段目に設ける場合の他、他の段において設けても
よい。図12は、加算処理部33bにおいてハーフアダ
ー7nと丸め処理用ハーフアダー13の位置を入れ換え
た構成を有する加算処理部33cを示す回路図である。
【0060】このような構成を有する加算処理部33c
に部分積生成部33aを伴わせることにより、Boot
hのアルゴリズムを用いた乗算方法にこの発明を適用す
ることもできる。
【0061】B.除算回路: (B−0)基本的思想:この発明の詳細な説明を行う前
に、その基本的な考え方について説明しておく。例えば
8ビットの被除数A(=A7 6 …A0 )を8ビットの
除数B(=B76 …B0 >A)で除算し、丸め処理を
行って1未満の商を得る場合を考える。小数点以下8桁
までの丸めた除算結果を求めるには、A÷Bを求めてこ
れに2-9を加えて小数点以下8桁までの結果を求めれば
良い。即ちQ=A÷B+2-9を小数点以下8桁まで計算
すればよい。
【0062】ところで前式はQ=(A+B×2-9)÷B
と変形することができる。よって新たな被除数として
(A+B×2-9)を導入し、これを除数Bで除算する演
算を行い、Qを小数点以下8桁まで求めれば所望の結果
が得られることになる。
【0063】なお、特にこの場合、Aの最下位ビットは
0 の重み付け(位)を有しているのに対し、B×2-9
の最上位ビットは2-2の重み付けを有している。よって
新たな被除数である(A+B×2-9)の演算結果は、
(A7 6 …A0 0B7 6 …B1 0 )の17ビット
データとなる。これをBで除算し、2-8の位(小数点以
下8桁)まで求めれば良い。これには、先の17ビット
データのうち上位16ビットがあれば充分であり、(A
7 6 …A0 0B7 6 …B1 )を(B7 6 …B0
で除算すれば良い。よって従来のように丸め回路5を新
たに設ける必要はないばかりでなく、商を小数点以下9
桁目まで求める必要がないので、商決定回路を1段省略
することができる。
【0064】(B−1)第4実施例:図13は、この発
明にかかる除算回路201の構成を示す回路図である。
除算回路201は8ビットの被除数Aを8ビットの除数
B(>A)で除算して小数点以下9桁目を丸めて小数点
以下8桁までの商を得る回路であり、1ビットの商決定
部12a〜12hが備えられている。
【0065】まず1ビットの商決定部12aには8ビッ
トの被除数A及び8ビットの除数Bが与えられる。A<
Bであるので必ず小数点以上の値は0となるので、値
“0”をも1ビットの商決定部12aに与える。
【0066】1ビットの商決定部12aにおいて、値
“0”は8ビットの被除数Aの最後尾に付加され、9ビ
ットのデータ(A7 6 …A0 0)が生成される。これ
は「(B−0)基本的思想」で述べた17ビットの新た
な被除数の最上位から9ビットに相当する。1ビットの
商決定部12aにおいては商を1ビットだけ決定すれば
良いので、17ビットの新たな被除数の全部の桁を求め
て除数Bで除算する必要はなく、1ビットの値“0”を
被除数Aの最後尾に付加すればよい。1ビットの商決定
部12aにおいて最上位の商q7 及び8ビットの余りR
8 が求められる。図14は1ビットの商決定部12aに
おける演算を筆算の形式で示した説明図である。
【0067】次に1ビットの商決定部12bには8ビッ
トの余りR8 及び8ビットの除数Bが与えられる。更
に、従来の場合とは異なり値“0”ではなく、新たな被
除数の最上位から10ビット目に相当する、除数Bの最
上位の値B7 が与えられる。1ビットの商決定部12b
において、値B7 は8ビットの余りR8 の最後尾に付加
され、9ビットのデータを生成し、これを除数Bで除算
する。図15は1ビットの商決定部12bにおける演算
を筆算の形式で示した説明図である。これに示されるよ
うに、余りR8 の最後尾に値B7 を付加して除数Bで除
算することは、小数点以下2桁目の1ビットの商を決定
することに関する限り、17ビットの新たな被除数を除
数Bで除算することと等価である。1ビットの商決定部
12bにおいて小数点以下2桁目の1ビットの商q6 及
び8ビットの余りR7 が求められる。
【0068】以下同様にして1ビットの商決定回路12
c〜12hには、それぞれ前段の1ビットの商決定回路
12b〜12gで求められた余りR7 〜R2 が与えられ
る。そしてそれぞれ除数Bと共に除数Bを構成する1ビ
ットB6 〜B1 が与えられ、余りR7 〜R2 のそれぞれ
の最後尾に付加される。そして1ビットの商決定回路1
2c〜12hは1ビットの商q5 〜q0 を出力する。
【0069】このように、各1ビットの商決定回路にお
いて被除数の末尾に除数を構成する1ビットを順に付加
することにより、実質的に17ビットの新たな被除数を
除数Bで除算することになる。従って、「(B−0)基
本的思想」で述べたように、小数点以下9ビット目を丸
めて小数点以下8ビットまでの商を得ることができる。
【0070】なお、8ビットの被除数Aを8ビットの除
数B(>A)で除算して小数点以下8桁目を丸めて小数
点以下7桁までの商を得る場合には、新たな被除数は
(A76 …A0 7 6 …B)の16ビットとなるの
で、1ビットの商決定回路12aは不要である。図16
はかかる場合に用いられる除算回路201aの構成を示
す回路図である。1ビットの商決定回路12bには余り
8 の代わりに被除数Aが与えられる。そして1ビット
の商決定回路12bにおいて、被除数Aの末尾にB7
付加される。その後の演算処理は除算回路201と同様
である。
【0071】また、8ビットの被除数Aを8ビットの除
数B(>A)で除算して小数点以下10桁目を丸めて小
数点以下9桁までの商を得る場合には、新たな被除数は
(A7 6 …A0 00B7 6 …B)の18ビットとな
るので、1ビットの商決定回路12xが更に必要であ
る。図17はかかる場合に用いられる除算回路201b
の構成を示す回路図である。1ビットの商決定回路12
xには被除数A及び除数B並びに一桁の値“0”が与え
られ、9ビットの数(A7 6 …A0 0)を除数Bで除
算して1ビットの商q8 及び8ビットの余りR9 が得ら
れる。そして1ビットの商決定回路12aにおいて、余
りR9 の末尾に一桁の値“0”が付加される。その後の
演算処理は除算回路201と同様である。
【0072】上記の除算回路201,201a,201
bは、従来の除算回路と比較して丸め回路5が不要であ
り、かつ1ビットの商決定回路も1段少なくて済む。し
かも従来の除算回路で用いられていたと同一の構成の1
ビットの商決定回路を用いているので、一段当たりの回
路規模はほぼ同じである。従って、従来の技術に比較し
て回路規模が減少し、かつ高速な処理が可能である。
【0073】(B−2)第5実施例:前記第4実施例で
は、丸めるべき位置が小数点から数えて被除数の桁数
(8桁)以上(小数点以下8,9,10桁目)に存在し
ていた場合について例示された。そのため「新たな被除
数」の計算は比較的単純であった。しかし、丸めるべき
位置が小数点から数えて被除数の桁数(8桁)未満に存
在する場合には1ビットの商決定回路の前に加算器を設
ける必要が有る場合も生じる。この第5実施例はかかる
場合に対応するものである。
【0074】図18は、この発明にかかる除算回路20
2の構成を示す回路図である。除算回路202は8ビッ
トの被除数Aを8ビットの除数B(>A)で除算して小
数点以下5桁目を丸めて小数点以下4桁までの商を得る
回路であり、1ビットの商決定部12b〜12e及び加
算器19が備えられている。
【0075】新たな被除数(A+B×2-5)の演算結果
は、〔A7 ,A6 ,A5 ,A4 ,A3 ,(A2
7 ),(A1 +B6 ),(A0 +B5 ),B4
3 ,B2 ,B1 ,B0 〕の13ビットとなる。そのた
めに加算器19において除数Bの最上位から3桁の値を
被除数Aの最下位の3桁に加える。即ち、加算器19に
は除数A及び除数Bを構成する比較的上位の3桁B7
6 5 が与えられる。
【0076】いま、2進数で表記してA÷B<0.11
111である場合を考える。この場合には求めるべき
(丸められた後の)商22は1未満であり、小数点以上
の桁においてはその値は“0”である。したがって加算
器19の出力R5 は8ビットで表される。出力R5 は新
たな被除数(A+B×2-5)の上位から8桁に相当す
る。
【0077】1ビットの商決定部12bには加算器19
の出力R5 が与えられ、また除数Bも与えられる。そし
て除数Bの上位から4桁目の値B4 も与えられ、加算器
19の出力R5 の最後尾に付加される。1ビットの商決
定部12bでは第4実施例と同様にして除算が行われ
る。図19は1ビットの商決定部12bにおける演算を
筆算の形式で示した説明図である。これに示されるよう
に、出力R5 の最後尾に値B4 を付加して除数Bで除算
することは、小数点以下1桁目の1ビットの商を決定す
ることに関する限り、13ビットの新たな被除数を除数
Bで除算することと等価である。1ビットの商決定部1
2bにおいて小数点以下1桁目の1ビットの商q3 及び
8ビットの余りR4 が求められる。
【0078】以下、第4実施例と同様にして1ビットの
商q2 ,q1 ,q0 が順次求められてゆき、小数点以下
第4位にある商q0 を求めることで所望の商22は得ら
れることになる。
【0079】この第5実施例においても第4実施例と同
様に、新たな被除数の全体を一度に求める演算は不要で
あり、小数点以下において求めるべき桁と同じ数だけの
1ビットの商決定部のみで構成され、丸め回路5が不要
な代わりに加算器19が必要であるので、結局回路構成
は従来の場合と比較して1段少なくなる。よって回路規
模を減少し、高速の処理が可能である。
【0080】なお、2進数で表記してA÷B<0.11
111が満たされない場合においてもこの発明を適用す
ることができる。この場合には求めるべき(丸められた
後の)商22は1以上であり、小数点以上の桁において
はその値は“1”である。したがって加算器19の出力
5 は9ビットで表される。出力R5 は新たな被除数
(A+B×2-5)の上位から9桁に相当する。
【0081】図20は、被除数Aと除数Bとの間にこの
ような関係が生じる可能性がある場合にこの発明を適用
した除算回路203の構成を示す回路図である。除算回
路203は除算回路202の加算器19と1ビットの商
決定部12bとの間に1ビットの商決定部12aを新た
に設けた構成を有している。加算器19は除算回路20
2において機能したのと同様にして、除数Aに除数Bを
構成する比較的上位の3桁B7 6 5 を最下位の桁を
合わせて加算する。そしてその結果、9ビットの出力R
6 を1ビットの商決定部12aに与える。
【0082】1ビットの商決定部12aには除数Bが与
えられ、小数点以上1桁目の商q4が求められる。2進
数で表記してA÷B<0.11111であればq4 は値
0を、それ以外では値1をとる。1ビットの商決定部1
2aは商q4 の他に8ビットの余りR5 を出力する。
【0083】この後の演算処理は除算回路202と同様
であり、小数点以下第5位を丸めて得られる小数点以下
第4位までの商22が得られる。
【0084】除算回路203は従来の技術と同様に、小
数点以下において求めるべき桁の数よりも一つ多い1ビ
ットの商決定部が要求される。また丸め回路5が不要な
代わりに加算器19が必要である。このため、回路規模
を従来よりも大きく低減することはできない。しかし、
従来の場合には、小数点以下所望の桁よりも一つ低い桁
まで一旦求めてから最終的に得たい商が求められるのに
対し、除算回路203は既に丸めた後の結果を最上位か
ら順に得ることができる。これは最終的に得たい結果が
部分的にであれ、最も重要な情報を有する最上位の桁か
ら得られるという点で有利である。
【0085】なお、上記の実施例においては値が全て2
進数で表記される場合について示したが、この発明は2
進数の乗算、除算にのみ適用できるのではなく、一般的
にD進数(Dは2以上の整数)の乗算、除算にも適用で
きる。この場合、乗算回路における補助数は、Dの半分
以上の数であって、かつ最小の値を選ぶことができる。
【0086】
【発明の効果】以上のように、この発明によれば、除
回路における丸め処理を、除算処理中に取り入れたの
で、別途丸め処理用の回路を設ける必要がなく、演算の
処理段数が減り、回路規模が小さく、かつ演算処理が速
くなるという効果がある。
【0087】
【0088】
【0089】
【0090】特に除算回路の第1及び第2の態様では、
それぞれK=N−1、K>N−1の場合に適している。
【0091】また除算回路の第3及び第4の態様は、い
ずれもK<N−1の場合に適しているが、特に前者は丸
められた商が1未満であることがわかっている場合に、
後者は丸められた商が1未満であるか否かが不明である
場合に、それぞれ適している。
【図面の簡単な説明】
【図1】この発明の第1実施例を説明する回路図であ
る。
【図2】この発明の第1実施例を説明する回路図であ
る。
【図3】この発明の第1実施例を説明する回路図であ
る。
【図4】この発明の第1実施例を説明する回路図であ
る。
【図5】この発明の第1実施例を説明する回路図であ
る。
【図6】この発明の第1実施例を説明する回路図であ
る。
【図7】この発明の第1実施例を説明する回路図であ
る。
【図8】この発明の第1実施例を説明する回路図であ
る。
【図9】この発明の第2実施例を説明する回路図であ
る。
【図10】この発明の第3実施例を説明する回路図であ
る。
【図11】この発明の第3実施例を説明する回路図であ
る。
【図12】この発明の第3実施例を説明する回路図であ
る。
【図13】この発明の第4実施例を説明する回路図であ
る。
【図14】この発明の第4実施例を説明する説明図であ
る。
【図15】この発明の第4実施例を説明する説明図であ
る。
【図16】この発明の第4実施例を説明する回路図であ
る。
【図17】この発明の第4実施例を説明する回路図であ
る。
【図18】この発明の第5実施例を説明する回路図であ
る。
【図19】この発明の第5実施例を説明する説明図であ
る。
【図20】この発明の第5実施例を説明する回路図であ
る。
【図21】従来の技術を説明する回路図である。
【図22】従来の技術を説明する回路図である。
【図23】従来の技術を説明する回路図である。
【図24】従来の技術を説明する回路図である。
【符号の説明】
101,102 乗算回路 201,201a,201b,202,203 除算回
路 1a,X7 〜X0 被乗数 1b,Y7 〜Y0 乗数 A 被除数 B 除数 31a,33a 部分積生成部 31b,33b,33c 加算処理部 331〜334 Booth部分積生成回路 6 部分積群 Cij(0≦i,j≦3) 部分積 7a〜7p 半加算器 8a〜8v 全加算器 13 丸め処理用ハーフアダー
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/38 G06F 7/52

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 D進数においてM桁で表される被除数A
    (=A (M-1) …A 1 0 )を、D進数においてN桁で表
    されて前記被除数Aよりも大きな除数B(=B (N-1)
    1 0 )で除算し、小数点以下(K+1)桁目を丸め
    て得られる小数点以下K桁までの商を求める除算回路で
    あって、 (x−1)前記被除数Aと、前記除数Bの少なくとも上
    位から(2N−M−1)桁とを、前記除数Bの最上位の
    桁をD (N-K-2) の位に、前記被除数Aの最下位の桁をD
    0 の位に、それぞれ揃えつつ加算して新たな被除数Cを
    得る加算手段と、 (x−2)前記新たな被除数Cを前記除数Bで除算して
    小数点以下K桁までの商を求める除算処理手段と、 を備える除算回路。
  2. 【請求項2】 D進数においてM桁で表される被除数A
    (=A (M-1) …A 1 0 )を、D進数においてN桁で表
    されて前記被除数Aよりも大きな除数B(=B (N-1)
    1 0 )で除算する除算回路であって、 (a−1)第1入力端と、前記除数Bを入力する第2入
    力端と、第3入力端と、第1及び第2の出力端と、を有
    し、前記第1入力端に与えられた値の末尾に前記第3入
    力端に与えられた値を付加して得られる数を得て、これ
    を前記除数Bで除すことによって得られる1桁の第i
    (1≦i≦(2N−M−2))の商及び第iの余りR i
    とをそれぞれ前記第1及び第2の出力端に出力する第i
    の商決定部と、 (a−2)第1入力端と、前記除数Bを入力する第2入
    力端と、第3入力端と、出力端と、を有し、前記第1入
    力端に与えられた値の末尾に前記第3入力端に与えられ
    た値を付加して得られる数を得て、これを前記除数Bで
    除すことによって得られる1桁の第(2N−M−1)の
    商を前記出力端に出力する第(2N−M−1)の商決定
    部と、 を備え、 (b−1)前記第1の商決定部の前記第1入力端には前
    記被除数Aが与えられ、 (b−2)前記第j(2≦j≦(2N−M−1))の商
    決定部の前記第1入力端には前記第(j−1)の余りR
    (j-1) が与えられ、 (c−1)前記第iの商決定部の前記第3入力端には前
    記除数Bの上位からi番目の桁の値B (N-i) が与えら
    れ、 (c−2)前記第(2N−M−1)の商決定部の前記第
    3入力端には前記除数Bの上位から(2N−M−1)番
    目の桁の値B (M-N+1) が与えられる、 除算回路。
  3. 【請求項3】 D進数においてM桁で表される被除数A
    (=A (M-1) …A 1 0 )を、D進数においてN桁で表
    されて前記被除数Aよりも大きな除数B(=B (N-1)
    1 0 )で除算する除算回路であって、 (a−1)第1入力端と、前記除数Bを入力する第2入
    力端と、第3入力端と、第1及び第2の出力端と、を有
    し、前記第1入力端に与えられた値の末尾に前記第3入
    力端に与えられた値を付加して得られる数を得て、これ
    を前記除数Bで除すことによって得られる1桁の第i
    (1≦i≦(N−M+K−1),K>(N−1))の商
    及び第iの余りR i とをそれぞれ前記第1及び第2の出
    力端に出力する第iの商決定部と、 (a−2)第1入力端と、前記除数Bを入力する第2入
    力端と、第3入力端と、出力端と、を有し、前記第1入
    力端に与えられた値の末尾に前記第3入力端に与えられ
    た値を付加して得られる数を得て、これを前記除数Bで
    除すことによって得られる1桁の第(N−M+K)の商
    を前記出力端に出力する第(N−M+K)の商決定部
    と、 を備え、 (b−1)前記第1の商決定部の前記第1入力端には前
    記被除数Aが与えられ、 (b−2)前記第j(2≦j≦(N−M+K))の商決
    定部の前記第1入力端には前記第(j−1)の余りR
    (j-1) が与えられ、 (c−1)前記第k(1≦k≦(K−N+1))の商決
    定部の前記第3入力端には値“0”を入力し、 (c−2)前記第m((K−N+2)≦m≦(N−M+
    K−1))の商決定部 の前記第3入力端には前記除数B
    の上位から(m−(K−N+1))番目の桁の値B
    (N-(m-K-N+1)) が与えられ、 (c−3)前記第(N−M+K)の商決定部の前記第3
    入力端には前記除数Bの上位から(2N−M−1)番目
    の桁の値B (M-N+1) が与えられる、 除算回路。
  4. 【請求項4】 D進数においてM桁で表される被除数A
    (=A (M-1) …A 1 0 )を、D進数においてN桁で表
    されて前記被除数Aよりも大きな除数B(=B (N-1)
    1 0 )で除算する除算回路であって、 (a)前記被除数Aを入力する第1入力端と、前記除数
    Bの最上位の桁から(N−1−K)番目(K<N−1)
    の桁までの値B (N-1) (N-2) …B k (K+1) を入力す
    る第2入力端と、前記第1及び第2の入力端に与えられ
    た値のそれぞれの最下位の桁を揃えて加算した加算結果
    を出力する出力端を有する加算器と、 (b−1)第1入力端と、前記除数Bを入力する第2入
    力端と、第3入力端と、第1及び第2の出力端と、を有
    し、前記第1入力端に与えられた値の末尾に前記第3入
    力端に与えられた値を付加して得られる数を得て、これ
    を前記除数Bで除すことによって得られる1桁の第i
    (1≦i≦(N−M+K−1))の商及び第iの余りR
    i とをそれぞれ前記第1及び第2の出力端に出力する第
    iの商決定部と、 (b−2)第1入力端と、前記除数Bを入力する第2入
    力端と、第3入力端と、出力端と、を有し、前記第1入
    力端に与えられた値の末尾に前記第3入力端に与えられ
    た値を付加して得られる数を得て、これを前記除数Bで
    除すことによって得られる1桁の第(N−M+K)の商
    を前記出力端に出力する第(N−M+K)の商決定部
    と、 を備え、 (c−1)前記第1の商決定部の前記第1入力端には前
    記加算結果が与えられ、 (c−2)前記第j(2≦j≦(N−M+K))の商決
    定部の前記第1入力端には前記第(j−1)の余りR
    (j-1) が与えられ、 (d−1)前記第iの商決定部の前記第3入力端には前
    記除数Bの上位から( i+(N−1−K))番目の桁の
    値B (K-i+1) が与えられ、 (d−2)前記第(N−M+K)の商決定部の前記第3
    入力端には前記除数Bの上位から(2N−M−1)番目
    の桁の値B (M-N+1) が与えられる、 除算回路。
  5. 【請求項5】 D進数においてM桁で表される被除数A
    (=A (M-1) …A 1 0 )を、D進数においてN桁で表
    されて前記被除数Aよりも大きな除数B(=B (N-1)
    1 0 )で除算する除算回路であって、 (a)前記被除数Aを入力する第1入力端と、前記除数
    Bの最上位の桁から(N−1−K)番目の桁までの値B
    (N-1) (N-2) …B k (K+1) を入力する第2入力端
    と、前記第1及び第2の入力端に与えられた値のそれぞ
    れの最下位の桁を揃えて加算した加算結果を出力する出
    力端を有する加算器と、 (b−1)前記加算結果が入力される第1入力端と、前
    記除数Bを入力する第2入力端と、前記加算結果を前記
    除数Bで除すことによって得られる1桁の第1の商及び
    M桁の第1の余りR1とをそれぞれ出力する第1及び第
    2の出力端と、を有する第1の商決定部と、 (b−2)第1入力端と、前記除数Bを入力する第2入
    力端と、第3入力端と、第1及び第2の出力端と、を有
    し、前記第1入力端に与えられた値の末尾に前記第3入
    力端に与えられた値を付加して(M+1)桁で表される
    数を得て、これを前記除数Bで除すことによって得られ
    る1桁の第i(2≦i≦(N−M+K))の商及びM桁
    の第iの余りR i とをそれぞれ前記第1及び第2の出力
    端に出力する第iの商決定部と、 (b−3)第1入力端と、前記除数Bを入力する第2入
    力端と、第3入力端と、出力端と、を有し、前記第1入
    力端に与えられた値の末尾に前記第3入力端に与えられ
    た値を付加して(M+1)桁で表される数を得て、これ
    を前記除数Bで除すことによって得られる1桁の第(N
    −M+K+1)の商を前記出力端に出力する第(N−M
    +K+1)の商決定部と、 を備え、 (c−1)前記第iの商決定部の前記第1入力端には前
    記第(i−1)の余りR (i-1) が与えられ、 (c−2)前記第(N−M+K+1)の商決定部の前記
    第1入力端には前記第(N−M+K)の余りR (N-M+K)
    が与えられ、 (d−1)前記第iの商決定部の前記第3入力端には前
    記除数Bの上位から(i+(N−2−K))番目の桁の
    値B (K-i+2) が与えられ、 (d−2)前記第(N−M+K+1)の商決定部の前記
    第3入力端には前記除数Bの上位から(2N−M−1)
    番目の桁の値B (M-N+1) が与えられる、除算回路。
JP06183293A 1993-03-22 1993-03-22 除算回路 Expired - Fee Related JP3276444B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP06183293A JP3276444B2 (ja) 1993-03-22 1993-03-22 除算回路
US08/212,926 US5444647A (en) 1993-03-22 1994-03-15 Multiplier circuit and division circuit with a round-off function
CA002205525A CA2205525C (en) 1993-03-22 1994-03-17 Multiplier circuit and division circuit
CA002119283A CA2119283C (en) 1993-03-22 1994-03-17 Multiplier circuit and division circuit
DE4447781A DE4447781B4 (de) 1993-03-22 1994-03-22 Divisionsschaltung
DE4409834A DE4409834C2 (de) 1993-03-22 1994-03-22 Multiplizierschaltung
FR9403346A FR2703166B1 (fr) 1993-03-22 1994-03-22 Circuit multiplieur et circuit diviseur pour opérandes numériques.
US08/433,013 US5619440A (en) 1993-03-22 1995-05-03 Multiplier circuit with rounding-off function
FR9600330A FR2727777B1 (fr) 1993-03-22 1996-01-12 Circuit multiplieur et circuit diviseur pour operandes numeriques

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06183293A JP3276444B2 (ja) 1993-03-22 1993-03-22 除算回路

Publications (2)

Publication Number Publication Date
JPH06274317A JPH06274317A (ja) 1994-09-30
JP3276444B2 true JP3276444B2 (ja) 2002-04-22

Family

ID=13182470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06183293A Expired - Fee Related JP3276444B2 (ja) 1993-03-22 1993-03-22 除算回路

Country Status (5)

Country Link
US (2) US5444647A (ja)
JP (1) JP3276444B2 (ja)
CA (1) CA2119283C (ja)
DE (1) DE4409834C2 (ja)
FR (2) FR2703166B1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0175974B1 (ko) * 1995-07-04 1999-05-15 김은영 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조
US5726927A (en) * 1995-09-11 1998-03-10 Digital Equipment Corporation Multiply pipe round adder
US5729485A (en) * 1995-09-11 1998-03-17 Digital Equipment Corporation Fast determination of carry inputs from lower order product for radix-8 odd/even multiplier array
JP3652447B2 (ja) * 1996-07-24 2005-05-25 株式会社ルネサステクノロジ ツリー回路
JPH10133856A (ja) * 1996-10-31 1998-05-22 Nec Corp 丸め機能付き乗算方法及び乗算器
JP3019796B2 (ja) * 1997-01-10 2000-03-13 日本電気株式会社 乗算器
US6434587B1 (en) 1999-06-14 2002-08-13 Intel Corporation Fast 16-B early termination implementation for 32-B multiply-accumulate unit
DE10201442C1 (de) * 2002-01-16 2003-07-31 Infineon Technologies Ag Vorrichtung und Verfahren zum Multiplizieren oder Dividieren eines ersten Operanden mit bzw. durch einen zweiten Operanden
DE10201449C1 (de) 2002-01-16 2003-08-14 Infineon Technologies Ag Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor
US7769797B2 (en) 2004-01-20 2010-08-03 Samsung Electronics Co., Ltd. Apparatus and method of multiplication using a plurality of identical partial multiplication modules
US8442217B2 (en) * 2008-11-17 2013-05-14 Intel Corporation Method of implementing one way hash functions and apparatus therefor
US8615540B2 (en) 2009-07-24 2013-12-24 Honeywell International Inc. Arithmetic logic unit for use within a flight control system
US9262123B2 (en) * 2013-07-31 2016-02-16 Arm Limited Data processing apparatus and method for performing a narrowing-and-rounding arithmetic operation
CN113630236A (zh) * 2021-07-21 2021-11-09 浪潮电子信息产业股份有限公司 一种sm3的数据加密方法及相关装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3623012A (en) * 1969-06-30 1971-11-23 Ibm Accounting system with program by example facilities
US3803393A (en) * 1969-07-01 1974-04-09 Nasa Asynchronous binary array divider
US3885141A (en) * 1974-02-06 1975-05-20 Bell Telephone Labor Inc Modular pipeline multiplier to generate a rounded product
US4153938A (en) * 1977-08-18 1979-05-08 Monolithic Memories Inc. High speed combinatorial digital multiplier
JPS5938850A (ja) * 1982-08-27 1984-03-02 Toshiba Corp 割算回路
US4648058A (en) * 1984-04-03 1987-03-03 Trw Inc. Look-ahead rounding circuit
JP2585649B2 (ja) * 1987-11-30 1997-02-26 インデータシステムズ株式会社 除算回路
JP2672956B2 (ja) * 1988-01-25 1997-11-05 沖電気工業株式会社 並列乗算器
JPH0776914B2 (ja) * 1988-10-18 1995-08-16 三菱電機株式会社 乗算回路

Also Published As

Publication number Publication date
US5619440A (en) 1997-04-08
FR2703166A1 (fr) 1994-09-30
CA2119283A1 (en) 1994-09-23
DE4409834A1 (de) 1994-09-29
FR2727777B1 (fr) 1997-06-13
DE4409834C2 (de) 1998-09-10
FR2727777A1 (fr) 1996-06-07
CA2119283C (en) 1998-06-30
JPH06274317A (ja) 1994-09-30
US5444647A (en) 1995-08-22
FR2703166B1 (fr) 1997-06-13

Similar Documents

Publication Publication Date Title
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
KR100264961B1 (ko) 비트 길이가 다른 다중수를 지원하는 병렬 승산기
Garner Number systems and arithmetic
JP3276444B2 (ja) 除算回路
US5280439A (en) Apparatus for determining booth recoder input control signals
JP2000259394A (ja) 浮動小数点乗算器
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JP3139466B2 (ja) 乗算器及び積和演算器
JPH05216627A (ja) 乗算器および乗算方法
JPH0773227A (ja) 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器
US20020026465A1 (en) Parallel counter and a multiplication logic circuit
US5784307A (en) Division algorithm for floating point or integer numbers
JP4273071B2 (ja) 除算・開平演算器
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
EP0428942A2 (en) Plural-bit recoding multiplier
Kaivani et al. Improving the speed of decimal division
JPH04355827A (ja) 開平演算装置
JP2857505B2 (ja) 除算装置
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
US6151617A (en) Multiplier circuit for multiplication operation between binary and twos complement numbers
JPS58137045A (ja) 並列乗算器
JP3453618B2 (ja) 根の多項近似式を利用した割り算と平方根の為のプロセッサー
Jaberipur et al. A Parallel Prefix Modulo-(2 q+ 2 q− 1+ 1) Adder via Diminished-1 Representation of Residues
JP3190826B2 (ja) 積和演算装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080208

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090208

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090208

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100208

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees