JPH061436B2 - 演算処理装置 - Google Patents
演算処理装置Info
- Publication number
- JPH061436B2 JPH061436B2 JP61170004A JP17000486A JPH061436B2 JP H061436 B2 JPH061436 B2 JP H061436B2 JP 61170004 A JP61170004 A JP 61170004A JP 17000486 A JP17000486 A JP 17000486A JP H061436 B2 JPH061436 B2 JP H061436B2
- Authority
- JP
- Japan
- Prior art keywords
- digit
- signed
- significant
- negative
- circuit
- 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
- 230000000295 complement effect Effects 0.000 claims description 18
- 239000002131 composite material Substances 0.000 description 14
- 230000014509 gene expression Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 1
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、算術演算処理装置に係り、特に内部演算に加
減算あるいは正負の符号反転を具え、LSI化に好適な
高速演算処理装置に関する。
減算あるいは正負の符号反転を具え、LSI化に好適な
高速演算処理装置に関する。
従来の技術 従来、例えば高速乗算器に関しては、電子通信学会論文
誌、Vol.J66−D,No.6(1983年)第68
3頁から第690頁に論じられており、また、高速除算
器に関しては、電子通信学会論文誌、Vol.J67−
D,No.4(1984年)第450頁から第457頁に
おいて論じられている。これらは各桁を{−1,0,
1}の要素で表す冗長2進表現(一種の拡張SD表現)
を利用して、組合せ回路により乗算あるいは除算を実行
する演算器である。したがって、演算処理時間や規則正
しい配列構造の点で他の演算器より優れているが、素子
数や面積の削減等の実用化の点については配慮されてい
なかった。
誌、Vol.J66−D,No.6(1983年)第68
3頁から第690頁に論じられており、また、高速除算
器に関しては、電子通信学会論文誌、Vol.J67−
D,No.4(1984年)第450頁から第457頁に
おいて論じられている。これらは各桁を{−1,0,
1}の要素で表す冗長2進表現(一種の拡張SD表現)
を利用して、組合せ回路により乗算あるいは除算を実行
する演算器である。したがって、演算処理時間や規則正
しい配列構造の点で他の演算器より優れているが、素子
数や面積の削減等の実用化の点については配慮されてい
なかった。
発明が解決しようとする問題点 上記従来技術では、高速演算器に関し、NORとORが
同時にとれるECL論理素子の特長を活かして乗算ある
いは除算等を組合せ回路として実現する方法が提案され
ているが、素子数の削減、他の回路系による実現等の実
用化面についてあまり配慮されておらず、 (1)演算数の桁数が大きくなると素子数が膨大となり、
1個のLSIチップで実現することが難しい。
同時にとれるECL論理素子の特長を活かして乗算ある
いは除算等を組合せ回路として実現する方法が提案され
ているが、素子数の削減、他の回路系による実現等の実
用化面についてあまり配慮されておらず、 (1)演算数の桁数が大きくなると素子数が膨大となり、
1個のLSIチップで実現することが難しい。
(2)NORとORを同時にとることのできないMOS回
路等で実現する場合、ORをNORとインバータの2段
の素子で構成する必要があり、それだけで演算回路の段
数が多くなるため、演算遅延時間が大きくなる。
路等で実現する場合、ORをNORとインバータの2段
の素子で構成する必要があり、それだけで演算回路の段
数が多くなるため、演算遅延時間が大きくなる。
等の問題点がある。
本発明の目的は、このような従来の問題点を改善し、演
算処理装置を配列構造で、かつ素子数の少ない組合せ回
路として実現し、桁上げ値の伝播を最小にすると共に回
路構成を簡単化することによってLSIに実装が容易で
ある高速な演算処理装置を提供することにある。
算処理装置を配列構造で、かつ素子数の少ない組合せ回
路として実現し、桁上げ値の伝播を最小にすると共に回
路構成を簡単化することによってLSIに実装が容易で
ある高速な演算処理装置を提供することにある。
問題点を解決するための手段 上記目的は、演算処理装置の内部演算数に、各桁が正、
0、負のいずれかの値をとり得る符号付ディジット(つ
まりSD)数(基数n)を用い、最上位桁以外の各桁が
非負(あるいは非正)の符号付ディジット数Yに対し
て、(a)前記符号付きディジット数Yの最上位桁の大き
さの補数(つまりn−1の補数、ただし、1の補数は論
理否定と等価である。)の符号反転(あるいは最上位桁
の大きさの補数)を生成する第1の手段と、(b)前記符
号付ディジット数Yの最上位桁以外のの非負(あるいは
非正)の各桁をその桁の大きさの補数(あるいはその桁
の大きさの補数の符号反転)に変換する第2手段と、
(c)前記符号付ディジット数Yの最下位桁に補正項を加
算する第3の手段とを有する符号反転手段を設けること
により達成される。
0、負のいずれかの値をとり得る符号付ディジット(つ
まりSD)数(基数n)を用い、最上位桁以外の各桁が
非負(あるいは非正)の符号付ディジット数Yに対し
て、(a)前記符号付きディジット数Yの最上位桁の大き
さの補数(つまりn−1の補数、ただし、1の補数は論
理否定と等価である。)の符号反転(あるいは最上位桁
の大きさの補数)を生成する第1の手段と、(b)前記符
号付ディジット数Yの最上位桁以外のの非負(あるいは
非正)の各桁をその桁の大きさの補数(あるいはその桁
の大きさの補数の符号反転)に変換する第2手段と、
(c)前記符号付ディジット数Yの最下位桁に補正項を加
算する第3の手段とを有する符号反転手段を設けること
により達成される。
作 用 例えば、内部演算において、各桁を0、正整数およびそ
の正整数に対応する負整数のいずれかの要素で表す拡張
SD(Signed Digit)表現、すなわち符号付きディジッ
ト表現を用いて内部演算数を表す。
の正整数に対応する負整数のいずれかの要素で表す拡張
SD(Signed Digit)表現、すなわち符号付きディジッ
ト表現を用いて内部演算数を表す。
つまり、各桁を{−1,0,1},{−2,−1,0,
1,2}あるいは{−N,……,−1,0,1,……,
N}等のいずれかの要素で表し、1つの数をいくとおり
かに表せるように冗長性をもたせる。そのとき、中間桁
上げ(あるいは中間桁借り)と中間和(あるいは中間
差)は、桁下位桁からの桁上げ(あるいは桁借り)があ
っても、その桁の中間和(あるいは中間差)との下位桁
からの桁上げ(あるいは桁借り)との和(あるいは差)
が必ず1桁内に収まるように、その桁の中間桁上げ(あ
るいは中間桁借り)と中間和(あるいは中間差)をそれ
ぞれ決定することができる。それによって、加算(ある
いは減算)において桁上げ(あるいは桁借り)の伝播を
防止でき、組合せ回路による並列加算(あるいは減算)
が演算数の桁数に関係なく一定時間で行える。例えば、
各桁を{−1,0,1}の要素で表す拡張SD表現(つ
まり、冗長2進表現)では、加算(あるいは減算)にお
いて桁上げ(あるいは桁借り)が高々1桁しが伝播しな
いようにすることができる。このことに関しては、電子
通信学会論文誌、Vol.J67−D,No.4(198
4年)第450頁から第457頁あるいは電子通信学会
論文誌、Vol.J66−D,No.6(1983年)第
683頁から第690頁などに説明がある。
1,2}あるいは{−N,……,−1,0,1,……,
N}等のいずれかの要素で表し、1つの数をいくとおり
かに表せるように冗長性をもたせる。そのとき、中間桁
上げ(あるいは中間桁借り)と中間和(あるいは中間
差)は、桁下位桁からの桁上げ(あるいは桁借り)があ
っても、その桁の中間和(あるいは中間差)との下位桁
からの桁上げ(あるいは桁借り)との和(あるいは差)
が必ず1桁内に収まるように、その桁の中間桁上げ(あ
るいは中間桁借り)と中間和(あるいは中間差)をそれ
ぞれ決定することができる。それによって、加算(ある
いは減算)において桁上げ(あるいは桁借り)の伝播を
防止でき、組合せ回路による並列加算(あるいは減算)
が演算数の桁数に関係なく一定時間で行える。例えば、
各桁を{−1,0,1}の要素で表す拡張SD表現(つ
まり、冗長2進表現)では、加算(あるいは減算)にお
いて桁上げ(あるいは桁借り)が高々1桁しが伝播しな
いようにすることができる。このことに関しては、電子
通信学会論文誌、Vol.J67−D,No.4(198
4年)第450頁から第457頁あるいは電子通信学会
論文誌、Vol.J66−D,No.6(1983年)第
683頁から第690頁などに説明がある。
また、乗算、除算、加減算等の演算において拡張SD表
現数、(例えば冗長2進表現数)と各桁が非負(あるい
は非正)の拡張SD表現数(例えば2進表現数)との加
算あるいは減算を多く用いることにより回路構成を簡単
化できる。ただし、最上位桁は負(あるいは正)でもよ
い。
現数、(例えば冗長2進表現数)と各桁が非負(あるい
は非正)の拡張SD表現数(例えば2進表現数)との加
算あるいは減算を多く用いることにより回路構成を簡単
化できる。ただし、最上位桁は負(あるいは正)でもよ
い。
以下では、特に、被加(減)数が冗長2進数Xであり、
加(減)数が2進数Yであり、加算数あるいは減算数
(つまり加算あるいは減算の演算結果)が冗長2進数で
ある加算あるいは減算について説明する。
加(減)数が2進数Yであり、加算数あるいは減算数
(つまり加算あるいは減算の演算結果)が冗長2進数で
ある加算あるいは減算について説明する。
冗長2進数と2進数の加算において、桁上げが1桁しか
伝播しない加算規則では、中間和を表1に示す規則に従
って決定し、中間桁上げを表2に示す規則に従って決定
する。
伝播しない加算規則では、中間和を表1に示す規則に従
って決定し、中間桁上げを表2に示す規則に従って決定
する。
本発明では、最上位桁は非正でその他の桁すべてが非負
である冗長2進数Y=〔yn-1,yn-2……y1y0〕SD2
あるいは2の補数表示の2進数Y=〔yn-1,yn-2……
y1y0〕2の符号反転、つまり−Yは、前記第1の手
段、第2の手段により得られる最上位桁以外の各桁が非
負の冗長2進数〔wn-1 n-2……1 0〕SD2に、前記
第3の手段により1を加えて、 〔wn-1 n-2……1 0〕SD2+1 と表現できる。ただし、wn-1はyn-1が1あるいは−1
のとき0であり、yn-1が0のとき−1である。つま
り、wn-1−|yn-1|である。また、iはyiの論理
否定(つまり1ならば0,0ならば1)を意味し、|y
n-1|はyn-1の絶対値を意味する。
である冗長2進数Y=〔yn-1,yn-2……y1y0〕SD2
あるいは2の補数表示の2進数Y=〔yn-1,yn-2……
y1y0〕2の符号反転、つまり−Yは、前記第1の手
段、第2の手段により得られる最上位桁以外の各桁が非
負の冗長2進数〔wn-1 n-2……1 0〕SD2に、前記
第3の手段により1を加えて、 〔wn-1 n-2……1 0〕SD2+1 と表現できる。ただし、wn-1はyn-1が1あるいは−1
のとき0であり、yn-1が0のとき−1である。つま
り、wn-1−|yn-1|である。また、iはyiの論理
否定(つまり1ならば0,0ならば1)を意味し、|y
n-1|はyn-1の絶対値を意味する。
したがって、XとYの減算は−Yの加算の形で表せるた
め、各桁の減算xi−yiを被減数xiと減数の論理否定
iとの加算の形で表せる。つまり、減数を減数の各桁
の論理否定をとることによって加算回路で実行できる。
ただし、最上位桁と最下位桁に対しては例外処理のある
いは補正を行う必要がある。これによって、冗長2進数
と2進数との加減算を冗長2進数と2進数との加算回路
で実行でき、回路構成を簡単化できるため、高速な演算
処理装置のLSI化が容易である。
め、各桁の減算xi−yiを被減数xiと減数の論理否定
iとの加算の形で表せる。つまり、減数を減数の各桁
の論理否定をとることによって加算回路で実行できる。
ただし、最上位桁と最下位桁に対しては例外処理のある
いは補正を行う必要がある。これによって、冗長2進数
と2進数との加減算を冗長2進数と2進数との加算回路
で実行でき、回路構成を簡単化できるため、高速な演算
処理装置のLSI化が容易である。
実施例 以下、本発明の一実施例を図面により説明する。
第1図は、本発明の一実施例の演算処理装置を構成する
内部演算としての加減算1桁に相当する基本演算回路の
既略回路図である。特に、第1図は制御信号qの値によ
って加減算を実行する回路であり、q=0のときは加算
を行い、q=1のときには減算を実行する。つまり、 Z=X+Q(Y) の式で表される演算の1桁に相当する部分に回路であ
る。ただし、上式の第1項のXは冗長2進であり、第2
項におけるYは最上位桁以外の各桁が非負である冗長2
進数であり、q=0のときはQ(Y)=Y,q=1のと
きはQ(Y)=−Yとなる。まず第1図を説明する前に
符号反転関数Q(Y)について説明する。
内部演算としての加減算1桁に相当する基本演算回路の
既略回路図である。特に、第1図は制御信号qの値によ
って加減算を実行する回路であり、q=0のときは加算
を行い、q=1のときには減算を実行する。つまり、 Z=X+Q(Y) の式で表される演算の1桁に相当する部分に回路であ
る。ただし、上式の第1項のXは冗長2進であり、第2
項におけるYは最上位桁以外の各桁が非負である冗長2
進数であり、q=0のときはQ(Y)=Y,q=1のと
きはQ(Y)=−Yとなる。まず第1図を説明する前に
符号反転関数Q(Y)について説明する。
上記式は、q=0のときには、冗長2進数Xと最上位桁
以外の各桁が非負である冗長2進数Yとの加算である。
以外の各桁が非負である冗長2進数Yとの加算である。
q=1のとき、つまりXとYとの減算も同じ加算回路を
使用し、回路構成を簡単化するためには、Q(Y)が常
に(つまりqの値にかかわらず)最上位桁以外の各桁が
非負の冗長2進数でなければならない。ここで、最上位
桁以外が非負の冗長2進数と2の補数表示の2進数間の
相互の表現変換が容易に行えるので、以後Yを2の補数
表示の2進数として扱う。
使用し、回路構成を簡単化するためには、Q(Y)が常
に(つまりqの値にかかわらず)最上位桁以外の各桁が
非負の冗長2進数でなければならない。ここで、最上位
桁以外が非負の冗長2進数と2の補数表示の2進数間の
相互の表現変換が容易に行えるので、以後Yを2の補数
表示の2進数として扱う。
今、簡単のためにXとYをともにn桁の整数とする。つ
まり、X=〔xn-1……x1x0〕SD2,Y=〔yn-1……
y1y0〕2と表せる。ただし、冗長2進数を〔 〕SD2,
2の補数表示を2進数を〔 〕2で表記する。
まり、X=〔xn-1……x1x0〕SD2,Y=〔yn-1……
y1y0〕2と表せる。ただし、冗長2進数を〔 〕SD2,
2の補数表示を2進数を〔 〕2で表記する。
これらは および を意味する。ただし、yn-1は符号ビットとし、符号ビ
ットのない数のときには0とすることが可能である。ま
ず、Yが正の場合、つまりyn-1=0のとき、 〔n-2……1 0〕SD2+1 は、 を意味し、これは、 となる。上式において であるため、上式は となり、 −Y=〔n-2……1 0〕SD2+1 となることが分かる。ただし、は−1を意味し、i
はyiの論理否定を意味する。また、Yが負の場合、つ
まりyn-1=1のとき、−Yは2進数における2の補数
表示により、−Y=〔0n-2……1,0〕2+1とな
る。これを冗長2進表示とすると、そのままの形で −Y=〔0n-2……1,0〕SD2+1と表わせる。つ
まり、冗長2進体系におけるYの符号反転は、 −Y=〔(−n-1)n-2……1 0〕SD2+1 で表わせ、右辺の第1項は最上位桁以外の各桁が非負の
冗長2進である。したがって、前記加算式は、 (I)q=0のとき、 〔znzn-1……z0〕SD2=〔xn-1xn-2……x1x0〕SD2 +〔yn-1yn-2……y1y2〕2, (II)q=1のとき、 〔znzn-1……z0〕SD2=〔xn-1xn-2……x1x0〕SD2 +〔0n-2……1 0〕2 +〔(n-1)0……00〕SD2 +1 と表わせる。ただし、冗長2進数を〔 〕SD2,2の補
数表示の2進数を〔 〕2で表記する。以下、第1図
は、制御信号qの値により上記2式のうち一方の第1桁
から第n-2桁までの演算を行う回路を示し、第2図は、
制御信号qの値により上記2式のうちの一方の最上位桁
つまり、第n-1桁の演算を行う回路を示し、第3図は、
制御信号qの値により上記2式のうちの一方の最下位桁
つまり第0桁の演算を行う回路を示している。
ットのない数のときには0とすることが可能である。ま
ず、Yが正の場合、つまりyn-1=0のとき、 〔n-2……1 0〕SD2+1 は、 を意味し、これは、 となる。上式において であるため、上式は となり、 −Y=〔n-2……1 0〕SD2+1 となることが分かる。ただし、は−1を意味し、i
はyiの論理否定を意味する。また、Yが負の場合、つ
まりyn-1=1のとき、−Yは2進数における2の補数
表示により、−Y=〔0n-2……1,0〕2+1とな
る。これを冗長2進表示とすると、そのままの形で −Y=〔0n-2……1,0〕SD2+1と表わせる。つ
まり、冗長2進体系におけるYの符号反転は、 −Y=〔(−n-1)n-2……1 0〕SD2+1 で表わせ、右辺の第1項は最上位桁以外の各桁が非負の
冗長2進である。したがって、前記加算式は、 (I)q=0のとき、 〔znzn-1……z0〕SD2=〔xn-1xn-2……x1x0〕SD2 +〔yn-1yn-2……y1y2〕2, (II)q=1のとき、 〔znzn-1……z0〕SD2=〔xn-1xn-2……x1x0〕SD2 +〔0n-2……1 0〕2 +〔(n-1)0……00〕SD2 +1 と表わせる。ただし、冗長2進数を〔 〕SD2,2の補
数表示の2進数を〔 〕2で表記する。以下、第1図
は、制御信号qの値により上記2式のうち一方の第1桁
から第n-2桁までの演算を行う回路を示し、第2図は、
制御信号qの値により上記2式のうちの一方の最上位桁
つまり、第n-1桁の演算を行う回路を示し、第3図は、
制御信号qの値により上記2式のうちの一方の最下位桁
つまり第0桁の演算を行う回路を示している。
次に、本発明の一実施例における冗長2進数の2値信号
化について説明する。
化について説明する。
冗長2進数の1桁xiあるいはziをそれぞれ2ビット信
号▲xs i▼ ▲xa i▼あるいは▲zs i▼ ▲za i▼で表
し、−1を11,0を10,1を01と2ビット2値信
号で表現する。このとき、前記式の第2項Q(X)の第i
桁di、中間和si、および中間桁上げciは、それぞれ di=qyi, si=▲xa i▼di, ci=▲s i▼+▲a i▼・di の論理式で決定できる。また、最終和ziは ▲zs i▼=si+i-1, ▲za i▼=sici-1 で表わされる2ビット信号で与えられる。ただしiは1
からn-1までの整数である。またznは ▲zs n▼=▲xs n-1▼+dn-1, ▲za n▼=▲xs n-1▼・▲xa n-1▼・dn-1+s n-1・
n-1 で表わされる2ビット信号で与えられ、さらにz0およ
び第0桁からの桁上げc0は、それぞれ ▲zs 0▼=(y0+▲xs 0▼)・(0+▲s 0▼+▲x
a 0▼), ▲za 0▼=▲xa 0▼ y0, c0=▲xs 0▼・y0+q・0 の論理式で与えられる。以上の論理式において、・は論
理積(AND)を、+は論理和(OR)を、は排他的
論理和(Ex−OR)を▲s i▼,i-1はそれぞれ▲x
s i▼,ci-1の論理否定を表す演算子である。
号▲xs i▼ ▲xa i▼あるいは▲zs i▼ ▲za i▼で表
し、−1を11,0を10,1を01と2ビット2値信
号で表現する。このとき、前記式の第2項Q(X)の第i
桁di、中間和si、および中間桁上げciは、それぞれ di=qyi, si=▲xa i▼di, ci=▲s i▼+▲a i▼・di の論理式で決定できる。また、最終和ziは ▲zs i▼=si+i-1, ▲za i▼=sici-1 で表わされる2ビット信号で与えられる。ただしiは1
からn-1までの整数である。またznは ▲zs n▼=▲xs n-1▼+dn-1, ▲za n▼=▲xs n-1▼・▲xa n-1▼・dn-1+s n-1・
n-1 で表わされる2ビット信号で与えられ、さらにz0およ
び第0桁からの桁上げc0は、それぞれ ▲zs 0▼=(y0+▲xs 0▼)・(0+▲s 0▼+▲x
a 0▼), ▲za 0▼=▲xa 0▼ y0, c0=▲xs 0▼・y0+q・0 の論理式で与えられる。以上の論理式において、・は論
理積(AND)を、+は論理和(OR)を、は排他的
論理和(Ex−OR)を▲s i▼,i-1はそれぞれ▲x
s i▼,ci-1の論理否定を表す演算子である。
第1図は、上記2値信号化により本実施例を構成する加
減算における中間桁の演算回路を示す回路図である。図
中、ゲート111,152は排他的NOR回路、ゲート
132は排他的OR回路、ゲート151はNAND回
路、ゲート131は、OR−AND複合ゲートである。
また信号q100は加算(q=0のとき)が、減算(q
=1のとき)かの制御をする制御信号であり、▲xs i▼
101および▲xa i▼102は前記冗長2進数Xの第i
桁を表す2ビット信号、yi103は2進数(あるいは
非負の冗長2進数)Yの第i桁を表すビット信号であ
り、i111は前記加数Q(Y)の第1桁diの論理否
定、ci141は第i桁での中間桁上げを示す1ビット
信号、i142は第i桁での中間和siの論理否定を示
す1ビット信号、ci-1143は第i−1桁からの中間
桁上げを示す1ビット信号、さらに、▲zi s▼161お
よび▲za i▼162は演算結果Zの第i桁を表す2ビッ
ト出力信号である。
減算における中間桁の演算回路を示す回路図である。図
中、ゲート111,152は排他的NOR回路、ゲート
132は排他的OR回路、ゲート151はNAND回
路、ゲート131は、OR−AND複合ゲートである。
また信号q100は加算(q=0のとき)が、減算(q
=1のとき)かの制御をする制御信号であり、▲xs i▼
101および▲xa i▼102は前記冗長2進数Xの第i
桁を表す2ビット信号、yi103は2進数(あるいは
非負の冗長2進数)Yの第i桁を表すビット信号であ
り、i111は前記加数Q(Y)の第1桁diの論理否
定、ci141は第i桁での中間桁上げを示す1ビット
信号、i142は第i桁での中間和siの論理否定を示
す1ビット信号、ci-1143は第i−1桁からの中間
桁上げを示す1ビット信号、さらに、▲zi s▼161お
よび▲za i▼162は演算結果Zの第i桁を表す2ビッ
ト出力信号である。
第1図において冗長2進数Xと2進数Q(Y)との加算
回路は、OR−NAND複合ゲート131、排他的OR
回路132、NAND回路151および排他的NOR回
路152によって構成している。特に、中間桁上げci
の決定をOR−NAND複合ゲート131によって行
い、中間和siの論理否定iを排他的OR回路132で
決定し、中間和を表す信号142と下位桁からの中間
桁上げを表す信号ci-1143を入力して最終和の2ビ
ット信号▲zs i▼161と▲za i▼162を出力する回
路は、NAND回路151および排他的NOR回路15
2によって構成している。また、2進数あるいは非負の
冗長2進数)Yの正負の符号反転のために中間桁(つま
り第1桁から第n−2桁まで)の論理否定を制御信号q
の値によって行う手段は、排他的NOR回路111で実
現している。
回路は、OR−NAND複合ゲート131、排他的OR
回路132、NAND回路151および排他的NOR回
路152によって構成している。特に、中間桁上げci
の決定をOR−NAND複合ゲート131によって行
い、中間和siの論理否定iを排他的OR回路132で
決定し、中間和を表す信号142と下位桁からの中間
桁上げを表す信号ci-1143を入力して最終和の2ビ
ット信号▲zs i▼161と▲za i▼162を出力する回
路は、NAND回路151および排他的NOR回路15
2によって構成している。また、2進数あるいは非負の
冗長2進数)Yの正負の符号反転のために中間桁(つま
り第1桁から第n−2桁まで)の論理否定を制御信号q
の値によって行う手段は、排他的NOR回路111で実
現している。
つまり排他的NOR回路111は、 q=0のとき、i=0yi , すなわち、di=yi, q=1のとき、i=1yi すなわち、di=i のように動作する。ただし、0yi=yi, 1+yi=iは容易に推察できる。
第2図は、本実施例を構成する加減算における最上位桁
の演算回路を示す概略回路図である。
の演算回路を示す概略回路図である。
図中、ゲート211,252は排他的NOR回路、ゲー
ト232は排他的OR回路、ゲート202,203,2
31はインバータ回路、ゲート251,253はNAN
D回路、ゲート254はOR−NAND複合ゲートであ
る。
ト232は排他的OR回路、ゲート202,203,2
31はインバータ回路、ゲート251,253はNAN
D回路、ゲート254はOR−NAND複合ゲートであ
る。
また、制御信号q100は第1図のものと同じ信号であ
り、信号▲xs n-1▼201,▲xa n-1▼202,yn-1
203,n-1221,n-1242,cn-2243,▲
zs n-1▼261、および▲za n-1▼262は、それぞれ
第1図における信号▲xs i▼101,▲xa i▼102,
yi103,i121,i142、ci-1143,▲z
s i▼161、および▲za i▼162において、i=n−
1とした場合と同じ信号である。さらに信号▲zs i▼2
63において▲za n▼264は演算結果Zの第n桁を表
す2ビット出力信号である。
り、信号▲xs n-1▼201,▲xa n-1▼202,yn-1
203,n-1221,n-1242,cn-2243,▲
zs n-1▼261、および▲za n-1▼262は、それぞれ
第1図における信号▲xs i▼101,▲xa i▼102,
yi103,i121,i142、ci-1143,▲z
s i▼161、および▲za i▼162において、i=n−
1とした場合と同じ信号である。さらに信号▲zs i▼2
63において▲za n▼264は演算結果Zの第n桁を表
す2ビット出力信号である。
第2図において、排他的OR回路232は中間和siの
論理否定n-1を決定し、NAND回路251および排
他的NOR回路252は、中間和を表す信号n-124
2と下位桁からの中間桁上げを表す信号cn-2243と
から、2ビット信号▲zs n-1▼261および▲za n-1▼
262を決定する回路である。また、制御信号qの値に
よってYの最上位桁(つまり第n−1桁)の論理否定を
とる手段は、排他的NOR回路211で実現される。そ
の動作は第1図の排他的NOR回路111と同様であ
る。
論理否定n-1を決定し、NAND回路251および排
他的NOR回路252は、中間和を表す信号n-124
2と下位桁からの中間桁上げを表す信号cn-2243と
から、2ビット信号▲zs n-1▼261および▲za n-1▼
262を決定する回路である。また、制御信号qの値に
よってYの最上位桁(つまり第n−1桁)の論理否定を
とる手段は、排他的NOR回路211で実現される。そ
の動作は第1図の排他的NOR回路111と同様であ
る。
また、yn-1の論理否定n-1を符号反転して加算する場
合も、そのままyn-1を加算する場合も、中間和sn-1の
値は同じであるため、yn-1の論理否定n-1の符号反転
の影響は演算結果の第n桁にのみ及ぶ。したがってy
n-1の論理否定n-1の符号反転を行う手段は、第n−1
桁の中間桁上げを決定する回路と組合せて、NAND回
路253、OR−NAND複合ゲート254およびイン
バータ回路202,203,231によって構成してい
る。つまり、これらによって構成された回路は、dn-1
=0,xn-1=1のときxn=−1となり、dn-1=1,
xn-1=−1のときzn=−1となり、他の場合には、z
n=0となるように動作する。
合も、そのままyn-1を加算する場合も、中間和sn-1の
値は同じであるため、yn-1の論理否定n-1の符号反転
の影響は演算結果の第n桁にのみ及ぶ。したがってy
n-1の論理否定n-1の符号反転を行う手段は、第n−1
桁の中間桁上げを決定する回路と組合せて、NAND回
路253、OR−NAND複合ゲート254およびイン
バータ回路202,203,231によって構成してい
る。つまり、これらによって構成された回路は、dn-1
=0,xn-1=1のときxn=−1となり、dn-1=1,
xn-1=−1のときzn=−1となり、他の場合には、z
n=0となるように動作する。
第3図は、本実施例を構成する加減算における最下位桁
の演算回路を示す概略回路図である。図中、ゲート31
1,312,313および314はインバータ回路、ゲ
ート321はOR−NAND複合ゲート、ゲート322
はAND−NOR複合ゲート、ゲート323は排他的O
R回路である。
の演算回路を示す概略回路図である。図中、ゲート31
1,312,313および314はインバータ回路、ゲ
ート321はOR−NAND複合ゲート、ゲート322
はAND−NOR複合ゲート、ゲート323は排他的O
R回路である。
制御信号q100は第1図のものと同じ信号であり、▲
xs 0▼301および▲xa 0▼302は前記冗長2進数X
の第0桁を表す2ビット信号、y0は2進数(あるいは
非負の冗長2進数)Yの第0桁を表す1ビット信号であ
り、c0331は第0桁での中間桁上げを表す1ビット
信号である。さらに▲zs 0▼332および▲za 0▼33
3は演算結果Zの第0桁を表す2ビット信号である。
xs 0▼301および▲xa 0▼302は前記冗長2進数X
の第0桁を表す2ビット信号、y0は2進数(あるいは
非負の冗長2進数)Yの第0桁を表す1ビット信号であ
り、c0331は第0桁での中間桁上げを表す1ビット
信号である。さらに▲zs 0▼332および▲za 0▼33
3は演算結果Zの第0桁を表す2ビット信号である。
ここで、Yの最下位桁(つまり第0桁)の論理否定0
に1を加算すると、 y0=0のとき、0+1=1×2+y0, y0=1のとき、0+1=0×2+y0, となるため、Yを符号反転してもしなくても最下位桁y
0は変化しない。また、その場合Yの符号反転は中間桁
上げに影響し、q=1,y0=0のとき桁上げが発生す
る。
に1を加算すると、 y0=0のとき、0+1=1×2+y0, y0=1のとき、0+1=0×2+y0, となるため、Yを符号反転してもしなくても最下位桁y
0は変化しない。また、その場合Yの符号反転は中間桁
上げに影響し、q=1,y0=0のとき桁上げが発生す
る。
したがって、第3図において複合ゲート322、排他的
OR回路323およびインバータ回路312,313,
314と複合ゲート321の半分(つまりインバータ3
12の出力と信号301を入力とするNOR回路)とで
構成される回路は、Yの符号反転を行わないときの最下
位桁の加算回路である。また、制御信号q100の値に
よって最下位桁に1を加算する手段は、複合ゲート32
1とインバータ回路311によって構成される回路で実
現している。つまりこの回路は、q=1,y0=0のと
き、最下位桁の中間桁上げc0=1となるように動作す
る。
OR回路323およびインバータ回路312,313,
314と複合ゲート321の半分(つまりインバータ3
12の出力と信号301を入力とするNOR回路)とで
構成される回路は、Yの符号反転を行わないときの最下
位桁の加算回路である。また、制御信号q100の値に
よって最下位桁に1を加算する手段は、複合ゲート32
1とインバータ回路311によって構成される回路で実
現している。つまりこの回路は、q=1,y0=0のと
き、最下位桁の中間桁上げc0=1となるように動作す
る。
なお、本実施例の図中の排他的OR回路はインバータと
の種々の組合せによって排他的NOR回路に置き換えた
り、NANDをインバータと組合せてNORに置き換え
たり、複合ゲートをNANDとNORの組合せで構成し
たり、あるいは、それらの逆を容易に行い得ることは既
知である。また、第3図の複合ゲート321等の切換え
回路はトランスファー.ゲートを用いて構成することも
可能である。
の種々の組合せによって排他的NOR回路に置き換えた
り、NANDをインバータと組合せてNORに置き換え
たり、複合ゲートをNANDとNORの組合せで構成し
たり、あるいは、それらの逆を容易に行い得ることは既
知である。また、第3図の複合ゲート321等の切換え
回路はトランスファー.ゲートを用いて構成することも
可能である。
また、第1図の演算回路は、6トランジスタの排他的O
R、排他的NOR回路を使用すると28トランジスタで
あり、クリティカル・パスのゲート段数は3ゲート段と
なる。
R、排他的NOR回路を使用すると28トランジスタで
あり、クリティカル・パスのゲート段数は3ゲート段と
なる。
以上の実施例では、特に、各桁が非負の冗長2進の符号
反転を加減算の演算処理の一部として、CMOS回路を
意識して2値論理で実現したが、本発明は、各桁が非正
の冗長2進数の符号反転にも容易に適用できることが類
推できる。さらに、本発明は他のテクノロジ(例えば、
NMOS,ECL,TTL,IIL等)あるいは多値論
理を用いても容易に実現できる。
反転を加減算の演算処理の一部として、CMOS回路を
意識して2値論理で実現したが、本発明は、各桁が非正
の冗長2進数の符号反転にも容易に適用できることが類
推できる。さらに、本発明は他のテクノロジ(例えば、
NMOS,ECL,TTL,IIL等)あるいは多値論
理を用いても容易に実現できる。
本実施例によれば、冗長2進数と2進数との加減算等の
基本演算の実行に要する遅延が、演算数の桁数に関係な
く、一律に3ゲート段であり、また、前記基本演算の1
桁分に相当する回路は約30トランジスタ程度の素子か
ら構成される。
基本演算の実行に要する遅延が、演算数の桁数に関係な
く、一律に3ゲート段であり、また、前記基本演算の1
桁分に相当する回路は約30トランジスタ程度の素子か
ら構成される。
したがって、本基本演算回路の規則正しい配列構造の組
合せ回路によって構成した除算器は、順次桁上げ加算器
の配列構造である従来の減算シフト型除算器に比べ、ト
ランジスタ数でほぼ半分程度、計算時間(ゲート段数)
において32ビットの除算で約12分の1,64ビット
の除算で約24分の1程度になる。
合せ回路によって構成した除算器は、順次桁上げ加算器
の配列構造である従来の減算シフト型除算器に比べ、ト
ランジスタ数でほぼ半分程度、計算時間(ゲート段数)
において32ビットの除算で約12分の1,64ビット
の除算で約24分の1程度になる。
つまり、除算器等の演算処理装置の回路素子の削減のL
SI化の容易性および高速化等に効果がある。
SI化の容易性および高速化等に効果がある。
発明の効果 本発明によれば、演算処理装置の内部演算に各桁に正、
0、負の値を許す符号付きディジット表現数を用いて加
減算等を行う場合、最上位桁以外が非負(または非正)
の符号付きディジット表現数の符号反転を、もとと同じ
最上位桁以外が非負(または非正)の符号付きディジッ
ト表現数として表わせることが可能であるので、 (1)演算処理装置の素子数が削減でき、 (2)加減算が桁数によらず一定時間で高速処理できるた
め、演算処理装置の高速化が図れ、 (3)回路構成を比較的簡単化することができ、 (4)演算処理装置のLSI化が容易かつ経済的に行え
る、 等の効果がある。
0、負の値を許す符号付きディジット表現数を用いて加
減算等を行う場合、最上位桁以外が非負(または非正)
の符号付きディジット表現数の符号反転を、もとと同じ
最上位桁以外が非負(または非正)の符号付きディジッ
ト表現数として表わせることが可能であるので、 (1)演算処理装置の素子数が削減でき、 (2)加減算が桁数によらず一定時間で高速処理できるた
め、演算処理装置の高速化が図れ、 (3)回路構成を比較的簡単化することができ、 (4)演算処理装置のLSI化が容易かつ経済的に行え
る、 等の効果がある。
第1図は本発明の一実施例を構成する加減算における中
間桁の演算回路を示す概略回路図、第2図は本発明の一
実施例を構成する加減算における最上位桁の演算回路を
示す概略回路図、第3図は本発明の一実施例を構成する
加減算における最下位桁の演算回路を示す概略回路図で
ある。 132,232,323,……排他的OR回路、11
1,152,211,252……排他的NOR回路、1
51,251,253……NAND回路、202,20
3,231,311,312,313,314……イン
バータ回路、131,254,321……OR−NAN
D複合回路、322……AND−NOR複合回路。
間桁の演算回路を示す概略回路図、第2図は本発明の一
実施例を構成する加減算における最上位桁の演算回路を
示す概略回路図、第3図は本発明の一実施例を構成する
加減算における最下位桁の演算回路を示す概略回路図で
ある。 132,232,323,……排他的OR回路、11
1,152,211,252……排他的NOR回路、1
51,251,253……NAND回路、202,20
3,231,311,312,313,314……イン
バータ回路、131,254,321……OR−NAN
D複合回路、322……AND−NOR複合回路。
Claims (6)
- 【請求項1】最上位桁以外の各桁が非負(あるいは非
正)の符号付きディジット数Yを入力し、前記符号付き
ディジット数Yを符号反転して最上位桁以外の各桁が非
負(あるいは非正)の符号付きディジット数を生成する
符号反転手段を備え、 前記符号反転手段が、 (a)前記符号付きディジット数Yの最上位桁の大きさ
の補数の符号反転(あるいは最上位桁の大きさの補数)
を生成する第1の手段と、 (b)前記符号付きディジット数Yの最上位桁以外の非
負(あるいは非正)の各桁をその桁の大きさの補数(あ
るいはその桁の大きさの補数の符号反転)に変換する第
2の手段と、 (c)前記符号付きディジット数Yの最下位桁に補正項
を加算する第3の手段とを有することを特徴とする演算
処理装置。 - 【請求項2】第3の手段が、最上位桁以外の各桁が非負
(あるいは非正)の符号付きディジット数Yの最下位桁
に補正項1(あるいは−1)を加算することを特徴とす
る特許請求の範囲第1項記載の演算処理装置。 - 【請求項3】符号付きディジット数の基数が2であっ
て、各桁の大きさの補数が各桁の大きさの論理否定であ
ることを特徴とする特許請求の範囲第1項記載の演算処
理装置。 - 【請求項4】符号反転手段が、2進数Yを入力すること
を特徴とする特許請求の範囲第1項記載の演算処理装
置。 - 【請求項5】最上位桁以外の各桁が非負(あるいは非
正)の基数2の符号付きディジット数Yを入力し、前記
符号付きディジット数Yを符号反転して最上位桁以外の
各桁が非負(あるいは非正)の基数2の符号付きディジ
ット数を生成する符号反転手段を備え、 前記符号反転手段が、 (a)前記符号付きディジット数Yの最上位桁の大きさ
の論理否定の符号反転(あるいは最上位桁の大きさの論
理否定)を生成する第1の手段と、 (b)前記符号付きディジット数Yの最上位桁および最
下位桁以外の非負(あるいは非正)の各桁をその桁の大
きさの論理否定(あるいはその桁の大きさの論理否定の
符号反転)に変換する第2の手段と、 (c)前記符号付きディジット数Yの最下位桁が0であ
るとき、最下位桁の1つ上位桁に補正項1(あるいは−
1)を加算する第3の手段とを有することを特徴とする
演算処理装置。 - 【請求項6】符号付きディジット数Xと最上位桁以外の
各桁が非負(あるいは非正)の符号付きディジット数Y
との加減算手段を備え、 前記加減算手段が、 (a)制御信号Aと前記符号付きディジット数Yの最上
位桁とを入力し、前記制御信号Aの値によって前記符号
付きディジット数Yの最上位桁の大きさの補数の符号反
転(あるいは最上位桁の大きさの補数)を生成する第1
の手段と、 (b)前記制御信号Aと前記符号付きディジット数Yの
最上位桁以外の非負(あるいは非正)の各桁とを入力
し、前記制御信号Aの値によって、前記符号付きディジ
ット数Yの非負(あるいは非正)の各桁をその桁の大き
さの補数(あるいはその桁の大きさの補数の符号反転)
に変換する第2の手段と、 (c)前記制御信号Aと前記符号付きディジット数Yの
最上位桁とを入力し、前記制御信号Aの値によって、前
記符号付きディジット数Yの最下位桁に補正項を加算す
る第3の手段とを有し、 前記制御信号Aの値によって前記符号付きディジット数
Yの符号反転を行い、前記符号付きディジット数Xと前
記符号付きディジット数Yとの加減算を実行することを
特徴とする演算処理装置。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61170004A JPH061436B2 (ja) | 1986-07-18 | 1986-07-18 | 演算処理装置 |
| US07/074,892 US4866655A (en) | 1986-07-18 | 1987-07-17 | Arithmetic processor and divider using redundant signed digit |
| 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 |
|---|---|---|---|
| JP61170004A JPH061436B2 (ja) | 1986-07-18 | 1986-07-18 | 演算処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6325728A JPS6325728A (ja) | 1988-02-03 |
| JPH061436B2 true JPH061436B2 (ja) | 1994-01-05 |
Family
ID=15896805
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61170004A Expired - Lifetime JPH061436B2 (ja) | 1986-06-27 | 1986-07-18 | 演算処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH061436B2 (ja) |
-
1986
- 1986-07-18 JP JP61170004A patent/JPH061436B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
| Title |
|---|
| 電子通信学会論文誌vol.J66−D,No.6(1983年)pp.683〜690 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6325728A (ja) | 1988-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4864528A (en) | Arithmetic processor and multiplier using redundant signed digit arithmetic | |
| US4878192A (en) | Arithmetic processor and divider using redundant signed digit arithmetic | |
| JP3436994B2 (ja) | シフト装置 | |
| US5016211A (en) | Neural network implementation of a binary adder | |
| 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 | |
| US4935892A (en) | Divider and arithmetic processing units using signed digit operands | |
| US5153847A (en) | Arithmetic processor using signed digit representation of internal operands | |
| US3462589A (en) | Parallel digital arithmetic unit utilizing a signed-digit format | |
| US5031136A (en) | Signed-digit arithmetic processing units with binary operands | |
| JPH0528407B2 (ja) | ||
| Sahu et al. | Improved redundant binary adder realization in FPGA | |
| JPH06230933A (ja) | 演算処理装置 | |
| JPH061433B2 (ja) | 演算処理装置 | |
| JPH0614318B2 (ja) | 演算処理装置 | |
| JPH0582609B2 (ja) | ||
| JPH061437B2 (ja) | 演算処理装置 | |
| JPH061435B2 (ja) | 演算処理装置 | |
| JP2681968B2 (ja) | 演算処理装置 | |
| JPH0614317B2 (ja) | 演算処理装置 | |
| JPH0667852A (ja) | 除算器 | |
| US7516172B1 (en) | Method for finding quotient in a digital system | |
| JPH0610787B2 (ja) | 乗算処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |