JPH04239910A - 多入力最大値演算方法及びその装置 - Google Patents

多入力最大値演算方法及びその装置

Info

Publication number
JPH04239910A
JPH04239910A JP3022827A JP2282791A JPH04239910A JP H04239910 A JPH04239910 A JP H04239910A JP 3022827 A JP3022827 A JP 3022827A JP 2282791 A JP2282791 A JP 2282791A JP H04239910 A JPH04239910 A JP H04239910A
Authority
JP
Japan
Prior art keywords
maximum value
circuit
bit
bits
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.)
Pending
Application number
JP3022827A
Other languages
English (en)
Inventor
Tsuneo Tsukagoshi
常雄 塚越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP3022827A priority Critical patent/JPH04239910A/ja
Publication of JPH04239910A publication Critical patent/JPH04239910A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ファジイ推論における
複数の入力値の最大値を高速に演算する並列最大値演算
方法及びその装置に関するものである。
【0002】
【従来の技術】ロボットなどの制御にファジイ推論を用
いる場合には、実時間推論を行うための高速演算回路が
必要とされる。高速に推論を行うための工夫としては、
推論方法を簡略化し演算回数を少なくして高速処理を行
う方法(例えば特開平2−93939号)や、前件部の
処理を工夫して高速処理を可能にする方法(例えば特開
平2−93943号)等がある。さらに高速化するため
に、複数の演算器を並列に動作させる方法も考えられる
。従来、図4に示すように各ルールに対して最小値演算
を行った後の最大値演算は、複数の2入力最大値演算回
路(MAX回路)40,40〜を木(Tree)構造に
接続して並列出力の一括処理を行っていた。2入力MA
X回路40は図5に示すように、ビット比較器とトライ
ステートのバッファを組み合わせて実現している。ビッ
ト比較器としては、一般に、図6に示すようなアルゴリ
ズムに従って、例えば、入力値AとBを比較する場合、
上位ビットからBが大きくなる条件を選択して排除し、
それ以外の場合にA>Bであるとする方法を用いてきた
。これを回路で実現すると、図7のようになる。同図波
線で示すビット比較器41において、先に各ビット毎の
比較を行い、終段2段のAND及びNOR回路によって
図6の条件判断を同時に行っている。
【0003】
【発明が解決しようとする課題】先に示したように、従
来例にしたがって最大値を算出する場合、図4に示した
ようなTree構造に従って、次段の2入力MAX回路
において再び各ビット比較から始めなければならず、ま
た、入力数が多くなるほど多段になり、出力に現われな
い中間部での無駄な演算を数多く含むことになる。この
ため、入力数の増加に伴い素子数が増大し、また、多段
に接続されるため演算の遅れ時間が増し、高速演算の妨
げになる。
【0004】本発明は、素子数を不必要に増大させるこ
となく、演算の遅れ時間を最小限に抑えた、高速に演算
し得る、並列最大値演算器を提供することを目的とする
【0005】
【課題を解決するための手段】前記目的を達成するため
、本発明に係る多入力最大値演算方法においては、2以
上のデジタル入力値の最大値を演算する方法において、
全入力の最上位ビットを比較し、その中に1が存在する
場合には1以外の入力値の以下の下位ビットを全て0、
出力の最上位ビットを1にし、また、全てが0の場合に
は以下のビットを変更せず、出力の最上位ビットを0に
するという行程を、最上位から第2番目以降のビットに
対しても同様に順次行うことによって、最下位ビットの
比較が終わった時点で出力に全入力の最大値を算出する
ものである。
【0006】また、本発明に係る多入力最大値演算装置
においては、2以上のデジタル入力値の最大値を演算す
る多入力最大値演算装置において、上位ビットにおける
演算から出力される最大値認識信号と全入力の各ビット
との論理積を演算する第1のAND回路と、第1のAN
D回路の出力信号と全ビット零検知信号との論理和を演
算するOR回路と、最大値認識信号とOR回路の出力信
号との論理積を演算し次の下位ビットの最大値認識信号
とする第2のAND回路と、各ビット毎に全ての入力に
対する第1のAND回路の出力信号を入力し、全ビット
零検知信号を出力するNOR回路と、各ビットのNOR
回路の出力の否定値を演算するNOT回路とを有し、各
ビットのNOT回路の出力を全入力の最大値とするよう
にしたものである。
【0007】
【作用】まず、本発明の多入力最大値演算法について、
以下に述べる。ビット幅の揃った複数の入力値の最大値
を求める。最初に、各入力値の最上位ビットを比較する
。全入力値の最上位ビットに何れか1が存在すれば、そ
の入力値が最大値になる可能性がある。それがただ1つ
であれば、その時点で最大値が決定されるが、最上位ビ
ットの1の数が複数個の場合この段階では最大値がどれ
であるかは決定できない。しかし、最初の最上位ビット
の比較で1でなかった入力値は以下どのような値であっ
ても最大値とはなり得ない。そこで、順次下位ビットを
比較する前に、下位ビットの比較から除外させる。その
方法としては、以下の下位ビットを全て0にする。これ
によって、これらは下位ビットの比較において、最大値
として選択されることはなくなる。この処理を各段のビ
ット比較後に行ってから次の段のビット比較に進める。 この操作を最上位ビットから順次下位ビットへと行うこ
とによって、最終的には、全入力値の中の最大値が出力
される。最初のビット比較において全ビットが全て零だ
った場合は、最大値は下位ビットを比較しないと決定で
きないので、下位ビットを零にすることなく次のビット
の比較へと進む。
【0008】本方式では、全入力に対し上位ビットから
順に1ビットずつ比較しており、その比較の結果最大値
の候補から外され多入力値の下位ビットを全て零にする
ところに特徴がある。これによって、下位ビットの比較
において、候補から外された入力値の比較ビットが1で
、かつ、最大値の候補の比較ビットが0である場合でも
誤認識することがない。また、本方式により上位ビット
から順に最大値を得ることができるので、最下位のビッ
ト比較まで行わなくても、おおよそ最大値(概算値)を
短時間に得ることができる。これは、従来法では不可能
だったことである。
【0009】本発明は最大値演算の手法について述べて
いるが、最小値演算も同様の手法で行うことができる。 即ち、上位ビットから比較を行い、上位ビットが零でな
かった入力値に対しては以下の下位ビットを全て1にし
てしまうのである。以下同様に、下位ビットの比較を行
えばよい。
【0010】本願の請求項2に係る本発明の並列最大値
演算装置について、以下に述べる。本装置は大きく2つ
に分けられる。1つは、全入力の各ビットを比較し、何
れかに1があるのか又は全くないのかを判定する全ビッ
ト零検知回路であり、もう1つは、最大値の候補を示す
最大値認識信号を用いて、各ビット毎に、上位ビットか
らこの信号を受け、各ビット比較の入力ゲートを操作す
るとともに、下位ビットにおくる最大値認識信号を生成
する役割をもつビット演算器である。ここで、特徴的な
のは、ビット演算器の構成である。図2に本特許の演算
装置に用いるビット演算器の詳細回路図を示す。2つの
AND回路と1つのOR回路からなる。まず、第1のA
ND回路1において上位ビットから出力される最大値認
識信号と入力ビットとの比較を行う。最大値認識信号が
1ならば、その入力は最大値の候補であることを示して
おり、第1のAND回路1の出力は各ビットの入力値の
状態が伝達される。もし、0ならば、上位ビットの比較
において他に最大値の候補があったため、下位ビットを
零にするような決定がなされたことを示しており、第1
のAND回路1の出力は入力の状態に拘らず0になる。 最上位ビットの比較においては、最大値認識信号として
は全て1を入力する。
【0011】一方、全入力の第1のAND回路1の出力
は全ビット零検知回路(図示しないNOR回路)に接続
される。NOR回路は全ての入力値が0のときのみ1を
出力する。
【0012】全ビット零検知信号は第1のAND回路1
の出力とともにOR回路2に接続される。第1のAND
回路1の出力が1であれば、これは最大値の候補であり
、OR回路2の出力には1が伝達され、従って、入力し
た最大値認識信号と比較する第2のAND回路3の出力
にも1が送られる。
【0013】一方、第1のAND回路1の出力が0にな
るのは、最大値認識信号が0か、又は、最大値認識信号
は1であって、入力値の0の場合のいずれかである。前
者は最大値の候補ではないことを示しており、この場合
は第2のAND回路3を通して直接最大値認識信号に0
が出力される。しかし、後者の場合は、ビット比較を行
った際の他の入力値の状態に影響される。即ち、他の入
力値のビットも全て零の場合は全ビット零検知信号が1
で返され、OR回路2の出力は1となり、第2のAND
回路3の出力、即ち最大値認識信号も1となるので、最
大値の決定は下位ビットでの判断に委ねられる。しかし
、第1のAND回路1の出力が0であっても、他の入力
値に1があり、他に最大値の候補が存在する場合、全ビ
ット零検知信号が0になるので、OR回路2の出力も0
になる。結局、上位ビットからの最大値認識信号が1で
あっても、第2のAND回路3の出力は0となり、この
入力値は最大値の候補から外されることになる。
【0014】最終的には、最下位ビットまで最大値認識
信号に1を送り続けた入力値が最大値ということになり
、最大値が複数ある場合には最大値認識信号も複数1が
存在する。そして、最大値そのものは、次のように得る
ことができる。
【0015】各ビット比較において、どこかの入力値が
1を出力する限り全ビット零検知信号は0である。逆に
全ビット零検知信号が1の場合、それが最上位ビットで
あれば、全入力値ビットが0であることを示し、また、
それが下位ビットであれば、少なくとも最大値の候補と
して残されている入力値の全てについてそのビットが0
であることを示している。従って、最大値は、全ビット
零検知信号の否定をとることによって得られる。
【0016】本装置の特徴は、この同じビット比較器が
最上位ビットから最下位ビットまで従属に接続が可能な
点にある。同じ構成単位の回路を組み合わせることによ
ってビットの拡張が容易にできる。さらに特徴として、
ビット毎の第1のAND回路1の出力をNOR回路に接
続することにより、全ての入力値を同時に比較すること
ができる。即ち、多入力の任意なサイズのビット数に対
して並列演算が可能な点も特徴としてあげられる。
【0017】
【実施例】本発明の一実施例を図1及び図3を用いて示
す。図1は、本願の請求項1に係る本発明の多入力最大
値演算方法の一例を示すアルゴリズムである。これは複
数のデジタル入力値のなかの最大値を求めるものである
。先ず、最初の条件判断において、全入力に対し最上位
ビット(n=1に相当)同士を比較する。その中に1が
あれば、出力の最上位ビットを1にする。そして次に、
最上位ビットが0だった入力値の以下のビットを全て零
にする。1ビットずつ、又は、入力値そのものを0で置
き換えても同じことである。一方、最初の条件判断にお
いて、最上位ビットに1がなければ、即ち、最上位ビッ
トが全て0だった場合は出力の最上位ビットを0にする
。この後、2番目の条件判断に進む。単に比較するビッ
ト数をモニタしている。最下位のビットに達していたら
、「終了」に進む。入力値が4ビットデータならば、n
=4のとき、最下位と判断する。最下位でなかった場合
は次に進み、nをカウントアップして、最初の条件判断
に戻す。すると、今度はn=2、即ち、第2番目のビッ
トの比較を前回と同様の方法で行う。結局、最終的には
最下位ビットの比較を終え、終了した時点で出力に最大
値が現われる。この方法を用いることにより、各入力値
の各ビットはただ1回比較されるだけでよく、無駄な比
較を繰り返し行う必要が無くなる。
【0018】次に、本願の請求項2に係る本発明の多入
力最大値演算装置について、その一例を図3に示す。図
3は、4ビットの入力値4つを同時に比較し、4入力中
の最大値を求める回路図である。図2に示したビット演
算器を4ビット分従属接続し、それを4入力分設け、最
上位ビットから、各ビット毎に第1のAND回路1の出
力を全ビット零検知回路である4入力NOR回路4に接
続している。NOR回路4の出力4ビット分は、それぞ
れ。NOT回路5を通して全入力中の最大値として出力
される。
【0019】入力数を拡張するには、ビット比較器をビ
ット幅分従属接続詞、それを入力数分拡張し、それぞれ
、第1のAND回路1の出力を全ビット零検知回路に接
続すればよい。
【0020】本回路の特徴は、全入力値の全ビットがた
だ1回だけ比較されることにあり、従来のTree構造
に見られるような無駄な比較はまったく行われない。し
かも、下位ビットを零にするかどうかの判断も全ビット
零検知信号を利用してどのビットも同一の判断方法に統
一されており、その結果を最大値認識信号として最上位
ビットから最下位ビットまで一貫して管理できるところ
にある。従って、最下位ビットから出力される最大値認
識信号をモニタすることにより、どの入力値として出力
されたかが分かる。これは、従来のTree構造のMA
X演算器では、成し得なかったことである。
【0021】また、この回路はクロックを必要としない
ため、1クロックの信号処理の途中に設けることにより
無駄なクロックを追加する必要がない。さらに、最小限
のビット比較で演算結果が得られるので演算の遅れ時間
を最小限に抑えることができ、高速な動作クロックを維
持することができる。
【0022】さらに、従来のTree構造では最終段の
2入力MAX回路の出力まで待たなければ、概略的な最
大値を得ることができなかったが、本回路の特徴は、さ
きに述べたように全ビット同時に最上位ビットから比較
していくので、演算結果も最上位ビットから得られる。 従って、大ざっぱな最大値が必要な場合、上位ビットか
ら必要なビット数分だけの比較を終える時間さえあれば
、あまり重要でない下位ビットの演算を待たずに次のス
テップに進ませることも可能である。これは、曖味なデ
ータを扱うファジイ推論において、入力値のデータ幅が
大きくなる大規模演算の高速化を考える上では重要な手
法である。
【0023】以上、多入力最大値演算装置についてその
回路例を示したが、最小値演算も少しの変更で実現する
ことができる。即ち、入力値の各ビットの入力の際に全
ビットをNOT回路を通して入力すればよい。即ち、一
度否定しておいて最大値を求めれば得られた結果は最小
値になる。また、最下位ビット比較後の最大値認識信号
に1が残されている入力値が最小値であることを示して
いる。
【0024】
【発明の効果】本発明の最大の特徴は、並列演算指向の
手法による演算の高速化と無駄演算の排除にある。そこ
で、ここでは先ず、演算の遅れ時間で高速化の度合を比
較する。ファジイ推論を並列に行う場合、ルール数分並
列演算を行うと、最大128ルール程度の入力数を処理
しなければならない。そこで、128入力のMAX回路
を考える。従来方式では、7段のTree構造(格段は
図5に示すような比較器とバッファで構成される)のM
AX回路になる。比較器の内部構造は図7に示すように
5段である。トライステートのバッファを最低1段以上
の論理回路からなるとする。7段階層のTreeを通し
て出力を得るまで最低42(=(5+1)×7))段以
上の論理回路を経なければならない。一方、本発明の並
列最大値演算回路は図3の最下位ビットの出力段までで
15段必要であり、入力数が128個に増加しても基本
的には15段でよい。この場合、NOR回路には多くの
入力部が必要となるが、NOR回路は内部構造が簡単で
、段数を増やさずに多入力構成にできるので、段数の増
加はないものとする。この場合、全体では、段数を従来
の36%に削減できる。
【0025】次に、無駄演算の排除について示す。基本
的に本発明の並列演算器は従来方法のTree構造の第
1段だけを行うに等しい。従って2段目以降が無い分だ
け演算器を少なくできるが、最大値認識信号と全ビット
零検知信号を得るための演算器が別途必要である。そこ
で、両者の比較を演算器の数で行う。従来、比較器に2
0個、バッファで5個の演算器が必要である。7段階層
のTree回路では127個の2入力MAX回路が必要
であり、全体では3175(=(20+5)×127)
個の演算器が必要となる。ところが、本演算器では12
8入力でビット比較器が1536(=3×4(ビット)
×128)個、さらに、全ビット零検知回路のNOR回
路が4つで、合計1540個の演算器が必要となる。従
って、演算器の数を従来の約半分に削減することができ
る。
【0026】以上に示したように、本発明の多入力演算
器を用いることにより無駄の無い高速演算器が可能にな
る。この手法は特に演算規模が大きくなる場合に有効で
ある。
【図面の簡単な説明】
【図1】本発明に係る多入力最大値演算方法の一実施例
を示す図である。
【図2】本発明に係る多入力最大値演算装置を示す図で
ある。
【図3】本発明装置の具体例を示す図である。
【図4】従来のTree構造の最大値演算回路を示す構
成図である。
【図5】従来の最大値演算回路の具体例を示す図である
【図6】従来の比較器の比較方法の一例を示した図であ
る。
【図7】従来の比較器の内部構造の一例を示した図であ
る。
【符号の説明】
1  第1のAND回路 2  OR回路 3  第2のAND回路 4  NOR回路 5  NOT回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  2以上のデジタル入力値の最大値を演
    算する方法において、全入力の最上位ビットを比較し、
    その中に1が存在する場合には1以外の入力値の以下の
    下位ビットを全て0、出力の最上位ビットを1にし、ま
    た、全てが0の場合には以下のビットを変更せず、出力
    の最上位ビットを0にするという行程を、最上位から第
    2番目以降のビットに対しても同様に順次行うことによ
    って、最下位ビットの比較が終わった時点で出力に全入
    力の最大値を算出することを特徴とする多入力最大値演
    算方法。
  2. 【請求項2】  2以上のデジタル入力値の最大値を演
    算する多入力最大値演算装置において、上位ビットにお
    ける演算から出力される最大値認識信号と全入力の各ビ
    ットとの論理積を演算する第1のAND回路と、第1の
    AND回路の出力信号と全ビット零検知信号との論理和
    を演算するOR回路と、最大値認識信号とOR回路の出
    力信号との論理積を演算し次の下位ビットの最大値認識
    信号とする第2のAND回路と、各ビット毎に全ての入
    力に対する第1のAND回路の出力信号を入力し、全ビ
    ット零検知信号を出力するNOR回路と、各ビットのN
    OR回路の出力の否定値を演算するNOT回路とを有し
    、各ビットのNOT回路の出力を全入力の最大値とする
    ようにしたことを特徴とする多入力最大値演算装置。
JP3022827A 1991-01-23 1991-01-23 多入力最大値演算方法及びその装置 Pending JPH04239910A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3022827A JPH04239910A (ja) 1991-01-23 1991-01-23 多入力最大値演算方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3022827A JPH04239910A (ja) 1991-01-23 1991-01-23 多入力最大値演算方法及びその装置

Publications (1)

Publication Number Publication Date
JPH04239910A true JPH04239910A (ja) 1992-08-27

Family

ID=12093529

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3022827A Pending JPH04239910A (ja) 1991-01-23 1991-01-23 多入力最大値演算方法及びその装置

Country Status (1)

Country Link
JP (1) JPH04239910A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017500682A (ja) * 2013-10-31 2017-01-05 マイクロン テクノロジー, インク. メモリセルアレイに記憶された極値の識別装置及び方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5151473U (ja) * 1974-10-15 1976-04-19
JPS52138982U (ja) * 1976-04-15 1977-10-21
JPS52163773U (ja) * 1976-06-04 1977-12-12
JPS54103575U (ja) * 1977-12-27 1979-07-21
JPS5690343U (ja) * 1979-12-13 1981-07-18
JPS63271839A (ja) * 1987-04-30 1988-11-09 Matsushita Electric Ind Co Ltd 温度過昇防止装置
JPS63271840A (ja) * 1987-04-30 1988-11-09 Matsushita Electric Ind Co Ltd 温度過昇防止装置
JPH01320723A (ja) * 1988-06-22 1989-12-26 Hitachi Ltd 過負荷保護装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5151473U (ja) * 1974-10-15 1976-04-19
JPS52138982U (ja) * 1976-04-15 1977-10-21
JPS52163773U (ja) * 1976-06-04 1977-12-12
JPS54103575U (ja) * 1977-12-27 1979-07-21
JPS5690343U (ja) * 1979-12-13 1981-07-18
JPS63271839A (ja) * 1987-04-30 1988-11-09 Matsushita Electric Ind Co Ltd 温度過昇防止装置
JPS63271840A (ja) * 1987-04-30 1988-11-09 Matsushita Electric Ind Co Ltd 温度過昇防止装置
JPH01320723A (ja) * 1988-06-22 1989-12-26 Hitachi Ltd 過負荷保護装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017500682A (ja) * 2013-10-31 2017-01-05 マイクロン テクノロジー, インク. メモリセルアレイに記憶された極値の識別装置及び方法

Similar Documents

Publication Publication Date Title
US4758972A (en) Precision rounding in a floating point arithmetic unit
US5490268A (en) Method for changing an arrangement of an initial combinational circuit to satisfy prescribed delay time by computing permissible functions of output gates and remaining gates
US5461574A (en) Method of expressing a logic circuit
JP2000347832A (ja) 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置
US20040267853A1 (en) Method and apparatus for implementing power of two floating point estimation
KR20070096740A (ko) 부동 소수점 데이터의 총합 연산 처리 방법 및 컴퓨터시스템
EP0605885B1 (en) Method and apparatus for automatically designing logic circuit, and multiplier
JPH04239910A (ja) 多入力最大値演算方法及びその装置
JPH08212246A (ja) 論理生成方法
US5519626A (en) Method of dividing a pipelined stage into two stages in a computer-aided design system
US5903467A (en) Selecting phase assignments for candidate nodes in a logic network
US6341296B1 (en) Method and apparatus for efficient selection of a boundary value
JPH09128241A (ja) ファジーロジックプロセッサの言語入力値の所属関数値に対する配列方法および装置
US6018621A (en) Identifying an optimizable logic region in a logic network
JP5309354B2 (ja) 高速パターンマッチング装置の探索方法
CN104683806B (zh) 基于深度流水的mq算术编码器高速fpga实现方法
US6035110A (en) Identifying candidate nodes for phase assignment in a logic network
US20040073593A1 (en) Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic
JPWO2005098612A1 (ja) 重要成分優先計算方式ならびに装置
US20030126177A1 (en) Arithmetic unit and method thereof
US5502401A (en) Controllable width or gate
JP3260395B2 (ja) 多入力ファジィ論理演算回路
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
CN120952078A (zh) 一种大语言模型softmax函数硬件加速电路及方法
JPH09259171A (ja) 組み合わせ論理回路における真理値表作成方法