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
Application number
JP61170020A
Other languages
English (en)
Other versions
JPS6325729A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP61170020A priority Critical patent/JPH0652500B2/ja
Priority to US07/074,971 priority patent/US4864528A/en
Priority to US07/086,967 priority patent/US4866657A/en
Publication of JPS6325729A publication Critical patent/JPS6325729A/ja
Priority to US03/239,243 priority patent/US5031136A/en
Priority to US07/599,275 priority patent/US5153847A/en
Publication of JPH0652500B2 publication Critical patent/JPH0652500B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、算術演算処理装置に係り、特に内部演算に乗
算を具え、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 木を用いた乗算器よりレイアウトが容易で
ある。
さらに、この乗算器では、2ビットBooth の方法の適用
によりハードウェア量が削減できる。2ビットBooth の
方法では、乗数を4進SD数(各桁が{−2,−1,
0,1,2}の要素である4進数)にリコードすること
により部分積の数を約半分にし、計算の高速化とハード
ウェア量の削減が行える。このとき、部分積の成分にお
いて、被乗数の2倍と正負の反転が必要である。2倍は
1ビットの左シフトにより行える。正負の反転は、これ
までは、冗長3進数の正負の反転が各桁毎の正負の反転
によって行えることを利用し、被乗数で1になっている
桁を−1にすることにより行っていた。
発明が解決しようとする問題点 上記従来技術では、部分積の生成は容易であるが、部分
積の各桁が正(つまり1)にも負(つまり−1)にも成
り得るため、加算木の全段を同一の一般的な冗長2進加
算用セルで構成する必要があった。これは、前記冗長2
進加算用セル個々のハードウェア量が多い(約70トラ
ンジスタ程度)ことを考慮すると、素子数の削減,回路
構成の簡素化等の実用化面についてあまり配慮されてお
らず、組合せ回路として実現する場合、演算数の桁数が
大きくなると素子数が膨大かつ回路構成が複雑となり、
演算処理装置を1LSIチップに実装することが難しく
なる等の問題点がある。
本発明の目的は、このような従来の問題点を改善し、乗
算器を規則正しい回路構造で、かつ素子数の少ない組合
せ回路として表現し、内部加減算における桁上げ値の伝
播を防止すると共に回路構成を簡素化するこによってL
SIチップに実装が容易である高速な演算処理装置を提
供することにある。
問題点を解決するための手段 上記目的は、乗数と被乗数とを入力して符号付ディジッ
ト表現の部分積を生成する乗算手段を備え、前記乗算手
段が、(a)前記乗数の1ないしは複数桁と前記被乗数
とから、最上位桁以外の各桁が非負の符号付ディジット
表現の部分積を生成する第1の手段と、(b)前記乗数
の1ないしは複数桁と前記被乗数とから、最上位桁以外
の各桁が非正の符号付ディジット表現の部分積を生成す
る第2の手段と、(c)前記第1の手段によって生成さ
れた最上位桁以外の各桁が非負の符号付ディジット数で
ある部分積と第2の手段によって生成された最上位桁以
外の各桁が非正の符号付ディジット数である部分積とを
加算する加算手段とをすることによって、達成される。
作 用 前記第1の手段によって最上位桁以外の各桁が非負であ
る符号付きディジット表現で部分積を生成し、かつ前記
第2の手段によって最上位桁以外の各桁が非正である符
号付きディジット表現で部分積を生成し、加算木の第1
段目で両者を加算することにより、加算木の第1段目の
加算では、ほとんどの桁で被加数は非負,加数は非正と
なり、加算において桁上げが全く生じず、加算用セルが
非常に簡単になる。したがって、加算木では第1段目の
加算用セルの数が全体の加算用セルの数のほぼ半数を占
めるので、本発明により加算木のハードウェア量を大巾
に削減できる。
また、加算木の第1段目の加算用セルの回路構成が簡単
になるため、そのゲート段数が少なくなり、乗算におけ
る遅延時間(つまり実行時間)が短縮される。
実施例 以下、本発明の一実施例を図面により説明する。
第1図は、本発明の一実施例を適用した乗算器の構成図
である。
乗数リコーダ100は、2ビツトBooth の方法を用いて
乗数を4進SD数(つまり、符号付きディジット数)に
リコードする回路である。
奇数部部分積生成器101は、乗数リコーダ100でリ
コードされた乗数(奇数番目)と被乗数とから最上位桁
が非負で他の桁はすべて非正となる冗長2進数(つま
り、2進SD数)の形式で部分積を生成する回路であ
る。
偶数部部分積生成器102は、乗数リコーダ100でリ
コードされた乗数(偶数番目、0から数える)と被乗数
とから最上位桁が非正で他の桁はすべて非負となる冗長
2進数の形式で部分積を生成する回路である。
第1段目冗長加算器110は、偶数部部分積生成器10
2で生成された最上位桁が非正で他の桁はすべて非負と
なる冗長2進数と奇数部部分積生成器101で生成され
た最上位桁が非負で他の桁はすべて非正となる冗長2進
数との冗長2進体系での加算を行う回路である。
冗長加算器120は、加算木の2段目以降を構成する加
算器であり、一般の冗長2進数同士の冗長2進体系での
加算を行う回路である。
冗長2進・2進変換器130は、積として求まった冗長
2進数を2進数に変換する回路であり、桁上げ先見加算
器等で容易に実現できる。
次に、部分積の生成について説明する。まず冗長2進数
における正負の符号反転の表現法について以下を示す。
nビット2の補数表示の2進整数〔Xn-1n-2 ……X
(Xi∈{0.1})は、 という値をもつ。Xという値をもつ冗長2進数はいくつ
か存在するが、一般には、 はXn-1 が1のとき−1(以後と表す)、0のとき
0)を用いて表す。また、−Xという値をもつ冗長2進
数としては、冗長2進数の正負の反転が各桁毎の正負の
反転により行なえることを利用し、 と同様)を用いて表す。ここでは、これに加え、2の補
数表示の2進数の正負の反転が2の補数をとることによ
り行えるのと同様の原理を利用する。すなわち、 はXが1のとき0,0のとき1)は、 という値をもつもので、−Xという値をもつ冗長2進数
として、 を用い、後で+1の補正を行うことを考える。
は、最上位桁は非正(0か)で他の桁はすべて非負
(0か1)である。同様に、 はX+1という値をもつので、Xという値をもつ冗長2
進数として、 を用い、後で−1の補正を行うことも可能である。
は、最上位桁は非負で他の桁はすべて非正である。
次に、冗長2進加算木を用いた2進乗算器において2ビ
ットBooth の方法を適用した際に、部分積として上記の
冗長2進数を用いハードウェア量を削減する方法につい
て説明する。被乗数を〔an-1n-1 ……a、乗
数を〔bn-1n-2 ……bとする。簡単のため、
nは2のべきであるとする。前記で述べたように、2ビ
ットBooth の方法では、乗数を4進SD数にリコードす
る。リコードされた乗数を〔b′n/2-1 b′n/2-2 ……
b′SD2 (b′∈{−2,−1,0,1,2})と
する。リコードされた乗数の桁b′に対して部分積を
図2のように生成する。図2のように生成すれば、jが
偶数のときは部分積は最上位桁が非正で他の桁はすべて
非負となり、jが奇数のときは部分積は最上位桁が非負
で他の桁はすべて非正となる。
次に、第1図の各ブロックを構成する回路について説明
する。
まず、リコードされた乗数(つまり4進SD数)および
冗長2進数の2値信号化の一例について以下に補足す
る。
リコードされた乗数の1桁b′を表1に示す3ビット
2値信号b′j-b′j2b′j1あるいはb′j+b′j2b′
j1で表現し、冗長2進数の1桁xを表2に示す2ビッ
ト2値信号xi+i-で表現する。
ただし、リコードされた乗数の第j桁b′は、jが偶
数のときには、3ビット信号b′j-b′j2b′j1で表現
し、jが奇数のときには、3ビット信号b′j+b′
j2b′j1で表現する。
以上のように2値信号化を行うと、乗数リコード用セル
におけるリコードされた乗数の第j桁b′の決定は、
次の論理式によって行われる。
また、1からn/2−1の値をとる整数jに対して、 以上の論理式において、・は論理積(AND)、+は論
理和(OR)、はbの論理否定を表す演算子である。
第3図は、第1図の乗数リコーダ100を構成する乗数
リコード用セルを示す概略回路図である。同図はNOR
/ORによって乗数リコード用セルを実現した一例であ
り、特にjが偶数の場合の回路である。ゲート311か
ら319まではそれぞれNOR/OR回路であり、信号
2j+1301,b2j303,b2j-1305はそれぞれ乗
数の第2j+1桁,第2j桁,第2j−1桁を表す1ビ
ット2値信号である。また、 は、それぞれb2j+1301,b2j303,b2j-1305
の論理否定である。またb′j-404,b′j2321,
b′j1325はリコードされた乗数b′を表す3ビッ
ト信号であり、 はそれらの論理否定である。なお、第3図はjが偶数の
場合の乗数リコード用セルであるが、jが奇数の場合の
乗数リコード用セルも同様にして容易に構成できる。
次に、部分積生成器101,102について説明する。
部分積の生成において、下位の部分で補正(すなわち、
1あるいは−1の足し込み)を含めて予め若干計算を行
った結果を部分積としておくと、加算木の二段目以降で
補正を足し込むのが楽になる。具体的には、リコードさ
れた乗数の桁b′に対する部分積の生成において、j
が偶数なら最下位2桁を計算してき最下位から3桁目に
補正を行い、jが奇数なら最下位1桁を計算しておき最
下位から2桁目に補正を行うようにする。
このとき、リコードされた乗数の第j桁b′に対応す
る部分積の第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′を表す3ビット信号のうちの1ビ
ット信号であり、 はそれぞれb′を表す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に示す。
このとき、第i桁の加算は、次の論理式によって決定さ
れる。
ただし、xi+は被加数xを表す1ビット信号であり、
i-は加数yを表す1ビット信号である。
第5図は、第1図の第1段目冗長加算器110を構成す
る加算用セルを示す概略回路図である。同図は特に4入
力NOR/ORによって加算用セルを実現した一例であ
る。ゲート511,512はそれぞれNOR/OR回路
であり、信号xi+51は各桁が非負である冗長2進表現
の被加数の第i桁xを表す1ビット信号であり、 はxi+50の論理否定であり、yi-503と は各桁が非負である冗長2進表現の加数の第i桁y
表す1ビット信号とその論理否定である。また、Zi+
22およびZi-523は加算結果の冗長2進数の第i桁
を表す2ビット信号であり、 はZi+522の論理否定である。
最後に、冗長加算器120について説明する。
冗長加算器120における加算規則を表4に示す。
このとき、第i桁における加算は次の論理式によって決
定される。
第6図は、第1図の冗長加算器120を構成する加算用
セルを示す概略回路図である。同図は特に4入力NOR
/ORによって加算用セルを実現した一例である。ゲー
ト611から623まではそれぞれ4入力NOR/OR
回路であり、信号xi+602およびxi-603は被加数
の冗長2進数の第i桁xを表す2ビット信号であり、 はxi+602の論理否定を表す信号であり、yi+605
およびyi-606は加数の冗長2進数の第i桁yを表
す2ビット信号であり、 はyi+605の論理否定を表す信号である。また、信号
631は第i桁の被加数xおよび加数yの両方
が非負であるかどうかを表す信号であり、pi-1 633
は第i−1桁の被加数xi-1 および加数yi-1 の両方が
非負であるかどうかを表す信号である。
はそれぞれp631,pi-1 633の論理否定を表す
信号である。u635と はそれぞれ第i桁における中間桁上げに関係する信号と
その論理否定を表す信号でありui-1 637と はそれぞれ第i−1桁からの中間桁上げとその論理否定
を表す信号である。また、zi+642およびzi-643
は加算結果の第i桁xを表す2ビット信号であり、z
i+641はzi+642の論理否定を表す信号である。
なお、本実施例における回路図はECL回路を意識し4
入力NOR/ORで構成したが、他のテクノロジ(例え
ば、CMOS,NMOS,TTL,IIL等)あるいは
多値論理を用いても構成することが可能である。
本実施例によれば、従来の冗長2進加算木を用いた乗算
器では加算器の一段目を第6図に示す加算用セルで構成
しており、さらに、加算木では一段目の加算用セルの数
が全体の加算用セルの数の約半数を占めるので、従来に
較べ、加算木部に関し、実行に要する遅延(ゲート段
数)において3ゲート段短縮され、素子数において約4
割程度削減できる等の効果がある。
発明の効果 本発明によれば、内部演算に各桁が正,O,負の値をと
り得る符号付きディジット表現数を利用して乗算を行う
際に、部分積同士の加算用セルを簡単な回路構成で実現
できるので、 (1) 演算処理装置の素子数が削減でき、 (2) 演算処理装置の高速化が図れ、 (3) 回路構成を比較的簡単化でき、 (4) 演算処理装置のLSI化が容易かつ経済的にな
る、 等の効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を適用した乗算器の構成図、
第2図は部分積の生成法を示す図、第3図は乗数リコー
ド用セルを示す概略回路図、第4図は偶数部部分積生成
用セルを示す概略回路図、第5図は第1段目加算用セル
を示す概略回路図、第6図は第2段目以降の加算用セル
を示す概略回路図である。 100……乗数リコーダ、101……奇数部部分積生成
器、102……偶数部部分積生成器、110……第1段
目冗長加算器、120……冗長加算器、130……冗長
2進・2進変換器。

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】乗数と被乗数とを入力して符号付ディジッ
    ト表現の部分積を生成する乗算手段を備え、 前記乗算手段が、 (a)前記乗数の1ないしは複数桁と前記被乗数とか
    ら、最上位桁以外の各桁が非負の符号付ディジット表現
    の部分積を生成する第1の手段と、 (b)前記乗数の1ないしは複数桁と前記被乗数とか
    ら、最上位桁以外の各桁が非正の符号付ディジット表現
    の部分積を生成する第2の手段と、 (c)前記第1の手段によって生成された最上位桁以外
    の各桁が非負の符号付ディジット数である部分積と前記
    第2の手段によって生成された最上位桁以外の各桁が非
    正の符号付ディジット数である部分積とを加算する加算
    手段と を有することを特徴とする演算処理装置。
  2. 【請求項2】第1の手段と第2の手段とが、対を成すよ
    うに構成することを特徴とする特許請求の範囲第1項の
    演算処理装置。
  3. 【請求項3】隣接する2つの部分積をそれぞれ第1の手
    段と第2の手段とによって生成することを特徴とする特
    許請求の範囲第2項記載の演算処理装置。
  4. 【請求項4】第1の手段(または第2の手段)が、 負の部分積(または正の部分積)を生成する際に、被乗
    数または被乗数をシフトした数の各桁の論理否定をとる
    手段を含むことを特徴とする特許請求の範囲第1項、第
    2項、第3項のいずれかに記載の演算処理装置。
  5. 【請求項5】第2の手段が、 部分積の最上位桁以外の各桁に対して該桁の符号反転を
    とる手段を含むことを特徴とする特許請求の範囲第4項
    記載の演算処理装置。
  6. 【請求項6】第1の手段が、 部分積の最上位桁に対して該桁の符号反転をとる手段を
    含むことを特徴とする特許請求の範囲第4項記載の演算
    処理装置。
  7. 【請求項7】(a)乗数の1ないしは複数桁と被乗数と
    から、符号付ディジット数である部分積を生成する第1
    の手段と、 (b)前記乗数の1ないしは複数桁と前記被乗数とか
    ら、符号付ディジット数である部分積を生成する第2の
    手段と、 (c)前記第1の手段によって生成された部分積と第2
    の手段によって生成された部分積とを加算する符号付デ
    ィジット加算手段と を有する乗算手段を備え、 前記第1の手段および第2の手段が、 各部分積の最下位から2桁目以上の桁への補正項を生成
    する手段を含むことを特徴とする演算処理装置。
  8. 【請求項8】第1の手段が、 部分積の最下位から3桁目への補正項を生成する手段を
    含み、 第2の手段が、 部分積の最下位から2桁目への補正項を生成する手段を
    含むことを特徴とする特許請求の範囲第7項記載の演算
    処理装置。
JP61170020A 1986-06-27 1986-07-18 演算処理装置 Expired - Lifetime JPH0652500B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02300930A (ja) * 1989-05-16 1990-12-13 Oki Electric Ind Co Ltd 乗算回路

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