【手続補正書】
【提出日】平成28年9月27日(2016.9.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のプロセッサであって、前記複数のプロセッサの各プロセッサは、複数のプロセッサポートおよび１つの同期アダプタを備え、前記同期アダプタが複数のアダプタポートを備える、プロセッサと；
複数のコントローラであって、前記複数のコントローラの各コントローラは、複数のコントローラポートを備え、前記複数のコントローラポートの各コントローラポートは、前記複数のプロセッサの隣接するプロセッサのアダプタポートに接続している、コントローラと；
を備えるシステムであって、
前記複数のプロセッサの各プロセッサは、
選択的に、１つ以上のアダプタポートを介して同期信号を前記複数のコントローラのそれぞれの１つ以上のコントローラに送信し；
１つ以上のコントローラからの応答に応じてプログラム命令の実行を停止する；
ように設定され、
前記複数のコントローラの各コントローラは、
前記複数のプロセッサのそれぞれの１つ以上のプロセッサから１つ以上の同期信号を受信し；
前記受信した１つ以上の同期信号に応じて前記複数のプロセッサの前記それぞれの１つ以上のプロセッサの各々に応答を送信するように設定される、システム。
【請求項２】
前記複数のコントローラの各コントローラは、１つ以上の設定データビットを受信するように設定された設定ポートを備える、請求項１に記載のシステム。
【請求項３】
前記それぞれの１つ以上のプロセッサの各々に前記応答を送信するために、前記複数のコントローラの各コントローラは、さらに、前記１つ以上の設定データビットに応じて前記それぞれの１つ以上のプロセッサに前記応答を送信するように設定される、請求項２に記載のシステム。
【請求項４】
前記複数のコントローラの各コントローラは、レジスタを備える、請求項１に記載のシステム。
【請求項５】
前記複数のコントローラの各コントローラに対する前記１つ以上の設定ビットは、各コントローラの前記レジスタに格納される、請求項４に記載のシステム。
【請求項６】
マルチプロセッサシステムを動作させるための方法であって、前記マルチプロセッサシステムは、複数のプロセッサおよび複数の同期コントローラを備え、前記複数のプロセッサの各プロセッサは、同期アダプタを備え、前記方法は：
１つ以上のグループのプロセッサの各グループに対して設定データおよびソフトウェアを設計することであって、前記１つ以上のグループのプロセッサの各グループは、前記複数のプロセッサのサブセットを備え、前記設定データおよび前記ソフトウェアを設計することが：
前記１つ以上のグループのプロセッサの所与のグループを特定し、前記所与のグループの各プロセッサの前記ソフトウェア内に少なくとも１つの場所を特定して、同期バリアを挿入すること；
前記所与のグループの各プロセッサの各同期アダプタに接続している、前記複数の同期コントローラのうちの１つの同期コントローラを特定すること；
前記特定した同期コントローラに接続している各同期アダプタに向かう方向に応じて、前記特定した同期コントローラに対する設定データを決定し、前記設定データは、前記特定した同期コントローラと、前記所与のグループの選択されたプロセッサの前記同期アダプタとの間で複数の同期信号を伝送することを可能にすること；および
前記所与のグループの各プロセッサに対して、前記ソフトウェア内で前記特定した場所の各々に同期バリアを挿入し、各同期バリアは一連の１つ以上の同期命令を含み、各同期命令は１つ以上の引数を含み、前記１つ以上の引数の各引数は、前記所与のグループの各プロセッサの前記同期アダプタから、前記特定した同期コントローラの１つ以上の方向のうちの所与の１つを指定すること
を含むように設計することと；
前記設計した設定データおよびソフトウェアを前記マルチプロセッサシステムにロードすることと；
前記ロードしたソフトウェアを実行することと；
前記挿入した同期命令の所与の１つを実行している前記所与のグループの各プロセッサに応答して、前記所与のグループの各プロセッサの実行を停止することと；
前記所与のグループが前記挿入した同期命令の１つ１つを全プロセッサが実行したかどうかという判断に応答して、前記所与のグループの各プロセッサの実行を再開することとを含む、方法。
【請求項７】
前記判断した設定データは、複数の設定データビットを備え、前記複数の設定データビットのそれぞれの組み合わせに対応する各データパターンは、前記特定した同期コントローラに接続しているプロセッサの前記所与のグループの所与のプロセッサの前記同期アダプタへ向かう方向に一致する、請求項６に記載の方法。
【請求項８】
設定データを前記マルチプロセッサシステムにロードすることは、前記複数の設定データビットを前記特定した同期コントローラのレジスタに格納することを含む、請求項７に記載の方法。
【請求項９】
前記所与のグループの各プロセッサの実行を再開することは、前記特定した同期コントローラによって停止信号をデアサートすることを含む、請求項６に記載の方法。
【請求項１０】
前記所与のグループの各プロセッサの実行を停止することは、前記所与のグループの各プロセッサの前記同期アダプタによって同期リクエスト信号をアサートすることを含む、請求項６に記載の方法。
【請求項１１】
同期コントローラであって：
複数の設定ビットを格納するように設定されたレジスタであって、前記複数の設定ビットは、複数のデータパターンを符号化し、前記複数のデータパターンの各データパターンは、接続した方向の複数のサブセットの所与の１つに一致する、レジスタと；
１つ以上の論理回路であって、前記１つ以上の論理回路の各論理回路は：
１つ以上の同期リクエスト信号を受信し；
前記受信した１つ以上の同期リクエストおよび前記複数のデータパターンの対応するデータパターンに応じて、少なくとも１つのプロセッサに対する停止信号を生成し、前記少なくとも１つのプロセッサは、接続した方向の前記複数のサブセットの対応する１つの所与の方向で同期コントローラに接続される
ように設定される、論理回路とを備える、同期コントローラ。
【請求項１２】
１つ以上の入力の各入力は、ラッチを含む、請求項１１に記載の同期コントローラ。
【請求項１３】
前記受信した１つ以上の同期リクエストおよび前記複数のデータパターンの前記対応するデータパターンに応じて前記停止信号を生成するために、各論理回路は、さらに、接続した方向の前記複数のサブセットのうちの対応する１つの方向に対応する１つ以上の停止信号を生成するように設定される、請求項１１に記載の同期コントローラ。
【請求項１４】
前記受信した同期リクエストおよび前記複数のデータパターンの前記対応するデータパターンに応じて前記停止信号を生成するために、各論理回路は、さらに、前記受信した同期信号のうちの選択した１つのアサートに応答して前記停止信号を生成するように設定され、前記受信した同期信号のうちの前記選択した１つは、前記複数のデータパターンの前記対応するデータパターンの方向に対応する、請求項１１に記載の同期コントローラ。
【請求項１５】
前記受信した同期リクエストおよび前記複数のデータパターンの前記対応するデータパターンに応じて前記停止信号を生成するために、各論理回路は、さらに、前記残りの受信した同期信号がアサートされていないという判断に応答して前記停止信号を生成するように設定される、請求項１４に記載の同期コントローラ。