【手続補正書】
【提出日】令和1年9月20日(2019.9.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチスレッドの連想メモリ（ＣＡＭ）デバイスであって、
第１のスレッドに対応する第１の仮想アドレスを受信するように構成された第１の入力と、
第２のスレッドに対応する第２の仮想アドレスを受信するように構成された第２の入力と、
複数の物理アドレスのうち１つの物理アドレスにマッピングされたバイナリワードを記憶するようにそれぞれ構成された複数のレジスタを含むレジスタバンクと、
フルアソシアティブ構成で前記複数のレジスタのうち１つのレジスタにそれぞれ接続された第１の複数のコンパレータを含む第１のコンパレータバンクであって、前記第１の複数のコンパレータの各々が、第１の一致が存在するか否かを判別するために、前記第１の仮想アドレスを、関連するレジスタに記憶されたバイナリワードと比較するように構成されている、第１のコンパレータバンクと、
フルアソシアティブ構成で前記複数のレジスタのうち１つのレジスタにそれぞれ接続された第２の複数のコンパレータを含む第２のコンパレータバンクであって、前記第２の複数のコンパレータの各々が、第２の一致が存在するか否かを判別するために、前記第２の仮想アドレスを、関連するレジスタに記憶されたバイナリワードと比較するように構成されている、第２のコンパレータバンクと、を備える、
マルチスレッドのＣＡＭデバイス。
【請求項２】
前記第１の一致が前記第１のコンパレータバンクに存在するか否かを示す第１のサマリヒット指標を受信し、前記第２の一致が前記第２のコンパレータバンクに存在するか否かを示す第２のサマリヒット指標を受信し、最終的な結果を出力するように構成された論理回路をさらに備え、
前記第１のスレッド及び前記第２のスレッドの一方が同時にアクティブであり、前記第１のスレッドがアクティブである状況では、前記最終的な結果が前記第１のサマリヒット指標であり、前記第２のスレッドがアクティブである状況では、前記最終的な結果が前記第２のサマリヒット指標である、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項３】
前記第１の複数のコンパレータの各々は、前記第１のスレッドがアクティブ且つ有効である間に前記第１の仮想アドレスを受信し、前記第１のスレッドが非アクティブ又は無効である間に、前記第１のスレッドが最後にアクティブ且つ有効であったときに前記第１の入力によって受信された第１の仮想アドレスである以前の第１の仮想アドレスを受信するように構成されており、
前記第２の複数のコンパレータの各々は、前記第２のスレッドがアクティブ且つ有効である間に前記第２の仮想アドレスを受信し、前記第２のスレッドが非アクティブ又は無効である間に、前記第２のスレッドが最後にアクティブ且つ有効であったときに前記第２の入力によって受信された第２の仮想アドレスである以前の第２の仮想アドレスを受信するように構成されている、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項４】
前記第１の仮想アドレスを記憶するように構成された第１のアドレスレジスタであって、前記第１のコンパレータバンクは、前記第１のスレッドがアクティブ且つ有効な状況で前記第１の仮想アドレスを前記第１のアドレスレジスタから受信するように構成されている、第１のアドレスレジスタと、
前記第２の仮想アドレスを記憶するように構成された第２のアドレスレジスタであって、前記第２のコンパレータバンクは、前記第２のスレッドがアクティブ且つ有効な状況で前記第２の仮想アドレスを前記第２のアドレスレジスタから受信するように構成されている、第２のアドレスレジスタと、をさらに備える、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項５】
前記第１の仮想アドレスを記憶するように構成された第１のアドレスキャプチャ回路であって、前記第１のコンパレータバンクは、前記第１のスレッドが非アクティブ又は無効である状況で、前記第１の仮想アドレスを前記第１のアドレスキャプチャ回路から受信するように構成されている、第１のアドレスキャプチャ回路と、
前記第２の仮想アドレスを記憶するように構成された第２のアドレスキャプチャ回路であって、前記第２のコンパレータバンクは、前記第２のスレッドが非アクティブ又は無効である状況で、前記第２の仮想アドレスを前記第２のアドレスキャプチャ回路から受信するように構成されている、第２のアドレスキャプチャ回路と、をさらに備える、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項６】
前記第１の仮想アドレスは、前記第１のスレッドが最後にアクティブ且つ有効であったときに前記第１のアドレスキャプチャ回路に提供された仮想アドレスであり、
前記第２の仮想アドレスは、前記第２のスレッドが最後にアクティブ且つ有効であったときに前記第２のアドレスキャプチャ回路に提供された仮想アドレスである、
請求項５のマルチスレッドのＣＡＭデバイス。
【請求項７】
前記第１のコンパレータバンクの複数のマッチラインに接続された第１の論理コンポーネントであって、前記第１の複数のコンパレータの比較結果に基づいて第１のサマリヒット指標を出力するように構成された第１の論理コンポーネントと、
前記第２のコンパレータバンクの複数のマッチラインに接続された第２の論理コンポーネントであって、前記第２の複数のコンパレータの比較結果に基づいて第２のサマリヒット指標を出力するように構成された第２の論理コンポーネントと、をさらに備える、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項８】
前記第１のサマリヒット指標は、前記第１の複数のコンパレータのうち少なくとも１つのコンパレータが、前記第１の仮想アドレスを、関連するレジスタに記憶されたバイナリワードに一致させるという条件で、前記第１の一致が存在することを示し、
前記第２のサマリヒット指標は、前記第２の複数のコンパレータのうち少なくとも１つのコンパレータが、前記第２の仮想アドレスを、関連するレジスタに記憶されたバイナリワードに一致させるという条件で、前記第２の一致が存在することを示す、
請求項７のマルチスレッドのＣＡＭデバイス。
【請求項９】
前記第１の複数のコンパレータの各々は、前記第１のスレッドが非アクティブ又は無効である状況において、前記第１のコンパレータバンクに提供された以前の第１の仮想アドレスであって、前記第１のスレッドが最後にアクティブ且つ有効であったときに前記第１の入力によって受信された第１の仮想アドレスである以前の第１の仮想アドレスに対応する入力状態を維持し、
前記第２の複数のコンパレータの各々は、前記第２のスレッドが非アクティブ又は無効である状況において、前記第２のコンパレータバンクに提供された以前の第２の仮想アドレスであって、前記第２のスレッドが最後にアクティブ且つ有効であったときに前記第２の入力によって受信された第２の仮想アドレスである以前の第２の仮想アドレスに対応する入力状態を維持する、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項１０】
前記第１の複数のコンパレータの各々は、前記第１のスレッドがアクティブ且つ有効である状況で前記第１の仮想アドレスを受信するように構成されており、
前記第２の複数のコンパレータの各々は、前記第２のスレッドがアクティブ且つ有効である状況で前記第２の仮想アドレスを受信するように構成されている、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項１１】
前記第１のコンパレータバンクは、前記第２のコンパレータバンクから分離されており、前記第２のコンパレータバンクと同じである、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項１２】
前記マルチスレッドのＣＡＭデバイスは、命令変換索引バッファＣＡＭである、
請求項１のマルチスレッドのＣＡＭデバイス。
【請求項１３】
マルチスレッドの連想メモリ（ＣＡＭ）方法であって、
第１のコンパレータバンクが、第１のスレッドに対応する第１の仮想アドレスを受信することであって、前記第１のコンパレータバンクは、フルアソシアティブ構成で複数のレジスタのうち１つのレジスタにそれぞれ接続された第１の複数のコンパレータを含む、ことと、
第２のコンパレータバンクが、第２のスレッドに対応する第２の仮想アドレスを受信することであって、前記第２のコンパレータバンクは、フルアソシアティブ構成で前記複数のレジスタのうち１つのレジスタにそれぞれ接続された第２の複数のコンパレータを含む、ことと、
前記第１の複数のコンパレータの各々が、第１の一致が存在するかどうかを判別するために、前記第１の仮想アドレスを、関連するレジスタに記憶されたバイナリワードと比較することと、
前記第２の複数のコンパレータの各々が、第２の一致が存在するかどうかを判別するために、前記第２の仮想アドレスを、関連するレジスタに記憶されたバイナリワードと比較することと、を含む、
方法。
【請求項１４】
前記第１の一致が前記第１のコンパレータバンクに存在するか否か、又は、前記第２の一致が前記第２のコンパレータバンクに存在するか否かに基づいて、最終的な結果を生成することであって、前記第１のスレッド及び前記第２のスレッドの一方が同時にアクティブであり、前記第１のスレッドがアクティブである状況では、前記最終的な結果が前記第１の一致が存在するか否かに対応し、前記第２のスレッドがアクティブである状況では、前記最終的な結果が前記第２の一致が存在するか否かに対応する、ことと、
前記最終的な結果を出力することと、をさらに含む、
請求項１３の方法。
【請求項１５】
前記第１のコンパレータバンクが、前記第１のスレッドがアクティブ且つ有効である間に前記第１の仮想アドレスを受信し、前記第１のスレッドが非アクティブ又は無効である間に、前記第１のスレッドが最後にアクティブ且つ有効であったときに前記第１の入力によって受信された第１の仮想アドレスである以前の第１の仮想アドレスを受信することと、
前記第２のコンパレータバンクが、前記第２のスレッドがアクティブ且つ有効である間に前記第２の仮想アドレスを受信し、前記第２のスレッドが非アクティブ又は無効である間に、前記第２のスレッドが最後にアクティブ且つ有効であったときに前記第２の入力によって受信された第２の仮想アドレスである以前の第２の仮想アドレスを受信することと、をさらに含む、
請求項１３の方法。
【請求項１６】
前記第１のスレッドがアクティブ且つ有効である状況で、前記第１の仮想アドレスが第１のアドレスレジスタから受信され、
前記第２のスレッドがアクティブ且つ有効である状況で、前記第２の仮想アドレスが第２のアドレスレジスタから受信される、
請求項１５の方法。
【請求項１７】
前記第１のスレッドが非アクティブ又は無効である状況で、前記以前の第１の仮想アドレスが第１のアドレスキャプチャ回路から受信され、
前記第２のスレッドが非アクティブ又は無効である状況で、前記以前の第２の仮想アドレスが第２のアドレスキャプチャ回路から受信される、
請求項１６の方法。
【請求項１８】
第１の論理コンポーネントが、前記第１の複数のコンパレータの比較結果に基づいて第１のサマリヒット指標を生成することであって、前記第１のサマリヒット指標は、前記第１の複数のコンパレータのうち少なくとも１つのコンパレータが、前記第１の仮想アドレスを、関連するレジスタに記憶されたバイナリワードに一致させるという条件で、前記第１の一致が存在することを示す、ことと、
第２の論理コンポーネントが、前記第２の複数のコンパレータの比較結果に基づいて第２のサマリヒット指標を生成することであって、前記第２のサマリヒット指標は、前記第２の複数のコンパレータのうち少なくとも１つのコンパレータが、前記第２の仮想アドレスを、関連するレジスタに記憶されたバイナリワードに一致させるという条件で、前記第２の一致が存在することを示す、ことと、をさらに含む、
請求項１３の方法。
【請求項１９】
前記第１の複数のコンパレータの各々が、前記第１のスレッドが非アクティブ又は無効である状況において、前記第１のコンパレータバンクに提供された以前の第１の仮想アドレスであって、前記第１のスレッドが最後にアクティブ且つ有効であったときに前記第１のコンパレータバンクによって受信された第１の仮想アドレスである以前の第１の仮想アドレスに対応する入力状態を維持することと、
前記第２の複数のコンパレータの各々が、前記第２のスレッドが非アクティブ又は無効である状況において、前記第２のコンパレータバンクに提供された以前の第２の仮想アドレスであって、前記第２のスレッドが最後にアクティブ且つ有効であったときに前記第２のコンパレータバンクによって受信された第２の仮想アドレスである以前の第２の仮想アドレスに対応する入力状態を維持することと、をさらに含む、
請求項１３の方法。
【請求項２０】
前記第１の複数のコンパレータの各々が、前記第１のスレッドがアクティブ且つ有効である状況で、前記第１の仮想アドレスを受信することと、
前記第２の複数のコンパレータの各々が、前記第２のスレッドがアクティブ且つ有効である状況で、前記第２の仮想アドレスを受信することと、をさらに含む、
請求項１９の方法。