【手続補正書】
【提出日】平成16年10月7日(2004.10.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力データと予め定めた検出対象データとの一致を判断し、判断結果に基づいた真偽値を出力するデータ一致検出装置であって、
前記入力データを入力し、当該入力データをアドレスデータとして出力するアドレスセレクタと、
前記アドレスデータがとり得る範囲内の個々のアドレスに予め定めた真偽値データをそれぞれ格納しており、前記アドレスデータの入力に対して当該アドレスデータに対応するアドレスに格納されている真偽値データを出力するメモリとを備える、データ一致検出装置。
【請求項２】
入力データと予め定めた検出対象データとの一致を判断し、判断結果に基づいた真偽値を出力するデータ一致検出装置であって、
前記入力データを入力し、当該入力データの第１の部分をアドレスデータとして出力し、当該入力データの第２の部分をセレクトデータとして出力するアドレスセレクタと、
前記アドレスデータがとり得る範囲内の個々のアドレスに予め定めた複数ビットの真偽値データをそれぞれ格納しており、前記アドレスデータの入力に対して当該アドレスデータに対応するアドレスに格納されている複数ビットの真偽値データを出力するメモリと、
前記複数ビットの真偽値データと前記セレクトデータとを入力し、当該複数ビットの真偽値データの中から当該セレクトデータが示す値に対応するビット位置の真偽値データを出力するデータセレクタとを備える、データ一致検出装置。
【請求項３】
予め定めたマスクデータを生成するマスク生成手段と、
前記入力データと前記マスクデータとを入力し、当該マスクデータに基づいて当該入力データの一部分を抽出して出力する検出対象抽出手段とをさらに備え、
前記アドレスセレクタは、前記検出対象抽出手段が出力するデータを入力する、請求項１または２に記載のデータ一致検出装置。
【請求項４】
入力データと予め定めた検出対象データとの一致を判断し、判断結果に基づいた真偽値を出力するデータ一致検出装置であって、
予め定めた異なる複数のマスクデータを生成するマスク生成手段と、
前記入力データと前記複数のマスクデータとを入力し、当該複数のマスクデータのそれぞれに基づいて当該入力データの一部分を複数抽出して出力する複数の検出対象抽出手段と、
前記複数の検出対象抽出手段が出力する複数のデータをそれぞれ入力し、当該複数のデータを複数の第１のアドレスデータとしてそれぞれ出力する複数の第１のアドレスセレクタと、
前記複数の第１のアドレスデータがとり得る範囲内の個々のアドレスに予め定めた第１の真偽値データをそれぞれ格納しており、前記複数の第１のアドレスデータのそれぞれの入力に対して当該複数の第１のアドレスデータに対応するアドレスに格納されている第１の真偽値データをそれぞれ出力する複数の第１のメモリとを備える、データ一致検出装置。
【請求項５】
前記複数の第１のメモリからそれぞれ出力される複数の前記第１の真偽値データを入力し、複数の当該第１の真偽値データを１つの第２のアドレスデータに変換する第２のアドレスセレクタと、
前記第２のアドレスデータがとり得る範囲内の個々のアドレスに予め定めた第２の真偽値データをそれぞれ格納しており、前記第２のアドレスデータの入力に対して当該第２のアドレスデータに対応するアドレスに格納されている第２の真偽値データを出力する第２のメモリとをさらに備える、請求項４に記載のデータ一致検出装置。
【請求項６】
前記複数の第１のメモリからそれぞれ出力される複数の前記第１の真偽値データを入力し、複数の当該第１の真偽値データをすべて比較し、当該比較の結果に基づいて予め定めた真偽値データを出力する比較手段とを備える、請求項４に記載のデータ一致検出装置。
【請求項７】
入力データと予め定めた検出対象データとの一致を判断し、判断結果に基づいた真偽値を出力するデータ一致検出装置であって、
前記入力データを入力し、当該入力データを第１のアドレスデータとして出力する複数の第１のアドレスセレクタと、
前記第１のアドレスデータの個々に対応し、予め定めたオフセットアドレスを生成する複数のオフセットアドレス生成手段と、
前記第１のアドレスデータと当該第１のアドレスデータに対応する前記オフセットアドレスとを加算することによりアドレス変換を行い、第２のアドレスデータとして出力する複数の加算機と、
前記複数の第２のアドレスデータを入力し、当該複数の第２のアドレスデータを選択的に順次出力する第２のアドレスセレクタと、
前記複数の第２のアドレスデータがとり得る全ての範囲内の個々のアドレスに予め定めた真偽値データをそれぞれ格納しており、前記第２のアドレスセレクタが選択的に順次出力する前記複数の第２のアドレスデータの入力に対して当該複数の第２のアドレスデータに基づいてアドレスに格納されている真偽値データを出力するメモリとを備える、データ一致検出装置。
【請求項８】
前記メモリは、前記検出対象データのビットパターンと同一のアドレスにのみ真の真偽値データを格納することを特徴とする、請求項１に記載のデータ一致検出装置。
【請求項９】
前記メモリは、前記検出対象データにおける前記第１の部分のビットパターンと同一のアドレスにおける複数ビットのうち、前記検出対象データにおける前記第２の部分が示すビット位置にのみ真の真偽値データを格納することを特徴とする、請求項２に記載のデータ一致検出装置。
【請求項１０】
前記マスク生成手段は、検出対象とするビット位置のみを真とするマスクデータを生成し、
前記メモリは、前記検出対象データにおける前記一部分のビットパターンと同一のアドレスにのみ真の真偽値データを格納することを特徴とする、請求項３に記載のデータ一致検出装置。
【請求項１１】
前記マスク生成手段は、検出対象とするビット位置のみを真とするマスクデータを生成し、
前記第１および第２のメモリは、前記検出対象データから得られるビットパターンと同一のアドレスにのみそれぞれ真の第１および第２の真偽値データを格納することを特徴とする、請求項５に記載のデータ一致検出装置。
【請求項１２】
前記マスク生成手段は、検出対象とするビット位置のみを真とするマスクデータを生成し、
前記比較手段は、前記第１の真偽値データがすべて同一の場合に真のデータを出力することを特徴とする、請求項６に記載のデータ一致検出装置。
【請求項１３】
前記複数のオフセットアドレス生成手段は、前記複数の加算機が出力する前記複数の第２のアドレスデータが重複せず連続したデータとなるように各オフセットアドレスを生成し、
前記メモリは、前記検出対象データの複数の前記一部分から得られるビットパターンと同一のアドレスにのみ真の真偽値データを格納することを特徴とする、請求項７に記載のデータ一致検出装置。
【請求項１４】
コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
検出対象データを特定する第１のステップと、
予め定めた複数の任意のデータと前記検出対象データとの一致判断をそれぞれ行う第２のステップと、
前記一致判断の結果に基づいて、前記複数の任意のデータが示すアドレスに予め定めた真偽値データをそれぞれ格納する第３のステップと、
入力データをアドレスデータに変換する第４のステップと、
前記アドレスデータが示すアドレスに格納されている真偽値データを前記入力データに対する一致検出の結果として出力する第５のステップとを含む動作環境を前記コンピュータ装置上で実現するためのプログラムを記録した記録媒体。
【請求項１５】
コンピュータ装置において実行されるプログラムを記録した記録媒体であって、
検出対象データを特定する第１のステップと、
予め定めた複数の任意のデータと前記検出対象データとの部分一致判断をそれぞれ行う第２のステップと、
前記部分一致判断の結果に基づいて、前記複数の任意のデータが示すアドレスに予め定めた複数ビットの真偽値データをそれぞれ格納する第３のステップと、
入力データを第１の部分と第２の部分に分割し、当該第１の部分のデータをアドレスデータとして変換する第４のステップと、
前記アドレスデータが示すアドレスに格納されている真偽値データのうち、前記第２の部分が示すビット位置にあるデータを前記入力データに対する一致検出の結果として出力する第５のステップとを含む動作環境を前記コンピュータ装置上で実現するためのプログラムを記録した記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
上記のように、第１４および第１５の発明は、上記第１〜第１３の発明のデータ一致検出装置の機能を実行するプログラムを記録した記録媒体である。これは、第１〜第１３の発明のデータ一致検出装置が実行する機能を、ソフトウエアの形態で供給することに対応させたものである。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
ＣＰＵ１は、以上の処理をメモリ３１内のアドレス領域すべてに対して行うべく、処理が終わった初期化データのビットパターンが最終アドレスのビットパターンと一致するか否かを判断する（ステップＳ３０８）。このステップＳ３０８の判断において双方のパターンが一致しない場合は、初期化データに「１」を加算して（ステップＳ３０９）、上記ステップＳ３０４に戻る。一方、上記ステップＳ３０８の判断において双方のパターンが一致する場合は、この初期化動作を終了して入力データの一致検出動作に移行すべく、アドレスセレクタ２１の入力を入力データ側に切り換える（ステップＳ３１０）。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
例えば、データ「０００００１００」が入力された場合、アドレスセレクタ２１は、当該入力データをアドレスデータ［０００００１００］としてメモリ３１に出力する。メモリ３１は、アドレス領域の中から当該アドレスデータが示す［０００００１００］に格納されている真偽値データ「０」をデータ一致検出の結果として出力する。
これにより、データ「０００００１０１」または「００００１０１０」が入力された場合にのみ、対応するメモリ３１のアドレス領域からデータ一致検出の結果として真偽値「１」が出力され、それ以外のデータが入力された場合には、真偽値「０」が出力される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
ＣＰＵ１は、以上の処理をメモリ３２内のアドレス領域のすべてに対して行うべく、処理が終わった初期化データのビットパターンが最終アドレスのビットパターンと一致するか否かを判断する（ステップＳ６０７）。このステップＳ６０７の判断においてパターンが一致しない場合は、初期化データに「１」を加算して（ステップＳ６０８）、上記ステップＳ６０４に戻る。一方、上記ステップＳ６０７の判断においてパターンが一致する場合は、この初期化動作を終了して入力データの一致検出動作に移行すべく、アドレスセレクタ２２の入力を入力データ側に切り換える（ステップＳ６０９）。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
上記初期化を行うことにより、本データ一致検出は以下のように行われる。
アドレスセレクタ２２は、入力データを入力すると、上述したように当該入力データをアドレスデータとセレクトデータとに分割し、当該アドレスデータをメモリ３２へ、当該セレクトデータをデータセレクタ４２へ出力する。そして、メモリ３１は、入力したアドレスデータが示すアドレスに格納されているデータ、すなわち、上記ステップＳ６０５またはＳ６０６において書き込んだｎビットの真偽値データをそのままデータセレクタ４２へ出力する。データセレクタ４２は、ｎビットの真偽値データと、セレクトデータを入力し、ｎビットの真偽値データの内、セレクトデータのビットが示す値ｉをビット位置とする真偽値データをデータ一致検出の結果として出力する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
例えば、データ「００００１０１０」が入力された場合、アドレスセレクタ２２において上位５ビット「００００１＊＊＊」がアドレスデータ［００００１］としてメモリ３２に出力され、下位３ビット「＊＊＊＊＊０１０」がセレクトデータ「０１０」としてデータセレクタ４２に出力される。メモリ３２は、アドレスデータ［００００１］を受けて該当するアドレスに格納されている真偽値データ「０００００１００」をそのままデータセレクタ４２に出力する。データセレクタ４２は、この真偽値データからセレクトデータ「０１０」が示す値ｉ＝２である「＊＊＊＊＊１＊＊」を抽出し、データ一致検出の結果として真偽値「１」を出力する。
このように、データ「０００００１０１」または「００００１０１０」が入力された場合にのみ、データ一致検出の結果として真偽値「１」が出力され、それ以外のデータが入力された場合には、真偽値「０」が出力される。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００８７
【補正方法】変更
【補正の内容】
【００８７】
アドレスセレクタ２６ａ〜２６ｃは、メモリ３６の初期化の時に用いる第１〜第３の初期化データと一致検出の対象となる入力データとをそれぞれ入力する。そして、アドレスセレクタ２６ａ〜２６ｃは、初期化動作を行う場合は第１〜第３初期化データをそれぞれ選択し、データの一致検出を行う場合は入力データをそれぞれ選択して、双方の場合とも選択したデータをメモリ３６に対するアドレスデータとして加算機１０６ａ〜１０６ｃに出力する。オフセットアドレス生成装置９６ａ〜９６ｃは、それぞれデータ一致検出に利用するメモリ３６内のアドレス領域の先頭アドレスを変換するためのオフセットアドレスを生成する。加算機１０６ａ〜１０６ｂは、アドレスセレクタ２６ａ〜２６ｃが出力するアドレスデータと、オフセットアドレス生成装置９６ａ〜９６ｃが出力するオフセットアドレスとを入力し、それぞれを加算してアドレスセレクタ２６ｄに出力する。アドレスセレクタ２６ｄは、加算機１０６ａ〜１０６ｂからの複数のアドレスデータと第４の初期化データとを入力し、任意のデータを選択してメモリ３６に出力する。メモリ３６は、初期化の時には、真偽値データとアドレスセレクタ２６ｄから出力されるアドレスデータとを入力し、当該アドレスに当該真偽値データを格納する。また、メモリ３６は、データ一致検出時には、入力したアドレスデータに基づいて、該当するアドレスに格納されている真偽値をデータ一致検出の結果として出力する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
まず、ＣＰＵ１は、第１の初期化データに関して初期化動作を行う。図１１（ａ）に示すように、第１の初期化データは、「０００」〜「１１１」の範囲をとる。ここで、オフセットアドレス生成装置９６ａにおいてオフセットアドレスを［１０００００］とする。これにより、加算機１０６ａで加算された後に出力されるアドレスデータは、［１０００００］〜［１００１１１］に変換される。従って、メモリ３６には、アドレス［１０００００］〜［１００１１１］へ対応する４つの真偽値データ［００］，［０１］，［１０］，［１１］がそれぞれ書き込まれる。
次に、ＣＰＵ１は、第２の初期化データに関して初期化動作を行う。図１１（ｂ）に示すように、第２の初期化データは、「００」〜「１１」の範囲をとる。ここで、オフセットアドレス生成装置９６ｂにおいてオフセットアドレスを、上記第１の初期化データの格納先に続く［１０１０００］とする。これにより、加算機１０６ｂで加算された後に出力されるアドレスデータは、［１０１０００］〜［１０１０１１］に変換される。従って、メモリ３６には、アドレス［１０１０００］〜［１０１０１１］へ対応する２つの真偽値データ［０］，［１］がそれぞれ書き込まれる。
さらに、ＣＰＵ１は、第３の初期化データに関して初期化動作を行う。図１１（ｃ）に示すように、第３の初期化データは、「０００」〜「１１１」の範囲をとる。ここで、オフセットアドレス生成装置９６ｃにおいてオフセットアドレスを、上記第２の初期化データの格納先に続く［１０１１００］とする。これにより、加算機１０６ｃで加算された後に出力されるアドレスデータは、［１０１１００］〜［１１００１１］に変換される。従って、メモリ３６には、アドレス［１０１１００］〜［１１００１１］へ対応する４つの真偽値データ［００］，［０１］，［１０］，［１１］がそれぞれ書き込まれる。
以上の第１〜第３の初期化データに関しての初期化処理が終わると、ＣＰＵ１は、第４の初期化データに関して初期化動作を行う。メモリ３６内のアドレス領域［００００００］〜［０１１１１１］の真偽値データの書き込みを行う。