(57)【要約】【課題】複数のＣＡＭによるオートストア処理を容易に行うことができるようにする。【解決手段】各ＣＡＭ１１１には、１個の出力端子１２１と、４個の入力端子１２２Ａ乃至１２２Ｄが設けられている。４個の入力端子１２２の中の、ＣＡＭ１１１の優先度に応じた１個は、常に論理値０が入力されるように、プルダウンされている。また入力端子１２２の中の他の３個は、他のＣＡＭ１１１の出力端子に接続されている。各ＣＡＭ１１１は、オートストア処理を開始するのに先立ち、そのとき入力端子１２２Ａ乃至１２２Ｄからの初期信号および論理値０より構成される入力信号［ＡＢＣＤ］より、自分自身より優先度の高いＣＡＭ１１１からの出力を入力する入力端子１２２を認知する。各ＣＡＭ１１１は、その認知結果に基づいて、オートストア処理を行う。【選択図】        図１２
2004328095.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個の他の検索装置と接続されて、検索システムを構成する検索装置において、
自分自身が有する記憶部から、検索データに対応する記憶部を検索する検索手段と、
前記他の検索装置に対する初期信号の出力を制御する第１の出力制御手段と、
前記検索手段により前記検索データに対応する記憶部が検索されたか否かを表す検索結果信号の前記他の検索装置に対する出力を制御する第２の出力制御手段と、
前記他の検索装置に接続され、前記他の検索装置からの前記検索結果信号または初期信号を入力するＮ個の第１の入力手段と、
基準信号を入力する第２の入力手段と、
前記初期信号と前記基準信号が、所定の優先順位に応じて配置された優先順位信号を取得する取得手段と、
前記優先順位信号に基づいて、前記基準信号に対応する優先順位より高い優先順位の前記初期信号を入力した前記第１の入力手段を検出する検出手段と、
前記検出手段により検出された前記第１の入力手段により入力された前記検索結果信号の内容に応じて、前記検索手段により検索された前記記憶部から、所定の記憶部を検出し、前記検索システム全体の検索結果として出力する出力手段と、
前記第１の入力手段により入力された前記検索結果信号に基づいて、前記他の検索装置のすべてにおいて前記検索データに対応する記憶部が検索されなかったことを判定し、前記他の検索装置のすべてにおいて前記検索データに対応する記憶部が検索されなかったとき、所定の処理を実行する実行手段と
を備えることを特徴とする検索装置。
【請求項２】
自分自身が有する記憶部から、検索データに対応する記憶部を検索する検索手段と、
前記他の検索装置に対する初期信号の出力を制御する第１の出力制御手段と、
前記検索手段により前記検索データに対応する記憶部が検索されたか否かを表す検索結果信号の前記他の検索装置に対する出力を制御する第２の出力制御手段と、
前記他の検索装置に接続され、前記他の検索装置からの前記検索結果信号または初期信号を入力するＮ個の第１の入力手段と、
基準信号を入力する第２の入力手段と
を備え、Ｎ個の他の検索装置と接続されて、検索システムを構成する検索装置の検索方法において、
前記初期信号と前記基準信号が、所定の優先順位に応じて配置された優先順位信号を取得する取得ステップと、
前記優先順位信号に基づいて、前記基準信号に対応する優先順位より高い優先順位の前記初期信号を入力した前記第１の入力手段を検出する検出ステップと、
前記検出ステップの処理で検出された前記第１の入力手段により入力された前記検索結果信号の内容に応じて、前記検索ステップの処理で検索された前記記憶部から、所定の記憶部を検出し、前記検索システム全体の検索結果として出力する出力ステップと、
前記第１の入力手段により入力された前記検索結果信号に基づいて、前記他の検索装置のすべてにおいて前記検索データに対応する記憶部が検索されなかったことを判定し、前記他の検索装置のすべてにおいて前記検索データに対応する記憶部が検索されなかったとき、所定の処理を実行する実行ステップと
を含むことを特徴とする検索方法。
【請求項３】
自分自身が有する記憶部から、検索データに対応する記憶部を検索する検索手段と、
前記他の検索装置に対する初期信号の出力を制御する第１の出力制御手段と、
前記検索手段により前記検索データに対応する記憶部が検索されたか否かを表す検索結果信号の前記他の検索装置に対する出力を制御する第２の出力制御手段と、
前記他の検索装置に接続され、前記他の検索装置からの前記検索結果信号または初期信号を入力するＮ個の第１の入力手段と、
基準信号を入力する第２の入力手段と
を備え、Ｎ個の他の検索装置と接続されて、検索システムを構成する検索装置のプログラムであって、
前記初期信号と前記基準信号が、所定の優先順位に応じて配置された優先順位信号を取得する取得ステップと、
前記優先順位信号に基づいて、前記基準信号に対応する優先順位より高い優先順位の前記初期信号を入力した前記第１の入力手段を検出する検出ステップと、
前記検出ステップの処理で検出された前記第１の入力手段により入力された前記検索結果信号の内容に応じて、前記検索ステップの処理で検索された前記記憶部から、所定の記憶部を検出し、前記検索システム全体の検索結果として出力する出力ステップと、
前記第１の入力手段により入力された前記検索結果信号に基づいて、前記他の検索装置のすべてにおいて前記検索データに対応する記憶部が検索されなかったことを判定し、前記他の検索装置のすべてにおいて前記検索データに対応する記憶部が検索されなかったとき、所定の処理を実行する実行ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項４】
自分自身が有する記憶部から、検索データに対応する記憶部を検索する検索手段と、
前記他の検索装置に対する初期信号の出力を制御する第１の出力制御手段と、
前記検索手段により前記検索データに対応する記憶部が検索されたか否かを表す検索結果信号の前記他の検索装置に対する出力を制御する第２の出力制御手段と、
前記他の検索装置に接続され、前記他の検索装置からの前記検索結果信号または初期信号を入力するＮ個の第１の入力手段と、
基準信号を入力する第２の入力手段と
を備え、Ｎ個の他の検索装置と接続されて、検索システムを構成する検索装置のプログラムであって、
前記初期信号と前記基準信号が、所定の優先順位に応じて配置された優先順位信号を取得する取得ステップと、
前記優先順位信号に基づいて、前記基準信号に対応する優先順位より高い優先順位の前記初期信号を入力した前記第１の入力手段を検出する検出ステップと、
前記検出ステップの処理で検出された前記第１の入力手段により入力された前記検索結果信号の内容に応じて、前記検索ステップの処理で検索された前記記憶部から、所定の記憶部を検出し、前記検索システム全体の検索結果として出力する出力ステップと、
前記第１の入力手段により入力された前記検索結果信号に基づいて、前記他の検索装置のすべてにおいて前記検索データに対応する記憶部が検索されなかったことを判定し、前記他の検索装置のすべてにおいて前記検索データに対応する記憶部が検索されなかったとき、所定の処理を実行する実行ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、検索装置および方法、記録媒体、並びにプログラムに関し、複数の連想メモリを適切に利用することができるようにした検索装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
図１は、連想メモリ（Ａｓｓｏｃｉａｔｉｖｅ  Ｍｅｍｏｒｙ，内容アドレス式メモリ；Ｃｏｎｔｅｎｔ  ＡｄｄｒｅｓｓａｂｌｅＭｅｍｏｒｙ（ＣＡＭ））１の構成例を示している。
【０００３】
入力制御部１１は、外部から入力された、例えば、検索のためのデータ（検索データ）をラッチして、マスクレジスタ１２に供給する。
【０００４】
マスクレジスタ１２は、入力制御部１１から入力されたマスクデータ選択信号により、検索に関与させないデータ部分にマスクをかけるために、自分自身が記憶するマスクデータをＣＡＭブロック１３に供給する。
【０００５】
ＣＡＭブロック１３には、図２に示すように、ｍビットの複数のワードメモリ２１−１，２１−２，・・・（以下、個々に区別する必要がない場合、ワードメモリ２１と称する。他の場合も同様である）が設けられている。このワードメモリ２１には、例えば、検索されるデータ（格納データ）、およびその格納データを検索の対象とするまたは対象としない旨を表す論理値（以下、エンプティビットと称する）を格納することができる（エントリすることができる）。
【０００６】
なお、格納データを検索の対象としない旨を表すエンプティビットが設定されると、ワードメモリ２１は、ＣＡＭ１に新たなデータを格納する際、格納可能なワードメモリ２１として取り扱われるので、そのエンプティビットを設定することは、格納データを削除する（ワードメモリ２１を空き状態にする）ことを意味する。
【０００７】
またこの例の場合、格納データを検索の対象とする（ワードメモリ２１は空き状態ではない）旨を表すエンプティビットは、論理値０であり、格納データを検索の対象としない（ワードメモリ２１は空き状態である）旨を表すエンプティビットは、論理値１である。
【０００８】
図１に戻り、ＣＡＭブロック１３と出力制御部１６の間には、ＣＡＭブロック１３のワードメモリ２１のそれぞれに対応する複数の信号線１４（図中、簡単のために１本の線で示されている）が設けられている。制御部１７より、空き状態のワードメモリ２１の検索（以下、エンプティアドレス検索と称する）の指令を受けると、ＣＡＭブロック１３は、エンプティビットが「ワードメモリ２１は空き状態ではない」旨を示す論理値０のワードメモリ２１の信号線１４から、その旨を示す論理値（論理値１）を、出力制御部１６に出力する。また、ＣＡＭブロック１３は、エンプティビットが「ワードメモリ２１は空き状態である」旨を示す論理値１のワードメモリ２１の信号線１４から、その旨を示す論理値（論理値０）を、出力制御部１６に出力する。
【０００９】
ＣＡＭブロック１３と出力制御部１６の間には、ワードメモリ２１のそれぞれに対応する複数の信号線１５（図中、簡単のために１本の線で示されている）がさらに設けられている。
【００１０】
制御部１７より、検索データに基づくワードメモリ２１の検索（以下、ヒットアドレス検索と称する）の指令を受けると、ＣＡＭブロック１３は、エンプティビットが「ワードメモリ２１は空き状態ではない」旨を示す論理値０であって、検索データの、マスクレジスタ１２によりマスクがかけられていない部分と一致するビットパターンを有する格納データが格納されているワードメモリ２１の信号線１５から、ヒットした旨を表す論理値（例えば、論理値０）を、出力制御部１６に出力する。またＣＡＭブロック１３は、エンプティビットが「ワードメモリ２１は空き状態ではない」旨を示す論理値０であるが、検索データの、マスクレジスタ１２によりマスクがかけられていない部分と一致するビットパターンを有する格納データが格納されていないワードメモリ２１またはエンプティビットが「ワードメモリ２１は空き状態である」旨を示す論理値１のワードメモリ２１の信号線１５から、ヒットしない（ミスヒットした）旨を表す論理値（例えば、論理値１）を、出力制御部１６に出力する。
【００１１】
ＣＡＭブロック１３は、ヒットアドレス検索の際、その検索の結果（ヒットしたまたはミスヒットした旨）を、制御部１７に適宜通知する。
【００１２】
出力制御部１６は、制御部１７から、エンプティアドレス検索の指令を受けると、「ワードメモリ２１は空き状態である」旨を示す論理値を出力してきた信号線１４に対応するワードメモリ２１のアドレスの中から、優先度の最も高い（例えば、最も小さい）アドレスを検出し、アドレスＨＥＡ（Ｈｉｇｈｅｓｔ  Ｅｍｐｔｙ  Ａｄｄｒｅｓｓ）として出力する。
【００１３】
出力制御部１６はまた、制御部１７から、ヒットアドレス検索の指令を受けると、ヒットした旨を表す論理値を出力してきた信号線１５に対応するワードメモリ２１のアドレスの中から、優先度の最も高い（この例の場合、最も小さい）アドレスを検出し、アドレスＨＨＡ（Ｈｉｇｈｅｓｔ  Ｈｉｔ  Ａｄｄｒｅｓ）として出力する。
【００１４】
制御部１７は、外部からの制御信号に従って各部を制御する。例えば、制御部１７は、ＣＡＭブロック１３および出力制御部１６を制御して、エンプティアドレス検索、または入力制御部１１により入力された検索データに基づくヒットアドレス検索を行わせる。制御部１７は、ＣＡＭブロック１３から入力されたヒットアドレス検索の結果を、適宜外部に出力する。
【００１５】
制御部１７は、ＣＡＭブロック１３を制御して、エンプティアドレス検索またはヒットアドレス検索により得られたアドレスＨＥＡまたはアドレスＨＨＡのワードメモリ２１に、入力制御部１１により入力されたデータを格納させることができる。このとき制御部１７は、マスクレジスタ１２のマスクデータを利用して、ワードメモリ２１の所定部分に入力データを格納することができる（すなわちワードメモリ２１の所定部分を変更することができる）。
【００１６】
なお制御部１７は、通常のＲＡＭのように、ＣＡＭブロック１３および出力制御部１６を制御して、入力制御部１１により入力されたアドレスに対応するワードメモリ２１から、格納データを読み出させたり、入力制御部１１によりさらに入力されたデータを、そのアドレスのワードメモリ２１に書き込ませることもできる。
【００１７】
図３は、上述したＣＡＭ１を利用したネットワークフレーム中継器３１の構成例を示している（特許文献参照）。この中継器３１には、２個のネットワーク３２−１，３２−２が接続されている。ネットワーク３２−１には、３個の端末３３−１１乃至３３−１３が接続され、ネットワーク３２−２には、３個の端末３３−２１乃至３３−２３が接続されている。中継器３１は、端末３３間のネットワークフレームの送受信を中継する、いわゆるハブである。
【００１８】
中継器３１のＣＰＵ４１は、パケットメモリ４２、ＣＡＭ１、ＲＡＭ４３、およびポートコントローラ４５−１，４５−２と、バス４６を介して接続され、各部を制御する。
【００１９】
パケットメモリ４２は、送信されてきたネットワークフレームのパケットを一時的に蓄積する。
【００２０】
ＣＡＭ１（ＣＡＭブロック１３）のワードメモリ２１には、この場合、図４に示すように、端末３３−１１乃至３３−１３および端末３３−２１乃至３３−２３のネットワーク上のアドレスとタイムスタンプが格納されている。
【００２１】
中継器３１は、図５に示すように、ｐ個のタイムスロットの番号を所定時間間隔で順に切り換えることで時間を管理するが、タイムスタンプとは、そのタイムスロットの番号１，２，…，ｐである。なお、このタイムスタンプの利用方法については後述する。
【００２２】
図３に戻り、ＲＡＭ４３には、各端末３３がどのポート４７を経由した先に接続されているかを示すポート番号が格納されている。なお、ＲＡＭ４３には、その詳細な説明は省略するが、ＶＬＡＮ（ＶｉｒｔｕａｌＬＡＮ；仮想ＬＡＮ）に関するデータや、中継器３１のハードウェアが参照するデータなどが格納されている。
【００２３】
ＣＡＭ１の各ワードメモリ２１のアドレスとＲＡＭ４３の各メモリ領域のアドレスは信号線４４で互いに対応づけられている。
【００２４】
ＣＡＭ１は、検索機能が付加されたものであるため、通常のＲＡＭと比べビット単価が高く、メモリ容量が比較的小さいので、この例のように、ＣＡＭ１とＲＡＭ４３を併用することができる。
【００２５】
２個のポートコントローラ４５−１，４５−２は、ポート４７−１，４７−２を介してネットワーク３２−１，３２−２に接続されており、ＣＰＵ４１から供給されたデータを、ネットワーク３２を介して所定の端末３３に送信したり、端末３３から送信されてきたデータを受信して、ＣＰＵ４１に供給する。
【００２６】
次に、図６のフローチャートを参照して、中継器３１の動作を説明する。
【００２７】
ステップＳ１において、ＣＰＵ４１は、ＣＡＭ１を制御して、エンプティアドレス検索とともに、空き状態のワードメモリ２１を確保する処理を開始させる。
【００２８】
これによりＣＡＭ１は、空き状態のワードメモリ２１（エンプティビットが「ワードメモリ２１は空き状態である」旨を示すワードメモリ２１）を検索するとともに、検索したワードメモリ２１のアドレスのうち、優先度が最も高いアドレス（最も小さいアドレス）を検出し、アドレスＨＥＡとして出力する処理（エンプティアドレス検索）を開始する。ＣＡＭ１はまた、ＣＰＵ４１から適宜供給される、現時点のタイムスロットより前のタイムスロットの番号（タイムスタンプ）が格納されているワードメモリ２１を検索するとともに、検索したワードメモリ２１のエンプティビットを「ワードメモリ２１は空き状態である」旨を表す論理値に変更する処理（所定のワードメモリ２１の格納データを削除して、空き状態のワードメモリ２１を確保する処理）を開始する。
【００２９】
次に、ステップＳ２において、ＣＰＵ４１は、ポートコントローラ４５よりバス４６を介してネットワークフレームが入力されるまで待機し、それが入力されたとき、ステップＳ３に進む。
【００３０】
ステップＳ３において、ＣＰＵ４１は、入力されたネットワークフレームを、一旦パケットメモリ４２に蓄積させるとともに、蓄積したネットワークフレームのヘッダの部分からデータの転送先（送信先）を示すディスティネーションアドレスＤＡを抽出する。そしてＣＰＵ４１は、ＣＡＭ１を制御して、そのディスティネーションアドレスＤＡを検索データとするヒットアドレス検索を行わせる。
【００３１】
なお、ネットワークフレームのヘッダ部分には、ディスティネーションアドレスＤＡ、および送信元を示すソースアドレスＳＡなどが記憶されている。
【００３２】
ＣＡＭ１は、ＣＰＵ４１から供給された検索データ（いまの場合、アドレスＤＡ）によるヒットアドレス検索を行う。ＣＡＭ１は、そのヒットアドレス検索でアドレスＨＨＡを検出できた場合、ヒットした旨を、ＣＰＵ１に通知するとともに、アドレスＨＨＡを、信号線４４を介してＲＡＭ４３に出力する。なお、送信先となる端末３３のアドレスは、ＣＡＭ１（ＣＡＭブロック１３）のワードメモリ２１に格納されているものとする。
【００３３】
ＣＰＵ４１は、ＲＡＭ４３から、ＣＡＭ１により検出されたアドレスＨＨＡに対応するメモリ領域に記憶されているポート番号を読み出す。
【００３４】
次に、ステップＳ４において、ＣＰＵ４１は、ステップＳ３で読み出したポート番号に対応するポート４７およびネットワーク３２を介して、ステップＳ２で入力されたネットワークフレームを送信先の端末３３に送信する。
【００３５】
ステップＳ５において、ＣＰＵ４１は、パケットメモリ４２に蓄積されたネットワークフレームから、送信元を示すソースアドレスＳＡを抽出するともに、ＣＡＭ１を制御して、それを検索データとするヒットアドレス検索を行わせる。
【００３６】
これによりＣＡＭ１は、ＣＰＵ４１からの検索データ（いまの場合、アドレスＳＡ）に基づくヒットアドレス検索を行い、その結果を、ＣＰＵ４１に通知する。
【００３７】
ステップＳ６において、ＣＰＵ４１は、ＣＡＭ１からの通知に基づいて、アドレスＨＨＡが検出されたか否かを判定し、検出されたと判定した場合（送信元のアドレスＳＡがワードメモリ２１に格納されていた場合）、ステップＳ７に進む。
【００３８】
ステップＳ７において、ＣＰＵ４１は、ＣＡＭ１を制御して、タイムスタンプを更新させる。これによりＣＡＭ１は、アドレスＨＨＡに対応するワードメモリ２１のタイムスタンプを、ＣＰＵ４１から供給される現時点のタイムスタンプに書き換える。このように送信元の端末３３（中継器３１を利用した端末３３）のタイムスタンプが最新のものに書き換えられると、ステップＳ１の処理で、その端末３３のネットワーク上のアドレスは削除されない。従ってステップＳ１の処理では、中継器３１を最近利用しない端末３３のアドレスが削除されて、空き状態のワードメモリ２１が確保される。
【００３９】
ステップＳ６で、アドレスＨＨＡが検出されなかったと判定された場合、ステップＳ８に進み、ＣＰＵ４１は、ＣＡＭ１を制御して、送信元のソースアドレスＳＡと現時点のタイムスタンプを格納させる。
【００４０】
これによりＣＡＭ１は、ステップＳ１の処理で検出されたアドレスＨＥＡのワードメモリ２１（空き状態のワードメモリ２１）に、ＣＰＵ４１から供給されたソースアドレスＳＡと現時点のタイムスタンプを格納する。ＣＰＵ４１はこのとき、ＲＡＭ４３のアドレスＨＥＡに対応するメモリ領域に、入力されたネットワークフレームのポート番号を記憶させる。
【００４１】
ステップＳ７またはステップＳ８の処理がなされると、ステップＳ２に戻り、それ以降の処理が繰り返し行われる。
【００４２】
ところで、図３の例では、格納する格納データが、６個の端末３３のネットワークアドレスとタイムスタンプであり、比較的少ないものであったが、中継する端末３３の数が増え、格納データのデータ量が大きくなると（エントリの数が増えると）、１個のＣＡＭ１で管理することができなくなる。この場合、例えば、図７に示すように、複数のＣＡＭ１（図７の例の場合、４個のＣＡＭ１−１乃至１−４）がカスケード接続（詳細は後述する）されて利用される。なお、ここでは、ＣＡＭ１−１乃至１−４全体を、適宜、接続ＣＡＭ２と称する。
【００４３】
接続ＣＡＭ２を構成するＣＡＭ１−１乃至１−４の各ワードメモリ２１のアドレスは、図８に示すように、ＣＡＭ１−１からＣＡＭ１−４の順番で設定されている。すなわちＣＡＭ１単位でみれば、ＣＡＭ１−１は、優先度が最も高いアドレスを有しており、ＣＡＭ１−２は、ＣＡＭ１−１に次ぐ優先度の、ＣＡＭ１−３は、ＣＡＭ１−２に次ぐ優先度の、そしてＣＡＭ１−４は、優先度が最も低いアドレスを有している。
【００４４】
この場合も、エンプティアドレス検索またはヒットアドレス検索により接続ＣＡＭ２全体として、１つのアドレスＨＨＡまたはアドレスＨＥＡが出力されるが、その検出については、ＣＡＭ１は、結局、ＣＡＭ１−１、ＣＡＭ１−２、ＣＡＭ１−３、そしてＣＡＭ１−４の順番の優先度（優先順位）を有していることになる。
【００４５】
ここで接続ＣＡＭ２の主な動作を説明する。接続ＣＡＭ２がエンプティアドレス検索（図６のステップＳ１）を行う場合、各ＣＡＭ１は、エンプティアドレス検索を行うとともに、その検索結果を、図７の信号線６１に示すように、自分自身より優先度が低いＣＡＭ１に送信する。すなわちＣＡＭ１−１の検索結果は、ＣＡＭ１−２（信号線６１−３）、ＣＡＭ１−３（信号線６１−２）、およびＣＡＭ１−４（信号線６１−１）に送信される。ＣＡＭ１−２の検索結果は、ＣＡＭ１−３（信号線６１−５）、およびＣＡＭ１−４（信号線６１−４）に送信される。ＣＡＭ１−３の検索結果は、ＣＡＭ１−４（信号線６１−６）に送信される。
【００４６】
そして各ＣＡＭ１は、自分自身よりも優先度が高いＣＡＭ１の検索結果に応じて、アドレスＨＥＡを検出して出力する。
【００４７】
具体的には、ＣＡＭ１−１は、優先度が最も高いので、自分自身のＣＡＭブロック１３から空き状態のワードメモリ２１を検索することができた場合、検索したそのワードメモリ２１のアドレスからアドレスＨＥＡを検出して出力する。すなわちこの場合、ＣＡＭ１−１のアドレスＨＥＡが、接続ＣＡＭ２のアドレスＨＥＡとして出力される。
【００４８】
ＣＡＭ１−２は、ＣＡＭ１−１により空き状態のワードメモリ２１が検索されれば、自分自身のＣＡＭブロック１３から空き状態のワードメモリ２１が検索されても、アドレスＨＥＡを出力しない。一方ＣＡＭ１−１により空き状態のワードメモリ２１が検索されなかったとき、ＣＡＭ１−３は、自分自身が検索した空き状態のワードメモリ２１のアドレスからアドレスＨＥＡを検出して出力する。すなわちこの場合、ＣＡＭ１−２のアドレスＨＥＡが、接続ＣＡＭ２のアドレスＨＥＡとして出力される。
【００４９】
ＣＡＭ１−３は、ＣＡＭ１−１，１−２のいずれかにより空き状態のワードメモリ２１が検索されれば、自分自身のＣＡＭブロック１３から空き状態のワードメモリ２１が検索されても、アドレスＨＥＡを出力しない。一方ＣＡＭ１−１，１−２のいずれによっても空き状態のワードメモリ２１が検索されなかったとき、ＣＡＭ１−３は、自分自身が検索した空き状態のワードメモリ２１のアドレスからアドレスＨＥＡを検出して出力する。すなわちこの場合、ＣＡＭ１−３のアドレスＨＥＡが、接続ＣＡＭ２のアドレスＨＥＡとして出力される。
【００５０】
ＣＡＭ１−４は、ＣＡＭ１−１，１−２，１−３のいずれかにより空き状態のワードメモリ２１が検索されれば、自分自身のＣＡＭブロック１３から空き状態のワードメモリ２１が検索されても、アドレスＨＥＡを出力しない。一方ＣＡＭ１−１，１−２，１−３のいずれによっても空き状態のワードメモリ２１が検索されなかったとき、ＣＡＭ１−４は、自分自身が検索したワードメモリ２１のアドレスからアドレスＨＥＡを検出して出力する。すなわちこの場合、ＣＡＭ１−４のアドレスＨＥＡが、接続ＣＡＭ２のアドレスＨＥＡとして出力される。
【００５１】
このようにして接続ＣＡＭ２全体のアドレスＨＥＡが検出される。なお、このように検出されたアドレスＨＥＡは、信号線４４を介して、ＲＡＭ４３にも供給される。
【００５２】
また、接続ＣＡＭ２がヒットアドレス検索（図６のステップＳ５）を行う場合、ＣＡＭ１のそれぞれは、ＣＰＵ４１からの検索データ（ソースアドレスＳＡ）に基づくヒットアドレス検索を行い、その検索結果を、図７に示す信号線７１が示すように、自分自身より優先度の高いＣＡＭ１、および優先度の低いＣＡＭ１の両方に送信する（他のＣＡＭ１に送信する）。
【００５３】
すなわちＣＡＭ１−１の検索結果は、ＣＡＭ１−２（信号線７１−３）、ＣＡＭ１−３（信号線７１−２）、およびＣＡＭ１−４（信号線７１−１）に送信される。ＣＡＭ１−２の検索結果は、ＣＡＭ１−１（信号線７１−３）、ＣＡＭ１−３（信号線７１−５）、およびＣＡＭ１−４（信号線７１−４）に送信される。ＣＡＭ１−３の検索結果は、ＣＡＭ１−１（信号線７１−２）、ＣＡＭ１−２（信号線７１−５）、およびＣＡＭ１−４（信号線７１−６）に送信される。そしてＣＡＭ１−４の検索結果は、ＣＡＭ１−１（信号線７１−１）、ＣＡＭ１−２（信号線７１−４）、およびＣＡＭ１−３（信号線７１−６）に送信される。
【００５４】
そして各ＣＡＭ１は、自分自身より優先度の高いＣＡＭ１の検索結果に応じて、アドレスＨＨＡを検出して出力する。
【００５５】
具体的には、ＣＡＭ１−１は、自分自身の検索の結果、ヒットした場合、ＣＡＭ１−２乃至ＣＡＭ１−４での検索結果にかかわらず（それらにおいてヒットがあっても）、検索したワードメモリ２１のアドレスからアドレスＨＨＡを検出して出力する。
【００５６】
ＣＡＭ１−２は、ＣＡＭ１−１がヒットすれば、自分自身がヒットしても、アドレスＨＨＡを出力しない。一方、ＣＡＭ１−１がミスヒットしたとき、ＣＡＭ１−２は、自分自身が検索したワードメモリ２１のアドレスからアドレスＨＨＡを検出し出力する。
【００５７】
ＣＡＭ１−３は、ＣＡＭ１−１，１−２のいずれかがヒットすれば、自分自身がヒットしても、アドレスＨＨＡを出力しない。一方ＣＡＭ１−１，１−２のいずれもがミスヒットしたとき、ＣＡＭ１−３は、自分自身が検索したワードメモリ２１のアドレスからアドレスＨＨＡを検出し出力する。
【００５８】
ＣＡＭ１−４は、ＣＡＭ１−１，１−２，１−３のいずれかがヒットすれば、自分自身がヒットしても、アドレスＨＨＡを出力しない。一方ＣＡＭ１−１，１−２，１−３のいずれもがミスヒットしたとき、ＣＡＭ１−４は、自分自身が検索したワードメモリ２１のアドレスからアドレスＨＨＡを検出し出力する。
【００５９】
このようにして接続ＣＡＭ２全体のアドレスＨＨＡが検出される。なお、このように検出されたアドレスＨＨＡは、信号線４４を介して、ＲＡＭ４３にも供給される。
【００６０】
また、接続ＣＡＭ２は、全体として１つのアドレスＨＨＡが検出され、そのアドレスＨＨＡに対応するワードメモリ２１のタイムスタンプを更新する場合（図６のステップＳ７）、上述したようにアドレスＨＨＡを検出したＣＡＭ１が、そのアドレスＨＨＡに対応するワードメモリ２１のタイムスタンプを更新する。
【００６１】
また、接続ＣＡＭ２は、全体としてアドレスＨＨＡが検出されず、アドレスＨＥＡに、ソースアドレスＳＡと現時点のタイムスタンプを格納する場合（ステップＳ８）、上述したようにアドレスＨＥＡを検出したＣＡＭ１が、そのアドレスＨＥＡのワードメモリ２１に、ソースアドレスＳＡ等を格納する。
【００６２】
このようにして、ヒットアドレス検索（ステップＳ５）、およびその検索結果に基づくタイムスタンプの更新（ステップＳ７）またはソースアドレスＳＡ等の格納が行われる（ステップＳ８）。なお、以下において、この３つの処理をまとめて、適宜、オートストア処理と称する。
【００６３】
【特許文献】
特開平１０−２５５４８５号公報
【００６４】
【発明が解決しようとする課題】
しかしながら、図７に示したＣＡＭ１と信号線７１は、図９に示すように複雑に接続されている。
【００６５】
この接続のために、各ＣＡＭ１には、１個の出力端子８１、３個の入力端子８２Ａ乃至８２Ｃ、および３個の入力端子８３Ａ乃至８３Ｃが設けられている。出力端子８１からは、ヒットアドレス検索の結果が出力され、入力端子８２には、自分自身より優先度が高いＣＡＭ１でのヒットアドレス検索結果が入力され、入力端子８３には、自分自身より優先度が低いＣＡＭ１でのヒットアドレス検索結果が入力される。
【００６６】
個々のＣＡＭ１について説明する。ＣＡＭ１−１の出力端子８１−１は、ＣＡＭ１−２，１−３，１−４の入力端子８２−２Ｃ，８２−３Ｃ，８２−４Ｃに接続され、ＣＡＭ１−１でのヒットアドレス検索の結果（論理値１または０）をそれらに出力する。ＣＡＭ１−１より優先度が高いＣＡＭ１が存在しないので、ＣＡＭ１−１の入力部端子８２−１Ａ乃至８２−１Ｃは、その入力を無視するためにプルアップされている。入力端子８３−１Ａ，８３−１Ｂ，８３−１Ｃは、ＣＡＭ１−２，１−３，１−４の出力端子８１−２，８１−３，８１−４に接続され、そこでの検索結果を入力する。
【００６７】
ＣＡＭ１−２の出力端子８１−２は、ＣＡＭ１−１，１−３，１−４の入力端子８３−１Ａ，８２−３Ｂ，８２−４Ｂと接続され、ＣＡＭ１−２でのヒットアドレス検索の結果（論理値１または０）をそれらに出力する。入力端子８２−２Ｃは、ＣＡＭ１−１の出力端子８１−１に接続され、そこでの検索結果を入力する。ＣＡＭ１−２より優先度が高いＣＡＭ１は、ＣＡＭ１−１だけなので、余った入力端子８２−２Ａ，８２−２Ｂは、その入力を無視するためにプルアップされている。入力端子８３−２Ｂ，８３−２Ｃは、ＣＡＭ１−３，１−４の出力端子８１−３，８１−４に接続され、そこでの検索結果を入力する。ＣＡＭ１−２より優先度が低いＣＡＭ１は、ＣＡＭ１−３，１−４だけなので、余った入力端子８３−２Ａはその入力を無視するためにプルアップされている。
【００６８】
ＣＡＭ１−３の出力端子８１−３は、ＣＡＭ１−１，１−２，１−４の入力端子８３−１Ｂ，８３−２Ｂ，８２−４Ａと接続され、ＣＡＭ１−３での検索結果をそれらに出力する。入力端子８２−３Ｂ，８２−３Ｃは、ＣＡＭ１−２，１−１の出力端子８１−２，８１−１に接続され、そこでの検索結果を入力する。ＣＡＭ１−３より優先度が高いＣＡＭ１は、ＣＡＭ１−１，１−２だけなので、余った入力部端子８２−３Ａは、その入力を無視するためにプルアップされている。入力端子８３−３Ｃは、ＣＡＭ１−４の出力端子８１−４に接続され、そこでの検索結果を入力する。ＣＡＭ１−３より優先度が低いＣＡＭ１は、ＣＡＭ１−４だけなので、余った入力端子８３−３Ａ，８３−３Ｂは、その入力を無視するためにプルアップされている。
【００６９】
ＣＡＭ１−４の出力端子８１−４は、ＣＡＭ１−１，１−２，１−３の入力端子８３−１Ｃ，８３−２Ｃ，８３−３Ｃと接続され、ＣＡＭ１−４での検索結果をそれらに出力する。入力端子８２−４Ａ，８２−４Ｂ，８２−４Ｃは、ＣＡＭ１−３，１−２，１−１の出力端子８１−３，８１−２，８１−１に接続され、そこでの検索結果を入力する。ＣＡＭ１−４より優先度が低いＣＡＭ１は存在しないので、入力端子８３−４Ａ乃至８３−４Ｃは、その入力を無視するためにプルアップされている。
【００７０】
ＣＡＭ１は、入力端子８２Ａ，８２Ｂ，８２Ｃのすべてに論理値１の信号が入力されたとき（自分自身より優先度が高いＣＡＭ１がミスヒットしたとき）、自分自身が検索したワードメモリ２１のアドレスからアドレスＨＨＡを検出し、そのアドレスＨＨＡのワードメモリ２１のタイムスタンプを更新する。
【００７１】
またＣＡＭ１は、接続ＣＡＭ２全体としてミスヒットしたとき（各ＣＡＭ１の入力端子８２，８３のすべてに論理値１の信号が入力されたとき）、検出したアドレスＨＥＡのワードメモリ２１に、アドレスＳＡ等の格納を行う。
【００７２】
なお、各ＣＡＭ１の出力端子８１の出力は、および入力端子８２，８３の入力は、図１０に示すように、制御部１７により制御されている。
【００７３】
このように、従来では、自分自身より優先度が高いＣＡＭ１、および自分自身より優先度が低いＣＡＭ１からの検索結果を入力する入力端子８２および入力端子８３がそれぞれ別個に設けられているので（接続ＣＡＭ２を構成するＣＡＭ１の数より１つ少ない数（図９の例では、３（＝４−１））個分の入力端子８２と８３がそれぞれ設けられているので）、それらとＣＡＭ１の出力端子１との接続が複雑になり、接続ＣＡＭ２の構成が煩雑になる課題があった。
【００７４】
なお、オープンドレイン方式、各ＣＡＭ１での検索結果を把握することも可能であるが、その処理を迅速に行うことができない。
【００７５】
本発明はこのような状況に鑑みてなされたものであり、オートストア処理を行う接続ＣＡＭ２の接続を簡単なものにするものである。
【００７６】
【課題を解決するための手段】
本発明の検索装置は、自分自身が有する記憶部から、検索データに対応する記憶部を検索する検索手段と、他の検索装置に対する初期信号の出力を制御する第１の出力制御手段と、検索手段により検索データに対応する記憶部が検索されたか否かを表す検索結果信号の他の検索装置に対する出力を制御する第２の出力制御手段と、他の検索装置に接続され、他の検索装置からの検索結果信号または初期信号を入力するＮ個の第１の入力手段と、基準信号を入力する第２の入力手段と、初期信号と基準信号が、所定の優先順位に応じて配置された優先順位信号を取得する取得手段と、優先順位信号に基づいて、基準信号に対応する優先順位より高い優先順位の初期信号を入力した第１の入力手段を検出する検出手段と、検出手段により検出された第１の入力手段により入力された検索結果信号の内容に応じて、検索手段により検索された記憶部から、所定の記憶部を検出し、検索システム全体の検索結果として出力する出力手段と、第１の入力手段により入力された検索結果信号に基づいて、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったことを判定し、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったとき、所定の処理を実行する実行手段とを備えることを特徴とする。
【００７７】
本発明の検索方法は、自分自身が有する記憶部から、検索データに対応する記憶部を検索する検索手段と、他の検索装置に対する初期信号の出力を制御する第１の出力制御手段と、検索手段により検索データに対応する記憶部が検索されたか否かを表す検索結果信号の他の検索装置に対する出力を制御する第２の出力制御手段と、他の検索装置に接続され、他の検索装置からの検索結果信号または初期信号を入力するＮ個の第１の入力手段と、基準信号を入力する第２の入力手段とを備え、Ｎ個の他の検索装置と接続されて、検索システムを構成する検索装置の検索方法において、初期信号と基準信号が、所定の優先順位に応じて配置された優先順位信号を取得する取得ステップと、優先順位信号に基づいて、基準信号に対応する優先順位より高い優先順位の初期信号を入力した第１の入力手段を検出する検出ステップと、検出ステップの処理で検出された第１の入力手段により入力された検索結果信号の内容に応じて、検索ステップの処理で検索された記憶部から、所定の記憶部を検出し、検索システム全体の検索結果として出力する出力ステップと、第１の入力手段により入力された検索結果信号に基づいて、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったことを判定し、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったとき、所定の処理を実行する実行ステップとを含むことを特徴とする。
【００７８】
本発明の記録媒体のプログラムは、自分自身が有する記憶部から、検索データに対応する記憶部を検索する検索手段と、他の検索装置に対する初期信号の出力を制御する第１の出力制御手段と、検索手段により検索データに対応する記憶部が検索されたか否かを表す検索結果信号の他の検索装置に対する出力を制御する第２の出力制御手段と、他の検索装置に接続され、他の検索装置からの検索結果信号または初期信号を入力するＮ個の第１の入力手段と、基準信号を入力する第２の入力手段とを備え、Ｎ個の他の検索装置と接続されて、検索システムを構成する検索装置のプログラムであって、初期信号と基準信号が、所定の優先順位に応じて配置された優先順位信号を取得する取得ステップと、優先順位信号に基づいて、基準信号に対応する優先順位より高い優先順位の初期信号を入力した第１の入力手段を検出する検出ステップと、検出ステップの処理で検出された第１の入力手段により入力された検索結果信号の内容に応じて、検索ステップの処理で検索された記憶部から、所定の記憶部を検出し、検索システム全体の検索結果として出力する出力ステップと、第１の入力手段により入力された検索結果信号に基づいて、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったことを判定し、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったとき、所定の処理を実行する実行ステップとを含むことを特徴とする。
【００７９】
本発明のプログラムは、自分自身が有する記憶部から、検索データに対応する記憶部を検索する検索手段と、他の検索装置に対する初期信号の出力を制御する第１の出力制御手段と、検索手段により検索データに対応する記憶部が検索されたか否かを表す検索結果信号の他の検索装置に対する出力を制御する第２の出力制御手段と、他の検索装置に接続され、他の検索装置からの検索結果信号または初期信号を入力するＮ個の第１の入力手段と、基準信号を入力する第２の入力手段とを備え、Ｎ個の他の検索装置と接続されて、検索システムを構成する検索装置のプログラムであって、初期信号と基準信号が、所定の優先順位に応じて配置された優先順位信号を取得する取得ステップと、優先順位信号に基づいて、基準信号に対応する優先順位より高い優先順位の初期信号を入力した第１の入力手段を検出する検出ステップと、検出ステップの処理で検出された第１の入力手段により入力された検索結果信号の内容に応じて、検索ステップの処理で検索された記憶部から、所定の記憶部を検出し、検索システム全体の検索結果として出力する出力ステップと、第１の入力手段により入力された検索結果信号に基づいて、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったことを判定し、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったとき、所定の処理を実行する実行ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００８０】
本発明の検索装置および方法、並びにプログラムにおいては、検索データに対応する記憶部が検索され、他の検索装置に対する初期信号の出力が制御され、検索データに対応する記憶部が検索されたか否かを表す検索結果信号の他の検索装置に対する出力が制御され、他の検索装置に接続され、他の検索装置からの検索結果信号または初期信号が入力され、基準信号が入力され、初期信号と基準信号が、所定の優先順位に応じて配置された優先順位信号が取得され、優先順位信号に基づいて、基準信号に対応する優先順位より高い優先順位の初期信号を入力した第１の入力手段が検出され、検出された第１の入力手段により入力された検索結果信号の内容に応じて、検索された記憶部から、所定の記憶部が検出され、検索システム全体の検索結果として出力され、第１の入力手段により入力された検索結果信号に基づいて、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったことが判定され、他の検索装置のすべてにおいて検索データに対応する記憶部が検索されなかったとき、所定の処理が実行される。
【００８１】
【発明の実施の形態】
図１１は、本発明を適用した接続ＣＡＭ１０１を利用する中継器３１の構成例を示している。図１１中の他の部分は、図７の中継器３１の場合と同様であるので、その部分には、図７における場合と同じ符号を付し、その説明を省略する。
【００８２】
接続ＣＡＭ１０１を構成するＣＡＭ１１１−１乃至１１１−４の各ワードメモリ２１は、図８に示したように、図７に示すＣＡＭ１−１乃至ＣＡＭ１−４と同様の構成を有している。すなわちエンプティアドレス検索またはヒットアドレス検索におけるアドレスＨＨＡまたはアドレスＨＥＡの検出については、ＣＡＭ１は、ＣＡＭ１−１、ＣＡＭ１−２、ＣＡＭ１−３、そしてＣＡＭ１−４の順番の優先度（優先順位）を有している。
【００８３】
図１２は、接続ＣＡＭ１０１がオートストア処理を行うための接続例（図１１に示す信号線７１の具体的な接続例）を示す。この接続のために、各ＣＡＭ１１１には、１個の出力端子１２１と、４個の入力端子１２２Ａ，１２２Ｂ，１２２Ｃ，１２２Ｄが設けられている。
【００８４】
４個の入力端子１２２の中の、ＣＡＭ１１１の優先順位に応じた１個（この例の場合、ＣＡＭ１１１−１では入力端子１２２−１Ｄ、ＣＡＭ１１１−２では入力端子１２２−２Ｃ、ＣＡＭ１１１−３では入力端子１２２−３Ｂ、ＣＡＭ１１１−４では入力端子１２２−４Ａ）は、常に論理値０が入力されるように、プルダウンされている。また入力端子１２２の中の他の３個は、他のＣＡＭ１１１の出力端子１２１に接続されている。
【００８５】
個々のＣＡＭ１１１について説明する。ＣＡＭ１１１−１の出力端子１２１−１は、ＣＡＭ１１１−２，１１１−３，１１１−４の入力端子１２２−２Ｄ，１２２−３Ｄ，１２２−４Ｄに接続され、ＣＡＭ１１１−１でのヒットアドレス検索の結果（論理値１または０）を出力する。ＣＡＭ１１１−１の入力端子１２２−１Ａ，１２２−１Ｂ，１２２−１Ｃは、ＣＡＭ１１１−４，１１１−３，１１１−２の出力端子１２１−４，１２１−３，１２１−２に接続され、そこでの検索結果を入力する。ＣＡＭ１１１−１の入力端子１２１−１Ｄは、プルダウンされている。
【００８６】
ＣＡＭ１１１−２の出力端子１２１−２は、ＣＡＭ１１１−１，１１１−３，１１１−４の入力端子１２２−１Ｃ，１２２−３Ｃ，１２２−４Ｃに接続され、ＣＡＭ１１１−２での検索の結果を出力する。ＣＡＭ１１１−２の入力部端子１２２−２Ａ，１２２−２Ｂ，１２２−２Ｄは、ＣＡＭ１１１−４，１１１−３，１１１−１の出力端子１２１−４，１２１−３，１２１−１に接続され、そこでの検索結果を入力する。ＣＡＭ１１１−２の入力端子１２１−２Ｃは、プルダウンされている。
【００８７】
ＣＡＭ１１１−３の出力端子１２１−３は、ＣＡＭ１１１−１，１１１−２，１１１−４の入力端子１２２−１Ｂ，１２２−２Ｂ，１２２−４Ｂに接続され、ＣＡＭ１１１−３での検索の結果をそれらに出力する。ＣＡＭ１１１−３の入力端子１２２−３Ａ，１２２−３Ｃ，１２２−３Ｄは、ＣＡＭ１１１−４，１１１−２，１１１−１の出力端子１２１−４，１２１−２，１２１−１に接続され、そこでの検索結果を入力する。ＣＡＭ１１１−３の入力端子１２２−３Ｂは、プルダウンされている。
【００８８】
ＣＡＭ１１１−４の出力端子１２１−４は、ＣＡＭ１１１−１，１１１−２，１１１−３の入力端子１２２−１Ａ，１２２−２Ａ，１２２−３Ａに接続され、ＣＡＭ１１１−４での検索の結果をそれらに出力する。ＣＡＭ１１１−４の入力部端子１２２−４Ｂ，１２２−４Ｃ，１２２−４Ｄは、ＣＡＭ１１１−３，１１１−２，１１１−１の出力端子１２１−３，１２１−２，１２１−１に接続され、そこでの検索結果を入力する。ＣＡＭ１１１−４の入力端子１２１−４Ａは、プルダウンされている。
【００８９】
ここで接続ＣＡＭ１０１がオートストア処理（ヒットアドレス検索を行い、その検索結果に応じてアドレスＨＨＡのワードメモリ２１のタイムスタンプを更新し、またはアドレスＨＥＡのワードメモリ２１にソースアドレスＳＡ等を格納する処理）を行う場合の各ＣＡＭ１１１の動作を、図１４のフローチャートを参照して説明する。
【００９０】
ステップＳ１１において、各ＣＡＭ１１１は、オートストア処理を開始するのに先立ち、そのとき入力端子１２２Ａ，１２２Ｂ，１２２Ｃ，１２２Ｄからの初期信号および論理値０の信号より構成される入力信号［ＡＢＣＤ］より、自分自身より優先度の高いＣＡＭ１１１からの出力を入力する入力端子１２２を認知する。
【００９１】
具体的には、各ＣＡＭ１１１には、ＣＰＵ４１から、図１３に示すクロックＣＳと、リセット信号ＰＳが入力されるが、ＣＡＭ１１１は、リセットが解除されて最初のクロックＣＳの立ち上がるタイミングで（図中、縦の点線で示されているタイミングで）、論理値１に相当する初期信号ＦＳを、出力端子１２１から出力する。
【００９２】
その結果このとき、例えば、ＣＡＭ１１１−１には、入力信号［１１１０］が入力される。すなわち入力端子１２２−１Ａには、論理値１の初期信号ＦＳ４（ＣＡＭ１１１−４の出力端子１２１−４からの出力）が、入力端子１２２−１Ｂには、論理値１の初期信号ＦＳ３（ＣＡＭ１１１−３の出力端子１２１−３からの出力）が、入力端子１２２−１Ｃには、論理値１の初期信号ＦＳ２（ＣＡＭ１１１−２の出力端子１２１−２からの出力）が、そして入力端子１２２−１Ｄには、論理値０の信号ＦＳ１がそれぞれ入力される。
【００９３】
同様に、ＣＡＭ１１１−２、ＣＡＭ１１１−３、およびＣＡＭ１１１−４のそれぞれには、入力信号［１１０１］、入力信号「１０１１」、および入力信号［０１１１］が入力される。
【００９４】
すなわちリセット時の入力信号［ＡＢＣＤ］は、ＣＡＭ１１１の優先順位に対応した位置に０が配置された、ＣＡＭ１１１固有の信号となる。
【００９５】
このようにリセット時の入力信号［ＡＢＣＤ］が入力されると、各ＣＡＭ１１１は、その入力信号［ＡＢＣＤ］の“０”より下位のビットを提供する入力端子１２２を、自分自身より優先度が高いＣＡＭ１１１からの出力を入力するものと認知する。
【００９６】
具体的には、ＣＡＭ１１１−１は、リセット時に、入力信号［１１１０］が入力され、“０”より下位のビットが存在しないので、この場合、自分自身が優先度の最も高いＣＡＭ１１１であることを認知する。
【００９７】
ＣＡＭ１１１−２は、リセット時に、入力信号［１１０１］が入力されるので、“０”より下位のビットを提供する入力端子１２２−２Ｄが、ＣＡＭ１１１−２より優先度が高いＣＡＭ１１１（ＣＡＭ１１１−１）からの出力を入力するものであることを認知する。
【００９８】
ＣＡＭ１１１−３は、リセット時に、入力信号［１０１１］が入力されるので、“０”より下位のビットを提供する入力端子１２２−３Ｃ，１２２−３Ｄが、ＣＡＭ１１１−３より優先度が高いＣＡＭ１１１（ＣＡＭ１１１−１，１１１−２）からの出力を入力するものであることを認知する。
【００９９】
ＣＡＭ１１１−４は、リセット時に、入力信号［０１１１］が入力されるので、値０より下位のビットを提供する入力端子１２２−４Ｂ，１２２−４Ｃ，１２２−４Ｄが、自分自身より優先度が高いＣＡＭ１１１（ＣＡＭ１１１−１，１１１−２，１１１−３）の出力を入力するものであることを認知する。
【０１００】
このように自分自身より優先度の高いＣＡＭ１１１からの出力を入力する入力端子１２２を認知すると、ステップＳ１２において、図１５にまとめて示すように、その認知結果に基づいて、各ＣＡＭ１１１は、オートストア処理を行う。
【０１０１】
具体的には、ＣＡＭ１１１−１は、自分自身の検索の結果、ヒットした場合、入力端子１２２−１Ａ乃至１２２−１Ｃからの入力内容に関係なく（ＣＡＭ１１１−２乃至１１１−４での検索結果に関係なく）、ヒットしたワードメモリ２１のアドレスからアドレスＨＨＡを検出し、そのアドレスＨＨＡのワードメモリ２１のタイムスタンプを更新する。
【０１０２】
ＣＡＭ１１１−２は、入力端子１２２−２Ｄからの入力が論理値１であり（ＣＡＭ１１１−１がミスヒットし）、自分自身がヒットしたとき、ヒットしたワードメモリ２１のアドレスからアドレスＨＨＡを検出し、そのアドレスＨＨＡのワードメモリ２１のタイムスタンプを更新する。
【０１０３】
ＣＡＭ１１１−３は、入力端子１２２−３Ｃ，１２２−３Ｄからの入力が論理値１であり（ＣＡＭ１１１−２，１１１−１がミスヒットし）、自分自身がヒットしたとき、ヒットしたワードメモリ２１のアドレスからアドレスＨＨＡを検出し、そのアドレスＨＨＡのワードメモリ２１のタイムスタンプを更新する。
【０１０４】
ＣＡＭ１１１−４は、入力端子１２２−４Ｂ，１２２−４Ｃ，１２２−４Ｄからの入力が論理値１であり（ＣＡＭ１１１−３，１１１−２，１１１−１がミスヒットし）、自分自身がヒットしたとき、ヒットしたワードメモリ２１のアドレスからアドレスＨＨＡを検出し、そのアドレスＨＨＡのワードメモリ２１のタイムスタンプを更新する。
【０１０５】
従って、例えば、ＣＡＭ１１１−３，１１１−４のみがヒットした場合、ＣＡＭ１１１−４は、入力端子１２２−４Ｂからの入力が論理値０であるので、上位のＣＡＭ１１１−３がヒットしていると認識し、自分自身がヒットしても、ヒットしたワードメモリ２１のアドレスからアドレスＨＨＡを検出し、そのアドレスＨＨＡのワードメモリ２１のタイムスタンプを更新することはしない。
【０１０６】
一方、ＣＡＭ１１１−３は、入力端子１２２−３Ｃ，１２２−３Ｄからの入力が論理値１であるので、上位のＣＡＭ１１１−２，１１１−１がミスヒットしていると認識し、自分がヒットしたワードメモリ２１のアドレスからアドレスＨＨＡを検出し、そのアドレスＨＨＡのワードメモリ２１のタイムスタンプを更新する。
【０１０７】
また、接続ＣＡＭ１０１全体としてミスヒットしたとき、アドレスＨＥＡを検出したＣＡＭ１１１は、そのアドレスＨＥＡにソースアドレスＳＡ等を格納する。なお、接続ＣＡＭ１０１全体としてミスヒットしたか否かは、入力端子１２２Ａ，１２２Ｂ，１２２Ｃ，１２２Ｄからの入力の論理和を採ることで認知することができる。
【０１０８】
図１６は、ＣＡＭ１１１の構成例を示している。このＣＡＭ１１１には、図１０に示す制御部１７に代えて、制御部１３１が設けられ、出力端子８１、入力端子８２Ａ乃至８２Ｃ、および入力端子８３Ａ乃至８３Ｃに代えて、出力端子１２１および入力端子１２２Ａ乃至１２２Ｄが設けられている。他の部分は、図１０における場合と同じなので、同一の符号を付し、その説明は省略する。
【０１０９】
図１７は、図１６の制御部１３１の構成例を示している。入力端子１２２Ａ乃至１２２Ｄから入力された入力信号［ＡＢＣＤ］は、デバイスＩＤ変換回路２０１に入力される。デバイスＩＤ変換回路２０１は、入力された入力信号［ＡＢＣＤ］を、図１８に示すような変換デーブルＴを参照して、入力信号［ＡＢＣＤ］に対応するデバイスＩＤを検出し、デバイスＩＤレジスタ２０２に出力する。
【０１１０】
書き込み制御回路２０３には、制御部１３１に供給されたクロックＣＳおよびリセット信号ＰＳが入力される。書き込み制御回路２０３は、デバイスＩＤレジスタ２０２を制御して、図１３を参照して説明したように、リセット信号ＰＳが入力され、それが解除された後、最初にクロックＣＳが立ち上がるタイミングでデバイスＩＤ変換回路２０２から入力されたデバイスＩＤを記憶させる。デバイスＩＤレジスタ２０２は、書き込み制御回路２０２からの指示に従って、デバイスＩＤ変換回路２０１からのデバイスＩＤを記憶し、適宜、プライオリティ管理回路２０４に出力する。
【０１１１】
プライオリティ管理回路２０４には、入力端子１２２Ａ乃至１２２Ｄからの入力信号［ＡＢＣＤ］、デバイスＩＤレジスタ２０２からのデバイスＩＤ、ＣＡＭブロック１３、並びにＣＰＵ４１からのクロックＣＳとリセット信号ＰＳがそれぞれ入力される。
【０１１２】
ヒットアドレス検索開始時にＣＰＵ４１から、リセット信号ＰＳが入力されると、プライオリティ管理回路２０４は、図１３に示したタイミングで、初期信号ＦＳ（論理値１）を出力端子１２１から出力する。なお、このとき書き込み制御回路２０３は、デバイスＩＤレジスタ２０２を制御して、そのときデバイスＩＤ変換回路２０１から入力されるデバイスＩＤを記憶させる。
【０１１３】
その後プライオリティ管理回路２０４は、デバイスＩＤレジスタ２０２からデバイスＩＤを取得するとともに、そのデバイスＩＤ（入力信号［ＡＢＣＤ］）から、自分自身より優先度が高いＣＡＭ１１１からの出力を入力する入力端子１２２を認知し、上述したように、それからの入力内容に応じたオートストア処理を行う。
【０１１４】
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１１５】
【発明の効果】
本発明によれば、簡単な接続で、複数のＣＡＭを適切に利用することができる。
【図面の簡単な説明】
【図１】ＣＡＭの構成例を示すブロック図である。
【図２】図１のＣＡＭのワードメモリの構成例を示す図である。
【図３】中継器の構成例を示すブロック図である。
【図４】図３のＣＡＭのワードメモリの構成例を示す図である。
【図５】タイムスタンプを説明する図である。
【図６】図３のＣＡＭの動作を説明するフローチャートである。
【図７】中継器の他の構成例を示すブロック図である。
【図８】図７のＣＡＭのワードメモリの構成例を示す図である。
【図９】図７のＣＡＭの接続例を示す図である。
【図１０】図９のＣＡＭの構成例を示すブロック図である。
【図１１】本発明を適用したＣＡＭを利用する中継器の構成例を示すブロック図である。
【図１２】図１１のＣＡＭの接続例を示す図である。
【図１３】入力信号を説明する図である。
【図１４】図１１のＣＡＭの動作を説明するフローチャートである。
【図１５】図１１のＣＡＭのオートストア処理を説明する図である。
【図１６】図１２のＣＡＭの構成例を示すブロック図である。
【図１７】図１６の制御部の構成例を示すブロック図である。
【図１８】デバイスＩＤを説明する図である。
【符号の説明】
１０１  接続ＣＡＭ，  １１１  ＣＡＭ，  １２１  出力端子，  １２２  入力端子，  １３１  制御部，  ２０１  デバイスＩＤ変換回路，  ２０２  デバイスＩＤレジスタ，  ２０３  書き込み制御回路，  ２０４  プライオリティ管理回路
【図１】
2004328095.tif 000003
【図２】
2004328095.tif 000004
【図３】
2004328095.tif 000005
【図４】
2004328095.tif 000006
【図５】
2004328095.tif 000007
【図６】
2004328095.tif 000008
【図７】
2004328095.tif 000009
【図８】
2004328095.tif 000010
【図９】
2004328095.tif 000011
【図１０】
2004328095.tif 000012
【図１１】
2004328095.tif 000013
【図１２】
2004328095.tif 000014
【図１３】
2004328095.tif 000015
【図１４】
2004328095.tif 000016
【図１５】
2004328095.tif 000017
【図１６】
2004328095.tif 000018
【図１７】
2004328095.tif 000019
【図１８】
2004328095.tif 000020