JP2683947B2 - データ分類回路 - Google Patents

データ分類回路

Info

Publication number
JP2683947B2
JP2683947B2 JP2138669A JP13866990A JP2683947B2 JP 2683947 B2 JP2683947 B2 JP 2683947B2 JP 2138669 A JP2138669 A JP 2138669A JP 13866990 A JP13866990 A JP 13866990A JP 2683947 B2 JP2683947 B2 JP 2683947B2
Authority
JP
Japan
Prior art keywords
data
level
address
value
output
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
Application number
JP2138669A
Other languages
English (en)
Other versions
JPH0320822A (ja
Inventor
デニス・ディー・エバーソン
フイリップ・アール・ランツ
スタンレー・アール・コスロウスキ
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.)
Tektronix Inc
Original Assignee
Tektronix Inc
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 Tektronix Inc filed Critical Tektronix Inc
Publication of JPH0320822A publication Critical patent/JPH0320822A/ja
Application granted granted Critical
Publication of JP2683947B2 publication Critical patent/JP2683947B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/22Indexing scheme relating to groups G06F7/22 - G06F7/36
    • G06F2207/222Binary data tree
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、データ分類回路、特に、サイズが異なる多
数のアドレス・レンジ内のアドレス呼び出しの発生回数
を計数することにより、ソフトウエアの性能の解析を行
うために使用可能なデータ分類回路に関する。
[従来の技術] コンピュータがプログラムを実行している時に、コン
ピュータ・システムの性能を解析する場合、種々の異な
るデジタル・パターンの各々の発生回数を最小限のハー
ドウエアで、できるだけ速く、計数することが必要とな
る場合がよくある。例えば、プログラムが実行されてい
る時に、そのプログラムが異なるアドレス・レンジ内で
要する時間量を求められることが必要とされる。この機
能を使用して、プログラムが実行されている間、各サブ
ルーチン内でプログラムが必要とする時間量を分析し、
最も頻繁に呼び出されるプログラムの不要な非効率部分
を削除するように適当な改良を加えることにより、プロ
グラム効率を改善することができる。
[発明が解決しようとする課題] このための手段を得るために、従来より種々の試みが
なされた。結果が、すぐに使用可能である必要がなかっ
たり、又は完全に正確である必要がなければ、統計的即
ち非実時間的方法を効果的に使用できる。マイクロプロ
セッサのバス上にあるアドレス・データは、規則的なサ
ンプル間隔で記憶できる。各サンプル間隔の間、ソフト
ウエアにより、最後のサンプル・データ要素は、対象と
なるアドレス・レンジと比較され、その結果に応じてカ
ウンタの計数値が増加される。この様な手法は、クラー
クその他の発明による米国特許出願06/812,085号の明細
書に開示されている。この明細書に記載された手法は、
かなり多数のレンジに対して有効であり、専用ハードウ
エアが最小限ですむが、その結果の性質が非実時間即ち
統計的であるために、多くの場合、実用に適さない。
更に、ハードウエア的に強化された他の手法は、パタ
ーンを認識し、その発生回数を計数するために専用のワ
ード・リコグナイザ及びカウンタを設けることである。
しかし、目的の各パターン毎に回路を追加する必要があ
るので、パターンが多数ある場合は、非常に高価にな
る。更に、各アドレス即ちデータ・パターンが別々に調
べられるので、あるアドレス・レンジ内の各アドレスの
発生回数の計数値を互いに加算して、そのレンジ全体に
関する合計値を求める必要がある。
この手法は、各異なるパターン毎に別個の値を記憶す
る必要はあるが、1個のみのカウンタを使用して全ての
計数を行うことにより、更に効率的にすることができ
る。この様な手法は、1979年発行IEEEコンプトン、文献
ダイジェストに掲載されたスティーブン・カーマン氏に
よる論文「ア・ファシリティ・フォー・アナライジング
・マイクロプロセッサ・システム・パフォーマンス」に
記載されている。このシステムでは、1個のカウンタ及
び1個のランダム・アクセス・メモリ(以下「RAM」と
いう)が、多数のカウンタの役割をする。各イベントの
発生中、カウンタはクロック・パルスを計数し、その最
終計数値がメモリ内の記憶値に加算される。同一の加算
器を継続して使用し、多くの異なるメモリ位置を更新す
る。この手法は、非常に多くのカウンタを使用するより
は効率的であるが、個々のアドレスが調べられ、1つの
アドレス・レンジに関し結果を得るために、各アドレス
に関する結果を合計する必要があるので、依然として、
不必要なハードウエア要素があり、非効率的である。
この手法のための改良については、本出願人による特
開昭61−208167号明細書に開示されている。このフリッ
シュの発明は、加算器を除去し、従来のカウンタの代わ
りに1個の線形帰還シフト・レジスタを使用すること
で、カーマンの方法を改良している。加算器を除去する
ことにより、大幅な時間の節約ができ、実現可能な動作
の最大速度が増加された。同様に、従来のカウンタの代
わりに線形帰還シフト・レジスタを使用することで、幾
分の時間の節約がされた。しかし、これは基本的手法は
同一であり、あるアドレス・レンジ全体のデータ要素の
発生回数の計数値を得るために、個々のアドレスの計数
値を合計する必要があるという問題は残る。
データを粗く区分することだけが必要であれば、この
手法は、データを上位ビットにのみ適用すればよく、こ
の場合、各上位ビット・データにより区分されるレンジ
内に属するデータ数は等しく、即ち均一レンジになる。
しかし、特にソフトウエアの性能の解析中にプログラム
の実行を調べるとき、不均一なデータ・レンジを定義す
ることが頻繁に必要となる。例えば、大きさの違う異な
るサブルーチン内で要する時間を調べるために、この様
な不均一の定義が必要である。不均一なアドレス・レン
ジを調べる1つの方法は、専用の多数のプログラマブル
・レンジ・リコグナイザを使用し、それらの出力信号の
発生回数を計数することである。この様なプログラマブ
ル・レンジ・リコグナイザは、本出願人による特開昭58
−121460号明細書に開示されている。レンジ認識に幾分
類似する手法が、「アレンジ・フォー・ダイナミック・
レンジ・チェッキング・オア・マッチング・フォー・デ
ジタル・バリュー・イン・ア・ソフトウエア・システ
ム」と題された米国特許第4,692,897号の明細書に開示
されている。しかし、これらの手法は共に、多数のアド
レス・レンジを調べるために、それに応じて増加したハ
ードウエア構成要素を必要とする。
したがって、本発明の目的は、任意の大きさのデータ
・レンジを含む多数のデータ・レンジの各レンジで、デ
ータ要素が発生する回数を高速に計数し、その計数値を
記憶するデータ分類回路の提供にある。
本発明の他の目的は、調べるデータ・レンジ数の増加
に比較して、必要とする専用のハードウエア構成要素の
増加が少ないデータ分類回路の提供にある。
[課題を解決するための手段及び作用] 本発明のデータ分類回路は、順次到来する複数のデー
タ要素を分類し計数する回路であって、縦続接続された
第1レベル回路部分(レベル1)及び少なくとも1個の
中間レベル回路部分(レベル2・・・N)と、これら中
間レベル回路部分の最終段の次に配置され、複数の計数
値を蓄積すると共に増加させる計数値保持手段(40)と
を具えている。第1レベル回路部分は、データ要素を受
け、クロック信号の発生時にデータ要素を蓄積して、出
力端にデータ要素を発生するデータ蓄積手段(10)と;
複数の連続したデータ・レンジの中央境界であって2進
ツリーの第1判断点となる第1判断情報を蓄積し、この
第1判断情報を出力端に発生する予めプログラムされた
蓄積手段(12)と;この予めプログラムされた蓄積手段
の出力をデータ蓄積手段の出力と比較し、次のレベル用
の付加アドレス・ビットを発生する比較手段(16)とを
有している。また、中間レベル回路部分の各々は、直前
のレベル回路部分からの上記データ要素を入力端に受
け、クロック信号の発生時に、受けたデータ要素を蓄積
して、出力端にデータ要素を発生するデータ蓄積要素
(20、30)と;複数の連続したデータ・レンジの境界で
あって2進ツリーの判断点となる判断情報を蓄積し、付
加アドレス・ビットを含む直前のレベル回路部分からの
アドレス・データによりアドレス指定されて、蓄積され
た判断情報の値がアクセスされて、この値を出力する予
めプログラムされた蓄積手段(22、32)と;この予めプ
ログラムされた蓄積手段の出力をデータ蓄積手段の出力
と比較し、次のレベル用の付加アドレス・ビットを発生
する比較手段(26、36)と;直前のレベル回路部分から
のアドレス・データを受け、クロック信号の発生時に受
けたアドレス・データを蓄積して、次のレベル用のアド
レス・データを発生する結果蓄積手段(24、34)と有し
ている。計数値保持手段(40)は、クロック信号の発生
時に、付加アドレス・ビットを含むレべル回路部分の最
終段からのアドレス・データにより指定されたアドレス
位置の計数値を増分して、所定データ・レンジ内で発生
したデータ要素の数を表す計数値を発生する。
すなわち、本発明は、ソフトウエアの性能解析に使用
され、任意の大きさの多数のデータ・レンジの各レンジ
内におけるデータ要素の発生回数を計数するために高速
で動作し、対象となる個数が指数関数的に増加するデー
タ・レンジを調べるために、ハードウエア量を直線的に
増加させるだけでよい。
このデータ分類回路は、到来するデータ要素列を、任
意の一連のデータ・レンジに、略実時間で分類即ちソー
トするための平衡2進ツリー手法を実現するハードウエ
アである。回路全体は、複数の“レベル”回路部分から
成り、各レベルは2個のラッチ回路、RAM及びデジタル
比較器を含む。デジタル比較器は、データ要素をRAMか
らの値と比較し、平衡2進ツリー内の判断を行う。一方
のラッチ回路であるデータ・ラッチ回路は、このレベル
で現在評価しているデータ要素を保持するために使用す
る。他方のラッチ回路である結果ラッチ回路は、レベル
番号が小さい即ち上位の複数レベルで行った比較による
局部的結果を記憶する。RAMは、直前のデジタル比較器
の出力及び結果ラッチ回路の内容の組合わせによりアド
レス指定される。デジタル比較器は、RAMの出力をデー
タ・ラッチ回路の内容と比較し、次のレベルで使用する
結果情報の追加ビットを生成する。
各レベルのRAMには、直前のレベルのRAMにプログラム
される中間アドレス値の2倍の個数の中間アドレス値が
予めプログラムされる。いずれかの特定レベルで行った
比較の結果は、直前のレベルからの結果と共に、次のレ
ベルでRAMをアクセスするためのアドレス値として使用
される。結局、最後のレベルに到達すると、そのレベル
で発生される各アドレスに対しては1個のレンジしか存
在しなくなる。次に、このアドレス値は、計数値保持RA
Mに供給され、そのアドレス位置でのRAMの内容は増加さ
れ、到来データ要素がその特定のデータ・レンジにあっ
たことを表す。
[発明の詳細な説明] 図は本発明のデータ分類回路を示す。この回路は、各
々が2個のラッチ回路即ち(10)、(14)、RAM(12)
及びデジタル比較器(16)を含む複数の“レベル”回路
部分から成る。使用するレベル数は、必要なデータ・レ
ンジの数により決まる。データ・レンジの数R及びレベ
ル数Nの関係は、R=2Nで表される。各レベルでは、デ
ータ要素が存在する可能性があるレンジの数を少なくす
るための1つの判断が行われる。なお、第2レベル以降
を中間レベルとする。
この回路を予めプログラムするために、データ要素
(例えば、特定のアドレス呼び出し命令)が分類される
1組のデータ・レンジ(例えば、アドレス領域)が繰り
返し2分され、データ・レンジの平衡2進ツリーを形成
する。次に、この回路の各レベルのRAMは、データ・レ
ンジの平衡2進ツリーに基づく比較値を使用して予めプ
ログラムされる。例えば、1個のバス上のアドレスが00
00から1111であると合計16個の値をとる可能性があり、
調査対象となるアドレス・レンジが8個であれば、例え
ば、0000、0001〜0011、0100、0101〜0110、0111、100
0、1001〜1110及び1111にレンジが選択される。これの
アドレス・レンジの平衡2進ツリーにおける第1の判断
点は、0111である。その理由は、この値以上に4個のレ
ンジがあり、この値未満に4個のレンジがあるからであ
る。到来データ要素が、最初にこの値と比較され、この
値と等しい又はこの値より大きいことが分かると、この
データ要素はこれらのレンジの上位の4個のレンジ内に
存在することになる。次に、このデータ要素が、上位の
レンジ群の中間値である1001と比較され、この値と等し
い又はこの値より大きいことが分かると、この値が1001
〜1110のレンジ内に存在するか、又は1111であることに
なる。最後に、この同一のデータ要素が1111に対して調
べられ、1111より小さいことが分かると、このデータ要
素は、1001〜1110のレンジ内に存在することになる。
ソフトウエア及び汎用コンピュータのRAMで上述の手
順を行うことは、新規ではない。本発明の新規な点及び
要旨となる点は、この手順を迅速且つ局部的に、マイク
ロプロセッサの作業を占有することなく、特定のハード
ウエア回路で上述の手順を実行することである。マイク
ロプロセッサは、この回路の各レベルでRAMを予めプロ
グラムするために使用され、操作者が行うレンジ選択に
基づいて、判断点情報を与える。
各レベルのRAMには、直前のレベルのRAMにプログラム
される中間アドレス値の2倍の個数の中間アドレス値が
予めプログラムされる。これにより、第1レベルで行っ
た比較の結果である1又は0は、第2レベルで2つの選
択データを含むRAMにアクセスするアドレス値として使
用される。この2つの選択データの一方は、原中間点以
上のデータ・レンジ群の中間点に対応し、他方は、原中
間点より小さいデータ・レンジ群の中間点に対応する。
第2レベルの比較結果は、記憶された第1レベルの比較
結果と共に、第3レベルのRAMのアドレス指定に使用さ
れる。第3レベルのRAMは4個のアドレス値を含み、各
アドレス値は、先に実行した2つのステップで最初のレ
ンジ群を分割して得た4組のデータ・レンジの中間点に
相当する。
上述した簡単な例の数値を使用すると、第1レベルの
RAM(12)には、値0111が予めプログラムされる。第2
レベルのRAM(22)には、平衡2進ツリーの次の2つの
判断点に相当する値0100及び1001が予めプログラムされ
る。この3つのレベルの例では、第3レベルのRAM(3
2)には、ツリーの最後の4つの判断点に対応する値000
1、0101、1000及び1111が予めプログラムされる。
更にレベルが多い回路でも、続く各レベルでの動作は
同様であり、現在の比較結果及び以前の全ての比較結果
は、次のレベルで比較のためにRAMから選択する値をア
ドレス指定するために使用される。レンジ区分の数がレ
ンジの総数に等しい状態になるレベルに達し、各区分に
レンジが1個のみになるまで、各レベルでは、直前のレ
ベルの2倍のレンジ区分の数が存在する。最後の比較に
より得たアドレス値は、計数値保持RAM(40)に供給さ
れ、アドレス指定された位置のRAMの内容が1だけ増加
され、到来データ要素がこのデータ・レンジ内に存在し
たことが記憶される。
各同期クロック信号の発生時に、あらゆるレベルでデ
ータ・ラッチ回路に記憶されたデータ要素は、次のレベ
ルのデータ・ラッチ回路にラッチされる。更に、各レベ
ルの結果ラッチ回路の内容は、そのレベルの現在の比較
結果と共に、次のレベルの結果ラッチ回路にラッチされ
る。この様に、特定のデータ要素の解析があるレベルか
ら次のレベルに進む毎に、新しいデータ要素が前のレベ
ルに到達し、そのレベルで分類が行われる。したがっ
て、総数Nレベルを含む回路が、N個以上のクロック・
サイクルの間、動作していたとき、各レベルで異なるデ
ータ要素が分類されている状態で、N個の異なるデータ
要素の分類が、同時に進められている。したがって、特
定のデータ要素の解析は、そのデータ要素が最初に第1
レベルの入力端に現れた後、N+1番目のクロック・サ
イクルで終了する。
図を詳細に説明すると、分類される到来データ要素
は、最初に、レベル1で第1クロック信号によりデータ
・ラッチ回路(データ蓄積手段)(10)にラッチされ
る。このデータ要素は、ビット幅がmである。第1レベ
ルのRAM(予めプログラムされた蓄積手段)(12)は、
ビット幅mの値を1つだけ含んでいる。RAM(12)の値
は、上述の様に、到来するデータ要素が分類される一連
のレンジの中心値が選択される。
RAM(12)には1つの値しかないので、そのアドレス
入力端には、一定値即ちこの1つのデータをアドレス指
定するための値が供給される。同様に、これは第1レベ
ルであるので、直前のレベルは存在せず、結果ラッチ回
路(14)の2つの入力端には、論理値0が供給される。
この第1レベルでは、結果ラッチ回路(14)は、実質的
には使用されていない。RAM(12)はラッチ回路と置き
換えることができ、結果ラッチ回路(14)は全く不要で
ある。しかし、図の回路構成がこの様に示されている理
由は、各レベルに応じて構成するより、IC内の同様のセ
ルから成るアレイを使用して、全てのレベルを同一に構
成するほうが製造が簡単であるからである。これは、特
に、レベル数が多い程、必要とされる。
第1レベルのデジタル比較器(16)は、データ・ラッ
チ回路(10)内のデータ要素をRAM(12)の出力値と比
較し、第2レベルの結果ラッチ回路(24)の最下位ビッ
ト入力端及びRAM(22)に供給される出力ビットを生成
する。第2レベルの結果ラッチ回路(結果蓄積手段)
(24)及びRAM(22)は、その入力端に第1レベルの結
果ラッチ回路(14)の出力値が供給されるが、この出力
値は1ビットだけ左にずらされ、即ち2が乗算される。
実際には、ビットが物理的にずらされる方向は重要では
ない。必要なことは、連続する各レベルで生じるアドレ
ス値が、前のレベルのアドレス値より1ビットだけ長い
ことである。前の第1レベルの結果ラッチ回路(14)の
内容は、常に0であるので、第2レベルで結果ラッチ回
路(24)にラッチされる値及びこのレベルでRAM(22)
に供給されるアドレス値は、0又は1のいずれかであ
る。
次のクロック信号の発生時に、第1レベルのデータ・
ラッチ回路(10)のデータ要素は、第2レベルのデータ
・ラッチ回路(20)にラッチされ、新しいデータ要素
が、第1レベルのデータ・ラッチ回路(10)内の古いデ
ータ要素と置き換えられる。
第2レベルのRAM(22)は、2つの値を含んでいる。
上述の例を再び使用すると、これら2つの値は、0100及
び1001である。これらの値は、第1RAM(12)内の値で一
連のレンジを分割して得た2組のレンジの夫々の中間値
である。第1レベルで、デジタル比較器(16)の出力値
が0であると、値0100がアドレス指定され、一方、出力
値が1であると、値1001がアドレス指定される。
新しいデータ要素が、第1レベルでデータ・ラッチ回
路(10)にクロック同期して入力された後の1クロック
・サイクルで、その同じデータ要素が第2レベルでデー
タ・ラッチ回路(20)にラッチされる。第2レベルのデ
ジタル比較器(26)は、第2レベルのRAM(22)の選択
された出力値を、このレベルでデータ・ラッチ回路(2
0)に現在記憶されているデータ要素と比較する。第1
レベルと同様に、この比較結果は、2つの値の大小関係
を示す単一ビットである。データ・ラッチ回路(20)か
らの値がRAM(22)からの値に等しいか又はこの値より
大きければ出力値は1であり、次のレベルで適当なレン
ジのサーチが上位の値の方向で続けられることになる。
反対に、データ・ラッチ回路(20)からの値がRAM(2
2)の出力値より小さければ、次のレベルでは、適当な
レンジのサーチが下位の値の方向で続けられることにな
る。
第3レベルのRAM(32)は、平衡2進ツリーの次の組
の分岐に相当する4つの値を含む。この例では、これら
の値は0001、0101、1000及び1111である。これらの値の
1つが、第1レベルで判断し、第2レベルで記憶したビ
ット及び第2レベルでデジタル比較器(26)により判断
したビットの組合わせにより選択される。これらの2つ
のビットは、RAM(32)のアドレス入力端に供給され、
これらのビットに応じて、このレベルで行う比較のため
にRAM(32)内に記憶された4つの値の1つが選択され
る。この例では、00で最小値0001、01で値0101、10は値
1000、11で最大値1111が選択される。
本発明の簡単な実施例でレベルが3つしかなければ、
図示するN番目のレベルが、第3レベルに相当する。デ
ジタル比較器の1ビット出力及び結果ラッチ回路(34)
に記憶された2ビットは、結合されて回路全体の出力値
となる。この出力アドレス値は、計数値保時RAM(計数
値保持手段)(40)内のアドレスを表す。計数値保持RA
M(40)の指定されたアドレス位置の記憶値は1だけ増
加され、このアドレス位置に対応するデータ・レンジ内
のデータ要素が到来したということが記憶される。
上述の様に、必要なRAMの大きさは、回路全体の連続
する各レベル毎に2倍になる。したがって、データ・ラ
ッチ回路、結果ラッチ回路及びデジタル比較器を1組と
して、単一チップ上で必要な組数だけ好都合に繰り返し
製造できたとしても、RAM回路素子は別個のものを使用
することが望ましいであろう。
[効果] 本発明のデータ分類回路によれば、任意の大きさの複
数のデータ・レンジの各レンジ内で、データ要素が発生
する回数を高速に計数し、その計数値を記憶することが
できる。また、到来データを分類しようとするデータ・
レンジ数が指数関数的に増加しても、必要な専用のハー
ドウエア構成要素は直線的にしか増加しない。さらに、
本発明では、データ分類及び計数の処理を、コンピュー
タがソフトウェアに応じて処理するのではなく、縦続接
続された複数レベルの回路部分が各レベル毎に専用のハ
ードウェアとして構成されているので、処理が高速とな
る。また、1番目のデータ要素が第1レベルの回路部分
で処理された後には、2番目のデータ要素が第1レベル
の回路部分で処理されている間に、1番目のデータ要素
が第2レべルの回路部分で処理され、3番目のデータ要
素が第1レベルの回路部分で処理されている間に、2番
目及び3番目のデータ要素が第2及び第3レベルの回路
部分で夫々処理される。すなわち、1つのデータ要素が
総てのレベルの回路部分で処理された後に、次のデータ
要素が処理されるのではなく、複数のデータ要素が連続
的に処理される。よって、処理速度が一層高速になる。
【図面の簡単な説明】
図は、本発明のデジタル・データ分類回路を示すブロッ
ク図である。 図中において、(10)、(20)及び(30)は夫々データ
蓄積手段、(16)、(26)及び(36)は夫々第1、第2
及び第3比較手段、(24)及び(34)は結果蓄積手段、
(12)、(22)及び(32)は予めプログラムされた蓄積
手段、(40)は計数値保持手段である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スタンレー・アール・コスロウスキ アメリカ合衆国 オレゴン州 97062 トアラテイン サウスウエスト シツク ス テイ・セブンス 19616 (56)参考文献 特開 昭64−48128(JP,A) 特開 昭63−298523(JP,A) 特開 昭51−60128(JP,A) 特開 昭56−164440(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】順次到来する複数のデータ要素を分類し計
    数する回路であって、 継続接続された第1レベル回路部分及び少なくとも1個
    の中間レベル回路部分と、該中間レベル回路部分の最終
    段の次に配置され、複数の計数値を蓄積すると共に増加
    させる計数値保持手段とを具え、 上記第1レベル回路部分は、上記データ要素を受け、ク
    ロック信号の発生時に上記データ要素を蓄積して、出力
    端に上記データ要素を発生するデータ蓄積手段と;複数
    の連続したデータ・レンジの中央境界であって2進ツリ
    ーの第1判断点となる第1判断情報を蓄積し、該第1判
    断情報を出力端に発生する予めプログラムされた蓄積手
    段と;該予めプログラムされた蓄積手段の出力を上記デ
    ータ蓄積手段の出力と比較し、次のレベル用の付加アド
    レス・ビットを発生する比較手段とを有し、 上記中間レベル回路部分の各々は、直前のレベル回路部
    分からの上記データ要素を入力端に受け、上記クロック
    信号の発生時に上記受けたデータ要素を蓄積して、出力
    端に上記データ要素を発生するデータ蓄積要素と;上記
    複数の連続したデータ・レンジの境界であって上記2進
    ツリーの判断点となる判断情報を蓄積し、上記付加アド
    レス・ビットを含む上記直前のレベル回路部分からのア
    ドレス・データによりアドレス指定されて、蓄積された
    上記判断情報の値がアクセスされて、該値を出力する予
    めプログラムされた蓄積手段と;該予めプログラムされ
    た蓄積手段の出力を上記データ蓄積手段の出力と比較
    し、次のレベル用の付加アドレス・ビットを発生する比
    較手段と;上記直前のレベル回路部分からのアドレス・
    データを受け、上記クロック信号の発生時に上記受けた
    アドレス・データを蓄積して、次のレベル用の上記アド
    レス・データを発生する結果蓄積手段と有し、 上記計数値保持手段は、上記クロック信号の発生時に、
    上記付加アドレス・ビットを含む上記レベル回路部分の
    最終段からの上記アドレス・データにより指定されたア
    ドレス位置の計数値を増分して、所定データ・レンジ内
    で発生した上記データ要素の数を表す計数値を発生する
    ことを特徴とするデータ分類回路。
JP2138669A 1989-05-30 1990-05-30 データ分類回路 Expired - Fee Related JP2683947B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US358216 1989-05-30
US07/358,216 US5168567A (en) 1989-05-30 1989-05-30 Data sorting circuit

Publications (2)

Publication Number Publication Date
JPH0320822A JPH0320822A (ja) 1991-01-29
JP2683947B2 true JP2683947B2 (ja) 1997-12-03

Family

ID=23408745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2138669A Expired - Fee Related JP2683947B2 (ja) 1989-05-30 1990-05-30 データ分類回路

Country Status (2)

Country Link
US (1) US5168567A (ja)
JP (1) JP2683947B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW207013B (en) * 1993-02-19 1993-06-01 Nat Science Committee Architecture of optimal high-speed sorter
FR2763448B1 (fr) 1997-05-13 1999-07-16 Fihem Espaceur de cellules atm
FR2763410B1 (fr) * 1997-05-13 1999-07-23 Fihem Dispositif de tri d'elements de donnees a arbre binaire et espaceur atm comportant un tel dispositif
DE19810784B4 (de) * 1998-03-12 2006-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem
DE19956625C2 (de) * 1999-11-25 2002-08-14 Daimler Chrysler Ag Echtzeit-Datensortierung und -reduktion
US7177319B2 (en) * 2001-12-27 2007-02-13 Interdigital Technology Corporation Insertion sorter
CA2631133A1 (en) * 2006-05-22 2007-11-29 Duaxes Corporation Binary search circuit and method
US9268863B2 (en) 2014-06-03 2016-02-23 International Business Machines Corporation Hierarchical in-memory sort engine

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3815083A (en) * 1971-01-07 1974-06-04 Dirks Electronics Corp Method and arrangement for sorting record units having keyfield bits arranged in descending order of significance without comparator
JPS5160128A (ja) * 1974-11-21 1976-05-25 Hitachi Ltd
US4425617A (en) * 1981-03-23 1984-01-10 Rca Corporation High-speed data sorter
US4475237A (en) * 1981-11-27 1984-10-02 Tektronix, Inc. Programmable range recognizer for a logic analyzer
US4692897A (en) * 1984-09-04 1987-09-08 Gte Communication Systems Corporation Arrangement for dynamic range checking or matching for digital values in a software system
US4774681A (en) * 1985-03-11 1988-09-27 Tektronix, Inc. Method and apparatus for providing a histogram
US4809158A (en) * 1985-10-23 1989-02-28 Mccauley Peter B Sorting method and apparatus
JPS63298523A (ja) * 1987-05-29 1988-12-06 Ricoh Co Ltd クラスタリング法による2進木構造辞書の作成方式
JPS6448128A (en) * 1987-08-19 1989-02-22 Matsushita Electric Ind Co Ltd Data base processor
US4991134A (en) * 1988-03-30 1991-02-05 International Business Machines Corporation Concurrent sorting apparatus and method using FIFO stacks

Also Published As

Publication number Publication date
US5168567A (en) 1992-12-01
JPH0320822A (ja) 1991-01-29

Similar Documents

Publication Publication Date Title
CA1085056A (en) Multipass sorter for arranging an input list into numerical order
CA1069217A (en) Multistage sorter with concurrent access to interstage buffer memories
JP2607818B2 (ja) コンピュータシステム内にレコードが記憶されているか否かを判定する方法及び装置
JP2683947B2 (ja) データ分類回路
US5122979A (en) Method and a digital electronic device for the evaluation of an extremum of a set of binary encoded data words
US3725875A (en) Probability sort in a storage minimized optimum processor
US4979177A (en) Enhanced counter/timer resolution in a logic analyzer
US4897785A (en) Search system for locating values in a table using address compare circuit
US5383142A (en) Fast circuit and method for detecting predetermined bit patterns
EP0297398A2 (en) A processing pulse control circuit
JPH0666050B2 (ja) ソート処理方法
GB2194364A (en) Median filter
Gueguen et al. Accelerating itemset sampling using satisfiability constraints on FPGA
US5097428A (en) Data occurrence frequency analyzer
US6769005B1 (en) Method and apparatus for priority resolution
US3678470A (en) Storage minimized optimum processor
Kennedy et al. A hardware implementation of a binary neural associative memory
Jiménez-González et al. The effect of local sort on parallel sorting algorithms
KR970008197A (ko) 순차식 다중 검색/비교 방법 및 장치
US4841473A (en) Computer architecture providing programmable degrees of an almost condition
JPH0321948B2 (ja)
Akurati ASIC implementation of various sorting techniques for image processing applications
Herrmannsfeldt A Highly Parallel Finite State Automaton Processor for Biological Pattern Matching.
JPH07302187A (ja) データソーティング方法及びソーティング装置
West et al. Hardware for high speed boundary encoding from large line scanned images

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees