【手続補正書】
【提出日】平成20年8月13日(2008.8.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１プロセッサがキャッシュ・ラインを反復的に読み取るステップで、前記キャッシュ・ラインが前記第１プロセッサと第２プロセッサの両方が共有するリソースの共有メモリのラインからキャッシュされ、前記共有メモリ・ラインと前記キャッシュ・ラインとのコヒーレンシをキャッシュ・コヒーレンシ・プロトコルに従い保ち、前記反復的なキャッシュ・ラインの読み取りが前記第１プロセッサを占有して前記第１プロセッサが前記共有リソースにアクセスするのを禁止する、前記読み取るステップと、
前記第２プロセッサが前記共有メモリ・ラインにデータを書き込んで、前記共有リソースに前記第１プロセッサからアクセスできることを前記第１プロセッサに知らせるステップと、
前記第１プロセッサが、前記キャッシュ・コヒーレンシ・プロトコルに従い、前記共有メモリ・ラインへの前記データの書き込みに応答して、前記キャッシュ・ラインの状態を変更するステップとを有する、方法。
【請求項２】
前記第１プロセッサが、前記キャッシュ・コヒーレンシ・プロトコルに従い前記共有メモリ・ラインに前記第２プロセッサにより書き込まれた前記データを前記キャッシュ・ラインに取り出すステップをさらに有する、請求項１の方法。
【請求項３】
前記第１プロセッサが、前記キャッシュ・ラインの読み取り、前記キャッシュ・ラインの状態の変更、および前記共有メモリ・ラインの読み取りを含む第１エラー処理手続きを実行するステップをさらに有する、請求項２の方法。
【請求項４】
前記第２プロセッサが、前記第１プロセッサが前記キャッシュ・ラインを読み取る間の共有リソースのリセット、および前記共有リソースのリセットの完了時の前記共有メモリ・ラインへの前記データの書き込みを含む第２エラー処理手続きを実行するステップをさらに有する、請求項３の方法。
【請求項５】
エラー状態がある場合に、共有リソースが前記第１および第２プロセッサにそれぞれ第１および第２割込みを発するステップで、前記第１プロセッサは前記第１割込みに応答して前記第１エラー処理手続きを実行し、前記第２プロセッサは前記第２割込みに応答して前記第２エラー処理手続きを実行する、前記発するステップをさらに有する請求項４の方法。
【請求項６】
前記第２プロセッサが第２キャッシュ・ラインを読み取るステップで、前記第２キャッシュ・ラインは前記第１プロセッサと第２プロセッサの両方が共有するリソースの共有メモリのラインからキャッシュされ、前記共有メモリ・ラインと前記第２キャッシュ・ラインとのコヒーレンシをキャッシュ・コヒーレンシ・プロトコルに従い保ち、前記第２キャッシュ・ラインの読み取りが前記第２プロセッサを占有して前記第２プロセッサが前記共有リソースへのアクセスするのを禁止する、前記読み取るステップと、
前記第１プロセッサは前記第２キャッシュ・ラインがキャッシュされる前記共有メモリ・ラインにデータを書き込んで、共有リソースに前記第２プロセッサからアクセスできることを前記第２プロセッサに知らせるステップと、
前記第２プロセッサは、前記キャッシュ・コヒーレンシ・プロトコルに従い、前記共有メモリ・ラインへの前記データの書き込みに応答して、前記第２キャッシュ・ラインの状態を変更するステップとをさらに有する、請求項５の方法。
【請求項７】
前記第２プロセッサが、前記第１プロセッサが前記共有メモリにデータを書き込んだことを検知するようにスヌープするステップと、
前記第２プロセッサが、前記キャッシュ・コヒーレンシ・プロトコルに従い、前記第２キャッシュ・ラインがキャッシュされる前記共有メモリ・ラインに第１プロセッサにより書き込まれた前記データを前記第２キャッシュ・ラインに読み取るステップとをさらに有する、請求項１の方法。
【請求項８】
前記第２プロセッサが、前記第２キャッシュ・ラインの読み取り、前記第２キャッシュ・ラインの状態の変更、および前記共有メモリ・ラインの読み取りを含む第３エラー処理手続きを実行するステップをさらに有する、請求項７の方法。
【請求項９】
前記第１プロセッサが、前記第２プロセッサが前記第２キャッシュ・ラインを読み取る間の共有リソースのリセット、および前記共有リソースのリセット時の完了前記第２キャッシュ・ラインがキャッシュされる前記共有メモリ・ラインへの前記データの書き込みを含む第４エラー処理手続きを実行するステップをさらに有する、請求項８の方法。
【請求項１０】
前記第１プロセッサが、前記第２プロセッサが前記共有メモリ・ラインにデータを書き込んだことを検知するようにスヌープするステップをさらに有する、請求項１の方法。
【請求項１１】
前記第１プロセッサが、前記キャッシュ・ラインを反復的に読み取る期間が終了したことを判定するステップと、
前記期間の終了時、前記第１プロセッサが共有リソースのリセットを含む第２エラー処理手続きを実行するステップとをさらに有する、請求項１の方法。
【請求項１２】
キャッシュをもつ第１プロセッサと、
第２プロセッサと、
共有メモリを含む複数の共有リソースで、前記共有メモリのラインが前記第１プロセッサのキャッシュのラインにキャッシュされ、前記共有メモリ・ラインと前記キャッシュ・ラインのコヒーレンシをキャッシュ・コヒーレンシ・プロトコルに従い保つ、前記複数の共有リソースとを有し、前記第１プロセッサが前記キャッシュ・ラインを反復的に読み取るようになされたロジックをもち、前記反復的なキャッシュ・ラインの読み取りが前記第１プロセッサを占有して前記第１プロセッサが前記共有リソースにアクセスするのを禁止し、
前記第２プロセッサが前記共有メモリ・ラインにデータを書き込んで、前記共有リソースに前記第１プロセッサからアクセスできることを前記第１プロセッサに知らせるようになされたロジックをもち、
前記第１プロセッサが、前記キャッシュ・コヒーレンシ・プロトコルに従い、前記共有メモリ・ラインへの前記データの書き込みに応答して、前記キャッシュ・ラインの状態を変更するようになされたロジックをもつ、システム。
【請求項１３】
コンピユータ・システムに、請求項１〜請求項１１の何れかの方法に記載された各ステップを実行させる、プログラム。
【請求項１４】
システムによって実行されて操作を行うことのできるコードを有するプログラムで、前記システムはキャッシュをもつ第１プロセッサと、第２プロセッサと、共有メモリを含む複数の共有リソースを備え、前記共有メモリのラインが前記第１プロセッサのキャッシュのラインにキャッシュされ、前記共有メモリ・ラインと前記キャッシュ・ラインのコヒーレンシをキャッシュ・コヒーレンシ・プロトコルに従い保ち、さらに前記操作は、
第１プロセッサが前記キャッシュ・ラインを反復的に読み取り、前記反復的なキャッシュ・ラインの読み取りが前記第１プロセッサを占有して前記第１プロセッサが前記共有リソースにアクセスするのを禁止する、前記読み取るステップと、
前記第２プロセッサが前記共有メモリ・ラインにデータを書き込んで、前記共有リソースが前記第１プロセッサからアクセスできることを前記第１プロセッサに知らせるステップと、
前記第１プロセッサが、前記キャッシュ・コヒーレンシ・プロトコルに従い、前記共有メモリ・ラインへの前記データの書き込みに応答して、前記キャッシュ・ラインの状態を変更するステップとを有する、プログラム。
【請求項１５】
演算命令を配備する方法が、
コンピュータ読み取り可能コードをシステムに統合するステップを有し、前記システムがキャッシュをもつ第１プロセッサと、第２プロセッサと、共有メモリを含む複数の共有リソースとを備え、前記共有メモリのラインが前記第１プロセッサのキャッシュのラインでキャッシュされ、前記共有メモリ・ラインと前記キャッシュ・ラインのコヒーレンシをキャッシュ・コヒーレンシ・プロトコルに従い保ち、コードは前記システムとの組み合わせで、前記システムに、
前記第１プロセッサは前記キャッシュ・ラインを反復的に読み取る操作で、前記反復的なキャッシュ・ラインの読み取りが前記第１プロセッサを占有して前記第１プロセッサが前記共有リソースにアクセスするのを禁止する、前記読み取る操作と、
前記第２プロセッサが前記共有メモリ・ラインにデータを書き込んで、前記共有リソースに前記第１プロセッサからアクセスできることを前記第１プロセッサに知らせる操作と、
前記第１プロセッサが前記キャッシュ・コヒーレンシ・プロトコルに従い前記共有メモリ・ラインへの前記データの書き込みに応答して前記キャッシュ・ラインの状態を変更する操作とを行わせることができる、演算命令を配備する方法。