【手続補正書】
【提出日】令和1年7月24日(2019.7.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
タイルの配列及び前記タイル間の通信のための相互接続を備える処理システムであって、
各タイルは、それ自身の処理ユニットとメモリとを有し、
各タイルの前記処理ユニットは、機械コード命令を実行するための実行ユニットを備え、それぞれが前記タイルの命令セットにおける命令タイプの定義済みセットのインスタンスであり、前記命令セット内の各命令タイプは、対応するオペコードと、０個以上のオペランドを取り込むための０個以上のオペランドフィールドとによって定義され、
前記相互接続は、バルク同期並列方式に従って前記タイルの一部又はすべての群間の通信を行うように動作可能であり、
前記群内の前記タイルそれぞれは、オンタイルの計算段階とそれに続くタイル間交換段階を実行するとともに、前記群内のすべての前記タイルが前記計算段階を完了するまで前記交換段階が制止され、前記群内の各タイルは、前記計算段階の完了時にローカル終了状態を有しており、
前記命令セットは、その計算段階の完了時に前記群内の各タイルによる実行のための同期命令を含み、前記同期命令の実行は、前記実行ユニットに同期要求を前記相互接続内のハードウェアロジックに送信させ、
前記相互接続内の前記ロジックは、前記ローカル終了状態をグローバル終了状態に集合させるように構成され、前記群内のすべての前記タイルからの前記同期要求を受信することによって示されるように、前記群内のすべての前記タイルによる前記計算段階の完了に応答して、前記群内の前記タイルの各々上のグローバル終了状態レジスタに前記グローバル終了状態を記憶し、それにより、前記群内の前記タイルの各々上で実行されているコードの一部によって前記グローバル終了状態をアクセス可能にする処理システム。
【請求項２】
各タイル上の前記実行ユニットは、前記同期命令の実行に応答して命令発行を一時停止するように構成され、前記相互接続グループ内の前記ロジックは、前記群内のすべての前記タイルから前記同期要求を受信することに応答して、前記命令発行を再開するために前記群内の前記タイルの各々に同期肯定応答信号を返送するように構成されている、請求項１に記載の処理システム。
【請求項３】
前記ローカル終了状態及び前記グローバル終了状態の各々は、単一ビットである、請求項１又は２に記載の処理システム。
【請求項４】
前記集合体は、前記ローカル終了状態のブールＡＮＤ、又は前記ローカル終了状態のブールＯＲからなる、請求項３に記載の処理システム。
【請求項５】
前記集合された終了状態は、前記ローカル終了状態がすべて真であるか、すべて偽であるか、又は混合されているかを示す、３値を表す少なくとも２ビットからなる、請求項１又は２に記載の処理システム。
【請求項６】
前記タイル群の各々は、前記タイルの前記ローカル終了状態を表すように配列されたローカル終了状態レジスタを備える、請求項１〜５のいずれか１項に記載の処理システム。
【請求項７】
前記群内の各タイルは、
複数のコンテキストレジスタセットであって、各々が複数のスレッドのうちの個別の１つのプログラム状態を記憶するように配列された各コンテキストレジスタセットと、
インターリーブされたタイムスロットの反復シーケンスにおいて、複数のタイムスロットの各々で複数のワーカースレッドの個別の１つの実行をスケジュールするように配列されたスケジューラであって、前記ワーカースレッドの各々の前記プログラム状態が前記コンテキストレジスタセットの個別の１つに記憶されるスケジューラと、を備え、
前記バルク同期並列方式に従って、前記群内のすべての前記タイル上で全ての前記ワーカースレッドが前記計算段階を完了するまで前記交換段階は制止され、
各タイル上の前記ローカル終了状態は、前記タイル上の前記ワーカースレッドの各々によって出力された個々の終了状態の集合体であり、
前記コードの一部は、前記タイル上の複数のスレッドの少なくとも１つを含む、請求項１〜６のいずれか１項に記載の処理システム。
【請求項８】
前記群内の各タイルは、前記ローカル終了状態への前記個々の終了状態の前記集合体を実行するように構成されたハードウェアロジックを含む、請求項７に記載の処理システム。
【請求項９】
前記命令セットは、前記ワーカースレッドの各々に含めるための終了命令を含み、前記実行ユニットは、個別の前記ワーカースレッドの個々の前記終了状態を出力し、前記終了命令の前記オペコードに応答して個別の前記ワーカースレッドを終了させるように構成されている、請求項８に記載の処理システム。
【請求項１０】
個々の前記終了状態及び前記ローカル終了状態の各々は単一ビットであり、個々の前記終了状態の前記集合体は、個々の前記終了状態のブールＡＮＤ又は個々の前記終了状態のブールＯＲである、請求項７〜９のいずれか１項に記載の処理システム。
【請求項１１】
前記ローカル終了状態は、個々の前記終了状態がすべて真であるか、すべて偽であるか、又は混合されているかを示す３値を表す少なくとも２ビットを含む、請求項７〜９のいずれか１項に記載の処理システム。
【請求項１２】
前記交換段階は、前記ワーカースレッドとは別個のスーパーバイザスレッドによって実行されるように配列され、前記少なくとも１つのスレッドは、前記スーパーバイザスレッドを含む、請求項７〜１１のいずれか１項に記載の処理システム。
【請求項１３】
前記命令発行の前記一時停止は、前記同期肯定応答を保留している前記スーパーバイザスレッドからの命令の発行を少なくとも一時停止することを含む、請求項２に従属するときの請求項１２に記載の処理システム。
【請求項１４】
各タイル上の前記コンテキストレジスタセットは、前記複数のワーカースレッドの個別の１つの前記プログラム状態を表すように配列された複数のワーカーコンテキストレジスタセットと、前記スーパーバイザスレッドのプログラム状態を表すように配列されたレジスタの追加セットからなる追加スーパーバイザコンテキストレジスタセットとを備える、請求項１２又は１３に記載の処理システム。
【請求項１５】
前記スーパーバイザスレッドは、前記タイムスロットの各々において実行することによって開始するように配置され、
前記命令セットは、放棄命令をさらに含み、前記実行ユニットは、前記放棄命令の前記オペコードに応答して、前記放棄命令が実行された前記タイムスロットを個別の前記ワーカースレッドに放棄するように構成され、そして、
前記終了命令は、前記終了命令が実行された個別の前記タイムスロットを前記スーパーバイザスレッドに戻して、前記スーパーバイザスレッドが個別の前記スロットで実行を再開する、請求項１４に記載の処理システム。
【請求項１６】
前記コードでプログラムされたシステムであり、前記コードの一部は、有効となった前記グローバル終了状態を使用して、前記グローバル終了状態に依存する分岐判定を実行するように構成され、請求項１〜１５のいずれか１項に記載の処理システム。
【請求項１７】
グラフの各ノードが１つ以上の個別の入力エッジと１つ以上の個別の出力エッジとを有するとともに、前記ノードのうちの少なくともいくつかの前記入力エッジは、前記ノードのうちの少なくともいくつかの前記出力エッジである機械知能アルゴリズムを実行するようにプログラムされており、各ノードは、その出力エッジをその入力エッジに関連付ける個別の関数からなるとともに、各個別の関数は１つ以上の個別のパラメータによってパラメータ化され、個別の前記パラメータの各々は関連付けられたエラーを有していて、前記グラフの一部又はすべてのエラーが小さくなるにつれて前記グラフは解に向かって収束するようになっており、
前記タイルの各々は、前記グラフ内の前記ノードのサブセットを含む個別のサブグラフをモデル化し、前記ローカル終了状態の各々は、個別の前記サブグラフ内の前記ノードの１つ以上の前記パラメータにおける前記エラーが所定状態を満たすかどうかを示すために使用される、請求項１〜１６のいずれか１項に記載の処理システム。
【請求項１８】
前記群は、前記同期命令のオペランドによって少なくとも部分的に選択される、請求項１〜１７のいずれか１項に記載の処理システム。
【請求項１９】
前記同期命令の前記オペランドは、同じ前記チップ上のタイルのみを含むか、又は前記群内の異なるチップ上のタイルを含むかを選択する、請求項１８に記載の処理システム。
【請求項２０】
前記同期命令の前記オペランドは、グルーピングの異なる階層レベルの中から前記群を選択する、請求項１８又は１９に記載の処理システム。
【請求項２１】
前記命令セットは不参加命令をさらに含み、前記不参加命令が実行されたタイルを前記群から脱退させる、請求項１〜２０のいずれか１項に記載の処理システム。
【請求項２２】
タイルの配列と前記タイル間の通信のための相互接続とを含む処理システムを動作させる方法であって、各タイルはそれ自身の処理ユニットとメモリとを有し、各タイルの前記処理ユニットは機械コード命令を実行するための実行ユニットを含み、それぞれの命令が前記タイルの命令セットにおける命令タイプの所定セットのインスタンスであり、前記命令セット内の各命令タイプは、対応するオペコードと、０個以上のオペランドを取り込むための０個以上のオペランドフィールドとによって定義され、前記方法は、
バルク同期並列方式に従って、前記相互接続を介して前記タイルの一部又はすべての群間で通信を行うことを含み、
前記群内で前記タイルの各々は、オンタイル計算段階を実行した後にタイル間交換段階を実行するとともに、前記群内のすべての前記タイルが前記計算段階を完了するまで前記交換段階は制止され、前記群内の各タイルは、前記計算段階の完了時にローカル終了状態を有しており、
前記命令セットは、その計算段階の完了時に前記群内の各タイルによる実行のための同期命令を含み、前記同期命令の実行は、前記実行ユニットに前記相互接続内のハードウェアロジックへ同期要求を送信させ、
前記方法はさらに、前記群内のすべての前記タイルからの前記同期要求を受信することによって示されるように、前記群内のすべての前記タイルによる前記計算段階の完了に応答して、前記ローカル終了状態をグローバル終了状態に集合させ、前記群内の前記タイルの各々のグローバル終了状態レジスタに前記グローバル終了状態を記憶させるために前記相互接続内の前記ロジックをトリガし、前記群内の前記タイルの各々上で実行されているコードの一部によって前記グローバル終了状態をアクセス可能にすることを含む方法。
【請求項２３】
コンピュータ可読媒体上に具現化され、且つ請求項１〜２１のいずれか１項に記載の前記処理システム上で実行されるように構成されたコードを含むコンピュータプログラムであって、前記コードが、各部分に前記同期命令のインスタンスを含む前記群内の前記タイルの各々上で実行するための部分を含む、コンピュータプログラム製品。