JPH07112194B2 - トラツプ機械 - Google Patents

トラツプ機械

Info

Publication number
JPH07112194B2
JPH07112194B2 JP61271627A JP27162786A JPH07112194B2 JP H07112194 B2 JPH07112194 B2 JP H07112194B2 JP 61271627 A JP61271627 A JP 61271627A JP 27162786 A JP27162786 A JP 27162786A JP H07112194 B2 JPH07112194 B2 JP H07112194B2
Authority
JP
Japan
Prior art keywords
ram
data
chain
byte
comp
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
JP61271627A
Other languages
English (en)
Other versions
JPS62115938A (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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPS62115938A publication Critical patent/JPS62115938A/ja
Publication of JPH07112194B2 publication Critical patent/JPH07112194B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/02Indexing scheme relating to groups G06F7/02 - G06F7/026
    • G06F2207/025String search, i.e. pattern matching, e.g. find identical word or best match in a string

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)
  • Time-Division Multiplex Systems (AREA)

Description

【発明の詳細な説明】 〈発明の技術分野〉 本発明は、伝送媒体上のデータ連鎖をろ波して、特定の
パターンのデータ連鎖を検出するトラツプ機械に関す
る。
〈従来技術とその問題点〉 デジタル設計の一般的目的は、与えられたビツト・パタ
ーンあるいはビツトの連鎖を或るビツトの流れすなわち
データ連鎖として認識することである。このようなパタ
ーン認識を行うデジタル装置は「状態機械」として知ら
れている。このような機械は2進のデータ連鎖を入力と
して受け入れ、もし一定のデータ連鎖が入力の中に入つ
ていれば、あらかじめ定めた出力を発生するように作ら
れている。たとえば、状態機械は入力データ連鎖の中に
トリガー連鎖10101010が入つていれば「高レベルにな
る」ように作ることができる。したがつて、入力001010
1010111は、入力データ連鎖内にトリガー連鎖が含まれ
ているので、機械をトリガーすることになる。他方、入
力0010101011111は、入力データ連鎖内に必要なトリガ
ーが存在しないので、機械をトリガーしない。したがつ
てこのような状態機械はトリガー連鎖を認識するように
作られている。このような状態機械を効率良く設計し、
論理要素や各種のフリツプ・フロツプ回路を備えるよう
に構成する技術は電気技術ではよく知られている。(Zv
i Kohavi著「スイツチングおよび有限オートタマの理論
(Switching and Finite Automata Theory)」第3部、
(1978年、マグローヒル)) 最新式デジタル機器において状態機械が提供するパター
ン認識の能力の必要性は大きい。このような重要な用途
の一つにいわゆるローカル・エリア・ネツトワーク(LA
N)がある。LANは小地域内の多様なデータ通信装置を相
互に接続する通信回線網である。(Willam Stallings著
「ローカル・ネツトワーク」P.2(1984年、マクミラン
出版会社)) 代表的なLANはプラントの構内またはオフイス・ビルデ
イングのような地理的に小さな地域に限定されるコンピ
ユータ・ネツトワークである。コンピユータ、端末機な
どのような、各種の装置がネツトワーク上のいろいろな
場所でネツトワークに「差し込まれる」。各装置には、
ネツトワーク上の装置間でデジタル通信が適切に送受信
されるようにアドレスが割り当てられる。明らかに、各
装置は、とりわけ、それ自身のアドレスを認識すること
ができなければならず、したがつて上述のようなパター
ン認識が必要である。
周知の、商業的に受け入れられているLANの規格は電気
電子技術者協会(IEEE)規格802.3に含まれている。デ
ジタル・エクイツプメント社によるこの規格の一つの実
施例は「エサーネツト」という名前で業界では良く知ら
れている。IEEE802.3の規格は2つ以上の局(装置)が
共通のバス伝送媒体、典型的には同軸ケーブル、を共有
する衝突検出付き搬送検知多重アクセス(CSMA/CD)媒
体アクセス法を規定していることが特徴である。LANに
よつて送信するには、局すなわち装置はバス上の静かな
期間、すなわち他の局が送信していない期間を待ち、そ
の目的とするメツセージをビツト順次形式で、最高10M
ビツト/秒の速さで送出する。
エサーネツトすなわちIEEE802.3の装置では、ネツトワ
ーク上にある装置間のメツセージはバス上のバケツトあ
るいはフレーム単位で移動する。エサーネツトのバケツ
トを第12図に示す。バケツトを始めから終りまで調べる
と、バケツトが64ビツトの前文、48ビツトの受信局アド
レス、48ビツトの送信局アドレス、16ビツト・タイプ・
フイールド、長さ46バイト以上1500バイト以下でその最
後の4バイトが32ビツトの循環剰余チエツクまたはフレ
ーム検査の連鎖(sequence)を構成するデータ・フイー
ルドから構成されていることがわかる。このエサーネツ
トのメツセージの様式はLAN技術を広く実施するのに必
要な標準を制定したものである。
LAN技術の重要な一分野に、一般にプロトコル、アナラ
イザとして知られているデータ通信試験機器がある。こ
れらの装置はLANあるいはエサーネツトの送信バス上の
トラフイツクを監視するとともに発生もする。そして、
現場サービス、すなわち電子データ処理センタの支援、
ネツトワーク構成要素の研究、開発、製造、設置および
保守、およびネツトワークの全般的故障点検、の目的で
それを分析する。
エサーネツトのバケツトのフイールドを調べなければな
らないことはしばしばある。たとえば、エラー分析に
は、通行中のすべてのエサーネツト・バケツトで一定の
パラメータ(たとえば、データ・フイールドの4バイト
毎に1つのバイトは一定のASCII(情報交換に関するア
メリカ規格委員会)文字である)を備えているものを検
出しなければならない。このように、一定のパターンに
合うデータ・フイールドを備えたバケツトに関心をもた
せられる。
先に注意したとうり、パターン認識は状態機械の任務で
ある。しかしながら、従来の状態機械は、最新のエサー
ネツト方式プロトコル・アナライザや同様の装置に関す
るような高速データ認識の要求に比較してあまりにも抽
劣なことがしばしばである。主な欠点は、与えられたパ
ターンを従来の状態機械を用いて見分けることはできる
が、認識すべきパターンを変更するには状態機械の退屈
な設計のしなおしと構成のしなおしが必要になる。この
ような制限により明らかに、たとえば、エサーネツト装
置の効率的なエラー分析は、ほとんど不可能になる。ま
た、従来の状態機械を用いてデータ・フイールドに深く
トラツプするには余分なハードウエアが必要である。
〈発明の目的〉 従つて本発明の目的は、データ単位をデータ連鎖中の順
序位置の関数として並列プログラマブル・フイルタに写
像して瀘波することにより、上記の欠点を解消すること
である。
〈発明の概要〉 本発明は、深トラツプ機械(deep trap machine)とも
称すべき超状態機械と考えられるが、従来の状態機械、
特に上述のエサーネツト装置に関する制限を克服し、エ
サーネツト以上の広範囲の適用可能性を備えている。深
トラツプ機械は複雑なパターン認識、すなわち本明細書
で瀘波と呼んでいるプロセスをランダム・アクセス・メ
モリとの独特な相互作用により行う。
エサーネツト・バケツトのデータ・フイールドのような
バイトの連鎖は、バイト連鎖内に一つ以上のパターンの
有無を検出する目的で深トラツプ機械により瀘波され
る。これらのパターンは本明細書ではフイルタと呼んで
いる。バイト連鎖は1バイト幅の送信機から一度に1バ
イトづつ引き出され、一度に1バイトづつ、COMP RAMと
呼ばれている、大きなランダム・アクセス・メモリの低
次アドレス選択線に送られる。各バイトの深トラツプ機
械への引き入れと同時に、カウンタが歩進し、バイト連
鎖内の各バイトの順序位置に対応する。カウンタの出力
は、それぞれ歩進の後、本明細書でCOUNT RAMと称す
る、もつと小さいランダム・アクセス・メモリのアドレ
ス選択線を駆動する。COUNT RAMは同様にカウンタの各
歩進に応答してカウンタの現在の値に対応するアドレス
に存在するワードを出力する。次にこのCOUNT RAMのワ
ードは、適切なバイトがCOMP RAMの低次アドレス選択線
を駆動すると同時にCOMP RAMの上位アドレス選択線を駆
動する。このようにして、連鎖の各バイトは、その対応
するCOUNT RAMワードとともに、COMP RAMの特定のワー
ドにアクセスする。このCOMP RAMワードは、与えられた
バイトが認識しなければならないパターン即わちフイル
タを満足しているか否かに関する真偽値のパターンと考
えてよい。このCOMP RAMワードは次に、各新しいバイト
連鎖の始まりに真にセツトされる「偽に固着する」電子
式ラツチのバンクに出力される。そのため、特定のフイ
ルタを満足することができなかつた連鎖のバイトはラツ
チを真から偽に転じ、ラツチはバイト連鎖の終りまでこ
の状態になつている。したがつて、連鎖の終りで、ラツ
チの値はどのフイルタをその特定のバイト連鎖が満足し
たかを決定する。
したがつて、深トラツプは次の能力を提供する。I)一
つのデータ連鎖内の二つ以上のパターンを探し、すなわ
ちろ過し、どのフイルタが満足されどれが満足されない
かを記録することができる。II)データ連鎖の大きな部
分を「無視し」、焦点をしぼり、すなわちトラツプする
ことにより、他のあらかじめ定めた部分にのみ位置依存
ができる。たとえば、認識しようとしているパターン
が、エサーネツト・バケツトのデータ・フイールドの、
位置10、20、および30にあるバイトのような、或るあら
かじめ定めた順序位置を占めているバイトのみを調べる
必要があり、バケツト内の他のすべてのバイトはパター
ンに無関係であると仮定する。深トラツプ機械によりト
ラツプ・オンが可能となり重要なバイトのみを比較し、
残りを実質的に無視することができる。III)データ連
鎖の長さが正しいか検査することができる。IV)深トラ
ツプ機械はこれらすべての機能を高速且つ効率的に行
う。V)最後に、深トラツプ機械は新しいフイルタが必
要になるたびに退屈な状態機械の設計が必要ないように
プログラムすることができる。このようにして、深トラ
ツプ機械は従来の状態機械が得ることができなかつた能
力と柔軟性とを達成している。
〈発明の実施例〉 一般に、深トラツプ機械は高速データ認識機構を実現し
ており、ランダム・アクセス・メモリ(RAM)のアドレ
ス選択線は検査されているデータで駆動される。たとえ
ば、8ビツトの単一バイトは256の可能な値の任意の一
つを明示することができる。したがつて256×1のRAM
を、任意の与えられたバイトを認識すべきバイトの値に
対応するRAMアドレスに一つの真値をロードし、他のす
べてのアドレスに偽の値をロードすることにより、認識
するのに使用することができる。次に、RAMのアドレス
選択線を探索中のデータ、すなわちバイトで駆動する。
このように、目標バイトだけが単一の真値を含むアドレ
スにアクセスすることになるので、RAMの出力は目標バ
イトが「認識」されたときのみ真になり、他のすべての
入力に対して偽となる。たとえば、バイトFF(16進)を
認識しようとする場所には、RAMのアドレス255に真値
が、アドレス0から254までに偽値が必要である。した
がつて、バイトFF(16進)だけが真の出力を発生するこ
とになる。
明らかに、数値はバイトを検査するための唯一のパラメ
ータを表わしている。たとえば、一つのバイトが偶であ
るか奇であるかというような他のパラメータを検査する
こともできる。偶バイトを検査するには、256×1のRAM
のすべての偶数アドレスに真値をロードし、すべての奇
数アドレスに偽値をロードする。このようなRAMのアド
レス選択線を探索中のバイトで駆動すると、偶バイトの
ときだけ真の出力が発生する。
単一の256×1RAM部分を本明細書では以後「データ比較
パラメータ」と言う。しかしながら、データ比較パラメ
ータとこれを駆動するデータ単位との間にある関係が存
在する場所には異なるサイズのデータ比較パラメータが
可能である。例えばデータ単位がnビツトで、適切なデ
ータ比較パラメータの寸法が2のn乗×1であるときで
ある。したがつて、バイト幅のデータすなわち8ビツト
幅の場合には、適切なデータ比較パラメータの寸法は2
のn乗×1=256×1である。
その上、探すべきデータ比較パラメータのバイトあたり
の数は変ることがある。たとえば、256×8または256×
16のRAMを使用すれば、並列に、入力データのバイトあ
たり、それぞれ8個または16個のデータ比較パラメータ
を探すことができる。加えて、本明細書で「フイルタ」
と呼ぶデータ比較パラメータの垂直連鎖をデータ単位の
連鎖に適用することができる。
深トラツプ機械は前述の原理をいわゆる比較RAMすなわ
ちCOMP RAMの実現に利用している。その上、個々のバイ
トではなく、バイトの連鎖全体を比較するために、COMP
RAMの大きさが拡大される。深トラツプ機械の好ましい
1実施例は16K×16のCOMP RAMを使用しており、第2図
に示すように16384個の16ビツト・ワードを備えてい
る。
エサーネツト・バケツトのデータ・フイールドにおける
ような、バイトの連鎖の比較を実行するには、このよう
なRAMの上位のアドレス選択線を2進カウンタの出力で
駆動し、このカウンタは各バイトが入力してから歩進す
るが、一方低次アドレス選択線はやはり個々のバイトに
より駆動される。カウンタの歩進はバイトの連鎖内のバ
イトの順序位置を表わすように設計されている。カウン
タは比較サイクルと呼ぶ各バイト入力の後歩進するか
ら、COMP RAMはバイトあたり256の16ビツト・ワードの
区画内でアクセスされる。したがつて、COMP RAMは1区
画あたり256ワードの64区画に論理的に区切られ、各区
画の幅は256×1のデータ比較パラメータ16個から成
り、各区画は一つのバイトに適用可能なデータ比較パラ
メータを収容している。
その上、区画を順次たどると自然にデータ比較パラメー
タを順次たどることができる。深トラツプ機械の好まし
い実施例では、このようなデータ比較パラメータの連
鎖、すなわち、256×1個のデータ比較パラメータの列
を「フイルタ」と呼んでおり、一つのフイルタがエサー
ネツト・バケツトのデータ・フイールドのようなバイト
の連鎖全体に適用できる。本発明の説明に使う用語でい
えば、16K×16編成のCOMP RAMを用いて理論的には、16
個のフィルタを一つのバイト連鎖に並列で適用し、各フ
イルタは64個のデータ比較パラメータの長さとすること
ができる。このことは、理論的には、一つのエサーネツ
ト・バケツトのデータ・フイールドを「ろ過する」こと
により、各フイルタを64バイトの長さにすることができ
る場合16個の異なるバイト・パターンを同時に探すこと
ができるというということを意味する。(ただし、本発
明の好ましい1実施例では、COMP RAMの2区画を、下に
説明するように、特殊目的のため取つてあるもので、最
大フイルタ長は62バイトである。) 本発明の好ましい1実施例は更にCOUNT RAMとして知ら
れるもう一つのRAMを使用することにより深トラツプ機
械の能力を増している。カウンタの収容はCOUNT RAMを
駆動するが、一方COUNT RAMの出力は、第3図に示すよ
うに、COMP RAMの上位アドレス選択線を駆動する。COUN
T RAMは、バイト連鎖中のバイトの順序位置を表わす実
際のカウントを論理カウントにマツプする役目をし、こ
のマツプはCOMP RAMの適切な区画を指示するアドレス・
ポインタとして役立つ。たとえば、2K×8のCOUNT RAM
は、2048個の実際のカウント値を256個の論理値にマツ
プする能力がある。エサーネツト・バケツトのデータ・
フイールドの最大の大きさは1514バイトであるから、こ
れはエサーネツト・バケツトを処理するには充分すぎる
カウント値である。更に、COMP RAMは多くとも64区画の
データ比較パラメータを提供するように構成されている
ので、COUNT RAMの256個の論理値も同様に充分以上であ
る。
COUNT RAMとCOMP RAMと相互作用におそらく深トラツプ
機械の位置従属能力を検討すれば最もよくわかるであろ
う。位置従属性には、バイトのデータ連鎖内の一定の位
置を占有するバイトのみを「トラツプ」し、データ連鎖
中の他のすべてのバイトを「ドントケア」量として「無
視する」ということがある。たとえば、第4図に示すよ
うに、データ連鎖内の第1と第10の位置を占めるバイト
のみが需要であるという場合がある。好ましい1実施例
では、第1と第10とを除くすべてのバイトがCOMP RAMの
唯一つの区画にドントケア(真値)をロードすることに
より「無視」される。同時に、COUNT RAMにポインタ、
すなわちCOMP RAMのドントケア区画に対する論理カウン
トが、データ連鎖内のドントケア・バイトの位置に対応
するCOUNT RAMのアドレスにロードされる。同様に、第
1および第10のバイトを「トラツプ」し、データ比較パ
ラメータと比較するために、COUNT RAMの第1および第1
0のアドレスにはそれぞれ、「トラツプされた」バイト
に適用可能なデータ比較パラメータを含んでいるCOMP R
AMの適切な区画を指すポインタがロードされる。
好ましい実施例ではまた各データ連鎖のバイト数を最終
比較サイクルにおいてチエツクすることが必要である。
これは好ましい1実施例が、どのフイルタがデータ連鎖
毎に満足されているかを記録する“偽が明らかになるま
で真(true−untill−proven−false)”の機構を実現
しているために必要なのである。連鎖の長さを最終チエ
ツクしないと、深トラツプ機械はエラー出力を発生する
ことがある。即わち、特定の連鎖が与えられたパターン
の最初の部分、たとえば、フイルタの最初の数バイト、
を満足して、終了することがある。したがつて、完全に
合致することにならないが、トラツプ機械の出力は“偽
が明らかになるまで真”の機構のもとでは真であること
になる。適切な連鎖長をチエツクする最終比較サイクル
はこの問題を解決している。好ましい1実施例では、解
は、COUNT RAMの大きさを2倍にし、COUNT RAMとCOMP R
AMとの間にマルチプレクサ・インターフエースを追加し
て「通常」比較と長さチエツク比較とを選択するように
して得られる。
「通常」比較中、COUNT RAMの半分が先に説明したよう
にCOMP RAMの上位アドレス選択線を駆動する。連鎖の最
後のバイトを受取つてから、別の装置(本願発明と同時
に出願された「バケツト終了信号発生器」という標題の
本願と同一出願人の出願に開示されている)で発生する
連鎖終了の信号がその連鎖に対する最終比較サイクル即
わち各フイルタを満足するのに必要な最小長さに対する
試験をトリガーする。この最後のサイクル中に、COUNT
RAMの他の半分はCOMP RAMの下位の5個のアドレス選択
線を駆動し、一方COMP RAMの他のすべてのアドレス線は
高電位に引き上げられ、COMP RAMの64番目の、すなわち
最後の区画にアクセスする。この長さチエツク・サイク
ル中にCOUNT RAMにより駆動される5本の線は長さチエ
ツク情報を含んでいる17ワードの一つを指示する。受取
つたデータ連鎖がフイルタのいずれを満足するにも短か
すぎる場合には、すべての偽値を含んでいるワードがア
ドレスされる。連鎖がすべてのフイルタを満足するのに
充分な長さであれば、すべて真値を含んでいるワードが
アドレスされる。同様に、連鎖がいくつかのフイルタに
ついて長さの判定基準を満足している場合には、先にマ
イクロプロセツサがロードした、真値と偽値との適切な
組合せを含んでいる他の15個のワードの一つがアドレス
される。
この点で、COMP RAMの64個の区画のうち二つだけが第5
図に示すように用途を割り当てられていることに注目す
べきである。一つの区画がドントケア値に割り当てら
れ、他の一つが長さチエツク情報に割り当てられてい
る。好ましい1実施例では、最高の区画すなわち64番目
(#63)の区画は長さチエツク情報を含んでいる。次の
最高の、すなわち63番目(#62)の区画はドントケア、
すなわちすべて真の値を収容している。残りの区画、#
0から#61までは、したがつて16個のフイルタを自由に
保持し、そのそれぞれが最大62バイトすなわち62区画の
長さになることができる。
最後に、各データ連鎖を「瀘波」した結果を記録しなけ
ればならない。これはCOMP RAMの、各フイルタに1個づ
つ、16個のデータ線を、各出力線について一つづつ16個
の電子式ラツチに接続することにより行われる。各デー
タ連鎖の前に、ラツチの各々は真に初期設定される。ラ
ツチは「偽に固着する」ように設計されているのでラツ
チへの一つでも偽入力があればラツチを真から偽に動か
すことになり、ラツチは外部から真にリセツトされるま
でこの状態になつている。このようなラツチは好ましい
実施例ではJ−K:NOT(J−)フリツプ・フロツプ回
路で実現している。
データ連鎖の瀘波中、COMP RAMは、各比較サイクルに続
き、すなわち、データ連鎖の各バイト続き、長さチエツ
ク・サイクルの後に出力を発生する。したがつて、フイ
ルタ区画に合致しない連鎖のバイトおよび単一フイルタ
を満足するには短かすぎる連鎖は偽出力をトリガーし、
これは適切なラツチを真から偽に動かし、このようにし
てどのフイルタが満足され、どのフイルタが満足されな
いかを記録する。
好ましい実施例では、瀘波されたデータ連鎖の結果は、
16ビツト・ワードの形で、ラツチから先入れ先出し(FI
FO)記憶バツフアに転送される。ラツチは真にリセツト
される。COUNT RAMに対するカウンタは0にリセツトさ
れる。これで深トラツプ機械は次のデータ連鎖に対する
準備が完了する。
本発明の好ましい実施例は記憶データ連鎖の個個のデー
タ単位がバイト幅、すなわち、データ単位あたり8ビツ
トと仮定してあるが、本発明の1実施例では任意のビツ
ト幅のデータ単位を収容するように設計することにより
調節することができるということに注目しなければなら
ない。このような調節は本発明の1実施例の構成要素間
に一定の重要な関係を維持するだけでよい。
第一に、データ単位のビツト幅とCOMP RAMの一つのデー
タ比較パラメータ区画(およびしたがつてCOMP RAMの一
つの区画)との間の関係が一つのデータ単位に適用でき
るRAMアドレスの数が本明細書のはじめに説明したよう
に2をデータ単位中のビツトの数に等しい指数乗した数
に等しいようになつていることが必要である。したがつ
て、1ビツトのデータ単位に対しては2×1のデータ比
較パラメータが必要である。2ビツトのデータ単位に対
しては4×1のデータ比較パラメータが必要であり、3
ビツトのデータ単位に対しては、8×1のデータ比較パ
ラメータが必要であり、以下同様。このように、バイト
幅、すなわち8ビツトのデータ単位に対しては、256×
1のデータ比較パラメータが必要である。
加えて、COMP RAMの一つの区画は16のデータ比較パラメ
ータ幅である必要はない。これは設計者が必要とすれば
異なる幅にすることができる。唯一つの制約はCOMP RAM
出力ラツチの数がCOMP RAM区画のデータ比較パラメータ
の幅、すなわち、フイルタあたり1ラツチに等しくなけ
ればならないということである。
同様に、COMP RAMをデータ比較パラメータの64区画に相
当する長さ64のデータ比較パラメータに無理に制限する
必要はない。COMP RAMは異なる大きさにしてよい。ただ
し、位置従属性が必要な場合には少くとも一つの区画を
「ドントケア」、すなわち、すべて真値に専用しなけれ
ばならず、またデータ連鎖の長さが可変の場合には、少
くとも一つの他の区画を長さチエツク情報に専用しなけ
ればならない。
加えて、個々のデータ単位をCOMP RAMの特定の区画にメ
モリ・マツプするのに使用するCOUNT RAMの大きさは、
好ましい実施例の4K×8という寸法に限定されるもので
はない。大きさも異つてよいが、少くとも、処理しなけ
ればならないと考えられる可能な最大のデータ連鎖内に
あるデータ単位の数に、下に説明する、長さチエツク・
サイクルを収容する余分のアドレスを加えただけのワー
ドすなわちアドレスを備えていなければならない。同様
に、COUNT RAMの各ワードは少くともCOMP RAM内のデー
タ比較パラメータの区画の数に等しい数を表わすのに充
分なビツトを備えていなければならない。好ましい1実
施例では、多くとも1514データ単位の長さであるエサー
ネツトのデータ連鎖を収容することを目的としており、
COMP RAMには64区画が存在しているから、4K×8のCOUN
T RAMを使用した。
また、COUNTERとCOMP RAMとの適当な大きさは、一定で
はないが、データ連鎖の長さチエツク・サイクルに対し
たは微妙である。好ましい1実施例では、「通常の」デ
ータ単位比較中、COUNT RAMの上半分がCOMP RAMのアド
レス選択線を駆動する。このように、COUNT RAMの半分
は少くとも、考えられる最大可能なデータ連鎖内のデー
タ単位の数だけのワードすなわちアドレスを備えてお
り、これはエサーネツト装置では1514バイトである。他
方、最終長さチエツク・サイクル中、COUNT RAMの下半
分がCOMP RAMの低位5個のアドレス線を駆動し、長さチ
エツク情報ワードにアクセスする、一方、COMP RAMの残
りのアドレス選択線はCOUNT RAMとCOMP RAMとの間を接
続するマルチプレクサによつて高レベルに引き上げられ
る。したがつて、COUNT RAMを駆動するカウンタは到来
するデータ連鎖内のデータ単位の最大可能な順序位置ま
でカウントするに充分な大きさでなければならない。最
小でもカウンタはCOUNT RAM内の最高アドレスを2で割
つた大きさの数を表わすに充分なビツトを備えていなけ
ればならない。
偽に固着するラツチは好ましい1実施例のJ−フリツ
プ・フロツプ以外の方法でも実現できることに注目すべ
きである。これは単に高速ラツチが偽に固着する性質を
備えているということだけが必要なのである。
完全な深トラツプを完全に実現させる原理を図を参照し
て説明する段階に来た。第6図において、参照数字200
はチヤンネル205を経由して256×1のランダム・アクセ
ス・メモリ(RAM)210の8個のアドレス選択線に並列に
伝えられるべきデータ・バイトを指している。該データ
・バイトの最低次のビツトは最低次のアドレス選択線を
駆動し、最低次の次のビツトは最低次の次のアドレス選
択線を駆動し、バイトの各ビツトがそのそれぞれの次数
のアドレス選択線を合致するようにして以下同様に続
く。
256×1のRAMは一つの真値を認識すべきバイトの値に対
応するアドレスに、偽値を残りの255個のアドレスにロ
ードすることにより与えられたバイトを「認識する」の
に使用することができる。例示のため、「1」は真値を
表わし、「0」は偽値を表わすと仮定する。ただし、一
貫して適用すれば、逆の約束も同等である。次に、RAM
のアドレス選択線をデータ単位、すなわち、検査すべき
バイトで駆動することにより、RAMは、目標バイトが出
現したときのみデータ出力線215に真値を出力し、その
他のすべての場合に偽値を出力する。第6図では、この
原理を真値をアドレス255に、偽値をアドレス#0から
#254に置くことにより示している。したがつて、すべ
てが1から構成されているバイトだけがRAM210からの真
の出力をトリガーし、目標バイトが認識されたことを実
質的に知らせる。好ましい実施例の用語法では、RAMの
単一の256×1の部分をデータ比較パラメータという。
第7図において、256×16のRAM235を示してあるが、二
つ以上のデータ比較パラメータを一つのデータ単位に適
用できることを示している。この構成では、16個のデー
タ比較パラメータを一つのデータ単位に並列に適用する
ことができる。ここで再び、データ単位、すなわち、バ
イト225はデータ入力線230を経由してRAM235のアドレス
選択線に伝えられる。RAM235では、RAMの16個の256×1
の論理部分が一つのデータ比較パラメータを表わしてお
り、記したとおり、16個全部が到来する各バイトに並列
に加えられることになる。たとえば、特定のバイト値の
他にバイトが偶であるか奇であるかをもチエツクするに
は、真値を所望の数値に対応するアドレスに、偽値を第
1の256×1データ比較パラメータの残りのアドレスに
挿入するとともに、真値を奇数アドレスのすべてに、偽
値を次のデータ比較パラメータにおいて、偶数アドレス
のすべてに挿入する。同様に、別のパラメータを、バイ
トごとに、残りの14のデータ比較パラメータに適切な真
・偽の値を適切にロードすることにより探すことができ
る。再び、例示のために、「1」が真値を表わし、
「0」が偽値を表わすと仮定する。ただし一貫して適用
すれば、逆の約束も同等である。
先に注意したとおり、バイト225のようなデータ単位は
データ出力線240上に16ビツト・ワードの出力を含む256
×16のRAMのアドレス選択線を駆動するが、16ビツト・
ワード出力の各ビツトは一つのデータ比較パラメータに
対応している。したがつて、RAM235の各16ビツト・ワー
ド出力に対する真・偽値の16ビツト・パターンはどのデ
ータ比較パラメータが入力の一つのバイトに対して満足
されたかを示す。
第8図において、バイトの比較シーケンスを行うように
更に一般化が実現される。データ単位、すなわちデータ
連鎖255のバイトにカウンタ245の出力を加えたものは、
COMP RAMとして知られているRAM260の、それぞれ、低次
アドレス選択線265と上位アドレス選択線270とを駆動す
るのに使用される。カウンタ245は手段250により、デー
タ連鎖255の新しいバイトが到達するごとに1だけ歩進
する。したがつて、これによりデータ連鎖の各データ単
位、すなわち、バイトはCOMP RAM260の異なる区画にア
クセスする。バイト#0は区画#0にアクセスし、区画
#のデータ比較パラメータと比較される。データ連鎖の
各バイトについて以下同様。
同様に、バイトとそのそれぞれのカウント値がCOMP RAM
260のアドレス選択線に同時に到達すると、入力のバイ
トごとにCOMP RAM260から16ビツト・ワード出力を発生
する。ここで16ビツト・ワード出力はどのデータ比較パ
ラメータが連鎖の各バイトに対して満足されたかを示し
ている。16ビツト・ワード出力はチヤンネル275上を出
力ワードのビツト位置ごとに一つのJ−フリツプ・フ
ロツプの、16個のJ−フリツプ・フロツプから成るバ
ンク280まで並列に移動する。
16個のJ−フリツプ・フロツプは最初到来データ連鎖
の始まりに真にセツトされる。J−フリツプ・フロツ
プは一旦真にセツトされると偽入力が入つたときのみ偽
に動き、外部から真にリセツトされるまで偽の状態にな
つているように設計される。したがつて、RAMの16ビツ
ト・ワード出力内の偽のビツトだけがそのそれぞれのJ
−フリツプ・フロツプを偽に動かすことになる。
このような出力ワードの各ビツトはデータ連鎖の一つの
バイトとCOMP RAM260の一つのデータ比較パラメータと
を比較した結果を表わしている。同様に、各16ビツトの
出力ワードはデータ鎖線の一つのバイトとRAM260の一つ
の区画、すなわち、256×16区画とを比較した結果を表
わしている。最後に、16ビツトの各出力ワードは、デー
タ鎖線の各バイトに一つづつ、16個のJ−フリツプ・
フロツプのバンク280に並列に加えられる。上に説明し
たように、出力ワード内の偽ビツトはそのそれぞれのJ
−フリツプ・フロツプを真から偽に動かし、このよう
なフリツプ・フロツプは新しいデータ連鎖の前に外部か
ら真にリセツトされるまで偽のままになつている。した
がつて、データ連鎖の終りに、16個のJ−フリツプ・
フロツプから成るバンク280は、データ連鎖全体とデー
タ比較パラメータの16個の並列垂直連鎖、すなわち、16
個のフイルタから成るCOMP RAM装置260の全体とを比較
した結果を表わす真・偽値のパターンを保持している。
このような二つのフイルタ、285と290、を第8図に示し
てある。ここでRAM260は16個のフイルタを保持してお
り、一つのフイルタにつき一つのJ−フリツプ・フロ
ツプが存在している。したがつて、各J−フリツプ・
フロツプは窮極には、データ連鎖全体のバイトと一つの
フイルタとの比較結果を保持する。
第9図では、データ連鎖の特定のバイトをCOMP RAMの特
定の区画にメモリ・マツプするように一般化が実現され
ている。上に説明したように、データ連鎖310のデータ
単位、すなわち、バイトはCOMP RAM340の低次アドレス
選択線320を駆動するのに使用される。同時に、カウン
タ300は手段305によりデータ連鎖310のバイトごとに1
だけ歩進する。次にカウンタ300の出力はCOUNT RAM325
のアドレス選択線315を駆動する。カウンタ値の入力応
答して、COUNT RAM325はCOMP RAM340の高次アドレス選
択線を駆動するワードを出力する。この装置はカウンタ
300のカウンタ値がCOMP RAM340の低次アドレス選択線32
0を駆動するバイトの(データ連鎖内の)順序位置に対
応するようにクロツクされる。したがつて、データ連鎖
310のバイトとそのそれぞれのカウンタ値で駆動されるC
OUNT RAMのワードとはCOMP RAM340の、それぞれ、低次
および高次のアドレス選択線に同時に到着する。したが
つて、COUNT RAMのワードはCOMP RAMの特定の区画を指
すポインタの役目をし、データ連鎖310のバイトはそれ
ら区画内の特定のワードを指すポインタの役目をする。
要約すれば、カウンタ300はデータ連鎖310のデータ単
位、すなわち、バイトの順序位置に対応するカウンタ値
を出力するようにクロツクされる。カウンタ値は同様に
COUNT RAM325のアドレスに対応する。このような各アド
レスには、データ連鎖310のどのバイトが現在処理され
ているかにより、COMP RAM340の特定の区画を指示する
ワードがある。たとえば、第9図の場合には、COUNT RA
M325の中のワードに基き、データ連鎖310のバイト#0
がCOMP RAM340の区画#0にマツプされており、バイト
#1が区画#1にマツプされており、バイト#2が区画
#2にマツプされており、以下同様、であることがわか
る。最後に、先に説明したとおり、データ連鎖310の各
バイトは、そのそれぞれのCOUNT RAMワードとともに、
出力すべき16ビツトのCOMP RAMワードを発生し、データ
出力線345を経由してバンク350の16個のJ−フリツプ
・フロツプに伝えられる。
第10図においては、データ連鎖の任意の部分を効果的に
無視すると同時に残りの部分に焦点を合わせる能力を備
えるように更に一般化が実現されている。説明したとお
り、本発明の主な目的は、データ連鎖全体を認識し、あ
るいは比較することであり、データ連鎖の各データ単
位、すなわち、バイトの全てを調べる必要はない。たと
えば、データ連鎖内の一定の順序位置を占有しているバ
イトのみが重要なのであり、連鎖内の残りのバイトは、
本発明のいわゆる位置従属性の特徴を説明する際に記し
たとおり、ドントケア量として無視してよい。
位置従属性は第10図に実証した方法で達成される。
第10図では、第9図でのように、メモリ・マツピング機
構が実現されている。データ連鎖410のデータ位置、す
なわち、バイトはCOMP RAM435の低次アドレス選択線を
駆動する。その他、カウンタ400は手段405によりデータ
連鎖410の各バイトごとに1だけ歩進する。次にカウン
タ400の出力はCOUNT RAM425のアドレス選択線の415を駆
動する。これらカウンタ値の入力に応じて、COUNT RAM4
25はアクセスされたアドレスに存在していたワードを出
力し、これはCOMP RAM435の高次アドレス選択線430を駆
動する。したがつて、データ連鎖410のバイトとそのそ
れぞれのカウンタ値で駆動されるCOUNT RAMワードはCOM
P RAM435の、それぞれ、低次と高次とのアドレス選択線
に同時に到達する。したがつて、COUNT RAMワードはCOM
P RAMの特定の区画を指すポインタの役目をし、データ
連鎖410のバイトはそれら区画内の特定のワードを指す
ポインタの役目をする。
したがつて、カウンタ400はデータ連鎖410の中のデータ
単位の順序位置に対応するカウンタ値を出力するように
クロツクされる。カウンタ値は同様にCOUNT RAM425のア
ドレスに対応する。このような各アドレスに、データ連
鎖410のどのバイトが現在処理されているかにより、COM
P RAM435の特定の区画を指示するワードが存在する。ま
た、第9図の場合のように、第10図において、データ連
鎖410の各バイトは、そのそれぞれのCOUNT RAMワードと
ともに、データ出力線440を経由してバンク445の16個の
J−フリツプ・フロツプに出力すべき16ビツトのCOMP
RAMワードを発生することに注意すること。
しかしながら、上に記したとおり、データ連鎖のバイト
全部が重要というわけではない。たとえば、データ連鎖
の第1と第10とのバイトのみが重要であり残りのバイト
はドントケア量を構成していると仮定する。第1および
第10のバイトを除き、すべてのバイトはそれ故「無視」
してよい。これは第10図に示した方法で行うことがで
き、第10図ではバイト#0と#9とが重要であり、バイ
ト#1から#8まではドントケア量として無視されるこ
とになる。
COMP RAM435の一つの区画、すなわち区画#62にはすべ
て真の値がロードされていることに注意。(例示のた
め、「1」は真値を表わし、「0」は偽値を表わすと仮
定するが、一貫して適用すれば、逆の約束も同等であ
る。)上に説明したとおり、本発明はJ−フリツプ・
フロツプがすべて最初は真にセツトされている。“偽が
明らかになるまで真”の機構を実現している。J−フ
リツプ・フロツプ回路は、一旦真にセツトされれば、偽
の入力によつてしか偽の状態にならず、外部から真にリ
セツトされるまでその状態になつている。したがつて、
J−フリツプ・フロツプがどんな状態にあつても、CO
MP RAM435の区画#62のワードのような真値だけから成
る入力には影響されない。本発明の用語法では、区画#
62は「ドントケア」区画として知られている。
したがつて、第10図に示すとおり、データ連鎖410のバ
イト#1から#8まではCOUNT RAM425の、データ連鎖41
0の「ドントケア」バイトの順序位置に対応するアドレ
スに、COMP RAM435の「ドントケア」区画#62を指すワ
ードをロードすることによりドントケア量として無視さ
れる。したがつて、データ連鎖410のすべての「ドント
ケア」バイトは、すべて真値から成る「ドントケア」区
画からCOMP RAM出力ワードを発生することになり、これ
によりJ−フリツプ・フロツプの状態が影響されなく
なる。
同様に、関係のあるバイト、この例ではバイト#0と#
9とは、COUNT RAMのその順序位置に対応するアドレス
に他の区画を指すワードをロードすることによりCOMP R
AMの他の区画にマツプすることができる。例示のため、
第10図において、バイト#0はCOMP RAMの区画#0にマ
ツプされ、バイト#9は区画#1にマツプされる。
したがつて、関係のあるバイト、第10図の#0と#9と
は適切なデータ比較パラメータを備えているCOMP RAMの
区画にマツプされる。その間、残りのドントケア・バイ
ト、#1から#8まではすべて真の値を含んでいるドン
トケア区画にマツプされる。
最後に、好ましい実施例は“偽が明らかになるまで真”
の機構を採用しているので、エラー出力の可能性を考え
なければならない。これはデータ連鎖がCOMP RAMフイル
タの最初の数区画を満足してから終了する場合に起るこ
とがある。したがつて、トラツプ機械の出力は真になる
がデータ連鎖は短かすぎることになる。好ましい実施例
はこの問題を最終比較サイクルを従つてデータ連鎖の長
さが適正かをチエツクすることにより解決している。
第11図において、更に一般化が行われ、最終比較サイク
ルでデータ連鎖の長さが適格であるかチエツクすること
を実現している。データ連鎖515の最後のバイトが通過
してから、別の連鎖終了装置510(本願発明と同時に出
願された「バケツト終了信号発生器」と題する本願と同
一出願人の出願に開示されている)から発生した連鎖終
了信号は、チヤンネル500および512をそれぞれ経由して
カウンタ505およびマルチプレクサ(MUX)535に伝えら
れる。
この連鎖信号を発生する前に、第11図の装置は第10図の
装置と同じ仕方で動作する。ただし、連鎖終了信号に応
答して、COMP RAM545の低位の5個のアドレス選択線はC
OUNT RAM525の下半分のみから得られたワードにより駆
動される。同時に、残りのアドレス選択線はマルチプレ
クサ535により高レベルに引き上げられ、COMP RAMの最
高の、すなわち、64番目の区画にのみアクセスする。カ
ウンタ505のビツトは、カウンタをリセツトする前に、
データ連鎖515のデータ単位すなわちバイト数に等しい
数を表わす。したがつて、この数に基き、一定のあらか
じめ定めたCOUNT RAMのアドレス選択線が、特定のバイ
ト数に適合したCOUNT RAMワードがアクセスされるよう
に駆動される。
次にこのCOUNT RAMワードは低次の5個のアドレス選択
線を駆動する。現在COUNT RAMによつて駆動されている
5本のアドレス選択線は、COMP RAMの64番目の区画内
の、長さ情報を保持する16ビツトの長さチエツク・ワー
ドを含んでいる、17個のアドレス(17=n+1、ここで
nはフイルタの数)の一つを指示する。受け取つたデー
タ連鎖515がどのフイルタを満足するにも短かすぎる場
合には、すべて偽値から成るワードがアクセスされる。
受け取つたデータ連鎖がすべてのフイルタを満足させる
だけ充分長ければ、すべて真値から成るワードがアクセ
スされる。データ連鎖が、全部ではなくいくつかのフイ
ルタに対して長さの判定基準を満足する場合には、あら
かじめマイクロプロセツサによりロードされている、そ
れに対応するフイルタが満足される、真・偽値のパター
ンを表わす、他の15ワードの一つがアクセスされる。
(再び、第11図において、「1」が真値を表わし、
「0」が偽値を表わすと仮定しているが、一貫して適用
する場合には、逆の約束も同等である。) このようにアクセスされた適切なCOMP RAM長さチエツク
・ワードは次にチヤンネル550を経由してバンク555の16
個のJ−フリツプ・フロツプに出力される。このワー
ドはデータ連鎖515に対する最終比較サイクルを表わし
ている。ワード内に偽ビツトがあればそのそれぞれのJ
−フリツプ・フロツプを動かす。ただし、そのフリツ
プ・フロツプが前のバイト比較サイクルですでに動かさ
れていない場合である。最後に、この時点で、バンク55
5のJ−フリツプ・フロツプはデータ連鎖515をろ過し
た結果を表わす真・偽値の16ビツト・パターンを保持し
ている。各真のビツトにより、すなわち、J−フリツ
プ・フロツプはそのそれぞれのフイルタがデータ連鎖51
5により満足されたことを示す。各偽のビツトはそのそ
れぞれのフイルタがデータ連鎖515により満足されなか
つたことを示している。したがつて、バンク555の16個
のJ−フリツプ・フロツプにより保持されているこの
16ビツト・ワードは結局、データ連鎖515をろ過した結
果を表わす。このビツト結果は今度はバンク555によつ
てラツチされ、他の装置に送られて使用される。
第1図に、本発明の1実施例の完全な概要図を示してあ
る。参照番号10はシステム・バスを示し、これを介して
バイト幅単位のデータ連鎖が本発明の1実施例の機械を
通つて循環し、LANバスから引き出されたエサーネツト
・バケツトのような、データ連鎖が一度に1バイトづつ
読み取られ、ラツチされるようになつている。システム
・バス・インターフエース・ユニツト15(システム・バ
ス・インターフエース、ラツチ、アドレス比較器、およ
び制御器状態機械のような標準構成要素を備えている)
により行われる読取りラツチ機能に従つて、データ連鎖
のバイトは、一度に1バイトづつ、チヤンネル55を経由
してマルチプレクサ30に至り、チヤンネル80を経由して
スタチツク・ランダム・アクセス・メモリ(SRAM)35の
低次アドレス選択線に送られる。SRAM35はCOMP RAMであ
る。
同時に、システム・バス・インターフエース・ユニツト
15はチヤンネル60、65上にクロツクされた制御信号を発
生する。制御信号はシステム・バス・インターフエース
・ユニツトのバイトの読取りラツチ操作と一致している
ので、1バイトあたり一つの、制御信号が制御線60を通
つて、データ・チヤンネル55をバイトが通過すると同時
に2進カウンタ20に送られるようになる。
これにより、2進カウンタ20は各バイトがトラツプ機械
に伝えられるごとに1づつ歩進し、バイト連鎖内の各々
バイトの順序位置をカウントする。
加えて、2進カウンタの現在のカウント値はカウンタ出
力線70を経由してSRAM25のアドレス選択線に伝えられ
る。SRAM25はCOUNT RAMである。2進カウンタ20のカウ
ント値はこのようにして、あらかじめ定めた現存2進ワ
ードが読取られるCOUNT RAMアドレスに直接対応する。
このようにアクセスされたCOUNT RAMワードはCOUNT RAM
データ出力線に出力されチヤンネル75を経由してマルチ
プレクサ30に至り、チヤンネル80を経由してCOMP RAMの
高次アドレス選択線に送られる。
システム・バス・インターフエース・ユニツト15の内部
にある制御器状態機械はチヤンネル60、65、100、およ
び110に制御信号およびクロツク信号の両方またはいず
れか一方を送出し、個々のデータ・バイトおよびその対
応するCOUNT RAMワードがSRAM35すなわちCOUNT RAMのア
ドレス選択線に同時に到着するようにし、したがつて個
々のデータ・バイトが低次アドレス選択線を駆動すると
ともにその対応するCOUNT RAMワードが高次アドレス選
択線を駆動する。
COMP RAMアドレス選択線にこのように伝達されたデータ
・バイトにCOUNT RAMの信号が加わつたものはCOMP RAM
の特定の16ビツト・ワードにアクセスする。このように
してアクセスされた各COMP RAMは次にCOMP RAMデータ出
力線に出力されチヤンネル85を経由して、16個のJ−
フリツプ・フロツプから成るバンク40に伝えられる。CO
MP RAMのデータ出力線あたり、あるいは等価的に、各CO
MP RAMワードあたり、1個のJ−フリツプ・フロツプ
がある。
J−フリツプ・フロツプは各々最初はデータ連鎖の第
1のバイトを受け取る前に、チヤンネル60、65、および
120を経由してシステム・バス・インターフエース・ユ
ニツト15から発生された制御信号により真にセツトされ
る。その後、COMP RAMワードの個々のビツトはそのそれ
ぞれの個々のJ−フリツプ・フロツプへの入力信号と
して働く。J−フリツプ・フロツプ回路は、一旦真に
セツトされると、偽入力だけがこれを偽に動かし、外部
から真にリセツトされるまでその状態になるように設計
されているので、上述の“偽が明らかになるまで真”の
機械が実現する。
データ連鎖の最後のバイトの後、システム・バス・イン
ターフエース・ユニツトは別の装置(本願発明と同時に
出願された「バケツト終了信号発生器」という名称の本
願出願人の特許出願に開示されている)から発生した連
鎖終了信号を受け取る。この信号を受け取ると、システ
ム・バス・インターフエース・ユニツトはチヤンネル6
0、65、100、105、110、および115を経由してカウンタ2
0、COUNT RAM、マルチプレクサ30、およびCOMP RAMに制
御信号を送出する。この最終段階において、SRAM25すな
わちCOUNT RAMの他の半分はSRAM35すなわちCOMP RAMの
低次の5個のアドレス選択線を駆動し、一方残りのアド
レス選択線は高レベルに引きあげられ、これにより、CO
MP RAMの最後の区画にアクセスする。カウンタ20の最上
位ビツトがCOUNT RAMのどの半分を制御するにしても、
最上位より右のビツトは、カウンタをリセツトする前
の、データ連鎖のバイト数に等しい数を表わすことにな
る。したがつて、この数に基いて、一定のあらかじめ定
めたCOUNT RAMアドレス選択線が特定のバイト数に適当
するCOUNT RAMワードがアクセスされるように駆動され
る。このCOUNT RAMワードはCOMP RAMの低次の5個のア
ドレス選択線を駆動する。現在COUNT RAMにより駆動さ
れている5個のアドレス選択線は、COMP RAMの64番目の
区画中の、長さ情報を保持している16ビツト・ワードを
含む17個のアドレスの一つを指示することになる。受け
取つたデータ連鎖がどのフイルタを満足するにも短かす
ぎる場合には、すべて偽値から成るワードがアクセスさ
れる。受け取つたデータ連鎖がすべてのフイルタを満足
するだけ充分長い場合には、すべて真値から成るワード
がアクセスされる。データ連鎖が全部ではないが一つ以
上のフイルタに対して長さの判定基準を満足する場合に
は、あらかじめマイクロプロセツサによりロードされて
いる、それに対応するフイルタが満足される、真・偽値
のパターンを表わす、他の15ワードの一つがアクセスさ
れる。
このようにしてアクセスされた適切なCOMP RAM長さチエ
ツク・ワードは、次にチヤンネル85を経由してバンク40
の16個のJ−フリツプ・フロツプに出力される。この
ワードはそのデータ連鎖に対する最終比較サイクルを表
わす。ワード内に偽ビツトがあれば、そのそれぞれのJ
−フリツプ・フロツプを動かす。ただし、そのフリツ
プ・フロツプがそのデータ連鎖に関する先のバイト比較
サイクル中にすでに動かされていない場合である。この
時点で、J−フリツプ・フロツプは最終的に一つのデ
ータ連鎖をろ過した結果を表わす真・偽値の16のビツト
・パターンを保持している。
各真のビツト、すなわち、J−フリツプ・フロツプは
そのそれぞれのフイルタがデータ連鎖により満足された
ことを示している。
したがつて、システム・バス・インターフエース・ユニ
ツト15からチヤンネル60、65、および125を経由して送
られた制御信号にしたがつて、一つのデータ連鎖のろ過
結果を保持しているこの最終の16ビツトの結果は、バン
ク40の16個のフリツプ・フロツプからチヤンネル90を経
由して先入れ先出し(FIFO)バツフア45にラツチされ
る。バツフアされた結果は次に(システム・バス・イン
ターフエース・ユニツト15からチヤンネル60、65、およ
び125を経由して送られた制御信号にしたがつて)バツ
フア45からチヤネル95、DIOバス・インターフエース回
路50を経由して他の装置が使用できるようにラツチす
る。
〈発明の効果〉 以上本発明の1実施例において詳述したように、本発明
によれば、任意のデータ・パターンを高速で認識可能
で、かつ認識すべきパターンをプログラマブルに設定で
きるので、高速かつ柔軟な深トラツプ機械が実現できる
ので実用に供して有益である。
【図面の簡単な説明】
第1図は本発明の1実施例のブロツク図、第2図はCOMP
RAMの略図、第3図はデータとメモリ・マツプで駆動さ
れるランダム・アクセス・メモリの略図、第4図はメモ
リ・マツプ・システムの略図、第5図はCOMP RAMの詳細
化略図、第6図はデータ駆動されるランダム・アクセス
・メモリの略図、第7図は第6図のメモリの詳細化略
図、第8図はデータとカウンタで駆動されるランダム・
アクセス・メモリの略図、第9図はデータとメモリ・マ
ツプで駆動されるランダム・アクセス・メモリの略図、
第10図はデータとメモリ・マツプで駆動される別のラン
ダム・アクセス・メモリの略図、第11図はデータとメモ
リ・マツプで駆動されるさらに別のランダム・アクセス
・メモリの略図、第12図はエサーネツト・バケツトの略
図。 10:システム・バス;15:システム・バス・インターフエ
ース;20、245、300、400、505:カウンタ;25、325、42
5、525:COUNT RAM;30、535:マルチプレクサ;35、210、2
35、260、340、435、545:COMP RAM;40、280、350、44
5、555:バンク;45:FIFOバツフア;50:バス・インタフエ
ース;200、225、255、310、410、515:データ連鎖;205、
230、540:アドレス選択線;210、240、275、345、440、5
50:データ出力線;265、320、420:低次アドレス選択線;2
70、330、430:高次アドレス選択線;510:連鎖終了装置。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】伝送媒体から信号を入力し該信号からデー
    タ単位の連鎖を発生するインタフェース手段と、前記イ
    ンタフェース手段に接続され、前記インタフェース手段
    が読み取った前記連鎖に施すべき所定のフィルタを並列
    に格納する所定数の区画を有しかつ該フィルタによる比
    較結果を表す出力信号を発生する比較手段と、前記イン
    タフェース手段と前記比較手段とに接続され、前記連鎖
    における各前記データ単位の順序位置をカウントし、前
    記各データ単位をそれぞれの順序位置の関数として所定
    の前記区画にマップして前記連鎖に施すべき所定のフィ
    ルタを決定するための出力信号を発生するメモリ・マッ
    プ手段と、前記比較手段に接続され、該比較手段の発生
    する前記比較結果を表す出力信号を記憶するラッチ手段
    とから構成される状態機械において、 前記ラッチ手段は真に設定された後偽である前記比較結
    果を表す出力信号により偽に設定されると、それ以後の
    前記比較結果を表す出力信号の真偽に関わらず外部より
    真に再設定されるまで偽に設定され続けるという特徴を
    有する トラップ機械。
  2. 【請求項2】前記メモリ・マップ手段が連鎖の長さを出
    力し前記比較手段が該連鎖の長さに施すフィルタを有
    し、前記ラッチ手段が該フィルタの出力信号を記憶する
    特許請求の範囲第1項記載のトラップ機械。
JP61271627A 1985-11-14 1986-11-14 トラツプ機械 Expired - Fee Related JPH07112194B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US798055 1985-11-14
US06/798,055 US4754420A (en) 1985-11-14 1985-11-14 Digital data filter for local area network

Publications (2)

Publication Number Publication Date
JPS62115938A JPS62115938A (ja) 1987-05-27
JPH07112194B2 true JPH07112194B2 (ja) 1995-11-29

Family

ID=25172423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61271627A Expired - Fee Related JPH07112194B2 (ja) 1985-11-14 1986-11-14 トラツプ機械

Country Status (5)

Country Link
US (1) US4754420A (ja)
EP (1) EP0223458B1 (ja)
JP (1) JPH07112194B2 (ja)
CA (1) CA1277772C (ja)
DE (1) DE3688317T2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146560A (en) * 1988-05-31 1992-09-08 Digital Equipment Corporation Apparatus for processing bit streams
EP0344915B1 (en) * 1988-05-31 1997-06-11 Digital Equipment Corporation Apparatus and method for processing bit streams
US5163047A (en) * 1989-09-15 1992-11-10 At&T Bell Laboratories Time division multiplex system and method having a time slot reuse capability
US5343471A (en) * 1992-05-11 1994-08-30 Hughes Aircraft Company Address filter for a transparent bridge interconnecting local area networks
WO1994001950A1 (en) * 1992-07-07 1994-01-20 Evtech Pty. Ltd. Computer/telephone interface apparatus
DE69323283T2 (de) * 1992-10-14 1999-08-12 Bayer Corp., Agfa Division, Wilmington, Ma. Verfahren und Anordnung zur Erkennung von Bit-Sequenzen in Datenströmen
US5590159A (en) * 1995-02-07 1996-12-31 Wandel & Goltermann Technologies, Inc. Digital data sequence pattern filtering
US6925572B1 (en) * 2000-02-28 2005-08-02 Microsoft Corporation Firewall with two-phase filtering
US6901354B2 (en) * 2001-09-27 2005-05-31 Intel Corporation Method and apparatus for command perception by data value sequencing, allowing finite amount of unrelated interim data
US6918037B2 (en) * 2001-09-27 2005-07-12 Intel Corporation Method and apparatus for command perception by data value sequencing, allowing a bounded total amount of spurious data
US7308561B2 (en) * 2003-12-12 2007-12-11 Alcatel Lucent Fast, scalable pattern-matching engine

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4891935A (ja) * 1972-03-08 1973-11-29
US3881101A (en) * 1974-01-04 1975-04-29 Texas Instruments Inc Correlator method and system for identifying sequences of pulses
FR2293741A1 (fr) * 1974-12-04 1976-07-02 Anvar Procede et systeme de rapprochement iteratif et simultane de donnees avec un ensemble de donnees de reference
FR2459512A1 (fr) * 1979-06-19 1981-01-09 Vidalin Jacques Procede pour la commande de rapprochement a effectuer entre des entites logiques de reference et des entites logiques issues d'un fichier
US4524427A (en) * 1982-08-04 1985-06-18 The University Of Bordeaux 1 Method for making comparisons between reference logical entities and logical entities proceeding from a file
US4525803A (en) * 1982-08-12 1985-06-25 L'universite De Bordeaux 1 Method for controlling the comparison to be effected between reference logical entities and logical entities issuing from a file
US4575864A (en) * 1983-03-07 1986-03-11 E-Systems, Inc. Digital programmable packet switch synchronizer
EP0124238A3 (en) * 1983-05-02 1987-05-06 Tektronix, Inc. Memory-based digital word sequence recognizer

Also Published As

Publication number Publication date
US4754420A (en) 1988-06-28
EP0223458A2 (en) 1987-05-27
JPS62115938A (ja) 1987-05-27
CA1277772C (en) 1990-12-11
DE3688317D1 (de) 1993-05-27
EP0223458B1 (en) 1993-04-21
DE3688317T2 (de) 1993-11-25
EP0223458A3 (en) 1989-03-15

Similar Documents

Publication Publication Date Title
US6862699B2 (en) Apparatus for testing functions of communication apparatus
US8175095B2 (en) Systems and methods for sending data packets between multiple FPGA devices
KR100216857B1 (ko) 내용 어드레스 메모리 장치
US20030110344A1 (en) Communications systems, apparatus and methods
JP2003508954A (ja) ネットワーク・スイッチ及びコンポーネント及び操作方法
JPH07112194B2 (ja) トラツプ機械
JP2003508967A (ja) ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ
JPH081623B2 (ja) データ端末装置を通信回路網に接続する装置
JPH11127198A (ja) パケット網の使用に関する情報を収集する方法及び装置
EP0223460B1 (en) Real-time end of packet signal generator
US5500855A (en) Realtime event classification for a data communications network
JPH08307407A (ja) デジタル・データ・シーケンス・パターンのフィルタリング
CN106059927B (zh) 一种星型结构的有限级联自动重构网络路由设备及其网络
CN1147676A (zh) 先进先出存储器
CN106603442A (zh) 一种片上网络的跨时钟域高速数据通信接口电路
US6543027B1 (en) On-chip detection of clock gitches by examination of consecutive data
JPH06504172A (ja) データ送信プロセスと分散形コンピュータ・ノードを有するデータ処理システム
CN114785396B (zh) 逻辑端口配置、查找映射及流量管理方法、系统及终端
US6256718B1 (en) Protocol-based memory system for initializing bus interfaces using device identifiers after memory sizes are increased
EP0739561A1 (en) Apparatus and method for selectively storing error statistics
JPH0514458B2 (ja)
US8165025B2 (en) Method and apparatus for generating a unique packet identifier
Shibanov A software implementation technique for simulation of ethernet local area networks
EP0344915B1 (en) Apparatus and method for processing bit streams
Lee et al. Protocol pruning

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees