JP3524057B2 - ナンバの集合内で最小/最大値を探索するための方法及び回路 - Google Patents
ナンバの集合内で最小/最大値を探索するための方法及び回路Info
- Publication number
- JP3524057B2 JP3524057B2 JP2000387095A JP2000387095A JP3524057B2 JP 3524057 B2 JP3524057 B2 JP 3524057B2 JP 2000387095 A JP2000387095 A JP 2000387095A JP 2000387095 A JP2000387095 A JP 2000387095A JP 3524057 B2 JP3524057 B2 JP 3524057B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- minimum
- partial
- circuit
- values
- 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
Classifications
-
- 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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Measurement Of Current Or Voltage (AREA)
- Measuring Instrument Details And Bridges, And Automatic Balancing Devices (AREA)
- Analogue/Digital Conversion (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、ナンバ(数値)の
集合内で所定の値を有する一のナンバを探索する技術に
係り、更に詳細に説明すれば、この集合内で最小/最大
値を有する一のナンバを探索するための方法及び回路に
係る。本発明の方法及び回路は、非常に高速の探索を可
能にすることにより、応答時間を改善するだけでなく、
最小/最大値の探索対象である前記集合内のナンバの量
がどのようなものであろうとも、一定の応答時間を提供
する。
集合内で所定の値を有する一のナンバを探索する技術に
係り、更に詳細に説明すれば、この集合内で最小/最大
値を有する一のナンバを探索するための方法及び回路に
係る。本発明の方法及び回路は、非常に高速の探索を可
能にすることにより、応答時間を改善するだけでなく、
最小/最大値の探索対象である前記集合内のナンバの量
がどのようなものであろうとも、一定の応答時間を提供
する。
【0002】
【従来の技術】現在の計算プロセスでは、ナンバの集合
内で最小/最大値を探索することが、最適化、人工ニュ
ーラル・ネットワーク、信号処理などの種々の技術分野
で、広範に行われている。その結果として得られる最小
/最大値は、後続の計算タスクで使用されるか、又はこ
れに関連する回路を選択するなどの適当な操作を行うの
に利用される。この探索を可能な限り高速に行うことが
極めて望ましいので、従来は、この目標を満たすために
高性能で高価な専用回路のみを使用していた。現在、こ
の重要な問題を解決するための、ハードウェア形式で実
現された幾つかの解決方法が存在しており、その代表的
なものは、多少の困難性を伴いつつもシリコン・チップ
内に実現されている。
内で最小/最大値を探索することが、最適化、人工ニュ
ーラル・ネットワーク、信号処理などの種々の技術分野
で、広範に行われている。その結果として得られる最小
/最大値は、後続の計算タスクで使用されるか、又はこ
れに関連する回路を選択するなどの適当な操作を行うの
に利用される。この探索を可能な限り高速に行うことが
極めて望ましいので、従来は、この目標を満たすために
高性能で高価な専用回路のみを使用していた。現在、こ
の重要な問題を解決するための、ハードウェア形式で実
現された幾つかの解決方法が存在しており、その代表的
なものは、多少の困難性を伴いつつもシリコン・チップ
内に実現されている。
【0003】例えば、ナンバの集合内で最小値を有する
特定のナンバを決定するための最も普通の方法は、集合
内の1つのナンバを他のナンバと比較し、そのうち最小
の値を有するナンバを選択し、集合内の全てのナンバが
処理されるまで、選択されたナンバについて同様の処理
を反復することにより、最小値を有する特定のナンバを
最終的に識別するというものである。明らかに、この解
決方法は、順次に実行される多くの処理ステップを必要
とし、そのため応答時間が長くなるという点で、重要な
欠点を有している。この解決方法及びこれから導かれた
他の解決方法は、主として順次式処理アルゴリズムに基
づいているために、現在の殆どのアプリケーションにと
っては受け入れることができない長い応答時間を有して
いる。更に、この応答時間は一層長くなることがある。
なぜなら、この応答時間は、精度(前記ナンバを符号化
するために使用されるビットの数q)の関数であるだけ
でなく、最小/最大値の探索対象である集合内のナンバ
の量にも依存するからである。
特定のナンバを決定するための最も普通の方法は、集合
内の1つのナンバを他のナンバと比較し、そのうち最小
の値を有するナンバを選択し、集合内の全てのナンバが
処理されるまで、選択されたナンバについて同様の処理
を反復することにより、最小値を有する特定のナンバを
最終的に識別するというものである。明らかに、この解
決方法は、順次に実行される多くの処理ステップを必要
とし、そのため応答時間が長くなるという点で、重要な
欠点を有している。この解決方法及びこれから導かれた
他の解決方法は、主として順次式処理アルゴリズムに基
づいているために、現在の殆どのアプリケーションにと
っては受け入れることができない長い応答時間を有して
いる。更に、この応答時間は一層長くなることがある。
なぜなら、この応答時間は、精度(前記ナンバを符号化
するために使用されるビットの数q)の関数であるだけ
でなく、最小/最大値の探索対象である集合内のナンバ
の量にも依存するからである。
【0004】他の接近方法は、最小/最大値の探索対象
である集合内のナンバの全体について、同じ重みを有す
る全てのビットを同時(並列)に評価することに向けら
れている。この並列式の接近方法は、ZISC036と
いう名称(ZISCは、IBM社の登録商標である)の
下で、IBM社により製造・販売されているニューラル
・シリコン・チップの拡張ファミリと関連して、最近の
技術文献に記載されている。その詳細については、米国
特許第5740326号を参照されたい。
である集合内のナンバの全体について、同じ重みを有す
る全てのビットを同時(並列)に評価することに向けら
れている。この並列式の接近方法は、ZISC036と
いう名称(ZISCは、IBM社の登録商標である)の
下で、IBM社により製造・販売されているニューラル
・シリコン・チップの拡張ファミリと関連して、最近の
技術文献に記載されている。その詳細については、米国
特許第5740326号を参照されたい。
【0005】図1を参照して、この接近方法の原理を簡
述する。但し、qビット上に符号化されたp個のナンバ
(以下「ナンバ1〜p」と表記)が処理されるものと仮
定する。図1の探索回路10は、p個のブロック11−
1〜11−p(探索すべきナンバごとに1つずつ)から
成り、1つのビット・スライス(この例では前記ナンバ
の第2ビット(ビット2又はBit2))を処理する。
q個のスライスの全てに関連して、これと同一の構造が
設けられていることに留意されたい。各ブロック11
は、前掲の米国特許の図28Bに示される回路と極めて
類似している。例えば、ブロック11−1は、2入力の
ORゲート12−1、2入力のANDゲート13−1及
び2入力のORゲート14−1から成る。後者の2つの
ゲートは、サブブロック15−1を形成し、これに関連
するナンバ(この例ではナンバ1)の選択/選択解除を
行うという重要な役割を有する。前掲の米国特許と同じ
用語を使用すると、信号Exout1-2及びBit
1-2が、ORゲート12−1に与えられる。信号Exo
ut1-2は、ナンバ1の状態(選択済み又は選択解除済
み)を表し、Bit1-2は、ナンバ1用のビット2の値
を表す。これと同じ構造は、全てのブロック11−1〜
11−pに該当する。ORゲート12−1〜12−pの
出力は、p入力のANDゲート16に与えられ(AND
ゲート16は、同時に処理すべきナンバと同数の入力を
必要とする)、ANDゲート16からの信号は、インバ
ータ17で反転される。ANDゲート16及びインバー
タ17は、ブロック18を形成する。ブロック18から
の信号は、全てのANDゲート13−1〜13−pの第
1入力に与えられ、これらのANDゲートの第2入力
は、対応するBit信号(Bit1-2〜Bitp-2)を受
け取る。ANDゲート13−1〜13−pの出力及び対
応するExout信号(Exout1-2〜Exou
tp-2)は、ORゲート14−1〜14−pに与えられ
る。ORゲート14−1〜14−pからの出力信号は、
前掲の米国特許の用語と整合するように、Exout
1-3〜Exoutp-3と表記されている。p個のブロック
11−1〜11−pに共通のブロック18は、p個のナ
ンバのビット2(1つのビット)だけの最小値を決定す
ることを可能にする。例えば、この比較を行って最小値
を選択するために、全てのナンバ1〜pの1つのビット
の各スライスは、最上位ビット(MSB)から最下位ビ
ット(LSB)に向かって、ステップ(例えば、クロッ
ク・サイクル)ごとに1スライスずつ順次に処理され
る。つまり、この接近方法の応答時間は、スライスの量
q(即ち、ナンバ1〜pを符号化するために使用される
ビットの数)の関数である。かくて、この接近方法は、
p個のナンバについては並列的であるが、符号化された
qビットについては順次的である。そのため、pの値が
どのようなものであろうとも、計算時間は、ビット/ス
ライスの数qのみに依存する。図1に示すように、排他
(exclusion)ビットを表すExout信号は、最小値
評価プロセス(以下「評価プロセス」と表記)中に、対
応するナンバの選択/選択解除を行うために使用され
る。Exout信号が論理「0」に等しい限り、或るナ
ンバが選択され、他方、Exout信号が論理「1」に
等しいと、このナンバがすぐに選択解除される。もし、
或るナンバ(例えば、ナンバ1)が、ビットi(i=1
〜q)の評価プロセス中に選択解除されたならば、Ex
out1-(i +1)は「1」に等しく、次の全ての信号Ex
out1-(i+2)〜Exout1-qは「1」にセットされる
であろう。その結果、ナンバ1は、その値がどのような
ものであろうとも、もはや考慮されないことになり、そ
して信号Bit1-(i+1)〜Bit1-qは禁止されることに
なる。最小値の探索に制限されている説明中の例では、
評価プロセスが開始する際に、ビット1(MSB)に対
応する第1スライスを選択解除してはならないので、信
号Exout1-1〜Exoutp-1は論理「0」に強制さ
れる。
述する。但し、qビット上に符号化されたp個のナンバ
(以下「ナンバ1〜p」と表記)が処理されるものと仮
定する。図1の探索回路10は、p個のブロック11−
1〜11−p(探索すべきナンバごとに1つずつ)から
成り、1つのビット・スライス(この例では前記ナンバ
の第2ビット(ビット2又はBit2))を処理する。
q個のスライスの全てに関連して、これと同一の構造が
設けられていることに留意されたい。各ブロック11
は、前掲の米国特許の図28Bに示される回路と極めて
類似している。例えば、ブロック11−1は、2入力の
ORゲート12−1、2入力のANDゲート13−1及
び2入力のORゲート14−1から成る。後者の2つの
ゲートは、サブブロック15−1を形成し、これに関連
するナンバ(この例ではナンバ1)の選択/選択解除を
行うという重要な役割を有する。前掲の米国特許と同じ
用語を使用すると、信号Exout1-2及びBit
1-2が、ORゲート12−1に与えられる。信号Exo
ut1-2は、ナンバ1の状態(選択済み又は選択解除済
み)を表し、Bit1-2は、ナンバ1用のビット2の値
を表す。これと同じ構造は、全てのブロック11−1〜
11−pに該当する。ORゲート12−1〜12−pの
出力は、p入力のANDゲート16に与えられ(AND
ゲート16は、同時に処理すべきナンバと同数の入力を
必要とする)、ANDゲート16からの信号は、インバ
ータ17で反転される。ANDゲート16及びインバー
タ17は、ブロック18を形成する。ブロック18から
の信号は、全てのANDゲート13−1〜13−pの第
1入力に与えられ、これらのANDゲートの第2入力
は、対応するBit信号(Bit1-2〜Bitp-2)を受
け取る。ANDゲート13−1〜13−pの出力及び対
応するExout信号(Exout1-2〜Exou
tp-2)は、ORゲート14−1〜14−pに与えられ
る。ORゲート14−1〜14−pからの出力信号は、
前掲の米国特許の用語と整合するように、Exout
1-3〜Exoutp-3と表記されている。p個のブロック
11−1〜11−pに共通のブロック18は、p個のナ
ンバのビット2(1つのビット)だけの最小値を決定す
ることを可能にする。例えば、この比較を行って最小値
を選択するために、全てのナンバ1〜pの1つのビット
の各スライスは、最上位ビット(MSB)から最下位ビ
ット(LSB)に向かって、ステップ(例えば、クロッ
ク・サイクル)ごとに1スライスずつ順次に処理され
る。つまり、この接近方法の応答時間は、スライスの量
q(即ち、ナンバ1〜pを符号化するために使用される
ビットの数)の関数である。かくて、この接近方法は、
p個のナンバについては並列的であるが、符号化された
qビットについては順次的である。そのため、pの値が
どのようなものであろうとも、計算時間は、ビット/ス
ライスの数qのみに依存する。図1に示すように、排他
(exclusion)ビットを表すExout信号は、最小値
評価プロセス(以下「評価プロセス」と表記)中に、対
応するナンバの選択/選択解除を行うために使用され
る。Exout信号が論理「0」に等しい限り、或るナ
ンバが選択され、他方、Exout信号が論理「1」に
等しいと、このナンバがすぐに選択解除される。もし、
或るナンバ(例えば、ナンバ1)が、ビットi(i=1
〜q)の評価プロセス中に選択解除されたならば、Ex
out1-(i +1)は「1」に等しく、次の全ての信号Ex
out1-(i+2)〜Exout1-qは「1」にセットされる
であろう。その結果、ナンバ1は、その値がどのような
ものであろうとも、もはや考慮されないことになり、そ
して信号Bit1-(i+1)〜Bit1-qは禁止されることに
なる。最小値の探索に制限されている説明中の例では、
評価プロセスが開始する際に、ビット1(MSB)に対
応する第1スライスを選択解除してはならないので、信
号Exout1-1〜Exoutp-1は論理「0」に強制さ
れる。
【0006】要するに、前述の接近方法は、ナンバ1〜
pを符号化するために使用されるビットの量qと同数の
ステップを必要としているので、探索プロセスの速度が
制限されるだけでなく、シリコン領域も浪費されるので
ある。
pを符号化するために使用されるビットの量qと同数の
ステップを必要としているので、探索プロセスの速度が
制限されるだけでなく、シリコン領域も浪費されるので
ある。
【0007】
【発明が解決しようとする課題】従って、本発明の目的
は、幾つかのビット・スライスを同一ステップ内で同時
に且つ並列に処理して、応答時間を大幅に改善すること
ができる、ナンバの集合内で最小/最大値を探索するた
めの方法及び回路を提供することにある。
は、幾つかのビット・スライスを同一ステップ内で同時
に且つ並列に処理して、応答時間を大幅に改善すること
ができる、ナンバの集合内で最小/最大値を探索するた
めの方法及び回路を提供することにある。
【0008】本発明の他の目的は、探索対象である集合
内のナンバの量がどのようなものであろうとも、一定の
応答時間を与えることができる、前記方法及び回路を提
供することにある。
内のナンバの量がどのようなものであろうとも、一定の
応答時間を与えることができる、前記方法及び回路を提
供することにある。
【0009】本発明の他の目的は、シリコン・チップ内
に実現される場合に、その相当な領域を節約し且つその
接続性を簡単にすることができる、前記方法及び回路を
提供することにある。
に実現される場合に、その相当な領域を節約し且つその
接続性を簡単にすることができる、前記方法及び回路を
提供することにある。
【0010】
【課題を解決するための手段】前記目的及び他の関連す
る目的は、本発明に従った方法及び回路により達成され
る。
る目的は、本発明に従った方法及び回路により達成され
る。
【0011】本発明に従った方法は、qビット上に2進
形式で符号化されたp個のナンバの集合内で最小/最大
値を探索するための方法に向けられている。この方法
は、(a)各ナンバをnビット上に符号化されたK(但
し、q≦K×n)個の部分値に分割するとともに、一の
ナンバの各部分値に一のランクを割り当てるための一の
パラメータk(但し、k=1〜K)を定義するステップ
と、(b)第1ランク(MSB)のnビット符号化され
た全ての部分値により、第1スライス(k=1)を形成
するステップと、(c)一の基本論理演算(AND、O
R)により最小/最大値の評価を可能にする一の符号化
技術を使用して、前記第1スライスのnビット符号化さ
れた各部分値をmビット(但し、m>n)上に符号化す
ることにより、mビット符号化された部分値の一のスラ
イスを形成するステップと、(d)mビット符号化され
た部分値の前記スライスを対象として並列に探索するこ
とにより、当該スライス内で最小/最大のmビット符号
化された部分値を評価するステップと、(e)前記ステ
ップ(d)で評価された前記最小/最大のmビット符号
化された部分値よりも大きい/小さいmビット符号化さ
れた部分値に関連する全てのナンバを選択解除するステ
ップと、(f)全てのスライスが処理されて(k=
K)、選択解除されていないナンバの値に対応するもの
として前記最小/最大値が評価されるまで、次のスライ
ス(k=k+1)を対象として前記ステップ(c)及び
(d)を反復するステップとを含んでいる。
形式で符号化されたp個のナンバの集合内で最小/最大
値を探索するための方法に向けられている。この方法
は、(a)各ナンバをnビット上に符号化されたK(但
し、q≦K×n)個の部分値に分割するとともに、一の
ナンバの各部分値に一のランクを割り当てるための一の
パラメータk(但し、k=1〜K)を定義するステップ
と、(b)第1ランク(MSB)のnビット符号化され
た全ての部分値により、第1スライス(k=1)を形成
するステップと、(c)一の基本論理演算(AND、O
R)により最小/最大値の評価を可能にする一の符号化
技術を使用して、前記第1スライスのnビット符号化さ
れた各部分値をmビット(但し、m>n)上に符号化す
ることにより、mビット符号化された部分値の一のスラ
イスを形成するステップと、(d)mビット符号化され
た部分値の前記スライスを対象として並列に探索するこ
とにより、当該スライス内で最小/最大のmビット符号
化された部分値を評価するステップと、(e)前記ステ
ップ(d)で評価された前記最小/最大のmビット符号
化された部分値よりも大きい/小さいmビット符号化さ
れた部分値に関連する全てのナンバを選択解除するステ
ップと、(f)全てのスライスが処理されて(k=
K)、選択解除されていないナンバの値に対応するもの
として前記最小/最大値が評価されるまで、次のスライ
ス(k=k+1)を対象として前記ステップ(c)及び
(d)を反復するステップとを含んでいる。
【0012】本発明に従った回路は、qビット上に2進
形式で符号化されたp個のナンバの集合内で最小/最大
値を探索するための探索回路に向けられている。この探
索回路は、(a)m個のp入力ANDゲートから成る最
小/最大値評価手段を備え、前記ANDゲートは、mビ
ット符号化されたp個の2進ワードの同じ重みを有する
mビットの各々について論理積演算を実行することが可
能であり、(b)各々が一のナンバに関連している、p
個の回路ブロックを備え、前記回路ブロックの各々が、
(b1)各ナンバをnビット上に符号化されたK(但
し、q≦K×n)個の部分値に分割するための分割手段
と、(b2)nビット符号化された各部分値をmビット
(但し、m>n)符号化された一の部分値に符号化する
ための符号化手段であって、その入力を前記分割手段に
接続され且つその出力を前記最小/最大値評価手段に接
続された前記符号化手段と、(b3)前記符号化手段に
接続された選択解除手段とから成り、前記符号化手段内
で使用されている符号化技術は、前記探索回路の全ての
前記符号化手段により生成されたmビット符号化された
部分値のうち最小/最大の部分値を、一の論理積演算を
通して、評価することを可能にするものであり、前記探
索回路の全ての前記符号化手段により生成されたmビッ
ト符号化された部分値は、前記最小/最大の部分値を評
価するために、前記最小/最大値評価手段に与えられ、
また一の前記回路ブロックのmビット符号化された部分
値が前記最小/最大の部分値よりも大きい/小さいとき
に、当該回路ブロックに関連するナンバを選択解除する
ことができる一の排他信号Exoutを生成するため
に、前記選択解除手段に与えられるようになっている。
形式で符号化されたp個のナンバの集合内で最小/最大
値を探索するための探索回路に向けられている。この探
索回路は、(a)m個のp入力ANDゲートから成る最
小/最大値評価手段を備え、前記ANDゲートは、mビ
ット符号化されたp個の2進ワードの同じ重みを有する
mビットの各々について論理積演算を実行することが可
能であり、(b)各々が一のナンバに関連している、p
個の回路ブロックを備え、前記回路ブロックの各々が、
(b1)各ナンバをnビット上に符号化されたK(但
し、q≦K×n)個の部分値に分割するための分割手段
と、(b2)nビット符号化された各部分値をmビット
(但し、m>n)符号化された一の部分値に符号化する
ための符号化手段であって、その入力を前記分割手段に
接続され且つその出力を前記最小/最大値評価手段に接
続された前記符号化手段と、(b3)前記符号化手段に
接続された選択解除手段とから成り、前記符号化手段内
で使用されている符号化技術は、前記探索回路の全ての
前記符号化手段により生成されたmビット符号化された
部分値のうち最小/最大の部分値を、一の論理積演算を
通して、評価することを可能にするものであり、前記探
索回路の全ての前記符号化手段により生成されたmビッ
ト符号化された部分値は、前記最小/最大の部分値を評
価するために、前記最小/最大値評価手段に与えられ、
また一の前記回路ブロックのmビット符号化された部分
値が前記最小/最大の部分値よりも大きい/小さいとき
に、当該回路ブロックに関連するナンバを選択解除する
ことができる一の排他信号Exoutを生成するため
に、前記選択解除手段に与えられるようになっている。
【0013】かくて、本発明の方法は、全てではないに
しても殆どの計算を並列化することにより、最小/最大
値を探索する際の応答時間を大幅に改善することができ
る。その結果、この方法は、もはや探索すべきナンバを
符号化するためのビットの量qに依存しないので、評価
プロセスのステップ数を相当に少なくすることができ
る。
しても殆どの計算を並列化することにより、最小/最大
値を探索する際の応答時間を大幅に改善することができ
る。その結果、この方法は、もはや探索すべきナンバを
符号化するためのビットの量qに依存しないので、評価
プロセスのステップ数を相当に少なくすることができ
る。
【0014】
【発明の実施の形態】本発明の一般的な側面に従って、
qビット上に符号化された各ナンバの値は、nビット上
に符号化されたK個の一層小さい値(以下「部分値」と
表記)に分割される。次に、nビット符号化されたこれ
らの部分値は、適切なエンコーダを使用して、mビット
上に符号化される。その結果、各部分値を1ステップ内
で調べることができるので、探索プロセスを著しく高速
化することができる。かかる分割及び符号化機能を使用
することは、本発明の基本的な特徴に相当する(しか
し、n=qである特殊なケースでは、分割が不要である
ことに留意されたい)。他方、デコーダを使用すると、
本発明の探索回路を物理的に実現するのに最終的に必要
とされるハードウェアを著しく簡略化することができ
る。
qビット上に符号化された各ナンバの値は、nビット上
に符号化されたK個の一層小さい値(以下「部分値」と
表記)に分割される。次に、nビット符号化されたこれ
らの部分値は、適切なエンコーダを使用して、mビット
上に符号化される。その結果、各部分値を1ステップ内
で調べることができるので、探索プロセスを著しく高速
化することができる。かかる分割及び符号化機能を使用
することは、本発明の基本的な特徴に相当する(しか
し、n=qである特殊なケースでは、分割が不要である
ことに留意されたい)。他方、デコーダを使用すると、
本発明の探索回路を物理的に実現するのに最終的に必要
とされるハードウェアを著しく簡略化することができ
る。
【0015】図2には、部分的な並列動作を可能にす
る、本発明の基本的な探索回路19の構成が示されてい
る。説明を簡潔にするため、前述の例と同様に、p個の
ナンバ(ナンバ1〜p)の集合内で最小値を探索するも
のと仮定する。なお、最小値の探索と最大値の探索とは
極めて類似しているから、最小値の探索に係る以下の説
明は、最大値の探索にも直接的に該当するであろう。図
2に戻ると、探索回路19は、同一構造を有するp個の
ブロック20−1〜20−pから成る。説明の便宜上、
ブロック20−1内の要素を中心に説明する。このブロ
ック内のレジスタ21−1は、2進形式で、この例で
は、qビット上に符号化されたナンバ1を格納する。部
分値抽出回路22−1は、レジスタ21−1の内容を、
各々がnビット上にそれぞれ符号化された、K個の部分
値に分割する。但し、q≦K×nの関係が成立し、K=
1は分割の不在を示すものとする。また、ナンバ1(一
般には、集合を構成する全てのナンバ)を形成する各部
分値のランクを定義するための変数k(k=1〜K)を
導入することにより、並列に処理すべき複数ビットから
成る各スライスを定義するものとする。実際には、レジ
スタ21−1は、必ずしもブロック20−1内に設ける
必要はなく、外部レジスタ又はRAMとして設けてもよ
い。
る、本発明の基本的な探索回路19の構成が示されてい
る。説明を簡潔にするため、前述の例と同様に、p個の
ナンバ(ナンバ1〜p)の集合内で最小値を探索するも
のと仮定する。なお、最小値の探索と最大値の探索とは
極めて類似しているから、最小値の探索に係る以下の説
明は、最大値の探索にも直接的に該当するであろう。図
2に戻ると、探索回路19は、同一構造を有するp個の
ブロック20−1〜20−pから成る。説明の便宜上、
ブロック20−1内の要素を中心に説明する。このブロ
ック内のレジスタ21−1は、2進形式で、この例で
は、qビット上に符号化されたナンバ1を格納する。部
分値抽出回路22−1は、レジスタ21−1の内容を、
各々がnビット上にそれぞれ符号化された、K個の部分
値に分割する。但し、q≦K×nの関係が成立し、K=
1は分割の不在を示すものとする。また、ナンバ1(一
般には、集合を構成する全てのナンバ)を形成する各部
分値のランクを定義するための変数k(k=1〜K)を
導入することにより、並列に処理すべき複数ビットから
成る各スライスを定義するものとする。実際には、レジ
スタ21−1は、必ずしもブロック20−1内に設ける
必要はなく、外部レジスタ又はRAMとして設けてもよ
い。
【0016】本質的に、部分値抽出回路22−1は、シ
フト・レジスタであって、全てのナンバ用のスライス1
〜Kからの部分値を順次に出力するように、そのシフト
制御入力を制御論理CL(詳細に図示せず)内のシーケ
ンサに接続されている。ここで理解するのが重要である
点は、各スライスを形成している同じランクの全ての部
分値が、評価プロセス中に、1ステップ内で処理される
ということである。選択解除されるナンバについては、
その部分値は、評価プロセス中に影響を有しない中立値
(例えば、最小探索の場合は、連続するn個の「1」)
により置換される。更に、ブロック20−1は、エンコ
ーダ23−1及び選択/選択解除回路24−1を含んで
いる。エンコーダ23−1は、nビット符号化された各
部分値ごとに、これに対応するmビット符号化された部
分値を生成し、これを選択/選択解除回路24−1の
(m本の線から成る)第1入力に与え、また図1のブロ
ック18と同様の最小値評価回路25にも与える。最小
値評価回路25の出力は、選択/選択解除回路24−1
の(m本の線から成る)第2入力に与えられる(これと
同様の構造は、探索回路19内の他のブロック20につ
いても該当する)。最後に、選択/選択解除回路24−
1の出力は、それぞれの接続を介して、排他信号Exo
ut1を部分値抽出回路22−1又はエンコーダ23−
1に与えることにより、ナンバ1が選択解除される際に
1組の中立ビットを強制する。
フト・レジスタであって、全てのナンバ用のスライス1
〜Kからの部分値を順次に出力するように、そのシフト
制御入力を制御論理CL(詳細に図示せず)内のシーケ
ンサに接続されている。ここで理解するのが重要である
点は、各スライスを形成している同じランクの全ての部
分値が、評価プロセス中に、1ステップ内で処理される
ということである。選択解除されるナンバについては、
その部分値は、評価プロセス中に影響を有しない中立値
(例えば、最小探索の場合は、連続するn個の「1」)
により置換される。更に、ブロック20−1は、エンコ
ーダ23−1及び選択/選択解除回路24−1を含んで
いる。エンコーダ23−1は、nビット符号化された各
部分値ごとに、これに対応するmビット符号化された部
分値を生成し、これを選択/選択解除回路24−1の
(m本の線から成る)第1入力に与え、また図1のブロ
ック18と同様の最小値評価回路25にも与える。最小
値評価回路25の出力は、選択/選択解除回路24−1
の(m本の線から成る)第2入力に与えられる(これと
同様の構造は、探索回路19内の他のブロック20につ
いても該当する)。最後に、選択/選択解除回路24−
1の出力は、それぞれの接続を介して、排他信号Exo
ut1を部分値抽出回路22−1又はエンコーダ23−
1に与えることにより、ナンバ1が選択解除される際に
1組の中立ビットを強制する。
【0017】選択/選択解除回路24−1〜24−pの
各々は、評価プロセスの初期化段階で、全てのナンバ1
〜pが選択されるように、制御論理CLに接続されたラ
ッチを含んでいる。かくて、初期化段階では、信号Ex
out1〜Exoutpが論理「0」にセットされるの
で、全てのナンバを処理することが可能となる。このよ
うに、探索回路19は、第1動作モードに従って機能す
るように適合される。即ち、この第1動作モードでは、
エンコーダ23−1〜23−pにより生成された部分値
と、(最小値評価回路25により決定された)mビット
符号化形式の最小部分値とが、選択/選択解除回路24
−1〜24−p内でそれぞれ並列に比較される。選択/
選択解除回路24−1〜24−pは、前掲の米国特許と
同様のナンバを選択/選択解除するという役割を有す
る、排他信号Exout1〜Exoutpを生成する。或
るExout信号が論理「0」に等しい場合、この信号
は次の部分値が選択されることを可能にし、他方、或る
Exout信号が論理「1」に等しい場合、この信号は
前記のように1組の中立ビット(連続するn個の
「1」)を強制することにより、その部分値を禁止す
る。所定のランクを有する部分値の各スライスを評価す
る間に、ナンバを選択又は選択解除するためには、かか
る排他信号を使用することが必要となる。或る部分値を
評価した結果に応じて対応するナンバが選択解除される
とすぐに、そのナンバの(まだ未処理の)次の部分値の
実際の値は、評価プロセスの後続ステップ中には考慮さ
れないことになる。要するに、探索回路19の動作は、
p個のナンバが同時に処理されるという意味で本質的に
並列的であるが、これらのナンバがnビット符号化され
た部分値のスライス単位で処理されるという点で部分的
に順次的に留まる。最小値は、依然として選択されてい
るナンバ(即ち、論理「0」に等しいExout信号を
有するナンバ)のレジスタ内に見出すことができる。
各々は、評価プロセスの初期化段階で、全てのナンバ1
〜pが選択されるように、制御論理CLに接続されたラ
ッチを含んでいる。かくて、初期化段階では、信号Ex
out1〜Exoutpが論理「0」にセットされるの
で、全てのナンバを処理することが可能となる。このよ
うに、探索回路19は、第1動作モードに従って機能す
るように適合される。即ち、この第1動作モードでは、
エンコーダ23−1〜23−pにより生成された部分値
と、(最小値評価回路25により決定された)mビット
符号化形式の最小部分値とが、選択/選択解除回路24
−1〜24−p内でそれぞれ並列に比較される。選択/
選択解除回路24−1〜24−pは、前掲の米国特許と
同様のナンバを選択/選択解除するという役割を有す
る、排他信号Exout1〜Exoutpを生成する。或
るExout信号が論理「0」に等しい場合、この信号
は次の部分値が選択されることを可能にし、他方、或る
Exout信号が論理「1」に等しい場合、この信号は
前記のように1組の中立ビット(連続するn個の
「1」)を強制することにより、その部分値を禁止す
る。所定のランクを有する部分値の各スライスを評価す
る間に、ナンバを選択又は選択解除するためには、かか
る排他信号を使用することが必要となる。或る部分値を
評価した結果に応じて対応するナンバが選択解除される
とすぐに、そのナンバの(まだ未処理の)次の部分値の
実際の値は、評価プロセスの後続ステップ中には考慮さ
れないことになる。要するに、探索回路19の動作は、
p個のナンバが同時に処理されるという意味で本質的に
並列的であるが、これらのナンバがnビット符号化され
た部分値のスライス単位で処理されるという点で部分的
に順次的に留まる。最小値は、依然として選択されてい
るナンバ(即ち、論理「0」に等しいExout信号を
有するナンバ)のレジスタ内に見出すことができる。
【0018】第2動作モードでは、デコーダ26が使用
される。この場合、エンコーダ23−1と選択/選択解
除回路24−1〜24−pとの間の前述の接続はもはや
存在せず、最小値評価回路25と選択/選択解除回路2
4−1〜24−pとの間の前述の接続も存在しない(エ
ンコーダ23−1と最小値評価回路25との間の接続が
残存するだけである)。説明中の例では、部分値抽出回
路22−1の出力は、選択/選択解除回路24−1の第
1入力に接続されている。最小値評価回路25の出力
は、もはや選択/選択解除回路24−1〜24−pには
直接的に与えられておらず、デコーダ26に与えられて
いる。一方、デコーダ26の出力は、選択/選択解除回
路24−1〜24−pの第2入力にそれぞれ与えられ
る。これと同様の構造は、探索回路19内の他のブロッ
ク20についても該当する。その結果、これらの部分値
と(最小値評価回路25により評価された)最小部分値
との間の比較が依然として行われるが、この第2動作モ
ードでは、符号化形式(mビット)の代わりに、非符号
化形式(nビット)で比較が行われる。この第2動作モ
ードは、図2の点線により例示されている。デコーダ2
6を使用することに価値があるのは、最小/最大値の探
索が大量のナンバを対象として行われる場合である。な
ぜなら、そのような場合にデコーダ26を使用すると、
各選択/選択解除回路24内のハードウェアを著しく簡
略化することができるからである。
される。この場合、エンコーダ23−1と選択/選択解
除回路24−1〜24−pとの間の前述の接続はもはや
存在せず、最小値評価回路25と選択/選択解除回路2
4−1〜24−pとの間の前述の接続も存在しない(エ
ンコーダ23−1と最小値評価回路25との間の接続が
残存するだけである)。説明中の例では、部分値抽出回
路22−1の出力は、選択/選択解除回路24−1の第
1入力に接続されている。最小値評価回路25の出力
は、もはや選択/選択解除回路24−1〜24−pには
直接的に与えられておらず、デコーダ26に与えられて
いる。一方、デコーダ26の出力は、選択/選択解除回
路24−1〜24−pの第2入力にそれぞれ与えられ
る。これと同様の構造は、探索回路19内の他のブロッ
ク20についても該当する。その結果、これらの部分値
と(最小値評価回路25により評価された)最小部分値
との間の比較が依然として行われるが、この第2動作モ
ードでは、符号化形式(mビット)の代わりに、非符号
化形式(nビット)で比較が行われる。この第2動作モ
ードは、図2の点線により例示されている。デコーダ2
6を使用することに価値があるのは、最小/最大値の探
索が大量のナンバを対象として行われる場合である。な
ぜなら、そのような場合にデコーダ26を使用すると、
各選択/選択解除回路24内のハードウェアを著しく簡
略化することができるからである。
【0019】図3は、本発明に従って完全な並列動作を
可能とするように、図2の探索回路19から直接的に導
かれた、他の探索回路27を示している。この探索回路
27では、図2の部分値抽出回路23はもはや必要では
ない。また、図2のブロック20の要部は、エンコーダ
29及び選択/選択解除回路30のみを含むものとし
て、参照番号28を付して示されている。(K個のスラ
イスのうちの)各スライスは、前述のように対応するレ
ジスタ内に格納された、所定のランクの部分値を処理す
るように専用化される。図2の探索回路19との主要な
相違点は、次のスライスのエンコーダ及び選択/選択解
除回路に与えられる信号Exoutの利用態様にある。
図3に示すように、信号Exout1-1は、エンコーダ
29−12及び選択/選択解除回路30−12に与えら
れる。ここで、評価プロセスが開始される際に、第1ス
ライスの全ての部分値が選択されるように、論理「0」
がスライス1(MSB)のエンコーダ29−11〜29
−p1に与えられることに留意されたい。
可能とするように、図2の探索回路19から直接的に導
かれた、他の探索回路27を示している。この探索回路
27では、図2の部分値抽出回路23はもはや必要では
ない。また、図2のブロック20の要部は、エンコーダ
29及び選択/選択解除回路30のみを含むものとし
て、参照番号28を付して示されている。(K個のスラ
イスのうちの)各スライスは、前述のように対応するレ
ジスタ内に格納された、所定のランクの部分値を処理す
るように専用化される。図2の探索回路19との主要な
相違点は、次のスライスのエンコーダ及び選択/選択解
除回路に与えられる信号Exoutの利用態様にある。
図3に示すように、信号Exout1-1は、エンコーダ
29−12及び選択/選択解除回路30−12に与えら
れる。ここで、評価プロセスが開始される際に、第1ス
ライスの全ての部分値が選択されるように、論理「0」
がスライス1(MSB)のエンコーダ29−11〜29
−p1に与えられることに留意されたい。
【0020】前述の説明において、本発明は、最小値を
探索するための最小値評価回路25に限定されるもので
はなく、集合内の最大値又は所定の値を探索するように
適合された全ての回路をも包含するものと理解すべきで
ある。
探索するための最小値評価回路25に限定されるもので
はなく、集合内の最大値又は所定の値を探索するように
適合された全ての回路をも包含するものと理解すべきで
ある。
【0021】図2及び図3にそれぞれ示されているエン
コーダ23及び29の目標は、nビット符号化された部
分値を、mビット符号化された部分値に変換することに
ある(m>n)。更に、これらのエンコーダは、最小部
分値の評価を同一ステップ内で全てのmビットについて
行うことを可能にするために、或る特性を有しなければ
ならない。パラメータn、g、K及びmの間の関係につ
いては、以下で詳述する。さしあたり、これらの関係
は、速度(Kは最小でなければならず、従ってnは可能
な限り大きい数でなければならない)とハードウェア接
続性(線の本数)との間の最良の妥協により決められる
ことを指摘しておけば十分であろう。例えば、技術文献
で「サーモメトリック」(又は「バロメトリック」)符
号化と一般に呼ばれている符号化技術が、全ての点で適
切である。図4に示すように、この「サーモメトリッ
ク」符号化技術は、LSBから開始する方向における1
の数が符号化数の値を決定する、という特定の2進符号
化方式である。例えば、0011111は、符号化値5
(標準の符号化方式を用いた場合の符号化値は0001
01)に対応し、0001111は、符号化値4(標準
の符号化方式を用いた場合の符号化値は000100)
に対応し、0000111は、符号化値3(標準の符号
化方式を用いた場合の符号化値は000011)に対応
し、0111111は、符号化値6(標準の符号化方式
を用いた場合の符号化値は000110)に対応する。
この符号化技術を表すのにサーモメトリック(又はバロ
メトリック)という用語が使用されるのは、この符号化
技術が、あたかも目盛り上の水銀柱レベルに対応する温
度(又は圧力)値を読み取るのと同じように見えるから
である。
コーダ23及び29の目標は、nビット符号化された部
分値を、mビット符号化された部分値に変換することに
ある(m>n)。更に、これらのエンコーダは、最小部
分値の評価を同一ステップ内で全てのmビットについて
行うことを可能にするために、或る特性を有しなければ
ならない。パラメータn、g、K及びmの間の関係につ
いては、以下で詳述する。さしあたり、これらの関係
は、速度(Kは最小でなければならず、従ってnは可能
な限り大きい数でなければならない)とハードウェア接
続性(線の本数)との間の最良の妥協により決められる
ことを指摘しておけば十分であろう。例えば、技術文献
で「サーモメトリック」(又は「バロメトリック」)符
号化と一般に呼ばれている符号化技術が、全ての点で適
切である。図4に示すように、この「サーモメトリッ
ク」符号化技術は、LSBから開始する方向における1
の数が符号化数の値を決定する、という特定の2進符号
化方式である。例えば、0011111は、符号化値5
(標準の符号化方式を用いた場合の符号化値は0001
01)に対応し、0001111は、符号化値4(標準
の符号化方式を用いた場合の符号化値は000100)
に対応し、0000111は、符号化値3(標準の符号
化方式を用いた場合の符号化値は000011)に対応
し、0111111は、符号化値6(標準の符号化方式
を用いた場合の符号化値は000110)に対応する。
この符号化技術を表すのにサーモメトリック(又はバロ
メトリック)という用語が使用されるのは、この符号化
技術が、あたかも目盛り上の水銀柱レベルに対応する温
度(又は圧力)値を読み取るのと同じように見えるから
である。
【0022】図4(a)には、複数の部分値について並
列式探索を簡単に行うことを可能にする、この符号化技
術の実例が示されている。図示のように、(対応するナ
ンバ1〜4を分割することにより得られた)4つの部分
値1〜4は、同じランクを有し(即ち、同じスライスに
属する)、m=7ビット(ビット0〜6)上に符号化さ
れている。これらの部分値1〜4は、そのスライスの最
小部分値を評価するために並列式に処理される。所望の
結果(最小部分値)を得るために、同じ重みを有する全
てのビットについて論理積(AND)演算が行われる。
図示の例では、部分値1〜4の値は、5、4、3及び6
である。かくて、最小部分値は部分値3であり、その値
は3に等しい。
列式探索を簡単に行うことを可能にする、この符号化技
術の実例が示されている。図示のように、(対応するナ
ンバ1〜4を分割することにより得られた)4つの部分
値1〜4は、同じランクを有し(即ち、同じスライスに
属する)、m=7ビット(ビット0〜6)上に符号化さ
れている。これらの部分値1〜4は、そのスライスの最
小部分値を評価するために並列式に処理される。所望の
結果(最小部分値)を得るために、同じ重みを有する全
てのビットについて論理積(AND)演算が行われる。
図示の例では、部分値1〜4の値は、5、4、3及び6
である。かくて、最小部分値は部分値3であり、その値
は3に等しい。
【0023】図4(b)には、図4(a)の例の変形が
示されている。図4(b)から明らかなように、部分値
1〜4及び最小部分値の各々について、「0」に等しい
最初のビットの後の任意のビットは、有意ではないか
ら、値「0」又は「1」の何れか、この例では「X」
(ドントケア)により表すことができる。
示されている。図4(b)から明らかなように、部分値
1〜4及び最小部分値の各々について、「0」に等しい
最初のビットの後の任意のビットは、有意ではないか
ら、値「0」又は「1」の何れか、この例では「X」
(ドントケア)により表すことができる。
【0024】しかし、周知のように、前述の「サーモメ
トリック」符号化技術とは別の符号化技術又はその変形
が存在する。更に、LSB(ビット0)からMSB(ビ
ット6)に向かって処理する代わりに、その反対の(M
SBからLSBに向かう)方向に処理することも可能で
ある。同様に、相補論理が使用される場合には、ド・モ
ルガンの法則に従って、ANDゲートの代わりにORゲ
ートが使用されなければならない。実際には、スライス
のための最小部分値の評価を並列に行うことを可能にす
るものであれば、どのような符号化技術も適当であろ
う。本発明の基本的な特徴は、前述の符号化技術に従っ
て、前記評価を基本論理関数(この例では論理積演算)
により行うことを可能にする点にある。
トリック」符号化技術とは別の符号化技術又はその変形
が存在する。更に、LSB(ビット0)からMSB(ビ
ット6)に向かって処理する代わりに、その反対の(M
SBからLSBに向かう)方向に処理することも可能で
ある。同様に、相補論理が使用される場合には、ド・モ
ルガンの法則に従って、ANDゲートの代わりにORゲ
ートが使用されなければならない。実際には、スライス
のための最小部分値の評価を並列に行うことを可能にす
るものであれば、どのような符号化技術も適当であろ
う。本発明の基本的な特徴は、前述の符号化技術に従っ
て、前記評価を基本論理関数(この例では論理積演算)
により行うことを可能にする点にある。
【0025】要するに、全体的な評価プロセスでは、各
スライスの最小部分値を決定するために、同じランクを
有するp個の符号化された部分値の全てが同時に処理さ
れるのである。MSBからLSBに向かう方向におい
て、同じランクの各スライスは、m個のp入力ANDゲ
ートを使用して並列に処理される。その結果、部分値の
集合内の最小値は、1ステップだけで、探索することが
できる。図2の探索回路19を使用すると、ナンバ1〜
pの各々を形成しているqビットの全体が処理されるま
で、K個の部分値がランク(又はスライス)ごとに順次
に処理される。しかし、図3の探索回路27を使用する
と、K個の部分値を並列に処理することができる。両方
のケースにおいて、或るナンバが選択解除されるとすぐ
に、残存する部分値がもはや処理されないことに留意さ
れたい。なぜなら、これらの部分値は、1組の中立ビッ
ト(前出)により置換されるからである。
スライスの最小部分値を決定するために、同じランクを
有するp個の符号化された部分値の全てが同時に処理さ
れるのである。MSBからLSBに向かう方向におい
て、同じランクの各スライスは、m個のp入力ANDゲ
ートを使用して並列に処理される。その結果、部分値の
集合内の最小値は、1ステップだけで、探索することが
できる。図2の探索回路19を使用すると、ナンバ1〜
pの各々を形成しているqビットの全体が処理されるま
で、K個の部分値がランク(又はスライス)ごとに順次
に処理される。しかし、図3の探索回路27を使用する
と、K個の部分値を並列に処理することができる。両方
のケースにおいて、或るナンバが選択解除されるとすぐ
に、残存する部分値がもはや処理されないことに留意さ
れたい。なぜなら、これらの部分値は、1組の中立ビッ
ト(前出)により置換されるからである。
【0026】次に、図2のハードウェアと整合する図5
のアルゴリズム31を参照して、本発明の方法を詳述す
る。このアルゴリズム31は、ボックス32〜39(ス
テップA〜Hに対応)から成り、デコーダ26の使用に
依存する前述の第2動作モードをサポートする。
のアルゴリズム31を参照して、本発明の方法を詳述す
る。このアルゴリズム31は、ボックス32〜39(ス
テップA〜Hに対応)から成り、デコーダ26の使用に
依存する前述の第2動作モードをサポートする。
【0027】図5に戻ると、評価プロセスの初期化段階
で、最小値の探索対象である全てのナンバが選択され
る。各ナンバは、K個の部分値に分割される。処理の準
備ができている(MSBを表す)最初のランクの部分値
を得るために、このランクに関係する変数k(k=1〜
K)が1にセットされる(ステップA)。一般化して説
明すると、各ナンバごとに、ランクkの部分値が選択さ
れる(ステップB)。次に、これらの選択された部分値
についての最小値探索評価を単一ステップで行うため
に、これらの部分値は、図3に関連して既に説明した
「サーモメトリック」符号化技術を使用して符号化され
る(ステップC)。この段階で、前記選択された全ての
部分値内の最小部分値を評価することが可能である(ス
テップD)。この最小部分値が復号化された後(ステッ
プE)、この最小部分値より大きい部分値に関連する全
てのナンバを選択解除するために、この最小部分値が選
択された部分値と比較される(ステップF)。この選択
解除ステップの後、LSBを表す部分値に達したか否
か、即ちk=Kが成立するか否かを決定するためのテス
トが行われる(ステップG)。このテスト結果が否定的
であれば、部分値の次のランクが選択されて前述と同様
に処理されるように、変数kをインクリメントすること
により、ステップB〜Gの前述のシーケンスが反復され
る(ステップH)。他方、ステップGのテスト結果が肯
定的であれば、評価プロセスが停止されて、評価済みの
最小値がユーザに利用可能となる。かくて、この最小値
は、依然として選択解除されていないブロックに関連す
るナンバの値である。もし、このアルゴリズム31が或
る時間フレーム内で(即ち、順次に)実行されるのであ
れば、これは図2の探索回路19と整合している。他
方、このアルゴリズム31が或る空間フレーム内で(即
ち、並列に)実行されるのであれば、これは図3の探索
回路27と整合している。
で、最小値の探索対象である全てのナンバが選択され
る。各ナンバは、K個の部分値に分割される。処理の準
備ができている(MSBを表す)最初のランクの部分値
を得るために、このランクに関係する変数k(k=1〜
K)が1にセットされる(ステップA)。一般化して説
明すると、各ナンバごとに、ランクkの部分値が選択さ
れる(ステップB)。次に、これらの選択された部分値
についての最小値探索評価を単一ステップで行うため
に、これらの部分値は、図3に関連して既に説明した
「サーモメトリック」符号化技術を使用して符号化され
る(ステップC)。この段階で、前記選択された全ての
部分値内の最小部分値を評価することが可能である(ス
テップD)。この最小部分値が復号化された後(ステッ
プE)、この最小部分値より大きい部分値に関連する全
てのナンバを選択解除するために、この最小部分値が選
択された部分値と比較される(ステップF)。この選択
解除ステップの後、LSBを表す部分値に達したか否
か、即ちk=Kが成立するか否かを決定するためのテス
トが行われる(ステップG)。このテスト結果が否定的
であれば、部分値の次のランクが選択されて前述と同様
に処理されるように、変数kをインクリメントすること
により、ステップB〜Gの前述のシーケンスが反復され
る(ステップH)。他方、ステップGのテスト結果が肯
定的であれば、評価プロセスが停止されて、評価済みの
最小値がユーザに利用可能となる。かくて、この最小値
は、依然として選択解除されていないブロックに関連す
るナンバの値である。もし、このアルゴリズム31が或
る時間フレーム内で(即ち、順次に)実行されるのであ
れば、これは図2の探索回路19と整合している。他
方、このアルゴリズム31が或る空間フレーム内で(即
ち、並列に)実行されるのであれば、これは図3の探索
回路27と整合している。
【0028】第1動作モードでは、ステップEはもはや
必要でなく、選択済みの符号化された部分値と符号化さ
れた最小部分値との間の比較が行われる。
必要でなく、選択済みの符号化された部分値と符号化さ
れた最小部分値との間の比較が行われる。
【0029】図6に示されている実例に即して、前記方
法を説明する。図6(a)から明らかなように、この例
では、最小値の探索対象である4つのナンバ(p=4)
14、57、14及び9は、q=6ビット上に符号化さ
れる。初期化段階で、これらの全てのナンバが選択され
る。各ナンバをn=3ビット上に符号化された2つの部
分値(K=2)に分割するものと選択し、変数kを1に
セットする(ステップA)。スライス1(MSB)を形
成しているランク1の部分値が選択されて、処理の準備
が行われる(ステップB)。次に、図3に関連して既に
説明した「サーモメトリック」符号化技術を使用して、
これらの部分値がm=7ビット上に符号化される(ステ
ップC)。一例を挙げると、部分値001は、0000
001になる。この段階で、選択された全ての部分値の
各ビットについて論理積演算を行う最小値評価回路25
を使用して、最小部分値を評価することが可能である
(ステップD)。図6(b)は、本発明の基本的な特徴
に従って、結果が完全に並列の態様で且つ単一ステップ
で得られることを明らかにするために、ステップDを一
層詳細に示したものである。もし、システムの性能が許
容すれば、前記単一ステップは、単一のクロック・サイ
クルから成る。説明中の例で得られる最小部分値は、0
00000lである。再び図6(a)を参照すると、こ
の最小部分値は復号化され、この例では001に等しく
なる(ステップE)。次に、この最小部分値は、それよ
りも大きい部分値に関連する全てのナンバを選択解除す
るために、選択された各部分値と比較される(ステップ
F)。その結果、57の値を有するナンバ2が選択解除
される。なぜなら、その部分値「111」が最小部分値
「001」より大きいからである。そして、選択解除済
みを表す記号「D」がそれらに割り当てられる。そのナ
ンバの残存する部分値は、中立値(1111111)を
割り当てられる。他のナンバは選択されるままに留ま
り、選択済みを表す記号「S」がそれらに割り当てられ
る。次に、未処理の部分値が残っているか否かを決定す
るためのテストが行われ(ステップG)、図6(a)の
例の場合はそのテスト結果が肯定的となるから、前述の
ステップB〜Gのシーケンスを、今度はLSB(k=
2)について反復することが必要である。スライス2を
形成している第2ランクの部分値を処理している間、ナ
ンバ1及び3は選択解除されるから、評価プロセスの終
わりに、ナンバ1〜3は選択解除されており、従って勝
者は9の値(2進値=001001)を有するナンバ4
である。その結果、6ビット上に符号化された4つのナ
ンバ1〜4の最小値は、2ステップで見出された(K=
2)。従って、前述のように、この応答時間は、最小値
の探索対象であるナンバの量p(この例では4)や、パ
ラメータq(この例では6)の何れにも依存しないが、
これらのナンバの分割数を定義するパラメータK(この
例では2)に依存する。かくて、これらのナンバが符号
化されるビットの数よりも少ないステップ数で、これら
のナンバの集合内でその最小値を探索することが可能で
ある。実際、qビット上に符号化されたナンバについて
は、その処理に必要なステップ数は、qよりも小さいK
に等しい(この例では、q=6、K=2)。常に、最適
な1組のパラメータを見出すことが可能である。そうす
るためには、m(接続性)の所望の値に到達するよう
に、K(必要とされるステップの数、従って速度)及び
n(部分値のサイズ)について適切な値を選択すればよ
い。この最適な1組のパラメータは、絶対的なものでは
なく、アプリケーションの目標や、物理的な実施例のた
めに使用される技術、所望のシステムの性能などに依存
する。
法を説明する。図6(a)から明らかなように、この例
では、最小値の探索対象である4つのナンバ(p=4)
14、57、14及び9は、q=6ビット上に符号化さ
れる。初期化段階で、これらの全てのナンバが選択され
る。各ナンバをn=3ビット上に符号化された2つの部
分値(K=2)に分割するものと選択し、変数kを1に
セットする(ステップA)。スライス1(MSB)を形
成しているランク1の部分値が選択されて、処理の準備
が行われる(ステップB)。次に、図3に関連して既に
説明した「サーモメトリック」符号化技術を使用して、
これらの部分値がm=7ビット上に符号化される(ステ
ップC)。一例を挙げると、部分値001は、0000
001になる。この段階で、選択された全ての部分値の
各ビットについて論理積演算を行う最小値評価回路25
を使用して、最小部分値を評価することが可能である
(ステップD)。図6(b)は、本発明の基本的な特徴
に従って、結果が完全に並列の態様で且つ単一ステップ
で得られることを明らかにするために、ステップDを一
層詳細に示したものである。もし、システムの性能が許
容すれば、前記単一ステップは、単一のクロック・サイ
クルから成る。説明中の例で得られる最小部分値は、0
00000lである。再び図6(a)を参照すると、こ
の最小部分値は復号化され、この例では001に等しく
なる(ステップE)。次に、この最小部分値は、それよ
りも大きい部分値に関連する全てのナンバを選択解除す
るために、選択された各部分値と比較される(ステップ
F)。その結果、57の値を有するナンバ2が選択解除
される。なぜなら、その部分値「111」が最小部分値
「001」より大きいからである。そして、選択解除済
みを表す記号「D」がそれらに割り当てられる。そのナ
ンバの残存する部分値は、中立値(1111111)を
割り当てられる。他のナンバは選択されるままに留ま
り、選択済みを表す記号「S」がそれらに割り当てられ
る。次に、未処理の部分値が残っているか否かを決定す
るためのテストが行われ(ステップG)、図6(a)の
例の場合はそのテスト結果が肯定的となるから、前述の
ステップB〜Gのシーケンスを、今度はLSB(k=
2)について反復することが必要である。スライス2を
形成している第2ランクの部分値を処理している間、ナ
ンバ1及び3は選択解除されるから、評価プロセスの終
わりに、ナンバ1〜3は選択解除されており、従って勝
者は9の値(2進値=001001)を有するナンバ4
である。その結果、6ビット上に符号化された4つのナ
ンバ1〜4の最小値は、2ステップで見出された(K=
2)。従って、前述のように、この応答時間は、最小値
の探索対象であるナンバの量p(この例では4)や、パ
ラメータq(この例では6)の何れにも依存しないが、
これらのナンバの分割数を定義するパラメータK(この
例では2)に依存する。かくて、これらのナンバが符号
化されるビットの数よりも少ないステップ数で、これら
のナンバの集合内でその最小値を探索することが可能で
ある。実際、qビット上に符号化されたナンバについて
は、その処理に必要なステップ数は、qよりも小さいK
に等しい(この例では、q=6、K=2)。常に、最適
な1組のパラメータを見出すことが可能である。そうす
るためには、m(接続性)の所望の値に到達するよう
に、K(必要とされるステップの数、従って速度)及び
n(部分値のサイズ)について適切な値を選択すればよ
い。この最適な1組のパラメータは、絶対的なものでは
なく、アプリケーションの目標や、物理的な実施例のた
めに使用される技術、所望のシステムの性能などに依存
する。
【0030】次に、図7を参照して、デコーダ26を備
えていない図2の探索回路19の第1実施例を説明す
る。この実施例では、各部分値は、n=3ビット上に符
号化される。これらの3ビットは、a〜cとして表記さ
れ、そのうちaがMSBを表すものとする。本発明の方
法では、古典的な「サーモメトリック」符号化技術が使
用されているために、図3に示すように、部分値を符号
化するためには7ビット(w0〜w6)が必要である。
えていない図2の探索回路19の第1実施例を説明す
る。この実施例では、各部分値は、n=3ビット上に符
号化される。これらの3ビットは、a〜cとして表記さ
れ、そのうちaがMSBを表すものとする。本発明の方
法では、古典的な「サーモメトリック」符号化技術が使
用されているために、図3に示すように、部分値を符号
化するためには7ビット(w0〜w6)が必要である。
【0031】図7に示されている回路40は、図2の探
索回路19の主な要素(即ち、エンコーダ23、選択/
選択解除回路24及び最小値評価回路25)を含んでい
る。
索回路19の主な要素(即ち、エンコーダ23、選択/
選択解除回路24及び最小値評価回路25)を含んでい
る。
【0032】この第1実施例では、エンコーダ23(例
えば、23−1)を表す論理式は、次の通りである。 w0=a+b+c w1=b+c w2=(a.b)+c w3=c w4=(a+b).c w5=b.c w6=a.b.c
えば、23−1)を表す論理式は、次の通りである。 w0=a+b+c w1=b+c w2=(a.b)+c w3=c w4=(a+b).c w5=b.c w6=a.b.c
【0033】図7には、これらの論理式を満足するエン
コーダ23の詳細な物理的構造が示されている。説明の
便宜上、最小値評価回路及び選択/選択解除回路には、
図2及び図3のものと同じ参照番号25及び24−1〜
24−pが付されている。これらの回路は、図1の回路
18及び15から直接的に導くことができる。図7に示
すように、出力信号Exoutlは、セット入力Sを介
してラッチ41−1に格納された後、いかなる用途にも
利用できるようになっている。他方、ラッチ41−1の
リセット入力RSは、制御論理CLに接続されている。
この実施例では、信号Exout1は、部分値抽出回路
22−1(図2)に与えられる。初期化の段階では、評
価プロセスが開始する前に全てのナンバが選択されるよ
うに、全てのラッチ41−1〜41−pは「0」にセッ
トされる。
コーダ23の詳細な物理的構造が示されている。説明の
便宜上、最小値評価回路及び選択/選択解除回路には、
図2及び図3のものと同じ参照番号25及び24−1〜
24−pが付されている。これらの回路は、図1の回路
18及び15から直接的に導くことができる。図7に示
すように、出力信号Exoutlは、セット入力Sを介
してラッチ41−1に格納された後、いかなる用途にも
利用できるようになっている。他方、ラッチ41−1の
リセット入力RSは、制御論理CLに接続されている。
この実施例では、信号Exout1は、部分値抽出回路
22−1(図2)に与えられる。初期化の段階では、評
価プロセスが開始する前に全てのナンバが選択されるよ
うに、全てのラッチ41−1〜41−pは「0」にセッ
トされる。
【0034】次に、図8を参照して、図2の探索回路1
9の第2実施例を説明する。第2実施例が好ましいとさ
れる所以は、それが時間遅延を増加させることなく、必
要なハードウェアを著しく簡略化するからである。回路
42は、図2の探索回路19の全体に共通の、デコーダ
26を使用することを基礎としている。この第2実施例
では、エンコーダ23’を構成する回路要素は、図7に
示したエンコーダ23のそれとは異なっている。なぜな
ら、この第2実施例では、図3に関連して説明した「サ
ーモメトリック」符号化技術の変形が使用されているか
らである。前述と同様に、部分値が3ビットのa〜c上
に符号化されるものと仮定する。
9の第2実施例を説明する。第2実施例が好ましいとさ
れる所以は、それが時間遅延を増加させることなく、必
要なハードウェアを著しく簡略化するからである。回路
42は、図2の探索回路19の全体に共通の、デコーダ
26を使用することを基礎としている。この第2実施例
では、エンコーダ23’を構成する回路要素は、図7に
示したエンコーダ23のそれとは異なっている。なぜな
ら、この第2実施例では、図3に関連して説明した「サ
ーモメトリック」符号化技術の変形が使用されているか
らである。前述と同様に、部分値が3ビットのa〜c上
に符号化されるものと仮定する。
【0035】この第2実施例では、エンコーダ23’
(例えば、23’−1)を表す論理式は、次の通りであ
る。 w0=a+b+c+Exout1 w1=a+b+Exout1 w2=a+c+Exout1 w3=a+Exout1 w4=b+c+Exout1 w5=b+Exout1 w6=c+Exout1
(例えば、23’−1)を表す論理式は、次の通りであ
る。 w0=a+b+c+Exout1 w1=a+b+Exout1 w2=a+c+Exout1 w3=a+Exout1 w4=b+c+Exout1 w5=b+Exout1 w6=c+Exout1
【0036】図7の回路40では、Exout信号が部
分値抽出回路22を制御していたのに対し、図8の回路
42では、Exout信号はエンコーダ23’を制御す
る。選択/選択解除回路24’−1を構成する基本回路
要素は、図7の選択/選択解除回路24−1に比較して
大幅に単純化されているが、依然としてラッチ41−1
を包含している。標準的な構造を有するデコーダ26の
役割は、7ビットの符号化ワード(w0〜w6)を3ビ
ットの符号化ワードに変換することである。最小値評価
回路に関する限り、それほど違いはない。回路42のデ
コーダ26の出力には、選択/選択解除回路24’(図
8)を駆動するための3本の線だけしか存在しないのに
対し、回路40の最小値評価回路25の出力には、選択
/選択解除回路24(図7)を駆動するための7本の線
が存在することに留意されたい。これらの簡略化が得ら
れたのは、回路42内に若干の領域を追加してデコーダ
26を設けるようにしたからである。ナンバの量pが1
0より大きくなると、デコーダ26を設けるメリットが
生ずる。
分値抽出回路22を制御していたのに対し、図8の回路
42では、Exout信号はエンコーダ23’を制御す
る。選択/選択解除回路24’−1を構成する基本回路
要素は、図7の選択/選択解除回路24−1に比較して
大幅に単純化されているが、依然としてラッチ41−1
を包含している。標準的な構造を有するデコーダ26の
役割は、7ビットの符号化ワード(w0〜w6)を3ビ
ットの符号化ワードに変換することである。最小値評価
回路に関する限り、それほど違いはない。回路42のデ
コーダ26の出力には、選択/選択解除回路24’(図
8)を駆動するための3本の線だけしか存在しないのに
対し、回路40の最小値評価回路25の出力には、選択
/選択解除回路24(図7)を駆動するための7本の線
が存在することに留意されたい。これらの簡略化が得ら
れたのは、回路42内に若干の領域を追加してデコーダ
26を設けるようにしたからである。ナンバの量pが1
0より大きくなると、デコーダ26を設けるメリットが
生ずる。
【0037】図9は、図3に示した探索回路27の最初
のビット・スライス(スライス1)を処理する回路の主
な要素を示している。図9に示されている実施例43−
1は、(エンコーダ23’と同じ)エンコーダ29、
(選択/選択解除回路24’と同じ)選択/選択解除回
路30、(最小値評価回路25’と同じ)最小値評価回
路25及びデコーダ26を含んでいる。回路43−1
は、図8の回路42と基本的に同じ構成を有し、その相
違点は、選択/選択解除回路24’内にラッチ41を設
けることがもはや必要でないということである。
のビット・スライス(スライス1)を処理する回路の主
な要素を示している。図9に示されている実施例43−
1は、(エンコーダ23’と同じ)エンコーダ29、
(選択/選択解除回路24’と同じ)選択/選択解除回
路30、(最小値評価回路25’と同じ)最小値評価回
路25及びデコーダ26を含んでいる。回路43−1
は、図8の回路42と基本的に同じ構成を有し、その相
違点は、選択/選択解除回路24’内にラッチ41を設
けることがもはや必要でないということである。
【0038】デコーダ26を備えていない図7の実施例
の1つの重要な利点は、システム・テスト機能に関係す
る。この場合、最小値は、7本の線上でプローブを介し
て検知することができるので、これを容易に解釈するこ
とができる。その結果、潜在的な任意のショート又はオ
ープンの検知が非常に簡単である。他方、デコーダ26
を備えていないために、図8の3本の線よりも相当に多
い7本の線を使用して、選択/選択解除回路24を駆動
しなければならない。
の1つの重要な利点は、システム・テスト機能に関係す
る。この場合、最小値は、7本の線上でプローブを介し
て検知することができるので、これを容易に解釈するこ
とができる。その結果、潜在的な任意のショート又はオ
ープンの検知が非常に簡単である。他方、デコーダ26
を備えていないために、図8の3本の線よりも相当に多
い7本の線を使用して、選択/選択解除回路24を駆動
しなければならない。
【0039】図7〜図9を参照して説明した実施例は、
n=3ビット上に符号化された部分値に向けられてい
る。エンコーダ23の出力において必要とされる線の本
数は、mに等しく、m=2n−1によりnと関係付けら
れる。以下の表1は、必要とされるステップの数Kと、
必要とされる線の本数mと、或る部分値を符号化するた
めのビット数nとの関係を示している。この表1を利用
すると、アプリケーションに関する応答時間(即ち、ス
テップの数)と、線の本数とに関係する最適のトレード
オフを選択することができる。
n=3ビット上に符号化された部分値に向けられてい
る。エンコーダ23の出力において必要とされる線の本
数は、mに等しく、m=2n−1によりnと関係付けら
れる。以下の表1は、必要とされるステップの数Kと、
必要とされる線の本数mと、或る部分値を符号化するた
めのビット数nとの関係を示している。この表1を利用
すると、アプリケーションに関する応答時間(即ち、ス
テップの数)と、線の本数とに関係する最適のトレード
オフを選択することができる。
【0040】
【表1】
【0041】図8及び図9に示したように、エンコーダ
は、高速の符号化動作を行うために、各部分値に関連付
けられている。本発明によれば、必要とされるハードウ
ェアのサイズを減少させるために、探索回路の全体につ
いて1つのデコーダだけを使用できることを理解すべき
である。更に、図2の探索回路19及び図3の探索回路
27において、最小/最大評価回路25及びデコーダ2
6は、ブロック20−1〜20−p及び(スライス1用
の)ブロック28−11〜28−1pにそれぞれサービ
スするための2つの共通ユニットとして実現されたが、
これらを前記ブロックの各々に分散させることも可能で
ある点に留意されたい。特に、(一方の入力を先行する
ブロックに接続し、出力を次のブロックに接続する)2
入力のANDゲート又は標準的なドットANDを使用し
て、論理積演算機能を各ブロック内に分散させること
は、価値があるだろう。
は、高速の符号化動作を行うために、各部分値に関連付
けられている。本発明によれば、必要とされるハードウ
ェアのサイズを減少させるために、探索回路の全体につ
いて1つのデコーダだけを使用できることを理解すべき
である。更に、図2の探索回路19及び図3の探索回路
27において、最小/最大評価回路25及びデコーダ2
6は、ブロック20−1〜20−p及び(スライス1用
の)ブロック28−11〜28−1pにそれぞれサービ
スするための2つの共通ユニットとして実現されたが、
これらを前記ブロックの各々に分散させることも可能で
ある点に留意されたい。特に、(一方の入力を先行する
ブロックに接続し、出力を次のブロックに接続する)2
入力のANDゲート又は標準的なドットANDを使用し
て、論理積演算機能を各ブロック内に分散させること
は、価値があるだろう。
【0042】
【発明の効果】以上のように、本発明によれば、全てで
はないにしても殆どの計算を並列化することにより、最
小/最大値を探索する際の応答時間を大幅に改善するこ
とができる。その結果、本発明の方法及び回路は、もは
や探索すべきナンバを符号化するためのビットの量qに
依存しないので、最小/最大値評価プロセスのステップ
数を相当に少なくすることができる。
はないにしても殆どの計算を並列化することにより、最
小/最大値を探索する際の応答時間を大幅に改善するこ
とができる。その結果、本発明の方法及び回路は、もは
や探索すべきナンバを符号化するためのビットの量qに
依存しないので、最小/最大値評価プロセスのステップ
数を相当に少なくすることができる。
【図1】p個のナンバから成る集合のビット・スライス
について最小/最大値探索を行うための従来の探索回路
の構成を示すブロック図である。
について最小/最大値探索を行うための従来の探索回路
の構成を示すブロック図である。
【図2】qビット上に符号化されたp個のナンバ(ナン
バ1〜p)の集合を対象として最小/最大値探索を行う
ための探索回路であって、本発明の第1推奨実施例に従
って、qビットが部分的に並列式に処理されるようにし
た探索回路の基本構成を示すブロック図である。
バ1〜p)の集合を対象として最小/最大値探索を行う
ための探索回路であって、本発明の第1推奨実施例に従
って、qビットが部分的に並列式に処理されるようにし
た探索回路の基本構成を示すブロック図である。
【図3】本発明の第2推奨実施例に従って、qビットが
完全に並列式に処理されるようにした図2の探索回路の
他の構成を示すブロック図である。
完全に並列式に処理されるようにした図2の探索回路の
他の構成を示すブロック図である。
【図4】通常のサーモメトリック符号化技術の2つの変
形例を示す図である。
形例を示す図である。
【図5】本発明の方法の基礎を成すアルゴリズムのステ
ップを示す流れ図である。
ップを示す流れ図である。
【図6】説明の便宜上、4個のナンバから成る集合を対
象として最小値を探索するものとして本発明の方法の特
定ステップを説明する図である。
象として最小値を探索するものとして本発明の方法の特
定ステップを説明する図である。
【図7】デコーダを備えていない図2の探索回路の主な
回路要素の実施例を示す図である。
回路要素の実施例を示す図である。
【図8】デコーダを備えている図2の探索回路の主な回
路要素の実施例を示す図である。
路要素の実施例を示す図である。
【図9】デコーダを備えている図3の探索回路のスライ
スの主な回路要素の実施例を示す図である。
スの主な回路要素の実施例を示す図である。
19、27 探索回路
20、28 ブロック
21 レジスタ
22 部分値抽出回路
23、29 エンコーダ
24、30 選択/選択解除回路
25 最小値評価回路
26 デコーダ
41 ラッチ
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ルイ・デディエール
フランス国77300、フォンテンブロー、
リュ・ポール・ジョゾン 22
(72)発明者 タンホフ・パスカル
フランス国77300、フォンテンブロー、
ブールヴァール・オーロフ 36
(56)参考文献 特開 平6−202854(JP,A)
(58)調査した分野(Int.Cl.7,DB名)
G06F 7/02
Claims (9)
- 【請求項1】qビット上に2進形式で符号化されたp個
のナンバの集合内で最小/最大値を探索するための方法
であって、(a)各ナンバをnビット上に符号化された
K個(但し、q≦K×n)の部分値に分割するととも
に、一のナンバの各部分値に一のランクを割り当てるた
めの一のパラメータk(但し、k=1〜K)を定義する
ステップと、(b)第1ランク(MSB)のnビット符
号化された全ての部分値により、第1スライス(k=
1)を形成するステップと、(c)一の基本論理演算
(AND、OR)により最小/最大値の評価を可能にす
る一の符号化技術を使用して、前記第1スライスのnビ
ット符号化された各部分値をmビット(但し、m>n)
上に符号化することにより、mビット符号化された部分
値の一のスライスを形成するステップと、(d)mビッ
ト符号化された部分値の前記スライスを対象として並列
に探索することにより、当該スライス内で最小/最大の
mビット符号化された部分値を評価するステップと、
(e)前記ステップ(d)で評価された前記最小/最大
のmビット符号化された部分値よりも大きい/小さいm
ビット符号化された部分値に関連する全てのナンバを選
択解除するステップと、(f)全てのスライスが処理さ
れて(k=K)、選択解除されていないナンバの値に対
応するものとして前記最小/最大値が評価されるまで、
次のスライス(k=k+1)を対象として前記ステップ
(c)及び(d)を反復するステップとから成る、前記
方法。 - 【請求項2】K=1、即ちn=qである場合は、前記ス
テップ(a)の分割する動作が行われないことを特徴と
する、請求項1記載の方法。 - 【請求項3】nビット符号化された部分値をmビット上
に符号化する前記ステップ(c)が、「サーモメトリッ
ク」符号化技術を使用して行われることを特徴とする、
請求項1記載の方法。 - 【請求項4】qビット上に2進形式で符号化されたp個
のナンバの集合内で最小/最大値を探索するための探索
回路であって、(a)m個のp入力ANDゲートから成
る最小/最大値評価手段を備え、前記ANDゲートは、
mビット符号化されたp個の2進ワードの同じ重みを有
するmビットの各々について論理積演算を実行すること
が可能であり、(b)各々が一のナンバに関連してい
る、p個の回路ブロックを備え、前記回路ブロックの各
々が、(b1)各ナンバをnビット上に符号化されたK
個(但し、q≦K×n)の部分値に分割するための分割
手段と、(b2)nビット符号化された各部分値をmビ
ット(但し、m>n)符号化された一の部分値に符号化
するための符号化手段であって、その入力を前記分割手
段に接続され且つその出力を前記最小/最大値評価手段
に接続された前記符号化手段と、(b3)前記符号化手
段に接続された選択解除手段とから成り、前記符号化手
段内で使用されている符号化技術は、前記探索回路の全
ての前記符号化手段により生成されたmビット符号化さ
れた部分値のうち最小/最大の部分値を、一の論理積演
算を通して、評価することを可能にするものであり、前
記探索回路の全ての前記符号化手段により生成されたm
ビット符号化された部分値は、前記最小/最大の部分値
を評価するために、前記最小/最大値評価手段に与えら
れ、また一の回路ブロックのmビット符号化された部分
値が前記最小/最大の部分値よりも大きい/小さいとき
に、当該回路ブロックに関連するナンバを選択解除する
ことができる一の排他信号Exoutを生成するため
に、前記選択解除手段に与えられることを特徴とする、
前記探索回路。 - 【請求項5】前記選択解除手段が、最小/最大値評価プ
ロセスの初期化段階で、探索すべき全てのナンバを選択
するための手段を含んでいることを特徴とする、請求項
4記載の回路。 - 【請求項6】前記選択解除手段が、一のナンバが選択解
除されるときに、前記符号化手段内に一の中立値を生成
するための手段を更に含んでいることを特徴とする、請
求項5記載の回路。 - 【請求項7】前記最小/最大値評価手段が、前記p個の
回路ブロックの各々に分散配置されていることを特徴と
する、請求項4記載の回路。 - 【請求項8】qビット上に2進形式で符号化されたp個
のナンバの集合内で最小/最大値を探索するための探索
回路であって、(a)m個のp入力ANDゲートから成
る最小/最大値評価手段を備え、前記ANDゲートは、
mビット符号化されたp個の2進ワードの同じ重みを有
するmビットの各々について論理積演算を実行すること
が可能であり、(b)前記最小/最大値評価手段に接続
され、mビット符号化された一のワードをnビット(但
し、n<m)符号化された一のワードに変換することが
可能である復号化手段と、(c)各々が一のナンバに関
連している、p個の回路ブロックとを備え、前記回路ブ
ロックの各々が、(c1)各ナンバをnビット上に符号
化されたK個(但し、q≦K×n)の部分値に分割する
ための分割手段と、(c2)nビット符号化された各部
分値をmビット符号化された一の部分値に符号化するた
めの符号化手段であって、その入力を前記分割手段に接
続され且つその出力を前記最小/最大値評価手段に接続
された前記符号化手段と、(c3)前記分割手段及び復
号化手段に接続された選択解除手段とから成り、前記符
号化手段内で使用されている符号化技術は、前記探索回
路の全ての前記符号化手段により生成された符号化ワー
ドのうち最小/最大のワードを、一の論理積演算を通し
て、評価することを可能にするものであり、前記符号化
手段により生成されたmビット符号化された部分値は、
最小/最大のmビット符号化された部分値を評価するた
めに、他の回路ブロックによって生成された全てのmビ
ット符号化された部分値とともに、前記最小/最大値評
価手段に与えられ、前記最小/最大のmビット符号化さ
れた部分値は、nビット符号化された最小/最大の部分
値を生成するために、前記復号化手段に与えられ、また
当該nビット符号化された最小/最大の部分値は、一の
回路ブロックのnビット符号化された部分値が前記nビ
ット符号化された最小/最大の部分値よりも大きい/小
さいときに、当該回路ブロックに関連するナンバを選択
解除することができる一の排他信号Exoutを生成す
るために、前記選択解除手段に与えられることを特徴と
する、前記探索回路。 - 【請求項9】前記最小/最大評価手段が、前記p個の回
路ブロックの各々に分散配置されていることを特徴とす
る、請求項8記載の回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00480010.8 | 2000-01-06 | ||
EP00480010 | 2000-01-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001236207A JP2001236207A (ja) | 2001-08-31 |
JP3524057B2 true JP3524057B2 (ja) | 2004-04-26 |
Family
ID=8174209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000387095A Expired - Fee Related JP3524057B2 (ja) | 2000-01-06 | 2000-12-20 | ナンバの集合内で最小/最大値を探索するための方法及び回路 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6748405B2 (ja) |
JP (1) | JP3524057B2 (ja) |
AT (1) | ATE364866T1 (ja) |
DE (1) | DE60035171T2 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711558B1 (en) * | 2000-04-07 | 2004-03-23 | Washington University | Associative database scanning and information retrieval |
US7139743B2 (en) * | 2000-04-07 | 2006-11-21 | Washington University | Associative database scanning and information retrieval using FPGA devices |
US8095508B2 (en) * | 2000-04-07 | 2012-01-10 | Washington University | Intelligent data storage and processing using FPGA devices |
US8027942B2 (en) * | 2000-12-13 | 2011-09-27 | International Business Machines Corporation | Method and circuits for associating a complex operator to each component of an input pattern presented to an artificial neural network |
US7716330B2 (en) * | 2001-10-19 | 2010-05-11 | Global Velocity, Inc. | System and method for controlling transmission of data packets over an information network |
US20090006659A1 (en) * | 2001-10-19 | 2009-01-01 | Collins Jack M | Advanced mezzanine card for digital network data inspection |
US7085794B2 (en) * | 2002-04-12 | 2006-08-01 | Agere Systems Inc. | Low power vector summation method and apparatus |
JP2004164565A (ja) | 2002-09-26 | 2004-06-10 | Yokogawa Electric Corp | 数値検索装置および数値検索方法 |
FR2849301A1 (fr) * | 2002-12-23 | 2004-06-25 | St Microelectronics Sa | Dispositif pour le traitement collectif de donnees |
WO2004066141A2 (en) * | 2003-01-15 | 2004-08-05 | Globespanvirata Incorporated | Apparatus and method for determining extreme values |
JP2007528033A (ja) | 2003-01-28 | 2007-10-04 | ルシッド インフォメーション テクノロジー リミテッド | 結合判定メカニズムを用いて三次元グラフィックス画像をコンポジットするための方法およびシステム |
EP2511787B1 (en) | 2003-05-23 | 2017-09-20 | IP Reservoir, LLC | Data decompression and search using FPGA devices |
US10572824B2 (en) | 2003-05-23 | 2020-02-25 | Ip Reservoir, Llc | System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines |
US20050050119A1 (en) * | 2003-08-26 | 2005-03-03 | Vandanapu Naveen Kumar | Method for reducing data dependency in codebook searches for multi-ALU DSP architectures |
US7602785B2 (en) * | 2004-02-09 | 2009-10-13 | Washington University | Method and system for performing longest prefix matching for network address lookup using bloom filters |
EP1859378A2 (en) | 2005-03-03 | 2007-11-28 | Washington University | Method and apparatus for performing biosequence similarity searching |
GB2431745B (en) * | 2005-10-28 | 2010-12-08 | Tandberg Television Asa | Apparatus and method to find a maximum or minimum of a set of numbers |
US7921046B2 (en) | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US20080288565A1 (en) * | 2007-05-15 | 2008-11-20 | Himax Technologies Limited | Method to compare and sort binary data |
US8234320B1 (en) * | 2007-10-25 | 2012-07-31 | Marvell International Ltd. | Bitwise comparator for selecting two smallest numbers from a set of numbers |
US10229453B2 (en) * | 2008-01-11 | 2019-03-12 | Ip Reservoir, Llc | Method and system for low latency basket calculation |
US8374986B2 (en) | 2008-05-15 | 2013-02-12 | Exegy Incorporated | Method and system for accelerated stream processing |
CA3184014A1 (en) | 2008-12-15 | 2010-07-08 | Exegy Incorporated | Method and apparatus for high-speed processing of financial market depth data |
US10037568B2 (en) | 2010-12-09 | 2018-07-31 | Ip Reservoir, Llc | Method and apparatus for managing orders in financial markets |
US10121196B2 (en) | 2012-03-27 | 2018-11-06 | Ip Reservoir, Llc | Offload processing of data packets containing financial market data |
US11436672B2 (en) | 2012-03-27 | 2022-09-06 | Exegy Incorporated | Intelligent switch for processing financial market data |
US10650452B2 (en) | 2012-03-27 | 2020-05-12 | Ip Reservoir, Llc | Offload processing of data packets |
US9990393B2 (en) | 2012-03-27 | 2018-06-05 | Ip Reservoir, Llc | Intelligent feed switch |
US9633097B2 (en) | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for record pivoting to accelerate processing of data fields |
US9633093B2 (en) | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
CA2887022C (en) | 2012-10-23 | 2021-05-04 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
GB2541577A (en) | 2014-04-23 | 2017-02-22 | Ip Reservoir Llc | Method and apparatus for accelerated data translation |
JP7020780B2 (ja) * | 2015-02-09 | 2022-02-16 | 日本電気株式会社 | サーバ装置、データ検索システム、検索方法および検索プログラム |
US10942943B2 (en) | 2015-10-29 | 2021-03-09 | Ip Reservoir, Llc | Dynamic field data translation to support high performance stream data processing |
RU2710936C2 (ru) * | 2016-12-07 | 2020-01-14 | Частное образовательное учреждение высшего образования "ЮЖНЫЙ УНИВЕРСИТЕТ (ИУБиП)" | Способ нахождения наибольшего и наименьшего числа в произвольном массиве двоичных многозначных чисел и устройство для его реализации |
RU2682399C2 (ru) * | 2016-12-08 | 2019-03-19 | Частное образовательное учреждение высшего образования "ЮЖНЫЙ УНИВЕРСИТЕТ (ИУБиП)" | Способ и устройство нахождения наибольшего и наименьшего элементов массива методом дешифрации данных |
WO2018119035A1 (en) | 2016-12-22 | 2018-06-28 | Ip Reservoir, Llc | Pipelines for hardware-accelerated machine learning |
RU2675301C1 (ru) * | 2017-11-22 | 2018-12-18 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | Устройство селекции двоичных чисел |
RU2703352C1 (ru) * | 2018-08-30 | 2019-10-16 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | Устройство селекции двоичных чисел |
RU2709668C1 (ru) * | 2019-03-13 | 2019-12-19 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | Ранговый фильтр |
RU2710866C1 (ru) * | 2019-03-22 | 2020-01-14 | федеральное государственное бюджетное образовательное учреждение высшего образования "Ульяновский государственный технический университет" | Ранговый фильтр |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4998219A (en) * | 1989-02-16 | 1991-03-05 | Ail Systems, Inc. | Method and apparatus for determining the greatest value of a binary number and for minimizing any uncertainty associated with the determination |
JPH10224224A (ja) * | 1997-02-03 | 1998-08-21 | Sunao Shibata | 半導体演算装置 |
US6446101B1 (en) * | 1998-09-01 | 2002-09-03 | Siemens Aktiengesellschaft | Apparatus for fast determination of a prescribable number of highest value signals |
-
2000
- 2000-11-14 DE DE60035171T patent/DE60035171T2/de not_active Expired - Lifetime
- 2000-11-14 AT AT00480106T patent/ATE364866T1/de not_active IP Right Cessation
- 2000-12-20 JP JP2000387095A patent/JP3524057B2/ja not_active Expired - Fee Related
-
2001
- 2001-01-04 US US09/754,639 patent/US6748405B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE60035171D1 (de) | 2007-07-26 |
US20010013048A1 (en) | 2001-08-09 |
JP2001236207A (ja) | 2001-08-31 |
US6748405B2 (en) | 2004-06-08 |
DE60035171T2 (de) | 2008-02-14 |
ATE364866T1 (de) | 2007-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3524057B2 (ja) | ナンバの集合内で最小/最大値を探索するための方法及び回路 | |
JP2581903B2 (ja) | バイト整列式データ圧縮方法及び装置 | |
US6385617B1 (en) | Method and apparatus for creating and manipulating a compressed binary decision diagram in a data processing system | |
JP2830280B2 (ja) | 可変長ストリング符合装置 | |
JP3262602B2 (ja) | 辞書ベースのデータ圧縮/圧縮解除システム | |
JPH07297728A (ja) | パターン一致を探索するための方法およびシステム | |
JPH08339291A (ja) | 最大値選択回路 | |
JPH0479421A (ja) | 可変長符号化装置および可変長復号化装置 | |
JPS5922165A (ja) | アドレス制御回路 | |
JPH07177005A (ja) | ビット・パターン検出回路およびビット・パターン検出方法 | |
JP6613019B2 (ja) | パターンを探索する装置 | |
Argenti et al. | Information and dynamical systems: a concrete measurement on sporadic dynamics | |
JP2000515654A (ja) | 最大ビットスライスを用いてビットストリングにブール演算を施すための方法とシステム | |
CN108052307B (zh) | 处理器浮点单元前导零数量的超前运算方法及系统 | |
US4734876A (en) | Circuit for selecting one of a plurality of exponential values to a predetermined base to provide a maximum value | |
EP1115056B1 (en) | Method and circuits for performing a quick search of the minimum/maximum value among a set of numbers | |
JP4011015B2 (ja) | Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路 | |
JP2002237754A (ja) | 可変長復号化装置及び方法 | |
RU2638724C1 (ru) | Устройство для коррекции порядка при нормализации чисел | |
US6772187B1 (en) | Parallel greater than analysis method and apparatus | |
KR100256463B1 (ko) | 임의의 베이스의 심볼을 가산하거나 감산하는 프로세스 및 시스템 | |
US20220050664A1 (en) | Systems, methods, and devices for the sorting of digital lists | |
JPH1155125A (ja) | 文字データの圧縮・復元方法 | |
JPH07120958B2 (ja) | 木探索ベクトル量子化器 | |
KR100248976B1 (ko) | 2진수의 2의 보수 연산회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040210 |
|
LAPS | Cancellation because of no payment of annual fees |