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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5306—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Description
【0001】
【産業上の利用分野】本発明は,乗算,除算器を一体に
した乗除算器に関する。
した乗除算器に関する。
【0002】
【従来の技術】従来、乗算演算と除算演算は別個の回路
で演算する場合が多い。それは除算は比較,判断をしな
がら演算を進める必要があるという点で乗算に比べ複雑
であり、除算演算と乗算演算を同一回路で実現すると回
路規模が大きくなり、回路レイアウトが複雑になる等の
困難が伴った。例えば、特開昭57−31042号公報
に開示されている乗除算器の単位回路は70個のトラン
ジスタで構成され、これが部分積の数だけ必要とするの
で、他の周辺回路と合わせると16×16ビットで20
000トランジスタ数を越え回路規模が大きくなる。
又、特開昭61−26137号公報で開示されている乗
除算器は除算アルゴリズムに引放し除算法を用いている
ため計算量が多く、演算に時間を要す。しかし演算速度
のために除算器を別に設けるのはレイアウト面積が増大
し汎用プロセッサには不向きとなる。
で演算する場合が多い。それは除算は比較,判断をしな
がら演算を進める必要があるという点で乗算に比べ複雑
であり、除算演算と乗算演算を同一回路で実現すると回
路規模が大きくなり、回路レイアウトが複雑になる等の
困難が伴った。例えば、特開昭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)の選択信号として供給することを特徴とす
る。
算、除算に応じた制御信号(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ビット乗除算器を乗算器、除算器として機能させ
ることができる。
る制御信号に基づいて、1ビット乗除算器の第1、第2
選択器からの信号が選択されて、全加算器に出力され
る。よって、乗算、除算時に必要となる全加算器を共通
に構成するとともに、その入力を制御信号により選択し
て、1ビット乗除算器を乗算器、除算器として機能させ
ることができる。
【0006】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1は本発明の構成例であり4ビット乗除算器の
場合を示す。
する。図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から主に構成される。
算器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”を加算した値のことをいう。
より切り換えられ、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)にも入力されてい
る。
ットより除数または乗数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)に出力される。
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のデータを
選択する。
例を図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のデータを選択する。
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信号により除算,乗
算の信号線の切り換えであると同時に、除算時に各桁の
減算が可能であったか、否かの切り換えを行うこととな
る。
制御信号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に接続される。
制御回路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は各々接続されている。
器、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に接続されている。
入力端子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
行目と同様に接続されている。
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を接続する。
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を用いて説明する。
る。まず、除算の場合には制御信号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”
になるため乗算に関連する接続線は省略してある。
て、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)との加算を行う。
の補数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の桁上げを商とする。
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”が桁上げ(キャリー)出力に
相当する。
算器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に出力することに該当する。
タを次の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)から作られたデータとの加算を行う。
ットデータ(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に渡す。
−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を渡す。
該当し、詳細説明は第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を渡す。
に該当) 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) と計算される。
に該当) 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]に
出力する。
制御信号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)に出力
することできる。
路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を省略してもよい。
これにより、より回路面積を少なくできる。
−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実施例は正負混合乗除算を可能にするものであ
る。
する。この実施例においては、中央の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”の時は”負の数”を表す。
〜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が接続されて
いる。
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の補数を出力し、乗数
が正、除数が負の時にはそのまま出力する。
排他的論理和回路から構成され、入力には制御信号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に入力する。
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に出
力する。
ト乗除算器の出力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”を出力する。
ト乗除算器の出力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]として出力される。
ず、乗算時を説明する。このときは、制御信号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]として出力され
る。
御信号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の作動により、正負混合乗除
算を可能にする。
は、補数計算回路3−1,3−2,3−3,3−4およ
び制御回路8−0,8−1の作動により、正負混合乗除
算を可能にする。
【0043】次に、第3実施例を図7、図8に基づいて
説明する。本実施例は、除算時に、必要がない1ビット
乗除算器1での演算を行わないことにより、除算の高速
演算を行うものである。
説明する。本実施例は、除算時に、必要がない1ビット
乗除算器1での演算を行わないことにより、除算の高速
演算を行うものである。
【0044】本実施例においては、第1実施例の制御回
路2の代わりに、制御回路9−0,9−1,9−2,9
−3を用いる。なお、制御回路9−3は、第1実施例の
制御回路2−3と同様であるの説明は省略する。
路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”に設定されている。
の論理積回路と論理和回路から構成され、第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全てに出力する。
端子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全てに
出力する。
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進数を示す。
する。ここでは、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”が入力される。
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行目での
演算時間を短縮化できる。
の第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行目での演算時間を短縮化できる。
も、その第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の演算時間が不要になるので、その分の演算時間を短
縮化できる。
も、その第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”を出力するため、上述の乗算と同様に
実行される。
1”になるため、制御回路9−0,9−1,9−2は、
出力f2に”1”を出力するため、上述の乗算と同様に
実行される。
【0054】以上述べたように、除算時において、演算
が実行されない6つの1ビット乗除算器1−3,1−
2,1−1,1−7,1−6,1−11での演算時間が
不要となるので、除算時の演算時間を短縮化できる。
が実行されない6つの1ビット乗除算器1−3,1−
2,1−1,1−7,1−6,1−11での演算時間が
不要となるので、除算時の演算時間を短縮化できる。
【0055】
【発明の効果】以上詳述したように、本発明によれば乗
数、除数及び被乗数、被除数のそれぞれの構成ヒ゛ット数に相
当する1ビット乗除算器を設けるとともに、乗算、除算
に対応する制御信号ににより乗算器、除算器に切り換え
ることでことで除算或いは乗算が1回路で1回演算で行
うことができる。よって、本発明は乗算器、除算器の全
加算器を共用しているので、乗算器、除算器を別々の構
成にした従来の演算器と比較して、回路面積の小面積化
が可能である。
数、除数及び被乗数、被除数のそれぞれの構成ヒ゛ット数に相
当する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)
- 【請求項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】 上記1ビット乗除算器の入力データ、出
力データを2の補数表示とするために1ビット乗除算器
の入力部及び出力部に補数計算器を備え、正負混合乗除
算を実行することを特徴とする請求項1記載の乗除算
器。 - 【請求項3】 上記1ビット乗除算器において、除算演
算時に不要な1ビット乗除算部を通過させないように構
成したことを特徴とする請求項1或いは2記載の乗除算
器。
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)
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)
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 | 除算器 |
-
1993
- 1993-03-12 JP JP05051770A patent/JP3127654B2/ja not_active Expired - Fee Related
-
1996
- 1996-11-14 US US08/749,210 patent/US5787031A/en not_active Expired - Fee Related
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 |