【手続補正書】
【提出日】令和3年11月12日(2021.11.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサ同期システム（１２７）であって、
第１のプロセッサユニット（１３２）で実行される内部同期装置（１３０）を備え、前記内部同期装置（１３０）は、外部同期装置（１２２）と通信して、前記外部同期装置（１２２）と通信する前記第１のプロセッサユニット（１３２）と第２のプロセッサユニット（１３４）との間に望ましくない量のスキュー（１３６）が存在するか否かを判定し、前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）との間に前記望ましくない量のスキュー（１３６）が存在するとき、前記望ましくない量のスキュー（１３６）が低減されるように、前記第１のプロセッサユニット（１３２）に、必要とされる結果を生成することなく、該第１のプロセッサユニット（１３２）から予めスケジューリングされた遊休時間を除去する動作（１３８）を実行するよう選択的に指示するように構成されており、前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）によって生成された対応メッセージについて完全性チェックが実行される高完全性モード（１０６）に対して、前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）が互いに関連付けられている、プロセッサ同期システム（１２７）。
【請求項２】
前記外部同期装置（１２２）が、前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）との間の前記望ましくない量のスキュー（１３６）についての情報を記憶する、請求項１に記載のプロセッサ同期システム（１２７）。
【請求項３】
前記外部同期装置（１２２）が、前記望ましくない量のスキュー（１３６）についての情報をレジスタ（１５６）内に記憶し、前記内部同期装置（１３０）は、前記プロセッサ同期システム（１２７）と通信する前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）との間に前記望ましくない量のスキュー（１３６）が存在するか否かを判定するために前記外部同期装置（１２２）と通信するにあたって、前記外部同期装置（１２２）内の前記第１のプロセッサユニット（１３２）のための第１のレジスタ（１５８）に書き込み、前記外部同期装置（１２２）内の前記第２のプロセッサユニット（１３４）のための第２のレジスタ（１６０）を読み取るように構成され、前記第１のレジスタ（１５８）の値を前記第２のレジスタ（１６０）の値と比較して、前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）が指示命令を同期して処理するように調節される時を決定する、請求項１又は２に記載のプロセッサ同期システム（１２７）。
【請求項４】
前記外部同期装置（１２２）が、前記第１のプロセッサユニット（１３２）のための第１のクロック（１６２）と前記第２のプロセッサユニット（１３４）のための第２のクロック（１６４）を含み、前記第１のクロック（１６２）と前記第２のクロック（１６４）は、指示命令を同期して処理するように前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）とを調節するために使用される、請求項１から３のいずれか一項に記載のプロセッサ同期システム（１２７）。
【請求項５】
前記第１のプロセッサユニット（１３２）が先行プロセッサユニットであり、前記第２のプロセッサユニット（１３４）が後行プロセッサユニットであり、差異レジスタが前記先行プロセッサユニットにゼロ値を返し、前記差異レジスタが前記後行プロセッサユニットに前記望ましくない量のスキュー（１３６）の値を返す、請求項１から４のいずれか一項に記載のプロセッサ同期システム（１２７）。
【請求項６】
前記第１のプロセッサユニット（１３２）内の前記内部同期装置（１３０）が、前記第１のプロセッサユニット（１３２）が前記第２のプロセッサユニット（１３４）よりも遅いことを検出したとき、前記第１のプロセッサユニット（１３２）から前記予めスケジューリングされた遊休時間が除去され、前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）との間の前記望ましくない量のスキュー（１３６）が低減される、請求項１から５のいずれか一項に記載のプロセッサ同期システム（１２７）。
【請求項７】
前記予めスケジューリングされた遊休時間を除去した後で、前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）との間に未だ前記望ましくない量のスキュー（１３６）が存在するならば、更なる予めスケジューリングされた遊休時間を除去するように、前記内部同期装置（１３０）が構成されている、請求項１から６のいずれか一項に記載のプロセッサ同期システム（１２７）。
【請求項８】
プロセッサユニットを同期させるための方法であって、
外部同期装置（１２２）と通信して、同期システムと通信する第１のプロセッサユニット（１３２）と第２のプロセッサユニット（１３４）との間に望ましくない量のスキュー（１３６）が存在するか否かを判定すること、及び
前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）との間に前記望ましくない量のスキュー（１３６）が存在するとき、前記望ましくない量のスキュー（１３６）が低減されるように、前記第１のプロセッサユニット（１３２）に、必要とされる結果を生成することなく、該第１のプロセッサユニット（１３２）から予めスケジューリングされた遊休時間を除去する動作（１３８）を実行するよう選択的に指示することを含み、
前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）によって生成された対応メッセージについて完全性チェックが実行される高完全性モード（１０６）に対して、前記第１のプロセッサユニット（１３２）と前記第２のプロセッサユニット（１３４）が互いに関連付けられている、方法。
【請求項９】
前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間の前記望ましくない量のスキューについての情報を前記外部同期装置内に記憶することを更に含む、請求項８に記載の方法。
【請求項１０】
前記外部同期装置は、前記望ましくない量のスキューについての情報をレジスタ内に記憶し、
前記外部同期装置と通信して、前記同期システムと通信する前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間に前記望ましくない量のスキューが存在するか否かを判定することが、
前記外部同期装置内の前記第１のプロセッサユニットのための第１のレジスタに書き込むこと、
前記外部同期装置内の前記第２のプロセッサユニットのための第２のレジスタを読み取ること、及び
前記第１のレジスタの値を前記第２のレジスタの値と比較して、前記第１のプロセッサユニットと前記第２のプロセッサユニットが指示命令を同期して処理するように調節される時を決定することを含む、請求項８又は９に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
プロセッサユニット１０２によって処理におけるタイミングを調節するためにスキュー１３６を低減させる例示的な一実施例では、動作１３８が、第１のプロセッサユニット１３２から予めスケジューリングされた遊休時間１６６を除去し、第１のプロセッサユニット１３２と第２のプロセッサユニット１３４との間のスキュー１３６の量を低減させる。後行プロセッサユニット（lagging processor unit）から予めスケジューリングされた遊休時間を除去することは、そのプロセッサユニットが、指示命令を処理することに関する時間にスキップすることをもたらす。内部同期装置１３０は、予めスケジューリングされた遊休時間１６６を除去した後で、第１のプロセッサユニット１３２と第２のプロセッサユニット１３４との間で未だ望ましくない量のスキュー１３６が存在するならば、更なる予めスケジューリングされた遊休時間１６８を除去するように構成されている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
更に別の例示的な一実施例では、第１のプロセッサユニット１３２が、先行プロセッサユニット（leading processor unit）であり、第２のプロセッサユニット１３４が、後行プロセッサユニット（lagging processor unit）であり、動作は、第１のプロセッサユニット１３２に遊休時間を追加させて、第２のプロセッサユニット１３４である後行プロセッサユニットが調節されたタイミングを有し得るように、第１のプロセッサユニット１３２にアイドリングさせる。このやり方では、２つのプロセッサユニットのタイミングが、同期された処理のために調節され得る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
外部同期装置は、２つのプロセッサユニットが差異レジスタを読む時間における差異を表す値を用いて差異レジスタを設定する。描かれているように、先行プロセッサユニットは、ゼロの値を取得することとなる。後行プロセッサユニットは、実際のスキュー時間を見る。例えば、後行プロセッサユニットは、先行プロセッサユニットが差異レジスタを読む時間と、後行プロセッサユニットが差異レジスタを読む時間と、の間の差異である数値を取得することとなる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７６
【補正方法】変更
【補正の内容】
【００７６】
この例示的な実施例では、動作が、後行プロセッサユニットの速度を上げるために実行される。例えば、後行プロセッサユニットから予めスケジューリングされた遊休時間が除去され得る。代替的に、先行プロセッサユニットは、後行プロセッサユニットが追いつくことを可能にするためにアイドリングし得る。例えば、２つのプロセッサユニットが同じデータを使用して同じプログラムを実行しているときに、結果を取得するためにデータを処理することを含まない動作を実行することは、必要とされる結果を生成しない動作であると考えられる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
待ち行列がｎ個のメッセージのための余地を有さないならば、該プロセスは、遊休時間を追加し、その後、先行プロセッサユニットに戻る（動作７０４）。該プロセスは、その後、動作７００に戻る。このプロセスは、待ち行列に３つのメッセージを書くための余地が利用可能になるまで繰り返される。結果として、待ち行列がｎ個のメッセージのための余地を有さないならば、プロセッサユニットは待ち行列内にメッセージを置かない。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１３４
【補正方法】変更
【補正の内容】
【０１３４】
更に、本開示は以下の条項による実施形態を含む。
条項１
第１のプロセッサユニットで実行される内部同期装置であって、外部同期装置と通信して、前記外部同期装置と通信する前記第１のプロセッサユニットと第２のプロセッサユニットとの間に望ましくない量のスキューが存在するか否かを判定し、前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間に前記望ましくない量のスキューが存在するときに、前記第１のプロセッサユニットに、必要とされる結果を生成することなしに選択的に動作を実行させて、前記望ましくない量のスキューが低減させるように構成されている、内部同期装置を備え、前記第１のプロセッサユニットと前記第２のプロセッサユニットによって生成された対応メッセージについて完全性チェックが実行される高完全性モードに対して、前記第１のプロセッサユニットと前記第２のプロセッサユニットが互いに関連付けられている、プロセッサ同期システム。
条項２
前記第１のプロセッサユニットと前記第２のプロセッサユニットが同じ種類である、条項１に記載のプロセッサ同期システム。
条項３
前記第１のプロセッサユニットと前記第２のプロセッサユニットが異なる種類である、条項１に記載のプロセッサ同期システム。
条項４
前記外部同期装置が、前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間の前記望ましくない量のスキューについての情報を記憶する、条項１に記載のプロセッサ同期システム。
条項５
前記外部同期装置が、前記望ましくない量のスキューについての前記情報をレジスタ内に記憶し、前記プロセッサ同期システムと通信する前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間に前記望ましくない量のスキューが存在するか否かを判定するために、前記プロセッサ同期システムが前記外部同期装置と通信するにあたって、前記内部同期装置が、前記外部同期装置内の前記第１のプロセッサユニットのための第１のレジスタに書き、前記外部同期装置内の前記第２のプロセッサユニットのための第２のレジスタを読むように構成され、前記第１のレジスタの値を前記第２のレジスタの値と比較して、前記第１のプロセッサユニットと前記第２のプロセッサユニットが指示命令を同期して処理するように調節される時を決定する、条項４に記載のプロセッサ同期システム。
条項６
前記外部同期装置が、前記第１のプロセッサユニットのための第１のクロックと前記第２のプロセッサユニットのための第２のクロックを含み、前記第１のクロックと前記第２のクロックが、前記第１のプロセッサユニットと前記第２のプロセッサユニットが指示命令を同期して処理するように調節するために使用される、条項１に記載のプロセッサ同期システム。
条項７
前記第１のプロセッサユニットが先行プロセッサユニットであり、前記第２のプロセッサユニットが後行プロセッサユニットであり、差異レジスタが前記先行プロセッサユニットにゼロ値を返し、前記差異レジスタが前記後行プロセッサユニットに前記望ましくない量のスキューの値を返す、条項６に記載のプロセッサ同期システム。
条項８
前記第１のプロセッサユニット内の前記内部同期装置が、前記第１のプロセッサユニットが前記第２のプロセッサユニットよりも遅いことを検出したときに、前記動作が前記第１のプロセッサユニットから予めスケジューリングされた遊休時間を除去し、前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間の前記望ましくない量のスキューが低減される、条項１に記載のプロセッサ同期システム。
条項９
前記予めスケジューリングされた遊休時間を除去した後で、前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間に未だ前記望ましくない量のスキューが存在するならば、更なる予めスケジューリングされた遊休時間を除去するように、前記内部同期装置が構成されている、条項８に記載のプロセッサ同期システム。
条項１０
前記第１のプロセッサユニットが先行プロセッサユニットであり、前記第２のプロセッサユニットが後行プロセッサユニットであり、前記動作が前記第１のプロセッサユニットに予めスケジューリングされた遊休時間を追加させ、前記第１のプロセッサユニットをより遅く動作させる、条項１に記載のプロセッサ同期システム。
条項１１
第３のプロセッサユニットであって、前記内部同期装置が前記外部同期装置と通信して、前記外部同期装置と通信する前記第１のプロセッサユニット、前記第２のプロセッサユニット、及び前記第３のプロセッサユニットの間に望ましくない量のスキューが存在するか否かを判定し、前記第１のプロセッサユニット、前記第２のプロセッサユニット、及び前記第３のプロセッサユニットの間に前記望ましくない量のスキューが存在するときに、前記第１のプロセッサユニットに、前記必要とされる結果を生成することなしに選択的に前記動作を実行させて、前記望ましくない量のスキューを低減させるように構成されている、第３のプロセッサユニットを更に備える、条項１にプロセッサ同期システム。
条項１２
前記第１のプロセッサユニットと前記第２のプロセッサユニットが、各々、マルチコアプロセッサユニット、単一コアプロセッサユニット、同種マルチコアプロセッサユニット、異種マルチコアプロセッサユニット、グラフィックスプロセッサユニット、汎用プロセッサユニット、のうちの少なくとも１つを含む群から選択される、条項１に記載のプロセッサ同期システム。
条項１３
前記内部同期装置が、前記第１のプロセッサユニットで実行されるソフトウェア又はハードウェアのうちの少なくとも一方を備える、条項１に記載のプロセッサ同期システム。
条項１４
プロセッサユニットを同期させるための方法であって、
外部同期装置と通信して、同期システムと通信する第１のプロセッサユニットと第２のプロセッサユニットとの間に望ましくない量のスキューが存在するか否かを判定すること、及び
前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間に前記望ましくない量のスキューが存在するときに、前記第１のプロセッサユニットに、必要とされる結果を生成することなしに選択的に動作を実行させて、前記望ましくない量のスキューを低減させることを含み、
前記第１のプロセッサユニットと前記第２のプロセッサユニットによって生成された対応メッセージについて完全性チェックが実行される高完全性モードに対して、前記第１のプロセッサユニットと前記第２のプロセッサユニットが互いに関連付けられている、方法。
条項１５
前記第１のプロセッサユニットと前記第２のプロセッサユニットが同じ種類である、条項１４に記載の方法。
条項１６
前記第１のプロセッサユニットと前記第２のプロセッサユニットが異なる種類である、条項１４に記載の方法。
条項１７
前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間の前記望ましくない量のスキューについての情報を前記外部同期装置内に記憶することを更に含む、条項１４に記載の方法。
条項１８
前記外部同期装置が前記望ましくない量のスキューについての情報をレジスタ内に記憶し、前記同期システムと通信して、前記同期システムと通信する前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間に前記望ましくない量のスキューが存在するか否かを判定することが、
前記同期システム内の前記第１のプロセッサユニットのための第１のレジスタに書くこと、
前記同期システム内の前記第２のプロセッサユニットのための第２のレジスタを読むこと、及び
前記第１のレジスタの値を前記第２のレジスタの値と比較して、前記第１のプロセッサユニットと前記第２のプロセッサユニットが指示命令を同期して処理するように調節される時を決定することを含む、条項１７に記載の方法。
条項１９
前記外部同期装置が、前記第１のプロセッサユニットのための第１のクロックと前記第２のプロセッサユニットのための第２のクロックを含み、前記外部同期装置が、前記第２のプロセッサユニットのための前記第２のクロックのためのレジスタを読む、条項１４に記載の方法。
条項２０
幾つかの支持命令が、前記第１のプロセッサユニットから予めスケジューリングされた遊休時間を除去し、前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間の前記望ましくない量のスキューが低減される、条項１４に記載の方法。
条項２１
前記予めスケジューリングされた遊休時間を除去した後で、前記第１のプロセッサユニットと前記第２のプロセッサユニットとの間に未だ前記望ましくない量のスキューが存在するならば、更なる予めスケジューリングされた遊休時間を除去することを更に含む、条項２０に記載の方法。
条項２２
前記第１のプロセッサユニットが先行プロセッサユニットであり、前記第２のプロセッサユニットが後行プロセッサユニットであり、幾つかの指示命令が、前記第１のプロセッサユニットにアイドリングさせる、条項１４に記載の方法。
条項２３
第３のプロセッサユニットが存在し、前記方法が、
前記外部同期装置と通信して、前記同期システムと通信する前記第１のプロセッサユニット、前記第２のプロセッサユニット、及び前記第３のプロセッサユニットの間に前記望ましくない量のスキューが存在するか否かを判定すること、及び
前記第１のプロセッサユニット、前記第２のプロセッサユニット、及び前記第３のプロセッサユニットの間に前記望ましくない量のスキューが存在するときに、前記第１のプロセッサユニットに、前記必要とされる結果を生成することなしに選択的に動作を実行させ、前記望ましくない量のスキューを低減させることを含み、
前記第１のプロセッサユニット、前記第２のプロセッサユニット、及び前記第３のプロセッサユニットによって生成された対応メッセージについて完全性チェックが実行される高完全性モードに対して、前記第１のプロセッサユニット、前記第２のプロセッサユニット、及び前記第３のプロセッサユニットが互いに関連付けられている、条項１４に記載の方法。
条項２４
前記第１のプロセッサユニットと前記第２のプロセッサユニットが、各々、マルチコアプロセッサユニット、単一コアプロセッサユニット、同種マルチコアプロセッサユニット、異種マルチコアプロセッサユニット、グラフィックスプロセッサユニット、汎用プロセッサユニット、のうちの少なくとも１つを含む群から選択される、条項１４に記載の方法。