JP3127654B2 - 乗除算器 - Google Patents

乗除算器

Info

Publication number
JP3127654B2
JP3127654B2 JP05051770A JP5177093A JP3127654B2 JP 3127654 B2 JP3127654 B2 JP 3127654B2 JP 05051770 A JP05051770 A JP 05051770A JP 5177093 A JP5177093 A JP 5177093A JP 3127654 B2 JP3127654 B2 JP 3127654B2
Authority
JP
Japan
Prior art keywords
bit
data
divider
output
multiplier
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
JP05051770A
Other languages
English (en)
Other versions
JPH06266536A (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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP05051770A priority Critical patent/JP3127654B2/ja
Publication of JPH06266536A publication Critical patent/JPH06266536A/ja
Priority to US08/749,210 priority patent/US5787031A/en
Application granted granted Critical
Publication of JP3127654B2 publication Critical patent/JP3127654B2/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
    • 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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,乗算,除算器を一体に
した乗除算器に関する。
【0002】
【従来の技術】従来、乗算演算と除算演算は別個の回路
で演算する場合が多い。それは除算は比較,判断をしな
がら演算を進める必要があるという点で乗算に比べ複雑
であり、除算演算と乗算演算を同一回路で実現すると回
路規模が大きくなり、回路レイアウトが複雑になる等の
困難が伴った。例えば、特開昭57−31042号公報
に開示されている乗除算器の単位回路は70個のトラン
ジスタで構成され、これが部分積の数だけ必要とするの
で、他の周辺回路と合わせると16×16ビットで20
000トランジスタ数を越え回路規模が大きくなる。
又、特開昭61−26137号公報で開示されている乗
除算器は除算アルゴリズムに引放し除算法を用いている
ため計算量が多く、演算に時間を要す。しかし演算速度
のために除算器を別に設けるのはレイアウト面積が増大
し汎用プロセッサには不向きとなる。
【0003】
【発明が解決しようとする課題】本案はこのような事情
を考慮してなされたもので、その目的とするところは、
乗算回路の一部を共有して除算機能を実現することで、
回路規模を小さくし、高速演算可能な乗除算器を提供す
ることにある。
【0004】
【課題を解決するための手段】そこで、本発明は、乗
算、除算に応じた制御信号(CNTL)と、第1データ
(a0)と第2データ(a1)の論理積演算を行う論理
回路(6)と、上記論理回路(6)の出力あるいは第1
データ(a1)のいずれかを制御信号にて選択する第1
選択器(5−0)と、第3データ(b1)あるいは第4
データ2(b0)を制御信号にて選択する第2選択器
(5−1)と、上記の第1選択器(5−0)が送出する
データと、第2選択器(5−1)が送出するデータと、
キャリー入力データ(ci)とが供給され、これらのデ
ータの加算演算を行い、加算結果データと次段へのキャ
リー出力信号(co)を送出する加算器(4)と、上記
加算器(4)からの加算結果データあるいは第4データ
(b0)のいずれかを選択信号にて選択する第3選択器
(5−2)と、を有する1ビット乗除算部(1)を入力
されるデータの構成ビット数に相当して複数行,複数列
備え、各行の1ビット乗除算器(1)のキャリー出力信
号と前記制御信号の論理和回路を各行の前記第3選択器
(5−2)の選択信号として供給することを特徴とす
る。
【0005】
【作用】以上の構成に示すように、乗算、除算に対応す
る制御信号に基づいて、1ビット乗除算器の第1、第2
選択器からの信号が選択されて、全加算器に出力され
る。よって、乗算、除算時に必要となる全加算器を共通
に構成するとともに、その入力を制御信号により選択し
て、1ビット乗除算器を乗算器、除算器として機能させ
ることができる。
【0006】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1は本発明の構成例であり4ビット乗除算器の
場合を示す。
【0007】図1は、4行4列の16個の1ビット乗除
算器1−0,1−1,1−2,・・・1−14,1−1
5と、4個の制御回路2−0,・・2−3と、補数計算
器3−0から主に構成される。
【0008】補数計算器3−0は、制御信号CNTLに
より切り換えられ、CNTL信号が“1”(乗算)の時
は入力データをそのまま出力し、“0”(除算)の時
は、入力データの「2の補数」をとって出力する。な
お、「2の補数」とは、入力信号を反転し最下位ビット
に“1”を加算した値のことをいう。
【0009】補数計算器3−0の入力端子には、上位ビ
ットより除数または乗数a[n](n=3,2,1,
0)が入力され、右列の4つの1ビット乗除算器1−
0,1−4,1−8,1−12の右端第4入力(b0)
には被除数C[n](n=3,2,1,0)または、被
乗数b[n](n=0,1,2,3)がそれぞれ入力さ
れる。また被除数C[n](n=3,2,1,0)また
は、被乗数b[n](n=0,1,2,3)は各行の1
ビット乗除算器の第2端子(a1)にも入力されてい
る。
【0010】最左列の4つの制御回路2−0,2−1,
2−2,2−3は、除算の商に該当する出力d[n]
(n=3,2,1,0)となり、最下行の1ビット乗除
算器1−15,1−14,1−13,1−12は、除算
の剰余に該当する出力md[n](n=3,2,1,
0)となる。また乗算の出力は、制御回路2−3の出力
d[0]、1ビット乗除算器1−15,14,13,1
2,8,4,0の出力md[n](n=3,2,1,
0)、m[n](n=2,1,0)に出力される。
【0011】次に、各1ビット乗除算器1の詳細な構成
例を図2に示す。1ビット乗除算器1は全加算器4と、
3つの選択器回路5−0,5−1,5−2と、論理(a
nd)回路6より成る。論理回路6は、第1端子a0の
データと第2端子a1のデータの論理積演算を行う。第
1選択器回路5−0は、論理回路6からの出力あるいは
第1端子a0のデータのいずれかを、端子f1の信号に
基づいて選択し、端子f1(制御CNTL信号)が“0
(除算)”の時は第1端子a0のデータを選択し、“1
(乗算)”の時は論理回路6からの出力を選択する。同
様に、第2選択器回路5−1は、端子f1(制御CNT
L信号)が“0(除算)”の時は第4端子b0データを
選択し、“1(乗算)”の時は第3端子b1のデータを
選択する。
【0012】全加算器4は、第1選択器回路5−0,第
2選択器回路5−1からの出力データと、キャリー入力
データ(Carry in:Ci)とを加算演算を行
い、その結果桁上がりがあれば次段への桁上げ(キャリ
−)出力信号(Carry out:Co)を出力し、
加算結果データを第3選択器5−2に出力する。また、
第3選択器回路5−2は、全加算器4の加算結果データ
と第4端子b0のデータとを選択し、端子f2信号が
“1”の時には、加算結果データを選択し、“0”の時
には第4端子b0のデータを選択する。
【0013】第1選択器5−0,第2選択器5−1は、
制御信号CNTLにより除算,乗算の信号線の切り換
え、第3選択器5−2は、端子f2信号により除算,乗
算の信号線の切り換えであると同時に、除算時に各桁の
減算が可能であったか、否かの切り換えを行うこととな
る。
【0014】制御回路2の詳細な構成例を図3に示す。
制御回路2は論理和(or)回路7より成る。図1,図
2より制御回路2の入力端子I1には、制御CNTL信
号が入力され、入力端子I2には1ビット乗除算器1の
各行の最左列の1ビット乗除算器1からのキャリー出力
信号Coが入力されている。この制御回路2の出力端子
f2が図2に示した各行の1ビット乗除算器2の入力端
子f2に接続される。
【0015】図1に示す様に第1行目の1ビット乗除算
器、1−3,1−2,1−1,1−0はその各第1端子
a0が、補数計算器3−0からの出力と接続され、各第
2端子a1が被除数の上位ビットc[3]あるいは、被
乗数の下位ビットb[0]が接続されている。また、そ
の各第3端子b1は“0”が接続され、第4端子b0は
第4列目の1ビット乗除算器1−0を除いて“0”が接
続され、第4列目の第4端子b0には被除数の上位ビッ
トc[3]が接続されている。各1ビット乗除算器1−
3,1−2,1−1,1−0の端子f1,f2及び端子
Co,Ciは各々接続されている。
【0016】また、第1行目の制御回路2−0は、その
入力端子I1,I2が制御信号CNTL,最上列の1ビ
ット乗除算器1−3の出力端子Coに各々接続され、そ
の出力端子f2は、1行目の1ビット乗除算器全ての入
力端子f2に接続されている。
【0017】第2行目の1ビット乗除算器1−7,1−
6,1−5,1−4は、同様にその各第1端子a0が補
数計算器3−0からの出力と接続され、各第2端子a1
が被除数のC[2],あるいは被乗数のb[1]に接続
されている。また、各第3端子b1は、第1行目の1つ
上位ビット(上の列)の1ビット乗除算器1のSUM出
力と接続され、最左列のみ第1行目の最上ビットの1ビ
ット乗除算器1−3のキャリー出力Coに接続されてい
る。各第4端子b0は、第1行目の1つ下位ビット(下
の列)の1ビット乗除算器1のSUM出力と接続され、
最右列のみ被除数のc[2]あるいは被乗数のb[2]
が接続されている。第2行目の制御回路2−1も、第1
行目と同様に接続されている。
【0018】第3行目,第4行目の1ビット乗除算器
1,制御回路2も第1,第2行目と同様に接続されてい
る。こうして図1に示すように16個の1ビット乗除算
器1,制御回路2,補数計算器3−0を接続する。
【0019】次に上述の構成に基づいて、作動を説明す
る。まず、除算の場合には制御信号CNTLが“0”と
なるため、補数計算器3−0は2の補数を出力し各1ビ
ット乗除算器1の第1,第2選択器5−0,5−1は、
第1端子a0のデータと第4端子b0のデータを選択
し、各1ビット乗除算器1は除算器として作動する。こ
の作動を図9,図10を用いて説明する。
【0020】ここでは、4ビット÷4ビットの除算とし
て、B(16)÷2(16)を例にして説明する。()内の数
は、16進数を示す。ここで、図9に計算アルゴリズム
を、図10に除数、被除数、商、剰余と全体回路との関
係をを示す。なお、図10は、制御信号CNTL”0”
になるため乗算に関連する接続線は省略してある。
【0021】まず、図9のSTEP1で除数B(16)の2
の補数Hを求める。(図1の補数計算回路3−0で2の
補数を出力する。図10の除数(2の補数表示)に該当
する。) 例:0010 → 1110(2の補数) − STEP2:上記補数(1110)と被除数(101
1)の最上位(第4)ビット(1)との加算を行う。
【0022】(図1の第1行目の1ビット乗除算器1−
3,1−2,1−1,1−0において、補数計算器3−
0の出力と被除数c[3]を全加算器4で加算すること
に該当する。) 例:1110(2の補数) + 0001(第4ビット)− STEP3:STEP2の桁上げを商とする。
【0023】(図1の第1行目の最上列の1ビット乗除
算器1−3のキャリー出力信号Co,つまり制御回路2
−0の出力d[3]を商の上位ビットとすることに該当
する。) 例:1110 + 0001 = 0_1111 この_の上位ビット”0”が桁上げ(キャリー)出力に
相当する。
【0024】そして、商が1又は0により次の様にデー
タを次のSTEPに渡す。ここで、商=1のとき、ST
EP3の加算結果の下位3ビットを次に渡す。(図1の
制御回路2−0は、商(入力I2)が“1”のとき、出
力f2が“1”となる。よって、1ビット乗除算器1−
2,1−1,1−0の第3選択器5−2が、全加算器4
の加算結果を選択し、その加算結果を第2行目の1ビッ
ト乗除算器1−7,1−6,1−5の第4端子b0に出
力することに該当する。)逆に、商=0のとき、STE
P2の下線部3ビットを次のSTEPに渡す。(図1の
制御回路2−0は、商が“0”のとき出力f2が“0”
となる。よって、1ビット乗除算器1−2,1−1,1
−0の第3選択器5−2が第4端子b0の信号を選択
し、その値を第2行目の1ビット乗除算器1−7,1−
6,1−5の第4端子b0に出力することに該当する。
【0025】例:商=0,よってSTEP2の下位3ビ
ットデータ(001)をSTTE4に渡す。 STEP4:上記補数Hと、STEP3からの3ビット
データ(001)と被除数(1011)の3ビット目
(0)から作られたデータとの加算を行う。
【0026】(図1の第2行目の1ビット乗除算回路1
−7,1−6,1−5,1−4において、第1端子a0
に入力される補数計算器3−0からの信号と、第4端子
b0に入力されるデータ[1行目の1ビット下位の1ビ
ット乗除算器1−2,1−1,1−0からのデータと被
除数の3ビット目の値c[2]とからなるデータ]との
加算を行うことに該当する。) 例:1110 + 0010 STEP5:STEP3と同様にSTEP4の桁上げを
商とするとともに、商の値(1又は0)により、前ST
EPの加算結果,又はSTEP2の下線部3ビットを次
STEPに渡す。
【0027】(図1の2行目の制御回路2−1の作動に
該当し、詳細説明は第1行目と同様のため省略する。) 例:1110 + 0010 = 1 0000 商は1,よってSTEP6に000を渡す。 STEP6:STEP4と同様 1110 + 0001 (図1の第3行目の1ビット乗除算器の計算に該当) STEP7:STEP3と同様 1110 + 0001 = 1111 商は0,STEP8に001を渡す。
【0028】(図1の第3行目の制御回路2−2の作動
に該当) STEP8:STEP4と同様(1011) 1110 + 0011 (図1の第4行目の1ビット乗除算器の計算に該当) STEP9:STEP3と同様 1110 + 0011 = 1 0001 商は1,STEP10に001を渡す。
【0029】(図1の第4行目の制御回路2−3の作動
に該当) STEP10:商をまとめると0101,剰余はSTE
P9より0001となり、 B(16) ÷ 2(16) = 5(16)...1(16) と計算される。
【0030】次に、乗算時を説明する。乗算の場合には
制御信号CNTLが“1”となるため、補数計算器3−
0はそのままを出力し、各1ビット乗除算器1の第1,
第2選択器5−0,5−1は、入力端子a0とa1との
論理積、入力端子b1のデータを選択し、各1ビット乗
除算器1は乗算器として作動する。よって、1行目の1
ビット乗除算器1−3,1−2,1−1,1−0は、乗
数a[3〜0]と被乗数b[n]の最下位ビットb
[0]の部分積を計算し、計算結果を、2行目の1ビッ
ト下位の1ビット乗除算器1−6,1−5,1−4と出
力m[0]に出力する。同様に、2行目の1ビット乗除
算器は、乗数a[3〜0]と被乗数b[n]の2桁目ビ
ットb[1]との部分積を計算し、その計算結果と1行
目の計算結果を加算し、3行目の1ビット下位の1ビッ
ト乗除算器1−10,1−9,1−8と出力m[1]に
出力する。
【0031】以上を繰り返すことで、乗算結果を制御回
路2−3の出力d[0]、1ビット乗除算器1−15,
14,13,12,8,4,0の出力md[n](n=
3,2,1,0)、m[n](n=2,1,0)に出力
することできる。
【0032】なお、上述の最左列の1ビット乗除算器1
−3,1−7,1−11,1−11はs他の1ビット乗
除算器と同様の構成で、その内部に第3選択器5−2が
あるが、機能的には作動していないので、最左列の1ビ
ット乗除算器のみ第3選択器3−2を省略してもよい。
これにより、より回路面積を少なくできる。
【0033】次に、図4に基づいて、第2実施例を説明
する。この実施例においては、中央の1ビット乗除算器
及び制御回路は、第1実施例と同様で、図示していない
が、各1ビット乗除算器1及び制御回路2−0,1,
2,3には、全て制御信号CNTLが接続されている。
この第2実施例は正負混合乗除算を可能にするものであ
る。
【0034】ここで、乗数または除数をa[4]a[3
〜0]と示し、被乗数をb[4]b[3〜0]で、被乗
数をc[4]c[3〜0]で示す。なお、a[4]、b
[4]、c[4]は、符号ビットで、”0”の時は”正
の数”を、”1”の時は”負の数”を表す。
【0035】図4において、新たに第1補数計算器3−
1、第2補数計算器3−2、第3補数計算器3−3、第
4補数計算器3−4が設けられている。補数計算器3−
0は、図1と同様に乗数、または除数a[3〜0]が入
力され、CNTL端子には制御回路8−0が接続されて
いる。
【0036】この制御回路8−0は、図5に示すように
排他的論理和回路から構成され、入力には制御信号CN
TLと符号ビットa[4]が入力される。よって、制御
回路8−0は、乗算の場合において(CNTL=”
1”)、乗数の符号ビットa[4]が正(0)の時に
は”1”を出力し、符号ビットa[4]が負(1)の時
には”0”を出力する。また除算の場合においては(C
NTL=”0”)、除数の符号ビットa[4]が正
(0)の時には”0”を出力し、符号ビットa[4]が
負(1)の時には”1”を出力する。この制御回路8−
0の出力により、補数計算器3−0は、乗数が負、除数
が正の時、入力データに対して2の補数を出力し、乗数
が正、除数が負の時にはそのまま出力する。
【0037】第1補数計算器3−1は、被乗数b[3〜
0]あるいは被除数c[3〜0]を入力し、符号ビット
b[4]、c[4]の反転信号がCNTL端子に入力さ
れて、入力をそのまま出力するか、2の補数を出力する
か切り換える。よって、符号ビットb[4]、c[4]
が負(”1”)を示すとき、2の補数をとり正の数に変
換して出力し、正(”0”)を示すとき、そのまま出力
する。但し、乗数の時には、被乗数b[3〜0]の補数
b’[3〜0](またはそのままの数)の下位ビットを
上位ビットに反転してb’[0]b’[1]b’[2]
b’[3]を1ビット乗除算器1に接続する。また、除
算の時には、被除数c[3〜0]の補数c’[3〜0]
を1ビット乗除算器1に入力する。
【0038】第2補数計算器3−2は、4列目の1ビッ
ト乗除算器の出力SUMの信号が入力され、乗算結果の
下位3ビットm[2、1、0]を出力する。また、この
CNTL端子には、制御回路8−0の出力接続されてい
る。この制御回路8−0も、図5に示す構成で、乗数の
符号ビットa[4]と被乗数の符号ビットb[4]との
排他的論理和を第2補数計算器3−2のCNTL端子に
出力する。よって、第2補数計算器3−2は、積が負と
なる時2の補数を出力し、積が正の時そのまま出力す
る。また第2補数計算器3−2は、その桁上げ信号をキ
ャリー(Carry)信号として、制御回路8−1に出
力する。
【0039】第3補数計算器3−3は、4行目の1ビッ
ト乗除算器の出力SUM及び最左列の出力を入力して、
CNTL端子の信号により、そのまま出力する、あるい
は2の補数としてm[7]md[3、2、1、0]を出
力する。このCNTL端子は、制御回路8−1により制
御され、制御回路8−1は図6に示すように、制御信号
CNTL(乗算時”1”、あるいは除算時”0”)に基
づいて、制御回路8−0の出力(符号ビットa[4]と
b[4]との排他的論理和)、あるいは符号ビットa
[4]を切り換える。例えば、乗算時(”1”)は、符
号ビットa[4]とb[4]との排他的論理和を出力
し、除算時(”0”)は符号ビットa[4]を出力す
る。また、第3補数計算器3−3は、制御回路8−1か
らのキャリー(Carry)信号を入力する。制御回路
8−1は、制御信号CNTL(乗算時”1”、あるいは
除算時”0”)に基づいて、第2補数計算器3−2から
のキャリー信号、あるいは”0”を出力する。よって、
制御回路8−1は、乗算時には第2補数計算器3−2の
桁上げ信号を出力し、除算時には”0”を出力する。
【0040】以上の構成において、作動を説明する。ま
ず、乗算時を説明する。このときは、制御信号CNTL
が”1”である。乗数a[4〜0]の正、あるいは負
(符号ビットa[4]の”0”、あるいは”1”)に基
づき、補数計算器3−0がそのままの信号を、あるいは
2の補数を、第1実施例と同様に1ビット乗除算器に出
力する。また、被乗数b[4〜0]の正、あるいは負
(符号ビットb[4]の”0”、あるいは”1”)に基
づいて、第1補数計算器3−1がそのままの信号を上
位、下位ビットを反転して出力、あるいは2の補数の上
位、下位ビットを反転し、最右列の1ビット乗除算器1
に出力する。そして、既に述べたように各1ビット乗除
算器1、制御回路2により乗算が実施され、乗算結果の
値が上位ビットより第3、第2補数計算器3−3、3−
2のm[7]md[3〜0]m[2〜0]に出力され
る。ここで、乗算結果の符号、正、あるいは負に基づ
き、第3、第2補数計算器3−3、3−2は、そのまま
の結果を、あるいは乗算結果の2の補数を出力する。な
お、乗算結果の符号は、乗数の符号ビットa[4]と被
乗数b[4]に基づいて、右上制御回路8−0より乗算
結果符号ビットm[8]として出力される。
【0041】次に、除算時を説明する。このときは、制
御信号CNTLが”0”である。除数a[4〜0]の
正、あるいは負(符号ビットa[4]の”0”、あるい
は”1”)に基づき、補数計算器3−0が2の補数、あ
るいはそのままの数を、同様に1ビット乗除算器に出力
する。また、被除数c[4〜0]の正、あるいは負(符
号ビットb[4]の”0”、あるいは”1”)に基づい
て、第1補数計算器3−1がそのままの信号を、あるい
は2の補数を、最右列の1ビット乗除算器1に出力す
る。そして、既に述べたように各1ビット乗除算器1、
制御回路2により除算が実施され、商結果が第4補数計
算器3−4のd[3〜0]に出力され、剰余結果が第3
補数計算器3−3のmd[3〜0]に出力される。ここ
で、商結果の符号d[4]の正、あるいは負に基づき、
第4補数計算器3−4は、そのままの商結果を、あるい
は商結果の2の補数を出力すし、剰余結果の符号md
[4]の、正、あるいは負に基づいて、第3補数計算器
3−3は、そのままの剰余結果、あるいは剰余結果の2
の補数を出力する。なお、商結果の符号は、除数の符号
ビットa[4]と被除数の符号ビットc[4]とに基づ
いて、左上制御回路8−0より商結果符号ビットd
[4]として出力される。また、剰余結果の符号は、被
除数の符号ビットb[4]に基づいて、右下制御回路8
−1より剰余結果符号ビットmd[4]として出力され
る。
【0042】以上述べたように、第2実施例において
は、補数計算回路3−1,3−2,3−3,3−4およ
び制御回路8−0,8−1の作動により、正負混合乗除
算を可能にする。
【0043】次に、第3実施例を図7、図8に基づいて
説明する。本実施例は、除算時に、必要がない1ビット
乗除算器1での演算を行わないことにより、除算の高速
演算を行うものである。
【0044】本実施例においては、第1実施例の制御回
路2の代わりに、制御回路9−0,9−1,9−2,9
−3を用いる。なお、制御回路9−3は、第1実施例の
制御回路2−3と同様であるの説明は省略する。
【0045】この制御回路9は、図8に示すように2つ
の論理積回路と論理和回路から構成され、第3行目の制
御回路9−2は、入力端子a1に入る補数計算器3−0
の出力a[3]と入力端子I2に入る1ビット乗除算器
1−10のキャリー出力との論理積をとった後、入力端
子I1に入る制御信号CNTLとの論理和をとり、出力
f2として3行目の1ビット乗除算器1全てに出力す
る。制御回路9−2の論理積の結果は、その上行の制御
回路9−1の入力端子a2に接続される。なお、制御回
路9−2の入力端子a2は”1”に設定されている。
【0046】また、第2行目の制御回路9−1は、入力
端子a1に入る補数計算器3−0の出力a[2]と入力
端子a2に入る下行の制御回路9−2の論理積の結果と
の第1論理積をとった後、この第1論理積結果と入力端
子I2に入る1ビット乗除算器1−5のキャリー出力と
の第2論理積をとり、第2論理積と入力端子I1に入る
制御信号CNTLとの論理和をとり、出力f2として2
行目の1ビット乗除算器1全てに出力する。
【0047】制御回路9−0は、同様に補数計算器3−
0の出力a[1]と下行の制御回路9−1の論理積の結
果との第1論理積をとった後、この第1論理積結果と1
ビット乗除算器1−0のキャリー出力との第2論理積を
とり、第2論理積と制御信号CNTLとの論理和をと
り、出力f2として1行目の1ビット乗除算器1全てに
出力する。
【0048】次に、以上の構成に基づいて、作動を説明
する。ここでは、4ビット÷4ビットの除算として、B
(16)÷2(16)を例にして同様に説明する。()内の数
は、16進数を示す。
【0049】まず、補数計算器3−0は、除数2(16)の
2の補数”1110”出力する。制御回路9−0,9−
1,9−2の入力a[1],a[2],a[3]には全
て”1”が入力される。
【0050】すると、第1行目の制御回路9−0は、そ
の第1論理積が”1”となり、入力I2(1ビット乗除
算器1−0のキャリー出力信号)が”0”で、第2論理
積が”1”となり、出力f2として、1行目の1ビット
乗除算器に出力される。この出力f2により、1ビット
乗除算器1−0は被除数のb[0]をそのまま1ビット
乗除算器1−5に出力する。なお、制御回路9−0の入
力I2(1ビット乗除算器1−0のキャリー出力信号)
が”1”のときは、この出力f2が”1”となり、1ビ
ット乗除算器1−0はその加算結果を、2行目の1つ上
位ビットの1ビット乗除算器1−5に出力する。 この
1行目の演算から分かるように、3つの1ビット乗除算
器1−3,1−2,1−1は演算することなく、最も下
位ビットの1ビット乗除算器1−0の演算だけを実施し
た後、次の2行目の1ビット乗除算器の演算が実行され
る。よって、3つの1ビット乗除算器1−3,1−2,
1−1の演算時間が不要になるので、その分1行目での
演算時間を短縮化できる。
【0051】同様に、2行目の制御回路9−1において
も、その第1論理積が”1”となり、入力I2(1ビッ
ト乗除算器1−5のキャリー出力信号)が”1”で、第
2論理積が”1”となり、出力f2として、2行目の1
ビット乗除算器に出力される。この出力f2により、1
ビット乗除算器1−5、1−4はその加算結果を、次の
3行目の1つ上位ビットの1ビット乗除算器1−10、
1−9に出力する。この2行目の演算から分かるよう
に、2つの1ビット乗除算器1−7,1−6は演算する
ことなく、それより下位ビットの1ビット乗除算器1−
5,1−4の演算だけを実施した後、次の3行目の1ビ
ット乗除算器の演算が実行される。よって、2つの1ビ
ット乗除算器1−7,1−6の演算時間が不要になるの
で、その分2行目での演算時間を短縮化できる。
【0052】同様に、3行目の制御回路9−2において
も、その第1論理積が”1”となり、入力I2(1ビッ
ト乗除算器1−10のキャリー出力信号)が”0”で、
第2論理積が”0”となり、出力f2として、3行目の
1ビット乗除算器に出力される。この出力f2により、
1ビット乗除算器1−10,1−9,1−8は第4入力
端子b0のデータを、次の4行目の1つ上位ビットの1
ビット乗除算器1−15,1−14,1−13に出力す
る。この3行目の演算から分かるように、1つの1ビッ
ト乗除算器1−11は演算することなく、それより下位
ビットの1ビット乗除算器1−10,1−9,1−8の
演算だけを実施した後、次の4行目の1ビット乗除算器
の演算が実行される。よって、1ビット乗除算器1−1
1の演算時間が不要になるので、その分の演算時間を短
縮化できる。
【0053】なお、乗算時には、制御信号CNTLが”
1”になるため、制御回路9−0,9−1,9−2は、
出力f2に”1”を出力するため、上述の乗算と同様に
実行される。
【0054】以上述べたように、除算時において、演算
が実行されない6つの1ビット乗除算器1−3,1−
2,1−1,1−7,1−6,1−11での演算時間が
不要となるので、除算時の演算時間を短縮化できる。
【0055】
【発明の効果】以上詳述したように、本発明によれば乗
数、除数及び被乗数、被除数のそれぞれの構成ヒ゛ット数に相
当する1ビット乗除算器を設けるとともに、乗算、除算
に対応する制御信号ににより乗算器、除算器に切り換え
ることでことで除算或いは乗算が1回路で1回演算で行
うことができる。よって、本発明は乗算器、除算器の全
加算器を共用しているので、乗算器、除算器を別々の構
成にした従来の演算器と比較して、回路面積の小面積化
が可能である。
【図面の簡単な説明】
【図1】本発明の乗除算器の第1の実施例の構成を示す
ブロック図。
【図2】図1に示した1ビット乗除算器回路を示す図。
【図3】図1の制御回路を示す図。
【図4】本発明の乗除算器の第2の実施例の構成を示す
ブロック図。
【図5】図4に於ける制御回路8−0を示す図。
【図6】図4に於ける制御回路8−1を示す図。
【図7】本発明の乗除算器の第3の実施例の構成を示す
ブロック図。
【図8】図7に於ける制御回路9−0、9−1、9−2
を示す図。
【図9】除算アルゴリズムを示す図。
【図10】除算アルゴリズムを示す図。
【符号の説明】
1 1ビット乗除算器 2 制御回路 3 補数計算器 4 全加算器 5−0 第1選択器 5−1 第2選択器 5−2 第3選択器 8 制御回路 9 制御回路
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 乗算、除算に応じた制御信号(CNT
    L)と第1データ(a0)と第2データ(a1)の論理
    積演算を行う論理回路(6)と、上記論理回路(6)の
    出力あるいは第1データ(a1)のいずれかを制御信号
    にて選択する第1選択器(5−0)と、 第3データ(b1)あるいは第4データ2(b0)を制
    御信号にて選択する第2選択器(5−1)と、 上記の第1選択器(5−0)が送出するデータと、第2
    選択器(5−1)が送出するデータと、キャリー入力デ
    ータ(ci)とが供給され、これらのデータの加算演算
    を行い、加算結果データと次段へのキャリー出力信号
    (co)を送出する加算器(4)と、 上記加算器(4)からの加算結果データあるいは第4デ
    ータ(b0)のいずれかを選択信号にて選択する第3選
    択器(5−2)と、 を有する1ビット乗除算部(1)を入力されるデータの
    構成ビット数に相当して複数行,複数列備え、各行の1
    ビット乗除算器(1)のキャリー出力信号と前記制御信
    号の論理和回路を各行の前記第3選択器(5−2)の選
    択信号として供給することを特徴とする乗除算器。
  2. 【請求項2】 上記1ビット乗除算器の入力データ、出
    力データを2の補数表示とするために1ビット乗除算器
    の入力部及び出力部に補数計算器を備え、正負混合乗除
    算を実行することを特徴とする請求項1記載の乗除算
    器。
  3. 【請求項3】 上記1ビット乗除算器において、除算演
    算時に不要な1ビット乗除算部を通過させないように構
    成したことを特徴とする請求項1或いは2記載の乗除算
    器。
JP05051770A 1993-03-12 1993-03-12 乗除算器 Expired - Fee Related JP3127654B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP05051770A JP3127654B2 (ja) 1993-03-12 1993-03-12 乗除算器
US08/749,210 US5787031A (en) 1993-03-12 1996-11-14 Divider and multiplier/divider using said divider

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05051770A JP3127654B2 (ja) 1993-03-12 1993-03-12 乗除算器

Publications (2)

Publication Number Publication Date
JPH06266536A JPH06266536A (ja) 1994-09-22
JP3127654B2 true JP3127654B2 (ja) 2001-01-29

Family

ID=12896189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05051770A Expired - Fee Related JP3127654B2 (ja) 1993-03-12 1993-03-12 乗除算器

Country Status (2)

Country Link
US (1) US5787031A (ja)
JP (1) JP3127654B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3016381B2 (ja) * 1997-10-28 2000-03-06 日本電気株式会社 バイト入替え演算器
GB9727414D0 (en) * 1997-12-29 1998-02-25 Imperial College Logic circuit
DE10129033B4 (de) * 2000-08-11 2006-12-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Programmierbarer Dividierer und sein Dividier-Verfahren
CN1295879C (zh) * 2002-03-18 2007-01-17 皇家飞利浦电子股份有限公司 在可重构逻辑中宽多路复用器的实现
CN108595148B (zh) * 2018-04-09 2021-06-29 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 除法函数实现方法、电路、芯片以及系统
CN108897524B (zh) * 2018-05-31 2021-01-22 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 除法函数处理电路、方法、芯片以及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5731042A (en) * 1980-07-31 1982-02-19 Toshiba Corp Multiplaying and dividing circuits
JPS6126137A (ja) * 1984-07-16 1986-02-05 Toshiro Kutsuwa 2の補数表示並列乗除算方式
JP2585649B2 (ja) * 1987-11-30 1997-02-26 インデータシステムズ株式会社 除算回路
JPH04205139A (ja) * 1990-11-29 1992-07-27 Ricoh Co Ltd 除算器
JPH0546363A (ja) * 1991-08-08 1993-02-26 Mitsubishi Electric Corp 除算器

Also Published As

Publication number Publication date
US5787031A (en) 1998-07-28
JPH06266536A (ja) 1994-09-22

Similar Documents

Publication Publication Date Title
US4525797A (en) N-bit carry select adder circuit having only one full adder per bit
KR940008613B1 (ko) 캐리선견가산기와 캐리전송방법
US5010510A (en) Multiplying unit circuit
US6411980B2 (en) Data split parallel shifter and parallel adder/subtractor
JP2000259394A (ja) 浮動小数点乗算器
JPS60163128A (ja) 乗算回路
US4441158A (en) Arithmetic operation circuit
US4764888A (en) N-bit carry select adder circuit with double carry select generation
JP3127654B2 (ja) 乗除算器
JPS60140428A (ja) 除算装置
US4349888A (en) CMOS Static ALU
JPH0546363A (ja) 除算器
JPH09222991A (ja) 加算方法および加算器
JPH0346024A (ja) 浮動小数点演算器
JPH0374419B2 (ja)
JPH0476133B2 (ja)
EP0334768B1 (en) Logic circuit having carry select adders
JP2991788B2 (ja) 復号器
JP3203454B2 (ja) 乗算器
JP3286793B2 (ja) キャリアウトを確定する回路及び方法
JP2907276B2 (ja) 演算処理装置
JP2558739B2 (ja) 絶対値回路
JP2614496B2 (ja) 大小比較回路
JPH0527948A (ja) 演算装置
JP2001243051A (ja) 除算器

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001010

LAPS Cancellation because of no payment of annual fees