JPH0652500B2 - 演算処理装置 - Google Patents
演算処理装置Info
- Publication number
- JPH0652500B2 JPH0652500B2 JP61170020A JP17002086A JPH0652500B2 JP H0652500 B2 JPH0652500 B2 JP H0652500B2 JP 61170020 A JP61170020 A JP 61170020A JP 17002086 A JP17002086 A JP 17002086A JP H0652500 B2 JPH0652500 B2 JP H0652500B2
- Authority
- JP
- Japan
- Prior art keywords
- digit
- partial product
- multiplier
- significant
- multiplicand
- 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 - Lifetime
Links
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、算術演算処理装置に係り、特に内部演算に乗
算を具え、LSI化に好適な高速演算処理装置に関す
る。
算を具え、LSI化に好適な高速演算処理装置に関す
る。
従来の技術 従来、高速乗算器については、電子通信学会論文誌,V
ol.J66−D,No.6(1983年)第683頁
から第690頁に冗長2進加算木を用いた2進乗算器が
論じられている。この冗長2進加算木を用いた乗算器で
は、内部計算に各桁が{−1,0,1}の要素である冗
長2進表現(一種の符号付きディジット表現)を利用し
ている。nビット乗算では、n個のnビット部分積を冗
長2進数とみなして2つずつ2分木状に冗長2進数体系
で加え合せていき、最後に冗長2進表現で求まった積を
通常の2進表現に変換する。冗長2進数体系では、2数
の加算を桁上げの伝搬なしに演算数の桁数に無関係な一
定時間で行える。従って、冗長2進加算木を用いた乗算
器では、nビツト乗算を計算時間O(logn)で高速に行
える。計算速度は、Wallace 木を用いた高速乗算器と同
程度であり、従来の配列型乗算器に較べかなり高速であ
る。また、回路構造は配列型乗算器と同様に規則正し
く、Wallace 木を用いた乗算器よりレイアウトが容易で
ある。
ol.J66−D,No.6(1983年)第683頁
から第690頁に冗長2進加算木を用いた2進乗算器が
論じられている。この冗長2進加算木を用いた乗算器で
は、内部計算に各桁が{−1,0,1}の要素である冗
長2進表現(一種の符号付きディジット表現)を利用し
ている。nビット乗算では、n個のnビット部分積を冗
長2進数とみなして2つずつ2分木状に冗長2進数体系
で加え合せていき、最後に冗長2進表現で求まった積を
通常の2進表現に変換する。冗長2進数体系では、2数
の加算を桁上げの伝搬なしに演算数の桁数に無関係な一
定時間で行える。従って、冗長2進加算木を用いた乗算
器では、nビツト乗算を計算時間O(logn)で高速に行
える。計算速度は、Wallace 木を用いた高速乗算器と同
程度であり、従来の配列型乗算器に較べかなり高速であ
る。また、回路構造は配列型乗算器と同様に規則正し
く、Wallace 木を用いた乗算器よりレイアウトが容易で
ある。
さらに、この乗算器では、2ビットBooth の方法の適用
によりハードウェア量が削減できる。2ビットBooth の
方法では、乗数を4進SD数(各桁が{−2,−1,
0,1,2}の要素である4進数)にリコードすること
により部分積の数を約半分にし、計算の高速化とハード
ウェア量の削減が行える。このとき、部分積の成分にお
いて、被乗数の2倍と正負の反転が必要である。2倍は
1ビットの左シフトにより行える。正負の反転は、これ
までは、冗長3進数の正負の反転が各桁毎の正負の反転
によって行えることを利用し、被乗数で1になっている
桁を−1にすることにより行っていた。
によりハードウェア量が削減できる。2ビットBooth の
方法では、乗数を4進SD数(各桁が{−2,−1,
0,1,2}の要素である4進数)にリコードすること
により部分積の数を約半分にし、計算の高速化とハード
ウェア量の削減が行える。このとき、部分積の成分にお
いて、被乗数の2倍と正負の反転が必要である。2倍は
1ビットの左シフトにより行える。正負の反転は、これ
までは、冗長3進数の正負の反転が各桁毎の正負の反転
によって行えることを利用し、被乗数で1になっている
桁を−1にすることにより行っていた。
発明が解決しようとする問題点 上記従来技術では、部分積の生成は容易であるが、部分
積の各桁が正(つまり1)にも負(つまり−1)にも成
り得るため、加算木の全段を同一の一般的な冗長2進加
算用セルで構成する必要があった。これは、前記冗長2
進加算用セル個々のハードウェア量が多い(約70トラ
ンジスタ程度)ことを考慮すると、素子数の削減,回路
構成の簡素化等の実用化面についてあまり配慮されてお
らず、組合せ回路として実現する場合、演算数の桁数が
大きくなると素子数が膨大かつ回路構成が複雑となり、
演算処理装置を1LSIチップに実装することが難しく
なる等の問題点がある。
積の各桁が正(つまり1)にも負(つまり−1)にも成
り得るため、加算木の全段を同一の一般的な冗長2進加
算用セルで構成する必要があった。これは、前記冗長2
進加算用セル個々のハードウェア量が多い(約70トラ
ンジスタ程度)ことを考慮すると、素子数の削減,回路
構成の簡素化等の実用化面についてあまり配慮されてお
らず、組合せ回路として実現する場合、演算数の桁数が
大きくなると素子数が膨大かつ回路構成が複雑となり、
演算処理装置を1LSIチップに実装することが難しく
なる等の問題点がある。
本発明の目的は、このような従来の問題点を改善し、乗
算器を規則正しい回路構造で、かつ素子数の少ない組合
せ回路として表現し、内部加減算における桁上げ値の伝
播を防止すると共に回路構成を簡素化するこによってL
SIチップに実装が容易である高速な演算処理装置を提
供することにある。
算器を規則正しい回路構造で、かつ素子数の少ない組合
せ回路として表現し、内部加減算における桁上げ値の伝
播を防止すると共に回路構成を簡素化するこによってL
SIチップに実装が容易である高速な演算処理装置を提
供することにある。
問題点を解決するための手段 上記目的は、乗数と被乗数とを入力して符号付ディジッ
ト表現の部分積を生成する乗算手段を備え、前記乗算手
段が、(a)前記乗数の1ないしは複数桁と前記被乗数
とから、最上位桁以外の各桁が非負の符号付ディジット
表現の部分積を生成する第1の手段と、(b)前記乗数
の1ないしは複数桁と前記被乗数とから、最上位桁以外
の各桁が非正の符号付ディジット表現の部分積を生成す
る第2の手段と、(c)前記第1の手段によって生成さ
れた最上位桁以外の各桁が非負の符号付ディジット数で
ある部分積と第2の手段によって生成された最上位桁以
外の各桁が非正の符号付ディジット数である部分積とを
加算する加算手段とをすることによって、達成される。
ト表現の部分積を生成する乗算手段を備え、前記乗算手
段が、(a)前記乗数の1ないしは複数桁と前記被乗数
とから、最上位桁以外の各桁が非負の符号付ディジット
表現の部分積を生成する第1の手段と、(b)前記乗数
の1ないしは複数桁と前記被乗数とから、最上位桁以外
の各桁が非正の符号付ディジット表現の部分積を生成す
る第2の手段と、(c)前記第1の手段によって生成さ
れた最上位桁以外の各桁が非負の符号付ディジット数で
ある部分積と第2の手段によって生成された最上位桁以
外の各桁が非正の符号付ディジット数である部分積とを
加算する加算手段とをすることによって、達成される。
作 用 前記第1の手段によって最上位桁以外の各桁が非負であ
る符号付きディジット表現で部分積を生成し、かつ前記
第2の手段によって最上位桁以外の各桁が非正である符
号付きディジット表現で部分積を生成し、加算木の第1
段目で両者を加算することにより、加算木の第1段目の
加算では、ほとんどの桁で被加数は非負,加数は非正と
なり、加算において桁上げが全く生じず、加算用セルが
非常に簡単になる。したがって、加算木では第1段目の
加算用セルの数が全体の加算用セルの数のほぼ半数を占
めるので、本発明により加算木のハードウェア量を大巾
に削減できる。
る符号付きディジット表現で部分積を生成し、かつ前記
第2の手段によって最上位桁以外の各桁が非正である符
号付きディジット表現で部分積を生成し、加算木の第1
段目で両者を加算することにより、加算木の第1段目の
加算では、ほとんどの桁で被加数は非負,加数は非正と
なり、加算において桁上げが全く生じず、加算用セルが
非常に簡単になる。したがって、加算木では第1段目の
加算用セルの数が全体の加算用セルの数のほぼ半数を占
めるので、本発明により加算木のハードウェア量を大巾
に削減できる。
また、加算木の第1段目の加算用セルの回路構成が簡単
になるため、そのゲート段数が少なくなり、乗算におけ
る遅延時間(つまり実行時間)が短縮される。
になるため、そのゲート段数が少なくなり、乗算におけ
る遅延時間(つまり実行時間)が短縮される。
実施例 以下、本発明の一実施例を図面により説明する。
第1図は、本発明の一実施例を適用した乗算器の構成図
である。
である。
乗数リコーダ100は、2ビツトBooth の方法を用いて
乗数を4進SD数(つまり、符号付きディジット数)に
リコードする回路である。
乗数を4進SD数(つまり、符号付きディジット数)に
リコードする回路である。
奇数部部分積生成器101は、乗数リコーダ100でリ
コードされた乗数(奇数番目)と被乗数とから最上位桁
が非負で他の桁はすべて非正となる冗長2進数(つま
り、2進SD数)の形式で部分積を生成する回路であ
る。
コードされた乗数(奇数番目)と被乗数とから最上位桁
が非負で他の桁はすべて非正となる冗長2進数(つま
り、2進SD数)の形式で部分積を生成する回路であ
る。
偶数部部分積生成器102は、乗数リコーダ100でリ
コードされた乗数(偶数番目、0から数える)と被乗数
とから最上位桁が非正で他の桁はすべて非負となる冗長
2進数の形式で部分積を生成する回路である。
コードされた乗数(偶数番目、0から数える)と被乗数
とから最上位桁が非正で他の桁はすべて非負となる冗長
2進数の形式で部分積を生成する回路である。
第1段目冗長加算器110は、偶数部部分積生成器10
2で生成された最上位桁が非正で他の桁はすべて非負と
なる冗長2進数と奇数部部分積生成器101で生成され
た最上位桁が非負で他の桁はすべて非正となる冗長2進
数との冗長2進体系での加算を行う回路である。
2で生成された最上位桁が非正で他の桁はすべて非負と
なる冗長2進数と奇数部部分積生成器101で生成され
た最上位桁が非負で他の桁はすべて非正となる冗長2進
数との冗長2進体系での加算を行う回路である。
冗長加算器120は、加算木の2段目以降を構成する加
算器であり、一般の冗長2進数同士の冗長2進体系での
加算を行う回路である。
算器であり、一般の冗長2進数同士の冗長2進体系での
加算を行う回路である。
冗長2進・2進変換器130は、積として求まった冗長
2進数を2進数に変換する回路であり、桁上げ先見加算
器等で容易に実現できる。
2進数を2進数に変換する回路であり、桁上げ先見加算
器等で容易に実現できる。
次に、部分積の生成について説明する。まず冗長2進数
における正負の符号反転の表現法について以下を示す。
における正負の符号反転の表現法について以下を示す。
nビット2の補数表示の2進整数〔Xn-1 Xn-2 ……X
0〕2(Xi∈{0.1})は、 という値をもつ。Xという値をもつ冗長2進数はいくつ
か存在するが、一般には、 はXn-1 が1のとき−1(以後と表す)、0のとき
0)を用いて表す。また、−Xという値をもつ冗長2進
数としては、冗長2進数の正負の反転が各桁毎の正負の
反転により行なえることを利用し、 と同様)を用いて表す。ここでは、これに加え、2の補
数表示の2進数の正負の反転が2の補数をとることによ
り行えるのと同様の原理を利用する。すなわち、 はXiが1のとき0,0のとき1)は、 という値をもつもので、−Xという値をもつ冗長2進数
として、 を用い、後で+1の補正を行うことを考える。
0〕2(Xi∈{0.1})は、 という値をもつ。Xという値をもつ冗長2進数はいくつ
か存在するが、一般には、 はXn-1 が1のとき−1(以後と表す)、0のとき
0)を用いて表す。また、−Xという値をもつ冗長2進
数としては、冗長2進数の正負の反転が各桁毎の正負の
反転により行なえることを利用し、 と同様)を用いて表す。ここでは、これに加え、2の補
数表示の2進数の正負の反転が2の補数をとることによ
り行えるのと同様の原理を利用する。すなわち、 はXiが1のとき0,0のとき1)は、 という値をもつもので、−Xという値をもつ冗長2進数
として、 を用い、後で+1の補正を行うことを考える。
は、最上位桁は非正(0か)で他の桁はすべて非負
(0か1)である。同様に、 はX+1という値をもつので、Xという値をもつ冗長2
進数として、 を用い、後で−1の補正を行うことも可能である。
(0か1)である。同様に、 はX+1という値をもつので、Xという値をもつ冗長2
進数として、 を用い、後で−1の補正を行うことも可能である。
は、最上位桁は非負で他の桁はすべて非正である。
次に、冗長2進加算木を用いた2進乗算器において2ビ
ットBooth の方法を適用した際に、部分積として上記の
冗長2進数を用いハードウェア量を削減する方法につい
て説明する。被乗数を〔an-1 an-1 ……a0〕2、乗
数を〔bn-1 bn-2 ……b0〕2とする。簡単のため、
nは2のべきであるとする。前記で述べたように、2ビ
ットBooth の方法では、乗数を4進SD数にリコードす
る。リコードされた乗数を〔b′n/2-1 b′n/2-2 ……
b′0〕SD2 (b′∈{−2,−1,0,1,2})と
する。リコードされた乗数の桁b′jに対して部分積を
図2のように生成する。図2のように生成すれば、jが
偶数のときは部分積は最上位桁が非正で他の桁はすべて
非負となり、jが奇数のときは部分積は最上位桁が非負
で他の桁はすべて非正となる。
ットBooth の方法を適用した際に、部分積として上記の
冗長2進数を用いハードウェア量を削減する方法につい
て説明する。被乗数を〔an-1 an-1 ……a0〕2、乗
数を〔bn-1 bn-2 ……b0〕2とする。簡単のため、
nは2のべきであるとする。前記で述べたように、2ビ
ットBooth の方法では、乗数を4進SD数にリコードす
る。リコードされた乗数を〔b′n/2-1 b′n/2-2 ……
b′0〕SD2 (b′∈{−2,−1,0,1,2})と
する。リコードされた乗数の桁b′jに対して部分積を
図2のように生成する。図2のように生成すれば、jが
偶数のときは部分積は最上位桁が非正で他の桁はすべて
非負となり、jが奇数のときは部分積は最上位桁が非負
で他の桁はすべて非正となる。
次に、第1図の各ブロックを構成する回路について説明
する。
する。
まず、リコードされた乗数(つまり4進SD数)および
冗長2進数の2値信号化の一例について以下に補足す
る。
冗長2進数の2値信号化の一例について以下に補足す
る。
リコードされた乗数の1桁b′jを表1に示す3ビット
2値信号b′j-b′j2b′j1あるいはb′j+b′j2b′
j1で表現し、冗長2進数の1桁xiを表2に示す2ビッ
ト2値信号xi+xi-で表現する。
2値信号b′j-b′j2b′j1あるいはb′j+b′j2b′
j1で表現し、冗長2進数の1桁xiを表2に示す2ビッ
ト2値信号xi+xi-で表現する。
ただし、リコードされた乗数の第j桁b′jは、jが偶
数のときには、3ビット信号b′j-b′j2b′j1で表現
し、jが奇数のときには、3ビット信号b′j+b′
j2b′j1で表現する。
数のときには、3ビット信号b′j-b′j2b′j1で表現
し、jが奇数のときには、3ビット信号b′j+b′
j2b′j1で表現する。
以上のように2値信号化を行うと、乗数リコード用セル
におけるリコードされた乗数の第j桁b′jの決定は、
次の論理式によって行われる。
におけるリコードされた乗数の第j桁b′jの決定は、
次の論理式によって行われる。
また、1からn/2−1の値をとる整数jに対して、 以上の論理式において、・は論理積(AND)、+は論
理和(OR)、はbの論理否定を表す演算子である。
理和(OR)、はbの論理否定を表す演算子である。
第3図は、第1図の乗数リコーダ100を構成する乗数
リコード用セルを示す概略回路図である。同図はNOR
/ORによって乗数リコード用セルを実現した一例であ
り、特にjが偶数の場合の回路である。ゲート311か
ら319まではそれぞれNOR/OR回路であり、信号
b2j+1301,b2j303,b2j-1305はそれぞれ乗
数の第2j+1桁,第2j桁,第2j−1桁を表す1ビ
ット2値信号である。また、 は、それぞれb2j+1301,b2j303,b2j-1305
の論理否定である。またb′j-404,b′j2321,
b′j1325はリコードされた乗数b′jを表す3ビッ
ト信号であり、 はそれらの論理否定である。なお、第3図はjが偶数の
場合の乗数リコード用セルであるが、jが奇数の場合の
乗数リコード用セルも同様にして容易に構成できる。
リコード用セルを示す概略回路図である。同図はNOR
/ORによって乗数リコード用セルを実現した一例であ
り、特にjが偶数の場合の回路である。ゲート311か
ら319まではそれぞれNOR/OR回路であり、信号
b2j+1301,b2j303,b2j-1305はそれぞれ乗
数の第2j+1桁,第2j桁,第2j−1桁を表す1ビ
ット2値信号である。また、 は、それぞれb2j+1301,b2j303,b2j-1305
の論理否定である。またb′j-404,b′j2321,
b′j1325はリコードされた乗数b′jを表す3ビッ
ト信号であり、 はそれらの論理否定である。なお、第3図はjが偶数の
場合の乗数リコード用セルであるが、jが奇数の場合の
乗数リコード用セルも同様にして容易に構成できる。
次に、部分積生成器101,102について説明する。
部分積の生成において、下位の部分で補正(すなわち、
1あるいは−1の足し込み)を含めて予め若干計算を行
った結果を部分積としておくと、加算木の二段目以降で
補正を足し込むのが楽になる。具体的には、リコードさ
れた乗数の桁b′jに対する部分積の生成において、j
が偶数なら最下位2桁を計算してき最下位から3桁目に
補正を行い、jが奇数なら最下位1桁を計算しておき最
下位から2桁目に補正を行うようにする。
1あるいは−1の足し込み)を含めて予め若干計算を行
った結果を部分積としておくと、加算木の二段目以降で
補正を足し込むのが楽になる。具体的には、リコードさ
れた乗数の桁b′jに対する部分積の生成において、j
が偶数なら最下位2桁を計算してき最下位から3桁目に
補正を行い、jが奇数なら最下位1桁を計算しておき最
下位から2桁目に補正を行うようにする。
このとき、リコードされた乗数の第j桁b′jに対応す
る部分積の第i桁は次の論理式によって決定される。
る部分積の第i桁は次の論理式によって決定される。
jが偶数のとき、 i=2〜n−1に対して jが奇数のとき、 i=1〜n−1に対して ただし、c2j+ およびc1j- は補正を表し、これらは加
算木の二段目以降で足し込む。
算木の二段目以降で足し込む。
第4図は、第1図の偶数部部分積生成器102を構成す
る部分積生成用セルを示す概略回路図である。同図は特
にNOR/ORによって部分積生成用セルを実現した一
例である。ゲート411から416まではせろぜろNO
R/OR回路であり、信号b′j-401はリコードされ
た乗数の第j桁b′jを表す3ビット信号のうちの1ビ
ット信号であり、 はそれぞれb′jを表す3ビット信号の論理否定であ
る。また、信号xij+ 421は、リコードされた乗数の
第j桁に対応する部分積の第i桁を表す2ビット信号の
うちの1ビット信号であり、ij+ 422はxij+ の論
理否定である。ただし、iは2からn−1までの範囲の
整数であり、残りの1ビット信号xij- は常に0であ
る。なお、i=0,1,nの場合の部分積生成用セルも
容易に構成できる。
る部分積生成用セルを示す概略回路図である。同図は特
にNOR/ORによって部分積生成用セルを実現した一
例である。ゲート411から416まではせろぜろNO
R/OR回路であり、信号b′j-401はリコードされ
た乗数の第j桁b′jを表す3ビット信号のうちの1ビ
ット信号であり、 はそれぞれb′jを表す3ビット信号の論理否定であ
る。また、信号xij+ 421は、リコードされた乗数の
第j桁に対応する部分積の第i桁を表す2ビット信号の
うちの1ビット信号であり、ij+ 422はxij+ の論
理否定である。ただし、iは2からn−1までの範囲の
整数であり、残りの1ビット信号xij- は常に0であ
る。なお、i=0,1,nの場合の部分積生成用セルも
容易に構成できる。
また、奇数部部分積生成器101を構成する部分積生成
用セルもほぼ同様の回路で構成できる。
用セルもほぼ同様の回路で構成できる。
次に、第1段目冗長加算器110について説明する。
第1段目冗長加算器110における加算では、殆どの桁
で被加数は非負,加数は非正となり、加算において桁上
げが全く生じず、加算用セルが非常に簡単になる。その
加算規則を表3に示す。
で被加数は非負,加数は非正となり、加算において桁上
げが全く生じず、加算用セルが非常に簡単になる。その
加算規則を表3に示す。
このとき、第i桁の加算は、次の論理式によって決定さ
れる。
れる。
ただし、xi+は被加数xiを表す1ビット信号であり、
yi-は加数yiを表す1ビット信号である。
yi-は加数yiを表す1ビット信号である。
第5図は、第1図の第1段目冗長加算器110を構成す
る加算用セルを示す概略回路図である。同図は特に4入
力NOR/ORによって加算用セルを実現した一例であ
る。ゲート511,512はそれぞれNOR/OR回路
であり、信号xi+51は各桁が非負である冗長2進表現
の被加数の第i桁xiを表す1ビット信号であり、 はxi+50の論理否定であり、yi-503と は各桁が非負である冗長2進表現の加数の第i桁yiを
表す1ビット信号とその論理否定である。また、Zi+5
22およびZi-523は加算結果の冗長2進数の第i桁
Ziを表す2ビット信号であり、 はZi+522の論理否定である。
る加算用セルを示す概略回路図である。同図は特に4入
力NOR/ORによって加算用セルを実現した一例であ
る。ゲート511,512はそれぞれNOR/OR回路
であり、信号xi+51は各桁が非負である冗長2進表現
の被加数の第i桁xiを表す1ビット信号であり、 はxi+50の論理否定であり、yi-503と は各桁が非負である冗長2進表現の加数の第i桁yiを
表す1ビット信号とその論理否定である。また、Zi+5
22およびZi-523は加算結果の冗長2進数の第i桁
Ziを表す2ビット信号であり、 はZi+522の論理否定である。
最後に、冗長加算器120について説明する。
冗長加算器120における加算規則を表4に示す。
このとき、第i桁における加算は次の論理式によって決
定される。
定される。
第6図は、第1図の冗長加算器120を構成する加算用
セルを示す概略回路図である。同図は特に4入力NOR
/ORによって加算用セルを実現した一例である。ゲー
ト611から623まではそれぞれ4入力NOR/OR
回路であり、信号xi+602およびxi-603は被加数
の冗長2進数の第i桁xiを表す2ビット信号であり、 はxi+602の論理否定を表す信号であり、yi+605
およびyi-606は加数の冗長2進数の第i桁yiを表
す2ビット信号であり、 はyi+605の論理否定を表す信号である。また、信号
pi631は第i桁の被加数xiおよび加数yiの両方
が非負であるかどうかを表す信号であり、pi-1 633
は第i−1桁の被加数xi-1 および加数yi-1 の両方が
非負であるかどうかを表す信号である。
セルを示す概略回路図である。同図は特に4入力NOR
/ORによって加算用セルを実現した一例である。ゲー
ト611から623まではそれぞれ4入力NOR/OR
回路であり、信号xi+602およびxi-603は被加数
の冗長2進数の第i桁xiを表す2ビット信号であり、 はxi+602の論理否定を表す信号であり、yi+605
およびyi-606は加数の冗長2進数の第i桁yiを表
す2ビット信号であり、 はyi+605の論理否定を表す信号である。また、信号
pi631は第i桁の被加数xiおよび加数yiの両方
が非負であるかどうかを表す信号であり、pi-1 633
は第i−1桁の被加数xi-1 および加数yi-1 の両方が
非負であるかどうかを表す信号である。
はそれぞれpi631,pi-1 633の論理否定を表す
信号である。ui635と はそれぞれ第i桁における中間桁上げに関係する信号と
その論理否定を表す信号でありui-1 637と はそれぞれ第i−1桁からの中間桁上げとその論理否定
を表す信号である。また、zi+642およびzi-643
は加算結果の第i桁xiを表す2ビット信号であり、z
i+641はzi+642の論理否定を表す信号である。
信号である。ui635と はそれぞれ第i桁における中間桁上げに関係する信号と
その論理否定を表す信号でありui-1 637と はそれぞれ第i−1桁からの中間桁上げとその論理否定
を表す信号である。また、zi+642およびzi-643
は加算結果の第i桁xiを表す2ビット信号であり、z
i+641はzi+642の論理否定を表す信号である。
なお、本実施例における回路図はECL回路を意識し4
入力NOR/ORで構成したが、他のテクノロジ(例え
ば、CMOS,NMOS,TTL,IIL等)あるいは
多値論理を用いても構成することが可能である。
入力NOR/ORで構成したが、他のテクノロジ(例え
ば、CMOS,NMOS,TTL,IIL等)あるいは
多値論理を用いても構成することが可能である。
本実施例によれば、従来の冗長2進加算木を用いた乗算
器では加算器の一段目を第6図に示す加算用セルで構成
しており、さらに、加算木では一段目の加算用セルの数
が全体の加算用セルの数の約半数を占めるので、従来に
較べ、加算木部に関し、実行に要する遅延(ゲート段
数)において3ゲート段短縮され、素子数において約4
割程度削減できる等の効果がある。
器では加算器の一段目を第6図に示す加算用セルで構成
しており、さらに、加算木では一段目の加算用セルの数
が全体の加算用セルの数の約半数を占めるので、従来に
較べ、加算木部に関し、実行に要する遅延(ゲート段
数)において3ゲート段短縮され、素子数において約4
割程度削減できる等の効果がある。
発明の効果 本発明によれば、内部演算に各桁が正,O,負の値をと
り得る符号付きディジット表現数を利用して乗算を行う
際に、部分積同士の加算用セルを簡単な回路構成で実現
できるので、 (1) 演算処理装置の素子数が削減でき、 (2) 演算処理装置の高速化が図れ、 (3) 回路構成を比較的簡単化でき、 (4) 演算処理装置のLSI化が容易かつ経済的にな
る、 等の効果がある。
り得る符号付きディジット表現数を利用して乗算を行う
際に、部分積同士の加算用セルを簡単な回路構成で実現
できるので、 (1) 演算処理装置の素子数が削減でき、 (2) 演算処理装置の高速化が図れ、 (3) 回路構成を比較的簡単化でき、 (4) 演算処理装置のLSI化が容易かつ経済的にな
る、 等の効果がある。
第1図は本発明の一実施例を適用した乗算器の構成図、
第2図は部分積の生成法を示す図、第3図は乗数リコー
ド用セルを示す概略回路図、第4図は偶数部部分積生成
用セルを示す概略回路図、第5図は第1段目加算用セル
を示す概略回路図、第6図は第2段目以降の加算用セル
を示す概略回路図である。 100……乗数リコーダ、101……奇数部部分積生成
器、102……偶数部部分積生成器、110……第1段
目冗長加算器、120……冗長加算器、130……冗長
2進・2進変換器。
第2図は部分積の生成法を示す図、第3図は乗数リコー
ド用セルを示す概略回路図、第4図は偶数部部分積生成
用セルを示す概略回路図、第5図は第1段目加算用セル
を示す概略回路図、第6図は第2段目以降の加算用セル
を示す概略回路図である。 100……乗数リコーダ、101……奇数部部分積生成
器、102……偶数部部分積生成器、110……第1段
目冗長加算器、120……冗長加算器、130……冗長
2進・2進変換器。
Claims (8)
- 【請求項1】乗数と被乗数とを入力して符号付ディジッ
ト表現の部分積を生成する乗算手段を備え、 前記乗算手段が、 (a)前記乗数の1ないしは複数桁と前記被乗数とか
ら、最上位桁以外の各桁が非負の符号付ディジット表現
の部分積を生成する第1の手段と、 (b)前記乗数の1ないしは複数桁と前記被乗数とか
ら、最上位桁以外の各桁が非正の符号付ディジット表現
の部分積を生成する第2の手段と、 (c)前記第1の手段によって生成された最上位桁以外
の各桁が非負の符号付ディジット数である部分積と前記
第2の手段によって生成された最上位桁以外の各桁が非
正の符号付ディジット数である部分積とを加算する加算
手段と を有することを特徴とする演算処理装置。 - 【請求項2】第1の手段と第2の手段とが、対を成すよ
うに構成することを特徴とする特許請求の範囲第1項の
演算処理装置。 - 【請求項3】隣接する2つの部分積をそれぞれ第1の手
段と第2の手段とによって生成することを特徴とする特
許請求の範囲第2項記載の演算処理装置。 - 【請求項4】第1の手段(または第2の手段)が、 負の部分積(または正の部分積)を生成する際に、被乗
数または被乗数をシフトした数の各桁の論理否定をとる
手段を含むことを特徴とする特許請求の範囲第1項、第
2項、第3項のいずれかに記載の演算処理装置。 - 【請求項5】第2の手段が、 部分積の最上位桁以外の各桁に対して該桁の符号反転を
とる手段を含むことを特徴とする特許請求の範囲第4項
記載の演算処理装置。 - 【請求項6】第1の手段が、 部分積の最上位桁に対して該桁の符号反転をとる手段を
含むことを特徴とする特許請求の範囲第4項記載の演算
処理装置。 - 【請求項7】(a)乗数の1ないしは複数桁と被乗数と
から、符号付ディジット数である部分積を生成する第1
の手段と、 (b)前記乗数の1ないしは複数桁と前記被乗数とか
ら、符号付ディジット数である部分積を生成する第2の
手段と、 (c)前記第1の手段によって生成された部分積と第2
の手段によって生成された部分積とを加算する符号付デ
ィジット加算手段と を有する乗算手段を備え、 前記第1の手段および第2の手段が、 各部分積の最下位から2桁目以上の桁への補正項を生成
する手段を含むことを特徴とする演算処理装置。 - 【請求項8】第1の手段が、 部分積の最下位から3桁目への補正項を生成する手段を
含み、 第2の手段が、 部分積の最下位から2桁目への補正項を生成する手段を
含むことを特徴とする特許請求の範囲第7項記載の演算
処理装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61170020A JPH0652500B2 (ja) | 1986-07-18 | 1986-07-18 | 演算処理装置 |
US07/074,971 US4864528A (en) | 1986-07-18 | 1987-07-17 | Arithmetic processor and multiplier using redundant signed digit arithmetic |
US07/086,967 US4866657A (en) | 1986-07-18 | 1987-08-18 | Adder circuitry utilizing redundant signed digit operands |
US03/239,243 US5031136A (en) | 1986-06-27 | 1990-05-07 | Signed-digit arithmetic processing units with binary operands |
US07/599,275 US5153847A (en) | 1986-06-27 | 1990-10-16 | Arithmetic processor using signed digit representation of internal operands |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61170020A JPH0652500B2 (ja) | 1986-07-18 | 1986-07-18 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6325729A JPS6325729A (ja) | 1988-02-03 |
JPH0652500B2 true JPH0652500B2 (ja) | 1994-07-06 |
Family
ID=15897109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61170020A Expired - Lifetime JPH0652500B2 (ja) | 1986-06-27 | 1986-07-18 | 演算処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0652500B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02300930A (ja) * | 1989-05-16 | 1990-12-13 | Oki Electric Ind Co Ltd | 乗算回路 |
-
1986
- 1986-07-18 JP JP61170020A patent/JPH0652500B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS6325729A (ja) | 1988-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4594678A (en) | Digital parallel computing circuit for computing p=xy+z in a shortened time | |
US4864528A (en) | Arithmetic processor and multiplier using redundant signed digit arithmetic | |
US4868777A (en) | High speed multiplier utilizing signed-digit and carry-save operands | |
EP0113391B1 (en) | Digital multiplier and method for adding partial products in a digital multiplier | |
EP0642093B1 (en) | Method, system and apparatus for automatically designing a multiplier circuit and multiplier circuit designed by performing said method | |
US4878192A (en) | Arithmetic processor and divider using redundant signed digit arithmetic | |
US6816877B2 (en) | Apparatus for digital multiplication using redundant binary arithmetic | |
JPH0619685A (ja) | 並列乗算回路 | |
US4866655A (en) | Arithmetic processor and divider using redundant signed digit | |
US4873660A (en) | Arithmetic processor using redundant signed digit arithmetic | |
US4706210A (en) | Guild array multiplier for binary numbers in two's complement notation | |
US4866657A (en) | Adder circuitry utilizing redundant signed digit operands | |
US5206825A (en) | Arithmetic processor using signed-digit representation of external operands | |
US5153847A (en) | Arithmetic processor using signed digit representation of internal operands | |
JPH0652500B2 (ja) | 演算処理装置 | |
JPH063578B2 (ja) | 演算処理装置 | |
JPH0582609B2 (ja) | ||
JPH0528407B2 (ja) | ||
JPH06230933A (ja) | 演算処理装置 | |
Abraham et al. | An ASIC design of an optimized multiplication using twin precision | |
JPH0610787B2 (ja) | 乗算処理装置 | |
JP2563473B2 (ja) | 2進演算器 | |
Castellanos et al. | Decimal partial product generation architectures | |
JP2681968B2 (ja) | 演算処理装置 | |
JPH0582608B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |