JPS6371729A - 演算処理装置 - Google Patents
演算処理装置Info
- Publication number
- JPS6371729A JPS6371729A JP61216592A JP21659286A JPS6371729A JP S6371729 A JPS6371729 A JP S6371729A JP 61216592 A JP61216592 A JP 61216592A JP 21659286 A JP21659286 A JP 21659286A JP S6371729 A JPS6371729 A JP S6371729A
- Authority
- JP
- Japan
- Prior art keywords
- digit
- multiplier
- circuit
- partial product
- redundant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 10
- 229910002056 binary alloy Inorganic materials 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 239000002131 composite material Substances 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 241000272814 Anser sp. Species 0.000 description 1
- 102100022103 Histone-lysine N-methyltransferase 2A Human genes 0.000 description 1
- 108050002855 Histone-lysine N-methyltransferase 2A Proteins 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011888 foil Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、算術演算処理装置に係り、特に内部演算に乗
算を具え、LSI化に好適な高速演算処理装置に関する
。
算を具え、LSI化に好適な高速演算処理装置に関する
。
従来の技術
従来、高速乗算器については、電子通信学会論文誌、
VolJ66−D、 46 (1983年)第683頁
から第690頁に冗長2進加算木を用いた2進乗算器が
論じられている。この冗長2進加算木を用いた乗算器で
は、内部計算に各桁がド1.o、11の要素である冗長
2進表現(一種の符号付きディジット表現)を利用して
いる。nビット乗算では、n個のnビット部分積を冗長
2進数とみなして2つずつ2分本状に冗長2進数体系で
加え合せていき、最後に冗長2進表現で求まった積を通
常の2進表現に変換する。冗長2進数体系では、2数の
加算を桁上げの伝搬なしに演算数の桁数に無関係な一定
時間で行える。従って、冗長2進加算木を用いた乗算器
では、nビット乗算を計算時間0(logn)で高速に
行える。計算速度は、Wallace木を用いた高速乗
算器と同程度であり、従来の配列型乗算器に較べかなり
高速である。また、回路構造は配列型乗算器と同様に規
則正しく 、Wallace木を用いた乗算器よシレイ
アウトが容易である。
VolJ66−D、 46 (1983年)第683頁
から第690頁に冗長2進加算木を用いた2進乗算器が
論じられている。この冗長2進加算木を用いた乗算器で
は、内部計算に各桁がド1.o、11の要素である冗長
2進表現(一種の符号付きディジット表現)を利用して
いる。nビット乗算では、n個のnビット部分積を冗長
2進数とみなして2つずつ2分本状に冗長2進数体系で
加え合せていき、最後に冗長2進表現で求まった積を通
常の2進表現に変換する。冗長2進数体系では、2数の
加算を桁上げの伝搬なしに演算数の桁数に無関係な一定
時間で行える。従って、冗長2進加算木を用いた乗算器
では、nビット乗算を計算時間0(logn)で高速に
行える。計算速度は、Wallace木を用いた高速乗
算器と同程度であり、従来の配列型乗算器に較べかなり
高速である。また、回路構造は配列型乗算器と同様に規
則正しく 、Wallace木を用いた乗算器よシレイ
アウトが容易である。
さらに、この乗算器では、2ピツ) Boothの方法
の適用によりハードウェア量が削減できる。2ビツトB
ooth の方法では、乗数を4進符号付きディジッ
ト数(各桁が1−2、−1.0,1.21の要素である
4進数)にリコードすることにより部分積の数を約半分
にし、計算の高速化とハードウェア量の削減が行える。
の適用によりハードウェア量が削減できる。2ビツトB
ooth の方法では、乗数を4進符号付きディジッ
ト数(各桁が1−2、−1.0,1.21の要素である
4進数)にリコードすることにより部分積の数を約半分
にし、計算の高速化とハードウェア量の削減が行える。
このとき、部分積の生成において、被乗数の2倍と正負
の反転が必要である。2倍は1ビツトの左シフトにより
行える。
の反転が必要である。2倍は1ビツトの左シフトにより
行える。
正負の反転は、2の補数をとることによって行ったり、
あるいは、冗長2進数の正負の反転が各桁毎の正負の反
転によって行えることを利用し、被乗数で1になってい
る桁を−1にすることにより行っている。
あるいは、冗長2進数の正負の反転が各桁毎の正負の反
転によって行えることを利用し、被乗数で1になってい
る桁を−1にすることにより行っている。
発明が解決しようとする問題点
上記従来技術では、部分積の生成は容易であるが、部分
積の各桁が正(つまり1)にも負(つまり−1)にも成
り得るため、加算木の全段を同一の一般的な冗長2進加
算用セルで構成する必要があった。これは、前記冗長2
進加算用セル個々のハードウェア量が多い(約50)ラ
ンジスタ程度)ことを考慮すると、素子数の削減2回路
構成の簡単化等の実用化面についてあまり配慮されてお
らず、組合せ回路として実現する場合、演算数の桁数が
大きくなると素子数が膨大かつ回路構成が複雑となり、
演算処理装置を1LsIチツプに実装することが難しく
なる等の問題点がある。
積の各桁が正(つまり1)にも負(つまり−1)にも成
り得るため、加算木の全段を同一の一般的な冗長2進加
算用セルで構成する必要があった。これは、前記冗長2
進加算用セル個々のハードウェア量が多い(約50)ラ
ンジスタ程度)ことを考慮すると、素子数の削減2回路
構成の簡単化等の実用化面についてあまり配慮されてお
らず、組合せ回路として実現する場合、演算数の桁数が
大きくなると素子数が膨大かつ回路構成が複雑となり、
演算処理装置を1LsIチツプに実装することが難しく
なる等の問題点がある。
本発明の目的は、このような従来の問題点を改善し、乗
算器を規則正しい回路構造で、かつ素子数の少ない組合
せ回路として実現し、内部加減算における桁上げ値の伝
播を防止すると共に回路構成を簡単化することによって
LSIチップに実装が容易である高速な演算処理装置を
提供することにある。
算器を規則正しい回路構造で、かつ素子数の少ない組合
せ回路として実現し、内部加減算における桁上げ値の伝
播を防止すると共に回路構成を簡単化することによって
LSIチップに実装が容易である高速な演算処理装置を
提供することにある。
問題点を解決するための手段
上記目的は、乗算処理において、乗数を2桁ずつのグル
ープに分割し、■ これらのグループの半数に対し、各
グループ毎に乗数をリコードする第1のリコード手段と
、■ それらのグループの残りの半数に対し、各グルー
プ毎に乗数を前記第1のリコード手段とは正負(つまり
、符号)が反転するようにリコードする第2のリコード
手段と、■ 前記第1あるいは第2のリコード手段によ
ってリコードされた乗数の桁と被乗数とから部分積を生
成する部分積生成手段とを有し、各部分積を生成する際
に、まず、前記第1のリコード手段によってリコードさ
れた乗数の桁から生成された第1の部分積と、前記第2
のリコード手段によってリコードされた乗数の桁から生
成された第2の部分積とを減算し、各桁が負、0.正の
いずれかの値である符号付きディジット表現数の形で部
分積(の和)つまり乗数4桁分の部分積を求めることに
より達成される。
ープに分割し、■ これらのグループの半数に対し、各
グループ毎に乗数をリコードする第1のリコード手段と
、■ それらのグループの残りの半数に対し、各グルー
プ毎に乗数を前記第1のリコード手段とは正負(つまり
、符号)が反転するようにリコードする第2のリコード
手段と、■ 前記第1あるいは第2のリコード手段によ
ってリコードされた乗数の桁と被乗数とから部分積を生
成する部分積生成手段とを有し、各部分積を生成する際
に、まず、前記第1のリコード手段によってリコードさ
れた乗数の桁から生成された第1の部分積と、前記第2
のリコード手段によってリコードされた乗数の桁から生
成された第2の部分積とを減算し、各桁が負、0.正の
いずれかの値である符号付きディジット表現数の形で部
分積(の和)つまり乗数4桁分の部分積を求めることに
より達成される。
作 用
まず、前記第1のリコード手段および前記第2のリコー
ド手段を利用し、前記部分積生成手段によって中間的な
第1の部分積および第2の部分積をそれぞれ生成する。
ド手段を利用し、前記部分積生成手段によって中間的な
第1の部分積および第2の部分積をそれぞれ生成する。
次に、これらの中間的な第1の部分積と第2の部分積と
を減算して、符号付きディジット表現数の形で部分積を
生成できる。
を減算して、符号付きディジット表現数の形で部分積を
生成できる。
この第1の部分積と第2の部分積との減算では第1およ
び第2の部分積が共に非負であるため、冗長減算(つま
り、減算結果を符号付きディジット表現数で冗長性を持
たせて表す減算)において桁上げ(または桁借り)が全
く生じず、この減算回路を非常に簡単な回路構成にする
ことが可能である。したがって、簡単な構成の回路を付
加することにより、部分積の数を(2ピツ) Boot
hの方法を適用した場合に較べて)はぼ半数に減らせる
ので、ハードウェア量を大幅に削減できる◇また、部分
積の加算には、符号付きディジット表現体系における加
算器を用いた加算木を使用することができ、乗算におけ
る遅延時間(つまり実行時間)が短縮される。
び第2の部分積が共に非負であるため、冗長減算(つま
り、減算結果を符号付きディジット表現数で冗長性を持
たせて表す減算)において桁上げ(または桁借り)が全
く生じず、この減算回路を非常に簡単な回路構成にする
ことが可能である。したがって、簡単な構成の回路を付
加することにより、部分積の数を(2ピツ) Boot
hの方法を適用した場合に較べて)はぼ半数に減らせる
ので、ハードウェア量を大幅に削減できる◇また、部分
積の加算には、符号付きディジット表現体系における加
算器を用いた加算木を使用することができ、乗算におけ
る遅延時間(つまり実行時間)が短縮される。
実施例
以下、本発明の一実施例を図面により説明する。
第1図は、本発明を適用した乗算器の一実施例の構成図
である。
である。
乗数リコード回路100は、2ビツトBoo t hの
方法を改良した方法を用いて乗数を各桁が(−2゜−1
,0,1,2)のいずれかの値である4進符号付きディ
ジット数にリコードする回路である。
方法を改良した方法を用いて乗数を各桁が(−2゜−1
,0,1,2)のいずれかの値である4進符号付きディ
ジット数にリコードする回路である。
中間部分積生成器110は、乗数リコーダ100でリコ
ードされた乗数の桁と被乗数とからこれらの積を求め、
中間的な部分積を生成する回路であるQ 冗長減算器120は、偶数つまり2に番目(ただし、0
も含む。)の中間部分積生成器110で生成された部分
積(ただし、各桁が非負である。)から、その隣の奇数
つまり2に+1番目の中間部分積生成器ffoで生成さ
れた部分積(ただし、各桁が非負である。)を減算し、
その差を各桁がf’+o+1)のいずれかの値である冗
長2進数の形式で出力する回路である。
ードされた乗数の桁と被乗数とからこれらの積を求め、
中間的な部分積を生成する回路であるQ 冗長減算器120は、偶数つまり2に番目(ただし、0
も含む。)の中間部分積生成器110で生成された部分
積(ただし、各桁が非負である。)から、その隣の奇数
つまり2に+1番目の中間部分積生成器ffoで生成さ
れた部分積(ただし、各桁が非負である。)を減算し、
その差を各桁がf’+o+1)のいずれかの値である冗
長2進数の形式で出力する回路である。
冗長加算器130は、加算器を構成しており、一般の冗
長2進数同士の冗長2進体系での加算を行う回路である
。
長2進数同士の冗長2進体系での加算を行う回路である
。
冗長2進・2進変換器140は、積として求1つだ冗長
2進数を2進数に変換する回路であり。
2進数を2進数に変換する回路であり。
桁上げ先見加算器等で容易に実現できる。
次に乗数リコード回路100について説明する。
2の補数表示形式の時、乗数Yは、算術式Y=−7n・
2n−1+Σ 7i・2l−1i=1 で表せる。ただし、ynは符号ビット、yn−1゜・・
・・・・、ylは数値部である◎今簡単のためYの長さ
nが偶数とすると、 Y−″’3ニー’ (y21・72t。1−23’2i
。2)・22i1=0 4に =にと。f(74k”3’4に+1−274に+2)2
(274に+474に+s y41c+、;)・24
k ” 2 )と表せる。ただし、y0=0である◇こ
のとき被乗数Xに対して、乗算x−Yは、算術式 %式%) で表せる。つまり、中間的な部分積は、jが偶数(0も
含む。)の場合には、 (y2j+y2J+17y2j+2)x02′であり、
tが奇数の場合には、 (272j+2−727+1 ”2ρ・X・2zjであ
る◎最終的な部分積は、前記jが偶数の場合の中間的な
部分積と、jが奇数の場合の中間的な部分積との減算で
求まる。したがって、乗数リコード回路10oでは、j
が偶数の場合には、算術式 %式%) jが奇数の場合には、算術式 す、″(2727+2 y2j+172.)によって、
乗数を各桁b)が(−2、−1,0,1,2)のいずれ
かである4進符号付きディジット数にリコードする。
2n−1+Σ 7i・2l−1i=1 で表せる。ただし、ynは符号ビット、yn−1゜・・
・・・・、ylは数値部である◎今簡単のためYの長さ
nが偶数とすると、 Y−″’3ニー’ (y21・72t。1−23’2i
。2)・22i1=0 4に =にと。f(74k”3’4に+1−274に+2)2
(274に+474に+s y41c+、;)・24
k ” 2 )と表せる。ただし、y0=0である◇こ
のとき被乗数Xに対して、乗算x−Yは、算術式 %式%) で表せる。つまり、中間的な部分積は、jが偶数(0も
含む。)の場合には、 (y2j+y2J+17y2j+2)x02′であり、
tが奇数の場合には、 (272j+2−727+1 ”2ρ・X・2zjであ
る◎最終的な部分積は、前記jが偶数の場合の中間的な
部分積と、jが奇数の場合の中間的な部分積との減算で
求まる。したがって、乗数リコード回路10oでは、j
が偶数の場合には、算術式 %式%) jが奇数の場合には、算術式 す、″(2727+2 y2j+172.)によって、
乗数を各桁b)が(−2、−1,0,1,2)のいずれ
かである4進符号付きディジット数にリコードする。
第2図、第3図に乗数リコード回路100を構成する回
路(つまりセル)について説明する。
路(つまりセル)について説明する。
まず、リコードされた乗数(つまり4進符号付きディジ
ット数)の2値信号化の一例を以下に示すO リコードされた乗数の桁す、を表1に示す3ビット2値
信号b s 、b j、b + で表現する。
ット数)の2値信号化の一例を以下に示すO リコードされた乗数の桁す、を表1に示す3ビット2値
信号b s 、b j、b + で表現する。
表 1
以上のように2値信号化を行うと、乗数リコード回路1
oOにおけるリコードされた乗数の第1桁す、の決定は
、次の論理式によって行われる。
oOにおけるリコードされた乗数の第1桁す、の決定は
、次の論理式によって行われる。
ただし、Jは0からn/2−fまでの値念とる整数であ
る。
る。
(Ojが偶数(つまりj=2k)のとき11.=ア
、(y +y、)。
、(y +y、)。
J 2j+2 2j+12】
b】=y25+2°’2j+1°72]+y2j+2゛
y25・1°耐・bj=’2i。1■y21 (it) iが奇数(つまり1.2に+1)のとき、
bi =y2 i +2°(y21+1+y21)・b
i ” ’2 j +2°y2j@°y!1+y2j・
2°y21+1°y2j・’1=y2j+1■72ま ただし、j=oのときは、簡単に、 b=y。
y25・1°耐・bj=’2i。1■y21 (it) iが奇数(つまり1.2に+1)のとき、
bi =y2 i +2°(y21+1+y21)・b
i ” ’2 j +2°y2j@°y!1+y2j・
2°y21+1°y2j・’1=y2j+1■72ま ただし、j=oのときは、簡単に、 b=y。
b =y ”y 。
b =y
とできる。以上の論理式において、・は論理積(AND
)、+は論理和(OR)、■は排他的論理和(Ex−O
R)、−は論理否定を表す演算子である0 第2図および第3図は、それぞれ第1図の乗数リコード
回路100の偶数桁部および奇数桁部を構成する回路の
一例である。つまり、第2図に示す回路はリコードされ
た乗数の偶数桁b2kを生成する回路であり、第3図に
示す回路はリコードされた乗数の奇数桁b2に+1を生
成する回路である。
)、+は論理和(OR)、■は排他的論理和(Ex−O
R)、−は論理否定を表す演算子である0 第2図および第3図は、それぞれ第1図の乗数リコード
回路100の偶数桁部および奇数桁部を構成する回路の
一例である。つまり、第2図に示す回路はリコードされ
た乗数の偶数桁b2kを生成する回路であり、第3図に
示す回路はリコードされた乗数の奇数桁b2に+1を生
成する回路である。
第2図において、鵞は偶数(つまり2に、ただし、kは
0または正整数)であシ、ゲート211はインバータ回
路、ゲート212はNAND回路、ゲート221はAN
D−NOR複合ゲート、ゲート222は0R−NAND
複合ゲート、ゲート223は排他的OR回路である。信
号y2j+220” ’2j+1202 p ’72j
203はそれぞれ乗数Yの第25+2桁、第2j+1桁
、第2j桁を表す1ビツト2値信号である。ただし、j
は偶数である。また、信号す、231.b、232、b
。
0または正整数)であシ、ゲート211はインバータ回
路、ゲート212はNAND回路、ゲート221はAN
D−NOR複合ゲート、ゲート222は0R−NAND
複合ゲート、ゲート223は排他的OR回路である。信
号y2j+220” ’2j+1202 p ’72j
203はそれぞれ乗数Yの第25+2桁、第2j+1桁
、第2j桁を表す1ビツト2値信号である。ただし、j
は偶数である。また、信号す、231.b、232、b
。
】)】
233はリコードされた乗数の第1桁す、を表す3ビッ
ト信号である。なお、信号す、は、0R−NAND複合
ゲート222およびインバータ回路211で構成される
回路によって生成され、信号b、は排他的OR回路22
3によって決定され1、 J 信号す、はAND−NOR複合ゲート221およ】 びインバータ回路211で構成される回路によって決定
する。
ト信号である。なお、信号す、は、0R−NAND複合
ゲート222およびインバータ回路211で構成される
回路によって生成され、信号b、は排他的OR回路22
3によって決定され1、 J 信号す、はAND−NOR複合ゲート221およ】 びインバータ回路211で構成される回路によって決定
する。
第3図は、iが奇数(つまり2に+1)の場合のリコー
ド回路図である◇同図中、ゲート261゜262.27
2および273は、それぞれ第2図におけるインバータ
回路211、NAND回路212.0R−NAND複合
ゲート222および排他的OR回路223と同様であり
、ゲート263および273は、NOR回路である。ま
た、信号ブ2j+2251 、y2j+1252
、y21 253はそれぞれ乗数Yの第21+2桁、第
21+1桁。
ド回路図である◇同図中、ゲート261゜262.27
2および273は、それぞれ第2図におけるインバータ
回路211、NAND回路212.0R−NAND複合
ゲート222および排他的OR回路223と同様であり
、ゲート263および273は、NOR回路である。ま
た、信号ブ2j+2251 、y2j+1252
、y21 253はそれぞれ乗数Yの第21+2桁、第
21+1桁。
第2j桁を表す1ビツト2値信号である。ただし、桁す
、を表す3ビット信号である。なお、第3図において、
信号す、282およびす、283を決】 定する回路は第2図のものと同じであるが、信号b 7
281 B N OR回路283オヨD 27’ f
構成される回路によって決定される。
、を表す3ビット信号である。なお、第3図において、
信号す、282およびす、283を決】 定する回路は第2図のものと同じであるが、信号b 7
281 B N OR回路283オヨD 27’ f
構成される回路によって決定される。
次に、中間部分積生成器j10について説明するO
中間的な部分積は、b、の値によって一2X。
−X、O,X、2Xのいずれかとなる。ただし、重み2
j は省いている。また2xは被乗数Xの2倍を意味す
る。この被乗数Xの2倍は、1ビツトのシフトをすれば
実現でき、組合せ回路で簡単に作れる◇一方正正負符号
反転は、2の補数表示するために被乗数Xの(各桁毎に
)論理否定Xを生成し、そのXの最下位桁に1を加えれ
ばよい。しかし、1を加える操作を中間部分積生成器1
10でやると、ハードウェア量が多くなるだけでなく、
部分積の生成に多くの時間を費やする。そこで、Xの最
下位桁に1を加える操作を中間部分積生成器110で行
わずに、以後の部分積の加算部にまわせば、ハードウェ
アも増えずに高速化が可能である。また、冗長加算器1
30での補正項1を加える操作を容易にするため、中間
部分積生成器110において、下位・桁の部分で補正(
すなわち、1を加えること)を含めて予め若干計算して
おくとよい◇具体的には、中間部分積生成器110にお
いて、最下位1桁を計算しておき最下位から2桁目に補
正(すなわち1の加算)を行うようにすればよい。
j は省いている。また2xは被乗数Xの2倍を意味す
る。この被乗数Xの2倍は、1ビツトのシフトをすれば
実現でき、組合せ回路で簡単に作れる◇一方正正負符号
反転は、2の補数表示するために被乗数Xの(各桁毎に
)論理否定Xを生成し、そのXの最下位桁に1を加えれ
ばよい。しかし、1を加える操作を中間部分積生成器1
10でやると、ハードウェア量が多くなるだけでなく、
部分積の生成に多くの時間を費やする。そこで、Xの最
下位桁に1を加える操作を中間部分積生成器110で行
わずに、以後の部分積の加算部にまわせば、ハードウェ
アも増えずに高速化が可能である。また、冗長加算器1
30での補正項1を加える操作を容易にするため、中間
部分積生成器110において、下位・桁の部分で補正(
すなわち、1を加えること)を含めて予め若干計算して
おくとよい◇具体的には、中間部分積生成器110にお
いて、最下位1桁を計算しておき最下位から2桁目に補
正(すなわち1の加算)を行うようにすればよい。
このとき、リコードされた乗数の第1桁す、に対応する
中間的な部分積の第1桁は次の論理式によって決定され
る。。
中間的な部分積の第1桁は次の論理式によって決定され
る。。
zn+1=b1■(b、−x、+l)j、x、)。
あるいは、
1=2〜nに対して、
z1=1gQ+(b、−xi−1+b、−x、)。
z=b、・I 。
1]1
c =b、−(b、+b、−x
2] ))1
あるいは、
c =b〒・(bそ+7・i)
2] ))ま
ただし、C2は第2桁へ加える補正項を表し、これは、
加算水の部分で足し込む0なお、Z I T Z L
#C2は共に添字jを省略しているQ 第4図は、第1図の中間部分積生成器110ににおける
部分積の中間桁(つまり、第2桁から第3桁まで)の各
桁に対応する部分を構成する回路の一例である。同図は
特にリコードされた乗数の第j桁bjに対応する中間的
部分積の第2桁から第3桁の間にある第i桁Ziを生成
する回路である。図中、ゲート411はAND−NOR
回路であり、ゲート421は排他的NOR回路である。
加算水の部分で足し込む0なお、Z I T Z L
#C2は共に添字jを省略しているQ 第4図は、第1図の中間部分積生成器110ににおける
部分積の中間桁(つまり、第2桁から第3桁まで)の各
桁に対応する部分を構成する回路の一例である。同図は
特にリコードされた乗数の第j桁bjに対応する中間的
部分積の第2桁から第3桁の間にある第i桁Ziを生成
する回路である。図中、ゲート411はAND−NOR
回路であり、ゲート421は排他的NOR回路である。
また、信号す、401 、b、402およびす。
】
403はリコードされた乗数の第1桁を表す3ビツト2
値信号である。ただし、1は0からn/2−1までの整
数である。信号z1431は中間的な部分積の第1桁を
表す1ビツト2値信号である。ただし、iは1からnま
で整数である。なお、Zl。
値信号である。ただし、1は0からn/2−1までの整
数である。信号z1431は中間的な部分積の第1桁を
表す1ビツト2値信号である。ただし、iは1からnま
で整数である。なお、Zl。
Z およびC2を生成する回路も容易に構成でn+1
きるO
次に、冗長減算器120について説明する。
本減算器120において、リコードされた乗数の偶数桁
b2k に対応する部分積から奇数桁b2に+1に対応
する部分積の減算値を冗長2進数で表現し、減算の際、
桁上げ(あるいは桁借り)の伝播をなくしている。した
がって回路が非常に簡単に構成できる。
b2k に対応する部分積から奇数桁b2に+1に対応
する部分積の減算値を冗長2進数で表現し、減算の際、
桁上げ(あるいは桁借り)の伝播をなくしている。した
がって回路が非常に簡単に構成できる。
冗長2進数の桁riを表2に示す2ビツト2値信号r、
、r、 で表現すると、冗長減算器120における減
算の第1桁は以下のように決定される。
、r、 で表現すると、冗長減算器120における減
算の第1桁は以下のように決定される。
表 2
偶数桁b2k に対応する中間的な部分積の第1桁2.
および奇数桁b2に+1に対応する中間的な部分積の第
i −2桁Wx 2に対して、減算値の第i桁r1は
・ rn+3−6n+1°2n+3・ へ+3=Wn+1■”n+3 あるいは i=3〜n+2に対して r、=zi″wi−2・ ri=”i■71−2 あるいは r?=z、ew、−2+(z、+wi−2)の論理式で
決定される。なお、偶数桁b2kに対する中間的な部分
積の第1桁2.から奇数桁b2に+1に対する中間的な
部分積の第i −2桁Wi−2を減算するのは、それら
の部分積がblが偶数の場合と奇数の場合とで2桁(つ
まり、重みが2 だけ)ずれているためである。また、
2ユ+3+”n+2は、n+3 n+1・ !l+2
111+1と決定できる・第5図は、第1図における
冗長減算器120を構成する冗長減算用回路であり、各
桁1毎の被減数Z1と減数W、との減算を行う回路の一
例を示す。図中、ゲート611はNAND回路、ゲート
521はインバータ回路、ゲ−)6221dOR−NA
ND回路であり、信号z、501は、偶数番目の(つま
り、b2k に対応する)中間的な部分積の第1桁X1
の論理否定を表す1ビット信号であり、信号Wi602
は、奇数番目の(つまり、b2に+1に対応する)中間
的な部分積の第1−2桁を表す1ビット信号である。た
だし、1==1゜2に対しては減数W、が常に0となる
ため、被減数Ziをそのまま減算結果とすればよい。ま
た、i=n+3のときには入力信号の被減数Zi と減
数Wi とを入れ換えることによって、第6図の減算用
回路を使用できる。さらに、信号r s 531および
!、532は減算値、つまり乗数4ビツト当シの部分積
(すなわち、冗長2進数)の第i桁riを表す2ビツト
2値信号である。なお、第6図の回路の代りに、2人力
NOR回路と排他的NOR回路によって減算用回路を容
易に構成できることは自明である。ここで、第5図にお
ける中間的な部分積の桁z1の論理否定”i s。1は
、第4図における排他的NOR回路421を排他的OR
回路で置き替えることにより、ゲート段数を増すことな
く、容易に得られる。
および奇数桁b2に+1に対応する中間的な部分積の第
i −2桁Wx 2に対して、減算値の第i桁r1は
・ rn+3−6n+1°2n+3・ へ+3=Wn+1■”n+3 あるいは i=3〜n+2に対して r、=zi″wi−2・ ri=”i■71−2 あるいは r?=z、ew、−2+(z、+wi−2)の論理式で
決定される。なお、偶数桁b2kに対する中間的な部分
積の第1桁2.から奇数桁b2に+1に対する中間的な
部分積の第i −2桁Wi−2を減算するのは、それら
の部分積がblが偶数の場合と奇数の場合とで2桁(つ
まり、重みが2 だけ)ずれているためである。また、
2ユ+3+”n+2は、n+3 n+1・ !l+2
111+1と決定できる・第5図は、第1図における
冗長減算器120を構成する冗長減算用回路であり、各
桁1毎の被減数Z1と減数W、との減算を行う回路の一
例を示す。図中、ゲート611はNAND回路、ゲート
521はインバータ回路、ゲ−)6221dOR−NA
ND回路であり、信号z、501は、偶数番目の(つま
り、b2k に対応する)中間的な部分積の第1桁X1
の論理否定を表す1ビット信号であり、信号Wi602
は、奇数番目の(つまり、b2に+1に対応する)中間
的な部分積の第1−2桁を表す1ビット信号である。た
だし、1==1゜2に対しては減数W、が常に0となる
ため、被減数Ziをそのまま減算結果とすればよい。ま
た、i=n+3のときには入力信号の被減数Zi と減
数Wi とを入れ換えることによって、第6図の減算用
回路を使用できる。さらに、信号r s 531および
!、532は減算値、つまり乗数4ビツト当シの部分積
(すなわち、冗長2進数)の第i桁riを表す2ビツト
2値信号である。なお、第6図の回路の代りに、2人力
NOR回路と排他的NOR回路によって減算用回路を容
易に構成できることは自明である。ここで、第5図にお
ける中間的な部分積の桁z1の論理否定”i s。1は
、第4図における排他的NOR回路421を排他的OR
回路で置き替えることにより、ゲート段数を増すことな
く、容易に得られる。
また、偶数番目の(つまり、b2k に対応する)中間
的部分積の補正項の足し込みは、前記冗長減算を行う際
に計算しておくと、加算器での足し込みが非常に容易に
なる。つまり、偶数番目の中間的な部分積の第2桁2
とその補正項C2との加算は次の論理式で決定される。
的部分積の補正項の足し込みは、前記冗長減算を行う際
に計算しておくと、加算器での足し込みが非常に容易に
なる。つまり、偶数番目の中間的な部分積の第2桁2
とその補正項C2との加算は次の論理式で決定される。
中間的な部分積の第2桁は
r=0゜
r =X■C
となり、および、第3桁への補正項(つまり桁上げ)t
3は t =0 。
3は t =0 。
t=xac
となる。この補正項t3および奇数番目の中間的な部分
積の第2桁への補正項−C2は加算器で容易に足し込む
ことができる。ただし、奇数番目の中間的な部分積は偶
数番目のものから減算するため、その補正項ばCではな
く、−02となる。
積の第2桁への補正項−C2は加算器で容易に足し込む
ことができる。ただし、奇数番目の中間的な部分積は偶
数番目のものから減算するため、その補正項ばCではな
く、−02となる。
最後に加算器を構成する冗長加算器13oについて説明
する。
する。
冗長加算器130における桁上げの伝播が高々1桁とな
る加算規則を第3表に示す。
る加算規則を第3表に示す。
表 3
このとき、被加数の第1桁X1 と加数の第1桁ア、と
の組合せ状態を表す信号p、を pi=”i”i で導入し、このpiを用いて表3の中間桁上げCiおよ
び中間和8.に以下の算術式 %式% で関係づけられる変数u1.viおよび中間和8゜の絶
対値S、は、それぞれ、 直 り= x ?■y↑。
の組合せ状態を表す信号p、を pi=”i”i で導入し、このpiを用いて表3の中間桁上げCiおよ
び中間和8.に以下の算術式 %式% で関係づけられる変数u1.viおよび中間和8゜の絶
対値S、は、それぞれ、 直 り= x ?■y↑。
ui””i■P i−1+
is+ −丁7r
’ t =(”ta”pt * ) ” (”1 ”7
4”i ”1 )の論理式で決定できる。また最終相2
.はALL−1’ zi=ut(i)vt −1 の論理式で表わされる2ビット信号z、、z、で与えら
れる。
4”i ”1 )の論理式で決定できる。また最終相2
.はALL−1’ zi=ut(i)vt −1 の論理式で表わされる2ビット信号z、、z、で与えら
れる。
第8図は、第1図における冗長加算器130の一例を示
す回路図である。
す回路図である。
図中、ゲート311 はNOR回路、ケート312゜3
51はNAND回路、ゲート313は排他的OR回路、
ゲート332は排他的NOR回路、ゲ−1−352はイ
ンバータ回路、ゲート331はAND−NOR複合ゲー
ト、ゲート352は0R−NへND複合ゲートである。
51はNAND回路、ゲート313は排他的OR回路、
ゲート332は排他的NOR回路、ゲ−1−352はイ
ンバータ回路、ゲート331はAND−NOR複合ゲー
ト、ゲート352は0R−NへND複合ゲートである。
また、信号x7301およびx5302は被加数である
冗長2進数の第1桁xiを表す2ビット信号、7.30
3およびyi304は加数である冗長2進数の第1行y
iを表す2ビット信号、1ビット信号321は第1桁に
おける前記被加数と加数の状態信号p、を表し、1ビッ
ト信号323は第1−1桁における前記被加数と加数の
状態信号p、−4を表し、1ビット信号322は第1桁
における中間和の絶対値を表す信号S、である。信号3
41は第1桁における前記中間桁上げに関係する信号v
1であり、信号343は第L−1桁からの前記中間桁上
げに関係する信号’i−1であり、信号342は第1桁
における前記中間和に関係する信号u1の論理否定信号
i、である。出力信号z、361およびz、382は前
記最終相の第i桁Ziを表す2ビット信号である。
冗長2進数の第1桁xiを表す2ビット信号、7.30
3およびyi304は加数である冗長2進数の第1行y
iを表す2ビット信号、1ビット信号321は第1桁に
おける前記被加数と加数の状態信号p、を表し、1ビッ
ト信号323は第1−1桁における前記被加数と加数の
状態信号p、−4を表し、1ビット信号322は第1桁
における中間和の絶対値を表す信号S、である。信号3
41は第1桁における前記中間桁上げに関係する信号v
1であり、信号343は第L−1桁からの前記中間桁上
げに関係する信号’i−1であり、信号342は第1桁
における前記中間和に関係する信号u1の論理否定信号
i、である。出力信号z、361およびz、382は前
記最終相の第i桁Ziを表す2ビット信号である。
以上の第2図〜第6図に示した回路図において、図中の
排他的OR回路はインバータとの種々の組合せによって
排他的NOR回路に置き換えたり、NAND回路をイン
バータと組合せてNOR回路に置き換えたり、複合ゲー
トや排他的OR回路等をNAND回路、NOR回路ある
いはインバータの組合せで構成したり、あるいは、それ
らの逆を容易に行い得ることは既知である。
排他的OR回路はインバータとの種々の組合せによって
排他的NOR回路に置き換えたり、NAND回路をイン
バータと組合せてNOR回路に置き換えたり、複合ゲー
トや排他的OR回路等をNAND回路、NOR回路ある
いはインバータの組合せで構成したり、あるいは、それ
らの逆を容易に行い得ることは既知である。
なお、本実施例は0M03回路を意識した2値論理で実
現したが、他のテクノロジ(例えば、NMO9、ECL
、TTL 、I I L等)あるいは多値論理を利用
しても容易に実現できる。
現したが、他のテクノロジ(例えば、NMO9、ECL
、TTL 、I I L等)あるいは多値論理を利用
しても容易に実現できる。
本実施例では冗長2進加算木を利用した乗算器について
説明したが、本発明はWallace 木を用いた乗算
器あるいは配列型乗算器等へも容易に適用できる。
説明したが、本発明はWallace 木を用いた乗算
器あるいは配列型乗算器等へも容易に適用できる。
本実施例によれば、簡単な構成の冗長減算用回路を付加
することにより、部分積の数を従来のEooth の方
法による場合に較べて約半数にできるので、例えば冗長
2進加算木を用いた乗算器では加算器の段数が一段減る
ため、実行に要する遅延において2〜3ゲ一ト段短縮さ
れ、素子数において約4割程度削減できる等の効果があ
る。
することにより、部分積の数を従来のEooth の方
法による場合に較べて約半数にできるので、例えば冗長
2進加算木を用いた乗算器では加算器の段数が一段減る
ため、実行に要する遅延において2〜3ゲ一ト段短縮さ
れ、素子数において約4割程度削減できる等の効果があ
る。
発明の効果
本発明によれば、乗数リコード方法を2種類設け、簡単
な回路構成の減算用回路を付加することにより、部分積
の個数を大幅に削減できるので、(1)演算処理装置の
素子数が削減でき、(2)演算処理装置の高速化が図れ
、 (3)回路構成を比較的簡単化でき、 (4)演算処理装置のLSI化が容易かつ経済的になる
、 等の効果がある。
な回路構成の減算用回路を付加することにより、部分積
の個数を大幅に削減できるので、(1)演算処理装置の
素子数が削減でき、(2)演算処理装置の高速化が図れ
、 (3)回路構成を比較的簡単化でき、 (4)演算処理装置のLSI化が容易かつ経済的になる
、 等の効果がある。
第1図は本発明の一実施例を適用した乗算器の構成図、
第2図、第3図は乗数リコード回路の偶数部、奇数部を
それぞれ構成する回路の回路図、第4図は中間部分積生
成器を構成する回路の回路図、第5図は冗長減算器を構
成する回路の回路図、第6図は冗長加算器を構成する加
算用セルを示す回路図である。 100・・・・・・乗数リコード回路、11o・・・・
・・中間部分積生成器、120・・・・・・冗長減算器
、130・・・・・・冗長加算器、140・・・・・・
冗長2進・2進変換器。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第
1 図 箔 2 図 f2jす2 〜すf
727第3図 212ノ+l jzp+
22≧し第40! i bj bj 短 χi χi−/第S図 r4 γt z= ぬ 第 6 図
第2図、第3図は乗数リコード回路の偶数部、奇数部を
それぞれ構成する回路の回路図、第4図は中間部分積生
成器を構成する回路の回路図、第5図は冗長減算器を構
成する回路の回路図、第6図は冗長加算器を構成する加
算用セルを示す回路図である。 100・・・・・・乗数リコード回路、11o・・・・
・・中間部分積生成器、120・・・・・・冗長減算器
、130・・・・・・冗長加算器、140・・・・・・
冗長2進・2進変換器。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第
1 図 箔 2 図 f2jす2 〜すf
727第3図 212ノ+l jzp+
22≧し第40! i bj bj 短 χi χi−/第S図 r4 γt z= ぬ 第 6 図
Claims (1)
- 乗算処理において、乗数を2桁ずつのグループに分割し
、前記グループのほぼ半数に対し、各グループ毎に乗数
をリコードする第1のリコード手段と、前記グループの
他の半数に対し、各グループ毎に乗数を第1のリコード
手段によるリコードとは正負が反転するようにリコード
する第2のリコード手段と、前記第1のリコード手段あ
るいは第2のリコード手段によってリコードされた乗数
の桁と被乗数とから部分積を生成する部分積生成手段と
を有し、部分積の加算における第1ステップで、前記第
1のリコード手段によりリコードされた乗数の桁から生
成された部分積と、前記第2のリコード手段によりリコ
ードされた乗数の桁から生成された部分積とを減算する
ようにした演算処理装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61216592A JPS6371729A (ja) | 1986-09-12 | 1986-09-12 | 演算処理装置 |
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 |
---|---|---|---|
JP61216592A JPS6371729A (ja) | 1986-09-12 | 1986-09-12 | 演算処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5112842A Division JPH07122847B2 (ja) | 1993-05-14 | 1993-05-14 | 演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6371729A true JPS6371729A (ja) | 1988-04-01 |
JPH0582609B2 JPH0582609B2 (ja) | 1993-11-19 |
Family
ID=16690832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61216592A Granted JPS6371729A (ja) | 1986-06-27 | 1986-09-12 | 演算処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6371729A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6410325A (en) * | 1987-07-03 | 1989-01-13 | Matsushita Graphic Communic | Binary multiplication device |
JPH02115929A (ja) * | 1988-10-25 | 1990-04-27 | Nec Corp | 乗算器 |
-
1986
- 1986-09-12 JP JP61216592A patent/JPS6371729A/ja active Granted
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6410325A (en) * | 1987-07-03 | 1989-01-13 | Matsushita Graphic Communic | Binary multiplication device |
JPH02115929A (ja) * | 1988-10-25 | 1990-04-27 | Nec Corp | 乗算器 |
Also Published As
Publication number | Publication date |
---|---|
JPH0582609B2 (ja) | 1993-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6240438B1 (en) | Multiplier circuit for reducing the number of necessary elements without sacrificing high speed capability | |
US4363107A (en) | Binary multiplication cell circuit | |
US4864528A (en) | Arithmetic processor and multiplier using redundant signed digit arithmetic | |
JPS61502288A (ja) | X×yビット・アレ−掛け算器/アキュムレ−タ回路 | |
US4878192A (en) | Arithmetic processor and divider using redundant signed digit arithmetic | |
EP0113391A2 (en) | Digital multiplier and method for adding partial products in a digital multiplier | |
JP2970231B2 (ja) | 並列乗算回路 | |
JP2000235479A (ja) | 和・比較演算を実行するための方法および装置 | |
US4866655A (en) | Arithmetic processor and divider using redundant signed digit | |
US6816877B2 (en) | Apparatus for digital multiplication using redundant binary arithmetic | |
US3842250A (en) | Circuit for implementing rounding in add/subtract logic networks | |
US4873660A (en) | Arithmetic processor using redundant signed digit arithmetic | |
JPS6371729A (ja) | 演算処理装置 | |
US6684236B1 (en) | System of and method for efficiently performing computations through extended booth encoding of the operands thereto | |
JPH063578B2 (ja) | 演算処理装置 | |
US3462589A (en) | Parallel digital arithmetic unit utilizing a signed-digit format | |
JPS5957343A (ja) | 加算回路 | |
JPH06230933A (ja) | 演算処理装置 | |
JPS6349835A (ja) | 演算処理装置 | |
JPH0652500B2 (ja) | 演算処理装置 | |
JP2681968B2 (ja) | 演算処理装置 | |
JPH0610787B2 (ja) | 乗算処理装置 | |
JPH0614318B2 (ja) | 演算処理装置 | |
JPH1011418A (ja) | 積和演算装置 | |
JPH061433B2 (ja) | 演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |