JPH04363720A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH04363720A
JPH04363720A JP25238091A JP25238091A JPH04363720A JP H04363720 A JPH04363720 A JP H04363720A JP 25238091 A JP25238091 A JP 25238091A JP 25238091 A JP25238091 A JP 25238091A JP H04363720 A JPH04363720 A JP H04363720A
Authority
JP
Japan
Prior art keywords
circuit
digit
arithmetic
input
binary number
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.)
Pending
Application number
JP25238091A
Other languages
English (en)
Inventor
Goichi Otomo
吾一 大友
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP25238091A priority Critical patent/JPH04363720A/ja
Publication of JPH04363720A publication Critical patent/JPH04363720A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、各桁が”0”,”1”
より成る通常2進数を入力数として演算を行ない、通常
2進数を演算結果として出力する演算装置、並びに2つ
の入力数の「大」、「等しい」、「小」等の大きさの関
係を出力する演算装置に関し、特に、高速に演算を行な
う演算装置に関する。
【0002】
【従来の技術】1つの桁として{0,1}を要素とする
通常2進数を用いた加算において、高速化で問題となる
のは桁上げ信号の伝搬である。
【0003】この桁上げ信号の伝搬を図6に示す通常2
進数の加算器を用いて説明する。第i桁では、2つの加
数[A(i),B(i)]と1つ下位の桁からの桁上げ
信号C(i−1)を入力として、和信号Sum(i)と
桁上げ信号C(i)を生成する。加数が[0,0]の場
合、E−OR回路60とインバータ回路64によりクロ
ックド・インバータ回路63の出力をオープンにし、O
R回路62がPチャネル・トランジスタ65をオンにし
てインバータ回路67の入力を”1”にして、桁上げ信
号C(i)を”0”にする。また加数が[1,1]の場
合、E−OR回路60とインバータ回路64によりクロ
ックド・インバータ回路63の出力をオープンにし、A
ND回路61がNチャネル・トランジスタ66をオンに
してインバータ回路67の入力を”0”にして、桁上げ
信号C(i)を”1”にする。このように加数が[0,
0]若しくは[1,1]の場合、下位桁からの桁上げ信
号C(i−1)とは無関係に桁上げ信号C(i)を生成
できる。
【0004】しかし、加数が[0,1]若しくは[1,
0]の場合、E−OR回路60とインバータ回路64に
よりクロックド・インバータ回路63の出力をオープン
にして、インバータ回路67の入力を下位桁からの桁上
げ信号C(i−1)の反転とし、桁上げ信号C(i)に
下位桁からの桁上げ信号C(i−1)をそのまま伝搬す
る。このように加数が[0,1]若しくは[1,0]の
場合、下位桁からの桁上げ信号C(i−1)が決定しな
いと桁上げ信号C(i)を生成できない。また和信号S
um(i)は加数にかかわらずE−OR回路60の出力
と下位からの桁上げ信号C(i−1)のE−OR回路6
8による排他的論理和により生成されるので、下位桁か
らの桁上げ信号C(i−1)が決定しないと生成できな
い。従って、演算が最も遅くなるのは、最下位桁から最
上位桁まで桁上げ信号の伝搬が生じる時、即ち、加数が
[0,1],[1,0]の場合である。
【0005】また他方で、演算器の高速化の方式として
、各桁を{+1,0,−1}の要素などで表す冗長2進
表現を用いたものがある。図7及び図8に冗長2進数を
用いた加算原理を示す。冗長2進表現を用いた加算器は
以下の2段階の操作によって、桁上げ信号の伝搬が高々
1桁しか生じない加算を行なうことができる。
【0006】(1)図7に示すように、当該行の加数が
[+1,+1],[0,0]及び[−1,−1]の場合
は一意に中間桁上げ及び中間和を決定できるが、加数が
[0,+1],[+1,0],[0,−1]及び[−1
,0]の場合は、下位桁から”−1”の桁上げが生じる
可能性があるかないかによって、中間桁上げ及び中間和
を決定する。例えば加数が[+1,0],[0,+1]
の時、下位の2つの加数中に”−1”が1つもない場合
、下位からの中間桁上げ信号は”0”か”+1”であり
”−1”はありえないので、中間和は”−1”中間桁上
げは”+1”と設定し、逆に下位の2つの加数中に”−
1”が1つでもある場合は、下位桁からの中間桁上げ信
号は”0”か”−1”であり”+1”はありえないので
、中間和は”+1”、中間桁上げは”0”と設定して、
必ず下位桁からの桁上げを吸収できるようにしている。
【0007】(2)図8に示すように下位桁で生じた中
間桁上げと当該桁の中間和とを加え、最終和を求める。 この時、(1)で述べたように当該桁で下位桁からの桁
上げを吸収でき、更に上位へ桁上げ信号の伝搬は生じな
い。
【0008】以上の2段階の操作は各桁毎に並列に実行
でき、演算時に桁上げ信号が高々1桁しか伝搬しないの
で、演算数の桁数によらず演算を一定時間で行なえる。 しかし、演算後の結果は冗長2進数であり一般的な2進
数に変換する必要がある。その方法の1つとして、”+
1”の桁を集めたものと”−1”の桁を集めたものに分
割して通常の加減算器に入力し、それらの絶対値の減算
を行なうという方法がある。例えば、冗長2進数(rb
c)[( +1)(−1)(−1)(+1) ]rbc
 (=+3)の通常2進数(bc)への変換は”+1”
を集めた[1001]bcから”−1”を集めた[01
10]bcを引いて、   [1001]bc−[0110]bc=[0011
]bc(=+3)のように行なう。このように冗長2進
表現を用いた加算器は最終的に通常の2進数を用いた加
減算器のような変換器を用いなければならないので、全
体として高速化の効果が失われていた。
【0009】また従来、コンピュータの1命令である大
小比較命令では、算術論理演算器を減算器として動作さ
せ、その演算結果の大きさや符号により2つの入力数の
「大」、「小」「等しい」という大きさの関係を求めて
いた。
【0010】昨今のコンピュータの高速化に伴い、上記
のような大小関係を高速に演算する必要性が高まり、そ
の専用回路として大小比較器を特別に用意するようにな
った。この従来の大小比較器を図16に示す4ビット大
小比較器の論理回路を用いて説明する。
【0011】本従来例の4ビット大小比較器は、2ビッ
ト単位で「A<B」、「A>B」を表現する信号を生成
する2ビット大小比較器を2進木状に接続した構成にな
っている。
【0012】入力4ビットの下位側2ビットに注目する
と、入力2ビットの上位の桁において、2つの入力数A
,Bの大小関係が「A<B」であった場合、インバータ
回路と2入力NAND回路で構成される抑止回路41a
で1桁分の「A<B」の否定を表現する信号を生成し、
また「A>B」であった場合、同様の構成の抑止回路4
1bで1桁分の「A>B」の否定を表現する信号を生成
し、また「A=B」であった場合、2つのインバータ回
路と4入力複合ゲートAND−NOR回路で構成される
一致回路41eで1桁分の「A=B」を表現する信号を
生成する。
【0013】下位の桁では上位の桁が「A=B」であっ
た場合のみ、その桁の2つの入力数A,Bの大小関係で
ある「A>B」及び「A<B」の否定を表現する信号を
生成するように、抑止回路40a及び40bに3入力N
AND回路が用いられている。
【0014】上位の桁と下位の桁の「A>B」の否定を
表現する信号の論理積の否定をNAND回路41でもと
めることにより、入力2ビットの「A>B」を表現する
信号410を生成し、上位の桁と下位の桁の「A<B」
を表現する信号の論理積の否定をNAND回路40でも
とめることにより入力2ビットの「A<B」を表現する
信号400を生成する。
【0015】更に、同様の構成による2段目において、
上位側の入力2ビットが生成した「A>B」を表現する
信号430を上位側のA入力に、「A<B」を表現する
信号420を上位側のB入力に、下位側の入力2ビット
が生成した「A>B」を表現する信号410を下位側の
A入力に、「A<B」を表現する信号400を下位側の
B入力にそれぞれ入力することにより、入力4ビットの
大小関係である「A>B」及び「A<B」を表現する信
号を生成することができる。また、「A=B」を表現す
る信号は、一致回路44e及び45eの出力の論理積を
NAND回路とインバータ回路で構成される論理積回路
46で求めることにより生成する。
【0016】また、2ビット大小比較器を2進木状に並
べることにより、任意の入力桁数の大小比較器を構成す
ることができる。このように、従来方式の大小比較器の
ゲート段数は、入力桁数をWとすると、2ビット大小比
較器のゲート段数が4段であるので、4log2 W段
となり、入力桁数の増加に対する演算速度の低下が大き
い。
【0017】
【発明が解決しようとする課題】以上の様に、従来の通
常2進数を用いる加算器では最下位桁から最上位桁まで
桁上げ信号の伝搬が生じる場合があり、高速化において
問題となる。
【0018】また、冗長2進表現を用いて桁上げ信号の
伝搬を殆ど生じさせない演算方式もあるが、演算の最後
に通常の加減算器に入力し一般的な2進数に変換する必
要があるため、高速化の効果がなくなるという欠点があ
った。
【0019】更に、従来の大小比較器では、入力桁数が
大きい場合にゲート段数が多くなり、演算速度が著しく
低下するという問題があった。
【0020】本発明は、上記問題点を解決するもので、
その目的は、通常2進数の演算を高速に行なえ、また大
小比較演算を高速に行なえる演算装置を提供することで
ある。
【0021】
【課題を解決するための手段】前記課題を解決するため
に、本発明の第1の特徴は、各桁が”0”,”1”より
なる通常2進数を入力として演算を行ない通常2進数を
結果として出力する演算装置において、図1に示す如く
、前記通常2進数を入力として演算を行ない通常2進数
を演算結果とする第1の演算回路10と、前記通常2進
数を入力として演算を行ない”1”,”0”,”−1”
を取り得る冗長2進表現数を演算結果とする第2の演算
回路11と、前記通常2進数を入力として演算を行ない
”2”,”1”,”0”を取り得る冗長2進表現数を演
算結果とする第3の演算回路12と、前記第2の演算回
路11の演算結果の各桁の中の”−1”を検出する第1
の解判定回路13と、前記第3の演算回路12の演算結
果の各桁の中の”2”を検出する第2の解判定回路14
と、前記第1の解判定回路13の判定出力と前記第2の
解判定回路14の判定出力に従い前記第1の演算回路1
0の演算結果と前記第2の演算回路11の演算結果と前
記第3の演算回路13の演算結果の内何れかを選択する
解選択回路15とを具備することである。
【0022】また、本発明の第2の特徴は、図11に示
す如く、2つの入力数の「大」、「等しい」、「小」等
の大きさの関係を出力する演算装置において、2つの入
力数の減算を行ない”+1”,”±0”,”−1”を取
り得る冗長2進数を演算結果とする冗長2進減算器16
と、前記冗長2進減算器16の演算結果で最も上位に位
置する”+1”または”−1”を表現する冗長2進数を
選択して出力するか、或いは”+1”または”−1”を
表現する桁がない場合には”±0”を表現する冗長2進
数を出力する位置符号判定回路17と、前記位置符号判
定回路17の出力である冗長2進数を「大」、「等しい
」、「小」等の大きさの関係に変換する冗長2進数/大
小変換器18とを具備することである。
【0023】
【作用】本発明の第1の特徴の演算装置の作用を、演算
装置の演算が加算である場合を例として説明する。
【0024】本発明の演算装置では、通常2進数を用い
た通常2進加算器(第1の演算回路)10と、通常2進
数を入力とし{+1,0,−1}を要素とする冗長2進
数を出力とする冗長2進加算器(第2の演算回路)11
と、通常の2進数を入力とし{2,1,0}を要素とす
る冗長2進数を出力とする冗長2進加算器(第3の演算
回路)12を並列に動作させ、解選択回路15で3つの
解の内、都合の良いものを選択する構成となっている。
【0025】通常2進数を用いた加算器は加数の多くが
[0,0],[1,1]の場合、下位からの桁上げ信号
によらず桁上げ信号が生成できるため、高速に演算結果
を出力できるが、加数の多くが[0,1],[1,0」
の場合、桁上げ伝搬が長くなり演算速度が低下する。
【0026】一方、通常2進数を入力として冗長2進数
を演算結果とする加算器は、当該桁の加数が[0,1]
,[1,0]の場合、下位桁からの中間桁上げ信号とし
て”1”,”0”のみを仮定すればよく、当該桁の中間
和、中間桁上げの決定方法が冗長2進数を入力する場合
より楽になる。
【0027】先ず、通常2進数を入力とし{+1,0,
−1}を要素とする冗長2進数を演算結果とする加算器
では、図9に示すように当該桁の加数が[0,1],[
1,0]の場合、下位桁からの中間桁上げ信号として”
1”を仮定し、中間和、中間桁上げの決定をする。 この設定により、加数が[0,1],[1,0]の桁へ
の下位桁からの中間桁上げ信号の全てが”1”であった
場合、この加算器の出力には”−1”は現われず、{+
1,0}のみを要素とするものになり、その出力がその
まま通常2進数として扱える。従って、元々演算自身が
高速な上、通常2進数への変換器がいらない分、高速に
演算結果を出力できる。
【0028】また、通常2進数を入力とし{2,1,0
}を要素とする冗長2進数を演算結果とする加算器では
、図10に示すように当該桁の加数が[0,1],[1
,0]の場合、下位桁からの中間桁上げ信号として”0
”を仮定し、中間和、中間桁上げの決定をする。 この設定により、加数が[0,1],[1,0]の桁へ
の下位桁からの中間桁上げ信号の全てが”0”であった
場合、この加算器の出力には”2”は現われず、{1,
0}のみを要素とするものになり、その出力がそのまま
通常2進数として扱える。従って、元々演算自身が高速
な上、通常2進数への変換器がいらない分、高速に演算
結果を出力できる。
【0029】つまり、本発明の演算装置は、通常2進数
を用いた加算器において桁上げ信号の伝搬が長くなる場
合、即ち、加数の多くが[0,1],[1,0]の場合
、冗長2進数を用いる加算器が高速にそのまま通常2進
数として用いることのできる演算結果を出力するので、
冗長2進数を演算結果とする加算器の出力を検出/選択
し、また、冗長2進数を用いた加算器の演算出力がその
まま通常2進数として用いることができないとき、即ち
、加数の多くが[0,0],[1,1]の場合には、通
常2進数を用いる加算器が高速に下位の桁上げ信号を待
たずに桁上げ信号を生成して演算結果を出力するので、
通常2進数を用いた加算器の出力を選択する。従って、
本発明の演算装置では、高速に演算を行なう演算装置を
実現できる。
【0030】次に、本発明の第2の特徴の演算装置の作
用を説明する。
【0031】本発明の演算装置では、先ず、冗長2進減
算器16により2つの入力数の減算を行ない、その減算
結果として”+1”,”±0”,”−1”を取り得る冗
長2進数を出力する。位置符号判定回路17では、冗長
2進減算器16の演算結果で最上位に位置する大きさ1
を持った桁の冗長2進数を選択して出力する。即ち”+
1”または”−1”を表現する冗長2進数を選択して出
力するか、或いは”+1”または”−1”を表現する桁
がない場合には”±0”を表現する冗長2進数を出力す
る。そして、冗長2進数/大小変換器18により位置符
号判定回路17の出力である冗長2進数を「大」、「等
しい」、「小」等の大きさの関係に変換する。
【0032】つまり、従来の大小比較器においては、2
つの入力数の「大」、「小」、「等しい」という大小関
係そのものを伝搬するために回路構成が複雑になってし
まい、入力桁数が大きい場合にゲート段数が増加し、演
算速度の低下が大きくなったが、本発明の第2の特徴の
演算装置では、2つの入力数の大小関係を冗長2進数に
圧縮して伝搬する構成のため、回路構成が簡単になる。 また、高速に演算が行なえる冗長2進減算器と、その演
算結果である冗長2進数を高速に選択して圧縮し、最後
に簡単な回路で大小関係に変換する構成であるので、2
つの入力数の大小関係を高速に演算できる。
【0033】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
【0034】図1に本発明の第1の実施例を示す。同図
は本発明の第1の実施例に係る演算装置の構成図を示し
たものである。同図において、演算装置は、通常2進数
を入力として加算を行ない通常2進数を演算結果とする
通常2進加算器10と、通常2進数を入力として加算を
行ない”1”,”0”,”−1”を取り得る冗長2進数
を演算結果とする第1の冗長2進加算器11と、通常2
進数を入力として加算を行ない”2”,”1”,”0”
を取り得る冗長2進数を演算結果とする第2の冗長2進
加算器12と、第1の冗長2進加算器11の演算結果の
各桁の中の”−1”を検出する第1の解判定回路13と
、第2の冗長2進加算器12の演算結果の各桁の中の”
2”を検出する第2の解判定回路14と、第1の解判定
回路13の判定出力と第2の解判定回路14の判定出力
に従い通常2進加算器10の演算結果と第1の冗長2進
加算器11の演算結果と第2の冗長2進加算器13の演
算結果の内何れかを選択する解選択回路15とから構成
されている。この演算装置は2つの加数であるn桁の通
常2進数A(n−1,0),B(n−1,0)と、外部
からの1桁の桁上げ信号Cinとを入力として加算を行
ない、演算結果としてn桁の通常2進数O(n−1,0
)と1桁の桁上げ信号Coutを出力するものである。
【0035】通常2進加算器10は、n桁の2つの加数
A(n−1,0),B(n−1,0)と外部からの1桁
の桁上げ信号Cinを入力として、n桁の通常の2進数
の和信号Sum(n−1,0)と1桁の桁上げ信号Co
ut(0)を演算結果として出力する演算器である。
【0036】第1の冗長2進加算器11はn桁の2つの
加数A(n−1,0),B(n−1,0)と外部からの
1桁の桁上げ信号Cinを入力として、n桁の符号ビッ
トS(n,0)と大きさビットM(n,0)の2ビット
で表される{+1,0,−1}を要素とする冗長2進数
と1桁の通常2進数である桁上げ信号Cout(1)を
演算結果として出力する演算器である。図3はこの第1
の冗長2進加算器11の第i桁の回路構成の一例を示し
たものであり、{+1,0,−1}を要素とする冗長2
進数を、符号ビットSと大きさビットMの2ビットを用
いてSM:”+1”=01,”0”=00,”−1”=
11という表現で実現するものである。
【0037】第2の冗長2進加算器12はn桁の2つの
加数A(n−1,0),B(n−1,0)と外部からの
1桁の桁上げ信号Cinを入力として、n桁の上位ビッ
トH(n,0)と下位ビットL(n,0)の2ビットで
表される{2,1,0}を要素とする冗長2進数と1桁
の通常2進数である桁上げ信号Cout(2)を演算結
果として出力する演算器である。図4はこの第2の冗長
2進加算器12の第i桁の回路構成の一例を示したもの
であり、{2,1,0}を要素とする冗長2進数を、上
位ビットHと下位ビットLの2ビットを用いてHL:”
2”=11,”1”=01,”0”=00という表現で
実現するものである。
【0038】第1の解判定回路13は、第1の冗長2進
加算器11の演算結果の中の”−1”を検出して解選択
用の信号Sel(0)を生成するもので、n桁の演算結
果の中に1つも”−1”がない場合は選択可能の信号を
、n桁の演算結果の中に1つでも”−1”があると選択
不可能の信号を生成するという回路である。第1の冗長
2進加算器11の出力がn桁の符号ビットS(n,0)
のみによって符号が決められていて、負(−1)である
ことを”1”、正(+1,0)であることを”0”と設
定しているとすると、第1の解判定回路13は、例えば
図4の8入力NOR回路50等で構成することができ、
解が採用できるとき解選択信号Sel(0)は”1”に
、採用できないときは”0”になる。
【0039】第2の解判定回路14は、第2の冗長2進
加算器12の演算結果の中の”2”を検出して解選択用
の信号Sel(1)を生成するもので、n桁の演算結果
の中に1つも”2”がない場合は選択可能の信号を、n
桁の演算結果の中に1つでも”2”があると選択不可能
の信号を生成するという回路である。第2の冗長2進加
算器12の出力がn桁の上位ビットH(n,0)のみに
よって2であることが決められていて、2であることを
”1”、1以下(1,0)であることを”0”と設定し
ているとすると、第2の解判定回路14は、例えば図5
の8入力NOR回路51等で構成することができ、解が
採用できるとき解選択信号Sel(1)は”1”に、採
用できないときは”0”になる。
【0040】解選択回路15は、第1の解判定回路13
と第2の解判定回路14の出力である解選択信号Sel
(0)及びSel(1)に従って通常2進加算器10、
第1の冗長2進加算器11、及び第2の冗長2進加算器
12のそれぞれの演算結果であるn桁の和信号Sum(
n−1,0)及び1桁の桁上げ信号Cout(0)、ま
たはn桁の大きさビットM(n−1,0)及び1桁の桁
上げ信号Cout(1)、またはn桁の解ビットL(n
−1,0)及び1桁の桁上げ信号Cout(2)の何れ
かの組み合わせを選択し、演算結果としてn桁の通常の
2進数O(n−1,0)及び1桁の桁上げ信号Cout
を出力する回路である。また、解選択回路15は、図5
の52のように、n桁の演算結果と桁上げ信号を選択す
るためのn+1個の3入力1出力のセレクタ520〜5
2nとデコーダ52aなどで構成できる。このセレクタ
520〜52nとデコーダ52aにより、2つの解選択
用信号Sel(0),Sel(1)が共に”0”であっ
た場合、通常2進数の演算結果Sum(n−1,0),
Cout(0)を選択し、Sel(0),Sel(1)
のどちらかが”1”だった場合、”1”であった冗長2
進加算器の演算結果を選択する。
【0041】図2に本発明に係る第2の実施例を示す。 図2は本発明の演算装置の約2桁分の演算部の回路図を
示している。本実施例は、通常2進加算器における桁上
げ信号をできるだけ高速に伝搬させるため、図6におけ
るインバータ回路67を除いた構成となっている。従っ
て、桁上げ信号の論理が1段毎に反転するため、奇数段
と偶数段で回路構成に多少の違いがある。図2において
、外部入力の桁上げ信号Cinを論理反転なしに演算装
置に入力した場合、iは奇数(最下位段から数えて偶数
段目)である。
【0042】奇数段目である第i−1桁の通常2進加算
器の桁上げ信号生成/伝搬部は複合ゲートOR−NAN
D回路(200i−1),NAND回路(201i−1
),クロックド・インバータ回路(203i−1),イ
ンバータ回路(204i−1),(212i−1),(
213i−1),NAND回路(201i−1),NO
R回路(202i−1),Pチャネル・トランジスタ(
210i−1)及びNチャネル・トランジスタ(211
i−1)によって構成されているが、これらの回路が生
成する信号の一部が第i桁の第1の冗長2進加算器及び
第2の冗長2進加算器を構成する際にそのまま用いるこ
とができる。そのため、偶数段目である第i桁の第1の
冗長2進加算器及び第2の冗長2進加算器用に付加した
回路は、演算結果を生成するE−NOR回路(206i
),(208i)とNOR回路(207i),(209
i)だけである。
【0043】このように、通常2進加算器、第1の冗長
2進加算器、第2の冗長2進加算器の3つの演算回路を
複合した場合、3つの演算回路は共有できる部分が多く
、CMOSで実現した場合、1桁あたりのトランジスタ
数で通常2進加算器に対して2倍弱であり、回路が膨大
にならない。
【0044】また、各実施例では、特にCMOS回路で
実現したが、本発明は他のデバイス(例えば、NMOS
,ECL,TTL等)を用いても容易に実現できる。
【0045】以上、本発明の演算装置における加算動作
についてのみ説明したが、通常の加算器で減算を行なう
場合と同様に、本発明の演算装置においても、被減数は
そのままとし、減数は反転回路などを用いて論理を反転
したものを入力し、外部入力の桁上げ信号を”1”にし
て加算を行なうことにより、高速に減算を行なうことが
できる。
【0046】次に、図11に本発明の第3の実施例に係
る演算装置の構成図を示す。
【0047】本実施例の演算装置は、から構成されてお
り、n桁の2つの入力数A[n−1,0]及びB[n−
1,0]を入力として、2つの入力数の大きさの関係と
して「A>B」,「A=B」,「A<B」を表す信号を
出力する演算装置である。
【0048】冗長2進減算器16は、n桁の2つの入力
数A[n−1,0]及びB[n−1,0]を入力として
A−Bの演算を行ない、減算結果として2ビットn桁の
冗長2進数H[n−1,0],L[n−1,0]を演算
結果として出力する演算器である。
【0049】位置符号判定器17は、冗長2進減算器1
6の演算結果である2ビットn桁の冗長2進数H[n−
1,0],L[n−1,0]を入力とし、その中で最も
上位に位置する”+1”または”−1”を表現する冗長
2進数を選択して出力するか、若しくは”+1’または
”−1”の桁が無ければ”±0”を表す冗長2進数を選
択して出力する演算器である。
【0050】冗長2進数/大小変換器18は、位置符号
判定器17の出力である1桁の冗長2進数を大きさの関
係に変換して出力する、つまり冗長2進数が”+1”で
あったら「A>B」を表す信号を、”−1”であったら
「A<B」を表す信号を、また”±0”であったら「A
=B」を示す信号をそれぞれ出力する演算器である。
【0051】冗長2進数を用いた加減算は、桁上げ(桁
借り)信号の伝搬が高々1桁であり、高速なことで知ら
れている。更に、通常2進数入力/冗長2進数出力の減
算動作は、図14の左側に示すように各桁の2つの入力
数のみで演算結果を決定でき、桁借り信号の伝搬を全く
無くすことができるので非常に高速な演算が行なえる。 また、{+1,±0,−1}を上位H、下位Lの2ビッ
トの冗長2進数で表現する方法は96通りあり、図14
の右側にその内の数例を示す。
【0052】例1では入力数がそのまま演算結果となる
し、例2ではHが1となるのは(A,B)=(0,1)
のみであり、Lが0となるのは(A,B)=(1,0)
のみであり、例3ではHが0となるのは(A,B)=(
1,0)のみであり、Lが1となるのは(A,B)=(
0,1)のみである。従って、何れの場合にも高々ゲー
ト2段で通常2進数入力/冗長2進数出力の冗長2進減
算器16が実現できる。
【0053】2つの入力数の大小関係は、2つの入力数
の減算を行ない、その演算結果の大きさや符号を調べる
ことによって求めることができる。例えば、A−Bとい
う減算を行なった場合、その演算結果の符号が正であっ
たらAとBの大小関係は「A>B」であり、負であった
ら「A>B」であり、ゼロであったら「A=B」である
【0054】冗長2進数を出力とする冗長2進減算を行
なった場合、減算結果の各桁は”+1”,”−1”,”
±0”を表現しているので、減算結果の中で最も上位に
位置する”+1”または”−1”のような大きさ1を持
った桁の符号を調べることにより減算結果の符号を判定
することができる。それは、次式に示すように、第n−
1ビット以下の桁の総和よりも第nビットの方が必ず大
きいからである。
【0055】
【数1】
【0056】また、冗長2進数を減算結果とする冗長2
進減算を行なった場合の{+1,±0,−1}を要素と
する各桁の減算結果は、それ自身が「大」、「等しい」
、「小」という大きさの関係の情報を持っている。 冗長2進数は1桁を2ビットで表現できるので、実際の
「大」、「等しい」、「小」という大きさの関係に変換
する回路は、高々ゲート2段で実現できる。例えば、冗
長2進数の表現を図14にの例2とした場合、図13に
示すように(図中参照番号30〜32)、高々ゲート2
段である。尚、図13には、応用として「A≧  B」
、「A≦B」、「A≠B」(それぞれ参照番号33、3
4、35)等の大きさの関係への変換器についても構成
を示しており、このように容易に実現できる。
【0057】次に、図12に本発明の第4の実施例に係
る演算装置の論理回路図を示す。
【0058】本実施例の演算装置は、4ビット冗長2進
減算器20、位置符号判定回路21、及び冗長2進数/
大小変換器22から構成され、第3の実施例に係る演算
装置において、4ビットの通常2進数を入力とする場合
の具体的な論理回路例となっている。つまり、2つの入
力数A[3,0],B[3,0]を入力として、2つの
入力数の大きさの関係として「A>B」、「A=B」、
「A<B」の大小関係を出力する演算装置であり、本実
施例で扱う冗長2進数HLは、図14に示す例2の”+
1”を11、”±0”を01と表現する方法を採用して
いる。
【0059】4ビット冗長2進減算器20は、比較を行
なう4ビットの通常2進数A[3,0],B[3,0]
を入力とし、A−Bの減算を各桁独立に冗長2進減算器
20−0〜20−3で行ない、冗長2進数H[3,0]
、L[3,0]を出力する演算器である。つまり、4ビ
ット冗長2進減算器20は、図14における真理値を回
路で実現したものであり、各桁で独立に、インバータ回
路と2入力NOR回路によって上位Hを、インバータ回
路と2入力NAND回路で下位Lをそれぞれ演算する。 高々ゲート2段の構成のため非常に高速な減算が可能で
ある。
【0060】位置符号判定回路21は、2桁入力位置符
号判定回路21−0〜21−2を2進木状に並べて構成
したものである。2桁入力位置符号判定回路21−0〜
21−2の真理値表を図15に示す。但し、真理値表に
対し、2桁入力位置符号判定回路21−0及び21−1
はそれぞれ2個の3入力複合ゲートAND−NOR回路
の構成で、正論理を入力して負論理を出力し、他方、2
桁入力位置符号判定回路21−2は2個の3入力複合ゲ
ートOR−NAND回路の構成で、負論理を入力して正
論理を出力する。
【0061】また、冗長2進数/大小変換器22は、第
3の実施例と同じ構成である。
【0062】以上のように、第1及び第2の実施例の演
算装置では、入力数の桁数をWとした場合、ゲート段数
は冗長2進減算器16または20のゲート段数(高々2
段)と、位置符号判定器17または21の2進木の段数
(log2 W)と、冗長2進数/大小変換器18また
は22のゲート段数(高々2段)との総和である、4+
log2 W段で実現でき、入力数の桁数が大きい場合
でもゲート段数が少なく、従って高速な演算を行なうこ
とができる。
【0063】例えば入力桁数が64ビットの場合のゲー
ト段数は、従来の演算装置では4log2 64=24
段であるのに対して、第3及び第4の実施例の演算装置
では4+log2 64=10段で構成できる。
【0064】また、CMOS回路で実現した場合のハー
ドウェアの規模をトランジスタ数で比較すると、入力桁
数が64ビットの場合、従来の演算装置では3290個
必要であるのに対して、第3及び第4の実施例の演算装
置では1410個で実現できる。
【0065】また、第2の実施例では、2つの通常2進
数を入力数とした場合について説明したが、2つの冗長
2進数または通常2進数と冗長2進数を入力とした場合
でも、その減算動作において桁借り信号の伝搬が高々1
桁であるので高速に大小比較の演算が行なえる。
【0066】更に、第3及び第4の実施例では、特にC
MOS回路で実現する場合について説明したが、本発明
は他のデバイス、例えばBiCMOS、NMOS、EC
L、TTL等を用いても容易に実現できる。
【0067】
【発明の効果】以上の様に本発明によれば、通常2進数
を用いた第1の演算回路と、通常2進数を入力とし{+
1,0,−1}を要素とする冗長2進数を出力とする第
2の演算回路と、通常の2進数を入力とし{2,1,0
}を要素とする冗長2進数を出力とする第3の演算回路
を並列に動作させ、第1の解判定回路で第2の演算回路
の演算結果の各桁の中の”−1”を検出し、第2の解判
定回路で第3の演算回路の演算結果の各桁の中の”2”
を検出し、第1及び第2の解判定回路の出力に従い解選
択回路で3つの演算回路の解の内、都合の良いものを選
択する構成としたので、例えば演算装置の演算が加算で
ある場合、通常2進数を用いた加算器において桁上げ信
号の伝搬が長くなる場合、即ち、加数の多くが[0,1
],[1,0]の場合には、冗長2進数を用いる加算器
が高速にそのまま通常2進数として用いることのできる
演算結果を出力することから、より高速な第2または第
3の演算回路の出力を検出/選択し、また、冗長2進数
を用いた加算器の演算出力がそのまま通常2進数として
用いることができないとき、即ち、加数の多くが[0,
0],[1,1]の場合には、通常2進数を用いる加算
器が高速に下位の桁上げ信号を待たずに桁上げ信号を生
成して演算結果を出力することから、より高速な第1の
演算回路の出力を選択するように制御できる。 従って、本発明によれば、高速演算を実現しうる演算装
置を提供することができる。
【0068】また、本発明によれば、2つの入力数の大
小関係を冗長2進数に圧縮して伝搬する構成としたので
、回路構成が簡単になり、また、高速に演算が行なえる
冗長2進減算器と、その演算結果である冗長2進数を高
速に選択して圧縮し、最後に簡単な回路で大小関係に変
換する構成としたので、2つの入力数の大小関係を高速
に演算できる。従って、本発明によれば、比較的簡単な
構成で高速演算を実現しうる演算装置を提供することが
できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る演算装置の構成図
である。
【図2】本発明の第2の実施例に係る演算装置の論理回
路図である。
【図3】通常2進数を入力とし{+1,0,−1}を要
素とする冗長2進数を演算結果とする演算回路の1桁分
の論理回路図である。
【図4】通常2進数を入力とし{2,1,0}を要素と
する冗長2進数を演算結果とする演算回路の1桁分の論
理回路図である。
【図5】本発明の第1の実施例に係る演算装置の第1の
解判定回路と第2の解判定回路と解選択回路の論理回路
の一例を示す図である。
【図6】図2に示す実施例回路を説明するための通常の
2進加算器の論理回路図である。
【図7】冗長2進数を用いた加算原理を示す説明図であ
る。
【図8】冗長2進数を用いた加算原理を示す説明図であ
る。
【図9】図1に示す第1および第2の冗長2進加算器に
おける加算原理を示す説明図である。
【図10】図1に示す第1および第2の冗長2進加算器
における加算原理を示す説明図である。
【図11】本発明の第3の実施例に係る演算装置の構成
図である。
【図12】本発明の第4の実施例に係る演算装置の論理
回路図である。
【図13】本発明の第3及び第4の実施例における冗長
2進数/大小変換器の論理回路図である。
【図14】2桁位置符号判定回路の真理値を示す説明図
である。
【図15】通常2進数入力/冗長2進数出力の減算原理
を示す説明図である。
【図16】従来の4ビット大小比較器の論理回路図であ
る。
【符号の説明】
10  通常2進加算器(第1の演算回路)11  第
1の冗長2進加算器(第2の演算回路)12  第2の
冗長2進加算器(第3の演算回路)13,50  第1
の解判定回路 14,51  第2の解判定回路 15,52  解選択回路 16  冗長2進減算器 17,21  位置符号判定回路 18,22  冗長2進数/大小変換器20  4ビッ
ト冗長2進減算器

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  各桁が”0”,”1”よりなる通常2
    進数を入力として演算を行ない通常2進数を結果として
    出力する演算装置において、前記通常2進数を入力とし
    て演算を行ない通常2進数を演算結果とする第1の演算
    回路と、前記通常2進数を入力として演算を行ない”1
    ”,”0”,”−1”を取り得る冗長2進表現数を演算
    結果とする第2の演算回路と、前記通常2進数を入力と
    して演算を行ない”2”,”1”,”0”を取り得る冗
    長2進表現数を演算結果とする第3の演算回路と、前記
    第2の演算回路の演算結果の各桁の中の”−1”を検出
    する第1の解判定回路と、前記第3の演算回路の演算結
    果の各桁の中の”2”を検出する第2の解判定回路と、
    前記第1の解判定回路の判定出力と前記第2の解判定回
    路の判定出力に従い前記第1の演算回路の演算結果と前
    記第2の演算回路の演算結果と前記第3の演算回路の演
    算結果の内何れかを選択する解選択回路とを有すること
    を特徴とする演算装置。
  2. 【請求項2】  2つの入力数の「大」、「等しい」、
    「小」等の大きさの関係を出力する演算装置において、
    2つの入力数の減算を行ない”+1”,”±0”,”−
    1”を取り得る冗長2進数を演算結果とする冗長2進減
    算器と、前記冗長2進減算器の演算結果で最も上位に位
    置する”+1”または”−1”を表現する冗長2進数を
    選択して出力するか、或いは”+1”または”−1”を
    表現する桁がない場合には”±0”を表現する冗長2進
    数を出力する位置符号判定回路と、前記位置符号判定回
    路の出力である冗長2進数を「大」、「等しい」、「小
    」等の大きさの関係に変換する冗長2進数/大小変換器
    とを有することを特徴とする演算装置。
JP25238091A 1990-11-30 1991-09-30 演算装置 Pending JPH04363720A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25238091A JPH04363720A (ja) 1990-11-30 1991-09-30 演算装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-334110 1990-11-30
JP33411090 1990-11-30
JP25238091A JPH04363720A (ja) 1990-11-30 1991-09-30 演算装置

Publications (1)

Publication Number Publication Date
JPH04363720A true JPH04363720A (ja) 1992-12-16

Family

ID=26540693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25238091A Pending JPH04363720A (ja) 1990-11-30 1991-09-30 演算装置

Country Status (1)

Country Link
JP (1) JPH04363720A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341203B2 (en) 2004-11-08 2012-12-25 Zhizhong Li Computer technical solution of the digital engineering method of hybrid numeral carry system and carry line

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341203B2 (en) 2004-11-08 2012-12-25 Zhizhong Li Computer technical solution of the digital engineering method of hybrid numeral carry system and carry line

Similar Documents

Publication Publication Date Title
JP2508912B2 (ja) 浮動小数点加算装置
JPS61204736A (ja) マルチビツト加算器
JPH07210368A (ja) 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法
JPH07225671A (ja) 結果正規化機構と動作の方法
Chen et al. Efficient modulo 2n+ 1 multipliers for diminished-1 representation
US4878192A (en) Arithmetic processor and divider using redundant signed digit arithmetic
Zimmermann Computer arithmetic: Principles, architectures, and VLSI design
JPH08212058A (ja) 加算オーバフロ検出回路
US7552165B2 (en) Method and system to implement an improved floating point adder with integrated adding and rounding
JPH08161152A (ja) 浮動小数点演算装置
US4873660A (en) Arithmetic processor using redundant signed digit arithmetic
Mohan et al. Evaluation of Mixed-Radix Digit Computation Techniques for the Three Moduli RNS {2 n− 1, 2 n, 2 n+ 1− 1}
US4866657A (en) Adder circuitry utilizing redundant signed digit operands
JP2001501341A (ja) デジタル加算器回路
JPH04363720A (ja) 演算装置
JPH063578B2 (ja) 演算処理装置
US3462589A (en) Parallel digital arithmetic unit utilizing a signed-digit format
JPH0511980A (ja) 桁あふれ検出方式とその回路
US20040073593A1 (en) Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
US6654776B1 (en) Method and apparatus for computing parallel leading zero count with offset
JP2555135B2 (ja) 演算回路
Kaivani et al. Fully redundant decimal addition and subtraction using stored-unibit encoding
Veeramachaneni Design of efficient VLSI arithmetic circuits
JP2563473B2 (ja) 2進演算器