JP3728858B2 - 演算装置の演算方法、記憶媒体及び演算装置 - Google Patents
演算装置の演算方法、記憶媒体及び演算装置 Download PDFInfo
- Publication number
- JP3728858B2 JP3728858B2 JP07836297A JP7836297A JP3728858B2 JP 3728858 B2 JP3728858 B2 JP 3728858B2 JP 07836297 A JP07836297 A JP 07836297A JP 7836297 A JP7836297 A JP 7836297A JP 3728858 B2 JP3728858 B2 JP 3728858B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- output
- node
- digit
- input
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
- G06F7/026—Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
- G06F7/508—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/506—Indexing scheme relating to groups G06F7/506 - G06F7/508
- G06F2207/5063—2-input gates, i.e. only using 2-input logical gates, e.g. binary carry look-ahead, e.g. Kogge-Stone or Ladner-Fischer adder
Description
【発明の属する技術分野】
本発明は、並列処理可能な演算装置の演算方法、該方法をコンピュータプログラムとして記憶した記憶媒体、及び演算装置に係り、特に、そのままでは並列処理が不可能な順序依存性のある判断の系列を含む問題を、並列処理が可能な不確定符号2分木に変換する手法・概念を導入して、より簡潔な回路構成で、且つ、より高速な演算処理を可能とした演算装置の演算方法、記憶媒体及び演算装置に関する。
【0002】
また本発明は、任意のR進数または2進数の比較、加算、減算、差の絶対値演算等の演算を並列に処理する演算装置の演算方法、該方法をコンピュータプログラムとして記憶した記憶媒体、及び演算装置に係り、特に、そのままでは並列処理が不可能な順序依存性のある判断の系列を含む問題を、並列処理が可能な2分木に変換する手法・概念を導入して、より簡潔な回路構成で、且つ、より高速な演算処理を可能とした演算装置の演算方法、記憶媒体及び演算装置に関する。
【0003】
【従来の技術】
本明細書の前半では、そのままでは並列処理が不可能な順序依存性のある判断の系列を含む問題を、並列処理が可能な不確定符号2分木に変換する手法・概念について開示を行うが、該手法・概念を適用する演算装置として、ここでは、プライオリティエンコーダを採り上げる。従来のプライオリティエンコーダの一例として、入力をビット0からビット7までの8ビット入力とし、出力を有効出力1ビット及び数値出力3ビットの4ビット出力としたプライオリティエンコーダ(第1の従来例)の真理値表を図65に示す。
【0004】
ここに、プライオリティエンコーダとは、入力データのMSB(左端)からLSB(右端)の方向へ1ビットずつ見ていったとき、最初に”1”となっているビットの位置(桁)を2進数の数値として返す関数の回路である。8ビット入力の場合、返す数字は”7”〜”0”であり、出力は3ビットで足りる。しかし、入力ビットが全部”0”であった場合(無効な場合)と入力ビットに1個でも1が含まれる場合(有効な場合)とを区別するため、更に有効ビットなるものを加え、計4ビット出力とする。
【0005】
例えば、入力が
00110101, 00111111, 00100000
の場合、何れも第5ビットが最初の1であるので、出力は1101(”有効”且つ”5”) となる。尚、ここでは、MSB(左端)寄りである程、優先順位が高いと仮定している。しかし、逆の場合でも本質的に違いはない。話を簡単にするため本明細書では、終始、MSB寄りである程、優先順位が高いと仮定する。
【0006】
プライオリティエンコーダのこのような機能は、複数の選択肢の中から1つのものを選び出すようなとき、いわゆる調停を行うようなときに必要となる。例えば、バス結合された複数の機能ユニットが、同時にバスに対して出力を行おうとする場合、プライオリティエンコーダによって調停が行われる。
【0007】
図66は、プライオリティエンコーダMPEによるバスSBの調停を説明するディジタル装置の構成図である。同図のディジタル装置では、1本のバスSBに対して8個の機能ユニットMU0〜MU7がスイッチング手段SW0〜SW7を介して接続されており、プライオリティエンコーダMPEの出力に基づきスイッチング手段SW0〜SW7の開閉制御を行って、8個の機能ユニットMU0〜MU7のバス接続制御を行っている。即ち、プライオリティエンコーダMPEは、各機能ユニットのバス使用要求RQ0〜RQ7を入力とし、バス使用を許可する機能ユニットの番号を出力する。プライオリティエンコーダMPEが出力する機能ユニット番号はデコーダMDCによって解釈され、スイッチング手段SW0〜SW7を制御するバス接続制御信号CBC0〜CBC7となる。
【0008】
また、図67には特開平8−147142号公報に開示されている「プライオリティ検出用カウンタ装置」の部分回路である8ビット入力のプライオリティエンコーダの構成図を示す。尚、本従来例の公報では入力ビット列の先頭から並ぶ”0”の数を高速に計測するものとして開示されている。ここで議論の対象となっているプライオリティエンコーダと、機能は正確には同等ではないが、数値出力の反転をとれば同質のものとなる。
【0009】
本従来例の8ビットプライオリティエンコーダの構成は、高さm=3の2分木でモデル化され、該2分木の深さ3のノードND01,ND23,ND45及びND67は、それぞれ、入力データの内の2ビットを入力して該ビット列が”01”,”00”となるのを検出するもので、論理積ゲート回路及び論理和ゲート回路を備えている。また、2分木の深さ2のノードND03及びND47は、セレクタ、論理積ゲート回路及び論理和ゲート回路を備え、セレクタは論理積ゲート回路の出力に応じてビット列の”00”,”01”を選択的に識別し、論理積ゲート回路は入力の一方が全て”0”で入力の他方が全て”0”ではないことを、論理和ゲート回路は全て”0”となることをそれぞれ検出する。更に、2分木の深さ1のノードND07は、2個のセレクタ、並びに、論理積ゲート回路及び論理和ゲート回路を備え、深さ2のノードと同様に機能する。
【0010】
〔使用する語句の説明〕
また、本明細書の後半では、そのままでは並列処理が不可能な順序依存性のある判断の系列を含む問題を、並列処理が可能な2分木に変換する手法・概念について開示を行うが、該手法・概念を適用する演算装置として、ここでは、論理回路を2分木状に形成することによって実現される比較器、加算器、減算器及び差の絶対値演算器等を採り上げる。そこで前もって、本明細書において頻繁に使用する「2分木」という語句を正しく定義しておく。
【0011】
岩波情報科学事典によれば、各ノードにおいて枝が2本以下の順序木を「2分木」という(岩波情報科学事典, 岩波書店, 1990, p.550 )。また特に、木の高さがノードの個数Nの対数(log2 N)にほぼ等しいような偏りの少ない2分木を「平衡2分木」という(同文献p.683 )。更に、平衡2分木の特別な場合として、高さhの2分木において、深さi(0≧i<h)のノードが2i 個存在し、深さhのノードが左詰めに並んでいるとき、これを「完全2分木」という(同文献p.550 )。
【0012】
平衡2分木は、木の高さが葉の個数の対数にほぼ等しいという性質を持ち、どの葉もほぼ同じ深さに存在する。また、完全2分木では、任意の2つの葉の高さの差は1以下である。この性質は高速演算装置を実現する上で重要である。2分木状に論理回路を形成し、木の葉を入力、木の根を出力とする演算装置では、木の高さはクリティカルパスの段数を表す。
【0013】
完全2分木状の論理回路では、どの入力(葉)からもほぼ同じ段数で出力(根)に至る。従って、入力から出力へ至る他の経路の段数と比較して、飛び抜けて長いクリティカルパスは存在しない。この性質を応用して、完全2分木状に論理回路を構成し、高速演算装置を実現する方法が知られている。
【0014】
尚、本明細書において頻繁に使用する「2分木」という言葉は、特に断りのない限り「完全2分木」を意味している。平衡2分木でなく、葉の高さがそれぞれ異なるような2分木を言う場合には「偏りのある2分木」ということにする。
【0015】
〔従来の2分木状論理回路〕
先ず、従来の2分木状論理回路による演算装置の第2の従来例として、特開平6−28158号公報に開示されている「桁上げ先見加算方法とその装置」を採り上げる。該公報では、一般的な桁上げ先見加算(BLC;Binary Look-ahead Carry )の改良方式によるBLC加算器、並びに、ブロック桁上げ先見加算(BCLA;Block Carry Look Ahead)の改良方式によるBCLA加算器について開示がなされている。
【0016】
図68は、特開平6−28158号公報に開示されたBLC加算の改良方式に従った8ビットBLC加算器における各ビットの桁上げ生成部分(BLCアレイ)を具体的に示した構成図である。
【0017】
ここで、8ビットBLC加算器に入力される加数X及び被加数Yを、それぞれ
X=X7 X6 …X1 X0 , Y=Y7 Y6 …Y1 Y0
とし、X7 とY7 は符号とする。また、Ci-1 (i=0〜7)をビットiへの桁上げ入力とし、最下位ビット(ビット0)への桁上げ入力をC-1とし、当該8ビットBLC加算器の桁上げ出力をC7 とする。また、i桁で桁上げが発生することを示す桁上げ生成関数をGi とし、i桁が下位の桁からくる桁上げCi-1 を上位へ伝えることを示す桁上げ伝搬関数をPi とする。
【0018】
図68の8ビットBLC加算器では、加数X及び被加数Yが桁上げ生成・伝搬関数生成部502に入力され、桁上げ生成関数Gi 及び桁上げ伝搬関数Pi が8対生成される。更に、−1ビットの桁上げ生成関数と見なされる桁上げ入力Cinを加え、合計9対の桁上げ生成関数及び桁上げ伝搬関数G0 ,P0 〜G7 ,P7 及びCinを桁上げ生成部501へ入力する。但し、この時、−1ビットの桁上げ伝搬関数は0である。桁上げ生成部501から出力された桁上げC-1〜C7 は、各ビットの桁上げ伝搬関数P0 〜P7 と共に、和生成部500に入力されて和S0 〜S7 が生成される。
【0019】
桁上げ生成・伝搬関数生成部502は、加数Xi 及び被加数Yi を入力して、桁上げ生成関数Gi 及び桁上げ伝搬関数Pi を生成する8個の入力セルIC0〜IC7と、1個のダミーセルICDを並列に備える。図69(a)に本従来例の入力セルの回路図を示す。同図において、入力セルICは、加数Xi 及び被加数Yi の論理積をとって桁上げ生成関数Gi を出力するANDゲート回路GA51と、加数Xi 及び被加数Yi の論理和をとって桁上げ伝搬関数Pi を出力するORゲート回路GO51とを備えた構成である。尚、ダミーセルICDは駆動能力を高めるバッファセルである。
【0020】
また桁上げ生成部501は、9×4のセルマトリクスによって構成され、第1列目は−1ビット目をダミーセルCCD1−1とし0ビット目〜7ビット目を桁上げ生成セルCC10〜CC17とする構成で、第2列目は−1ビット目及び0ビット目をダミーセルCCD2−1,CCD20とし1ビット目〜7ビット目を桁上げ生成セルCC21〜CC27とする構成で、第3列目は−1ビット目〜2ビット目をダミーセルCCD3−1〜CCD32とし3ビット目〜7ビット目を桁上げ生成セルCC33〜CC37とする構成で、更に、第4列目は−1ビット目〜6ビット目をダミーセルCCD4−1〜CCD46とし7ビット目を桁上げ生成セルCC47とする構成でそれぞれ構成されている。図69(b)に本従来例の桁上げ生成セルの回路図を示す。同図において、桁上げ生成セルCCは、桁上げ伝搬関数Pi と桁上げ生成関数Gj との論理積を取った値について更に桁上げ生成関数Gi との論理和をとる複合論理ゲート回路GC51と、桁上げ伝搬関数Pi 及びPj の論理積をとるANDゲート回路GA52とを備えた構成である。
【0021】
更に、和生成部500は、図69(c)に示すように、桁上げ生成部501から出力された桁上げCi-1 と桁上げ伝搬関数Pi との排他的論理和をとって和Si を出力するEXORゲート回路GX5iを、8個並列に備えた構成である。
【0022】
本従来例の8ビットBLC加算器は、このように、桁上げ入力Cinを最下位ビットの1ビット下の桁上げ生成関数と見なすことで、桁上げ生成部501の構成をより簡略化し、遅延時間及び消費電力を削減するものである。
【0023】
次に、従来の2分木状論理回路による演算装置の第3の従来例として、Nビット符号有り2進数比較器について説明する。図70は、符号有り2進数X及びY
X=Xn Xn-1 …X1 X0 , Y=Yn Yn-1 …Y1 Y0
を入力して最終的な結論{Greater Than,Less Than ,Equal }を出力するNビット符号有り2進数比較器の構成図である。
【0024】
Nビット符号有り2進数比較器は、同図に示すように、主に2つの構成要素を備えた構成となっている。1つは符号無し2進数X’及びY’
X’=Xn-1 …X1 X0 , Y’=Yn-1 …Y1 Y0
を入力して一時的な結論{Greater Than,Less Than ,Equal }を出力する(N−1)ビット符号無し2進数比較器600であり、もう1つは(N−1)ビット符号無し2進数比較器の一時的な結論と符号有り2進数X及びYの符号ビットXn ,Yn とから最終的な結論を出力する符号判定回路601である。尚、符号有り2進数X及びYでは、そのMSB(Most Significant Bit;最上位ビット)Xn 及びYn が符号を示している。MSB=0の時は正の数、MSB=1の時は負の数である。
【0025】
このように、本従来例の符号有り2進数比較器では、MSB以外の入力ビットを(N−1)ビット符号無し2進数比較器600に入力して一時的な比較結果を最初に得る。この一時的な比較結果と符号有り2進数X及びYのMSBとを符号判定回路601に入力し、最終的な比較結果を得る。
【0026】
また、符号判定回路601で行なわれる内容は以下の通りである。
(a) 符号有り2進数X及びYのMSBが異なる場合:
符号有り2進数X及びYのどちらかが正でどちらかが負である。
従って、一時的な比較結果に関わり無く、大小の結論を出力する。
(b) 符号有り2進数X及びYのMSBが同じ場合:
符号有り2進数X及びYは共に正か、共に負である。
結論は、第(N−1)ビットから第0ビットまでの入力によって求めた、一時的な比較結果に依存する。
従って、一時的な比較結果を最終結論として出力する。
【0027】
次に、従来の2分木状論理回路による演算装置の第4の従来例として、減算器について説明する。従来の減算器において用いられている手法は、基本となる論理式によって大きく2つに分けられる。第1の手法は1ビット2進数の減算の定義によるものであり、第2の手法はX−Yの減算においてXにYの2の補数を加算するものである。
【0028】
先ず、減算器の第1の手法においては、2つの1ビット2進数(X,Y)と外部桁借り(Borrow)入力Binによる減算を、以下のように定義する。尚、本明細書においては、論理和を+演算子で、論理積を・演算子で、否定を^演算子で、排他的論理和を(+) でそれぞれ表記する。
また、(1)式の真理値表は図71(a)に示す如くなる。
【0029】
一方、減算器の第2の手法は、「X−Y」という演算が「X+(Yの2の補数)」という演算と等価であることに注目して、加算器を応用して減算器とするものである。Yの2の補数は、Yの全ビットを反転したものに”1”を加算することによって得られる。”1”を加算するには加算器の外部桁上げ入力Cinを”1”とすればよい。即ち^Cin=Binである。従って1ビット2進数の場合、論理式による減算の定義は、以下のようになる。
また、(2)式の真理値表は図71(b)に示す如くなる。また、加算器500により実現した構成例は図72に示す如くなる。
【0030】
(1)式と(2)式を比べた場合、差Dの論理式は全く同じであり、外部桁借り出力Boutの論理式は、同じ論理関数を(1)式では正論理出力により、(2)式では負論理出力によりそれぞれ表したものである。従って、論理回路で実現することを考えた場合、(1)式と(2)式とではゲート数・遅延の点において差はない。このため従来の減算器においては、特に利点を見い出せない(1)式の定義による減算器はあまり用いられておらず、(2)式の定義による減算器のように、既に良く知られた加算器を用いて減算器を実現する方法が簡単であり、一般に広く用いられている。
【0031】
次に、従来の2分木状論理回路による演算装置の第5の従来例として、差の絶対値演算を行う演算装置について説明する。2進数の場合に限らず、任意のN進数の非負の数X,Yの差(X−Y)の絶対値|X−Y|を求める方法として、以下のような方法が知られている。
【0032】
差の絶対値演算の第1の方法は、XとYを比較して、大きい方から小さい方を引くものである。また第2の方法は、(X−Y)の減算と(Y−X)の減算を同時に計算し、結果が正である方を絶対値とするものである。更に第3の方法は、(X−Y)の減算を行い、該減算の結果が正だったらそれを絶対値とし、また該減算の結果が負だったら符号を反転して絶対値とするものである。
【0033】
2進数における差の絶対値演算として良く採られる方法は、第2及び第3の方法である。図73は第2の方法による差の絶対値演算器の構成図である。2つの減算器511,512によりそれぞれ(X−Y)の減算と(Y−X)の減算を同時に計算し、(X−Y)の減算結果の符号に基づいてセレクタ513により結果が正である方を絶対値として選択する。
【0034】
また、図74は第3の方法による差の絶対値演算器の構成図である。1個の減算器521と1個のインクリメンタ(+1演算器)とを内部に含む2の補数化器522、並びに、必要なビット幅を持つ1個のセレクタ523で構成される。減算器521により(X−Y)の減算を行い、一方で2の補数化器522により該減算の結果の2の補数を生成しておき、セレクタ523では、減算器521による演算結果の符号に基づいて、減算結果が正だったら減算器521の差出力を絶対値とし、また該減算結果が負だったら2の補数化器522の2の補数出力を符号を絶対値とする。尚、減算結果が負であった場合、符号を反転するために減算結果の2の補数を生成するが、2の補数はデータの全てのビットを反転した後、インクリメンタで1を加えることによって得られる。
【0035】
【発明が解決しようとする課題】
先ず、上記第1の従来例(プライオリティエンコーダ)について考察する。半導体集積回路の集積密度は年々向上し続けており、現在では、多くの機能ユニットを持つことが可能になった。今後も高度な並列処理を実現するため、集積密度の向上に合わせて、機能ユニットの数も多くなっていくことは確実である。このような背景から、調停機能を持つプライオリティエンコーダは、キーデバイスの1つであるということができ、その実現においては、特に高速性が重要であるという事情がある。
【0036】
次に、上記第2の従来例(8ビットBLC加算器)について考察する。BLC加算器等の2分木状論理回路による演算装置においては、概ね、
(Gi,Pi)@(G j,Pj)=(Gi+(Pi*G j),Pi*Pj)
と同様な意味を持つ演算子”@”を定義している。即ち、第2の従来例の8ビットBLC加算器では、該演算子”@”を論理回路で実現し、これを要素とした2分木を使用している。演算子”@”を実現する具体的な論理回路は図69(b)となる。
【0037】
しかしながら、この演算子”@”は、図69(b)からも明らかなように、論理関数(Gi+(Pi*Gj))、即ち、複合論理ゲート回路GA51(AND−ORゲート回路)の論理関数を含んでいる。最近、演算装置における高速化の手法として、トランスミッションゲートで論理を構築する方法が注目されている。例えば、文献(牧野,鈴木,森中,他,「CGに適した機能を有する286MHz ,64ビット浮動小数点乗算器」,電子情報通信学会技術研究報告ICD95-146, pp.13-20, 1995 )においては、複合論理ゲート回路よりもトランスミッションゲートで構築された論理装置の方が高速であることが述べられている。また、複合論理ゲート回路は、負荷の駆動能力が小さく配線容量の増加に弱い。従って、従来の2分木状論理回路による演算装置は、スタンダードセル等によって構築される演算装置には不向きであるという事情があった。
【0038】
また、特に第2の従来例の8ビットBLC加算器は、演算子”@”の論理回路をアレイ状に配置して各ビットへの桁上げ信号を生成する、いわゆるBLCアレイであり、外部桁上げ入力Cinを−1ビットの入力と見なし、BLCアレイにも第−1行目を設けていることから、ゲート数が多く面積も大きくなるという事情があった。
【0039】
また、上記第3の従来例(Nビット符号有り2進数比較器)の2分木状論理回路による演算装置においては、MSB以外の入力ビットを(N−1)ビット符号無し2進数比較器600に入力して一時的な比較結果を得た後、該一時的な比較結果と符号有り2進数X及びYのMSBを符号判定回路601に入力して最終的な比較結果を得るが、(N−1)ビット符号無し2進数比較器600における入力段の論理回路は、ゲート数が多く複雑であり、更に、符号無し2進数比較器の後段に符号判定回路を縦属接続して実現されるので、符号判定回路601の分だけ遅延を増加させてしまうという事情があった。
【0040】
次に、上記第4の従来例(減算器)について考察すると、2の補数を用いる従来の減算器の課題を論じる場合、論点は大きく2つに分かれる。1つは減算器の核を成す加算器に関する事項と、もう1つは加算器を減算器をする際に生じる事項である。前者の事項は加算器自体に関する事項であるのでここでは省略し、後者、即ち加算器を減算器にする際に生じる事項について考察する。
【0041】
加算器の構成方法はCLA,BCLA,CSelectAdder ,CSkipAdder 等いろいろある。しかし、2の補数の与え方はこのような構成方法には依存しない。加算器を減算器にする場合は、図72に示したように、Yの全ビットを反転したものを加算器500のY入力に、桁借り入力Binを反転したものを加算器500の桁上げ入力Cinにそれぞれ加えればよい。即ち、加算器と減算器の差異は入力Yと入力Cinにインバータ(否定論理ゲート回路)が付くか否かという点のみにある。従って、従来の減算器では、加算器にインバータを付加するためにゲート数及び信号伝搬遅延が共に増加してしまうという事情があった。
【0042】
次に、上記第5の従来例(差の絶対値演算を行う演算装置)について考察すると、上記3つの方法の内、先ず、第2の方法による絶対値演算器は、図73に示したように、2個の減算器511,512と必要なビット幅を持つ1個のセレクタ513で構成される。この第2の方法による差の絶対値演算器の優れた点は、演算速度が速いことである。減算を並列に行うので、CLA,BCLA型の減算器を用いた場合、演算時間はデータビット幅Nの対数(log2 N)に比例する。しかしながら、欠点として、2つの減算器が必要でありゲート数が多いという事情もある。
【0043】
また、第3の方法による絶対値演算器は、図74に示したように、1個の減算器521と1個の2の補数化器522、並びに、必要なビット幅を持つ1個のセレクタ523で構成される。この第3の方法による差の絶対値演算器の優れた点は、ハードウェア量が少ないことである。インクリメンタはCLA,BCLA型の減算器と比べ、半分以下のトランジスタ数で実現できる。2個の減算器が必要な第2の方法と比べてハードウェア量は明らかに少ない。しかしながら、欠点として第3の方法による差の絶対値演算器は演算遅延が大きく、遅い。つまり、CLA,BCLA型の減算器の遅延はデータビット幅Nの対数(log2 N)に比例し、高速なCLA,BCLA型インクリメンタの遅延もまたデータビット幅Nの対数(log2 N)に比例することから、減算の結果をインクリメンタに入力することを考えれば、総合的な遅延は(2×log2 N)に比例することとなる。従って、明らかに、第2の方法による差の絶対値演算器と比べて第3の方法による差の絶対値演算器の信号伝搬遅延は大きくなる。
【0044】
本発明は、上記従来の事情に鑑みてなされたものであって、上記第1の従来例における高速性の要望といった事情に鑑みてなされたものであって、そのままでは並列処理が不可能な順序依存性のある判断の系列を含む問題を、並列処理が可能な2分木に変換する手法・概念を導入して、より簡潔な回路構成でより高速なプライオリティエンコード等の演算処理が可能な演算装置の演算方法、記憶媒体及び演算装置を提供することを目的としている。
【0045】
また本発明の他の目的は、そのままでは並列処理が不可能な順序依存性のある判断の系列を含む問題を、並列処理が可能な2分木に変換する手法・概念を導入して、より簡潔な回路構成で、比較、加算、減算、或いは差の絶対値演算等の演算についてより高速な処理が可能な演算装置の演算方法、記憶媒体及び演算装置を提供することである。
【0046】
上記問題を解決するために、本発明の演算装置の演算方法は、順序依存性のある判断の系列を含む問題を、依存入出力を持たない判断処理を葉(leaf)とし、上位優先決定処理を前記葉以外の他のノードとする2分木(binary tree )でモデル化して解く演算装置の演算方法であって、前記依存入出力を持たない判断処理は、前記判断に対応して、R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力し、前記上位優先決定処理は、前記判断の系列に対応する2つの依存入出力を持たない判断処理の仮の結論または前段における2つの上位優先決定処理の仮の結論を入力とし、上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論を仮の結論とし、上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断処理の仮の結論または下位にある上位優先決定処理の仮の結論を仮の結論として出力し、前記2分木の葉となる全判断処理、並びに、前記2分木において同じ深さにある全上位優先決定処理を、それぞれ並列に処理し、前記2分木の根(root)となる上位優先決定処理の仮の結論を前記問題の結論とするものである。
【0047】
また、本発明の演算装置の演算方法は、R進数または論理値情報の数量である単数または複数のデータ入力と”有効”または”無効”の2値情報である依存入力に基づいて、前記データ入力及び前記依存入力が共に有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ判断ノードをN個(Nは任意の正整数)具備し、前記依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの前記依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの前記依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの前記依存入力として接続されることにより構成される順序依存性のある判断の系列構造でモデル化できる全ての問題を、R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードをN個具備し、前記N個の依存入出力を持たない判断ノードを葉(leaf)とする2分木(binary tree )構造に、変換する演算装置の演算方法であって、前記依存入出力を持つ判断ノードを、R進数または論理値情報の数量である単数または複数のデータ入力と常に”有効”である依存入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ内包判断ノードと、前記内包判断ノードの依存出力が”有効”になったときに不確定符号”Q”を出力する不確定符号発生ノードとを具備し、当該依存入出力を持たない判断ノードの仮の結論として前記不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードに置き換えるものである。
【0048】
また、本発明の演算装置の演算方法は、R進数または論理値情報の数量である単数または複数のデータ入力と”有効”または”無効”の2値情報である依存入力に基づいて、前記データ入力及び前記依存入力が共に有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ判断ノードをN個(Nは任意の正整数)具備し、前記依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの前記依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの前記依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの前記依存入力として接続されることにより構成される順序依存性のある判断の系列構造でモデル化できる全ての問題を、R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力するN個の依存入出力を持たない判断ノードと、前記判断の系列に対応する2つの依存入出力を持たない判断ノードの仮の結論または当該上位優先決定ノードの前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を当該上位優先決定ノードの仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を当該上位優先決定ノードの仮の結論として出力する上位優先決定ノードとを具備し、前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )構造に、変換する演算装置の演算方法であって、前記依存入出力を持つ判断ノードを、R進数または論理値情報の数量である単数または複数のデータ入力と常に”有効”である依存入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ内包判断ノードと、前記内包判断ノードの依存出力が”有効”になったときに不確定符号”Q”を出力する不確定符号発生ノードとを具備し、当該依存入出力を持たない判断ノードの仮の結論として前記不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードに置き換えるものである。
【0049】
nビット2進数のデータ入力に対して、最上位ビットから最下位ビットの方向で最初に”1”または”0”であるビット位置を、或いは、最上位ビットから最下位ビットの方向に”1”または”0”の連続する数をそれぞれ2進数数値として出力するプライオリティエンコード機能を、依存入出力を持たない判断処理を葉(leaf)とし、上位優先決定処理を前記葉以外の他のノードとする2分木(binary tree )でモデル化して解く演算装置の演算方法であって、前記依存入出力を持たない判断処理は、前記データ入力の各ビットに対応して、1ビットのデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力し、前記上位優先決定処理は、前記データ入力の各ビットに対応する2つの依存入出力を持たない判断処理の仮の結論または前段における2つの上位優先決定処理の仮の結論を入力とし、上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論を仮の結論とし、上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断処理の仮の結論または下位にある上位優先決定処理の仮の結論を仮の結論として出力し、前記2分木の葉となる全判断処理、並びに、前記2分木において同じ深さにある全上位優先決定処理を、それぞれ並列に処理し、前記2分木の根(root)となる上位優先決定ノードの仮の結論を前記プライオリティエンコードの結論とするものである。
【0050】
本発明の演算装置の演算方法は、順序依存性のある判断の系列を含む問題を、該判断に対応する判断処理を葉(leaf)とする2分木(binary tree )でモデル化して解く演算装置の演算方法であって、前記判断処理は、1または複数個の入力情報に基づく判断結果として”真”、”偽”、及び、”真または偽のどちらでもない、或いは、わからない”の何れかを出力し、前記判断処理を並列に処理するものである。
【0051】
また、本発明の演算装置の演算方法は、前記演算装置が任意のR進数における2数の比較を行うものであって、該2数の各桁についての比較判断が前記順序依存性のある判断の系列を形成する場合に、前記判断処理は、同位桁の2数の差の結果が正になるときに”真または偽”を、該結果が負になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0052】
また、本発明の演算装置の演算方法は、前記演算装置が任意のR進数における2数の加算を行うものであって、各桁における桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、前記判断処理は、同位桁の2数の和の結果がR以上になるときに”真または偽”を、該結果が(R−2)になるときに”偽または真”を、該結果が(R−1)になるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0053】
また、本発明の演算装置の演算方法は、前記演算装置が任意のR進数における2数の減算を行うものであって、各桁における桁借りの存否判断が前記順序依存性のある判断の系列を形成する場合に、前記判断処理は、同位桁の2数の差の結果が負になるときに”真または偽”を、該結果が正になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0054】
また、本発明の演算装置の演算方法は、前記演算装置が任意のR進数における2数(X,Y)の差の絶対値を求めるものであって、前記判断処理は、同位桁の2数の差(X−Y)の結果が負になるときに”真”を意味する値符号”Y”を、該結果が正になるときに”偽”を意味する値符号”N”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を意味する値符号”Q”を当該ノードの判断結果として出力するものである。
【0055】
また、本発明の演算装置の演算方法は、順序依存性のある判断の系列を含む問題を、該判断に対応する判断処理を葉(leaf)とし、上位優先決定処理を前記葉以外の他のノードとする2分木(binary tree )でモデル化して解く演算装置の演算方法であって、前記判断処理は、1または複数個の入力情報に基づく判断結果として”真”、”偽”、及び、”真または偽のどちらでもない、或いは、わからない”の何れかを出力し、前記上位優先決定処理は、前記判断の系列に対応する2つの判断処理の判断結果または前段における2つの上位優先決定処理の判断結果を入力とし、上位の判断処理または上位にある上位優先決定処理の判断結果が”真”または”偽”である場合には該上位の判断処理または上位にある上位優先決定処理の判断結果を出力し、上位の判断処理または上位にある上位優先決定処理の判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には下位の判断処理または下位にある上位優先決定処理の判断結果を出力し、
前記2分木の葉となる全判断処理、並びに、前記2分木において同じ深さにある全上位優先決定処理を、それぞれ並列に処理するものである。
【0056】
また、本発明の演算装置の演算方法は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定処理は、前記上位の判断処理の判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断処理の判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とするものである。
【0057】
また、本発明の演算装置の演算方法は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定処理は、前記上位の判断処理の判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断処理の判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号”Q”を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられるものである。
【0058】
また、本発明の演算装置の演算方法は、任意のR進数におけるn桁の2数(X,Y)の差の絶対値を、第1桁から第g桁(g=1〜n)までの判断処理を葉(leaf)とし、前記葉以外の他のノードを上位優先決定処理とするn個の2分木(binary tree )が全て埋め込まれたn個1列の判断処理及びn行m列(mはlog2 nを越える最小の整数)の上位優先決定処理によるマトリクスによってモデル化して求める演算装置の演算方法であって、前記判断処理は、同位桁の2数の差(X−Y)の結果が負になるときに”真”を意味する値符号”Y”を、該結果が正になるときに”偽”を意味する値符号”N”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を意味する値符号”Q”を判断結果として出力し、前記上位優先決定処理は、前記判断の系列に対応する2つの判断処理の判断結果または前段における2つの上位優先決定処理の判断結果を入力とし、上位の判断処理または上位にある上位優先決定処理の判断結果が”真”または”偽”である場合には該上位の判断処理または上位にある上位優先決定処理の判断結果を出力し、上位の判断処理または上位にある上位優先決定処理の判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には下位の判断処理または下位にある上位優先決定処理の判断結果を出力し、前記n個1列の判断処理及びn行m列の上位優先決定処理によるマトリクスを構成する各列の構成要素を、それぞれ同時に処理して、前記第m列の各上位優先決定処理から各桁の桁借りを生成するものである。
【0059】
また、本発明の演算装置の演算方法は、前記第n行第m列の上位優先決定処理から生成された最上位桁の桁借り生成結果に基づいて、前記2数の差(Xa−Yb)の結果について符号を判定する符号判定ステップと、前記符号判定ステップの符号判定の結果、負の場合若しくは負またはゼロの場合には、前記第m列の上位優先決定処理群の内、前記第n行の上位優先決定処理を除いた上位優先決定処理の出力符号について、値符号”Q”を値符号”Q”に、値符号”Y”を値符号”N”に、値符号”N”を値符号”Y”にそれぞれ置換し、正またはゼロの場合若しくは正の場合には、前記置換を行わずにそのままとする符号置換ステップと、前記符号置換ステップ後に、前記置換結果または前記上位優先決定処理の出力符号について、値符号”Q”を値符号”N”に置換して各桁の桁借りを得る第2符号置換ステップとを具備するものである。
【0060】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項1記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0061】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項2記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0062】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項3記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0063】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項5記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0064】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項6記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0065】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項7記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0066】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項8記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0067】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項9記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0068】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項10記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0069】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項13記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0070】
また、本発明のコンピュータにより読み取り可能な記憶媒体は、請求項14記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶したものである。
【0071】
また、本発明の演算装置は、順序依存性のある判断の系列を含む問題を解く演算装置であって、前記判断に対応して、R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードと、前記判断の系列に対応する2つの依存入出力を持たない判断ノードの仮の結論または前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を仮の結論として出力する上位優先決定ノードとを具備し、前記問題を、前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )でモデル化して、前記葉となる全判断ノード、並びに、前記2分木において同じ深さにある全上位優先決定ノードを、それぞれ同時に処理し、前記2分木の根(root)となる上位優先決定ノードの仮の結論を前記問題の結論とする。
【0072】
また、本発明の演算装置は、R進数または論理値情報の数量である単数または複数のデータ入力と”有効”または”無効”の2値情報である依存入力に基づいて、前記データ入力及び前記依存入力が共に有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ判断ノードをN個(Nは任意の正整数)具備し、前記依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの前記依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの前記依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの前記依存入力として接続されることにより構成される順序依存性のある判断の系列構造を、R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードをN個具備し、前記N個の依存入出力を持たない判断ノードを葉(leaf)とする2分木(binary tree )構造に、変換して構成する演算装置であって、前記依存入出力を持つ判断ノードを、R進数または論理値情報の数量である単数または複数のデータ入力と常に”有効”である依存入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ内包判断ノードと、前記内包判断ノードの依存出力が”有効”になったときに不確定符号”Q”を出力する不確定符号発生ノードとを具備し、仮の結論として前記不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードに置き換えた。
【0073】
また、本発明の演算装置は、R進数または論理値情報の数量である単数または複数のデータ入力と”有効”または”無効”の2値情報である依存入力に基づいて、前記データ入力及び前記依存入力が共に有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ判断ノードをN個(Nは任意の正整数)具備し、前記依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの前記依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの前記依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの前記依存入力として接続されることにより構成される順序依存性のある判断の系列構造を、R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力するN個の依存入出力を持たない判断ノードと、前記判断の系列に対応する2つの依存入出力を持たない判断ノードの仮の結論または前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を仮の結論として出力する上位優先決定ノードとを具備し、前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )構造に、変換して構成する演算装置であって、前記依存入出力を持つ判断ノードを、R進数または論理値情報の数量である単数または複数のデータ入力と常に”有効”である依存入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ内包判断ノードと、前記内包判断ノードの依存出力が”有効”になったときに不確定符号”Q”を出力する不確定符号発生ノードとを具備し、仮の結論として前記不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードに置き換えた。
【0074】
また、本発明の演算装置は、nビット2進数のデータ入力に対して最上位ビットから最下位ビットの方向で最初に”1”または”0”であるビット位置を2進数数値として出力するプライオリティエンコード機能を備えた演算装置であって、前記データ入力の各ビットに対応して、1ビットのデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードと、前記データ入力の各ビットに対応する2つの依存入出力を持たない判断ノードの仮の結論または前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を仮の結論として出力する上位優先決定ノードとを具備し、前記プライオリティエンコード機能を、前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )でモデル化して、前記葉となる全判断ノード、並びに、前記2分木において同じ深さにある全上位優先決定ノードを、それぞれ同時に処理し、前記2分木の根(root)となる上位優先決定ノードの仮の結論を前記プライオリティエンコードの結論とする。
【0075】
また、本発明の演算装置は、前記2分木は、葉となる前記判断ノードをn個具備し、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木は、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (NsはNs+1 /2を越える最小の整数)個、それぞれ具備し、前記判断ノードは、対応する前記データ入力のビット信号線であり、前記部分2分木の深さmのノードとなる下位より第pm 番目(pm =1〜Nm )の上位優先決定ノードは、前記データ入力の第(2×pm −2)ビット信号線及び第(2×pm −1)ビット信号線をそれぞれ第0ビット入力及び第1ビット入力とし、前記第0ビット入力及び第1ビット入力の論理和をとって第1ビット出力として出力する論理和手段と、前記第1ビット入力を第0ビット出力として出力する接続線とを具備し、前記部分2分木の深さsのノードとなる下位より第ps 番目(ps =1〜Ns )の上位優先決定ノードは、前記部分2分木の深さ(s+1)のノードとなる第(2×ps −1)番目の上位優先決定ノードの第0ビット出力から第(m−s)ビット出力をそれぞれ下位の第0ビット入力から第(m−s)ビット入力とし、前記部分2分木の深さ(s+1)のノードとなる第(2×ps )番目の上位優先決定ノードの第0ビット出力から第(m−s)ビット出力をそれぞれ上位の第0ビット入力から第(m−s)ビット入力とし、前記下位の第(m−s)ビット入力及び前記上位の第(m−s)ビット入力の論理和をとって第(m−s+1)ビット出力として出力する論理和手段と、前記上位の第(m−s)ビット入力を第(m−s)ビット出力として出力する接続線と、(m−s+1)個の選択手段とを具備し、下位から第q番目(q=1〜m−s+1)の選択手段は、前記上位の第(m−s)ビットを選択入力とし、該選択入力が”真”のときに前記上位の第(q−1)ビット入力を、該選択入力が”偽”のときに前記下位の第(q−1)ビット入力をそれぞれ選択して第(q−1)ビット出力として出力する。
【0076】
また、本発明の演算装置は、nビット2進数のデータ入力に対して最上位ビットから最下位ビットの方向で最初に”1”または”0”であるビット位置を2進数数値として出力するプライオリティエンコード機能を備えた演算装置であって、当該演算装置は、高さm(mはlog2 nを越える最小の整数)の2分木でモデル化され、前記2分木は、深さmのノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備し、前記2分木の深さmの下位より第pm 番目(pm =1〜Nm )のノードは、前記データ入力の第(2×pm −2)ビット信号線及び第(2×pm −1)ビット信号線をそれぞれ第0ビット入力及び第1ビット入力とし、前記第0ビット入力及び第1ビット入力の論理和をとって第1ビット出力として出力する論理和手段と、前記第1ビット入力を第0ビット出力として出力する接続線とを具備し、前記2分木の深さsの下位より第ps 番目(ps =1〜Ns )のノードは、前記2分木の深さ(s+1)の第(2×ps −1)番目のノードの第0ビット出力から第(m−s)ビット出力をそれぞれ下位の第0ビット入力から第(m−s)ビット入力とし、前記2分木の深さ(s+1)の第(2×ps )番目のノードの第0ビット出力から第(m−s)ビット出力をそれぞれ上位の第0ビット入力から第(m−s)ビット入力とし、前記下位の第(m−s)ビット入力及び前記上位の第(m−s)ビット入力の論理和をとって第(m−s+1)ビット出力として出力する論理和手段と、前記上位の第(m−s)ビット入力を第(m−s)ビット出力として出力する接続線と、(m−s+1)個の選択手段とを具備し、下位から第q番目(q=1〜m−s+1)の選択手段は、前記上位の第(m−s)ビットを選択入力とし、該選択入力が”真”のときに前記上位の第(q−1)ビット入力を、該選択入力が”偽”のときに前記下位の第(q−1)ビット入力をそれぞれ選択して第(q−1)ビット出力として出力する。
【0077】
また、本発明の演算装置は、nビット2進数のデータ入力に対して最上位ビットから最下位ビットの方向に”1”または”0”の連続する数を2進数数値として出力するプライオリティエンコード機能を備えた演算装置であって、前記データ入力の各ビットに対応して、1ビットのデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードと、前記データ入力の各ビットに対応する2つの依存入出力を持たない判断ノードの仮の結論または前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を仮の結論として出力する上位優先決定ノードとを具備し、前記プライオリティエンコード機能を、前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )でモデル化して、前記葉となる全判断ノード、並びに、前記2分木において同じ深さにある全上位優先決定ノードを、それぞれ同時に処理し、前記2分木の根(root)となる上位優先決定ノードの仮の結論を前記プライオリティエンコードの結論とする。
【0078】
また、本発明の演算装置は、前記2分木は、葉となる前記判断ノードをn個具備し、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木は、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備し、前記判断ノードは、対応する前記データ入力のビット信号線であり、前記部分2分木の深さmのノードとなる下位より第pm 番目(pm =1〜Nm )の上位優先決定ノードは、前記データ入力の第(2×pm −2)ビット信号線及び第(2×pm −1)ビット信号線をそれぞれ第0ビット入力及び第1ビット入力とし、前記第0ビット入力及び第1ビット入力の論理和をとって第1ビット出力として出力する論理和手段と、前記第1ビット入力の否定をとって第0ビット出力として出力する否定論理手段とを具備し、前記部分2分木の深さsのノードとなる下位より第ps 番目(ps =1〜Ns )の上位優先決定ノードは、前記部分2分木の深さ(s+1)のノードとなる第(2×ps −1)番目の上位優先決定ノードの第0ビット出力から第(m−s)ビット出力をそれぞれ下位の第0ビット入力から第(m−s)ビット入力とし、前記部分2分木の深さ(s+1)のノードとなる第(2×ps )番目の上位優先決定ノードの第0ビット出力から第(m−s)ビット出力をそれぞれ上位の第0ビット入力から第(m−s)ビット入力とし、前記下位の第(m−s)ビット入力及び前記上位の第(m−s)ビット入力の論理和をとって第(m−s+1)ビット出力として出力する論理和手段と、前記上位の第(m−s)ビット入力の否定をとって第(m−s)ビット出力として出力する否定論理手段と、(m−s+1)個の選択手段とを具備し、下位から第q番目(q=1〜m−s+1)の選択手段は、前記上位の第(m−s)ビットを選択入力とし、該選択入力が”真”のときに前記上位の第(q−1)ビット入力を、該選択入力が”偽”のときに前記下位の第(q−1)ビット入力をそれぞれ選択して第(q−1)ビット出力として出力する。
【0079】
また、本発明の演算装置は、nビット2進数のデータ入力に対して最上位ビットから最下位ビットの方向に”1”または”0”の連続する数を2進数数値として出力するプライオリティエンコード機能を備えた演算装置であって、当該演算装置は、高さm(mはlog2 nを越える最小の整数)の2分木でモデル化され、前記2分木は、深さmのノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備し、前記2分木の深さmの下位より第pm 番目(pm =1〜Nm )のノードは、前記データ入力の第(2×pm −2)ビット信号線及び第(2×pm −1)ビット信号線をそれぞれ第0ビット入力及び第1ビット入力とし、前記第0ビット入力及び第1ビット入力の論理和をとって第1ビット出力として出力する論理和手段と、前記第1ビット入力の否定をとって第0ビット出力として出力する否定論理手段とを具備し、前記2分木の深さsの下位より第ps 番目(ps =1〜Ns )のノードは、前記2分木の深さ(s+1)の第(2×ps −1)番目のノードの第0ビット出力から第(m−s)ビット出力をそれぞれ下位の第0ビット入力から第(m−s)ビット入力とし、前記2分木の深さ(s+1)の第(2×ps )番目のノードの第0ビット出力から第(m−s)ビット出力をそれぞれ上位の第0ビット入力から第(m−s)ビット入力とし、前記下位の第(m−s)ビット入力及び前記上位の第(m−s)ビット入力の論理和をとって第(m−s+1)ビット出力として出力する論理和手段と、前記上位の第(m−s)ビット入力の否定をとって第(m−s)ビット出力として出力する否定論理手段と、(m−s+1)個の選択手段とを具備し、下位から第q番目(q=1〜m−s+1)の選択手段は、前記上位の第(m−s)ビットを選択入力とし、該選択入力が”真”のときに前記上位の第(q−1)ビット入力を、該選択入力が”偽”のときに前記下位の第(q−1)ビット入力をそれぞれ選択して第(q−1)ビット出力として出力する。
【0080】
また、本発明の演算装置は、順序依存性のある判断の系列を含む問題を解く演算装置であって、前記判断に対応して、1または複数個の入力情報に基づく判断結果として”真”、”偽”、及び、”真または偽のどちらでもない、或いは、わからない”の何れかを出力する判断ノードを具備し、前記問題を、前記判断ノードを葉(leaf)とする2分木(binary tree )でモデル化して、前記葉となる全判断ノードを同時に処理するものである。
【0081】
また、本発明の演算装置は、前記演算装置が任意のR進数における2数の比較を行うものであって、該2数の各桁についての比較判断が前記順序依存性のある判断の系列を形成する場合に、前記判断ノードは、同位桁の2数の差の結果が正になるときに”真または偽”を、該結果が負になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0082】
また、本発明の演算装置は、前記演算装置が任意のR進数における2数の加算を行うものであって、各桁における桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、前記判断ノードは、同位桁の2数の和の結果がR以上になるときに”真または偽”を、該結果が(R−2)になるときに”偽または真”を、該結果が(R−1)になるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0083】
また、本発明の演算装置は、前記演算装置が任意のR進数における2数の減算を行うものであって、各桁における桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、前記判断ノードは、同位桁の2数の差の結果が負になるときに”真または偽”を、該結果が正になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0084】
また、本発明の演算装置は、順序依存性のある判断の系列を含む問題を解く演算装置であって、前記判断に対応して、1または複数個の入力情報に基づく結果として”真”、”偽”、及び、”真または偽のどちらでもない、或いは、わからない”の何れかを出力する判断ノードと、前記判断の系列に対応する2つの判断ノードの判断結果または前段における2つの上位優先決定ノードの判断結果を入力とし、上位の判断ノードまたは上位にある上位優先決定ノードの判断結果が”真”または”偽”である場合には該上位の判断ノードまたは上位にある上位優先決定ノードの判断結果を出力し、上位の判断ノードまたは上位にある上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には下位の判断ノードまたは下位にある上位優先決定ノードの判断結果を出力する上位優先決定ノードとを具備し、前記問題を、前記判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )でモデル化して、前記葉となる全判断ノード、並びに、前記2分木において同じ深さにある全上位優先決定ノードを、それぞれ同時に処理するものである。
【0085】
また、本発明の演算装置は、前記演算装置が任意のR進数における2数の比較を行うものであって、該2数の各桁についての比較判断が前記順序依存性のある判断の系列を形成する場合に、前記判断ノードは、同位桁の2数の差の結果が正になるときに”真または偽”を、該結果が負になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0086】
また、本発明の演算装置は、前記演算装置が任意のR進数における2数の加算を行うものであって、各桁における桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、前記判断ノードは、同位桁の2数の和の結果がR以上になるときに”真または偽”を、該結果が(R−2)になるときに”偽または真”を、該結果が(R−1)になるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0087】
また、本発明の演算装置は、前記演算装置が任意のR進数における2数の減算を行うものであって、各桁における桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、前記判断ノードは、同位桁の2数の差の結果が負になるときに”真または偽”を、該結果が正になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するものである。
【0088】
また、本発明の演算装置は、順序依存性のある判断の系列における判断がn個であるときに、前記2分木は、葉(leaf)となる前記判断ノードをn個具備し、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木は、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備するものである。
【0089】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、 前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とするものである。
【0090】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号”Q”を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられるものである。
【0091】
また、本発明の演算装置は、前記上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備するものである。
【0092】
また、本発明の演算装置は、順序依存性のある判断の系列における判断をn個とし、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備するときに、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり^符号Tij,0として出力する第2選択手段とを具備し、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードは、前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備するものである。
【0093】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{00}、前記値符号”N”を{11}、前記値符号”Q”を{10}とし、{01}を使用禁止(値符号”F”)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられるものである。
【0094】
また、本発明の演算装置は、前記上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理積と前記符号Ti,0 との論理和をとって符号Tij,1として出力する第1の複合論理ゲート手段と、前記符号Ti,1 及び前記符号Tj,0 の論理積と前記符号Ti,0 との論理和をとって符号Tij,0として出力する第2の複合論理ゲート手段とを具備するものである。
【0095】
また、本発明の演算装置は、順序依存性のある判断の系列における判断をn個とし、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備するときに、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理積と前記符号Ti,0 との否定論理和をとって符号^Tij,1として出力する第3の複合論理ゲート手段と、前記符号Ti,1 及び前記符号Tj,0 の論理積と前記符号Ti,0 との否定論理和をとって符号^Tij,0として出力する第4の複合論理ゲート手段とを具備し、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードは、前記符号^Ti,1 及び前記符号^Tj,1 の論理和と前記符号^Ti,0 との否定論理積をとって符号Tij,1として出力する第5の複合論理ゲート手段と、前記符号^Ti,1 及び前記符号^Tj,0 の論理和と前記符号^Ti,0 との否定論理積をとって符号Tij,0として出力する第6の複合論理ゲート手段とを具備するものである。
【0096】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{01}、前記値符号”N”を{10}、前記値符号”Q”を{11}とし、{00}を使用禁止(値符号”F”)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられ、前記上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理積と前記符号^Ti,0 との論理和をとって符号Tij,1として出力する第7の複合論理ゲート手段と、前記符号Ti,0 及び前記符号Tj,0 の論理積と前記符号^Ti,1 との論理和をとって符号Tij,0として出力する第8の複合論理ゲート手段とを具備するものである。
【0097】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{00}、前記値符号”N”を{10}、前記値符号”Q”を{11}とし、{01}を使用禁止(値符号”F”)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられ、前記上位優先決定ノードは、前記符号^Ti,0 及び前記符号Tj,1 の論理和と前記符号Ti,1 との論理積をとって符号Tij,1として出力する第9の複合論理ゲート手段と、前記符号Ti,0 及び前記符号Tj,0 の論理積をとって符号Tij,0として出力する論理積手段とを具備するものである。
【0098】
また、本発明の演算装置は、前記演算装置がnビット2進数における2数(Xa,Yb)の比較を行うものであって、該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての比較判断が前記順序依存性のある判断の系列を形成する場合に、前記判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、前記桁値Xai を符号Ti,0 として出力する接続手段とを具備するものである。
【0099】
また、本発明の演算装置は、前記上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記2分木の根(root)となる上位優先決定ノードの出力がQ={0*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={11}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={10}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈するものである。
【0100】
また、本発明の演算装置は、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備するときに、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段とを具備し、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードは、前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備し、mが偶数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力がQ={0*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={11}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={10}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈し、mが奇数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力がQ={1*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={00}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={01}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈するものである。
【0101】
また、本発明の演算装置は、前記演算装置が符号有りnビット2進数における2数(Xa,Yb)の比較を行う場合に、前記2数のMSB(Most Significant Bit)についての比較判断を行う判断ノードは、前記桁値Xan-1 を桁値Ybn-1 として、前記桁値Ybn-1 を桁値Xan-1 として、それぞれ扱うものである。
【0102】
また、本発明の演算装置は、前記演算装置がnビット2進数における2数(Xa,Yb)の比較を行うものであって、該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての比較判断が前記順序依存性のある判断の系列を形成する場合に、前記判断ノードは、前記桁値Xai 及び前記桁値Ybi の否定の否定論理積をとって符号Ti,1 として出力する否定論理積手段と、前記桁値Xai 及び前記桁値Ybi の否定の否定論理和をとって符号Ti,0 として出力する否定論理和手段とを具備するものである。
【0103】
また、本発明の演算装置は、nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、前記判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備するものである。
【0104】
また、本発明の演算装置は、前記2数のLSB(Least Significant Bit )についての桁上げの存否判断を行う判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備し、符号T0,1 を出力しないものである。
【0105】
また、本発明の演算装置は、前記上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈するものである。
【0106】
また、本発明の演算装置は、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備するときに、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段とを具備し、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備し、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を具備して、符号Tij,1を出力せず、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を具備して、符号Tij,1を出力せず、mが偶数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、mが奇数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力符号^Tij,0が”0”ならば「桁上げ出力有り」と、該出力符号^Tij,0が”1”ならば「桁上げ出力無し」と、それぞれ解釈するものである。
【0107】
また、本発明の演算装置は、nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、前記判断ノードは、前記桁値Xai 及び前記桁値Ybi の否定論理積をとって符号Ti,1 として出力する否定論理積手段と、前記桁値Xai 及び前記桁値Ybi の否定論理和をとって符号Ti,0 として出力する否定論理和手段とを具備するものである。
【0108】
また、本発明の演算装置は、nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合であって、前記2分木を、前記2数の各桁Xaj ,Ybj (j=0〜n−2)についての桁上げの存否判断を行う判断ノードを葉として構成し、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備するときに、前記2数のLSBについての桁上げの存否判断を行う判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記2数の各桁Xak ,Ybk (k=1〜n−1)についての桁上げの存否判断を行う判断ノードは、前記桁値Xaj 及び前記桁値Ybj の排他的否定論理和をとって符号Tj,1 として出力する排他的否定論理和手段と、前記桁値Xaj を符号Tj,0 として出力する接続手段、或いは、前記桁値Ybj を符号Tj,0 として出力する接続手段とを具備し、前記上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記2分木の葉の数が2の累乗でない場合には、前記2数のLSBについての桁上げの存否判断を行う判断ノードに対応する上位優先決定ノードを、該判断ノードが出力する符号T0,0 をそのまま伝搬させるダミーノードとし、前記2数のMSBについての桁上げの存否判断を行う判断ノードの出力符号Tn-1,1 の否定と、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0との排他的論理和をとって、前記2数のMSBについての和の結果とする排他的論理和手段を具備するものである。
【0109】
また、本発明の演算装置は、nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合であって、前記2分木を、前記2数の各桁Xaj ,Ybj (j=0〜n−2)についての桁上げの存否判断を行う判断ノードを葉として構成し、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備するときに、前記2数のLSBについての桁上げの存否判断を行う判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記2数の各桁Xak ,Ybk (k=1〜n−1)についての桁上げの存否判断を行う判断ノードは、前記桁値Xaj 及び前記桁値Ybj の排他的否定論理和をとって符号Tj,1 として出力する排他的否定論理和手段と、前記桁値Xaj を符号Tj,0 として出力する接続手段、或いは、前記桁値Ybj を符号Tj,0 として出力する接続手段とを具備し、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段とを具備し、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備し、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を具備して、符号Tij,1を出力せず、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を具備して、符号Tij,1を出力せず、前記2分木の葉の数が2の累乗でない場合には、前記2数のLSBについての桁上げの存否判断を行う判断ノードに対応する上位優先決定ノードを、該判断ノードが出力する符号T0,0 を反転して伝搬させるダミーノードとし、mが偶数の場合には、前記2数のMSBについての桁上げの存否判断を行う判断ノードの出力符号Tn-1,1 の否定と、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0との排他的論理和をとって、前記2数のMSBについての和の結果とする排他的論理和手段を具備し、mが奇数の場合には、前記2数のMSBについての桁上げの存否判断を行う判断ノードの出力符号Tn-1,1 の否定と、前記2分木の根となる上位優先決定ノードの出力符号^Tij,0の否定との排他的論理和をとって、前記2数のMSBについての和の結果とする排他的論理和手段を具備するものである。
【0110】
また、本発明の演算装置は、nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が順序依存性のある判断の系列を形成する場合に、前記2数の各桁値Xai ,Ybi に基づいて同位桁の和の結果が2以上になるときに”真または偽”を、該結果がゼロになるときに”偽または真”を、該結果が1になるときに”真または偽のどちらでもない、或いは、わからない”を、判断結果としてそれぞれ出力するn個の判断ノードと、行が前記2数の各桁に対応するn行m列(mはlog2 nを越える最小の整数)の上位優先決定ノードマトリクスとを具備し、前記第1列の上位優先決定ノード群は、第0桁の判断ノードの判断結果をそのまま伝搬させるダミーノードとしての第0行の上位優先決定ノードと、第h1 −1桁の判断ノード及び第h1 桁の判断ノード(h1 =1〜n−1)の判断結果を入力とし、第h1 桁の判断ノードの判断結果が”真”または”偽”である場合には該h1 桁の判断ノードの判断結果を出力し、第h1 桁の判断ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第h1 −1桁の判断ノードの判断結果を出力する第h1 行の上位優先決定ノードとを具備し、前記第k列の上位優先決定ノード群(k=2〜m)は、第0行から第2k-1 −1行までの上位優先決定ノードの判断結果をそれぞれそのまま伝搬させるダミーノードとしての第0行から第2k-1 −1行までの上位優先決定ノードと、第hk −2k-1 行の上位優先決定ノード及び第hk 行の上位優先決定ノード(hk =2k-1 〜n−1)の判断結果を入力とし、第hk 行の上位優先決定ノードの判断結果が”真”または”偽”である場合には該hk 行の上位優先決定ノードの判断結果を出力し、第hk 行の上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第hk −2k-1 行の上位優先決定ノードの判断結果を出力する第hk 行の上位優先決定ノードとを具備し、前記n個の判断ノード、並びに、前記各列の上位優先決定ノード群を、それぞれ同時に処理するものである。
【0111】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とするものである。
【0112】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられる。
【0113】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり、符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記第m列の第0行から第n−1行までの上位優先決定ノードの出力符号Tij,0をそれぞれ第1桁から第n−1桁まで及び当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈するものである。
【0114】
また、本発明の演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、前記第1桁から第n−1桁までの判断ノードの出力符号Ti,1 の否定と前記第m列の第0行から第n−2行までの上位優先決定ノードの出力符号Tij,0とのそれぞれの排他的論理和をとって第1桁から第n−1桁までの和の結果とする第1行から第n−1行までの排他的論理和手段とを備えた和生成手段とを具備するものである。
【0115】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記第1列第0行の上位優先決定ノード及び前記第k列の第0行から第2k-1 −1行までの上位優先決定ノード(k=2〜m)は、第0桁の判断ノードの判断結果及び第0行から第2k-1 −1行までの上位優先決定ノードの判断結果をそれぞれ反転して伝搬させるダミーノードとし、前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段とを具備し、前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備し、前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を具備して、符号Tij,1を出力せず、前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を具備して、符号Tij,1を出力せず、mが偶数の場合には、前記第m列の第0行から第n−1行までの上位優先決定ノードの出力符号Tij,0をそれぞれ第1桁から第n−1桁まで及び当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、mが奇数の場合には、前記第m列の第0行から第n−1行までの上位優先決定ノードの出力符号^Tij,0をそれぞれ第1桁から第n−1桁まで及び当該演算装置の桁上げ出力として、該出力符号^Tij,0が”0”ならば「桁上げ出力有り」と、該出力符号^Tij,0が”1”ならば「桁上げ出力無し」と、それぞれ解釈するものである。
【0116】
また、本発明の演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、mが偶数の場合には、前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、前記第1桁から第n−1桁までの判断ノードの出力符号Ti,1 の否定と前記第m列の第0行から第n−2行までの上位優先決定ノードの出力符号Tij,0とのそれぞれの排他的論理和をとって第1桁から第n−1桁までの和の結果とする第1行から第n−1行までの排他的論理和手段とを備えた和生成手段とを具備し、mが奇数の場合には、前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、前記第1桁から第n−1桁までの判断ノードの出力符号Ti,1 の否定と前記第m列の第0行から第n−2行までの上位優先決定ノードの出力符号^Tij,0の否定とのそれぞれの排他的論理和をとって第1桁から第n−1桁までの和の結果とする第1行から第n−1行までの排他的論理和手段とを備えた和生成手段とを具備するものである。
【0117】
また、本発明の演算装置は、nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が順序依存性のある判断の系列を形成する場合に、前記2数の各桁値Xai ,Ybi に基づいて同位桁の和の結果が2以上になるときに”真または偽”を、該結果がゼロになるときに”偽または真”を、該結果が1になるときに”真または偽のどちらでもない、或いは、わからない”を、判断結果としてそれぞれ出力するn個の判断ノードと、行が前記2数の各奇数桁に対応するn/2行m列(mはlog2 nを越える最小の整数)の上位優先決定ノードマトリクスとを具備し、前記第1列の上位優先決定ノード群は、第h1 −1桁の判断ノード及び第h1 桁の判断ノード(h1 =1〜n−1の奇数)の判断結果を入力とし、第h1 桁の判断ノードの判断結果が”真”または”偽”である場合には該h1 桁の判断ノードの判断結果を出力し、第h1 桁の判断ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第h1 −1桁の判断ノードの判断結果を出力する第h1 行の上位優先決定ノードを具備し、前記第k列の上位優先決定ノード群(k=2〜m)は、第1から第2k-1 −1までの奇数行の上位優先決定ノードの判断結果をそれぞれそのまま伝搬させるダミーノードとしての第1から第2k-1 −1までの奇数行の上位優先決定ノードと、第hk −2k-1 行の上位優先決定ノード及び第hk 行の上位優先決定ノード(hk =2k-1 〜n−1の奇数)の判断結果を入力とし、第hk 行の上位優先決定ノードの判断結果が”真”または”偽”である場合には該hk 行の上位優先決定ノードの判断結果を出力し、第hk 行の上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第hk −2k-1 行の上位優先決定ノードの判断結果を出力する第hk 行の上位優先決定ノードとを具備し、前記n個の判断ノード、並びに、前記各列の上位優先決定ノード群を、それぞれ同時に処理するものである。
【0118】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とするものである。
【0119】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号”Q”を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられるものである。
【0120】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、前記演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、和生成手段とを具備し、前記和生成手段は、前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択して第f+1桁への桁上げとして出力する第f行の桁上げ生成手段と、前記第f桁の判断ノードの出力符号Tf,1 の否定と前記第f−1行の上位優先決定ノードの出力符号との排他的論理和をとって第f桁の和の結果とする第f行の排他的論理和手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 の否定と前記第f行の桁上げ生成手段の出力との排他的論理和をとって第f+1桁の和の結果とする第f+1行の排他的論理和手段とを具備するものである。
【0121】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記第k列の第1から第2k-1 −1までの奇数行の上位優先決定ノードは、(k=2〜m)は、第1から第2k-1 −1までの奇数行の上位優先決定ノードの判断結果をそれぞれ反転して伝搬させるダミーノードとし、前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する選択手段とを具備し、前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備し、前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を具備して、符号Tij,1を出力せず、前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を具備して、符号Tij,1を出力せず、mが偶数の場合には、前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、mが奇数の場合には、前記第m列の第n−1行の上位優先決定ノードの出力符号^Tij,0の否定をとった符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、前記演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、和生成手段とを具備し、前記和生成手段は、mが偶数の場合には、前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択して第f+1桁への桁上げとして出力する第f行の桁上げ生成手段と、前記第f桁の判断ノードの出力符号Tf,1 の否定と前記第f−1行の上位優先決定ノードの出力符号との排他的論理和をとって第f桁の和の結果とする第f行の排他的論理和手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 の否定と前記第f行の桁上げ生成手段の出力との排他的論理和をとって第f+1桁の和の結果とする第f+1行の排他的論理和手段とを具備し、mが奇数の場合には、前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号の否定を、それぞれ選択して第f+1桁への桁上げとして出力する第f行の桁上げ生成手段と、前記第f桁の判断ノードの出力符号Tf,1 の否定と前記第f−1行の上位優先決定ノードの出力符号の否定との排他的論理和をとって第f桁の和の結果とする第f行の排他的論理和手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 の否定と前記第f行の桁上げ生成手段の出力との排他的論理和をとって第f+1桁の和の結果とする第f+1行の排他的論理和手段とを具備するものである。
【0122】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したのの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、前記演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、和生成手段とを具備し、前記和生成手段は、前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択したものの否定をとって第f+1桁への桁上げとして出力する第f行の桁上げ生成手段と、前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号との排他的否定論理和をとって第f桁の和の結果とする第f行の排他的否定論理和手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記第f行の桁上げ生成手段の出力との排他的論理和をとって第f+1桁の和の結果とする第f+1行の排他的論理和手段とを具備するものである。
【0123】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したのの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、前記演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、和生成手段とを具備し、前記和生成手段は、前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 と該行への入力桁値Xaf またはYbf との否定論理積をとる否定論理積手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記否定論理積手段の出力との排他的論理和をとって第f+1行の第0被選択信号を出力する排他的論理和手段と、前記第f桁の判断ノードの出力符号Tf,1 と前記第f+1行の第0被選択信号との排他的否定論理和をとって第f+1行の第1被選択信号を出力する排他的否定論理和手段と、前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号との排他的否定論理和をとって第f桁の和の結果とする第f行の排他的否定論理和手段と、前記第f−1行の上位優先決定ノードの出力符号が”1”をとるとき前記第f+1行の第1被選択信号を、該出力符号が”0”をとるとき前記第f+1行の第0被選択信号を、それぞれ選択したものの否定をとって第f+1桁の和の結果とする第f+1行の和生成選択手段とを具備するものである。
【0124】
また、本発明の演算装置は、nビット2進数における2数の減算(Xa−Yb)における各桁(Xai ,Ybi ;i=0〜n−1)についての桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、前記判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備するものである。
【0125】
また、本発明の演算装置は、前記2数のLSB(Least Significant Bit )についての桁借りの存否判断を行う判断ノードは、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁借り入力が”1”をとるとき前記否定論理和手段の出力を、該桁借り入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備し、符号T0,1 を出力しないものである。
【0126】
また、本発明の演算装置は、前記上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈するものである。
【0127】
また、本発明の演算装置は、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備するときに、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段とを具備し、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備し、前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を具備して、符号Tij,1を出力せず、前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を具備して、符号Tij,1を出力せず、mが偶数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈し、mが奇数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力符号^Tij,0が”0”ならば「桁借り出力有り」と、該出力符号^Tij,0が”1”ならば「桁借り出力無し」と、それぞれ解釈するものである。
【0128】
また、本発明の演算装置は、nビット2進数における2数の減算(Xa−Yb)における各桁(Xai ,Ybi ;i=0〜n−1)についての桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、前記2数の各桁値Xai ,Ybi に基づいて同位桁の2数の差の結果が負になるときに”真または偽”を、該結果が正になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ判断結果として出力するn個の判断ノードと、行が前記2数の各桁に対応するn行m列(mはlog2 nを越える最小の整数)の上位優先決定ノードのマトリクスとを具備し、前記第1列の上位優先決定ノード群は、第0桁の判断ノードの判断結果をそのまま伝搬させるダミーノードとしての第0行の上位優先決定ノードと、第h1 −1桁の判断ノード及び第h1 桁の判断ノード(h1 =1〜n−1)の判断結果を入力とし、第h1 桁の判断ノードの判断結果が”真”または”偽”である場合には該h1 桁の判断ノードの判断結果を結果とし、第h1 桁の判断ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第h1 −1桁の判断ノードの判断結果を結果として出力する第h1 行の上位優先決定ノードとを具備し、前記第k列の上位優先決定ノード群(k=2〜m)は、第0行から第2k-1 −1行までの上位優先決定ノードの判断結果をそれぞれそのまま伝搬させるダミーノードとしての第0行から第2k-1 −1行までの上位優先決定ノードと、第hk −2k-1 行の上位優先決定ノード及び第hk 行の上位優先決定ノード(hk =2k-1 〜n−1)の判断結果を入力とし、第hk 行の上位優先決定ノードの判断結果が”真”または”偽”である場合には該hk 行の上位優先決定ノードの判断結果を結果とし、第hk 行の上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第hk −2k-1 行の上位優先決定ノードの判断結果を結果として出力する第hk 行の上位優先決定ノードとを具備し、前記n個の判断ノード、並びに、前記各列の上位優先決定ノード群を、それぞれ同時に処理するものである。
【0129】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とするものである。
【0130】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられるものである。
【0131】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁借り入力が”1”をとるとき前記否定論理和手段の出力を、該桁借り入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記第m列の第0行から第n−1行までの上位優先決定ノードの出力符号Tij,0をそれぞれ第1桁から第n−1桁まで及び当該演算装置の桁借り出力として、該出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈するものである。
【0132】
また、本発明の演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、前記第1桁から第n−1桁までの判断ノードの出力符号Ti,1 と前記第m列の第0行から第n−2行までの上位優先決定ノードの出力符号Tij,0とのそれぞれの排他的論理和をとって第1桁から第n−1桁までの差の結果とする第1行から第n−1行までの排他的論理和手段とを備えた差生成手段とを具備するものである。
【0133】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁借り入力が”1”をとるとき前記否定論理和手段の出力を、該桁借り入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記第1列第0行の上位優先決定ノード及び前記第k列の第0行から第2k-1 −1行までの上位優先決定ノード(k=2〜m)は、第0桁の判断ノードの判断結果及び第0行から第2k-1 −1行までの上位優先決定ノードの判断結果をそれぞれ反転して伝搬させるダミーノードとし、前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段とを具備し、前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備し、前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を具備して、符号Tij,1を出力せず、前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を具備して、符号Tij,1を出力せず、mが偶数の場合には、前記第m列の第0行から第n−1行までの上位優先決定ノードの出力符号Tij,0をそれぞれ第1桁から第n−1桁まで及び当該演算装置の桁借り出力として、該出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈し、mが奇数の場合には、前記第m列の第0行から第n−1行までの上位優先決定ノードの出力符号^Tij,0をそれぞれ第1桁から第n−1桁まで及び当該演算装置の桁借り出力として、該出力符号^Tij,0が”0”ならば「桁借り出力有り」と、該出力符号^Tij,0が”1”ならば「桁借り出力無し」と、それぞれ解釈するものである。
【0134】
また、本発明の演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、mが偶数の場合には、前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、前記第1桁から第n−1桁までの判断ノードの出力符号Ti,1 と前記第m列の第0行から第n−2行までの上位優先決定ノードの出力符号Tij,0とのそれぞれの排他的論理和をとって第1桁から第n−1桁までの差の結果とする第1行から第n−1行までの排他的論理和手段とを備えた差生成手段とを具備し、mが奇数の場合には、前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、前記第1桁から第n−1桁までの判断ノードの出力符号Ti,1 と前記第m列の第0行から第n−2行までの上位優先決定ノードの出力符号^Tij,0の否定とのそれぞれの排他的論理和をとって第1桁から第n−1桁までの差の結果とする第1行から第n−1行までの排他的論理和手段とを備えた差生成手段とを具備するものである。
【0135】
また、本発明の演算装置は、nビット2進数における2数の減算(Xa−Yb)における各桁(Xai ,Ybi ;i=0〜n−1)についての桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、前記2数の各桁値Xai ,Ybi に基づいて同位桁の2数の差の結果が負になるときに”真または偽”を、該結果が正になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ判断結果として出力するn個の判断ノードと、行が前記2数の各奇数桁に対応するn/2行m列(mはlog2 nを越える最小の整数)の上位優先決定ノードのマトリクスとを具備し、前記第1列の上位優先決定ノード群は、第h1 −1桁の判断ノード及び第h1 桁の判断ノード(h1 =1〜n−1の奇数)の判断結果を入力とし、第h1 桁の判断ノードの判断結果が”真”または”偽”である場合には該h1 桁の判断ノードの判断結果を結果とし、第h1 桁の判断ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第h1 −1桁の判断ノードの判断結果を結果として出力する第h1 行の上位優先決定ノードを具備し、前記第k列の上位優先決定ノード群(k=2〜m)は、第1から第2k-1 −1までの奇数行の上位優先決定ノードの判断結果をそれぞれそのまま伝搬させるダミーノードとしての第1から第2k-1 −1までの奇数行の上位優先決定ノードと、第hk −2k-1 行の上位優先決定ノード及び第hk 行の上位優先決定ノード(hk =2k-1 〜n−1の奇数)の判断結果を入力とし、第hk 行の上位優先決定ノードの判断結果が”真”または”偽”である場合には該hk 行の上位優先決定ノードの判断結果を結果とし、第hk 行の上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第hk −2k-1 行の上位優先決定ノードの判断結果を結果として出力する第hk 行の上位優先決定ノードとを具備し、前記n個の判断ノード、並びに、前記各列の上位優先決定ノード群を、それぞれ同時に処理するものである。
【0136】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号j に対して優越する関係にある場合に、前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とするものである。
【0137】
また、本発明の演算装置は、前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号j に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられるものである。
【0138】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁借り入力が”1”をとるとき前記否定論理和手段の出力を、該桁借り入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、 前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を具備して、符号Tij,1を出力せず、前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁借り出力として、該出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈し、前記演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、差生成手段とを具備し、前記差生成手段は、前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 との排他的論理和をとって第1桁の差の結果とする第1行の排他的論理和手段と、前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Ybf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択して第f+1桁への桁借りとして出力する第f行の桁借り生成手段と、前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号との排他的論理和をとって第f桁の差の結果とする第f行の排他的論理和手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記第f行の桁借り生成手段の出力との排他的論理和をとって第f+1桁の差の結果とする第f+1行の排他的論理和手段とを具備するものである。
【0139】
また、本発明の演算装置は、前記第1桁から第n−1桁までの判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記第0桁の判断ノードは、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、当該演算装置への桁借り入力が”1”をとるとき前記否定論理和手段の出力を、該桁借り入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段とを具備して、符号T0,1 を出力せず、前記第k列の第1から第2k-1 −1までの奇数行の上位優先決定ノードは、(k=2〜m)は、第1から第2k-1 −1までの奇数行の上位優先決定ノードの判断結果をそれぞれ反転して伝搬させるダミーノードとし、前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する選択手段とを具備し、前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段とを具備し、前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を具備して、符号Tij,1を出力せず、前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1 が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を具備して、符号Tij,1を出力せず、mが偶数の場合には、前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁借り出力として、該出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈し、mが奇数の場合には、前記第m列の第n−1行の上位優先決定ノードの出力符号^Tij,0を当該演算装置の桁借り出力として、該出力符号^Tij,0が”0”ならば「桁借り出力有り」と、該出力符号^Tij,0が”1”ならば「桁借り出力無し」と、それぞれ解釈し、前記演算装置は、前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、差生成手段とを具備し、前記差生成手段は、mが偶数の場合には、前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 との排他的論理和をとって第1桁の差の結果とする第1行の排他的論理和手段と、前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Ybf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択して第f+1桁への桁借りとして出力する第f行の桁借り生成手段と、前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号との排他的論理和をとって第f桁の差の結果とする第f行の排他的論理和手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記第f行の桁借り生成手段の出力との排他的論理和をとって第f+1桁の差の結果とする第f+1行の排他的論理和手段とを具備し、mが奇数の場合には、前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 との排他的論理和をとって第1桁の差の結果とする第1行の排他的論理和手段と、前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Ybf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号の否定を、それぞれ選択して第f+1桁への桁借りとして出力する第f行の桁借り生成手段と、前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号の否定との排他的論理和をとって第f桁の差の結果とする第f行の排他的論理和手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記第f行の桁借り生成手段の出力との排他的論理和をとって第f+1桁の差の結果とする第f+1行の排他的論理和手段とを具備するものである。
【0140】
また、本発明の演算装置は、nビット2進数における2数(Xa,Yb)の差の絶対値を求める演算装置であって、前記2数の各桁値Xai ,Ybi (i=1〜n−1)に基づいて同位桁の2数の差(Xai −Ybi )の結果が負になるときに”真”を意味する値符号”Y”を、該結果が正になるときに”偽”を意味する値符号”N”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を意味する値符号”Q”を判断結果として出力する判断ノードを具備し、行が前記2数の各桁に対応するn行m列(mはlog2 nを越える最小の整数)の上位優先決定ノードのマトリクスと、差の絶対値演算における各桁の桁借りを生成する桁借り生成部とを具備し、前記第1列の上位優先決定ノード群は、第0桁の判断ノードの判断結果をそのまま伝搬させるダミーノードとしての第0行の上位優先決定ノードと、第h1 −1桁の判断ノード及び第h1 桁の判断ノード(h1 =1〜n−1)の判断結果を入力とし、第h1 桁の判断ノードの判断結果が”真”または”偽”である場合には該h1 桁の判断ノードの判断結果を結果とし、第h1 桁の判断ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第h1 −1桁の判断ノードの判断結果を結果として出力する第h1 行の上位優先決定ノードとを具備し、前記第k列の上位優先決定ノード群(k=2〜m)は、第0行から第2k-1 −1行までの上位優先決定ノードの判断結果をそれぞれそのまま伝搬させるダミーノードとしての第0行から第2k-1 −1行までの上位優先決定ノードと、第hk −2k-1 行の上位優先決定ノード及び第hk 行の上位優先決定ノード(hk =2k-1 〜n−1)の判断結果を入力とし、第hk 行の上位優先決定ノードの判断結果が”真”または”偽”である場合には該hk 行の上位優先決定ノードの判断結果を結果とし、第hk 行の上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第hk −2k-1 行の上位優先決定ノードの判断結果を結果として出力する第hk 行の上位優先決定ノードとを具備し、前記桁借り生成部は、前記第n−1行第m列の上位優先決定ノードから生成された第n−1桁の桁借り生成結果に基づいて、前記2数の差(Xa−Yb)の結果について符号を判定する符号判定手段と、前記符号判定手段の符号判定の結果、負の場合若しくは負またはゼロの場合には、前記第m列の上位優先決定ノード群の内、前記第n−1行の上位優先決定ノードを除いた第0行から第n−2行までの上位優先決定ノードの出力符号について、値符号”Q”を値符号”Q”に、値符号”Y”を値符号”N”に、値符号”N”を値符号”Y”にそれぞれ置換し、正またはゼロの場合若しくは正の場合には、前記置換を行わずにそのままとする第0行から第n−2行までの符号置換手段と、前記第0行から第n−2行までの符号置換手段の出力について、それぞれ値符号”Q”を値符号”N”に置換して各桁の桁借りを得る第0行から第n−2行までの第2符号置換手段とを具備し、前記n個の判断ノード、前記各列の上位優先決定ノード群、並びに、前記第0行から第n−2行までの符号置換手段及び第2符号置換手段を、それぞれ同時に処理するものである。
【0141】
また、本発明の演算装置は、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とするものである。
【0142】
また、本発明の演算装置は、前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、前記K演算子は、
として与えられるものである。
【0143】
また、本発明の演算装置は、前記判断ノードは、前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、前記桁値Ybi を符号Ti,0 として出力する接続手段とを具備し、前記ダミーノードを除く上位優先決定ノードは、前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段とを具備し、前記符号判定手段は、前記第n−1行第m列の上位優先決定ノードからの出力符号Tijが値符号”Y”のとき”真”、値符号”Q”または”N”のとき”偽”、或いは、該出力符号Tijが値符号”Y”または”Q”のとき”真”、値符号”N”のとき”偽”となる符号判定信号を出力し、前記第0行から第n−2行までの符号置換手段は、前記符号判定手段からの符号判定信号と前記第0行から第n−2行までの上位優先決定ノードの出力符号Tij,0との排他的論理和をそれぞれとる排他的論理和手段を具備し、前記第0行から第n−2行までの第2符号置換手段は、前記第0行から第n−2行までの符号置換手段の出力と前記第0行から第n−2行までの上位優先決定ノードの出力符号Tij,1との論理積をそれぞれとる論理積手段を具備し、当該演算装置は、前記第0桁の判断ノードの出力符号Ti,1 を差の絶対値の結果とする持続手段と、前記第1桁から第n−1桁までの判断ノードの出力符号Ti,1 と前記第0行から第n−2行までの第2符号置換手段の出力とのそれぞれの排他的論理和をとって第1桁から第n−1桁までの差の絶対値の結果とする第1行から第n−1行までの排他的論理和手段とを備えた差生成手段とを具備するものである。
【0144】
また、本発明の演算装置は、前記演算装置が符号有りnビット2進数における2数(Xa,Yb)の差の絶対値演算を求める場合に、前記2数のMSB(Most Significant Bit)についての比較判断を行う判断ノードは、前記桁値Xan-1 を桁値Ybn-1 として、前記桁値Ybn-1 を桁値Xan-1 として、それぞれ扱うものである。
【0145】
本発明の演算装置及びその演算方法では、順序依存性のある判断の系列を含む問題を解くにあたり、前記問題を、依存入出力を持たない判断ノードを葉(leaf)とし、上位優先決定ノードを葉以外の他のノードとする2分木(binary tree )でモデル化して、並列に処理し、2分木の根となる上位優先決定ノードの仮の結論を前記問題の結論とする。
【0146】
また、本発明の演算装置及びその演算方法では、依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの依存入力として接続されることにより構成される順序依存性のある判断の系列構造を、依存入出力を持たない判断ノードを葉とし、上位優先決定ノードを葉以外の他のノードとする2分木構造に変換する場合に、依存入出力を持つ判断ノードを、内包判断ノードと不確定符号発生ノードとを具備した依存入出力を持たない判断ノードに置き換える。
【0147】
順序依存性のある判断の系列構造は、人間の論理的思考において頻繁に見受けられるものであり、該系列構造では、複数の判断を定められた順序で行う必要があり、並列処理が不可能である。このような構造をそのまま処理シーケンスに置き換えて処理プログラム等を実現した場合、その処理時間は、各判断処理の処理時間の判断処理個数をnとした場合には、最悪の場合n個分の和となって非常に長いものとなる。また、該系列構造をそのまま論理回路に置き換えて演算回路を実現した場合でも、当該演算装置のクリティカルパス段数は非常に長いものとなる。本発明により、順序依存性のある判断の系列構造を2分木構造に変換すれば、その処理時間は高々log2 nを越える最小の整数個分の和となってより高速に処理することが可能となり、また効率良く並列処理可能な高速演算装置を実現することも可能である。
【0148】
本発明の演算装置及びその演算方法では、順序依存性のある判断の系列を含む問題を解くにあたり、判断に対応して、1または複数個の入力情報に基づく判断結果として”真”、”偽”、及び、”真または偽のどちらでもない、或いは、わからない”の何れかを出力する判断ノードまたは判断処理を葉とする2分木でモデル化して、葉となる全判断ノードまたは判断処理を並列的に処理する。
【0149】
また、本発明の演算装置及びその演算方法では、任意のR進数n桁における2数の比較を行うときの該2数の各桁についての比較判断が順序依存性のある判断の系列を形成する場合に適用することが可能である。比較の3値符号生成質問によって生成される3値符号を3値符号2分木に入力するように構成すれば、即ち、2分木の葉となる各判断ノードを、同位桁の2数の差の結果が正になるときに”真または偽”を、該結果が負になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するように構成すれば、正しい比較結果を得ることができる。即ち、比較の3値符号生成質問は2進数に限らず任意のR進数に適応可能であり、比較の3値符号生成質問を応用することによって、任意のR進数の比較プログラムまたは比較器を導くことが可能となる。また従来、オーダーΟ(n)の時間で処理されていたものが、対数オーダーΟ(log2 n)の時間で処理が可能となる。
【0150】
また、本発明の演算装置及びその演算方法では、任意のR進数n桁における2数の加算を行うときの各桁における桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に適用することも可能である。和の3値符号生成質問によって生成される3値符号を3値符号2分木に入力するように構成すれば、即ち、2分木の葉となる各判断ノードを、同位桁の2数の和の結果がR以上になるときに”真または偽”を、該結果が(R−2)になるときに”偽または真”を、該結果が(R−1)になるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力するように構成すれば、加算における桁上げを先見することができる。即ち、和の3値符号生成質問は2進数に限らず任意のR進数に適応可能であり、和の3値符号生成質問を導入することによって、任意のR進数の加算プログラムまたは加算器を導くことが可能となる。また従来、オーダーΟ(n)の時間で処理されていたものが、対数オーダーΟ(log2 n)の時間で処理が可能となる。
【0151】
また、本発明の演算装置及びその演算方法では、任意のR進数n桁における2数の減算について、各桁における桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、該判断系列を含む問題を解くにあたり、判断に対応して、1または複数個の入力情報に基づいて、同位桁の2数の差の結果が負になるときに”真または偽”を、該結果が正になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ当該ノードの判断結果として出力する判断ノードを具備し、前記問題を、前記判断ノードを葉とする2分木でモデル化して、並列に処理する。即ち、差の3値符号生成質問は、2進数に限らず任意のR進数に適応可能であり、差の3値符号生成質問を導入することによって、任意のR進数の減算プログラムまたは減算器を導くことが可能となる。何故なら、例えば減算器の場合には、多値論理回路やアナログ回路のようなR進表現が可能な回路方式を用いて、この3値符号生成質問に沿うような3値符号生成回路を実現することができれば、後は加算器におけるBLCアレイに相当する3値符号2分木のBLBアレイ(本明細書では、加算器における桁上げ先見加算(BLC;Binary Look-ahead Carry )方式に習って、BLB(Binary Look-ahead Borrow)方式,BLBアレイと称して用いる)によって、各桁への桁借りを生成できるからである。差生成のために、(Xi−Yi−Bi)を実現する回路(そのR進数における1桁分の減算器)を別途用意し、これと組み合わせれば、R進数減算器となる。また従来、オーダーΟ(n)の時間で処理されていたものが、対数オーダーΟ(log2 n)の時間で処理が可能となる。
【0152】
また、本発明の演算装置及びその演算方法では、順序依存性のある判断の系列を含む問題を解くにあたり、判断に対応して、1または複数個の入力情報に基づく判断結果として”真”、”偽”、及び、”真または偽のどちらでもない、或いは、わからない”の何れかを出力する判断ノードまたは判断処理を葉とし、上位の判断結果が”真”または”偽”というはっきりしたものである場合には該上位の判断結果を出力とし、上位の判断結果が”真または偽のどちらでもない、或いは、わからない”という曖昧な場合には下位の判断結果を出力とする上位優先決定ノードまたは上位優先決定処理を葉以外の他のノードとする3値符号2分木でモデル化して、葉となる全判断ノードまたは全判断処理、並びに、3値符号2分木において同じ深さにある全上位優先決定ノードまたは全上位優先決定処理を、それぞれ並列的に処理する。
【0153】
例えば、順序依存性のある判断の系列における判断がn個であるときには、3値符号2分木は、判断ノードをn個具備し、該2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木は、深さmのノードとなる上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ具備して構成される。このような3値符号2分木という概念の導入により、順序依存性のあるn個の判断の系列構造を深さmの完全2分木状の構造に変換でき、比較、加算等の処理時間のオーダーをΟ(log2 n)とすることができ、より高速に処理することが可能となる。
【0154】
また、本発明の演算装置及びその演算方法では、”真”を”Y”、”偽”を”N”、”真または偽のどちらでもない、或いは、わからない”を”Q”という符号で割り当てるとき、上位優先決定ノードまたは上位優先決定処理の機能を、上位の判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として定義し、符号Ti が符号Tj に対して優越する関係にある場合に、該K演算子を、符号Ti が”Y”または”N”である場合にはそのまま”Y”または”N”を符号Tijがとる値とし、符号Ti が”Q”の場合には符号Tj のとる値を符号Tijがとる値とする、と定義する。このように、K演算子を導入することにより、3値2分木の構成要素である上位優先決定ノードまたは上位優先決定処理の機能を代数的に扱うことが可能となる。また、これによってK演算子が結合則を満たすことが明らかにされ、3値符号2分木が導く結論が正しいことも直接的に証明される。
【0155】
更に、本発明の演算装置及びその演算方法では、3値符号の2進数表現として、”Y”を{11}、”N”を{10}、”Q”を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てる場合に、K演算子を実現する2値論理関数を、
として定義する。このように、適当な2進数表現を3値符号に割り当てることによって、K演算子をブール代数の関数「K論理関数」として導くことが可能となる。また、K論理関数を実現するK論理回路を完全2分木状に形成することによって、3値符号2分木の概念を2進数論理回路で実現できる。3値符号2分木で実現したい処理の内容を十分考慮し、適切な3値符号生成回路を該3値符号2分木の葉とすることによって、様々な演算装置を簡単に導くことが可能となる。
【0156】
また、本発明のコンピュータにより読み取り可能な記憶媒体では、上記演算装置の演算方法がコンピュータに実行させるためのプログラムとして記憶されている。該プログラムは、不確定符号2分木という概念の導入により、順序依存性のあるn個の判断の系列構造を深さmの完全2分木状の構造を実現するものであり、各種演算の処理時間のオーダーをΟ(log2 n)とすることができ、より高速処理が可能な処理プログラムとなっている。
【0157】
また、本発明のコンピュータにより読み取り可能な記憶媒体では、上記演算装置の演算方法がコンピュータに実行させるためのプログラムとして記憶されている。該プログラムは、3値符号2分木という概念の導入により、順序依存性のあるn個の判断の系列構造を深さmの完全2分木状の構造を実現するものであり、比較、加算、減算等の各種演算の処理時間のオーダーをΟ(log2 n)とすることができ、より高速処理が可能な処理プログラムとなっている。
【0158】
更に、本発明のコンピュータにより読み取り可能な記憶媒体では、差の絶対値演算を行う演算装置の演算方法がコンピュータに実行させるためのプログラムとして記憶されている。該プログラムは、上記N桁の減算プログラムに符号置換プログラムが付加されたと等価であり、減算処理時間のオーダーΟ(log2 n)に符号置換プログラムの定数時間が付加されたのみで、より高速処理が可能な処理プログラムとなっている。
【0159】
また、本発明の演算装置及びその演算方法では、nビット2進数のデータ入力に対して、最上位ビットから最下位ビットの方向で最初に”1”または”0”であるビット位置を、或いは、最上位ビットから最下位ビットの方向に”1”または”0”の連続する数をそれぞれ2進数数値として出力するプライオリティエンコード機能を実現する場合に、該プライオリティエンコード機能を、依存入出力を持たない判断ノードを葉とし、上位優先決定ノードを前記葉以外の他のノードとする2分木でモデル化して、並列に処理し、2分木の根となる上位優先決定ノードの仮の結論をプライオリティエンコードの結論とする。
【0160】
従来のプライオリティエンコーダは、順序依存性のある判断の系列構造を持つため低速であるという欠点を持っていたが、本発明によるプライオリティエンコーダは不確定符号2分木構造による並列処理によってより高速である。尚、プライオリティエンコード機能を持つ不確定符号2分木は抽象的な構造図であるので、これを論理回路以外の実現主体(機械(アレイプロセッサの構成)やコンピュータプログラム等)にも適応することが可能である。
【0161】
また、本発明の演算装置では、高さm(mはlog2 nを越える最小の整数)の2分木でモデル化し、2分木の深さmの各ノードを、論理和手段と接続線または否定論理手段とで実現し、他の深さsのノードを、論理和手段、接続線または否定論理手段、及び、(m−s+1)個の選択手段で実現しているため、非常に簡単な構成で演算装置を構成することができ、また、信号伝搬遅延が入力ビット幅数の対数に比例するため、多入力ビットでも、高速動作が可能である。
【0162】
また、本発明の演算装置では、上位優先決定ノードにおいて、論理和手段により符号Ti,1 及び符号Tj,1 の論理和をとって符号Tij,1として出力し、選択手段により、符号Ti,1 が”1”をとるとき符号Ti,0 を、”0”をとるとき符号Tj,0 をそれぞれ選択して符号Tij,0として出力する。このように、K論理関数を、論理和手段及び選択手段による論理回路で実現することによって、3値符号2分木を論理回路で実現できる。
【0163】
また、{00,01,11,10}={Q,Q,Y,N}割り当てにおけるK論理回路では複合論理ゲート回路ではなく選択手段(セレクタ)が用いられている。従って、本発明による2分木の論理回路は、上記「従来の技術」で説明したような複合論理ゲート回路による不利な側面を持たない。更に、文献(牧野,鈴木,森中,他,「CGに適した機能を有する286MHz ,64ビット浮動小数点乗算器」,電子情報通信学会技術研究報告ICD95-146, pp.14-15, 1995 )にも述べられているように、セレクタはトランスミッションゲートで簡単に構築することができる。このような構成のセレクタは、従来の2分木を構成している論理回路をトランスミッションゲートで構築したものと比べて、単純で速い。また、セレクタは負荷駆動能力を制御しやすい為、スタンダードセル設計にも有利である。
【0164】
また、本発明の演算装置では、3値符号2分木の葉を除く高さmの部分2分木を構成する上位優先決定ノードについて、正論理入力・正論理出力の論理回路が多段に縦属接続されている構造を、正論理入力・負論理出力の段(PN段)と負論理入力・正論理出力の段(NP段)が交互に縦属接続される構造に変換する、いわゆる極性最適化を行った論理回路構造をも提案する。極性最適化した構造によって、冗長なトランジスタを削減することができ、演算装置を回路面積及び動作速度の点で改善することができる。
【0165】
また、本発明の演算装置及びその演算方法では、3値符号の2進数表現として、”Y”を{00}、”N”を{11}、”Q”を{10}とし、{01}を使用禁止”F”とする2ビット2進数(X,1,X,0)で割り当てる場合に、K演算子を実現する2値論理関数を、
として定義する。このように、適当な2進数表現を3値符号に割り当てることによって、K演算子をブール代数の他のK論理関数としても導くことが可能となる。
【0166】
また、本発明の演算装置及びその演算方法では、3値符号の2進数表現として、”Y”を{01}、”N”を{10}、”Q”を{11}とし、{00}を使用禁止”F”とする2ビット2進数(X,1,X,0)で割り当てる場合に、K演算子を実現する2値論理関数を、
として定義する。このように、適当な2進数表現を3値符号に割り当てることによって、K演算子をブール代数の他のK論理関数としても導くことが可能となる。
【0167】
また、本発明の演算装置及びその演算方法では、3値符号の2進数表現として、”Y”を{00}、”N”を{10}、”Q”を{11}とし、{01}を使用禁止”F”とする2ビット2進数(X,1,X,0)で割り当てる場合に、K演算子を実現する2値論理関数を、
として定義する。このように、適当な2進数表現を3値符号に割り当てることによって、K演算子をブール代数の他のK論理関数としても導くことが可能となる。
【0168】
ここで、{00,01,11,10}={Y,F,Q,N}割り当てにおけるK論理回路では、上位優先決定ノードとして、第1の複合論理ゲート手段により、符号Ti,1 及び符号Tj,1 の論理積と符号Ti,0 との論理和をとって符号Tij,1として出力し、第2の複合論理ゲート手段により、符号Ti,1 及び符号Tj,0 の論理積と符号Ti,0 との論理和をとって符号Tij,0として出力する。
【0169】
また、{00,01,11,10}={F,Y,N,Q}割り当てや、{00,01,11,10}={Y,F,Q,N}割り当てにおいても、同様に、K論理関数は、単一または2個の複合論理ゲート手段による論理回路によって実現することができる。従って、設計者が実現したい処理を十分考慮し適切な3値符号生成質問を定義したならば、後は最も都合の良い3値符号2分木の系統を選べばよい。即ち、処理内容に合わせた系統を選択し、適切な3値符号2分木状の演算回路を実現することが可能となる。
【0170】
また、本発明の演算装置では、nビット2進数(Xa,Yb)の比較において、該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての比較判断が順序依存性のある判断の系列を形成する場合に、判断ノードは、排他的論理和手段により、桁値Xai 及び桁値Ybi の排他的論理和をとって符号Ti,1 として出力し、接続手段により桁値Xai を符号Ti,0 として出力する。このように、2分木の葉となる判断ノードにより比較における3値符号を生成するよう構成することで、2進数の比較器を実現できる。
【0171】
また、本発明の演算装置では、{00,01,11,10}={Q,Q,Y,N}割り当てにおけるK論理回路として、上位優先決定ノードを、符号Tij,1を出力する論理和手段、及び、符号Tij,0を出力する選択手段で実現し、2分木の根となる上位優先決定ノードの出力がQ={0*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={11}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={10}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈する。このように、本発明による符号無し2進数を比較する演算装置は、従来の2分木状の比較器に対し、単純で高速化に有利である。即ち、上述のように、本発明の比較器は複合論理ゲート回路(或いは複合論理ゲート回路の論理関数)を持たず、複合論理ゲート回路の不利な側面を持っていないからである。また、3値符号を生成する入力段の論理回路も単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0172】
更に、本発明の演算装置では、符号有りnビット2進数における2数(Xa,Yb)の比較において、2数のMSBについての比較判断を行う判断ノードは、桁値Xan-1 を桁値Ybn-1 として、桁値Ybn-1 を桁値Xan-1 として、それぞれ扱い、他の桁の判断ノードにおけるXai ,Ybi の扱いと逆にする。このように、本発明では、MSBのX,Y入力を交換することによって符号無し2進数比較器を符号有り2進数比較器に変換でき、符号判定回路を必要としない符号有り2進数比較器を実現できる。従って、本発明の符号有り2進数比較器は、従来の符号有り2進数比較器に比べて符号判定回路が無い分、遅延が小さい。尚、この変換方法は、3値符号2分木の概念によって導き出されたものであるが、一般の符号無し2進数比較器にも適応可能である。
【0173】
また、本発明の演算装置では、nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、判断ノードは、排他的否定論理和手段により、桁値Xai 及び桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力し、接続手段により、桁値Xai または桁値Ybi を符号Ti,0 として出力する。このように、2分木の葉となる判断ノードにより加算における3値符号を生成するよう構成することで、2進数加算器の桁上げ先見回路を実現できる。
【0174】
また、本発明のnビット2進加算を行う演算装置では、LSB(ビット0)についての桁上げの存否判断においては、判断結果が”Q”とはならず必ず”Y”または”N”のどちらかになるという「ビット0の確定的性質」を回路の構成に反映させる。即ち、LSBについての桁上げの存否判断を行う判断ノードは、選択手段により、当該演算装置への桁上げ入力が”1”をとるとき桁値Xa0 及び桁値Yb0 の否定論理和を、該桁上げ入力が”0”をとるとき桁値Xa0 及び桁値Yb0 の否定論理積を、それぞれ選択したものの否定をとり符号T0,0 として出力し、符号T0,1 を出力しない。
【0175】
また、K論理関数を具現する上位優先決定ノードの2分木においても、上位優先決定ノードの内、LSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、論理和手段及び選択手段による構成とするが、該符号T0,1 に本来的に起因する上位優先決定ノードは、選択手段のみによる単純化された構成として符号Tij,1を出力しない。即ち、選択手段により、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択して符号Tij,0として出力する。そして最終結論として、2分木の根となる上位優先決定ノードによって、出力符号Tij,0が”1”ならば「桁上げ出力有り」、出力符号Tij,0が”0”ならば「桁上げ出力無し」とそれぞれ解釈する。
【0176】
このように、LSB(ビット0)について確定的な性質を利用して、LSBの桁上げ存否判断を行う判断ノードについて当該演算装置への桁上げ入力を反映させるように構成することで、後段に続く上位優先決定ノードの2分木構造を単純化させることができ、従来のBLC加算器のように第−1行目を持つことなく、従来のBLC加算器よりも1行少ないBLCアレイを構成できる。これはゲート数・面積の点で優れている。また、K論理関数を具現する上位優先決定ノードの2分木においても、選択手段のみによる単純化された構成の上位優先決定ノードを備えることによって、論理的に冗長な回路を削除することができ、トランジスタ数の少ない2分木を形成することが可能である。更に、本発明によるnビット2進加算を行う演算装置では、上述のように、複合論理ゲート回路(或いは複合論理ゲート回路の論理関数)を持たず、複合論理ゲート回路の不利な側面を持っていないことから、従来の加算器に比較して単純で高速化に有利である。また、3値符号を生成する入力段の論理回路も単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0177】
また、和を生成するためには、2数の各桁(Xai ,Ybi ;i=0〜n−1)についての排他的論理和(Xai(+)Ybi )の演算結果と桁上げ信号が必要であるが、本発明のnビット2進加算を行う演算装置では、{00,01,11,10」={Q,Q,Y,N}割り当てにおけるK論理回路の2分木を用いた場合、各桁Xaj ,Ybj (j=1〜n−2)についての桁上げの存否判断を行う判断ノードに、桁値Xaj 及び桁値Ybj の排他的否定論理和をとって符号Tj,1 として出力する排他的否定論理和手段を含んでいることから、該出力符号Tj,1 を反転するのみで各桁(Xaj ,Ybj )についての排他的論理和を得ることができ、より簡単な構成で和を生成することが可能である。また、3値符号を生成する判断ノードの論理構造自体も単純で、より少ないゲート数(トランジスタ数)で実現可能である。即ち、{00,01,11,10」={Q,Q,Y,N}割り当てにおけるK論理回路の2分木を用いれば、加算器の入力段・和の生成段のトランジスタ数を総合的に削減することが可能である。
【0178】
また、本発明のBLC加算方式の演算装置では、LSB(ビット0)についての桁上げの存否判断においては、判断結果が”Q”とはならず必ず”Y”または”N”のどちらかになるという「ビット0の確定的性質」を回路の構成に反映させる。即ち、LSBについての桁上げの存否判断を行う判断ノードは、選択手段により、当該演算装置への桁上げ入力が”1”をとるとき桁値Xa0 及び桁値Yb0 の否定論理和を、該桁上げ入力が”0”をとるとき桁値Xa0 及び桁値Yb0 の否定論理積を、それぞれ選択したものの否定をとり符号T0,0 として出力し、符号T0,1 を出力しない。
【0179】
また、K論理関数を具現する上位優先決定ノードにおいても、LSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、論理和手段及び選択手段による構成とするが、該符号T0,1 に本来的に起因する上位優先決定ノードは、選択手段のみによる単純化された構成として符号Tij,1を出力しない。即ち、選択手段により、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択して符号Tij,0として出力する。
【0180】
このように、LSB(ビット0)について確定的な性質を利用して、LSBの桁上げ存否判断を行う判断ノードについて当該演算装置への桁上げ入力を反映させるように構成することで、後段に続く上位優先決定ノードマトリクスを単純化させることができ、従来のBLC加算器のように第−1行目を持つことなく、従来のBLC加算器よりも1行少ないBLCアレイを構成できる。これはゲート数・面積の点で優れている。また、K論理関数を具現する上位優先決定ノードマトリクスにおいても、選択手段のみによる単純化された構成の上位優先決定ノードを部分的に備えることによって、論理的に冗長な回路を削除することができ、トランジスタ数の少ない2分木を形成することが可能である。更に、本発明によるBLC加算方式の演算装置では、上述のように、複合論理ゲート回路(或いは複合論理ゲート回路の論理関数)を持たず、複合論理ゲート回路の不利な側面を持っていないことから、従来のBLC加算器に比較して単純で高速化に有利である。また、3値符号を生成する入力段の論理回路も単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0181】
また、本発明のBLC加算方式の演算装置では、BLCアレイの偶数行を削除し、ゲート数の削減を図った縮小BLCアレイを用いることによって、BLCアレイのゲート数とBLCアレイに数多く存在する距離の長い配線を半分に減らすことが可能である。一方で演算段数が1段増えてしまうが、このことは必ずしも遅延の増加を意味しない。何故なら、BLCアレイの素子数及び配線が半減したためBLCアレイの構造がシンプルとなり遅延を小さくする効果が生じるからである。結果的に、偶数行を削除しないBLCアレイと削除したBLCアレイの加算器の遅延は同等となる。尚且つ、削除したBLCアレイの加算器はトランジスタ数及び配線の単純さにおいて優れている。
【0182】
このことは従来の技術では明確に指摘されていない。本発明のBLC加算方式の演算装置における桁上げ生成方法は、2ビットを1まとまりとして扱った桁上げ生成といえる。従来の技術においても複数のビットを1とまとまりとして扱う方法が提案されているが、この場合の和の生成段の論理回路は複雑なものとなり、演算段数も増加する。結果的に、BLCアレイのシンプルさと引き替えに遅延が増加することについて妥協しているものである。
【0183】
更に、本発明のBLC加算方式の演算装置における桁上げ生成方法で特筆すべき点は、際限なく多くのビットを1まとまりとするのではなく、1まとまりを2ビット分に制限することを規定したことにある。このことによって、高速性を維持したままBLCアレイのトランジスタ数及び配線を半減することを可能にした。
【0184】
また、本発明の演算装置では、nビット2進数における2数の減算(Xa−Yb)における各桁(Xai ,Ybi ;i=0〜n−1)についての桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、判断ノードは、排他的論理和手段により桁値Xai 及び桁値Ybi の排他的論理和をとって符号Ti,1 として出力し、接続手段により桁値Ybi を符号Ti,0 として出力する。このように、2分木の葉となる判断ノードにより減算における3値符号を生成するよう構成することで、2進数減算器の桁借り先見回路を実現できる。また、3値符号を生成する入力段の論理回路自体も単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0185】
このように、本発明の2進減算を行う演算装置では、入力段に用いる判断ノード(3値符号生成回路)は、従来の減算器のように加算器の入力段にインバータを付加した構成ではなく、3値符号2分木を適用した加算器の入力段(3値符号生成回路)とゲート数及び信号伝搬遅延が同等の構成でありながら、内部の論理として差を求める論理演算の一部を含んでいる。従って、ゲート数の増加や信号伝搬遅延の増大を招くことなく、理想的な構成で減算器を実現することが可能である。更に、出力段の差生成で行うべき論理演算を含むことから、出力段の論理回路構成が簡単になり、より少ないゲート数で実現できる。
【0186】
また、本発明のnビット2進減算を行う演算装置では、LSB(ビット0)についての桁借りの存否判断においては、判断結果が”Q”となることはなく、必ず”Y”または”N”のどちらかになるという「ビット0の確定的性質」を回路の構成に反映させる。即ち、LSBについての桁借りの存否判断を行う判断ノードは、選択手段により、当該演算装置への桁借り入力が”1”をとるとき桁値Xa0 の否定と桁値Yb0 との否定論理和を、該桁上げ入力が”0”をとるとき桁値Xa0 の否定と桁値Yb0 との否定論理積を、それぞれ選択したものの否定をとり符号T0,0 として出力し、符号T0,1 を出力しない。
【0187】
また、K論理関数を具現する上位優先決定ノードの2分木においても、上位優先決定ノードの内、LSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、論理和手段及び選択手段による構成とするが、該符号T0,1 に本来的に起因する上位優先決定ノードは、選択手段のみによる単純化された構成として符号Tij,1を出力しない。即ち、選択手段により、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択して符号Tij,0として出力する。そして最終結論として、2分木の根となる上位優先決定ノードによって、出力符号Tij,0が”1”ならば「桁借り出力有り」、出力符号Tij,0が”0”ならば「桁借り出力無し」とそれぞれ解釈する。
【0188】
このように、LSB(ビット0)について確定的な性質を利用して、LSBの桁借り存否判断を行う判断ノードについて当該演算装置への桁借り入力を反映させるように構成することで、後段に続く上位優先決定ノードの2分木構造を単純化させることができ、ゲート数・面積の点で優れた演算装置を実現できる。また、K論理関数を具現する上位優先決定ノードの2分木においても、選択手段のみによる単純化された構成の上位優先決定ノードを備えることによって、論理的に冗長な回路を削除することができ、トランジスタ数の少ない2分木を形成することが可能である。
【0189】
また、本発明の演算装置では、{00,01,11,10}={Q,Q,Y,N}割り当てにおけるK論理回路では、複合論理ゲート回路ではなく選択手段(セレクタ)が用いられている。従って、本発明による2分木の論理回路は、負荷の駆動能力が小さく配線容量の増加に弱いといった複合論理ゲート回路による不利な側面を持たない。また、上述のように、セレクタは、より高速な論理装置の構築が可能なトランスミッションゲートで簡単に構築することができ、従来の2分木を構成している論理回路をトランスミッションゲートで構築したものと比べても、単純で速い。また、セレクタは負荷駆動能力を制御しやすい為、スタンダードセル設計にも有利である。
【0190】
また、差を生成するためには、2数の各桁(Xai ,Ybi ;i=0〜n−1)についての排他的論理和(Xai(+)Ybi )の演算結果と桁借り信号が必要であるが、本発明のnビット2進減算を行う演算装置では、{00,01,11,10」={Q,Q,Y,N}割り当てにおけるK論理回路の2分木を用いた場合、各桁Xaj ,Ybj (j=1〜n−2)についての桁上げの存否判断を行う判断ノードに、桁値Xaj 及び桁値Ybj の排他的論理和をとって符号Tj,1 として出力する排他的論理和手段を含んでいることから、より簡単な構成で差を生成することが可能である。また、3値符号を生成する判断ノードの論理構造自体も単純で、より少ないゲート数(トランジスタ数)で実現可能である。即ち、{00,01,11,10」={Q,Q,Y,N}割り当てにおけるK論理回路の2分木を用いれば、減算器の入力段及び差の生成段のトランジスタ数を総合的に削減することが可能である。
【0191】
また、本発明の加算器におけるBLCアレイに相当する3値符号2分木のBLBアレイによって2進減算を行う演算装置では、LSB(ビット0)についての桁借りの存否判断においては、判断結果が”Q”となることはなく、必ず”Y”または”N”のどちらかになるという「ビット0の確定的性質」を回路の構成に反映させる。即ち、LSBについての桁借りの存否判断を行う判断ノードは、選択手段により、当該演算装置への桁借り入力が”1”をとるとき桁値Xa0 の否定と桁値Yb0 との否定論理和を、該桁借り入力が”0”をとるとき桁値Xa0 の否定と桁値Yb0 との否定論理積を、それぞれ選択したものの否定をとり符号T0,0 として出力し、符号T0,1 を出力しない。また、K論理関数を具現する上位優先決定ノードにおいても、LSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、論理和手段及び選択手段による構成とするが、該符号T0,1 に本来的に起因する上位優先決定ノードは、選択手段のみによる単純化された構成として符号Tij,1を出力しない。即ち、選択手段により、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択して符号Tij,0として出力する。
【0192】
このように、LSB(ビット0)について確定的な性質を利用して、LSBの桁借り存否判断を行う判断ノードについて当該演算装置への桁借り入力を反映させるように構成することで、後段に続く上位優先決定ノードマトリクスを単純化させることができ、従来の減算器においてBLC加算器を使用する場合でも、該従来のBLC加算器のように第−1行目を持つことなく、従来のBLC加算器よりも1行少ないBLCアレイを構成できる。これはゲート数及び面積の点で優れている。また、K論理関数を具現する上位優先決定ノードマトリクスにおいても、選択手段のみによる単純化された構成の上位優先決定ノードを部分的に備えることによって、論理的に冗長な回路を削除することができ、トランジスタ数の少ない2分木を形成することが可能である。更に、本発明によるBLBアレイによって2進減算を行う演算装置では、上述のように、複合論理ゲート回路(或いは複合論理ゲート回路の論理関数)を持たず、複合論理ゲート回路の不利な側面を持っていないことから、従来のBLC加算器を使用した減算器に比較して、単純で高速化に有利である。また、3値符号を生成する入力段の論理回路も単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0193】
また、本発明のBLBアレイによって2進減算を行う演算装置では、BLBアレイの偶数行を削除し、ゲート数の削減を図った縮小BLBアレイを用いることによって、BLBアレイのゲート数とBLBアレイに数多く存在する距離の長い配線を半分に減らすことが可能である。一方で演算段数が1段増えてしまうが、このことは必ずしも遅延の増加を意味しない。何故なら、BLBアレイの素子数及び配線が半減したためBLBアレイの構造がシンプルとなり遅延を小さくする効果が生じるからである。結果的に、偶数行を削除しないBLBアレイと削除したBLBアレイの加算器の遅延は同等となる。尚且つ、削除したBLBアレイの減算器はトランジスタ数及び配線の単純さにおいて優れている。
【0194】
また、本発明の演算装置及びその演算方法では、任意のR進数におけるn桁の2数(X,Y)の差の絶対値演算を求める場合に、先ず、判断ノード(差の3値符号生成回路)を葉とし葉以外の他のノードを上位優先決定ノードとする3値符号2分木が全て埋め込まれた判断ノード群及び上位優先決定ノードマトリクスによってモデル化された減算器における判断ノードによって、最小桁を含む全桁についての差の3値符号生成を行う。これにより、(X−Y)時の3値符号生成と(Y−X)時の3値符号生成が対照的になり、従って、桁借り生成結果も(X−Y)時と(Y−X)時とで対照的になる。このため、(X−Y)を仮定して桁借り生成を行った後、該桁借り生成結果を元にして極めて簡単な方法で(Y−X)時の桁借り生成結果を得ることができる。
【0195】
また、本発明の演算装置及びその演算方法では、任意のR進数におけるn桁の2数(X,Y)の差の絶対値演算を求める場合に、判断ノード群及び上位優先決定ノードマトリクスによってモデル化された減算器において、判断ノードによって生成された最小桁を含む全桁についての差の3値符号生成を上位優先決定ノードマトリクスに与えて、各桁の桁借り生成を行う。桁借り生成の結果も3値符号で出力されるが、該出力は入力段での3値符号生成で規定した対称性が維持されている。従って、(X−Y)時の桁借り生成結果から、容易に(Y−X)時の桁借り生成結果を得ることができる。
【0196】
また、本発明の演算装置及びその演算方法では、任意のR進数におけるn桁の2数(X,Y)の差の絶対値演算を求める場合に、判断ノード群及び上位優先決定ノードマトリクスによってモデル化された減算器において、判断ノードによって生成された最小桁を含む全桁についての差の3値符号生成を上位優先決定ノードマトリクスに与えて、各桁の桁借りを生成した後、最上位桁の桁借り生成結果に基づいて、2数の差の結果について符号を判定する。最上位桁の桁借り生成結果の符号が”Y”ならX<Yであり、桁借り生成結果の符号置換を行い、結果の符号が”Q”ならX=Yであり、桁借り生成結果の符号置換を行うか或いはそのままとし、結果の符号が”N”ならX>Yであり、桁借り生成結果をそのままとする。尚、対称符号置換では、値符号”Q”を値符号”Q”に、値符号”Y”を値符号”N”に、値符号”N”を値符号”Y”にそれぞれ置き換える。これにより、(X−Y)の桁借り生成結果から、(Y−X)の桁借り生成結果を簡単に得ることができ、理想的な演算変換を実現できる。
【0197】
また、本発明の演算装置及びその演算方法では、nビット2進数の2数(X,Y)の差の絶対値演算を求める場合に、判断ノード(3値符号生成回路)群及び上位優先決定ノードマトリクス(単純化されないK論理回路マトリクス)による3値符号2分木BLBアレイにおいて、3値符号生成回路によって生成されたビット0を含む全ビットについての差の3値符号生成を単純化されないK論理回路マトリクスに与えて、各桁の桁借りを生成した後、MSBの桁借り生成結果に基づいて、2数の差の結果について符号を判定する。MSBの桁借り生成結果の符号が”Y”ならX<Yであり、桁借り生成結果の符号置換を行い、結果の符号が”Q”ならX=Yであり、桁借り生成結果の符号置換を行うか或いはそのままとし、結果の符号が”N”ならX>Yであり、桁借り生成結果をそのままとする。尚、対称符号置換では、値符号”Q”を値符号”Q”に、値符号”Y”を値符号”N”に、値符号”N”を値符号”Y”にそれぞれ置き換える。これにより、(X−Y)の桁借り生成結果から、(Y−X)の桁借り生成結果を簡単に得ることができ、理想的な演算変換を実現できる。
【0198】
また符号置換の後、更に、該置換結果または前記上位優先決定ノード(K論理回路)の出力符号について、値符号”Q”を値符号”N”に置換して各桁の桁借りを得る。つまり、符号置換後の値符号”Q”は、「桁借りは起きない」ことを意味していることに注目し、値符号”Q”を値符号”N”に置き換えるものである。値符号”Q”を値符号”N”に置き換えた後の桁借り生成結果は、値符号”Y”と値符号”N”のみとなり、値符号”Y”は「桁借りが起きる」こと、即ち桁上りBi=1を、また値符号”N”は「桁借りが起きない」こと、即ち桁上りBi=0をそれぞれ意味していることとなる。これは減算器における桁借り生成結果と同じであり、従って、ここより先は減算器と同様の論理回路を用いて、差の絶対値を得ることができる。
【0199】
また、本発明の演算装置では、最上位桁の桁借り生成結果の符号判定を行う符号判定手段は、出力符号が値符号”Y”のとき”真”、値符号”Q”または”N”のとき”偽”となる符号判定信号を出力し、或いは、出力符号が値符号”Y”または”Q”のとき”真”、値符号”N”のとき”偽”となる符号判定信号を出力し、符号判定信号が”真”ならX≦Yであるので桁借り生成結果の符号置換を行い、符号判定信号が”偽”ならX≧Yであるので桁借り生成結果をそのままとする符号置換手段は、排他的論理和手段によって、符号判定信号と上位優先決定ノード(K論理回路)の出力符号との排他的論理和をとり、符号置換の後、更に、該置換結果または上位優先決定ノード(K論理回路)の出力符号について、値符号”Q”を値符号”N”に置換して各桁の桁借りを得る第2符号置換手段は、論理積手段によって、符号置換手段の出力と上位優先決定ノード(K論理回路)の出力符号との論理積をとる。これにより、(X−Y)の演算から(Y−X)の演算への変換を、ビット幅nに依存せず定数オーダーで高速に行うことが可能となり、また、必要なゲート数も少ない。
【0200】
また、本発明の符号無し差の絶対値を演算する演算装置では、桁借り生成終了後の3値符号の対称性に注目し、(X−Y)から(Y−X)への演算変換を、桁借り生成結果の符号置換によって実現している。従来の方法では、(X−Y)の演算から(Y−X)の演算への変換を、(X−Y)の演算結果を求めた後に2の補数を計算することによって行っていたが、本発明では、(X−Y)の演算で桁借り生成が終了した段階で、符号置換により(Y−X)の演算への変換を行う。尚、符号置換は、符号置換回路によって少ないゲート数で高速に行うことが出来る。従って、本発明の符号無し差の絶対値を演算する演算装置によれば、ゲート数が少なく、高速に差の絶対値演算を行い得る演算装置を実現することができる。
【0201】
また、本発明の演算装置では、符号有りnビット2進数における2数(Xa,Yb)の差の絶対値演算を求める場合に、2数のMSBについての比較判断を行う判断ノードは、桁値Xan-1 を桁値Ybn-1 として、桁値Ybn-1 を桁値Xan-1 として、それぞれ扱い、他の桁の判断ノードにおけるXai ,Ybi の扱いと逆にする。このように、本発明では、MSBのX,Y入力を交換することによって符号無し差の絶対値演算器を符号有り差の絶対値演算器に変換でき、トランジスタ数,配線,面積及び信号伝搬遅延を増大させることなく、極めて簡単な方法で、符号無し差の絶対値演算器を符号有り差の絶対値演算器とすることができる。
【0202】
【発明の実施の形態】
以下、目次に従って、「順序依存性のある判断の系列」,「3値符号2分木」,「3値符号2分木の2進数論理回路への適用」,「順序依存性を持つ判断の系列構造」,「不確定符号2分木」,「不確定符号2分木の2進数論理回路への適用」について説明する。尚、「不確定符号2分木の2進数論理回路への適用」では、本発明の演算装置の実施例について、〔第1実施例〕,〔第2実施例〕としてプライオリティエンコーダを、「3値符号2分木の2進数論理回路への適用」では、〔第3実施例〕として比較器を,〔第4実施例〕として加算器を、BLCアレイ及び縮小したBLCアレイを、〔第5実施例〕として減算器、BLBアレイ及び縮小したBLBアレイを,〔第6実施例〕として差の絶対値演算器を、それぞれ順に図面を参照して詳細に説明する。
【0203】
(目次)
[1] 順序依存性を持つ判断の系列構造
1.1 順序依存性を持つ判断の系列
1.2 「順序依存性を持つ判断の系列構造」の定義と定理
1.2.1 「依存入出力を持つ判断ノード」の定義
1.2.2 「順序依存性のある判断の系列構造」の定義
1.2.3 順序依存性のある判断の系列構造の並列実行不可能定理
1.2.4 順序依存性のある判断の系列構造の正当性定理
1.2.5 モデルの妥当性
1.2.6 順序依存性のある判断の系列構造の遅延
1.4 従来のプライオリティエンコーダの論理回路とその問題点
[2] 不確定符号2分木
2.1 順序・順位関係を保存したまま判断を並列に行う方法の発見
2.2 定義と定理
2.2.1 「依存入出力を持たない判断ノード」の定義
2.2.2 「上位優先決定ノード」の定義
2.2.3 「不確定符号2分木」の定義
2.2.4 不確定符号2分木の正当性定理
2.2.5 不確定符号2分木の遅延
2.2.6 順序依存性のある判断の系列構造を不確定符号2分木に変換する手続き(構造変換原理)
2.2.7 構造変換原理の同一性定理
2.2.8 最下位判断ノードの例外規定
[3] 不確定符号2分木の2進数論理回路への適用:
高速プライオリティエンコーダ
3.1 不確定符号2分木によるプライオリティエンコーダ
3.2 最適なプライオリティエンコーダの論理構成
3.3 不確定符号2分木の2進数論理回路への適用の効果
[4] 順序依存性のある判断の系列
4.1 序
4.2 順序依存性のある判断の系列
4.2.1 比較の場合
4.2.2 加算の桁上げの場合
4.2.3 減算の桁借りの場合
4.2.4 順序依存性のある判断の系列という構造
[5] 3値符号2分木
5.1 新しい機能の導入
5.2 3値符号2分木
5.3 K演算子の定義と代数的性質
[6] 3値符号2分木の2進数論理回路への適用
6.1 3値符号2分木の一例
6.1.1 3値符号の2進数表現
6.1.2 K演算子の論理関数
6.2 比較器の実施例
6.2.1 比較の3値符号生成
6.2.2 比較器の全体構成
6.3 加算器の実施例
6.3.1 和の3値符号生成
6.3.2 ビット0の確定的性質
6.3.3 桁上げ生成2分木の構成
(桁上げ生成2分木の場合)
(和の生成)
(桁上げ生成2分木の全体構成:BLCアレイ)
(縮小BLCアレイ)
6.3.4 3値符号の他の割り当て
6.3.5 実施例の変形
6.4 減算器の実施例
6.4.1 差の3値符号生成
6.4.2 ビット0の確定的性質
6.4.3 桁借り生成2分木の構成
(桁借り生成2分木の場合)
(桁借り生成2分木の全体構成:BLBアレイ)
(極性の最適化)
(差の生成)
(縮小BLBアレイ)
6.4.4 3値符号2分木の減算器への適用の効果
6.5 差の絶対値演算器の実施例
6.5.1 理想的な差の絶対値演算器の構成
6.5.2 X−YとY−Xの違い
6.5.3 3値符号による差の絶対値演算の手順
6.5.4 符号置換回路
6.5.5 符号無し差の絶対値演算器の構成
6.5.6 符号有り差の絶対値演算器の構成
6.5.7 3値符号2分木の差の絶対値演算器適用の効果
【0204】
[1] 順序依存性を持つ判断の系列構造
1.1 順序依存性を持つ判断の系列
プライオリティエンコーダの機能を人間が行うとしたら、その人はどのように思考し、正しい出力を導くのであろうか? プライオリティエンコーダの機能の定義から、以下のようになるであろう。
【0205】
ステップSP1. 入力ビット中の最も優先順位の高いビット(MSB)を見る。”1”なら”1111”(”有効”且つ”7”)を出力し、動作を完了する。また、”0”なら下位桁のビットに依存するので、ここでは値を出力できない(分からない)ので、次へ進む。
ステップSP2. MSBより1つ下のビットを見る。”1”なら”1110”(”有効”且つ”6”)を出力し、動作を完了する。”0”なら下位桁のビットに依存するので次へ進む。
ステップSP3. MSBから2つ下のビットを見る。”1”なら”1101”(”有効”且つ”5”)を出力し、動作を完了する。”0”なら下位桁のビットに依存するので次へ進む。
ステップSP4.からステップSP6.も同様に処理する。
ステップSP7. MSBより7つ下のビット(LSB)を見る。”1”なら”1000”(”有効”且つ”0”)を出力し、動作を完了する。”0”なら”0***”(”無効”)(ここで、*はドントケアを表す)を出力し、動作を完了する。
【0206】
この思考過程において重要なのは判断の順序である。個々の判断を、自由に任意のタイミングで行うことは許されない。例えば、ビット6を見る前に先だってビット3を見て、それが”1”なら”1011”(”有効”且つ”3”)を出力する、という行為が間違っているのは明らかである。従って、複数の判断には、それを実行する順序関係が存在する、といえる。判断が順序関係を保って行われるためには、「当該の判断では明確な結論が下せない、次の(下位の)判断に依存するので答えられない、分からない、という状態になって初めて、次の(下位の)判断の実行が許される。」という制約条件が必要である。
【0207】
複数の判断が順序依存性を持っていて、順番に実行されるという関係を抽象的な図で表すと図1のようになる。個々の判断が「依存」という関係によって直列に連なっているのが、特徴である。図1のような有向グラフで表すことのできる構造を、本明細書では「順序依存性を持つ判断の系列構造」と呼ぶ。
【0208】
本発明の実施例として後述するプライオリティエンコーダに限らず、この構造は人の思考の内に頻繁に見受けられる。例えば、2数の大小比較、加算における桁上げの生起、減算における桁借りの生起等を人間が考えているとき、その人の思考の内に、この構造が存在している。
【0209】
思考の外においても、「順序依存性を持つ判断の系列構造」は良く見受けられる。プライオリティエンコーダの手続きの記述や図1に示したような図による表現もそうであるし、C言語で書かれたプログラム
は特に馴染み深い。
【0210】
このことは、「順序依存性を持つ判断の系列構造」が言語や図によって表現することができ、他の人に正確に伝えることが可能であることを示している。しかし、この構造は人に教え伝えることのできるものであるけれども、人はこの構造を、誰かから教えられる前に既に知っている。この構造は人間に本来的に備わっている元型の1つの側面であり、元型の持つ力の現れであるといえる。この力は大変重要だが、非常に身近にあり、殆ど意識することなく我々は用いている。この点に関する議論は本明細書の主題から逸脱するので、これ以上は言及しない。
【0211】
1.2 「順序依存性を持つ判断の系列構造」の定義と定理
「順序依存性を持つ判断の系列構造」というモデルの論理的な妥当性を示すため、ここでモデルを正しく定義し、その一般的性質を明らかにする。
【0212】
1.2.1 「依存入出力を持つ判断ノード」の定義
(1) 見た目の特徴:
図1中の、判断と書かれた丸の1つ1つを「依存入出力を持つ判断ノード」と呼ぶ。依存入出力を持つ判断ノードは、図2(a)に示すように、単数または複数のデータ入力と依存入力を持ち、結論出力と依存出力を持つ、判断の最小単位である。
【0213】
(2) 入出力されるもの:
データ入力及び結論出力は2進法に限らず、任意の形式(有限桁数のN進数または(”真”,”偽”の)論理値等)の数量を扱う。一方、依存入力及び依存出力は、”有効”または”無効”の2値の情報を扱う。
【0214】
(3) 機能モデル:
この依存入出力を持つ判断ノードは、データ入力及び依存入力が共に有効になった時点で初めて、決められた判断の実行を開始する。与えられた入力データから明確な結論を下せる場合、その値を結論として出力し、依存出力は”無効”とする。一方、与えられた入力からでは、当該の判断ノードが明確な判断が下せない場合、結論出力は行わず(”無効”が出力される)、依存出力に”有効”を出力する。出力は2つあるが、2つ同時に有効になることはない。
【0215】
(4) 遅延モデル:
この依存入出力を持つ判断ノードが実行を開始し、結論または依存のどちらかを出力し終えるまでの間に、遅延が生じると仮定する。この遅延の大きさは、構造が実現される媒体に応じて適宜定めて良い。十分に小さくすることは許されるが、0にすることは許されない。
【0216】
1.2.2 「順序依存性のある判断の系列構造」の定義
(1) 見た目の特徴:
「順序依存性のある判断の系列構造」は、「依存入出力を持つ判断ノード」が依存入出力を介して、図2(b)に示すように、直列に連なることを特徴とする構造である。また、それぞれの依存入出力を持つ判断ノードの結論出力は1つにまとめられる。依存入出力を持つ判断ノード間には、相対的な順位・順序関係が存在する。図2(b)では、上に位置するノードほど順位が高い。順位・順序は、順序的思惟に従う。
【0217】
(2) 入出力されるもの:
判断に必要な全てのデータを入力とし、決められた順序的思惟に基づく結論を出力する。データ入力は任意の形式で表される数量である。結論もまた任意の形式で表される数量である。良くあるのは、( True / False/ Unknown )等の論理値である。
【0218】
(3) 機能モデル:
データ入力が与えられた時点で、最上位の依存入出力を持つ判断ノードから実行が始まる。最上位の依存入出力を持つ判断ノードに限っては、特別に、依存入力が常に”有効”になっている。このため、データが到着し次第、その判断の実行を開始することができる。これ以降、「依存入出力を持つ判断ノード」の定義に従って、後続の依存入出力を持つ判断ノードの実行が行われていく。その過程で明確な結論が出力された場合には、それを最終的な結論として出力する。依存入出力を持つ判断ノードの性質から、それに続く依存入出力を持つ判断ノードの実行は行われない。最下位にある依存入出力を持つ判断ノードは下位に対する依存性を持たない。従って、「下位に依存するので分からない。」という状況は起こり得ない。このため、最下位にある依存入出力を持つ判断ノードは依存出力を持たない。
【0219】
(4) 遅延モデル:
この順序依存性のある判断の系列構造に入力が与えられ、結論が出力されるまでの間に生じる遅延というものは、結論が出されるまで実行された依存入出力を持つ判断ノードの遅延の総和に等しい。
【0220】
1.2.3 順序依存性のある判断の系列構造の、並列実行不可能定理
以上の各定義から、次の定理を導くことができる。
【0221】
[補助定理1]:
2つの「依存入出力を持つ判断ノード」が依存入出力を介して接続されるとき、この2つの判断ノードは同時に実行できない。
【0222】
[証明]:
2つの依存入出力を持つ判断ノードの内、上位にある方をA、その下位にあるものをBとする。判断ノードBの実行を開始するためには、判断ノードBの依存入力が有効になることが必要条件である(依存入出力を持つ判断ノードの定義より)。また、判断ノードBの依存入力を有効にするためには、判断ノードAの依存出力が有効になる他はない。判断ノードAの依存出力が有効になる時というのは、判断ノードAの実行が終了し、その結果として「依存するので分からない」ことが判明した時点以外にない(依存入出力を持つ判断ノードの定義より)。
【0223】
従って、判断ノードBの実行開始のためには、少なくとも判断ノードAの実行終了を待つ必要がある。待つ時間は0ではなく、少なくとも判断ノードAで生じる遅延時間以上である。故に、2つの「依存入出力を持つ判断ノード」が依存入出力を介して接続されるとき、この2つの判断ノードは同時に実行できない。:[証明終わり]
【0224】
[定理1]:
「順序依存性を持つ判断の系列構造」においては、任意の複数の依存入出力を持つ判断ノードを並列に実行することは不可能である。
【0225】
[証明]:
数学的帰納法により、補助定理1は容易に「依存入出力を介して直列に連なるN個の判断ノードは同時に実行できない。(Nは自然数)」と拡張できる。
順序依存性を持つ判断の系列構造においては、全ての依存入出力を持つ判断ノードが依存入出力によって、直列に接続されている(順序依存性を持つ判断の系列構造の定義より)。これは、「依存入出力を介して直列に連なるN個の依存入出力を持つ判断ノード」に相当し、従って同時に実行できない。:[証明終わり]
【0226】
1.2.4 順序依存性のある判断の系列構造の、正当性定理
[定理2]:
順序依存性を持つ判断の系列構造においては、複数の依存入出力を持つ判断ノードが存在し、そのどれもが結論を出力し得る。しかし、有効な正しい結論を出力するものは、ただ1つである。複数の判断の結論が相対立することは、起こり得ない。つまり、矛盾しない。
【0227】
[証明]:
補助定理1より、連続する2つの依存入出力を持つ判断ノードが同時に結論を出力することは起こり得ない。何故なら、結論は判断の実行結果であるからである。同様に、定理1より、複数の結論が同時に出力され相対立する状況は起こり得ない。
【0228】
では、遅延を持って生じた結論が相対立する状況は起こり得るか? ここで、依存入出力を介して直列に連なるN個の依存入出力を持つ判断ノードの内、任意の1つの依存入出力を持つ判断ノードで、有効な結論が出力された場合を仮定する。結論出力が有効の時、その依存入出力を持つ判断ノードの依存出力は無効となる(依存入出力を持つ判断ノードの定義より)。従って、この依存入出力を持つ判断ノードより下位にある全ての依存入出力を持つ判断ノードは実行開始され得ず、有効な結論は出力されるはずがない。即ち、「ある依存入出力を持つ判断ノードが有効な結論を出力した場合、より下位にある全ての依存入出力を持つ判断ノードは有効な結論を出力できない。」といえる。
【0229】
一方、この依存入出力を持つ判断ノードが結論を出力し得たということは、この依存入出力を持つ判断ノードの実行が行われたことを示している。依存入出力を持つ判断ノードの実行開始のための必要条件の1つは、1つ上の依存入出力を持つ判断ノードが結論を出力できずに、依存出力が有効になることである。同様にして、実行開始の必要条件を上に向かって遡っていくと結局、ある依存入出力を持つ判断ノードの実行開始の条件は、「それより上位にある依存入出力を持つ判断ノードの全てが結論を出力できず依存出力を有効にした場合、且つその時に限る。(データ入力は暗黙の内に揃っているとする)」といえる。即ち、「結論を出力した依存入出力を持つ判断ノードより上位にある依存入出力を持つ判断ノードは全て、有効な結論を出力できなかった」といえる。
【0230】
故に、順序依存性を持つ判断の系列構造においては、結論を出力した依存入出力を持つ判断ノードよりも上位にある依存入出力を持つ判断ノード、下位にある依存入出力を持つ判断ノードの全ては、有効な結論を出力していない。有効な結論を出力している依存入出力を持つ判断ノードは、当該依存入出力を持つ判断ノード以外に存在しない。:[証明終わり]
【0231】
1.2.5 順序依存性のある判断の系列構造モデルの妥当性
定理1、定理2は、先に定義した順序依存性のある判断の系列構造モデルの妥当性を保証している。つまり、順序依存性のある判断の系列構造モデルにおける依存入出力を持つ判断ノードは決められた順序に従って実行される(定理1より)。また、結論は常に1つである(定理2より)。従って、本章の第3節で述べた人の順序的思考過程を、この順序依存性のある判断の系列構造モデルを使って説明できる。
【0232】
1.2.6 順序依存性のある判断の系列構造の遅延
説明では、これから、「順序依存性のある判断の系列構造」の結論が得られるまでの遅延を重要視していく。本明細書の主題は、人間の持つ思考過程を機械に模倣させること、より具体的には、論理回路に人の思考を代行させることにある。この場合、論理回路のハードウエア量(ゲート数またはトランジスタ数)と演算時間(信号伝搬遅延時間)が重要となる。
【0233】
論理回路を設計する人間の内に「順序依存性のある判断の系列構造」があり、これに従って論理回路を構成した場合、この論理回路は「順序依存性のある判断の系列構造」を持つ。そして、この論理回路の信号伝搬遅延は「順序依存性のある判断の系列構造」の遅延の一般的性質に従う。では、「順序依存性のある判断の系列構造」の遅延の一般的性質とはどのようなものか?
【0234】
この構造の遅延の特徴の第1は、遅延の大きさが判断過程によって大きく左右されることである。例えば図1では、最上位の判断で結論が得られれば遅延は1(単位)であるし、最下位まで判断を待たなければならない時には8(単位)である。
【0235】
また、特徴の第2は、遅延の最悪値(最下位まで判断を行う場合)が、依存入出力を持つ判断ノードの数に比例することである。例えば、依存入出力を持つ判断ノードが32個直列に連なっている構造では、最悪の遅延は32(単位)となる。
【0236】
「信号伝搬遅延時間が一定しない」論理回路というものは、現在主流であるクロック同期パイプライン型計算機に不適である。この計算機においては、論理回路は決められた時間(クロック周期)内に、結果を出力しなければならない。「信号伝搬遅延時間が一定しない」ため、どのような入力の場合でも、論理回路が時間内に結果を出力することを保証するには、クロック周期を論理回路の最悪遅延時間以上にする必要がある。しかしその最悪遅延時間は「判断ノードの数に比例」する。一般に、判断ノードの数は論理回路の入力ビット幅に比例する。このような論理回路の信号伝搬遅延がパイプライン中で無視できない程大きくなったとき、この論理回路は計算機のクロック周波数を決定し、計算機の性能を大きく左右する。後の節では、このような論理回路の具体例として、プライオリティエンコーダの論理回路を採り上げる。
【0237】
現在の計算機、とりわけマイクロプロセサにおいては、データビット幅及び機能ユニット数が増加する傾向は今後も続く。このような背景にあっては、入力ビット幅に比例するよりも小さい信号伝搬遅延の論理回路が重要である。ひいては、依存入出力を持つ判断ノード数に比例する遅延を持つ「順序依存性を持つ判断の系列構造」自体を、別のより高速な構造に作り替える、一般的な手続きを確立することが重要である。
【0238】
1.4 従来のプライオリティエンコーダの論理回路とその問題点
図3には、従来のプライオリティエンコーダの論理回路を示す。図3の論理回路は、図1に示したような順序依存性のある判断の系列構造を持っているが、一見すると、図1と図3は同一の構造でないように見受けられる。何故ならば、図3においては、ビット6を入力とする論理ゲートGOV6,GO26,GO16,GO06の出力は、それぞれビット7を入力とする論理ゲートGOV7,GO27,GO17,GO07の入力に接続されている。これに対し図1では、ビット6を入力とする判断ノード6の依存出力は、判断ノード5の依存入力として接続されている。つまり、論理ゲートの配置の順序が、判断ノードの配置の順序と逆になっている。
【0239】
しかしながら、それにも関わらず、図3に示したプライオリティエンコーダの論理回路は、順序依存性のある判断の系列構造を持つといえる。図3の論理回路の構造を一般化したものが図4である。論理ゲートDCBで出力された結果が最終出力に至るかどうかは、経由する論理ゲートDCAに左右される。入力aは論理ゲートDCBの結果出力を抑制することができる。そして、入力bとは何の関係もない、入力aのみに基づく結果を出力できる。これは、入力aが入力bに対して優越している、即ち優位の位置にある、ということを示している。
【0240】
図4のように、「個々の入力に順位関係が存在し、より上位の結果出力が、下位にある他の結果を抑制して最終的な結論として出力される」機能を実現し、且つ「上位が、下位に対して行う抑制の制御構造が直列に連なる」構造とは、まさしく順序依存性のある判断の系列構造のことである。
【0241】
図3が図1と異なるように見える原因は、図3中には「依存する」という情報を伝える信号線が、明確には存在していないことにある。しかし実際には、図1の構造の「下位に対して依存する/しない」という”語”が、図3では「下位の結果を採択する/抑制する」という”語”に置き換えられたに過ぎないのであって、意味内容の同一性は保たれている。
【0242】
一般に、順序依存性のある判断の系列構造を論理回路で実現した場合、図3、図4に示した論理回路構造のように、上位の入力を受ける論理ゲートほど出力側に近く配置された構造となる。このような論理回路の構造の典型例として、桁上げ伝搬加算器(Carry Ripple Adder)が挙げられる。
【0243】
前節の最後に述べたように、順序依存性のある判断の系列構造をもつ論理回路は、その最悪遅延時間が入力ビット幅数に比例して増加する、という欠点を持つ。従来のプライオリティエンコーダも、この欠点を持っている。図3の例では、入力ビット幅数が増加した分だけ論理和ゲート回路または論理積ゲート回路が直列に付加されていき、演算段数が増加していく。
【0244】
以上まとめると、次のようになる。「順序依存性のある判断の系列構造」を持つ論理回路(例えば、図3)は、高速動作の計算機に適さない。何故ならば、以下の理由による。即ち、(a) パイプライン計算機の内部においては、論理回路の最悪遅延時間が、その計算機のクロック周期を決める1つの重要な要素であり、(b) 「順序依存性のある判断の系列構造」を持つ論理回路の最悪遅延時間は、入力のビット幅数に比例するからである。従って、最悪遅延時間が、入力ビット幅数に比例するよりも小さい、論理回路や演算器が重要となる。
【0245】
[2] 不確定符号2分木
2.1 順序・順位関係を保存したまま判断を並列に行う方法の発見
1.2.3の定理1で述べたように、順序依存性のある判断の系列構造では、判断の並列処理が不可能である。並列処理が不可能な理由は、個々の依存入出力を持つ判断ノードにはデータ入力とは別に、制御入力ともいうべき依存入力が存在するからである。
【0246】
全ての判断ノードが、データ入力時点で即時実行を開始できるためには、即ち、判断が並列に処理できるためには、どうすればよいのか? それは、「個々の判断ノードが依存入力を持たず、データ入力だけを持つ」ようにすれば良い。各判断ノードが依存入力を持たなくなった為、依存出力も必要なくなる。依存出力が有効になる状態、即ち、「下位に依存するので分からない。答えられない。或いは確定できない。」という状態が生じた場合には、不確定符号”Q”(Indeterminate Sign "Q")を結論として出力することにする。このようにして得られた判断ノードを「依存入出力を持たない判断ノード」と呼ぶ。また、この依存入出力を持たない判断ノードの出力を、「仮の結論」と呼ぶ。
【0247】
当然、依存入出力を持たない判断ノードの数だけ「仮の結論」が存在する。これらを一つにまとめあげ、唯一の正しい結論を導かねばならない。本来、判断ノード間には順序関係が存在していた。従って、仮の結論が複数あった場合、最も上位の依存入出力を持たない判断ノードの仮の結論を、最終的な結論としなければならない。
【0248】
例えば、依存入出力を持たない判断ノードが2つあって、それらが異なる仮の結論を出力している場合、正しい一つの結論は、上位の仮の結論でなければならない。では、下位の仮の結論が最終的な結論と成り得るのはどのような場合か?それは、上位の判断において明確な結論を出せなかった場合である。即ち、上位の依存入出力を持たない判断ノードにおいて不確定符号”Q”が出力された場合である。このような場合に限り、下位の仮の結論が最終的な結論と成り得る。
【0249】
このようにして、相異なる2つの仮の結論を1つの正しい結論に導く操作・行為を、本明細書では「上位優先決定の機能」と呼び、この機能を持つ抽象的な単位を、依存入出力を持たない判断ノードに対して、「上位優先決定ノード」と呼ぶことにする。
【0250】
上位優先決定ノードの出力が、次の上位優先決定ノードの入力となるようにして、多段に上位優先決定ノードを組み合わせることによって、3つ以上の仮の結論がある場合でも、正しい1つの結論に導くことが可能となる(証明は後述)。
【0251】
組み上げられた上位優先決定ノードの構造は、その性質から、自ずと2分木になる。ここに、不確定符号を用いることによって判断の並列処理を可能にする2分木状の構造を「不確定符号2分木」と名付ける。
【0252】
2.2 定義と定理
前節で述べたように、新たな概念である「依存入出力を持たない判断ノード」と「上位優先決定の機能(上位優先決定ノード)」を導入することによって、順序的思惟の判断を並列に行う方法を見い出した。ここでは、これら概念を定義する。そして、「順序依存性のある判断の系列構造」を「不確定符号2分木」に変換する手続きを一般化する。
【0253】
2.2.1 「依存入出力を持たない判断ノード」の定義
(1) 見た目の特徴:
依存入出力を持たない判断ノードは、図5(a)に示すように、単数または複数のデータ入力と、仮の結論出力を持つ、判断の単位である。依存入力・依存出力は持たない。この依存入出力を持たない判断ノードの出力値を「仮の結論」と呼ぶ。
【0254】
(2) 入出力されるもの:
データ入力は2進法に限らず、任意の形式(有限桁数のN進数または(”真”または”偽”の)論理値等)の数量を扱う。一方、仮の結論出力は、不確定符号”Q”と数量を一元化した形式の符号を出力する。
【0255】
(3) 機能モデル:
この依存入出力を持たない判断ノードは、データ入力が与えられた時点で、判断の実行を開始する。即ち、実行の開始は、他の依存入出力を持たない判断ノードの実行結果に依存しない。与えられた入力データから明確な結論を下せる場合には、その結果を出力する。一方、与えられた入力からでは当該依存入出力を持たない判断ノードが明確な判断を下せない場合には、不確定符号”Q”を出力する。
【0256】
「依存入出力を持たない判断ノード」と「依存入出力を持つ判断ノード」の関係を表すと図5(b)に示す如くなる。同図に示すように、「依存入出力を持たない判断ノード」は、「依存入出力を持つ判断ノード」を包含できる性質を持つ。この性質を利用して、「依存入出力を持つ判断ノード」から「依存入出力を持たない判断ノード」を作ることができる。
【0257】
(4) 遅延モデル:
この依存入出力を持たない判断ノードが実行を開始し、仮の結論を出力し終えるまでの間に遅延が生じると仮定する。この遅延の大きさは、構造が実現される媒体に応じて適宜定めて良い。十分に小さくすることは許されるが、0にすることは許されない。
【0258】
2.2.2 「上位優先決定ノード」の定義
(1) 見た目の特徴:
上位優先決定ノードは、図6(a)に示すように、2つの入力と、1つの出力を持つ、「上位優先決定」を実現する機能の単位である。この2つの入力は対等でない。一方が図中の”H”となる上位入力、もう一方が図中のLとなる下位入力である。
【0259】
(2) 入出力されるもの:
2つの仮の結論を入力とし、「上位優先決定」に基づいて2つの仮の結論の内の1つを選び、当該上位優先決定ノードの仮の結論として出力する。
【0260】
(3) 機能モデル:
2つの入力に、それぞれ仮の結論が与えられた時点で実行を開始し、「上位優先決定」に従って、図6(b)に示す如く、2つの仮の結論の内のどちらか1つを選び、これを出力する。
【0261】
(4) 遅延モデル:
この上位優先決定ノードに2つの仮の結論が与えられ、1つの正しい仮の結論を導くまでの間に遅延が生じると仮定する。この遅延の大きさは、構造が実現される媒体に応じて適宜定めて良い。十分に小さくすることは許されるが、0にすることは許されない。
【0262】
(5) 「上位優先決定」とは:
上位優先決定ノードにおいては、図6(b)に示すように、上位に入力された仮の結論が不確定符号”Q”以外の場合、この上位入力の符号を出力する。一方、上位に入力された仮の結論が不確定符号”Q”であった場合、下位入力の符号を出力する。このような選択・決定方法を「上位優先決定」と呼ぶ。
【0263】
(6) 符号表現の変換について:
入力される符号と出力される符号の表現は、必ずしも同一である必要はない。必要に応じて、符号表現の縮約/拡張等の変換を行うことが許される。勿論、符号の持つ意味内容を変えることは許されない。
【0264】
例えば、「符号表現の縮約」の変換については、以下の如くである。即ち、入力される符号が、{1234,5678,9012,Q}の4種類しかない場合、{1234,5678,9012,Q}を{1,2,0,Q}に変換する、というように、桁数の小さい表現を用いて表すことが許される。但し、以降の過程で不都合が生じないことを条件とする。例えば、それぞれの表現が表している本来の意味を失うようなことがあってはいけない。(即ち、”1”は”1234”を、”2”は”5678”を、”0”は”9012”を意味する。)
【0265】
2.2.3 「不確定符号2分木」の定義
(1) 見た目の特徴:
不確定符号2分木は、図7に示すように、「依存入出力を持たない判断ノード」を葉とし、「上位優先決定ノード」を構成要素とする2分木である。特に、高速性が要求される場合には平衡2分木モデルを使用するのが望ましい。内部の依存入出力を持たない判断ノード間には、相対的な順位・順序関係が存在する。図7では、左にある依存入出力を持たない判断ノードほど順位が高い。順位・順序は、順序的思惟に従う。
【0266】
(2) 入出力されるもの:
判断に必要な全てのデータを入力とし、1つの正しい結論を出力する。データ入力は、任意の形式で表される数量である。また、結論も任意の形式で表される。良くあるのは、( True / False/ Unknown)等の論理値である。
【0267】
(3) 機能モデル:
データ入力が与えられた時点で、全ての依存入出力を持たない判断ノードは実行を開始し、並列に処理を行う。ある遅延の後、各依存入出力を持たない判断ノードの出力に仮の結論が生成される。「上位優先決定ノード」によって、仮の結論の数は徐々に減っていき、遂には唯一つの正しい結論が導かれる。この時の上位優先決定ノードの処理は、従属関係にある場合を除いて、並列に行われる。
【0268】
(4) 遅延モデル:
この不確定符号2分木の構造に入力が与えられ、最終的な結論が得られるまでに要する時間は、この不確定符号2分木構造の木の高さに比例する。ここでの木の高さとは、入力段である依存入出力を持たない判断ノード(葉)から最終出力の上位優先決定ノード(根)までの段数で最大のものをいう。
【0269】
2.2.4 不確定符号2分木の、正当性定理
[定理3]:
不確定符号2分木で最終的に導き出される結論は、正しい。
【0270】
[証明]:
平衡2分木状に構成された「上優先決定ノード」によって、N個の仮の結論は、1つの最終結論に導かれる。最初に、この最終結論の正しさについて証明する。「最初の時点において存在する、全ての仮の結論は正しい。」且つ「最初の時点において、複数の仮の結論の間に存在する順序・順位関係(順序的思惟に由来する)は明示的である。」と前提する。この前提は、正しく機能する判断ノードを、入力の系列順位に沿って配置(例えば、横一線と)することによって保証される。
【0271】
i) 仮の結論が1個の時
この唯一つの仮の結論が正しいことは、疑いようがない。もし正しくないとすれば、依存入出力を持たない判断ノードの仮の結論生成に誤りがあることになり、当初の前提に反する。
【0272】
ii) 仮の結論の数が2個の時
この2個の仮の結論を、上位優先決定ノードに入力する。その結果、1つの仮の結論が導かれる。この導かれた1つの結論の正しさは、上優先決定の原理より証明される。上位優先決定の原理とは、「(a) 上位の仮の結論が明確な場合、上位の仮の結論を採択する。(b) 上位が下位に依存することにより上位で明確な結論を下し得ない場合、即ち、上位の仮の結論が「不確定」を意味する場合に限って、下位の仮の結論を採択する。」という2者択一の原則である。本来、2つの仮の結論の間には、順序的思惟に由来する順序・順位関係が存在している。上位優先決定の原理がこの順序・順位関係を保ち、正しい結論を導くことは、明らかである。
【0273】
iii)仮の結論の個数が2以上の偶数(2N個:Nは自然数)の時
2N個の仮の結論の間には、順序的思惟に由来する順序・順位関係が存在する。ここで、全ての仮の結論を横一線に、上位から下位に向かって順に並べる。上位から2つずつ仮の結論を取っていき、N個のペアを作る。各ペアそれぞれに対して上位優先決定ノードを与え、各ペアにおいて1つの結論を導く。ii) より、それぞれ導かれた結論は正しい。これらは全て、まだ仮の結論である。この時点で、N個の仮の結論が横一線に並んで存在している。N個の仮の結論の間にある順序・順位関係は、この並び順によって明示的に保存されている。
【0274】
iv) 仮の結論の数が3以上の奇数(2N+1個:Nは自然数)の時
(2N+1)個の仮の結論の間には、順序的思惟に由来する順序・順位関係が存在する。ここで、全ての仮の結論を横一線に、上位から下位に向かって順に並べる。上位から2つずつ仮の結論を取っていき、N個のペアを作る。最下位にあった1個は余る。各ペアそれぞれに対して上位優先決定ノードを与え、各ペアにおいて1つの結論を導く。これらの結論と同一のレベルに、余りの1個をそのまま導く。ii) より、それぞれ導かれた結論は正しい。これらは全て、まだ仮の結論である。この時点で、(N+1)個の仮の結論が横一線に並んで存在している。(N+1)個の仮の結論の間にある順序・順位関係は、この並び順によって明示的に保存されている。
【0275】
v)一般に、仮の結論の数が自然数(N)の時
N個の仮の結論の間には、順序的思惟に由来する順序・順位関係が存在する。ここで、全ての仮の結論を横一線に、上位から下位に向かって順に並べる。ここでNが偶数ならiii)を、Nが奇数ならiv) を適応する。その結果、仮の結論の個数は、NからN’=N/2に、或いは、NからN’=(N+1)/2に減る。明らかに、ここに、N’は自然数である。再び、N’が偶数ならiii)を、N’が奇数ならiv) を適応する。以上の操作を、仮の結論が1個になるまで繰り返す。 i) より、この導かれた唯一つの仮の結論の、最終結論としての正しさは疑いようがない。これを最終結論とする。
【0276】
従って、数学的帰納法により、「平衡2分木状に構成された上位優先決定ノードによって、N個の仮の結論から導かれる1つの結論は、正しい。」といえる。不確定符号2分木のモデル(依存入出力を持たない判断ノード及び上位優先決定ノードの配置)は、この帰納法的証明の前提条件を満たす。故に、不確定符号2分木で最終的に導き出される結論は、正しい。:[証明終わり]
【0277】
2.2.5 不確定符号2分木の遅延
本明細書では、不確定符号2分木構造が結論を出すまでの遅延(段数)を重要視している。順序依存性のある判断の系列構造の段数は、依存入出力を持つ判断ノードの数(N)に比例したが、不確定符号2分木の段数は、これより確実に小さいものでなければならない。
【0278】
第3項で述べたように、不確定符号2分木の段数は、この構造の木の高さである。平衡2分木の時、葉(依存入出力を持たない判断ノード)の数がN個の時、高さはlog2 Nにほぼ等しく、全ての葉の高さもほぼ等しい。従って、
N>log2 N(Nは自然数)
という関係から、順序依存性のある判断の系列構造よりも、不確定符号2分木(平衡2分木)の方が、確実に少ない段数で結論を導くことができるといえる。
【0279】
2.2.6 順序依存性のある判断の系列構造を不確定符号2分木に変換する手続き(構造変換原理)
順序依存性のある判断の系列構造を、不確定符号2分木に変換する手続き、即ち、構造変換原理は、以下の手順で実現される。
【0280】
ステップSPC1.依存入出力を持つ判断ノードを元に、依存入出力を持たない判断ノードを作る。図5(b)のように、「依存入出力を持たない判断ノード」は、「依存入出力を持つ判断ノード」を包含する関係にある。従って、
(i) 依存入力に常に「有効」を入力し、
(ii)依存出力に、不確定符号発生器をつける、
という操作によって、依存入出力を持たない判断ノードを作ることができる。
【0281】
ステップSPC2.依存入出力を持たない判断ノードを葉とし、上位優先決定ノードを当該2分木の要素とする2分木を、図7に示す如く構成する。この時、入力の系列順位・仮の結論の順位関係を正しく保つように注意して、依存入出力を持たない判断ノードを配置し、上位優先決定ノードの接続を行う。
【0282】
2.2.7 構造変換原理の同一性定理
[定理4]:
順序依存性のある判断の系列構造と、それを元にした構造変換原理による不確定符号2分木は、同じ入力を与えれば、必ず同じ最終結論を出力する。
【0283】
[証明]:
定理2より、「順序依存性のある判断の系列構造」の出力が、順序的思惟に基づく正しい結論であることは明らかであり、また、定理3より、「不確定符号2分木」の出力が正しい結論であることも明らかである。
【0284】
「不確定符号2分木」で最初に行われる判断(依存入出力を持たない判断ノード)は、図5(b)に示したように、「順序依存性のある判断の系列構造」の判断(依存入出力を持つ判断ノード)を包含している。「依存入出力を持たない判断ノード」が明確な結論(不確定符号”Q”以外)を出力したとき、その結論は内部の「依存入出力を持つ判断ノード」の結論そのものである。
【0285】
従って、同じ入力を、両者(「順序依存性のある判断の系列構造」と「不確定符号2分木」)にそれぞれ与えた場合、両者は同じ判断に基づいた結論をそれぞれ出力する。正しい結論は、ただ一つである。両者の結論は共に正しい。故に、両者が出力する結論は同一である。:[証明終わり]
【0286】
2.2.8 最下位判断ノードの例外規定
図2(b)に示されるように、順序依存性のある判断の系列構造の、最下位にある依存入出力を持つ判断ノードは、下位に対する依存性が無く依存出力を持たない。構造変換原理に従って、最下位の依存入出力を持つ判断ノードを、依存入出力を持たない判断ノードに変換した場合、該依存入出力を持たない判断ノードは不確定符号”Q”を出力しない。即ち、図5(b)に示すように、不確定符号”Q”は、内部で依存出力が有効になったときに出力されるからである。従って、このような不確定符号”Q”を出力しない依存入出力を持たない判断ノードも存在する。
【0287】
2.2.1の「依存入出力を持たない判断ノード」の定義では、依存入出力を持たない判断ノードは、不確定符号”Q”を出力することを特徴とする、と述べた。ここで、「最下位の依存入出力を持たない判断ノードに限っては、不確定符号”Q”を出力しない場合も許される。」という例外規定を設ける。
【0288】
このような最下位の依存入出力を持たない判断ノードと通常の依存入出力を持たない判断ノードとが接続される上位優先決定ノードは、不確定符号”Q”を出力しない。これは、上位優先決定の原理から明らかである。上位入力が不確定符号”Q”である場合に限って下位入力の符号が出力され、且つその時、下位入力が不確定符号”Q”である場合に限って不確定符号”Q”が出力される。今の場合、最下位の依存入出力を持たない判断ノードは不確定符号”Q”を出力しない。従って、上位優先決定ノードも不確定符号”Q”を出力しない。
【0289】
この性質を利用すると、出力する符号の種類が1つ減る。従って、2.2.2で述べた「符号表現の変換」を用いて、よりトランジスタ数の少ない、最適な論理回路を導くことができる。ちなみに、最下位ではない依存入出力を持たない判断ノードが不確定符号”Q”を出力しない、という場合は考える必要がない。不確定符号”Q”を出力しない依存入出力を持たない判断ノードより下にある、全ての依存入出力を持たない判断ノードの存在は無意味になるからである。
【0290】
[3] 不確定符号2分木の2進数論理回路への適用:
3.1 不確定符号2分木によるプライオリティエンコーダ
〔第1実施例〕
1.2で述べた、従来のプライオリティエンコーダにおける順序依存性のある判断の系列構造を、2.2.6で述べた構造変換原理に従って、不確定符号2分木に変換する。ここに、第1実施例で扱うプライオリティエンコード機能は、nビット2進数のデータ入力に対して最上位ビットから最下位ビットの方向で最初に”1”であるビット位置を2進数数値として出力するものである。
【0291】
従来のプライオリティエンコーダ(例として、8ビット入力、4ビット出力)における順序依存性のある判断の系列構造は、図1に示される系列構造である。図1中の依存入出力を持つ判断ノードは、単一で1ビットのデータ入力と依存入力を持ち、データ入力と依存入力が共に有効になった場合に、判断の実行を開始する。判断の実行内容は、以下の通りである。
データ入力=1の場合:
データ出力=定められた数値,依存出力=”無効”
データ入力=0の場合:
データ出力=無効,依存出力=”有効”
【0292】
構造変換原理における、「依存入出力を持つ判断ノード」を「依存入出力を持たない判断ノード」に変換する手続きを適応して、図8に示すような依存入出力を持たない判断ノードを得る。
【0293】
得られた依存入出力のない判断ノードを葉とし、上位優先決定ノードを要素とする平衡2分木を、図9に示すように構成する。同図に示す構造が、プライオリティエンコーダを実現する不確定符号2分木である。
【0294】
この2分木のノードのそれぞれを論理回路に置き換えることによって、プライオリティエンコーダの論理回路を得ることができる。論理回路を導くには、数量の符号及び不確定符号”Q”を適切な2進コードに変換する必要がある。特に、不確定符号”Q”にどのような2進コードを割り当てるかは重要であり、論理回路の形式、ゲート数及び信号伝搬遅延を大きく左右する。本実施例で扱う8ビット入力、4ビット出力のプライオリティエンコーダの2進コード割り当てを図10(a)に示す。
【0295】
2進コードの割り当てが決まると、依存入出力を持たない判断ノード及び上位優先決定ノードの真理値表が、図10(b)及び(c)に示す如く求められる。そしてついに、これらの真理値表から、依存入出力を持たない判断ノード及び上位優先決定ノードの論理回路が、図11に示す如く導かれる。
【0296】
図11に示した回路図は、プライオリティエンコーダの一部分であり、ビット0に対応した判断ノードL0a、ビット1に対応した判断ノードL1a、及び、判断ノードL0a,L1aの出力を入力とする上位優先決定ノードN01aを含む回路図である。他のビットに対応する判断ノードの論理回路も図10(b)に示す真理値表に従って、同様に構成でき、また、不確定符号2分木の他のノードとなる上位優先決定ノードの論理回路については全て、図11に示した上位優先決定ノードN01aの構成と同じものを使用する。このようにして得られた判断ノード及び上位優先決定ノードの論理回路を、図9のように組み合わせれば、8ビット入力、4ビット出力のプライオリティエンコーダの論理回路が完成する。
3.2 最適なプライオリティエンコーダの論理構成
3.1(不確定符号2分木によるプライオリティエンコーダ)で示したプライオリティエンコーダの論理回路(図11参照)は、一応正しく動作はするが、まだ冗長な部分が多く、ゲート数が余りにも多い。その原因は、この回路の不確定符号2分木が、依存入出力を持たない判断ノードから最後の上位優先決定ノードに至るまで、一貫して共通した符号体系(図10(a)の2進コード割り当て)を用いていることにある。
【0297】
2.2.2の上位優先決定ノードの定義から、各階層での符号の表現の仕方を変えることが許されている。従って、各階層において有利な2進コード割り当てを用いることが可能である。ここでは、階層毎に2進コードの論理圧縮を行うことによって、集積回路で用いるのに最適な論理回路を導く過程を示す。
【0298】
先ず、図11に注目する。図中の上位優先決定ノードN01aに入力される2進コードは、”1001”(”有効”且つ数値”1”),”1000”(”有効”且つ数値”0”),”0***”(”無効”)の3通りである。”1”と”0”のどちらを選んでも第2ビット及び第1ビットは共に”00”であるため、この部分に関するセレクタSL013及びSL012を除去できる。共通の”00”は、上位優先決定ノードN01a内で付加すれば良く、判断ノードL0a,L1a中で生成する必要はない。従って、判断ノードL0a,L1a及び上位優先決定ノードN01aそれぞれが共に簡単化され、判断ノードL0b,L1b及び上位優先決定ノードN01bに置き換えられた図12の構成を得る。
【0299】
更に、図12の構成では、上位優先決定ノードN01b内のセレクタSL011のデータ入力が、左の1入力は”1”に、右の0入力は”0”にそれぞれ固定されている点に注目して、セレクタSL011を除去し該セレクタSL011の選択信号をそのままスルーさせる構成に簡単化する。その結果、判断ノードL0,L1及び上位優先決定ノードN01cに置き換えられた図13のような非常に簡単な回路構成を得る。
【0300】
以上のような考え方を後段の回路、即ち、データ入力のビット0及びビット1に対応した判断ノードL0,L1及び上位優先決定ノードN01cによる構成と、該構成と同等のデータ入力のビット2及びビット3に対応した判断ノードL2,L3及び上位優先決定ノードN23cによる構成と、上位優先決定ノードN03aとを含む回路構成(図14参照)に対しても適用していく。尚、図14の構成は、4ビット入力のプライオリティエンコーダの構成である。
【0301】
図14の構成において、上位優先決定ノードN03aは、上位側の入力として”1011”(”有効”且つ数値”3”),”1010”(”有効”且つ数値”2”),”0***”(”無効”)を、下位側の入力として”1001”(”有効”且つ数値”1”),”1000”(”有効”且つ数値”0”),”0***”(”無効”)をそれぞれ受け取る。ここで、”3”,”2”,”1”,”0”のどれを選んでも第2ビット目が共通して”0”であるため、該第2ビット目が反映されるセレクタSL033を除去できる。また、第1ビット目が反映されるセレクタSL032は、左の1入力が”1”に、右の0入力が”0”にそれぞれ固定されているため、セレクタSL032を除去し該セレクタSL032の選択信号をそのままスルーさせる構成に簡単化できる。結果として、判断ノードL0,L1,L2,L3及び上位優先決定ノードN01,N23,N03bに置き換えられた図15のような簡単な回路構成を得る。
【0302】
以上示した回路を使って、8ビット入力のプライオリティエンコーダを構成すると図16に示すような構成となる。即ち、図16は、データ入力のビット0〜ビット3に対応した判断ノードL0〜L3及び上位優先決定ノードN01,N23,N03bによる構成と、該構成と同等のデータ入力のビット4〜ビット7に対応した判断ノードL4〜L7及び上位優先決定ノードN45,N67,N47bによる構成と、上位優先決定ノードN07aとを含む回路構成である。
【0303】
図16の構成において、上位優先決定ノードN07aにおける第2ビット目が反映されるセレクタSL073は、左の1入力が”1”に、右の0入力が”0”にそれぞれ固定されているため、セレクタSL073を除去し該セレクタSL073の選択信号をそのままスルーさせる構成に簡単化できる。結果として、判断ノードL0〜L7及び上位優先決定ノードN01,N23,N45,N67,N03,N47,N07に置き換えられた、図17に示すような、非常に簡単な最終的な回路構成の、最適な8ビット入力プライオリティエンコーダの論理回路が導かれる。
【0304】
図17において、n(n=8)ビット入力プライオリティエンコーダの構成は、上位優先決定ノードを構成要素とする高さm(m=3)の平衡2分木でモデル化され、該2分木は、深さ3のノードをNm (Nm =4)個、深さs(s=1,2)のノードをNs (Ns =2,1)個、それぞれ具備して構成され、2分木の深さ3の下位より第pm 番目(pm =1〜4)のノードは、データ入力の第(2×pm −2)ビット信号線及び第(2×pm −1)ビット信号線をそれぞれ第0ビット入力及び第1ビット入力とし、第0ビット入力及び第1ビット入力の論理和をとって第1ビット出力として出力する論理和ゲート回路と、第1ビット入力を第0ビット出力として出力する接続線とを具備して構成し、2分木の深さs(s=1,2)の下位より第ps 番目(ps =1〜Ns ;Ns =2,1)のノードは、2分木の深さ(s+1)の第(2×ps −1)番目のノードの第0ビット出力から第(m−s)ビット出力をそれぞれ下位の第0ビット入力から第(m−s)ビット入力とし、2分木の深さ(s+1)の第(2×ps )番目のノードの第0ビット出力から第(m−s)ビット出力をそれぞれ上位の第0ビット入力から第(m−s)ビット入力とし、下位の第(m−s)ビット入力及び上位の第(m−s)ビット入力の論理和をとって第(m−s+1)ビット出力として出力する論理和ゲート回路と、上位の第(m−s)ビット入力を第(m−s)ビット出力として出力する接続線と、(m−s+1)個のセレクタとを具備して構成し、下位から第q番目(q=1〜m−s+1)のセレクタは、上位の第(m−s)ビットを選択入力とし、該選択入力が”1”のときに上位の第(q−1)ビット入力を、該選択入力が”0”のときに下位の第(q−1)ビット入力をそれぞれ選択して第(q−1)ビット出力として出力するものである。
【0305】
尚、実際には、スタティックCMOS論理で実現するような場合には、図17の構成に対して、更に極性最適化が行われる場合もある。ここで、「極性最適化」とは、正論理入力・正論理出力の論理回路(ここでは、上位優先決定ノード)が多段に縦属接続されている構造を、正論理入力・負論理出力の段(PN段)と負論理入力・正論理出力の段(NP段)が交互に縦属接続される構造に変換する技法である。この極性最適化の技法を用いることによって、冗長なトランジスタを削減し、トランジスタ数・動作速度を改善できる。
【0306】
〔第2実施例〕
次に、図18には、プライオリティエンコード機能を、8ビット2進数のデータ入力に対して最上位ビットから最下位ビットの方向に”0”の連続する数を2進数数値として出力するものとした場合のプライオリティエンコーダの真理値表を示す。
【0307】
このプライオリティエンコード機能には、例えば、浮動小数点演算の正規化等に使用されるビットシフト量計数用プライオリティエンコーダとしての用途がある。これは、例えば、浮動小数点演算の加算において、2つのオペランドの符号が逆で且つそれらの値が近い場合には、加算の結果の先頭に0が並ぶ、いわゆる「桁落ち」が発生するため、先頭に並ぶ0の数を数え、この数値に基づいて仮数部を左方向へシフトすると共に、指数部からその数値を差し引く手順が必要となる。即ち、ビット列の先頭から並ぶ0の数を計数するビットシフト量計数用プライオリティエンコーダが必要となる。
【0308】
図19は、本発明の第2実施例に係るビットシフト量計数用プライオリティエンコーダの構成図を示す。同図の構成は、第1実施例と同様に、図18の真理値表に対して2進コード割り当てを決定し、依存入出力を持たない判断ノード及び上位優先決定ノードの真理値表を求め、該依存入出力を持たない判断ノード及び上位優先決定ノードの論理回路を導いた後、更に論理圧縮を行った結果である。
【0309】
図19において、n(n=8)ビット2進数入力に対するプライオリティエンコーダの構成は、高さm(m=3)の2分木でモデル化され、該2分木は、深さmのノードをNm (Nm =4)個、深さs(s=1,2)のノードをNs (Ns =2,1)個、それぞれ具備し、2分木の深さ3の下位より第pm 番目(pm =1〜4)のノードは、データ入力の第(2×pm −2)ビット信号線及び第(2×pm −1)ビット信号線をそれぞれ第0ビット入力及び第1ビット入力とし、第0ビット入力及び第1ビット入力の論理和をとって第1ビット出力として出力する論理和ゲート回路と、第1ビット入力の否定をとって第0ビット出力として出力する否定論理ゲート回路とを具備し、2分木の深さs(s=1,2)の下位より第ps 番目(ps =1〜Ns ;Ns =2,1)のノードは、2分木の深さ(s+1)の第(2×ps −1)番目のノードの第0ビット出力から第(m−s)ビット出力をそれぞれ下位の第0ビット入力から第(m−s)ビット入力とし、2分木の深さ(s+1)の第(2×ps )番目のノードの第0ビット出力から第(m−s)ビット出力をそれぞれ上位の第0ビット入力から第(m−s)ビット入力とし、下位の第(m−s)ビット入力及び上位の第(m−s)ビット入力の論理和をとって第(m−s+1)ビット出力として出力する論理和ゲート回路と、上位の第(m−s)ビット入力の否定をとって第(m−s)ビット出力として出力する否定論理ゲート回路と、(m−s+1)個のセレクタとを具備し、下位から第q番目(q=1〜m−s+1)のセレクタは、上位の第(m−s)ビットを選択入力とし、該選択入力が”1”のときに上位の第(q−1)ビット入力を、該選択入力が”0”のときに下位の第(q−1)ビット入力をそれぞれ選択して第(q−1)ビット出力として出力するものである。尚、実際には、スタティックCMOS論理で実現するような場合には、図19の構成に対して、更に極性最適化が行われる場合もある。
【0310】
3.3 不確定符号2分木の2進数論理回路への適用の効果
不確定符号2分木の2進数論理回路への適用の効果として、先ず第1に、「順序依存性のある判断の系列構造」の定義によるものがある。信号伝搬遅延時間が入力のビット幅に比例するという性質を持つシーケンシャルな論理回路を、2分木状の高速な論理回路に変換するためには、最初に、シーケンシャルな論理回路に存在する「順序依存性のある判断の系列構造」を見出す必要がある。「順序依存性のある判断の系列構造」の定義によって、その論理回路設計者は、シーケンシャルな論理回路の中に、「依存入出力を持つ判断ノード」を見い出すことが可能となる。
【0311】
第2に、「不確定符号2分木」そのものの定義と、この2分木の構成要素である「依存入出力を持たない判断ノード」及び「上位優先決定ノード」の定義によるものがある。不確定符号2分木は、その高さが判断ノードの個数Nの対数(log2 N)に比例する。不確定符号2分木構造を論理回路に応用することによって、シーケンシャルな論理回路よりも確実に高速な演算器を実現することができる。また、「依存入出力を持たない判断ノード」及び「上位優先決定ノード」の定義によって、その論理回路設計者は、判断ノード及び上位優先決定ノードの論理回路を導き、正しく組み合わせることができ、高速な2分木状の論理回路を実現できる。
【0312】
第3に、「順序依存のある判断の系列構造」を「不確定符号2分木」に変換する方法、即ち「構造変換原理」によるものがある。論理回路設計者が順序的思考に基づいて作り出した論理回路は、「順序依存性のある判断の系列構造」であることが多い。このような論理回路は、信号伝搬遅延が入力ビット幅数に比例し、低速であるという問題点を持っている。これに対し、「不確定符号2分木」の構造で作られた論理回路は、信号伝搬遅延が入力ビット幅数の対数に比例し、高速であるという利点を持っている。「構造変換原理」によって、その論理回路設計者は、低速な「順序依存性のある判断の系列構造」を、高速な「不確定符号2分木」に変換することができるようになる。
【0313】
第4に、構造変換原理によって導かれた、プライオリティエンコーダの機能を持つ不確定符号2分木によるものがある。従来のプライオリティエンコーダは、順序依存性のある判断の系列構造を持つため、低速であるという欠点を持っていたが、本発明によるプライオリティエンコーダは、不確定符号2分木で作られているため高速である。プライオリティエンコーダの機能を持つ不確定符号2分木は、具体的な論理回路ではなく、抽象的な構造図であり、従ってこれを、論理回路以外の実現主体(機械(アレイプロセッサの構成)やコンピュータプログラム等)にも適応することが可能である。例えばこの構造を、並列コンピュータのプログラムとして実現した場合、これは、高速な調停プログラムになる。
【0314】
第5に、不確定符号2分木による高速プライオリティエンコーダの論理回路によるものがある。従来のプライオリティエンコーダの論理回路では、信号伝搬遅延が入力ビット幅数に比例するため、多入力ビットでは、高速動作は不可能である。本発明のプライオリティエンコーダの論理回路では、信号伝搬遅延が入力ビット幅数の対数に比例するため、多入力ビットでも、高速動作が可能である。
【0315】
また、従来の技術で説明した、特開平8−147142号公報において、高さm=3の2分木でモデル化された8ビットプライオリティエンコーダの構成(図22参照)と、第2実施例に係る高さm=3の2分木でモデル化された8ビットプライオリティエンコーダの構成(図19参照)とを対比すれば、第1に、従来の各2分木のノードに含まれている論理積ゲート回路及び論理和ゲート回路が第2実施例の各2分木のノードに含まれている論理和ゲート回路及び否定論理ゲート回路に相当しており、回路構成がより簡単化されている点で、また第2に、従来の論理積ゲート回路の入力段に反転信号を必要とするのに対して第2実施例では不要であることから、ゲート数及び信号伝搬遅延の点で、それぞれ第2実施例による8ビットプライオリティエンコーダの構成が優れていると結論付けられる。
【0316】
尚、今後も、マイクロプロセッサの機能ユニット数は増加し、動作周波数も向上していくのは確実である。このような背景にあっては、本発明のプライオリティエンコーダの利用価値は非常に高い、といえる。
【0317】
[4] 順序依存性のある判断の系列
4.1 序
この章では、本発明の基本的概念「3値符号2分木」について説明する。本発明の本質は、並列処理不可能な順序依存性のある判断の系列を、並列処理可能な3値符号2分木に変換する手法にある。該手法の応用範囲は広く、2進数の比較器、加算器、減算器、或いは差の絶対値演算器に留まらず、任意のN進数における高速比較器、高速加算器、高速減算器、或いは高速な差の絶対値演算器等を導くことが可能である。また、比較、加算、減算、或いは差の絶対値演算という演算に限らず、次節で述べるような「順序依存性のある判断の系列」という構造を持つ問題の全てに適応可能である。
【0318】
4.2 順序依存性のある判断の系列
4.2.1 比較の場合
人間が2つの数の大小を考える場合、どのような思考過程をたどるのだろうか。ここで、桁数は同じと仮定する。2つの数の例として、10進数の2つの数
X=3141, Y=3150
の比較を考える。便宜上、「X>Yですか?」という質問に対して、
X>Yなら「Yes」,X<Yなら「No」,X=Yなら「どちらでもない」
と答える形式とする。
【0319】
一般に、人間が2数の比較を考えるとすれば、以下のような順序で思考するに違いない。尚、計算機で引き算をして正負を見る、と意見する人は次のように考えてほしい。「10億桁の2数の比較に際し、1桁の桁落ちも許されない。」と。
【0320】
ステップSC1:最上位桁(千の位)の数字を比較する。具体例では、同じ数値”3”なので答えが出せない。即ち、どちらともいえない。つまり、答えは1つ下の桁に依存する。従って、1つ下の桁を見てみる。
ステップSC2:百の位の数字を比較する。具体例では、同じ数値”1”なので答えが出せない(どちらともいえない)。つまり、答えは1つ下の桁に依存する。従って、1つ下の桁を見てみる。
ステップSC3:十の位の数字を比較する。具体例では、数値X=4,Y=5であるのでYの数値が大きい。だから答えは”No”である。この結果は、ここより下の桁の結果に依存しない。
ステップSC4:最終結論を得る。具体例では”No”であるので、最終結論”X<Y”を得る。
【0321】
普通の人は、先ず最上位の桁(具体例では千の位)にある数字を見て、その桁のみの数字で大小を判定するであろう。ここで大小の決着が付くならば、即座に結論を出すことができる。もし同じ数値であった場合には、1つ下の桁(百の位)を見て、そこで判断をする必要がある。百の位においてもまだ同じ数値であった場合には、更に1つ下の桁(十の位)を見て判断する必要がある。この例では、十の位まで見て初めて結論を下すことができる。もちろん一の位を見る必要はない。
【0322】
本具体例で、十の位を先に見ても正しい結論を出すことができるからといって、任意の数の組み合わせにおいて、千・百の位を見る前に先立って、十の位を見ただけで結論を出すことはできない。即ち、判断の順序には依存関係が存在する。
【0323】
このことを図式的に表したのが図20である。これは有向グラフであるので、”判断”或いは”結論”と書かれた丸は1つのノードと見なされる。”判断”と書かれたノードは”結論”と書かれたノードに対してYesまたはNoで答える。しかし、与えられた入力だけではYesまたはNoとも判断が付かない場合には、従属する判断ノードに依頼する。従属する判断ノードは主(あるじ)たる判断ノードから依頼があるまでは勝手に自己で結論を下すことはしない。
【0324】
一般に、論理的な人間が行う比較の判断は、図20に示すように順序的である。このような順序的方法を模して、ソフトウェアによる比較プログラムやハードウェアによる比較器を構成した場合、比較する数の桁に比例して、処理または演算の手間(時間)は増えていく。何故なら、個々の判断は順序に依存するため同時にできないからである。例えば、被演算数が30桁の場合、最悪30回の過程を経なければ結論は得られないことになる。
【0325】
4.2.2 加算の桁上げの場合
別の具体例として、今度は人間が2つの数の和を求める場合を考える。ここでは、10進数の2つの数
X=1236, Y=2756
の和の千の位を求める場合を想定しよう。図21の説明図に示すように、明らかに、和の千の位は”3”か”4”のどちらかである。即ち、千の位の数字同士を足せば明らかに”3”である。また、ここに百の位からの桁上げがあれば”4”となる。つまり、和を求める場合の明示的でない情報というのは桁上げであり、桁上げが発生するか否かを考えることこそ、加算の思考の本質に他ならない。従って、「X+Yの結果、百の位から千の位へ桁上げが発生しますか?」という質問に対して、発生するなら「Yes」、発生しないなら「No」と答える形式を定めることができる。この場合「どちらでもない。」という答えは有り得ない。即ち、以下のような順序で思考すると考えられる。
【0326】
ステップSA1.百の位から千の位への桁上がりは、すぐには答えられない。
何故なら、百の位の数字を足すと”9”になるからである。もし十の位からの桁上がりがあれば、百の位から千の位への桁上がりも起こる。しかし、十の位からの桁上がりが無ければ、百の位から千の位への桁上がりも起こらない。従って百の位を見ただけでは答えられない。
答えは1つ下の桁(十の位)に依存する。
ステップSA2.十の位から百の位への桁上がりは、1つ下の桁(一の位)がどうであっても、絶対”0”である。何故なら、十の位の数字を足すと”8”であり、一の位で桁上がりが発生したとしても、十の位はそれを吸収してしまうからである。
ステップSA3.結論…千の位への桁上がりはない。即ち”No”である。
ちなみに、一の位から十の位への桁上がりは、絶対に”1”である。比較の場合と同じく、”判断”及び”結論”のノードを備えた有向グラフにより、この思考の過程を表すと図22に示すようになる。やはり比較の場合と同様に、順序依存性のある判断の系列という構造が見受けられる。
【0327】
4.2.3 減算の桁借り場合
更に、別の具体例として、人間が2つの数の差を求める場合を考える。例えば、図23に示すような10進数の2つの数(X=3141,Y=2139)の減算(X−Y)の場合で、差の千の位を求める時の判断の過程を考える。この場合、明らかに千の位は”1”か”0”のどちらかである。千の位の数字のみで差を求めれば”1”であり、百の位からの桁借りがあれば”0”となる。つまり、1つ下の位から桁借りが起こるか否かが明示的でない。加算における思考の本質が桁上げであるのと同様に、減算における思考の本質は桁借りであるといえる。この例の場合の桁借りが起こるか否かを判断する過程は以下のようになる。
【0328】
ステップSS1.百の位から千の位への桁借りは、すぐには答えられない。
何故なら、百の位の数字の差は”0”になるからである。
もし十の位からの桁借りがあれば、百の位から千の位への桁借りも起こる。
しかし、十の位からの桁借りが無ければ、
百の位から千の位への桁借りも起こらない。
従って百の位を見ただけでは答えられない。
答えは1つ下の桁(十の位)に依存する。
ステップSS2.十の位から百の位への桁借りは、
1つ下の桁(一の位)がどうであっても、絶対に起こらない。
何故なら、十の位の数字の差は1であり一の位で桁借りが起こったとしても、十の位はそれを伝えないからである。
ステップSS3.結論…千の位への桁借りはない。即ち”No”である。
【0329】
4.2.4 順序依存性のある判断の系列という構造
以上のように、比較を考える場合も、加算の桁上げを考える場合にも、順序依存性のある判断の系列という構造が共通して存在している。また、桁借りが起こるか否かを判断する過程を図示すれば図24に示す如くである。同図に示されるように、減算を考える場合に、桁借りが起こるか否か判断する過程が順序依存性のある系列構造であることが明らかである。このような構造が備える特筆すべき性質は、順序依存性のため複数の判断を同時に行うことができないことである。
【0330】
つまり、「依存」の入力を持つ判断ノードは、主(あるじ)たる判断ノードから「おまえに依存するので判断してくれ。」と指示されるまで、動作しない。即ち、個々の判断ノードは、自身の入力(X,Y)のみから独自の結論(Yes/No)を出すことはできない。そして、これら全ての判断ノードは依存の入出力でひと続きにつながっている。従って、同時に複数の判断を行うことは許されない。即ち、順序依存性のある判断の系列という構造では、複数の判断の並列処理は不可能である。
【0331】
[5] 3値符号2分木
5.1 新しい機能の導入
前章の考察により、順序依存性のある判断の系列という構造では、複数の判断を並列して処理することができないという結論が出された。並列処理を可能にするためには、新しい機能を導入しなければならない。
【0332】
まず、判断ノードから依存の入出力を削除する。そして、これまで「Yes」または「No」の2通りの答え方しか許されなかった判断ノードに、3つめの答え方「どちらともいえない,わからない」を許すことにする。この曖昧な答え方に”Q”という記号表現を当てる。従って、新たな判断ノードは、図25(a)に示すような、3値の符号{Y,N,Q}を出力することになる。
【0333】
また、2つの判断ノードによる判断結果を入力として、どちらか1つを選択決定し出力する、上位優先決定の機能を導入する。図25(b)は該機能を実現する上位優先決定ノードの説明図である。前節(順序依存性のある判断の系列)で説明したように、入力データ(X,Y)には順序の系列が存在し、順位の上位/下位が明示的に定義されている。従って、このような入力データ(X,Y)から得られた判断ノードの判断結果にも、順位の上位/下位が暗黙の内に含まれている。従って、2つの判断ノードによる判断結果を入力とする上位優先決定ノードの機能も、一方は上位の入力、もう一方は下位の入力として定められる。上位優先決定ノードの上位入力に、Yes/Noというはっきりした判断結果が与えられた場合には、上位の判断結果が選ばれ、上位優先決定ノードの出力は上位の入力と同一となる。また、上位の入力に”Q”という曖昧な判断結果が与えられた場合のみ、下位の判断結果が選ばれ、上位優先決定ノードの出力は下位の入力と同一となる。
【0334】
以上のような、3値の符号{Y,N,Q}を出力する判断ノードを「葉(leaf)」とし、上位優先決定ノードを「ノード(node)」として、図25(c)に示す如く構成される2分木(binary tree )を、「3値符号2分木」と定義する。
【0335】
5.2 3値符号2分木
前項で定義した3値符号2分木は、複数ある判断がそれぞれ独立に行われる。即ち、複数の判断を同時に行うことができる。何故なら、判断ノードはもはや依存の入出力を持たないからである。この為、他の判断の結果に依存することなく、入力データが与えられた時点で判断結果を出力することが可能である。また、複数の暫定的な判断結果は、上位優先決定ノードの機能によって1つにまとめあげられる。ただ1つに導かれる最終的な結論の正しさは、帰納法により証明することができる。3値符号2分木は、順序依存性のある判断を並列に処理する方法であるといえる。
【0336】
5.3 K演算子の定義と代数的性質
上位優先決定ノードは、2つの符号(∈{Y,N,Q})から1つの符号(∈{Y,N,Q})を導く。これは代数的に閉じており、演算子としての性質を持っている。従って、上位優先決定ノードの機能を代数的に取り扱えるよう演算子として定義し、「K演算子」と名付ける。
【0337】
通常の演算子の定義に習って、K演算子の定義を図26(a)に示すような図表で表す。図26(a)において、「H側」とは上位入力側のことであり、「L側」とは下位入力のことである。H側が”Q”という曖昧な場合は、L側の入力がそのまま出力される。また、H側がYes/Noというはっきりしたものである場合は、L側が何であってもH側の入力がそのまま出力される。
【0338】
ここで、3値符号とK演算子で作られる系の抽象代数的性質について考察を加える。先ず、群であるためには、以下の3つの条件を満たせばよい。:
1.結合則を満たす。 2.単位元が存在する。 3.逆元が存在する。
【0339】
1.K演算子は、以下の如く結合則を満たす。
(YKN)KQ=YK(NKQ)=Y
(YKQ)KN=YK(QKN)=Y
(QKY)KN=QK(YKN)=Y
(YKN)KY=YK(NKY)=Y
【0340】
2.以下の如く、Qが単位元である。
YKQ=QKY=Y
NKQ=QKN=N
QKQ=QKQ=Q
【0341】
3.逆元が存在しない。
YKZ=Q 且つ NKZ=Q を満たすZ(∈{Y,N,Q})
は存在しない。言い替えれば、逆演算が存在しない。
従って、群ではない。また、群であるか否かということとは別に、K演算子は可換でないという性質も持っている。
【0342】
まとめると、3値符号とK演算子で作られる系というものは、可換でなく、逆演算が存在しない不可逆な演算過程であるといえる。但し、結合則が成り立つことから、3値符号2分木が導き出す結論が正しいことを直接証明することができる。
【0343】
[6] 3値符号2分木の2進数論理回路への応用
6.1 3値符号2分木の1例
6.1.1 3値符号の2進数表現
3値符号2分木を2進数論理回路で実現すると、2進数の比較器或いは桁上げ生成器を応用した2進数の加算器を構成することができる。その為には3値符号を2進数で表現する必要がある。当然、最低2ビット必要である。
【0344】
符号は3種類であるのに対し、2ビットの2進数は4通りの表現がある。3つの符号に4通りの表現を割り当てる組み合わせは、後述するように、60通り存在する。例として、ここではその中の1つである
{00,01,11,10}={Q,Q,Y,N} …(1)
という割り当て方を採用する。Qに{00}と{01}という2通りの表現の割り当てがなされている。これはQ={0*}という表現を意味している。”*”はドントケアで、”0”でも”1”でもどちらでも良い、という意味である。
【0345】
6.1.2 K演算子の論理関数
図26(a)よりK演算子の入出力の関係が定義され、(1)式により3値符号の2進数表現が与えられた。従って、K演算子を実現する(2値の)論理関数が次式の如く導かれる(図26(b)参照)。
【0346】
即ち、上位の判断結果に起因する符号Ti ∈{Y,N,Q}及び下位の判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子は、任意の符号Xが、”Y”を{11}、”N”を{10}、”Q”を{0*}とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、
として与えられる。
【0347】
(2)式を「{00,01,11,10}={Q,Q,Y,N}割り当てにおけるK論理関数」と定義する。そして、図26(c),(d)に示すように、この(2)式からK論理関数を実現する論理回路(K論理回路)を導くことができる。
【0348】
即ち、図26(d)において、K論理回路KLは、符号Ti,1 及び符号Tj,1 の論理和をとって符号Tij,1として出力する論理和ゲート回路GO1と、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択して符号Tij,0として出力するセレクタ(選択手段)SL1とを有して構成される。尚、3値符号の2進数表現の割り当て方が異なれば、K論理関数も変わり、K論理回路も変わる。
【0349】
〔第3実施例〕
6.2 比較器の実施例
6.2.1 比較の3値符号生成
前節で導いたK論理回路は、3値符号2分木の概念図(図25参照)における上位優先決定機能のノードに相当する。従って、概念図上の判断ノードも論理回路で実現すれば、2進数の比較を行う論理回路を作ることができる。
【0350】
比較における判断の内容は、「1.2.1 比較の場合」で述べた比較の判断に、若干の修正を加えることによって得られる。
比較の3値符号生成質問:「同位桁の2数の差(Xi−Yi)を取った場合、
正になりますか(即ち、Xi>Yi)(Yes)?、
負になりますか(即ち、Xi<Yi )(No)?
0ですか(Xi =Yi)(Q)?」
【0351】
この比較の3値符号生成質問を2進数に当てはめると、図27(a)に示すような論理関数の真理値表が得られ、更に、論理関数
Ti,1 =Xi(+) Yi
Ti,0 =Xi …(3)
を得る。尚、比較の3値符号生成質問は2進数に限らず、任意のN進数に適応可能である。
【0352】
従って(3)式より、比較器の入力段となる比較の3値符号生成回路は図27(b)に示す如くなる。図27(b)において、比較の3値符号生成回路CGCは、桁値Xi及び桁値Yiの排他的論理和をとって符号Ti,1 として出力する排他的論理和ゲート回路GXO1と、桁値Xiを符号Ti,0 として出力する接続線SGN1とを有して構成される。
【0353】
6.2.2 比較器の全体構成
次に、比較の3値符号生成回路CGCを葉(入力段)とし、K論理回路KLを構成要素として2分木を形成すると、図28に示すような構造の論理回路となる。これは図25(c)に示した3値符号2分木の概念構造そのものに他ならない。即ち、図28は、3値符号2分木を2進数論理回路で実現した場合の一般的な構造であって、8ビットの場合を示している。
【0354】
つまり、順序依存性のある判断の系列を含む問題を解く演算装置では、判断ノードとしての比較の3値符号生成回路CGC0〜CGC7と、上位優先決定ノードとしてのK論理回路KL11,KL21,KL22,KL31〜KL34とを有して構成し、比較の3値符号生成回路CGC0〜CGC7を葉、K論理回路KL11,KL21,KL22,KL31〜KL34を葉以外の他のノードとした3値符号2分木で該問題をモデル化している。尚、葉となる比較の3値符号生成回路CGC0〜CGC7、並びに、3値符号2分木において同じ深さにあるK論理回路KL11、K論理回路KL21,KL22及びK論理回路KL31〜KL34は、それぞれ同時に実行される。
【0355】
一般的に、順序依存性のある判断の系列における判断がn個であるときには、3値符号2分木は、葉となる比較の3値符号生成回路CGC(判断ノード)をn個有し、該3値符号2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木は、深さmのノードとなるK論理回路(上位優先決定ノード)をNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなるK論理回路をNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有することとなる。
【0356】
3値符号生成回路に比較の3値符号生成回路CGCを入力段として用いると2進数の比較器となる。ここでは、符号無し8ビットの比較器の構成図を図29に示す。
【0357】
図29において、比較の3値符号生成回路CGC0〜CGC7は、図27(b)に示した排他的論理和ゲート回路GXO1及び接続線SGN1を備えた構成で、またK論理回路KL11,KL21,KL22,KL31〜KL34は、図26(d)に示した論理和ゲート回路GO1及びセレクタSL1を備えた構成で、それぞれ実現されている。
【0358】
比較結果は2分木の「根(root)」であるK論理回路KL11の出力T70(T70,1,T70,0の2ビット)を解釈することで得られる。即ち、
T70={0*}なら符号Qを表しX=Yであり、
T70={10}なら符号Nを表しX<Yであり、
T70={11}なら符号Yを表しX>Yである。
【0359】
次に、2の補数を用いた符号付き2進数の比較器は、符号無しの比較器を用いて実に驚くべき簡単な方法で実現できる。それはXとYの最上位ビット(MSB)を交換して比較の3値符号生成回路に入力すれば良いだけである。図29の構成に対してこのことを適用したものが図30である。図30は2の補数を用いた符号付き2進数の比較器の構成図を示す。即ち、本来、図27(b)に定義した比較の3値符号生成回路CGCでは入力端子の上側をX、下側をYとしているが、図30の符号付き2進数比較器では、MSBを除く全ての比較の3値符号生成回路CGC0〜CGC6については、入力を図27(b)の定義のままに接続し、MSBの比較の3値符号生成回路CGC7’に限っては、図27(b)の定義とは逆の接続としてX7を下側、Y7を上側に入力している。
【0360】
何故、たったこれだけの処置で符号無し2進数比較器を符号有り2進数論理回路に変換することができるのか。それは、3値符号2分木の概念によって簡単に説明できる。符号有り2進数のMSBはその数の正負を表現している。MSBが”0”ならば正、”1”ならば負である。今、我々は、(X>Y)ならば”Y”、(X<Y)ならば”N”、(X=Y)ならば”Q”という3値符号を生成するよう各ビットの入力段に規定した。MSBにおいては(0(正)>1(負))であることに注意して、3値符号生成の真理値表を作ると図31に示すようになる。
【0361】
これは、通常の比較の3値符号生成において、XとYを交換した場合に他ならない。MSBが同じである場合には、残りの入力ビットを符号無し2進数と見なして比較すればよい。このことは2の補数の性質から明らかである。
【0362】
次に、実際の論理回路の設計においては、CMOS論理回路の性質を考慮し、極性最適化という技法が用いられる。ここで、「極性最適化」とは、正論理入力・正論理出力の論理回路が多段に縦属接続されている構造を、正論理入力・負論理出力の段(PN段)と負論理入力・正論理出力の段(NP段)が交互に縦属接続される構造に変換する技法である。この極性最適化の技法を用いることによって、冗長なトランジスタを削減し、トランジスタ数・動作速度を改善できる。
【0363】
ここに示した本実施例の比較器にも極性最適化を行うことができる。即ち、正論理入力・正論理出力のK論理回路KLに極性最適化を行って、図32(a)に示す正論理入力・負論理出力のK論理回路KLPNと図32(b)に示す負論理入力・正論理出力のK論理回路KLNPを得る。
【0364】
図32(a)において、正論理入力・負論理出力のK論理回路KLPNは、符号Ti,1 及び符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和ゲート回路GNO1と、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力するセレクタ(第2選択手段)SL2とを備えて構成されている。
【0365】
図32(b)において、負論理入力・正論理出力のK論理回路KLNPは、符号^Ti,1 及び符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積ゲート回路GNA1と、符号^Ti,1 が”0”をとるとき符号^Ti,0 を、符号^Ti,1 が”1”をとるとき符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力するセレクタ(第3選択手段)SL3とを備えて構成されている。
【0366】
これら正論理入力・負論理出力のK論理回路KLPN及び負論理入力・正論理出力のK論理回路KLNPを用いて、図33に示すような極性最適化された比較器を得る。これをnビットの比較器に適用すると、以下の如くなる。即ち、2分木の葉(3値符号生成回路)を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなるK論理回路をNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなるK論理回路をNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有するときに、部分2分木の深さm−p(pはp=0〜m−1の偶数)のノードはK論理回路KLNPで、部分2分木の深さm−q(qはq=1〜m−1の奇数)のノードはK論理回路KLPNで、それぞれ構成され、mが偶数の場合には、2分木の根となるK論理回路KLNPの出力がQ={0*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={11}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={10}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈し、mが奇数の場合には、2分木の根となるK論理回路KLPNの出力がQ={1*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={00}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={01}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈する。
【0367】
尚、実際の構成としては、最終出力の後に更に適切なデコード回路を付加し、3ビットの出力端子{GT(Greater Than),LT(Less Than ),EQ(EQual )}を設ける場合もある。
【0368】
以上のように、本実施例の比較器では、8ビット2進数(X,Y)の比較において、比較の3値符号生成回路(判断ノード)CGCを排他的論理和ゲート回路GXO1及び接続線SGN1で実現して、2分木の葉となる該3値符号生成回路により比較における3値符号を生成するよう構成することで、2進数の比較器を実現できる。また、{00,01,11,10}={Q,Q,Y,N}割り当てにおけるK論理回路KLを、符号Tij,1を出力する論理和ゲート回路GO1及び符号Tij,0を出力するセレクタSL1で実現する。これにより、本実施例による符号無し2進数を比較する比較器は、従来の2分木状の比較器に対し、単純で高速化に有利である。何故なら、本実施例の比較器は複合論理ゲート回路(或いは複合論理ゲート回路の論理関数)を持たず、複合論理ゲート回路の不利な側面を持っていないからである。また、3値符号を生成する入力段の比較の3値符号生成回路CGCの回路構造も単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0369】
また、本実施例の比較器では、符号有り8ビット2進数における2数(X,Y)の比較において、2数のMSBについての比較判断を行う比較の3値符号生成回路CGCは、桁値X7を桁値Y7として、桁値Y7を桁値X7としてそれぞれ扱うという簡単な交換によって符号無し2進数比較器を符号有り2進数比較器に変換でき、符号判定回路を必要としない符号有り2進数比較器を実現できる。従って、本実施例の符号有り2進数比較器は、従来の符号有り2進数比較器に比べて符号判定回路が無い分、遅延が小さい。
【0370】
〔第4実施例〕
6.3 加算器の実施例
6.3.1 和の3値符号生成
次に、桁上げが起こるか否かを判定する3値符号2分木を形成するには、「1.2.2 加算の桁上げの場合」で述べた判断の内容をもとに、和の3値符号生成質問を以下の如く定義すれば良い。
【0371】
和の3値符号生成質問(R進数の場合):
「同位桁の2数の和(Xi+Yi)は、R以上になりますか
(10進数なら10以上。即ち、絶対に桁上げが起こる。)(Yes)?、
(R−2)以下になりますか
(10進数なら8以下。即ち、絶対に桁上げは起こらない。 )(No)?、
(R−1)になりますか
(10進数なら9。即ち、桁上げが起こるか否かは1つ下の桁の結果に依存する。)(Q)?」
【0372】
この和の3値符号生成質問を2進数に当てはめると、図34(a)に示すような論理関数の真理値表を得て、論理関数
Ti,1 =^(Xi(+) Yi)
Ti,0 =Xi 又は Ti,0 =Yi …(4)
を得る。ここで、”^”は続く論理変数の反転を意味する論理演算子である。従って、(4)式より、加算器の入力段となる和の3値符号生成回路は、図34(b)に示す如くなる。
【0373】
即ち、図34(b)において、加算器の入力段となる判断ノードは、桁値Xi及び桁値Yiの排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和ゲート回路GNX1と、桁値Xiを符号Ti,0 として出力する接続線SGA1とを備えた和の3値符号生成回路CGAか、或いは、排他的否定論理和ゲート回路GNX1と、桁値Yiを符号Ti,0 として出力する接続線SGA2とを有する備えた和の3値符号生成回路CGA’によって実現される。
【0374】
6.3.2 ビット0の確定的性質
「1.2.2 加算の桁上げの場合」で述べたように、桁上げが起こるか否か?という質問に対し、最終結論で「依存するので分からない。」と答えることは有りえない。何故なら、ビット0には確定的な性質があり、答えが必ず”Yes”か”No”のどちらかになるからである。ビット0においては、下位桁に対する依存性はない。依存しないので分からないはずはなく、”Q”と答えることはない。これに基づいたビット0の3値符号生成の真理値表を図35(a)に示す。ここで、Cinは外部からの桁上げ入力である。
【0375】
真理値表から、符号T0,1 が常に”1”となっていることが明らかである。このような入力に関わらず常に一定の値を取る出力は削除することができる。この結果として得られる、ビット0の和の3値符号生成回路CGA0を図35(b)に示す。
【0376】
図35(b)において、ビット0の和の3値符号生成回路CGA0は、桁値X0及び桁値Y0の否定論理和をとる否定論理和ゲート回路GNO2と、桁値X0及び桁値Y0の否定論理積をとる否定論理積ゲート回路GNA2と、当該加算器への桁上げ入力Cinが”1”をとるとき否定論理和ゲート回路GNO2の出力を、該桁上げ入力Cinが”0”をとるとき否定論理積ゲート回路GNA2の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力するセレクタ(選択手段)SL4とを有して構成され、符号T0,1 を出力しない。
【0377】
また、符号T0,1 が常に”1”であることを利用して、K論理回路KLの冗長な論理を削除することができる。加算器における削除前のK論理回路の2分木を図36(a)に示す。常に”1”となる信号(図中、太線)が次々と伝搬していくことが分かる。このような常に一定の値を取る経路上の論理は、削除しても差し支えない。従って、図36(b)に示すように、冗長な論理を削除し、単純化されたK論理回路KLRを用いた2分木を得る。
【0378】
図36(b)において、K論理回路の内、2数のLSBについての桁上げの存否判断を行う和の3値符号生成回路CGA0が本来出力すべき符号T0,1 に起因するK論理回路は、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択して符号Tij,0として出力するセレクタ(選択手段)SL5を備えた単純化したK論理回路KLRによって実現され、符号Tij,1を出力しない。尚、2分木の根となるK論理回路KLRの出力符号が”1”ならば「桁上げ出力有り」と、該出力符号が”0”ならば「桁上げ出力無し」と、それぞれ解釈される。
【0379】
以上のような論理を削除する行為が妥当であることは、以下の例え話しで直観的に理解されるだろう。「的中率90%以上を誇る、どんな時にも晴れの予報しか出さない天気予報屋がある。人々はこの天気予報屋のいうことに耳を傾けるだろうか? …晴れとしかいわないことが分かっているから、誰も聞く耳を持つまい。」
【0380】
6.3.3 桁上げ生成2分木の構成
(桁上げ生成2分木の場合)
和の3値符号生成回路CGAを葉とし、K論理回路KLまたはKLRを構成要素として形成される2分木によって、桁上げを生成する2分木を実現できる。具体例として、8ビットの場合を図37に示す。ビット0からの信号が伝搬するK論理回路は単純化されたK論理回路KLRである。また、単純化されたK論理回路KLRの出力は1ビットである。
【0381】
図37において、8ビット2進数(X,Y)の加算器は、判断ノードとしての和の3値符号生成回路CGA0〜CGA7と、上位優先決定ノードとしてのK論理回路KLR11o,KL21o,KLR22o,KL31o〜KL33o,KLR34oとを有して構成し、和の3値符号生成回路CGC0〜CGC7を葉、K論理回路KLR11o,KL21o,KLR22o,KL31o〜KL33o,KLR34oを葉以外の他のノードとした3値符号2分木で問題をモデル化している。尚、葉となる和の3値符号生成回路CGA0〜CGA7、並びに、2分木において同じ深さにあるK論理回路KLR11o、K論理回路KL21o,KLR22o及びK論理回路KL31o〜KL33o,KLR34oは、それぞれ同時に実行する。
【0382】
図37の具体例では、8ビットの2数の加算で生じる桁上げ信号Cout(外部出力)を生成する2分木を示した。一般に、ビットnへの桁上げ信号を生成するにはビット(n−1)からビット0までを範囲とする2分木が必要となる。尚、図37の構成についても、その変形として、極性の最適化を図った構成とすることができる。
【0383】
(和の生成)
最終的な和の生成は、同位桁の和((Xi+Yi)mod 2)(i=0〜7)に、ビット(i−1)からビットiへの桁上げCiを加えることによって得られる。例として和のビット7を求める回路を図38に示す。
【0384】
ビット7の和出力S7は同位桁の和(X7+Y7)に、ビット6からビット7への桁上げC7を加えることによって得られる。
【0385】
ビット6からビット7への桁上げC7はビット6からビット0までを範囲とする2分木によって生成される。この2分木の出力とX7(+) Y7との排他的論理和(EXOR)を取ることにより、最終的なビット7の和出力S7が得られる。
【0386】
図38において、ビット7の和出力S7を求める構成は、LSBについての桁上げの存否判断を行う判断ノードとしての和の3値符号生成回路CGA0と、2数の各桁Xk,Yk(k=1〜6)についての桁上げの存否判断を行う判断ノードとしての和の3値符号生成回路CGA1〜CGA6と、MSBの判断ノードとしての和の3値符号生成回路CGA7とを有し、2分木を、2数の各桁Xaj ,Ybj (j=0〜6)についての和の3値符号生成回路(判断ノード)CGA0〜CGA6を葉として構成し、K論理回路の内、和の3値符号生成回路CGA0が本来出力すべき符号T0,1 に起因するK論理回路はK論理回路KL(KL217,KL317,KL327,KL337)とし、該符号T0,1 に起因しないK論理回路は単純化したK論理回路KLR(KLR117,KLR227)として構成し、和の3値符号生成回路CGA7の出力符号T7,1 の否定論理ゲート回路GN1による否定と、2分木の根となるK論理回路KLR117の出力符号T60,0との排他的論理和をとって、MSBについての和の結果S7とする排他的論理和ゲート回路GXO2を有して構成されている。尚、ここで用いた2分木は葉の数が2の累乗でないので、ダミーノードKLD347が挿入されている。また、本構成についても、その変形として、極性の最適化を図った構成とすることができる。更に、否定論理ゲート回路GN1及び排他的論理和ゲート回路GX02の構成は、1個の排他的否定論理和ゲート回路に置き換えることができる。
【0387】
この3値符号2分木の優れた特徴として、X7(+) Y7の排他的論理和演算が3値符号生成の内に含まれていることが挙げられる。3値符号生成ではX7(+) Y7の反転形が出力されるが、これは容易に非反転形にすることができる。但し、この性質が得られるのは{00,01,11,10}={Q,Q,Y,N}割り当てにおける3値符号生成の場合である。
【0388】
一般に3値符号の表現の割り当て方を変えれば、3値符号生成回路の構成も変わる。従って、和の生成を行う論理回路もそれに応じた適切なものを用いる必要がある。但し、2分木の構造自体に変化はない。
【0389】
以上のように、本実施例の加算器では、8ビット2進数(X,Y)の加算において、和の3値符号生成回路(判断ノード)CGAを排他的否定論理和ゲート回路GNX1及び接続線SGA1またはSGA2により実現し、2分木の葉となる和の3値符号生成回路CGAにより加算における3値符号を生成するよう構成することで、2進数加算器の桁上げ先見回路を実現できる。
【0390】
また、本実施例の8ビット2進加算を行う加算器では、LSB(ビット0)について確定的な性質を利用して、LSBの桁上げ存否判断を行う和の3値符号生成回路CGA0について桁上げ入力Cinを反映させるように構成することで、後段に続くK値論理回路の2分木構造を単純化させることができ、従来のBLC加算器のように第−1行目を持つことなく、従来のBLC加算器よりも1行少ないBLCアレイを構成できる。これはゲート数・面積の点で優れている。また、K論理関数を具現するK値論理回路の2分木においても、セレクタのみによる単純化された構成のK値論理回路KLRを備えることによって、論理的に冗長な回路を削除することができ、トランジスタ数の少ない2分木を形成することが可能である。更に、本実施例による8ビット2進加算器では、複合論理ゲート回路(或いは複合論理ゲート回路の論理関数)を持たず、複合論理ゲート回路の不利な側面を持っていないことから、従来の加算器に比較して単純で高速化に有利である。また、3値符号を生成する和の3値符号生成回路CGAも単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0391】
また、本実施例の8ビット2進加算器では、{00,01,11,10」={Q,Q,Y,N}割り当てにおけるK論理回路の2分木を用いた場合、各桁Xj,Yj(j=1〜n−2)についての桁上げの存否判断を行う判断ノードに、桁値Xj及び桁値Yjの排他的否定論理和をとって符号Tj,1 として出力する排他的否定論理和ゲート回路GNX1を含んでいることから、該出力符号Tj,1 を反転するのみで各桁(Xj,Yj)についての排他的論理和を得て、より簡単な構成で和を生成することが可能である。また、3値符号を生成する判断ノードの論理構造自体も単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0392】
(桁上げ生成2分木の全体構成:BLCアレイ)
次に、ビット7への桁上げを生成する2分木を形成したのと同様に、各ビットへの桁上げを生成する2分木を各ビット毎に形成し、重ね合せると図39のようになる。
【0393】
図39では、和の3値符号生成回路及びK演算子を実現するK論理回路がアレイ状に配置されている。これがいわゆるBLCアレイである。実際には、図40に示すような極性最適化を施したBLCアレイが用いられる。尚、極性最適化を施した場合、ダミーノードは論理反転を行う反転ダミーノード(インバータ)に置き換えられる。
【0394】
図39において、BLCアレイの構成は、各桁値Xi,Yiに基づいて判断結果として3値のいずれかを出力するn=8個の和の3値符号生成回路(判断ノード)CGA0〜CGA7と、行が各桁に対応する8行3列(m=3はlog2 8=3として得られる)のK論理回路マトリクスとを有して構成されている。K論理回路マトリクスについて、第1列のK論理回路群は、第0桁の和の3値符号生成回路CGA0の判断結果をそのまま伝搬させるダミーノードとしての第0行のK論理回路KLD10と、第1行の単純化したK論理回路KLR11と、第2行から第7行までのK論理回路KL12〜KL17とを備え、第2列のK論理回路群は、ダミーノードとしての第0行及び第1行のK論理回路KLD20,KLD21と、第2行及び第3行の単純化したK論理回路KLR22,KLR23と、第4行から第7行までのK論理回路KL24〜KL27とを備え、第3列のK論理回路群は、ダミーノードとしての第0行から第3行までのK論理回路KLD30〜KLD33と、第4行から第7行までの単純化したK論理回路KLR34〜KLR37とを備えて構成されている。尚、8個の判断ノード、並びに、各列のK論理回路群は、それぞれ同時に実行される。また、第3列の第0行から第7行までのK論理回路の出力符号は、それぞれ第1桁から第7桁までへの桁上りC1〜C7及び外部への桁上げ出力Coutとして、該出力符号が”1”ならば「桁上げ出力有り」と、該出力符号が”0”ならば「桁上げ出力無し」と、それぞれ解釈される。
【0395】
図39の構成に対して、更に、桁値X0及び桁値Y0の排他的論理和をとる第0桁の排他的論理和ゲート回路、並びに、第0桁の排他的論理和ゲート回路の出力と桁上げ入力Cinとの排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和ゲート回路と、第1桁から第7桁までの和の3値符号生成回路CGA1〜CGA7の出力符号Ti,1 の否定と第3列の第0行から第6行までのK論理回路KLD30〜KLD33,KLR34〜KLR36の出力符号とのそれぞれの排他的論理和をとって第1桁から第7桁までの和の結果とする第1行から第7行までの排他的論理和ゲート回路とを備えた和生成回路とを付加すれば、BLC加算方式の加算器を構成することができる。
【0396】
また、図40において、極性最適化されたBLCアレイの構成は、各桁値Xi,Yiに基づいて判断結果として3値のいずれかを出力するn=8個の和の3値符号生成回路(判断ノード)CGA0〜CGA7と、行が各桁に対応する8行3列(m=3はlog2 8=3として得られる)のK論理回路マトリクスとを有して構成されている。K論理回路マトリクスについて、第1列のK論理回路群は、第0桁の和の3値符号生成回路CGA0の判断結果を反転して伝搬させるダミーノードとしての第0行のK論理回路KLDPN10と、第1行の単純化したK論理回路KLRPN11と、第2行から第7行までのK論理回路KLPN12〜KLPN17とを備え、第2列のK論理回路群は、反転ダミーノードとしての第0行及び第1行のK論理回路KLDNP20,KLDNP21と、第2行及び第3行の単純化したK論理回路KLRNP22,KLRNP23と、第4行から第7行までのK論理回路KLNP24〜KLNP27とを備え、第3列のK論理回路群は、反転ダミーノードとしての第0行から第3行までのK論理回路KLDPN30〜KLDPN33と、第4行から第7行までの単純化したK論理回路KLRPN34〜KLRPN37とを備えて構成されている。尚、8個の判断ノード、並びに、各列のK論理回路群は、それぞれ同時に実行する。また、第3列の第0行から第7行までのK論理回路の出力符号は、m=3(奇数)であるので、それぞれ第1桁から第7桁まで及び外部への桁上げ出力Coutとして、該出力符号が”0”ならば「桁上げ出力有り」と、該出力符号が”1”ならば「桁上げ出力無し」と、それぞれ解釈される。
【0397】
図40の構成に対して、更に、桁値X0及び桁値Y0の排他的論理和をとる第0桁の排他的論理和ゲート回路、並びに、第0桁の排他的論理和ゲート回路の出力と桁上げ入力Cinとの排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和ゲート回路と、第1桁から第7桁までの和の3値符号生成回路CGA1〜CGA7の出力符号Ti,1 の否定と第3列の第0行から第6行までのK論理回路KLDPN30〜KLDPN33,KLRPN34〜KLRPN36の出力符号の否定とのそれぞれの排他的論理和をとって第1桁から第7桁までの和の結果とする第1行から第7行までの排他的論理和ゲート回路とを備えた和生成回路とを付加すれば、極性最適化を図ったBLC加算方式の加算器を構成することができる。
【0398】
以上のように、本実施例のBLC加算方式のBLC加算器では、LSB(ビット0)について確定的な性質を利用して、LSBの桁上げ存否判断を行う和の3値符号生成回路CGA0について桁上げ入力Cinを反映させるように構成することで、後段に続くK値論理回路の2分木構造を単純化させることができ、従来のBLC加算器のように第−1行目を持つことなく、従来のBLC加算器よりも1行少ないBLCアレイを構成できる。これはゲート数・面積の点で優れている。また、K論理関数を具現するK値論理回路の2分木においても、セレクタのみによる単純化された構成のK値論理回路KLRを備えることによって、論理的に冗長な回路を削除することができ、トランジスタ数の少ない2分木を形成することが可能である。更に、本実施例によるBLC加算方式の加算器では、複合論理ゲート回路(或いは複合論理ゲート回路の論理関数)を持たず、複合論理ゲート回路の不利な側面を持っていないことから、従来のBLC方式の加算器に比較して単純で高速化に有利である。また、3値符号を生成する和の3値符号生成回路CGAも単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0399】
(縮小BLCアレイ)
しかしながら、図39及び図40に示したBLCアレイは、トランジスタ数があまりにも多い。そこで、BLCアレイのゲート数を更に削減するために、BLCアレイの偶数行を削除し、図41に示すような、縮小されたBLCアレイを用いて加算器を実現する。
【0400】
縮小BLCアレイは、偶数ビットへの桁上げ信号を生成するのみであり、奇数ビットへの桁上げ信号は直接得られない。即ち、図41に図示されているビット6及びビット7においては、ビット6への桁上げ信号は得られているが、ビット7への桁上げ信号は得られていない。ビット7への桁上げ信号は、ビット6への桁上げ信号とビット6の入力段で生成された3値符号とによって間接的に生成される。このように、縮小BLCアレイは、奇数段への桁上げを生成する段が2分木に縦属接続される構成となるため、遅延がやや増加するが、ゲート数は大幅に減少する。
【0401】
図41において、縮小BLCアレイの構成は、各桁値Xi,Yiに基づいて判断結果として3値のいずれかを出力するn=8個の和の3値符号生成回路(判断ノード)CGA0〜CGA7と、行が奇数の各桁に対応する4行3列(m=3はlog2 8=3として得られる)のK論理回路マトリクスとを有して構成されている。K論理回路マトリクスについて、第1列のK論理回路群は、第1行の単純化したK論理回路KLR11と、第3行,第5行及び第7行のK論理回路KL13,KL15及びKL17とを備え、第2列のK論理回路群は、ダミーノードとしての第1行のK論理回路KLD21と、第3行の単純化したK論理回路KLR23と、第5行及び第7行のK論理回路KL25,KL27とを備え、第3列のK論理回路群は、ダミーノードとしての第1行及び第3行のK論理回路KLD31,KLD33と、第5行及び第7行の単純化したK論理回路KLR35,KLR37とを備えて構成されている。尚、8個の判断ノード、並びに、各列のK論理回路群は、それぞれ同時に実行される。
【0402】
また図41では、更に、和生成部100が付加されている。即ち、和生成部100は、桁値X0及び桁値Y0の排他的論理和をとる第0桁の排他的論理和ゲート回路GXS0と、和生成回路とを備えている。ここに、和生成回路は、第0桁の排他的論理和ゲート回路GXS0の出力と桁上げ入力Cinとの排他的論理和をとって第0桁の和の結果S0とする第0行の排他的論理和ゲート回路GXO0と、第0桁の和の3値符号生成回路CGA0の出力符号T0,0 と第1桁の和の3値符号生成回路CGA1の出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果S1とする第1行の排他的論理和ゲート回路(図示せず)と、第f桁の和の3値符号生成回路CGAf(f=2〜6までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値XfまたはYfを、出力符号Tf,1 が”0”をとるとき第f−1行のK論理回路の出力符号を、それぞれ選択して第f+1桁への桁上げとして出力する第f行のセレクタ(桁上げ生成手段)SLf(図にはSL7のみ表示)と、第f桁の和の3値符号生成回路CGAfの出力符号Tf,1 の否定と第f−1行のK論理回路の出力符号との排他的論理和をとって第f桁の和の結果Sfとする第f行の排他的論理和ゲート回路GXOfと、第f+1桁の和の3値符号生成回路CGAf+1の出力符号Tf+1,1 の否定と第f行のセレクタSLfの出力との排他的論理和をとって第f+1桁の和の結果Sf+1とする第f+1行の排他的論理和ゲート回路GXOf+1とを備えて構成されている。
【0403】
また、図41に図示した和生成回路の部分論理回路は、ビット6の和の生成部分とビット6の3値符号解釈、ビット7への桁上げ生成部分及びビット7の和の生成部分の3つの部分から構成されている。この論理回路は{00,01,11,10}={Q,Q,Y,N}割り当てにおけるものである。従って、他の割り当て方を採用すれば、和の生成回路は当然違う論理構成となるが、基本的枠組みは今述べた3つの部分で構成される。
【0404】
また図42及び図43では、和の生成回路の他の構成例を示す。先ず、図42では、ビット6の和の生成部分及びビット7の和の生成部分について示したものである。即ち、ビット2からビット7までの和の生成回路の部分構成は、第f桁の和の3値符号生成回路CGAf(f=2〜6までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、出力符号Tf,1 が”0”をとるとき第f−1行のK論理回路の出力符号を、それぞれ選択したものの否定をとって第f+1桁への桁上げとして出力する第f行のセレクタ(桁上げ生成手段)SLAfと、第f桁の判断ノードの出力符号Tf,1 と第f−1行のK論理回路の出力符号との排他的否定論理和をとって第f桁の和の結果Sfとする第f行の排他的否定論理和ゲート回路GXNAfと、第f+1桁の和の3値符号生成回路CGAf+1の出力符号Tf+1,1 と第f行のセレクタSLAfの出力との排他的論理和をとって第f+1桁の和の結果Sf+1とする第f+1行の排他的論理和ゲート回路GXAfとを備えて構成されている。
【0405】
次に図43は、和の生成回路の他の構成例におけるビット6の和の生成部分及びビット7の和の生成部分の部分構成図を示す。ビット2からビット7までの和の生成回路の部分構成は、第f桁の和の3値符号生成回路CGAf(f=2〜6までの偶数)の出力符号Tf,1 と該行への入力桁値Xaf またはYbf との否定論理積をとる否定論理積ゲート回路GABf1と、第f+1桁の和の3値符号生成回路CGAf+1の出力符号Tf+1,1 と否定論理積ゲート回路GABf1の出力との排他的論理和をとって第f+1行の第0被選択信号を出力する排他的論理和ゲート回路GXBf2と、第f桁の和の3値符号生成回路CGAfの出力符号Tf,1 と第f+1行の第0被選択信号との排他的否定論理和をとって第f+1行の第1被選択信号を出力する排他的否定論理和ゲート回路GXBf3と、第f桁の和の3値符号生成回路CGAfの出力符号Tf,1 と第f−1行のK論理回路の出力符号との排他的否定論理和をとって第f桁の和の結果Sfとする第f行の排他的否定論理和ゲート回路GXNBfと、第f−1行のK論理回路の出力符号が”1”をとるとき第f+1行の第1被選択信号を、該出力符号が”0”をとるとき第f+1行の第0被選択信号を、それぞれ選択したものの否定をとって第f+1桁の和の結果Sf+1とする第f+1行のセレクタ(和生成選択手段)SLBfとを備えて構成する。図41の構成と比べて、ハードウェア量は増加するが、信号伝搬遅延時間がクリティカルとなる桁上げ信号を含む経路について、図41におけるセレクタ及び排他的論理和ゲート回路の遅延が、図43ではセレクタの選択端子から出力端子までのみの遅延となって、より高速に和の生成を行い得る加算器を実現できる。
【0406】
以上のように、本実施例の縮小したBLC加算方式の加算器では、BLCアレイの偶数行を削除し、ゲート数の削減を図った縮小BLCアレイを用いることによって、BLCアレイのゲート数とBLCアレイに数多く存在する距離の長い配線を半分に減らすことが可能である。一方で演算段数が1段増えてしまうが、BLCアレイの素子数及び配線が半減したためBLCアレイの構造がシンプルとなって遅延を小さくする効果が生じることとなり、段数の増加は必ずしも遅延の増加を意味しない。結果的に、偶数行を削除しないBLCアレイと削除したBLCアレイの加算器の遅延は同等となる。尚且つ、縮小したBLCアレイによる加算器はトランジスタ数及び配線の単純さにおいて優れている。
【0407】
6.3.4 3値符号の他の割り当て
3値符号の2進数表現を変えることによって、入力段の論理回路がより洗練されたものになる場合がある。即ち、別の表現の割り当て方をすれば、入力段に限らず、2分木の構成要素の論理回路も変わり得る。
【0408】
ここで、改めて上述した割り当て方を、
{00,01,11,10}={Q,Q,Y,N}
と表記する。”Q”に対して2つの2進数表現が割り当てられているが、これは、Q={0*}であることを意味している。”*”はドントケアである。
【0409】
3値符号{Q,Y,N}に、4通りの2進数の表現{00,01,11,10}を割り当てる場合、余った1つの表現をどうするかによって、幾つかの系統に分かれる。図44及び図45には、上述した割り当てを含む3値符号2分木の代表的な4つの系統と、そのK論理関数及びK論理回路を示す。
【0410】
先ず、図44(a)に示す{00,01,11,10}={Y,F,Q,N}割り当てでは、K論理関数は次式の如くなる。尚、”F”は禁止(Forbidden )を意味する。
T1=H1・(^H0+L1)
T0=H0・L0
【0411】
また、K論理回路は、符号Hが符号Lに対して優越する関係にある場合に、符号H0の否定である符号^H0及び符号L1の論理和と符号H1との論理積をとって符号T1として出力する複合論理ゲート回路(第9の複合論理ゲート手段)GC9と、符号H0及び符号L0の論理積をとって符号T0として出力する論理積ゲート回路GA1とを備えて構成されている。
【0412】
次に、図44(b)に示す{00,01,11,10}={F,Y,Q,N}割り当てでは、K論理関数は次式の如くなる。
T1=^H0+H1・L1
T0=^H1+H0・L0
【0413】
また、K論理回路は、符号Hが符号Lに対して優越する関係にある場合に、符号H1及び符号L1の論理積と符号H0の否定である符号^H0との論理和をとって符号T1として出力する複合論理ゲート回路(第7の複合論理ゲート手段)GC7と、符号H0及び符号L0の論理積と符号H1の否定である符号^H1との論理和をとって符号T0として出力する複合論理ゲート回路(第8の複合論理ゲート手段)GC8とを備えて構成されている。
【0414】
次に、図45(a)に示す{00,01,11,10}={Y,F,N,Q}割り当てでは、K論理関数は次式の如くなる。
T1=H0+H1・L1
T0=H0+H1・L0
【0415】
また、K論理回路は、符号Hが符号Lに対して優越する関係にある場合に、
符号H1及び符号L1の論理積と符号H0との論理和をとって符号T1として出力する複合論理ゲート回路(第1の複合論理ゲート手段)GC1と、符号H1及び符号L0の論理積と符号H0との論理和をとって符号T0として出力する複合論理ゲート回路(第2の複合論理ゲート手段)GC2と備えて構成されている。
【0416】
6.3.5 実施例の変形
更に、図45(b)に示す{00,01,11,10}={Q,Q,Y,N}割り当てについては、上述した実施例等の展開において使用した割り当てであり、比較のために図示したものである。即ち、{Q,Q,Y,N}割り当てによる比較器及び加算器の実施例は上述の通りである。ここで、{Y,F,N,Q}割り当てによる比較器及び加算器を考える場合でも、同様にして、図45(a)をK論理回路として2分木を形成すればよい。2分木の構造、縮小BLCアレイの構造自体は、同一である。但し、比較器及び加算器の入力段、加算器の和の生成回路等は、これに適した論理回路構成のものを使用する必要がある。図46にこれらの回路例を示す。
【0417】
図46(a)は、比較器を{00,01,11,10}={Y,F,N,Q}割り当てにより構成する場合の入力段である比較の3値符号生成回路CGCaの回路図である。同図において、比較の3値符号生成回路CGCaは、nビットの各桁(Xi,Yi;i=0〜n−1)について、桁値Xiと桁値Yiの否定論理ゲート回路GN11による否定との否定論理積をとって符号Ti,1 として出力する否定論理積ゲート回路GNA11と、桁値Xiと桁値Yiの否定論理ゲート回路GN11による否定との否定論理和をとって符号Ti,0 として出力する否定論理和ゲート回路GNO11とを備えた構成である。
【0418】
また、図46(b)は、加算器を{00,01,11,10}={Y,F,N,Q}割り当てにより構成する場合の入力段である和の3値符号生成回路CGAaの回路図である。同図において、和の3値符号生成回路CGAaは、nビットの各桁(Xi,Yi;i=0〜n−1)について、桁値Xi及び桁値Yiの否定論理積をとって符号Ti,1 として出力する否定論理積ゲート回路GNA12と、桁値Xi及び桁値Yiの否定論理和をとって符号Ti,0 として出力する否定論理和ゲート回路GNO12とを備えた構成である。
【0419】
また、図46(c)及び(d)は、3値符号2分木を{00,01,11,10}={Y,F,N,Q}割り当てにより構成する場合であって、極性最適化を施す場合の上位優先決定ノードとなる正論理入力・負論理出力のK論理回路KLaPN及び負論理入力・正論理出力のK論理回路KLaNPの回路図である。
【0420】
図46(c)において、正論理入力・負論理出力のK論理回路KLaPNは、上位の判断結果に起因する符号Ti 及び下位の判断結果に起因する符号Tj を入力とするとき、符号Ti,1 及び符号Tj,1 の論理積と符号Ti,0 との否定論理和をとって符号^Tij,1として出力する複合論理ゲート回路GC3と、符号Ti,1 及び符号Tj,0 の論理積と符号Ti,0 との否定論理和をとって符号^Tij,0として出力する複合論理ゲート回路GC4とを備えた構成である。
【0421】
図46(d)において、負論理入力・正論理出力のK論理回路KLaNPは、上位の判断結果に起因する符号^Ti 及び下位の判断結果に起因する符号^Tj を入力とするとき、符号^Ti,1 及び符号^Tj,1 の論理和と符号^Ti,0 との否定論理積をとって符号Tij,1として出力する複合論理ゲート回路GC5と、符号^Ti,1 及び符号^Tj,0 の論理和と符号^Ti,0 との否定論理積をとって符号Tij,0として出力する複合論理ゲート回路GC6とを備えた構成である。
【0422】
更に、図46(e)は、加算器を{00,01,11,10}={Y,F,N,Q}割り当てにより構成する場合の和生成の部分回路図であって、図60の回路構成図における和生成回路に置き換わるものである。同図において、奇数ビット及び偶数ビットの和を生成する部分回路は、奇数ビットの和の3値符号生成回路(入力段)からの出力符号Ti,1 及び^符号Ti,0 の否定論理積をとる否定論理積ゲート回路GA21と、偶数ビットの和の3値符号生成回路(入力段)からの出力符号^Tj,1 及び符号Tj,0 の否定論理和をとる否定論理和ゲート回路GNO21と、否定論理和ゲート回路GNO21の出力が”1”のときに偶数ビットへの桁上げを、該出力が”0”のときに偶数ビットの和の3値符号生成回路からの出力符号^Tj,1 をそれぞれ選択したものの否定をとって奇数ビットへの桁上げ信号として出力するセレクタSL11と、否定論理積ゲート回路GA21の出力とセレクタSL11の出力(奇数ビットへの桁上げ)との排他的論理和をとって奇数ビットの和の結果として出力する排他的論理和ゲート回路GX11と、否定論理和ゲート回路GNO21の出力と偶数ビットへの桁上げ信号との排他的論理和をとって偶数ビットの和の結果として出力する排他的論理和ゲート回路GX12とを備えた構成である。
【0423】
以上のように、本発明の演算装置及びその演算方法では、設計者が実現したい処理を十分考慮し適切な3値符号生成質問を定義したならば、後は最も都合の良い3値符号2分木の系統を選べばよく、処理内容に合わせた系統を選択することによって、適切な3値符号2分木状の演算装置及びその演算方法を実現することが可能となる。
【0424】
〔第5実施例〕
6.4 減算器の実施例
6.4.1 差の3値符号生成
次に、桁借りが起こるか否かを判定する3値符号2分木を形成するには、「4.2.3 減算の桁借りの場合」で述べた判断の内容をもとに、差の3値符号生成質問を以下の如く定義すれば良い。
【0425】
差の3値符号生成質問:「同位桁の2数の差(Xi−Yi)は、
負になりますか(即ち、桁借りが起こる。Xi<Yi)(Yes)?、
正になりますか(即ち、桁借りが起こらない。Xi>Yi)(No)?
0になりますか(即ち、1つ下の位に依存するので分からない。
Xi=Yi)(Q)?」
【0426】
この質問をnビット2進数の減算に当てはめると、図47(a)のような論理関数の真理値表を得て、さらに論理関数
Ti,1 =Xi(+) Yi
Ti,0 =Yi …(6)
を得る。従って、(6)式より、減算器の入力段となる差の3値符号生成回路は図47(b)に示す如くなる。
【0427】
即ち、図47(b)において、減算器の入力段となる判断ノードは、桁値Xi及び桁値Yiの排他的論理和をとって符号Ti,1 として出力する排他的否定論理和ゲート回路GX1と、桁値Yiを符号Ti,0 として出力する接続線SGSとを備えた差の3値符号生成回路CGSi(ここにiは,i=0〜n−1)によって実現される。
【0428】
本発明に係る減算器の入力段に用いる差の3値符号生成回路は、従来の減算器のように加算器の入力段にインバータを付加した構成ではなく、後述のように加算器の入力段(和の3値符号生成回路)とゲート数及び信号伝搬遅延が同等の構成でありながら、内部の論理として差を求める論理演算の一部を含んでいる。従って、ゲート数の増加や信号伝搬遅延の増大を招くことなく、理想的な構成で減算器を実現することが可能である。更に、出力段の差生成で行うべき論理演算を含むことから、出力段の論理回路が簡単になり、より少ないゲート数で実現できる。
【0429】
尚、差の3値符号生成質問は2進数に限らず、任意のR進数について適応できる。何故なら、多値論理回路やアナログ回路のようなR進表現が可能な回路方式を用いて、この3値符号生成質問に沿うような差の3値符号生成回路を実現することができれば、あとは加算器におけるBLCアレイに相当する3値符号2分木のBLBアレイによって、各桁への桁借りBiを生成できるからである。差生成の為に、(Xi−Yi−Bi)を実現する回路(そのR進数における1桁分の減算器)を別途用意し、これと組み合わせれば、R進数減算器となる。
【0430】
6.4.2 ビット0の確定的性質
「4.2.3 減算の桁借りの場合」で述べたように、桁借りが起こるか否か?という質問に対し、最終結論で「依存するので分からない。」と答えることは有りえない。何故なら、ビット0には確定的な性質があり、答えが必ず”Yes”か”No”のどちらかになるからである。ビット0においては、下位桁に対する依存性はない。依存しないので分からないはずはなく、”Q”と答えることはない。これに基づいたビット0の3値符号生成の真理値表を図48(a)に示す。ここで、Binは外部からの桁借り入力である。
【0431】
真理値表から、符号T0,1 が常に”1”となっていることが明らかである。このような入力に関わらず常に一定の値を取る出力は削除することができる。この結果として得られる、ビット0の差の3値符号生成回路CGS0を図48(b)に示す。
【0432】
図48(b)において、ビット0の差の3値符号生成回路CGS0は、桁値X0の否定論理ゲート回路GN21による否定と桁値Y0との否定論理和をとる否定論理和ゲート回路GNO21と、桁値X0の否定論理ゲート回路GN21による否定と桁値Y0との否定論理積をとる否定論理積ゲート回路GNA21と、当該減算器への桁借り入力Binが”1”をとるとき否定論理和ゲート回路GNO21の出力を、該桁借り入力Binが”0”をとるとき否定論理積ゲート回路GNA21の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力するセレクタ(選択手段)SL21とを有して構成され、符号T0,1 を出力しない。
【0433】
また、符号T0,1 が常に”1”であることを利用して、K論理回路KLの冗長な論理を削除することができる。減算器における削除前のK論理回路の2分木を図49(a)に示す。常に”1”となる信号(図中、太線)が次々と伝搬していくことが分かる。このような常に一定の値を取る経路上の論理は、削除しても差し支えない。従って、図49(b)に示すように、冗長な論理を削除し、単純化されたK論理回路KLRを用いた2分木を得る。
【0434】
図49(b)において、K論理回路の内、2数のLSBについての桁借りの存否判断を行う差の3値符号生成回路CGS0が本来出力すべき符号T0,1 に起因するK論理回路は、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択して符号Tij,0として出力するセレクタ(選択手段)を備えた単純化したK論理回路KLRによって実現され、符号Tij,1を出力しない。尚、2分木の根となるK論理回路KLRの出力符号が”1”ならば「桁借り出力有り」と、該出力符号が”0”ならば「桁借り出力無し」と、それぞれ解釈される。
【0435】
6.4.3 桁借り生成2分木の構成
(桁借り生成2分木の場合)
差の3値符号生成回路CGSi(i=0〜n−1)を葉とし、K論理回路KLまたはKLRを構成要素として形成される2分木によって、桁借りを生成する2分木を実現できる。具体例として、8ビットの場合を図50に示す。ビット0からの信号が伝搬するK論理回路は単純化されたK論理回路KLRである。また、単純化されたK論理回路KLRの出力は1ビットである。
【0436】
図50において、8ビット2進数(X,Y)の桁借り生成2分木は、判断ノードとしての差の3値符号生成回路CGS0〜CGS7と、上位優先決定ノードとしてのK論理回路KLR11,KL21,KLR22,KL31〜KL33,KLR34とを有して構成し、差の3値符号生成回路CGS0〜CGS7を葉、K論理回路KLR11,KL21,KLR22,KL31〜KL33,KLR34を葉以外の他のノードとした3値符号2分木で問題をモデル化している。尚、葉となる差の3値符号生成回路CGS0〜CGS7、並びに、2分木において同じ深さにあるK論理回路KLR11、K論理回路KL21,KLR22及びK論理回路KL31〜KL33,KLR34は、それぞれ同時に実行する。
【0437】
図50の具体例では、8ビットの2数の減算で生じる桁借り信号Bout(外部出力)を生成する2分木を示した。一般に、ビットnへの桁借り信号を生成するにはビット(n−1)からビット0までを範囲とする2分木が必要となる。
【0438】
以上のように、本実施例の減算器では、8ビット2進数(X,Y)の減算において、差の3値符号生成回路(判断ノード)CGSiを排他的論理和ゲート回路GX21及び接続線SGSにより実現し、2分木の葉となる差の3値符号生成回路CGSiにより減算における3値符号を生成するよう構成することで、2進数減算器の桁借り先見回路を実現できる。また、差の3値符号生成回路の論理自体も単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0439】
(桁借り生成2分木の全体構成:BLBアレイ)
ビット7への桁借りを生成する2分木を形成したのと同様に、各ビットへの桁借りを生成する2分木を各ビット毎に形成し、重ね合せると図51のようになる。
【0440】
図51では、差の3値符号生成回路及びK演算子を実現するK論理回路がアレイ状に配置されている。これが加算器におけるBLCアレイに相当する3値符号2分木のBLBアレイである。
【0441】
図51において、BLBアレイの構成は、各桁値Xi,Yiに基づいて判断結果として3値のいずれかを出力するn=8個の差の3値符号生成回路(判断ノード)CGS0〜CGS7と、行が各桁に対応する8行3列(m=3はlog2 8=3として得られる)のK論理回路マトリクスとを有して構成されている。K論理回路マトリクスについて、第1列のK論理回路群は、第0桁の差の3値符号生成回路CGS0の判断結果をそのまま伝搬させるダミーノードとしての第0行のK論理回路KLD10と、第1行の単純化したK論理回路KLR11と、第2行から第7行までのK論理回路KL12〜KL17とを備え、第2列のK論理回路群は、ダミーノードとしての第0行及び第1行のK論理回路KLD20,KLD21と、第2行及び第3行の単純化したK論理回路KLR22,KLR23と、第4行から第7行までのK論理回路KL24〜KL27とを備え、第3列のK論理回路群は、ダミーノードとしての第0行から第3行までのK論理回路KLD30〜KLD33と、第4行から第7行までの単純化したK論理回路KLR34〜KLR37とを備えて構成されている。尚、8個の判断ノード、並びに、各列のK論理回路群は、それぞれ同時に実行される。また、第3列の第0行から第7行までのK論理回路の出力符号は、それぞれ第1桁から第7桁までの桁借りB1〜B7及び外部への桁借り出力Boutとして、該出力符号が”1”ならば「桁借り出力有り」と、該出力符号が”0”ならば「桁借り出力無し」と、それぞれ解釈される。
【0442】
実際の論理回路の設計においては、CMOS論理回路の性質を考慮し、極性最適化という技法が用いられる。ここで、「極性最適化」とは、正論理入力・正論理出力の論理回路が多段に縦属接続されている構造を、正論理入力・負論理出力の段(PN段)と負論理入力・正論理出力の段(NP段)が交互に縦属接続される構造に変換する技法である。この極性最適化の技法を用いることによって、冗長なトランジスタを削減し、トランジスタ数・動作速度を改善できる。
【0443】
ここに示した本実施例の減算器にも極性最適化を行うことができる。即ち、正論理入力・正論理出力のK論理回路KLに極性最適化を行って、図52(a)に示す正論理入力・負論理出力のK論理回路KLPNと図52(b)に示す負論理入力・正論理出力のK論理回路KLNPを得る。
【0444】
図52(a)において、正論理入力・負論理出力のK論理回路KLPNは、符号Ti,1 及び符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和ゲート回路GNO1と、符号Ti,1 が”1”をとるとき符号Ti,0 を、符号Ti,1 が”0”をとるとき符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力するセレクタ(第2選択手段)SL2とを備えて構成されている。
【0445】
図52(b)において、負論理入力・正論理出力のK論理回路KLNPは、符号^Ti,1 及び符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積ゲート回路GNA1と、符号^Ti,1 が”0”をとるとき符号^Ti,0 を、符号^Ti,1 が”1”をとるとき符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力するセレクタ(第3選択手段)SL3とを備えて構成されている。
【0446】
これら正論理入力・負論理出力のK論理回路KLPN及び負論理入力・正論理出力のK論理回路KLNPを、図51のBLBアレイに対して用れば、図53に示すような極性最適化を施したBLBアレイを得る。尚、極性最適化を施した場合、ダミーノードは論理反転を行う反転ダミーノード(インバータ)に置き換えられる。
【0447】
図54において、極性最適化されたBLBアレイの構成は、各桁値Xi,Yiに基づいて判断結果として3値のいずれかを出力するn=8個の差の3値符号生成回路(判断ノード)CGS0〜CGS7と、行が各桁に対応する8行3列(m=3はlog2 8=3として得られる)のK論理回路マトリクスとを有して構成されている。K論理回路マトリクスについて、第1列のK論理回路群は、第0桁の差の3値符号生成回路CGS0の判断結果を反転して伝搬させるダミーノードとしての第0行のK論理回路KLDPN10と、第1行の単純化したK論理回路KLRPN11と、第2行から第7行までのK論理回路KLPN12〜KLPN17とを備え、第2列のK論理回路群は、反転ダミーノードとしての第0行及び第1行のK論理回路KLDNP20,KLDNP21と、第2行及び第3行の単純化したK論理回路KLRNP22,KLRNP23と、第4行から第7行までのK論理回路KLNP24〜KLNP27とを備え、第3列のK論理回路群は、反転ダミーノードとしての第0行から第3行までのK論理回路KLDPN30〜KLDPN33と、第4行から第7行までの単純化したK論理回路KLRPN34〜KLRPN37とを備えて構成されている。尚、8個の判断ノード、並びに、各列のK論理回路群は、それぞれ同時に実行する。また、第3列の第0行から第7行までのK論理回路の出力符号は、m=3(奇数)であるので、それぞれ第1桁から第7桁までの桁借りB1〜B7及び外部への桁借り出力Boutとして、該出力符号が”0”ならば「桁借り出力有り」と、該出力符号が”1”ならば「桁借り出力無し」と、それぞれ解釈される。
【0448】
以上のように、本実施例のBLB減算方式のBLB減算器では、LSB(ビット0)について確定的な性質を利用して、LSBの桁借り存否判断を行う差の3値符号生成回路CGS0について桁借り入力Binを反映させるように構成することで、後段に続くK値論理回路の2分木構造を単純化させることができる。これはゲート数及び面積の点で優れている。また、K論理関数を具現するK値論理回路の2分木においても、セレクタのみによる単純化された構成のK値論理回路KLRを備えることによって、論理的に冗長な回路を削除することができ、トランジスタ数の少ない2分木を形成することが可能である。更に、本実施例によるBLB減算方式の減算器では、複合論理ゲート回路(或いは複合論理ゲート回路の論理関数)を持たず、複合論理ゲート回路の不利な側面を持っていないことから、高速化に有利である。また、3値符号を生成する差の3値符号生成回路CGSも単純で、より少ないゲート数(トランジスタ数)で実現可能である。
【0449】
(差の生成)
最終的な演算結果である差の生成は、同位桁の差(Xi−Yi)(i=0〜7)に、ビット(i−1)からビットiへの桁借りBiを更に引くことによって得られる。例えば、ビット7の差出力D7を求める回路を図54に示す。尚、図54は、図51のBLBアレイに付加される差の生成段を説明するもので、同図(a)ではビット7の差出力D7を、同図(b)ではビット0の差出力D0をそれぞれ生成する部分回路図を示している。
【0450】
ビット7の和出力S7は同位桁の差(X7−Y7)に、ビット6からビット7への桁借りB7を更に引くことによって得られる。
【0451】
即ち、ビット6からビット7への桁借りB7はビット6からビット0までを範囲とする2分木によって生成される。この2分木の出力とX7(+) Y7との排他的論理和(EXOR)を取ることにより、最終的なビット7の差出力D7が得られる。
【0452】
3値符号2分木の優れた特徴として、X7(+) Y7の排他的論理和演算が差の3値符号生成回路CGSiの内に含まれていることが挙げられる。但し、この性質が得られるのは{00,01,11,10}={Q,Q,Y,N}割り当てにおける3値符号生成の場合である。一般に3値符号の表現の割り当て方を変えれば、差の3値符号生成回路の構成も変わる。従って、差の生成を行う論理回路もそれに応じた適切なものを用いる必要がある。但し、2分木の構造自体に変化はない。
【0453】
差を生成するために、図51のBLBアレイに対して付加すべき構成は、以下の如くなる。即ち、桁値X0及び桁値Y0の排他的論理和をとる第0桁の排他的論理和ゲート回路GXK0、並びに、第0桁の排他的論理和ゲート回路GXK0の出力と桁借り入力Binとの排他的論理和をとって第0桁の差の結果D0とする第0行の排他的論理和ゲート回路GXD0と、第1桁から第7桁までの差の3値符号生成回路CGS1〜CGS7の出力符号Ti,1 とK論理回路マトリクスの第3列の第0行から第6行までのK論理回路KLD30〜KLD33,KLR34〜KLR36の出力符号とのそれぞれの排他的論理和をとって第1桁から第7桁までの差の結果D1〜D7とする第1行から第7行までの排他的論理和ゲート回路GXD1〜GXD7とを備えた差生成回路とを図51に対して付加すれば、BLB減算方式の減算器を構成することができる。
【0454】
図53の極性最適化を施した構成に対しても、同様に、桁値X0及び桁値Y0の排他的論理和をとる第0桁の排他的論理和ゲート回路GXK0、並びに、第0桁の排他的論理和ゲート回路GXK0の出力と桁借り入力Binとの排他的論理和をとって第0桁の差の結果D0とする第0行の排他的論理和ゲート回路GXD0と、第1桁から第7桁までの差の3値符号生成回路CGA1〜CGA7の出力符号Ti,1 と第3列の第0行から第6行までのK論理回路KLDPN30〜KLDPN33,KLRPN34〜KLRPN36の出力符号の否定とのそれぞれの排他的論理和をとって第1桁から第7桁までの差の結果D1〜D7とする第1行から第7行までの排他的論理和ゲート回路とを備えた差生成回路とを付加すれば、極性最適化を図ったBLB減算方式の減算器を構成することができる。
【0455】
以上のように、本実施例の減算器では、{00,01,11,10」={Q,Q,Y,N}割り当てにおけるK論理回路の2分木を用いた場合、各桁Xj,Yj(j=1〜n−2)についての桁借りの存否判断を行う判断ノードに、桁値Xj及び桁値Yjの排他的論理和をとって符号Tj,1 として出力する排他的論理和ゲート回路GX21を含んでいることから、該出力符号Tj,1 によって各桁(Xj,Yj)についての排他的論理和を得て、より簡単な構成で差を生成することが可能である。
【0456】
(縮小BLBアレイ)
しかしながら、図51及び図53に示したBLBアレイは、トランジスタ数があまりにも多い。そこで、BLBアレイのゲート数を更に削減するために、BLBアレイの偶数行を削除し、図55に示すような、縮小されたBLBアレイを用いて減算器を実現する。
【0457】
縮小BLBアレイは、偶数ビットへの桁借り信号B2,B4,B6,Boutを生成するのみであり、奇数ビットへの桁借り信号B1,B3,B5,B7は直接得られない。
【0458】
図55において、縮小BLBアレイの構成は、各桁値Xi,Yiに基づいて判断結果として3値のいずれかを出力するn=8個の差の3値符号生成回路(判断ノード)CGS0〜CGS7と、行が奇数の各桁に対応する4行3列(m=3はlog2 8=3として得られる)のK論理回路マトリクスとを有して構成されている。K論理回路マトリクスについて、第1列のK論理回路群は、第1行の単純化したK論理回路KLR11と、第3行,第5行及び第7行のK論理回路KL13,KL15及びKL17とを備え、第2列のK論理回路群は、ダミーノードとしての第1行のK論理回路KLD21と、第3行の単純化したK論理回路KLR23と、第5行及び第7行のK論理回路KL25,KL27とを備え、第3列のK論理回路群は、ダミーノードとしての第1行及び第3行のK論理回路KLD31,KLD33と、第5行及び第7行の単純化したK論理回路KLR35,KLR37とを備えて構成されている。尚、8個の判断ノード、並びに、各列のK論理回路群は、それぞれ同時に実行される。
【0459】
また図56は、図55の縮小BLBアレイに付加される差の生成段を説明するもので、同図(a)ではビット7及びビット6の差出力D7及びD6を、同図(b)ではビット0及びビット1の差出力D0及びD1をそれぞれ生成する部分回路図を示している。
【0460】
差を生成するために、図55の縮小BLBアレイに対して付加すべき構成は、以下の如くなる。即ち、桁値X0及び桁値Y0の排他的論理和をとる第0桁の排他的論理和ゲート回路GXK0と、差の生成段とを備えている。ここに、差の生成段は、第0桁の排他的論理和ゲート回路GXK0の出力と桁借り入力Binとの排他的論理和をとって第0桁の差の結果D0とする第0行の排他的論理和ゲート回路GXD0と、第0桁の差の3値符号生成回路CGS0の出力符号T0,0 と第1桁の差の3値符号生成回路CGS1の出力符号T1,1 との排他的論理和をとって第1桁の差の結果D1とする第1行の排他的論理和ゲート回路GXD1と、第f桁の差の3値符号生成回路CGSf(f=2〜7までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値XfまたはYfを、出力符号Tf,1 が”0”をとるとき第f−1行のK値論理回路の出力符号を、それぞれ選択して第f+1桁への桁借りとして出力する第f行のセレクタ(桁借り生成手段)SLKf(図にはSLK7のみ表示)と、第f桁の差の3値符号生成回路CGSfの出力符号Tf,1 と第f−1行のK値論理回路の出力符号との排他的論理和をとって第f桁の差の結果Dfとする第f行の排他的論理和ゲート回路GXDfと、第f+1桁の差の3値符号生成回路CGSf+1の出力符号Tf+1,1 と第f行のセレクタSLKfの出力との排他的論理和をとって第f+1桁の差の結果Df+1とする第f+1行の排他的論理和ゲート回路GXDf+1とを備えて構成されている。
【0461】
以上のように、本実施例の縮小したBLB減算方式の減算器では、BLBアレイの偶数行を削除し、ゲート数の削減を図った縮小BLBアレイを用いることによって、BLBアレイのゲート数とBLBアレイに数多く存在する距離の長い配線を半分に減らすことが可能である。一方で演算段数が1段増えてしまうが、BLBアレイの素子数及び配線が半減したためBLBアレイの構造がシンプルとなって遅延を小さくする効果が生じることとなり、段数の増加は必ずしも遅延の増加を意味しない。結果的に、偶数行を削除しないBLBアレイと削除したBLBアレイの減算器の遅延は同等となる。尚且つ、縮小したBLBアレイによる減算器はトランジスタ数及び配線の単純さにおいて優れている。
【0462】
6.4.4 3値符号2分木の減算器への適用の効果
従来の減算器は、加算器の入力段にインバータを付加した構成であり、その分ゲート数・遅延が増加するという欠点を持っていた。本発明に係る3値符号2分木を用いた減算器はそのような欠点を持っていない。ここでは、加算器との差異を明確にして、従来の減算器との比較を行う。
【0463】
先ず、入力段の3値符号生成回路については、図47(b)に示した減算器における差の3値符号生成回路CGSと図13(b)に示した加算器における和の3値符号生成回路CGAとを比較して明らかなように、両者の違いは、3値符号生成回路中にある論理ゲート回路が排他的否定論理和EXNOR(加算器)か排他的論理和EXOR(減算器)かという点だけである。現在の集積回路設計技術においては、図57に示すように、排他的否定論理和EXNOR(同図(a)参照))と排他的否定論理和EXOR(同図(b)参照)は、トランスファーゲートのゲートに対する結線が若干異なるだけで、回路構造は全く同じである。即ち、入力段の3値符号生成回路のゲート数及び信号伝搬遅延については、加算器と減算器の間で差はない。従って、本実施例の3値符号2分木を適用した減算器は、従来の加算器の入力段にインバータを付加した構成の減算器と比較して、インバータを付加することなく実現され、ゲート数の増加及び信号伝搬遅延の増大という欠点を持つことなく実現可能である。
【0464】
〔第6実施例〕
6.5 差の絶対値演算器の実施例
6.5.1 理想的な差の絶対値演算器の構成
上記「発明が解決しようとする課題」では、従来の差の絶対値演算器の欠点等について述べたが、理想的な差の絶対値演算器の構成として考えられるのは、(X−Y)の演算過程から(Y−X)の演算過程を簡単に導き出す方法である。具体的にいえば、以下のような処理ステップで与えられる。
ステップSAA1.X>Yを仮定し、(X−Y)の演算を行う。
ステップSAA2.(X−Y)の結果が負になるなら、仮定は間違っていたので、
(Y−X)の演算をしなければならない。
ここで、(X−Y)の演算過程から、(Y−X)の演算過程に変換する。
尚、ステップSAA2で要求される演算変換は、その手間がデータビット幅nに依存せず高速なもの(定数C<log2 n)で、1個の減算器よりも確実に少ないゲート数で実現する必要がある。
【0465】
6.5.2 X−YとY−Xの違い
2つの2進数
X=01111101, Y=00000010
の減算(X−Y)の過程を図58に示す。入力段で生成される3値符号は
(Q,N,N,N,N,N,Y,N) …(9)
である。(Y−X)の場合はどうか? 入力段で生成される3値符号は
(Q,Y,Y,Y,Y,Y,N,Y) …(10)
である。
【0466】
この例が教えるのは、(X−Y)と(Y−X)の場合の生成される3値符号の対称性である。(9)の符号をそれぞれ、”Q”は”Q”に、”Y”は”N”に、”N”は”Y”に置換すると、(10)が得られることが分かる。従って、この例は、3値符号を用いれば、理想的な差の絶対値演算器が驚くほど単純に実現できるのではないかという希望を抱かせる。何故なら、入力段で生成された3値符号は、3値符号2分木のBLBアレイを通して各桁の桁借り生成となるのであり、入力段の3値符号が対称性を持つなら、自ずとその桁借り生成の結果も対称性を持つはずであるからである。この例では、(9)から得られる桁借り生成結果は、
(N,N,N,N,N,N,Y,N) …(11)
となり、(10)から得られる桁借り生成結果は、
(Y,Y,Y,Y,Y,Y,N,Y) …(12)
となる。やはり対称性は明らかである。
【0467】
従って、差の絶対値演算を得る手順として、次の手順が考えられる。
ステップSAB1.(X−Y)の演算を桁借り生成まで行う。
ステップSAB2.(X<Y)であることが判明し、
(Y−X)に変更する必要がある時には、
対称性を用いて桁借り生成結果を置換する。
(X−Y)のままで良い時は、桁借り生成結果もそのままとする。
(X<Y)であるかどうかの判定は、桁借り生成結果の左端の符号を見れば分かる。最大桁(左端)の符号がYなら(X<Y)であり、Nなら(X>Y)である。ステップSAB3.ステップSAB2.で得た桁借り生成結果を減算器で使用した差の生成論理回路に入力し、差を生成する。
この値こそが差の絶対値である。
【0468】
しかし、この方法では必ずしも正しい結果を得ることはできない。そこで、図59に示す別の例を考える。即ち、
X=01111100, Y=00000010
の減算(X−Y)の場合、入力段で生成される3値符号は
(Q,N,N,N,N,N,Y,N) …(13)
である。(Y−X)の場合はどうか? 入力段で生成される3値符号は
(Q,Y,Y,Y,Y,Y,N,N) …(14)
である。
(13)と(14)を見比べると、一見、先程の対称性が成立しているように見える。確かに、左から7つ目までは対称的である。しかし、ビット0の符号(一番右)だけは例外である。(13)も(14)もビット0の符号は”N”である。この非対称性は、桁借りの生成結果にまで及ぶため、先の手順では差の絶対値を得ることはできない。
【0469】
6.5.3 3値符号による差の絶対値演算の手順
前述の2つの例において、前者はビット0を含めて対称性が成立していた。一方、後者はビット0に限り対称性が成り立っていなかった。前者の場合のX,Yのビット0はそれぞれ”1”,”0”で、後者の場合のX,Yのビット0は両方共”0”である。しかし、どちらの例でも生成される3値符号は同じ”N”であった。ここに、問題の本質がある。
【0470】
前者の例の場合、即ち、X,Yのビット0の数字が異なる場合、(X−Y)のXとYを交換すればビット0における大小関係も逆転する。従って、符号”N”を符号”Y”に置換するのは当然である。しかし、後者の例の場合、即ち、X,Yのビット0の数字が同じ場合、(X−Y)のXとYを交換してもビット0における大小関係は変わらない。従って、符号”N”を符号”Y”に置換するのは不自然である。同じ符号”N”であるにも関わらず、XとYを交換した場合の対処の仕方が2通りあるため、対称性が崩れてしまっているのである。このような事態は、「(X0−Y0)の演算で桁借りは起きない(”N”)。(Y0−X0)の演算では桁借りが起こる(”Y”)。」という場合と、「(X0−Y0)の演算で桁借りは起きない(”N”)。(Y0−X0)の演算でも桁借りは起きない(”N”)。」という場合を区別して扱う必要があることを示唆している。
【0471】
実は、単純な方法で、この事態を解決することが可能である。それはビット0の3値符号生成を、他のビットの3値符号生成と同様に行えば良いのである。ビット0以外では、(X,Y)のビットがそれぞれ(0,0)/(1,1)の時は「桁借りが起きるかどうか分からない。」という意味で符号”Q”を、(1,0)の時は「桁借りは起きない。」という意味で符号”N”を、(0,1)の時は「桁借りが起きる。」という意味で符号”Y”を生成する。ビット0の場合、(0,0)/(1,1)の時は「(X0−Y0)の演算で桁借りは起きない(”N”)。(Y0−X0)の演算でも桁借りは起きない(”N”)。」 という意味で符号”Q”を、(1,0)の時は「(X0−Y0)の演算で桁借りは起きない(”N”)。(Y0−X0)の演算では桁借りが起こる(”Y”)。」 という意味で符号”N”を、(0,1)の時は符号”Y”を生成すれば都合が良い。
【0472】
この符号の生成を、図60に示すように、先程示した後者の例(X=01111100,Y=00000010)に当てはめてみる。
(XーY)の場合、入力段で生成される3値符号は
(Q,N,N,N,N,N,Y,Q) …(15)
である。(Y−X)の場合は
(Q,Y,Y,Y,Y,Y,N,Q) …(16)
となる。明らかに、3値符号の対称性が成立している。即ち、(15)の符号をそれぞれ”Q”を”Q”に、”Y”を”N”に、”N”を”Y”に置換すると、(16)が得られる。桁借り生成結果も同様に対称性が成立している。
【0473】
但し、(15)を3値符号2分木のBLBアレイに入力し、桁借りの生成結果得ようとする場合、注意が必要である。減算器で用いたBLBアレイは、ビット0の確定的性質に基づいて単純化されたBLBアレイであった。即ち、ビット0の3値符号生成においては符号”Q”が用いられないことを利用し、内部の論理回路を単純化したものである。(15),(16)を見て明らかなように、差の絶対値演算においては、ビット0に符号”Q”が用いられる。従って、減算器とは異なり、単純化してないK論理回路KLのみで構成した2分木のBLBアレイが必要となる。
【0474】
この絶対値演算用のBLBアレイから得られる桁借り生成結果を解釈する場合にも、注意を払わねばならない。桁借り生成結果に符号”Q”が含まれる場合、必ずそれはビット0で生成された”Q”である。ビット0以外で生成された符号”Q”は、下位桁の”Y”/”N”で必ず打ち消されてしまうからである。ビット0で生成された符号”Q”は「下位桁に依存するので分からない」という意味を表しているのではない。前述したように、「(X0−Y0)の演算で桁借りは起きない(”N”)。(Y0−X0)の演算でも桁借りは起きない(”N”)。」 ことを意味している。従って、最終的な桁借り生成の場合は、符号”Q”を符号”N”に置き換えて行う必要がある。
【0475】
今までは(X−Y)の桁借りの生成結果から、(Y−X)の桁借りの生成結果を得る方法について考察を加えてきた。では、差の絶対値はどうやったら得られるのか。1ビットの場合、以下の関係が成り立つ。
これは減算器の出力段で差を生成するのと同じ関係((6)式)を示している。即ち、差の絶対値演算の最終的な桁借り生成が得られたなら、これ以降は減算における差を求める論理回路を用いて実現できる。
【0476】
以上の考察を基に得られた、3値符号を用いた正しい差の絶対値を得る手順を以下に示す。
ステップSAC1.(X−Y)を仮定し、減算器の入力段の回路(差の3値符号生成論理回路)を用いて、各桁の3値符号生成を行う。
ビット0も他のビットと同様に”Q”を用いた符号生成を行う。
ステップSAC2.生成された各桁の3値符号を絶対値演算用の3値符号2分木BLCアレイに入力し、桁借り生成を行う。
ステップSAC3.得られた桁借り生成結果の左端の符号に注目する。
左端の符号が”Y”なら(X<Y)であり桁借り生成結果の符号置換を行う。
”Q”なら(X=Y)であり桁借り生成結果の符号置換を行うか或いはそのままとする。
”N”なら(X>Y)であり桁借り生成結果はそのままとする。
ここでいう符号置換とは、”Q”を”Q”に、”Y”を”N”に、
”N”を”Y”にそれぞれ置き換えることである。
ステップSAC4.ステップSAC3の後、桁借り生成結果に符号”Q”が含まれていたら”N”に置き換える。
ステップSAC5.ステップSAC4より得られる
最終的な桁借り生成結果の符号は”Y”/”N”のみとなっている。
”Y”ならBi=1、”N”ならBi=0とし、
これを差の生成回路(減算器の出力段)に入力する。
また、3値符号生成入力段で得られる(Xi(+) Yi)の値も差の生成回路に入力する。
ステップSAC6.差の生成回路において、
(Xi(+) Yi(+) Bi)を演算し、出力する。
これこそが差の絶対値である。
【0477】
6.5.4 符号置換回路
前項の最後に述べた手順のステップSAC3,ステップSAC4での符号置換を実現する論理回路を、新たに作る必要がある。これ以外に必要となる論理回路は、第5実施例に係る減算器において得られている。
【0478】
即ち、nビット2進数における2数(X,Y)の差の絶対値演算を求める演算装置は、ビット0を含む全ビットについての差の3値符号を生成する判断ノード(差の3値符号生成回路)群、並びに、上位優先決定ノードマトリクス(単純化されないK論理回路マトリクス)による3値符号2分木BLBアレイと、差の絶対値演算における各桁の桁借りを生成する桁借り生成部と、差の生成部とを備えた構成である。
【0479】
ここで、桁借り生成部は、第n−1行第m列のK論理回路から生成された第n−1桁の桁借り生成結果に基づいて、2数の差(X−Y)の結果について符号を判定して符号判定信号SGNを出力する符号判定回路と、符号判定回路の符号判定の結果が負若しくは負またはゼロ(符号判定信号SGN=1)の場合には、第m列のK論理回路群の内、第n−1行のK論理回路を除いた第0行から第n−2行までのK論理回路の出力符号について、値符号”Q”を値符号”Q”に、値符号”Y”を値符号”N”に、値符号”N”を値符号”Y”にそれぞれ置換し、符号判定の結果が正またはゼロ若しくは正(符号判定信号SGN=0)の場合には、該符号置換を行わずにそのままし、その後、該符号置換或いはそのままとした結果出力について、それぞれ値符号”Q”を値符号”N”に置換して各桁の桁借りを得る第0行から第n−2行までの符号置換回路とを備えた構成である。
【0480】
図61には、{00,01,11,10}={Q,Q,Y,N}割り当てにおける、第i行(i=0〜n−2)の符号置換回路SCiの回路図(図61(a))と、符号判定の符号判定結果に基づく符号変換(最終桁借り生成)を説明する図表(図61(b)及び(c))とを示す。
【0481】
第0行から第n−2行までの符号置換回路SCiは2段で構成され、第1段目では対称符号置換が施される。即ち、排他的論理和ゲート回路GXAiにより、符号判定信号SGNと第0行から第n−2行までのK論理回路の出力符号Tij,0との排他的論理和をそれぞれとって、符号判定信号SGN=1のとき、K論理回路の出力符号Tij,0について、値符号”Q”を値符号”Q”に、値符号”Y”を値符号”N”に、値符号”N”を値符号”Y”にそれぞれ置換し、符号判定信号SGN=0のときには、該符号置換を行わずにそのままとする。また、第2段目では、論理積ゲート回路GAAiにより、排他的論理和ゲート回路GXAiの出力と第0行から第n−2行までのK論理回路の出力符号Tij,1との論理積をそれぞれとって、値符号”Q”を値符号”N”に置換して各桁の最終桁借りを得る。このとき、最終桁借り符号はY/Nの2値となるため、該出力は1ビットになる。
【0482】
この図から明らかなように、符号置換回路SCiは単純な論理でしかも高速である。尚且つ、この符号置換に要する時間はデータビット幅nに依存せず、定数のオーダーである。従って、従来の2の補数生成に用いられるインクリメンタに対して、演算時間及びハードウェア量の両方において優れているといえる。
【0483】
6.5.5 符号無し差の絶対値演算器の構成
3値符号を用い抽象的に表現された差の絶対値演算回路の構成を図62に示す。図中の符号判定回路は、{00,01,11,10}={Q,Q,Y,N}割り当てにおいては、論理積ゲート回路1個のみで実現できる。また、図中の各構成要素の回路構成について、図61(a)に示した符号置換回路SC0〜SC6の他は、第5実施例の減算器において既に示されており、入力段にある差の3値符号生成回路CGS0’及びCGS1〜CGS7は図47(b)に、K論理回路マトリクスを構成するK論理回路KL11〜KL17,KL22〜KL27及びKL34〜KL37は図5(d)に、出力段である差の生成段SG1〜SG7は図54(a)に、それぞれ示されている。
【0484】
尚、減算器(第5実施例)におけるBLBアレイの構成とは異なり、図62のBLBアレイでは、ビット0の差の3値符号生成回路CGS0’は他のビットの差の3値符号生成回路CGS1〜CGS7と同じものを使用し、また、K論理回路マトリクスは単純化されたK論理回路KLRを使用していない。これに伴って、ダミーノードKLD10’,KLD20’,KLD21’,KLD30’〜KLD33’も1ビット幅から2ビット幅に拡張されている。また、図62においてはビット0の差の生成段SG0が省略されているが、これについても図54(b)に示される通りである。
【0485】
6.5.6 符号有り差の絶対値演算器の構成
ここまでに述べてきた差の絶対値演算器は、符号無し2進数を仮定している。例えば、
X=0000B (=0D ),Y=1111B (=15D )の場合なら、
ABS(X−Y)=1111B (=15D )
という値を出力する。ここで、付記される”B”は2進数を、”D”は10進数をそれぞれ示している。
【0486】
一方、入力される2つの2進数を、2の補数を用いた符号有り2進数とみなした時、
X=0000B (=0D ),Y=1111B (=−1D )の場合なら、
ABS(X−Y)=0001B (=1D )
という値となる。このように、入力が全く同じ場合(X=0000,Y=1111)でも意味が異なるため、出力は異なる。従って、図62の符号無し差の絶対値演算器をそのままの形で、符号有り差の絶対値演算器として使用することはできない。
【0487】
しかしながら、驚くべきことに、図62の符号無し差の絶対値演算器に僅かな変更を加えるだけで、符号有り差の絶対値演算器を得ることができる。即ち、入力X,YのそれぞれのMSBを交換して、入力に加えるだけでよい。図63は符号有り差の絶対値演算器の構成図である。同図において、2数のMSB(ビット7)についての3値符号生成を行う3値符号生成回路CGS7’は、桁値X7を桁値Y7として、桁値Y7を桁値X7として、それぞれ扱い、他のビットの3値符号生成回路CGS0’,CGS1〜CGS6におけるXi,Yiの扱いと逆になっている。
【0488】
6.5.7 3値符号2分木の差の絶対値演算器適用の効果
以上説明したように、本実施例の差の絶対値演算器では、2数(X,Y)の差の絶対値演算を求める場合に、3値符号生成回路群及び単純化されないK論理回路マトリクスによる3値符号2分木BLBアレイを使用し、先ず、差の3値符号生成回路群によって、ビット0を含む全ビットについての差の3値符号生成を行う。これにより、(X−Y)時の3値符号生成と(Y−X)時の3値符号生成が対照的になり、従って、桁借り生成結果も(X−Y)時と(Y−X)時とで対照的になる。このため、(X−Y)を仮定して桁借り生成を行った後、該桁借り生成結果を元にして極めて簡単な方法で(Y−X)時の桁借り生成結果を得ることができる。
【0489】
次に、差の3値符号生成回路によって生成されたビット0を含む全ビットについての差の3値符号生成をK論理回路マトリクスに与えて、各桁の桁借り生成を行う。桁借り生成の結果も3値符号で出力されるが、該出力は入力段での3値符号生成で規定した対称性が維持されている。従って、(X−Y)時の桁借り生成結果から、容易に(Y−X)時の桁借り生成結果を得ることができる。
【0490】
また、差の3値符号生成回路によって生成されたビット0を含む全ビットについての差の3値符号生成を単純化されないK論理回路マトリクスに与えて、各桁の桁借りを生成した後、MSBの桁借り生成結果に基づいて、2数の差の結果について符号を判定する。MSBの桁借り生成結果の符号が”Y”ならX<Yであり、桁借り生成結果の符号置換を行い、結果の符号が”Q”ならX=Yであり、桁借り生成結果の符号置換を行うか或いはそのままとし、結果の符号が”N”ならX>Yであり、桁借り生成結果をそのままとする。尚、対称符号置換では、値符号”Q”を値符号”Q”に、値符号”Y”を値符号”N”に、値符号”N”を値符号”Y”にそれぞれ置き換える。これにより、(X−Y)の桁借り生成結果から、(Y−X)の桁借り生成結果を簡単に得ることができ、理想的な演算変換を実現できる。
【0491】
また符号置換の後、更に、該置換結果またはK論理回路の出力符号について、値符号”Q”を値符号”N”に置換して各桁の桁借りを得る。つまり、符号置換後の値符号”Q”は、「桁借りは起きない」ことを意味していることに注目し、値符号”Q”を値符号”N”に置き換えるものである。値符号”Q”を値符号”N”に置き換えた後の桁借り生成結果は、値符号”Y”と値符号”N”のみとなり、値符号”Y”は「桁借りが起きる」こと、即ち桁上りBi=1を、また値符号”N”は「桁借りが起きない」こと、即ち桁上りBi=0をそれぞれ意味していることとなる。これは減算器における桁借り生成結果と同じであり、従って、ここより先は減算器と同様の論理回路を用いて、差の絶対値演算器を実現することができる。
【0492】
また、「従来の技術」で説明したように、従来、頻繁に用いられてきた差の絶対値演算器の実現方法は2つある。1つは2つの減算器を用いて(X−Y)と(Y−X)を並列に行う方法(第2の方法)であり、高速であるがゲート数が多いという特徴があった。もう1つは1つの減算器と1つのインクリメンタを用いて(X−Y)を行い必要に応じて2の補数を生成する方法(第3の方法)であり、ゲート数こそ少ないが低速であるという特徴があった。この第2及び第3の方法による差の絶対値演算器と本発明による差の絶対値演算器におけるゲート数及び遅延についての定性的な比較を図64に示す。
【0493】
一般にN≧8程度の実用的な範囲においては以下のような関係が成り立つ。
(a) ゲート数について、
kT N+kA log2 N (本発明の差の絶対値演算器)
≦1.4kA Nlog2 N (第3の方法による差の絶対値演算器)
≦kS N+kA 2Nlog2 N(第2の方法による差の絶対値演算器)
(b) 遅延について、
CT +CA log2 N (本発明の差の絶対値演算器)
≒ CS +CA log2 N (第2の方法による差の絶対値演算器)
≦ CS +CA 2log2 N (第3の方法による差の絶対値演算器)
【0494】
従って、本発明による差の絶対値演算器は、従来の差の絶対値演算器と比べて、ゲート数及び信号伝搬遅延の両方の点において優れているといえる。
【0495】
【発明の効果】
以上説明したように、本発明の演算装置及びその演算方法、並びに、該演算方法をプログラムとして記憶した記憶媒体によれば、順序依存性のある判断の系列構造を不確定符号2分木構造に変換すれば、その処理時間は高々log2 nを越える最小の整数個分の和となってより高速に処理することが可能となり、また効率良く並列処理可能な高速演算装置を実現することも可能である。
【0496】
また、本発明の演算装置及びその演算方法、並びに、該演算方法をプログラムとして記憶した記憶媒体によれば、順序依存性のある判断の系列構造を完全2分木状の構造に変換すれば、その処理時間は高々log2 nを越える最小の整数個分の和となってより高速に処理することが可能となり、また効率良く並列処理可能な高速演算装置を実現することも可能である。
【0497】
更に、本発明の演算装置及びその演算方法、並びに、該演算方法をプログラムとして記憶した記憶媒体によれば、任意のR進数における2数の比較、加算、減算、差の絶対値演算等の各種演算における順序依存性のある判断の系列構造を完全2分木状の構造に変換すれば、その処理時間は高々log2 nを越える最小の整数個分の和となってより高速に処理することが可能となり、また効率良く並列処理可能な高速演算装置を実現することも可能である。
【図面の簡単な説明】
【図1】プライオリティエンコーダにおける順序依存性を持つ判断の系列構造の概念説明図である。
【図2】順序依存性を持つ判断の系列構造及び依存入出力を持つ判断ノードの定義を説明する概念説明図である。
【図3】従来のプライオリティエンコーダの論理回路図である。
【図4】順序依存性を持つ判断の系列構造の論理回路における典型構造を説明する説明図である。
【図5】依存入出力を持たない判断ノードの定義を説明する概念説明図である。
【図6】上位優先決定ノードの定義を説明する概念説明図である。
【図7】不確定符号2分木の定義を説明する概念説明図である。
【図8】プライオリティエンコーダにおける依存入出力を持つ判断ノードを包含する依存入出力を持たない判断ノードの概念説明図である。
【図9】プライオリティエンコーダを実現する不確定符号2分木の概念説明図である。
【図10】図10(a)は不確定符号2分木の符号体系の説明図、図10(b)は各判断ノードの真理値表、図10(c)は上位決定優先ノードの真理値表である。
【図11】本発明の第1実施例に係るプライオリティエンコーダの判断ノード、上位優先決定ノードによる不確定符号2分木論理回路図である。
【図12】第1実施例のプライオリティエンコーダの不確定符号2分木論理回路図を論理圧縮し最適化していく過程の説明図(その1)である。
【図13】第1実施例のプライオリティエンコーダの不確定符号2分木論理回路図を論理圧縮し最適化していく過程の説明図(その2)である。
【図14】第1実施例のプライオリティエンコーダの不確定符号2分木論理回路図を論理圧縮し最適化していく過程の説明図(その3)である。
【図15】第1実施例のプライオリティエンコーダの不確定符号2分木論理回路図を論理圧縮し最適化していく過程の説明図(その4)である。
【図16】第1実施例のプライオリティエンコーダの不確定符号2分木論理回路図を論理圧縮し最適化していく過程の説明図(その5)である。
【図17】第1実施例のプライオリティエンコーダの不確定符号2分木論理回路の圧縮・最適化により最終的に得られた論理回路図である。
【図18】本発明の第2実施例に係る8ビット入力4ビット出力のビットシフト量計数用プライオリティエンコーダの真理値表である。
【図19】第2実施例のビットシフト量計数用プライオリティエンコーダの構成図である。
【図20】比較における人間の順序的思考の概念を説明する概念説明図である。
【図21】加算における人間の思考の概念を説明する概念説明図である。
【図22】加算における人間の順序的思考の概念を説明する概念説明図である。
【図23】減算における人間の思考の概念を説明する概念説明図である。
【図24】減算における人間の順序依存性を持つ判断の系列を説明する説明図である。
【図25】本発明の原理説明図であり、3値符号2分木とその構成要素となる判断ノード及び上位優先決定ノードの概念説明図である。
【図26】K演算子の定義とその論理関数を説明する説明図である。
【図27】比較の場合の3値符号生成を説明する真理値表及び比較の3値符号生成回路の回路図である。
【図28】3値符号2分木を2進数論理回路で実現した場合の一般的な構造を示す構成図である。
【図29】本発明の第3実施例に係る8ビット2進数の符号無し比較器の構成図である。
【図30】本発明の第3実施例に係る8ビット2進数の符号有り比較器の構成図である。
【図31】3値符号の真理値表を例示する説明図である。
【図32】極性最適化したK論理回路の回路図である。
【図33】極性最適化した8ビット2進数符号無し比較器の構成図である。
【図34】加算の場合の3値符号生成を説明する真理値表及び和の3値符号生成回路の回路図である。
【図35】ビット0の確定的性質に基づく真理値表とビット0の和の3値符号生成回路の回路図である。
【図36】ビット0の確定的性質により単純化されるK論理回路の説明図である。
【図37】本発明の第4実施例に係る8ビット2進数の桁上げ生成2分木の構成図である。
【図38】8ビット2進数のMSBの和を生成する回路の回路図である。
【図39】本発明の第4実施例に係るBLCアレイの構成図である。
【図40】本発明の第4実施例に係る極性最適化したBLCアレイの構成図である。
【図41】本発明の第4実施例に係る縮小したBLCアレイと和生成部によるBLC加算方式の加算器の構成図である。
【図42】図41のBLC加算方式の加算器における和生成回路を他の構成とした変形例の構成図(その1)である。
【図43】図41のBLC加算方式の加算器における和生成回路を他の構成とした変形例の構成図(その2)である。
【図44】3値符号2分木の符号割り当ての説明図であり、その代表のK論理回路の回路図(その1)である。
【図45】3値符号2分木の符号割り当ての説明図であり、その代表のK論理回路の回路図(その2)である。
【図46】本発明の他の割り当てである{Y,F,N,Q}互換による比較器・加算器の構成要素の回路図である。
【図47】減算の場合の3値符号生成を説明する真理値表及び差の3値符号生成回路の回路図である。
【図48】ビット0の確定的性質に基づく真理値表とビット0の差の3値符号生成回路の回路図である。
【図49】ビット0の確定的性質により単純化されるK論理回路の説明図である。
【図50】本発明の第5実施例に係る8ビット2進数の桁借り生成2分木の構成図である。
【図51】本発明の第5実施例に係る8ビット2進数の桁借りを生成するBLBアレイの構成図である。
【図52】極性最適化したK論理回路の回路図である。
【図53】極性最適化した8ビット2進数の桁借りを生成するBLBアレイの構成図である。
【図54】BLBアレイを用いた減算器の桁借り生成から差の生成までの構成を説明する部分構成図である。
【図55】本発明の第5実施例に係る減算器の入力段から桁借り生成までを構成する縮小したBLBアレイのの構成図である。
【図56】縮小BLBアレイを用いた減算器の桁借り生成から差の生成までの構成を説明する部分構成図である。
【図57】排他的論理和ゲート回路及び排他的否定論理和ゲート回路の内部回路図である。
【図58】減算において生成される3値符号を比較する説明図(その1:一見、対称性が成立して見える例)である。
【図59】減算において生成される3値符号を比較する説明図(その2:ビット0において対称性が成立しない例)である。
【図60】ビット0の3値符号生成を対称的にした場合の3値符号の比較を説明する説明図である。
【図61】本発明の第6実施例に係る差の絶対値演算器における符号置換回路の回路図と符号判定の符号判定結果に基づく符号変換(最終桁借り生成)を説明する図表の説明図である。
【図62】本発明の第6実施例に係る符号無し差の絶対値演算器の全体構成図である。
【図63】本発明の第6実施例に係る符号有り差の絶対値演算器の全体構成図である。
【図64】従来の第2及び第3の方法による差の絶対値演算器と本発明による差の絶対値演算器におけるゲート数及び遅延についての定性的な比較を説明する説明図である。
【図65】8ビット入力4ビット出力のプライオリティエンコーダの真理値表である。
【図66】プライオリティエンコーダの適用例としてのバス調停を説明する説明図である。
【図67】従来の8ビット入力4ビット出力のプライオリティエンコーダの論理回路図である。
【図68】従来の8ビットBLC加算方式によるBLC加算器におけるBLCアレイの構成図である。
【図69】従来の8ビットBLC加算方式によるBLC加算器における入力段の回路図である。
【図70】従来の符号有り2進数比較器の構成図である。
【図71】1ビット2進数の減算の定義、並びに、XにYの2の補数を加算してX−Yの減算を行う場合の真理値表を示す説明図である。
【図72】従来の加算器を用いた減算器の構成図である。
【図73】従来の第2の方法による差の絶対値演算器の構成図である。
【図74】従来の第3の方法による差の絶対値演算器の構成図である。
【符号の説明】
GOV1〜GOV7,GO25〜GO27,GO13〜GO17,GO02〜GO07,GOV01,GOV23,GOV45,GOV67,GOV03,GOV47,GOV07…論理和ゲート回路、GN01…否定論理ゲート回路、DCB,DCA…論理ゲート回路、L0a,L1a,L0b,L1b,L0〜L7…判断ノード、N01a,N01b,N01c,N01,N23c,N23,N45,N67,N03a,N03b,N03,N47b,N47,N07a,N07…上位優先決定ノード、SL011〜SL013,SL031〜SL033,SL471,SL071〜SL073…セレクタ、GOZ01,GOZ23,GOZ45,GOZ67,GOZ03,GOZ47,GOZ07…論理和ゲート回路、GNZ01,GNZ23,GNZ45,GNZ67,GNZ03,GNZ47,GNZ07…否定論理ゲート回路、ZL0〜ZL7…判断ノード、ZN01,ZN23,ZN45,ZN67,ZN03,ZN47,ZN07…上位優先決定ノード、SZ031,SZ471,SZ071〜SZ072…セレクタ、KL…K論理回路(上位優先決定ノード)、GO1…論理和ゲート回路、SL1…セレクタ(選択手段)、Ti,1 ,Tj,1 …K論理回路の入力(符号)、Tij,1,Tij,0…K論理回路の出力(符号)、CGC…比較器の3値符号生成回路(判断ノード)、GXO1…排他的論理和ゲート回路、SGN1…接続線、Xi,Yi…3値符号生成回路の入力(符号)、Ti,1 ,Ti,0 …3値符号生成回路の出力(符号)、CGC0〜CGC7…比較の3値符号生成回路、KL11,KL21,KL22,KL31〜KL34…K論理回路、T70,^T70…K論理回路KL11の出力(符号)、X0〜X7,Y0〜Y7…3値符号生成回路の入力(符号)、T0 〜T7 …3値符号生成回路の出力(符号)、T10,T32,T54,T76,T30,T74…K論理回路KL11の出力(符号)、KLPN,KLPN11,KLPN31〜KLPN34…正論理入力・負論理出力のK論理回路、GNO1…否定論理和ゲート回路、SL2…セレクタ(第2選択手段)、KLNP,KLNP21,KLNP22…負論理入力・正論理出力のK論理回路、GNA1…否定論理積ゲート回路、SL3…セレクタ(第3選択手段)、CGA,CGA’…加算器の3値符号生成回路(判断ノード)、GNX1…排他的否定論理和ゲート回路、SGA1,SGA2…接続線、CGA0…ビット0の和の3値符号生成回路、GNO2…否定論理和ゲート回路、GNA2…否定論理積ゲート回路、SL4…セレクタ(選択手段)、KLR…単純化されたK論理回路、CGA0〜CGA7…和の3値符号生成回路、KL21o,KL31o〜KL33o…K論理回路、KLR11o,KLR22o,KLR34o…単純化されたK論理回路、Cout…桁上げ信号(外部出力)、KL217,KL317,KL327,KL337…K論理回路、KLR117,KLR227…単純化したK論理回路、KLD347…ダミーノード、GN1…否定論理ゲート回路、GXO2…排他的論理和ゲート回路、S7…MSBについての和の結果、KLD10,KLD20,KLD21,KLD30〜KLD33…K論理回路(ダミーノード)、KLR11,KLR22,KLR23,KLR34〜KLR37…単純化したK論理回路、KL12〜KL17,KL24〜KL27…K論理回路、KLDPN10,KLDNP20,KLDNP21,KLDPN30〜KLDPN33…K論理回路(反転ダミーノード)、KLRPN11,KLRNP22,KLRNP23,KLRPN34〜KLRPN37…単純化したK論理回路、KLPN12〜KLPN17,KLNP24〜KLNP27…K論理回路、GN6,GN7…否定論理ゲート回路、100…和生成回路、S0〜S7…和出力、SL7,SLA7…セレクタ(桁上げ生成手段)、SLB7…セレクタ(和生成選択手段)、GXO6,GXO7,GXA7,GXB72…排他的論理和ゲート回路、GXNA6,GXNB6,GXB73…排他的否定論理和ゲート回路、CGCa…比較器の3値符号生成回路、GN11…否定論理ゲート回路、GNO11,GNO12…否定論理和ゲート回路、GAB71,GNA11,GNA12…否定論理積ゲート回路、CGAa…加算器の3値符号生成回路、KLaPN…正論理入力・負論理出力のK論理回路、KLaNP…負論理入力・正論理出力のK論理回路、GC1〜GC9…複合論理ゲート回路、GA1…論理積ゲート回路、GA21…否定論理積ゲート回路、GNO21…否定論理和ゲート回路、SL11…セレクタ、GX11,GX12…排他的論理和ゲート回路、CGSi…減算器の3値符号生成回路(判断ノード)、GX21…排他的論理和ゲート回路、SGS…接続線、CGS0〜CGS7…差の3値符号生成回路、CGS0,CGS0’…ビット0の差の3値符号生成回路、GNO21…否定論理和ゲート回路、GNA21…否定論理積ゲート回路、Bout…桁借り信号(外部出力)、GN21…否定論理ゲート回路、GXO2…排他的論理和ゲート回路、D7…MSBについての差の結果、D0〜D7…差出力、SLK7…セレクタ(桁借り生成手段)、GXD6,GXD7…排他的論理和ゲート回路、GXK0,GXD0,GXD1…排他的論理和ゲート回路、INV1〜INV6…インバータ、GT1〜GT4…トランスファーゲート、GXAi、GAAi、KLD10’,KLD20’,KLD21’,KLD30’〜KLD33’…K論理回路(2ビットのダミーノード)、SD…符号判定回路、SC0〜SC6…符号置換回路、SG1〜SG7…差の生成段。
Claims (57)
- 順序依存性のある判断の系列を含む問題を、依存入出力を持たない判断処理を葉(leaf)とし、上位優先決定処理を前記葉以外の他のノードとする2分木(binary tree )でモデル化して解く演算装置の演算方法であって、
前記依存入出力を持たない判断処理は、前記判断に対応して、R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力し、
前記上位優先決定処理は、前記判断の系列に対応する2つの依存入出力を持たない判断処理の仮の結論または前段における2つの上位優先決定処理の仮の結論を入力とし、上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論を仮の結論とし、上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断処理の仮の結論または下位にある上位優先決定処理の仮の結論を仮の結論として出力し、
上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許され、
前記2分木の葉となる全判断処理、並びに、前記2分木において同じ深さにある全上位優先決定処理を、それぞれ並列に処理し、前記2分木の根(root)となる上位優先決定処理の仮の結論を前記問題の結論とする
演算装置の演算方法。 - R進数または論理値情報の数量である単数または複数のデータ入力と”有効”または”無効”の2値情報である依存入力に基づいて、前記データ入力及び前記依存入力が共に有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ判断ノードをN個(Nは任意の正整数)有し、
前記依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの前記依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの前記依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの前記依存入力として接続されることにより構成される順序依存性のある判断の系列構造でモデル化できる全ての問題を、
R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードをN個有し、
前記N個の依存入出力を持たない判断ノードを葉(leaf)とする2分木(binary tree )構造に、
変換する演算装置の演算方法であって、
前記依存入出力を持つ判断ノードを、
R進数または論理値情報の数量である単数または複数のデータ入力と常に”有効”である依存入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ内包判断ノードと、前記内包判断ノードの依存出力が”有効”になったときに不確定符号”Q”を出力する不確定符号発生ノードとを有し、当該依存入出力を持たない判断ノードの仮の結論として前記不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードに置き換え、
前記依存入出力を持たない判断ノードを葉とし、上位優先決定ノードを構成要素とする2分木を形成し、
前記上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一で ある必要はなく、符号表現の縮約の変換を行うことが許される
演算装置の演算方法。 - R進数または論理値情報の数量である単数または複数のデータ入力と”有効”または”無効”の2値情報である依存入力に基づいて、前記データ入力及び前記依存入力が共に有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ判断ノードをN個(Nは任意の正整数)有し、
前記依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの前記依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの前記依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの前記依存入力として接続されることにより構成される順序依存性のある判断の系列構造でモデル化できる全ての問題を、
R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力するN個の依存入出力を持たない判断ノードと、
前記判断の系列に対応する2つの依存入出力を持たない判断ノードの仮の結論または当該上位優先決定ノードの前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を当該上位優先決定ノードの仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を当該上位優先決定ノードの仮の結論として出力する上位優先決定ノードと、を有し、
前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )構造に、
変換する演算装置の演算方法であって、
前記上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許され、
前記依存入出力を持つ判断ノードを、
R進数または論理値情報の数量である単数または複数のデータ入力と常に”有効”である依存入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ内包判断ノードと、前記内包判断ノードの依存出力が”有効”になったときに不確定符号”Q”を出力する不確定符号発生ノードとを有し、当該依存入出力を持たない判断ノードの仮の結論として前記不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードに置き換える
演算装置の演算方法。 - nビット2進数のデータ入力に対して、最上位ビットから最下位ビットの方向で最初に”1”または”0”であるビット位置を、或いは、最上位ビットから最下位ビットの方向に”1”または”0”の連続する数をそれぞれ2進数数値として出力するプライオリティエンコード機能を、依存入出力を持たない判断処理を葉(leaf)とし、上位優先決定処理を前記葉以外の他のノードとする2分木(binary tree )でモデル化して解く演算装置の演算方法であって、
前記依存入出力を持たない判断処理は、前記データ入力の各ビットに対応して、1ビットのデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力し、
前記上位優先決定処理は、前記データ入力の各ビットに対応する2つの依存入出力を持たない判断処理の仮の結論または前段における2つの上位優先決定処理の仮の結論を入力とし、上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論を仮の結論とし、上位の依存入出力を持たない判断処理の仮の結論または上位にある上位優先決定処理の仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断処理の仮の結論または下位にある上位優先決定処理の仮の結論を仮の結論として出力し、
上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許され、
前記2分木の葉となる全判断処理、並びに、前記2分木において同じ深さにある全上位優先決定処理を、それぞれ並列に処理し、前記2分木の根(root)となる上位優先決定ノードの仮の結論を前記プライオリティエンコードの結論とする
演算装置の演算方法。 - 請求項1記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶した
コンピュータにより読み取り可能な記憶媒体。 - 請求項2記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶した
コンピュータにより読み取り可能な記憶媒体。 - 請求項3記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶した
コンピュータにより読み取り可能な記憶媒体。 - 請求項4記載の演算装置の演算方法をコンピュータに実行させるためのプログラムとして記憶した
コンピュータにより読み取り可能な記憶媒体。 - 順序依存性のある判断の系列を含む問題を解く演算装置であって、
前記判断に対応して、R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードと、
前記判断の系列に対応する2つの依存入出力を持たない判断ノードの仮の結論または前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を仮の結論として出力する上位優先決定ノードと、を有し、
前記上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許され、
前記問題を、前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )でモデル化して、前記葉となる全判断ノード、並びに、前記2分木において同じ深さにある全上位優先決定ノードを、それぞれ同時に処理し、前記2分木の根(root)となる上位優先決定ノードの仮の結論を前記問題の結論とする
演算装置。 - R進数または論理値情報の数量である単数または複数のデータ入力と”有効”または”無効”の2値情報である依存入力に基づいて、前記データ入力及び前記依存入力が共に有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ判断ノードをN個(Nは任意の正整数)有し、
前記依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの前記依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの前記依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの前記依存入力として接続されることにより構成される順序依存性のある判断の系列構造を、
R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードをN個有し、
前記N個の依存入出力を持たない判断ノードを葉(leaf)とする2分木(binary tree )構造に、
変換して構成する演算装置であって、
前記依存入出力を持つ判断ノードを、
R進数または論理値情報の数量である単数または複数のデータ入力と常に”有効”である依存入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ内包判断ノードと、前記内包判断ノードの依存出力が”有効”になったときに不確定符号”Q”を出力する不確定符号発生ノードとを有し、仮の結論として前記不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードに置き換え、
前記依存入出力を持たない判断ノードを葉とし、上位優先決定ノードを構成要素とする2分木を形成し、
前記上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許される
演算装置。 - R進数または論理値情報の数量である単数または複数のデータ入力と”有効”または”無効”の2値情報である依存入力に基づいて、前記データ入力及び前記依存入力が共に有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ判断ノードをN個(Nは任意の正整数)有し、
前記依存入出力を持つ判断ノード間に相対的な順序関係が存在し、最上位の依存入出力を持つ判断ノードの前記依存入力が常に”有効”であり、より上位に位置する依存入出力を持つ判断ノードの前記依存出力が該依存入出力を持つ判断ノードの1つ下位に位置する依存入出力を持つ判断ノードの前記依存入力として接続されることにより構成される順序依存性のある判断の系列構造を、
R進数または論理値情報の数量である単数または複数のデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力するN個の依存入出力を持たない判断ノードと、
前記判断の系列に対応する2つの依存入出力を持たない判断ノードの仮の結論または前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を仮の結論として出力する上位優先決定ノードと、を有し、
前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )構造に、
変換して構成する演算装置であって、
前記上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許され、
前記依存入出力を持つ判断ノードを、
R進数または論理値情報の数量である単数または複数のデータ入力と常に”有効”である依存入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、R進数または論理値情報の数量である結論出力と”有効”または”無効”の2値情報である依存出力を出力する依存入出力を持つ内包判断ノードと、前記内包判断ノードの依存出力が”有効”になったときに不確定符号”Q”を出力する不確定符号発生ノードとを有し、仮の結論として前記不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードに置き換えた
演算装置。 - nビット2進数のデータ入力に対して最上位ビットから最下位ビットの方向で最初に”1”または”0”であるビット位置を2進数数値として出力するプライオリティエンコード機能を備えた演算装置であって、
前記データ入力の各ビットに対応して、1ビットのデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードと、
前記データ入力の各ビットに対応する2つの依存入出力を持たない判断ノードの仮の結論または前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を仮の結論として出力する上位優先決定ノードと、を有し、
前記上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許され、
前記プライオリティエンコード機能を、前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )でモデル化して、前記葉となる全判断ノード、並びに、前記2分木において同じ深さにある全上位優先決定ノードを、それぞれ同時に処理し、前記2分木の根(root)となる上位優先決定ノードの仮の結論を前記プライオリティエンコードの結論とする
演算装置。 - 前記2分木は、葉となる前記判断ノードをn個有し、
前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木は、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (NsはNs+1 /2を越える最小の整数)個、それぞれ有し、
前記判断ノードは、対応する前記データ入力のビット信号線であり、
前記部分2分木の深さmのノードとなる下位より第pm 番目(pm =1〜Nm)の上位優先決定ノードは、
前記データ入力の第(2×pm −2)ビット信号線及び第(2×pm −1)ビット信号線をそれぞれ第0ビット入力及び第1ビット入力とし、
前記第0ビット入力及び第1ビット入力の論理和をとって第1ビット出力として出力する論理和手段と、
前記第1ビット入力を第0ビット出力として出力する接続線と、を有し、
前記部分2分木の深さsのノードとなる下位より第ps 番目(ps =1〜Ns)の上位優先決定ノードは、
前記部分2分木の深さ(s+1)のノードとなる第(2×ps −1)番目の上位優先決定ノードの第0ビット出力から第(m−s)ビット出力をそれぞれ下位の第0ビット入力から第(m−s)ビット入力とし、前記部分2分木の深さ(s+1)のノードとなる第(2×ps )番目の上位優先決定ノードの第0ビット出力から第(m−s)ビット出力をそれぞれ上位の第0ビット入力から第(m−s)ビット入力とし、
前記下位の第(m−s)ビット入力及び前記上位の第(m−s)ビット入力の論理和をとって第(m−s+1)ビット出力として出力する論理和手段と、
前記上位の第(m−s)ビット入力を第(m−s)ビット出力として出力する接続線と、
(m−s+1)個の選択手段と、を有し、
下位から第q番目(q=1〜m−s+1)の選択手段は、前記上位の第(m−s)ビットを選択入力とし、該選択入力が”真”のときに前記上位の第(q−1)ビット入力を、該選択入力が”偽”のときに前記下位の第(q−1)ビット入力をそれぞれ選択して第(q−1)ビット出力として出力する
請求項12記載の演算装置。 - nビット2進数のデータ入力に対して最上位ビットから最下位ビットの方向に”1”または”0”の連続する数を2進数数値として出力するプライオリティエンコード機能を備えた演算装置であって、
前記データ入力の各ビットに対応して、1ビットのデータ入力に基づいて、前記データ入力が有効になった時点で所定の判断を実行し、仮の結論として”確定できない”旨の不確定符号”Q”と数量とを一元化した形式の符号を出力する依存入出力を持たない判断ノードと、
前記データ入力の各ビットに対応する2つの依存入出力を持たない判断ノードの仮の結論または前段における2つの上位優先決定ノードの仮の結論を入力とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”でない場合には該上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論を仮の結論とし、上位の依存入出力を持たない判断ノードの仮の結論または上位にある上位優先決定ノードの仮の結論が不確定符号”Q”である場合には下位の依存入出力を持たない判断ノードの仮の結論または下位にある上位優先決定ノードの仮の結論を仮の結論として出力する上位優先決定ノードと、を有し、
前記上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許され、
前記プライオリティエンコード機能を、前記依存入出力を持たない判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )でモデル化して、前記葉となる全判断ノード、並びに、前記2分木において同じ深さにある全上位優先決定ノードを、それぞれ同時に処理し、前記2分木の根(root)となる上位優先決定ノードの仮の結論を前記プライオリティエンコードの結論とする
演算装置。 - 前記2分木は、葉となる前記判断ノードをn個有し、
前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木は、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有し、
前記判断ノードは、対応する前記データ入力のビット信号線であり、
前記部分2分木の深さmのノードとなる下位より第pm 番目(pm =1〜Nm)の上位優先決定ノードは、
前記データ入力の第(2×pm −2)ビット信号線及び第(2×pm −1)ビット信号線をそれぞれ第0ビット入力及び第1ビット入力とし、
前記第0ビット入力及び第1ビット入力の論理和をとって第1ビット出力として出力する論理和手段と、
前記第1ビット入力の否定をとって第0ビット出力として出力する否定論理手段と、を有し、
前記部分2分木の深さsのノードとなる下位より第ps 番目(ps =1〜Ns)の上位優先決定ノードは、
前記部分2分木の深さ(s+1)のノードとなる第(2×ps −1)番目の上位優先決定ノードの第0ビット出力から第(m−s)ビット出力をそれぞれ下位の第0ビット入力から第(m−s)ビット入力とし、前記部分2分木の深さ(s+1)のノードとなる第(2×ps )番目の上位優先決定ノードの第0ビット出力から第(m−s)ビット出力をそれぞれ上位の第0ビット入力から第(m−s)ビット入力とし、
前記下位の第(m−s)ビット入力及び前記上位の第(m−s)ビット入力の論理和をとって第(m−s+1)ビット出力として出力する論理和手段と、
前記上位の第(m−s)ビット入力の否定をとって第(m−s)ビット出力として出力する否定論理手段と、
(m−s+1)個の選択手段と、を有し、
下位から第q番目(q=1〜m−s+1)の選択手段は、前記上位の第(m−s)ビットを選択入力とし、該選択入力が”真”のときに前記上位の第(q−1)ビット入力を、該選択入力が”偽”のときに前記下位の第(q−1)ビット入力をそれぞれ選択して第(q−1)ビット出力として出力する
請求項14記載の演算装置。 - 順序依存性のある判断の系列を含む問題を解く演算装置であって、
前記判断に対応して、1または複数個の入力情報に基づく結果として”真”、”偽”、及び、”真または偽のどちらでもない、或いは、わからない”の何れかを出力する判断ノードと、
前記判断の系列に対応する2つの判断ノードの判断結果または前段における2つの上位優先決定ノードの判断結果を入力とし、上位の判断ノードまたは上位にある上位優先決定ノードの判断結果が”真”または”偽”である場合には該上位の判断ノードまたは上位にある上位優先決定ノードの判断結果を出力し、上位の判断ノードまたは上位にある上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には下位の判断ノードまたは下位にある上位優先決定ノードの判断結果を出力する上位優先決定ノードと、を有し、
前記上位優先決定ノードにおいては、入力される符号と出力される符号の表現は同一である必要はなく、符号表現の縮約の変換を行うことが許され、
前記問題を、前記判断ノードを葉(leaf)とし、前記上位優先決定ノードを前記葉以外の他のノードとする2分木(binary tree )でモデル化して、前記葉となる全判断ノード、並びに、前記2分木において同じ深さにある全上位優先決定ノードを、それぞれ同時に処理する
演算装置。 - 前記演算装置が任意のR進数における2数の比較を行うものであって、該2数の各桁についての比較判断が前記順序依存性のある判断の系列を形成する場合に、
前記判断ノードは、同位桁の2数の差の結果が正になるときに”真または偽”を、該結果が負になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力する
請求項16記載の演算装置。 - 前記演算装置が任意のR進数における2数の加算を行うものであって、各桁における桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、
前記判断ノードは、同位桁の2数の和の結果がR以上になるときに”真または偽”を、該結果が(R−2)になるときに”偽または真”を、該結果が(R−1)になるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力する
請求項16記載の演算装置。 - 前記演算装置が任意のR進数における2数の減算を行うものであって、各桁における桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、
前記判断ノードは、同位桁の2数の差の結果が負になるときに”真または偽”を、該結果が正になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ出力する
請求項16記載の演算装置。 - 順序依存性のある判断の系列における判断がn個であるときに、
前記2分木は、葉(leaf)となる前記判断ノードをn個有し、
前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木は、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有する
請求項16記載の演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、 前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とする
請求項16記載の演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、
任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号”Q”を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、
前記K演算子は、
Ti KTj =Tij
(Ti,1 ,Ti,0 )K(Tj,1 ,Tj,0 )=(Tij,1,Tij,0)
=(Ti,1 +Tj,1 ,Ti,1 ・Ti,0 +^Ti,1 ・Tj,0 )
として与えられる
請求項16記載の演算装置。 - 前記上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有する
請求項22記載の演算装置。 - 順序依存性のある判断の系列における判断をn個とし、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有するときに、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり^符号Tij,0として出力する第2選択手段と、を有し、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードは、
前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段と、を有する
請求項22記載の演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、
任意の符号Xが、前記値符号”Y”を{00}、前記値符号”N”を{11}、前記値符号”Q”を{10}とし、{01}を使用禁止(値符号”F”)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、
前記K演算子は、
Ti KTj =Tij
(Ti,1 ,Ti,0 )K(Tj,1 ,Tj,0 )=(Tij,1,Tij,0)
=(Ti,0 +Ti,1 ・Tj,1 ,Ti,0 +Ti,1 ・Tj,0 )
として与えられる
請求項16記載の演算装置。 - 前記上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理積と前記符号Ti,0 との論理和をとって符号Tij,1として出力する第1の複合論理ゲート手段と、
前記符号Ti,1 及び前記符号Tj,0 の論理積と前記符号Ti,0 との論理和をとって符号Tij,0として出力する第2の複合論理ゲート手段と、を有する
請求項25記載の演算装置。 - 順序依存性のある判断の系列における判断をn個とし、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有するときに、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理積と前記符号Ti,0 との否定論理和をとって符号^Tij,1として出力する第3の複合論理ゲート手段と、
前記符号Ti,1 及び前記符号Tj,0 の論理積と前記符号Ti,0 との否定論理和をとって符号^Tij,0として出力する第4の複合論理ゲート手段と、を有し、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードは、
前記符号^Ti,1 及び前記符号^Tj,1 の論理和と前記符号^Ti,0 との否定論理積をとって符号Tij,1として出力する第5の複合論理ゲート手段と、
前記符号^Ti,1 及び前記符号^Tj,0 の論理和と前記符号^Ti,0 との否定論理積をとって符号Tij,0として出力する第6の複合論理ゲート手段と、を有する
請求項25記載の演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、
任意の符号Xが、前記値符号”Y”を{01}、前記値符号”N”を{10}、前記値符号”Q”を{11}とし、{00}を使用禁止(値符号”F”)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、
前記K演算子は、
Ti KTj =Tij
(Ti,1 ,Ti,0 )K(Tj,1 ,Tj,0 )=(Tij,1,Tij,0)
=(^Ti,0 +Ti,1 ・Tj,1 ,^Ti,1 +Ti,0 ・Tj,0 )
として与えられ、
前記上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理積と前記符号^Ti,0 との論理和をとって符号Tij,1として出力する第7の複合論理ゲート手段と、
前記符号Ti,0 及び前記符号Tj,0 の論理積と前記符号^Ti,1 との論理和をとって符号Tij,0として出力する第8の複合論理ゲート手段と、を有する
請求項16記載の演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、前記上位の判断ノードの判断結果に起因する符号Ti ∈{Y,N,Q}及び前記下位の判断ノードの判断結果に起因する符号Tj∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、
任意の符号Xが、前記値符号”Y”を{00}、前記値符号”N”を{10}、前記値符号”Q”を{11}とし、{01}を使用禁止(値符号”F”)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、
前記K演算子は、
Ti KTj =Tij
(Ti,1 ,Ti,0 )K(Tj,1 ,Tj,0 )=(Tij,1,Tij,0)
=(Ti,1 ・(^Ti,0 +Tj,1 ),Ti,0 ・Tj,0 )
として与えられ、
前記上位優先決定ノードは、
前記符号^Ti,0 及び前記符号Tj,1 の論理和と前記符号Ti,1 との論理積をとって符号Tij,1として出力する第9の複合論理ゲート手段と、
前記符号Ti,0 及び前記符号Tj,0 の論理積をとって符号Tij,0として出力する論理積手段と、を有する
請求項16記載の演算装置。 - 前記演算装置がnビット2進数における2数(Xa,Yb)の比較を行うものであって、該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての比較判断が前記順序依存性のある判断の系列を形成する場合に、
前記判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、
前記桁値Xai を符号Ti,0 として出力する接続手段と、を有する
請求項22記載の演算装置。 - 前記上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有し、
前記2分木の根(root)となる上位優先決定ノードの出力がQ={0*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={11}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={10}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈する
請求項30記載の演算装置。 - 前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有するときに、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段と、を有し、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードは、
前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段と、を有し、
mが偶数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力がQ={0*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={11}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={10}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈し、
mが奇数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力がQ={1*}ならば「2数(Xa,Yb)は等しい」と、該出力がY={00}ならば「2数(Xa,Yb)は大小関係Xa>Ybを持つ」と、該出力がN={01}ならば「2数(Xa,Yb)は大小関係Xa<Ybを持つ」と、それぞれ解釈する
請求項30記載の演算装置。 - 前記演算装置が符号有りnビット2進数における2数(Xa,Yb)の比較を行う場合に、
前記2数のMSB(Most Significant Bit)についての比較判断を行う判断ノードは、前記桁値Xan-1 を桁値Ybn-1 として、前記桁値Ybn-1 を桁値Xan-1 として、それぞれ扱う
請求項30記載の演算装置。 - 前記演算装置がnビット2進数における2数(Xa,Yb)の比較を行うものであって、該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての比較判断が前記順序依存性のある判断の系列を形成する場合に、
前記判断ノードは、
前記桁値Xai 及び前記桁値Ybi の否定の否定論理積をとって符号Ti,1 として出力する否定論理積手段と、
前記桁値Xai 及び前記桁値Ybi の否定の否定論理和をとって符号Ti,0 として出力する否定論理和手段と、を有する
請求項25記載の演算装置。 - nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、
前記判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、
前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段と、を有する
請求項22記載の演算装置。 - 前記2数のLSB(Least Significant Bit )についての桁上げの存否判断を行う判断ノードは、
前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段と、を有し、
符号T0,1 を出力しない
請求項35記載の演算装置。 - 前記上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有し、
前記上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を有して、符号Tij,1を出力せず、
前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈する
請求項36記載の演算装置。 - 前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有するときに、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段と、を有し、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段と、を有し、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を有して、符号Tij,1を出力せず、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を有して、符号Tij,1を出力せず、
mが偶数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、
mが奇数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力符号^Tij,0が”0”ならば「桁上げ出力有り」と、該出力符号^Tij,0が”1”ならば「桁上げ出力無し」と、それぞれ解釈する
請求項36記載の演算装置。 - nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合に、
前記判断ノードは、
前記桁値Xai 及び前記桁値Ybi の否定論理積をとって符号Ti,1 として出力する否定論理積手段と、
前記桁値Xai 及び前記桁値Ybi の否定論理和をとって符号Ti,0 として出力する否定論理和手段と、を有する
請求項25記載の演算装置。 - nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合であって、前記2分木を、前記2数の各桁Xaj ,Ybj (j=0〜n−2)についての桁上げの存否判断を行う判断ノードを葉として構成し、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1
/2を越える最小の整数)個、それぞれ有するときに、
前記2数のLSBについての桁上げの存否判断を行う判断ノードは、
前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段と、を有して、符号T0,1 を出力せず、
前記2数の各桁Xak ,Ybk (k=1〜n−1)についての桁上げの存否判断を行う判断ノードは、
前記桁値Xaj 及び前記桁値Ybj の排他的否定論理和をとって符号Tj,1 として出力する排他的否定論理和手段と、
前記桁値Xaj を符号Tj,0 として出力する接続手段、或いは、前記桁値Ybj を符号Tj,0 として出力する接続手段と、を有し、
前記上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を有して、符号Tij,1を出力せず、
前記上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有し、
前記2分木の葉の数が2の累乗でない場合には、前記2数のLSBについての桁上げの存否判断を行う判断ノードに対応する上位優先決定ノードを、該判断ノードが出力する符号T0,0 をそのまま伝搬させるダミーノードとし、
前記2数のMSBについての桁上げの存否判断を行う判断ノードの出力符号Tn-1,1 の否定と、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0との排他的論理和をとって、前記2数のMSBについての和の結果とする排他的論理和手段を有する
請求項22記載の演算装置。 - nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が前記順序依存性のある判断の系列を形成する場合であって、前記2分木を、前記2数の各桁Xaj ,Ybj (j=0〜n−2)についての桁上げの存否判断を行う判断ノードを葉として構成し、前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1
/2を越える最小の整数)個、それぞれ有するときに、
前記2数のLSBについての桁上げの存否判断を行う判断ノードは、
前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段と、を有して、符号T0,1 を出力せず、
前記2数の各桁Xak ,Ybk (k=1〜n−1)についての桁上げの存否判断を行う判断ノードは、
前記桁値Xaj 及び前記桁値Ybj の排他的否定論理和をとって符号Tj,1 として出力する排他的否定論理和手段と、
前記桁値Xaj を符号Tj,0 として出力する接続手段、或いは、前記桁値Ybj を符号Tj,0 として出力する接続手段と、を有し、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段と、を有し、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段と、を有し、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を有して、符号Tij,1を出力せず、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁上げの存否判断を行う判断ノードが出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を有して、符号Tij,1を出力せず、
前記2分木の葉の数が2の累乗でない場合には、前記2数のLSBについての桁上げの存否判断を行う判断ノードに対応する上位優先決定ノードを、該判断ノードが出力する符号T0,0 を反転して伝搬させるダミーノードとし、
mが偶数の場合には、前記2数のMSBについての桁上げの存否判断を行う判断ノードの出力符号Tn-1,1 の否定と、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0との排他的論理和をとって、前記2数のMSBについての和の結果とする排他的論理和手段を有し、
mが奇数の場合には、前記2数のMSBについての桁上げの存否判断を行う判断ノードの出力符号Tn-1,1 の否定と、前記2分木の根となる上位優先決定ノードの出力符号^Tij,0の否定との排他的論理和をとって、前記2数のMSBについての和の結果とする排他的論理和手段を有する
請求項22記載の演算装置。 - nビット2進数における2数(Xa,Yb)の加算における該2数の各桁(Xai ,Ybi ;i=0〜n−1)についての桁上げの存否判断が順序依存性のある判断の系列を形成する場合に、
前記2数の各桁値Xai ,Ybi に基づいて同位桁の和の結果が2以上になるときに”真または偽”を、該結果がゼロになるときに”偽または真”を、該結果が1になるときに”真または偽のどちらでもない、或いは、わからない”を、判断結果としてそれぞれ出力するn個の判断ノードと、
行が前記2数の各奇数桁に対応するn/2行m列(mはlog2 nを越える最小の整数)の上位優先決定ノードマトリクスと、を有し、
前記第1列の上位優先決定ノード群は、
第h1 −1桁の判断ノード及び第h1 桁の判断ノード(h1 =1〜n−1の奇数)の判断結果を入力とし、第h1 桁の判断ノードの判断結果が”真”または”偽”である場合には該h1 桁の判断ノードの判断結果を出力し、第h1 桁の判断ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第h1 −1桁の判断ノードの判断結果を出力する第h1 行の上位優先決定ノードを有し、
前記第k列の上位優先決定ノード群(k=2〜m)は、
第1から第2k-1 −1までの奇数行の上位優先決定ノードの判断結果をそれぞれそのまま伝搬させるダミーノードとしての第1から第2k-1 −1までの奇数行の上位優先決定ノードと、
第hk −2k-1 行の上位優先決定ノード及び第hk 行の上位優先決定ノード(hk =2k-1 〜n−1の奇数)の判断結果を入力とし、第hk 行の上位優先決定ノードの判断結果が”真”または”偽”である場合には該hk 行の上位優先決定ノードの判断結果を出力し、第hk 行の上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第hk −2k-1 行の上位優先決定ノードの判断結果を出力する第hk 行の上位優先決定ノードと、を有し、
前記n個の判断ノード、並びに、前記各列の上位優先決定ノード群を、それぞれ同時に処理する
演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、
前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とする
請求項42記載の演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号Tj に対して優越する関係にある場合に、
任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号”Q”を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、
前記K演算子は、
Ti KTj =Tij
(Ti,1 ,Ti,0 )K(Tj,1 ,Tj,0 )=(Tij,1,Tij,0)
=(Ti,1 +Tj,1 ,Ti,1 ・Ti,0 +^Ti,1 ・Tj,0 )
として与えられる
請求項42記載の演算装置。 - 前記第1桁から第n−1桁までの判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、
前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段と、を有し、
前記第0桁の判断ノードは、
前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段と、を有して、符号T0,1 を出力せず、
前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有し、
前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を有して、符号Tij,1を出力せず、
前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、
前記演算装置は、
前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、
和生成手段と、を有し、
前記和生成手段は、
前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、
前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、
前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択して第f+1桁への桁上げとして出力する第f行の桁上げ生成手段と、
前記第f桁の判断ノードの出力符号Tf,1 の否定と前記第f−1行の上位優先決定ノードの出力符号との排他的論理和をとって第f桁の和の結果とする第f行の排他的論理和手段と、
前記第f+1桁の判断ノードの出力符号Tf+1,1 の否定と前記第f行の桁上げ生成手段の出力との排他的論理和をとって第f+1桁の和の結果とする第f+1行の排他的論理和手段と、を有する
請求項44記載の演算装置。 - 前記第1桁から第n−1桁までの判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、
前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段と、を有し、
前記第0桁の判断ノードは、
前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段と、を有して、符号T0,1 を出力せず、
前記第k列の第1から第2k-1 −1までの奇数行の上位優先決定ノードは、(k=2〜m)は、第1から第2k-1 −1までの奇数行の上位優先決定ノードの判断結果をそれぞれ反転して伝搬させるダミーノードとし、
前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する選択手段と、を有し、
前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段と、を有し、
前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を有して、符号Tij,1を出力せず、
前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を有して、符号Tij,1を出力せず、
mが偶数の場合には、前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、
mが奇数の場合には、前記第m列の第n−1行の上位優先決定ノードの出力符号^Tij,0の否定をとった符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、
前記演算装置は、
前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、
和生成手段と、を有し、
前記和生成手段は、mが偶数の場合には、
前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、
前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、
前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択して第f+1桁への桁上げとして出力する第f行の桁上げ生成手段と、
前記第f桁の判断ノードの出力符号Tf,1 の否定と前記第f−1行の上位優先決定ノードの出力符号との排他的論理和をとって第f桁の和の結果とする第f行の排他的論理和手段と、
前記第f+1桁の判断ノードの出力符号Tf+1,1 の否定と前記第f行の桁上げ生成手段の出力との排他的論理和をとって第f+1桁の和の結果とする第f+1行の排他的論理和手段と、を有し、
mが奇数の場合には、
前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、
前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、
前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号の否定を、それぞれ選択して第f+1桁への桁上げとして出力する第f行の桁上げ生成手段と、
前記第f桁の判断ノードの出力符号Tf,1 の否定と前記第f−1行の上位優先決定ノードの出力符号の否定との排他的論理和をとって第f桁の和の結果とする第f行の排他的論理和手段と、
前記第f+1桁の判断ノードの出力符号Tf+1,1 の否定と前記第f行の桁上げ生成手段の出力との排他的論理和をとって第f+1桁の和の結果とする第f+1行の排他的論理和手段と、を有する
請求項44記載の演算装置。 - 前記第1桁から第n−1桁までの判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、
前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段と、を有し、
前記第0桁の判断ノードは、
前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したのの否定をとり符号T0,0 として出力する選択手段と、を有して、符号T0,1 を出力せず、
前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有し、
前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を有して、符号Tij,1を出力せず、
前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、
前記演算装置は、
前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、
和生成手段と、を有し、
前記和生成手段は、
前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、
前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、
前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Xaf またはYbf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択したものの否定をとって第f+1桁への桁上げとして出力する第f行の桁上げ生成手段と、
前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号との排他的否定論理和をとって第f桁の和の結果とする第f行の排他的否定論理和手段と、
前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記第f行の桁上げ生成手段の出力との排他的論理和をとって第f+1桁の和の結果とする第f+1行の排他的論理和手段と、を有する
請求項44記載の演算装置。 - 前記第1桁から第n−1桁までの判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的否定論理和をとって符号Ti,1 として出力する排他的否定論理和手段と、
前記桁値Xai を符号Ti,0 として出力する接続手段、或いは、前記桁値Ybi を符号Ti,0 として出力する接続手段と、を有し、
前記第0桁の判断ノードは、
前記桁値Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁上げ入力が”1”をとるとき前記否定論理和手段の出力を、該桁上げ入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したのの否定をとり符号T0,0 として出力する選択手段と、を有して、符号T0,1 を出力せず、
前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有し、
前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を有して、符号Tij,1を出力せず、
前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁上げ出力として、該出力符号Tij,0が”1”ならば「桁上げ出力有り」と、該出力符号Tij,0が”0”ならば「桁上げ出力無し」と、それぞれ解釈し、
前記演算装置は、
前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、
和生成手段と、を有し、
前記和生成手段は、
前記第0桁の排他的論理和手段の出力と当該演算装置への桁上げ入力との排他的論理和をとって第0桁の和の結果とする第0行の排他的論理和手段と、
前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 の否定との排他的論理和をとって第1桁の和の結果とする第1行の排他的論理和手段と、
前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 と該行への入力桁値Xaf またはYbf との否定論理積をとる否定論理積手段と、前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記否定論理積手段の出力との排他的論理和をとって第f+1行の第0被選択信号を出力する排他的論理和手段と、前記第f桁の判断ノードの出力符号Tf,1 と前記第f+1行の第0被選択信号との排他的否定論理和をとって第f+1行の第1被選択信号を出力する排他的否定論理和手段と、
前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号との排他的否定論理和をとって第f桁の和の結果とする第f行の排他的否定論理和手段と、
前記第f−1行の上位優先決定ノードの出力符号が”1”をとるとき前記第f+1行の第1被選択信号を、該出力符号が”0”をとるとき前記第f+1行の第0被選択信号を、それぞれ選択したものの否定をとって第f+1桁の和の結果とする第f+1行の和生成選択手段と、を有する
請求項44記載の演算装置。 - nビット2進数における2数の減算(Xa−Yb)における各桁(Xai ,Ybi ;i=0〜n−1)についての桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、
前記判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、
前記桁値Ybi を符号Ti,0 として出力する接続手段と、を有する
請求項44記載の演算装置。 - 前記2数のLSB(Least Significant Bit )についての桁借りの存否判断を行う判断ノードは、
前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁借り入力が”1”をとるとき前記否定論理和手段の出力を、該桁借り入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段と、を有し、
符号T0,1 を出力しない
請求項49記載の演算装置。 - 前記上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有し、
前記上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を有して、符号Tij,1を出力せず、
前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈する
請求項50記載の演算装置。 - 前記2分木の葉を除く高さm(mはlog2 nを越える最小の整数)の部分2分木が、深さmのノードとなる前記上位優先決定ノードをNm (Nm はn/2を越える最小の整数)個、深さs(sはs=1〜m−1の整数)のノードとなる前記上位優先決定ノードをNs (Ns はNs+1 /2を越える最小の整数)個、それぞれ有するときに、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段と、を有し、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、 前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段と、を有し、
前記部分2分木の前記深さm−p(pはp=0〜m−1の偶数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を有して、符号Tij,1を出力せず、
前記部分2分木の前記深さm−q(qはq=1〜m−1の奇数)のノードとなる上位優先決定ノードの内、前記2数のLSBについての桁借りの存否判断を行う判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を有して、符号Tij,1を出力せず、
mが偶数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈し、
mが奇数の場合には、前記2分木の根(root)となる上位優先決定ノードの出力符号^Tij,0が”0”ならば「桁借り出力有り」と、該出力符号^Tij,0が”1”ならば「桁借り出力無し」と、それぞれ解釈する
請求項50記載の演算装置。 - nビット2進数における2数の減算(Xa−Yb)における各桁(Xai ,Ybi ;i=0〜n−1)についての桁借りの存否判断が順序依存性のある判断の系列を形成する場合に、
前記2数の各桁値Xai ,Ybi に基づいて同位桁の2数の差の結果が負になるときに”真または偽”を、該結果が正になるときに”偽または真”を、該結果がゼロになるときに”真または偽のどちらでもない、或いは、わからない”を、それぞれ判断結果として出力するn個の判断ノードと、
行が前記2数の各奇数桁に対応するn/2行m列(mはlog2 nを越える最小の整数)の上位優先決定ノードのマトリクスと、を有し、
前記第1列の上位優先決定ノード群は、
第h1 −1桁の判断ノード及び第h1 桁の判断ノード(h1 =1〜n−1の奇数)の判断結果を入力とし、第h1 桁の判断ノードの判断結果が”真”または”偽”である場合には該h1 桁の判断ノードの判断結果を結果とし、第h1 桁の判断ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第h1 −1桁の判断ノードの判断結果を結果として出力する第h1 行の上位優先決定ノードを有し、
前記第k列の上位優先決定ノード群(k=2〜m)は、
第1から第2k-1 −1までの奇数行の上位優先決定ノードの判断結果をそれぞれそのまま伝搬させるダミーノードとしての第1から第2k-1 −1までの奇数行の上位優先決定ノードと、
第hk −2k-1 行の上位優先決定ノード及び第hk 行の上位優先決定ノード(hk =2k-1 〜n−1の奇数)の判断結果を入力とし、第hk 行の上位優先決定ノードの判断結果が”真”または”偽”である場合には該hk 行の上位優先決定ノードの判断結果を結果とし、第hk 行の上位優先決定ノードの判断結果が”真または偽のどちらでもない、或いは、わからない”の場合には第hk −2k-1 行の上位優先決定ノードの判断結果を結果として出力する第hk 行の上位優先決定ノードと、を有し、
前記n個の判断ノード、並びに、前記各列の上位優先決定ノード群を、それぞれ同時に処理する
演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号j に対して優越する関係にある場合に、
前記K演算子は、前記符号Ti が値符号”Y”または値符号”N”である場合には該値符号”Y”または値符号”N”を前記符号Tijがとる値符号とし、前記符号Ti が値符号”Q”の場合には前記符号Tj のとる値符号を前記符号Tijがとる値符号とする
請求項53記載の演算装置。 - 前記判断結果である”真”を値符号”Y”と、”偽”を値符号”N”と、”真または偽のどちらでもない、或いは、わからない”を値符号”Q”とそれぞれするとき、
前記上位優先決定ノードは、上位の判断ノードの判断結果に起因する符号Ti∈{Y,N,Q}及び下位の判断ノードの判断結果に起因する符号Tj ∈{Y,N,Q}の2つの符号から1つの符号Tij∈{Y,N,Q}を導くK演算子として与えられ、符号Ti が符号j に対して優越する関係にある場合に、
任意の符号Xが、前記値符号”Y”を{11}、前記値符号”N”を{10}、前記値符号を{0*}(ここに、”*”はドントケア)とする2ビット2進数(X,1,X,0)で割り当てられ、論理和を+演算子で、論理積を・演算子で、否定を^演算子でそれぞれ表記するとき、
前記K演算子は、
Ti KTj =Tij
(Ti,1 ,Ti,0 )K(Tj,1 ,Tj,0 )=(Tij,1,Tij,0)
=(Ti,1 +Tj,1 ,Ti,1 ・Ti,0 +^Ti,1 ・Tj,0 )
として与えられる
請求項53記載の演算装置。 - 前記第1桁から第n−1桁までの判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、
前記桁値Ybi を符号Ti,0 として出力する接続手段と、を有し、
前記第0桁の判断ノードは、
前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁借り入力が”1”をとるとき前記否定論理和手段の出力を、該桁借り入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段と、を有して、符号T0,1 を出力せず、 前記ダミーノードを除く前記上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の論理和をとって符号Tij,1として出力する論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段と、を有し、
前記ダミーノードを除く上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択して符号Tij,0として出力する選択手段を有して、符号Tij,1を出力せず、
前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁借り出力として、該出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈し、
前記演算装置は、
前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、
差生成手段と、を有し、
前記差生成手段は、
前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、
前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 との排他的論理和をとって第1桁の差の結果とする第1行の排他的論理和手段と、
前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Ybf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択して第f+1桁への桁借りとして出力する第f行の桁借り生成手段と、
前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号との排他的論理和をとって第f桁の差の結果とする第f行の排他的論理和手段と、
前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記第f行の桁借り生成手段の出力との排他的論理和をとって第f+1桁の差の結果とする第f+1行の排他的論理和手段と、を有する
請求項55記載の演算装置。 - 前記第1桁から第n−1桁までの判断ノードは、
前記桁値Xai 及び前記桁値Ybi の排他的論理和をとって符号Ti,1 として出力する排他的論理和手段と、
前記桁値Ybi を符号Ti,0 として出力する接続手段と、を有し、
前記第0桁の判断ノードは、
前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理和をとる否定論理和手段と、
前記桁値Xa0 の否定である^Xa0 及び前記桁値Yb0 の否定論理積をとる否定論理積手段と、
当該演算装置への桁借り入力が”1”をとるとき前記否定論理和手段の出力を、該桁借り入力が”0”をとるとき前記否定論理積手段の出力を、それぞれ選択したものの否定をとり符号T0,0 として出力する選択手段と、を有して、符号T0,1 を出力せず、
前記第k列の第1から第2k-1 −1までの奇数行の上位優先決定ノードは、(k=2〜m)は、第1から第2k-1 −1までの奇数行の上位優先決定ノードの判断結果をそれぞれ反転して伝搬させるダミーノードとし、
前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号Ti,1 及び前記符号Tj,1 の否定論理和をとって符号^Tij,1として出力する否定論理和手段と、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する選択手段と、を有し、
前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因しない上位優先決定ノードは、
前記符号^Ti,1 及び前記符号^Tj,1 の否定論理積をとって符号Tij,1として出力する否定論理積手段と、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段と、を有し、
前記ダミーノードを除く第m−p列(pはp=0〜m−1の偶数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号Ti,1 が”1”をとるとき前記符号Ti,0 を、前記符号Ti,1 が”0”をとるとき前記符号Tj,0 を、それぞれ選択したものの否定をとり符号^Tij,0として出力する第2選択手段を有して、符号Tij,1を出力せず、
前記ダミーノードを除く第m−q列(qはq=1〜m−1の奇数)の上位優先決定ノードの内、前記第0桁の判断ノードが本来出力すべき符号T0,1 に起因する上位優先決定ノードは、
前記符号^Ti,1 が”0”をとるとき前記符号^Ti,0 を、前記符号^Ti,1が”1”をとるとき前記符号^Tj,0 を、それぞれ選択したものの否定をとり符号Tij,0として出力する第3選択手段を有して、符号Tij,1を出力せず、
mが偶数の場合には、前記第m列の第n−1行の上位優先決定ノードの出力符号Tij,0を当該演算装置の桁借り出力として、該出力符号Tij,0が”1”ならば「桁借り出力有り」と、該出力符号Tij,0が”0”ならば「桁借り出力無し」と、それぞれ解釈し、
mが奇数の場合には、前記第m列の第n−1行の上位優先決定ノードの出力符号^Tij,0を当該演算装置の桁借り出力として、該出力符号^Tij,0が”0”ならば「桁借り出力有り」と、該出力符号^Tij,0が”1”ならば「桁借り出力無し」と、それぞれ解釈し、
前記演算装置は、
前記桁値Xa0 及び前記桁値Yb0 の排他的論理和をとる第0桁の排他的論理和手段と、
差生成手段と、を有し、
前記差生成手段は、mが偶数の場合には、
前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、
前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 との排他的論理和をとって第1桁の差の結果とする第1行の排他的論理和手段と、
前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Ybf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号を、それぞれ選択して第f+1桁への桁借りとして出力する第f行の桁借り生成手段と、
前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号との排他的論理和をとって第f桁の差の結果とする第f行の排他的論理和手段と、
前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記第f行の桁借り生成手段の出力との排他的論理和をとって第f+1桁の差の結果とする第f+1行の排他的論理和手段と、を有し、
mが奇数の場合には、
前記第0桁の排他的論理和手段の出力と当該演算装置への桁借り入力との排他的論理和をとって第0桁の差の結果とする第0行の排他的論理和手段と、
前記第0桁の判断ノードの出力符号T0,0 と第1桁の判断ノードの出力符号T1,1 との排他的論理和をとって第1桁の差の結果とする第1行の排他的論理和手段と、
前記第f桁の判断ノード(f=2〜n−1までの偶数)の出力符号Tf,1 が”1”をとるとき該行への入力桁値Ybf を、前記出力符号Tf,1 が”0”をとるとき前記第f−1行の上位優先決定ノードの出力符号の否定を、それぞれ選択して第f+1桁への桁借りとして出力する第f行の桁借り生成手段と、
前記第f桁の判断ノードの出力符号Tf,1 と前記第f−1行の上位優先決定ノードの出力符号の否定との排他的論理和をとって第f桁の差の結果とする第f行の排他的論理和手段と、
前記第f+1桁の判断ノードの出力符号Tf+1,1 と前記第f行の桁借り生成手段の出力との排他的論理和をとって第f+1桁の差の結果とする第f+1行の排他的論理和手段と、を有する
請求項55記載の演算装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07836297A JP3728858B2 (ja) | 1996-12-20 | 1997-03-28 | 演算装置の演算方法、記憶媒体及び演算装置 |
US08/992,847 US6028987A (en) | 1996-12-20 | 1997-12-18 | Method of operation of arithmetic and logic unit, storage medium, and arithmetic and logic unit |
KR1019970070927A KR100500855B1 (ko) | 1996-12-20 | 1997-12-19 | 연산장치의연산방법,기억매체및연산장치 |
SG9704562A SG85091A1 (en) | 1996-12-20 | 1997-12-19 | Method of operation of arithmetic and logic unit, storage medium, and arithmetic and logic unit |
MYPI97006202A MY141466A (en) | 1996-12-20 | 1997-12-19 | Method of operation of arithmetic and logic unit, storage medium, and arithmetic and logic unit |
EP97403097A EP0853274A3 (en) | 1996-12-20 | 1997-12-19 | Tree structured arithmetic and logic circuits |
CN97129790A CN1095114C (zh) | 1996-12-20 | 1997-12-20 | 算术机逻辑单元的运算方法以及算术和逻辑单元 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34225196 | 1996-12-20 | ||
JP8-342251 | 1996-12-20 | ||
JP8-342253 | 1996-12-20 | ||
JP34225396 | 1996-12-20 | ||
JP8-342252 | 1996-12-20 | ||
JP34225296 | 1996-12-20 | ||
JP07836297A JP3728858B2 (ja) | 1996-12-20 | 1997-03-28 | 演算装置の演算方法、記憶媒体及び演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10232765A JPH10232765A (ja) | 1998-09-02 |
JP3728858B2 true JP3728858B2 (ja) | 2005-12-21 |
Family
ID=27466164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07836297A Expired - Fee Related JP3728858B2 (ja) | 1996-12-20 | 1997-03-28 | 演算装置の演算方法、記憶媒体及び演算装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6028987A (ja) |
EP (1) | EP0853274A3 (ja) |
JP (1) | JP3728858B2 (ja) |
KR (1) | KR100500855B1 (ja) |
CN (1) | CN1095114C (ja) |
MY (1) | MY141466A (ja) |
SG (1) | SG85091A1 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4029959B2 (ja) * | 2001-08-31 | 2008-01-09 | シャープ株式会社 | 演算器アロケーション設計装置および演算器アロケーション設計方法 |
US7558947B1 (en) * | 2001-12-31 | 2009-07-07 | Apple Inc. | Method and apparatus for computing vector absolute differences |
JP2003245843A (ja) * | 2002-02-21 | 2003-09-02 | Hitachi Via Mechanics Ltd | 加工装置および加工方法 |
US20050114415A1 (en) * | 2003-11-24 | 2005-05-26 | Texas Instruments Incorporated | Low-latency circular priority selector |
US8037102B2 (en) | 2004-02-09 | 2011-10-11 | Robert T. and Virginia T. Jenkins | Manipulating sets of hierarchical data |
US9646107B2 (en) | 2004-05-28 | 2017-05-09 | Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust | Method and/or system for simplifying tree expressions such as for query reduction |
US7620632B2 (en) | 2004-06-30 | 2009-11-17 | Skyler Technology, Inc. | Method and/or system for performing tree matching |
US7801923B2 (en) | 2004-10-29 | 2010-09-21 | Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust | Method and/or system for tagging trees |
US7627591B2 (en) | 2004-10-29 | 2009-12-01 | Skyler Technology, Inc. | Method and/or system for manipulating tree expressions |
US7636727B2 (en) | 2004-12-06 | 2009-12-22 | Skyler Technology, Inc. | Enumeration of trees from finite number of nodes |
US7630995B2 (en) | 2004-11-30 | 2009-12-08 | Skyler Technology, Inc. | Method and/or system for transmitting and/or receiving data |
WO2006059280A2 (en) * | 2004-12-02 | 2006-06-08 | Koninklijke Philips Electronics N.V. | Turbo decoder with stake heritage for data block redundant version decoding |
US8316059B1 (en) | 2004-12-30 | 2012-11-20 | Robert T. and Virginia T. Jenkins | Enumeration of rooted partial subtrees |
US8615530B1 (en) | 2005-01-31 | 2013-12-24 | Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust | Method and/or system for tree transformation |
EP2330502B1 (en) | 2005-02-03 | 2018-12-05 | Mitsubishi Denki Kabushiki Kaisha | Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof |
US8448158B2 (en) * | 2005-02-03 | 2013-05-21 | Mitsubishi Electric Corporation | Program code generation support device and method, program execution device and method, and program code compression processing device and method and program thereof |
US7681177B2 (en) | 2005-02-28 | 2010-03-16 | Skyler Technology, Inc. | Method and/or system for transforming between trees and strings |
US8356040B2 (en) | 2005-03-31 | 2013-01-15 | Robert T. and Virginia T. Jenkins | Method and/or system for transforming between trees and arrays |
US7899821B1 (en) | 2005-04-29 | 2011-03-01 | Karl Schiffmann | Manipulation and/or analysis of hierarchical data |
US7716250B1 (en) * | 2005-05-27 | 2010-05-11 | Microsoft Corporation | Erasure coding and group computations using rooted binary and ternary trees |
US8250226B2 (en) * | 2005-07-21 | 2012-08-21 | Ca, Inc. | Generating one or more clients for generating one or more synthetic transactions with one or more web service operations |
US8370115B2 (en) * | 2007-05-15 | 2013-02-05 | Broadcom Corporation | Systems and methods of improved boolean forms |
US7996798B2 (en) * | 2007-05-24 | 2011-08-09 | Microsoft Corporation | Representing binary code as a circuit |
US8996846B2 (en) | 2007-09-27 | 2015-03-31 | Nvidia Corporation | System, method and computer program product for performing a scan operation |
US8661226B2 (en) * | 2007-11-15 | 2014-02-25 | Nvidia Corporation | System, method, and computer program product for performing a scan operation on a sequence of single-bit values using a parallel processor architecture |
CN101692200B (zh) * | 2008-03-11 | 2018-02-02 | 魏营隆 | 数字绳码编码解码及加减乘除倒数算术电路设计的方法 |
JP4842989B2 (ja) * | 2008-03-28 | 2011-12-21 | 株式会社アドバンテスト | プライオリティエンコーダならびにそれを利用した時間デジタル変換器、試験装置 |
US8190546B2 (en) * | 2009-05-15 | 2012-05-29 | At&T Intellectual Property I, L.P. | Dependency between sources in truth discovery |
KR101753162B1 (ko) * | 2011-02-08 | 2017-07-04 | 삼성전자주식회사 | 이진수 연산의 선행 제로 비트수 계산방법 및, 그 장치 |
CN102185933A (zh) * | 2011-04-02 | 2011-09-14 | 浪潮电子信息产业股份有限公司 | 一种8位4线设定256地址的方法 |
US8832144B2 (en) * | 2011-07-11 | 2014-09-09 | International Business Machines Corporation | Search optimization in a computing environment |
US9280575B2 (en) * | 2012-07-20 | 2016-03-08 | Sap Se | Indexing hierarchical data |
US20150373071A1 (en) * | 2014-06-19 | 2015-12-24 | International Business Machines Corporation | On-demand helper operator for a streaming application |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
CN105024806A (zh) * | 2015-08-14 | 2015-11-04 | 安徽师范大学 | 一种基于可逆逻辑门的加密系统的模逆电路 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247627A (en) * | 1987-06-05 | 1993-09-21 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processor with conditional branch decision unit and storage of conditional branch decision results |
US5077677A (en) * | 1989-06-12 | 1991-12-31 | Westinghouse Electric Corp. | Probabilistic inference gate |
US5043934A (en) * | 1990-02-13 | 1991-08-27 | Hewlett-Packard Company | Lookahead adder with universal logic gates |
EP0473412A1 (en) * | 1990-08-31 | 1992-03-04 | Matsushita Electric Industrial Co., Ltd. | Digital signal recording method |
IE920032A1 (en) * | 1991-01-11 | 1992-07-15 | Marconi Gec Ltd | Parallel processing apparatus |
US5263124A (en) * | 1991-02-27 | 1993-11-16 | Neural Systems Corporation | Method for producing a binary tree, pattern recognition and binary vector classification method using binary trees, and system for classifying binary vectors |
GB9124539D0 (en) * | 1991-11-19 | 1992-01-08 | Texas Instruments Ltd | A circuit for detecting the position of an extreme 1"bit in a binary number |
JPH0855010A (ja) * | 1994-06-07 | 1996-02-27 | Matsushita Electric Ind Co Ltd | プライオリティ・エンコーダ |
-
1997
- 1997-03-28 JP JP07836297A patent/JP3728858B2/ja not_active Expired - Fee Related
- 1997-12-18 US US08/992,847 patent/US6028987A/en not_active Expired - Fee Related
- 1997-12-19 KR KR1019970070927A patent/KR100500855B1/ko not_active IP Right Cessation
- 1997-12-19 MY MYPI97006202A patent/MY141466A/en unknown
- 1997-12-19 EP EP97403097A patent/EP0853274A3/en not_active Withdrawn
- 1997-12-19 SG SG9704562A patent/SG85091A1/en unknown
- 1997-12-20 CN CN97129790A patent/CN1095114C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
SG85091A1 (en) | 2001-12-19 |
CN1095114C (zh) | 2002-11-27 |
US6028987A (en) | 2000-02-22 |
EP0853274A2 (en) | 1998-07-15 |
JPH10232765A (ja) | 1998-09-02 |
EP0853274A3 (en) | 1999-11-10 |
CN1202651A (zh) | 1998-12-23 |
MY141466A (en) | 2010-04-30 |
KR100500855B1 (ko) | 2005-12-09 |
KR19980064395A (ko) | 1998-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3728858B2 (ja) | 演算装置の演算方法、記憶媒体及び演算装置 | |
Lu | Arithmetic and logic in computer systems | |
JPH06502287A (ja) | ゼロオーバヘッドセルフタイムド繰り返し論理 | |
JP3225043B2 (ja) | 絶対値算術演算ユニット及び差動マルチプレクサ | |
Ghafari et al. | A new high-speed and low area efficient pipelined 128-bit adder based on modified carry look-ahead merging with Han-Carlson tree method | |
US4873660A (en) | Arithmetic processor using redundant signed digit arithmetic | |
Matsubara et al. | 30-ns 55-b shared radix 2 division and square root using a self-timed circuit | |
US5978826A (en) | Adder with even/odd 1-bit adder cells | |
JPH063578B2 (ja) | 演算処理装置 | |
Ragunath et al. | Delay optimized binary to BCD converter for multi-operand parallel decimal adder | |
US5544085A (en) | Fast adder chain | |
Srikanthan et al. | Area-time efficient sign detection technique for binary signed-digit number system | |
Sharma et al. | Addition Of redundant binary signed digits using RBSD Adder | |
JPS6261120A (ja) | けた上げ選択加算器 | |
Nigam et al. | Hardware Implementation of Canonical Signed Digit Adder-subtractor Circuit | |
Santhi et al. | Realization of parallel prefix adders for power and speed critical applications | |
JP2563473B2 (ja) | 2進演算器 | |
Qi et al. | Algorithm-based Study on Transformation Combination for Carry-free Modified Signed Digit (MSD) Addition | |
JPH04227533A (ja) | 高速加算器 | |
JPH0528407B2 (ja) | ||
Sakthivel et al. | Performance Comparison of Radix-2 and Radix-4 by Booth Multiplier | |
Lloris Ruiz et al. | Addition and Subtraction | |
Chowdary et al. | Modified Architecture of Carry Look-Ahead Adder for 8-bit Multiplier | |
US8516030B2 (en) | Carry look-ahead circuit and carry look-ahead method | |
Jyothi et al. | Realization of Low Power and High Speed Parallel Prefix Adders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050502 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050926 |
|
LAPS | Cancellation because of no payment of annual fees |