(57)【要約】【課題】少ない回路規模であっても多様かつ高速にプロセッサを制御可能なアクセラレータ及びアクセラレータ制御方法を提供する。【解決手段】アクセラレータ１は、受信するステータスデータ８と関連付けされたコマンドデータが複数のステータスデータと関連付けされている場合に、コマンドデータを読み出す回数とコマンドデータと関連付けされた所定の回数とに応じて、コマンドデータを一つの処理装置６に処理させる処理判定部２を備える。【選択図】  図１
2014149745.tif 000002
【特許請求の範囲】
【請求項１】
受信するステータスデータと関連付けされたコマンドデータが、１つのステータスデータと関連付けされている場合に、当該コマンドデータを複数の処理装置のうちの一つの処理装置に処理させるとともに、
前記コマンドデータが複数のステータスデータと関連付けされている場合に、前記コマンドデータを読み出す回数と前記コマンドデータと関連付けされた所定の回数とに応じて、前記コマンドデータを前記一つの処理装置に処理させる第１処理を行う処理判定部
を備えたことを特徴とするアクセラレータ。
【請求項２】
前記コマンドデータを記憶する第１記憶部を備え、
前記処理判定部は、前記コマンドデータと前記第１記憶部が記憶するコマンドデータとを比較し、一致するコマンドデータがある場合に、前記コマンドデータを前記処理装置に処理させるとともに、前記第１記憶部から前記コマンドデータを消去し、一致するコマンドデータがない場合に、前記コマンドデータを前記第１記憶部に記憶させる
ことを特徴とする請求項１に記載のアクセラレータ。
【請求項３】
前記コマンドデータと前記コマンドデータを処理させる回数とを関連付けて記憶する第２記憶部を備え、
前記処理判定部は、
前記コマンドデータと前記第２記憶部が記憶するコマンドデータとを比較し、一致するコマンドデータがある場合に、前記第２記憶部から前記コマンドデータと関連付けされた前記回数を読み出し、該回数と前記コマンドデータに関連付けされた前記所定の回数とを比較し、
該回数が前記所定の回数以上である場合には、該コマンドデータを前記処理装置に処理させるとともに、前記第２記憶部から前記コマンドデータと該コマンドデータと関連付けされた前記回数とを消去し、一方、該回数が所定の回数以上でない場合には、該コマンドデータと関連付けされた前記回数を１つ増やして前記第２記憶部に記憶させる
ことを特徴とする請求項１に記載のアクセラレータ。
【請求項４】
前記第１記憶部または前記第２記憶部が新たな前記コマンドデータを記憶できない場合に、該新たなコマンドデータを記憶する第３記憶部を備え、
前記処理判定部は、前記受信するステータスデータと関連付けされたコマンドデータに優先して、前記第３記憶部が記憶するコマンドデータを処理する調停部を備え、
前記処理判定部は、前記調停部で処理されたコマンドデータを前記第１記憶部または前記第２記憶部に記憶させることができない場合に、当該コマンドデータを前記第３記憶部に記憶させるとともに、前記第１記憶部または前記第２記憶部から当該コマンドデータを消去するのに応じて、前記調停部に前記第３記憶部が記憶するコマンドデータを送信させるとともに、前記第３記憶部から前記調停部に送信した該コマンドデータを前記第３記憶部から消去させる
ことを特徴とする請求項２または請求項３に記載のアクセラレータ。
【請求項５】
前記ステータスデータと前記コマンドデータと前記所定の回数とを関連付けて記憶する第４記憶部を備え、
前記処理判定部は、前記第４記憶部から、前記受信するステータスデータと関連付けされた前記コマンドデータと前記所定の回数とを読み取る
ことを特徴とする請求項１乃至請求項４のいずれかに記載のアクセラレータ。
【請求項６】
前記ステータスデータは、前記処理装置における処理に関する状態を表す処理情報を有し、
前記第４記憶部は、前記ステータスデータと、１つ以上の前記コマンドデータと、それぞれの前記コマンドデータと関連付けされた１つ以上の前記所定の回数とを記憶し、
前記処理判定部は、前記受信するステータスデータと関連付けされた前記１つ以上のコマンドデータを、前記処理情報に応じて、それぞれ前記コマンドデータとして処理するか否かを判定する
ことを特徴とする請求項５に記載のアクセラレータ。
【請求項７】
前記第４記憶部は、前記ステータスデータが複数の前記コマンドデータと関連付けされているか否かを表す拡張情報を、前記ステータスデータに更に関連付けして記憶し、
前記処理判定部は、前記第４記憶部から、前記受信するステータスデータと関連付けされた前記拡張情報を読み取り、読み取った拡張情報に応じて前記処理情報を読み取るか否かを判定する
ことを特徴とする請求項６に記載のアクセラレータ。
【請求項８】
前記コマンドデータを起動したか否かを示す起動情報に応じて前記所定の回数を１減らした値を新たな所定の回数とし、
前記処理判定部は、前記新たな所定の回数に応じて、前記第１処理を行う
ことを特徴とする請求項１乃至請求項７のいずれかに記載のアクセラレータ。
【請求項９】
前記コマンドデータは、前記処理装置を識別するための識別情報を有し、
前記処理装置は、前記識別情報に応じて、前記識別情報と関連付けされた処理装置に前記コマンドデータを処理させる
ことを特徴とする請求項１乃至請求項８のいずれかに記載のアクセラレータ。
【請求項１０】
受信するステータスデータと関連付けされたコマンドデータが１つのステータスデータと関連付けされている場合に、当該コマンドデータを複数の処理装置のうちの一つの処理装置に処理させるとともに、
前記コマンドデータが複数のステータスデータと関連付けされている場合に、前記コマンドデータを読み出す回数と前記コマンドデータと関連付けされた所定の回数とに応じて、前記コマンドデータを前記一つの処理装置に処理させる第１処理を行う処理判定ステップ
を含むことを特徴とするアクセラレータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列処理システムを高速に制御するアクセラレータ等に関する。
【背景技術】
【０００２】
一般的に知られているヘテロジニアス（英語では「Ｈｅｔｅｒｏｇｅｎｅｏｕｓ」と表記され、「異種な」を意味する。）並列処理システムとは、相互に異なるアーキテクチャを持つ複数の計算処理装置（以下、単に「処理装置」と言う。）が協調して処理を行うシステムである。このような異種並列処理システムを構成する複数の処理装置うちの一つはメインプロセッサ（マスタプロセッサ）と呼ばれ、残りの複数の処理装置はサブプロセッサ（スレーブプロセッサ）と呼ばれることもある。
【０００３】
例えば、異種並列処理システムにおいて、メインプロセッサは、該異種並列処理システム全体を管理するとともに、主要な処理を実施する。
【０００４】
上述した構成とは異なる構成を有する異種並列処理システムの例として、該並列処理システムが、メインプロセッサとは別個に、複数のサブプロセッサを制御する実行制御プロセッサと呼ばれる処理装置を有することもある。実行制御プロセッサは、複数のサブプロセッサが通知するステータス（実行結果等に関する情報）に応じて、該サブプロセッサを制御する。
【０００５】
例えば、特許文献１が開示する並列処理システムは、実行制御プロセッサにおいて、図１９に示すような、複数のサブプロセッサを高速に制御可能なステータスアクセラレータ１９２を備える。図１９は、一般的なステータスアクセラレータが有する構成を表すブロック図である。
【０００６】
まず、デコーダ（図示せず）は、サブプロセッサが出力するステータスを受信し、該受信したステータスを、ステータスデータ１９１に変換する。ステータスデータ１９１は、アドレスに関する情報と、サブプロセッサの状態を表すプロセス情報とを有する。
【０００７】
また、ステータスアクセラレータ１９２は、ステータスデータと、該ステータスデータに応じた一連の処理（動作シーケンス（ｓｅｑｕｅｎｃｅ））とを関連付ける情報を有する。該アクセラレータは、該情報を参照する処理により、ステータスデータ１９１に応じた処理を高速に行う。
【０００８】
実行制御プロセッサは、該ステータスアクセラレータ１９２がない場合、ステータスアクセラレータ１９２というハードウェアではなくソフトウェアが定める命令に従って、サブプロセッサを制御する。ソフトウェアに従いサブプロセッサを制御する場合、１つのステータスデータ１９１に応じた処理には、数十から数百クロックサイクル程度の時間を要する。
【０００９】
一方、ステータスアクセラレータ１９２を備える並列処理システムでは、ソフトウェアではなく、専用の処理を行うハードウェアにより処理を行うため、１つのステータスデータ１９１に応じた処理時間が短縮される。
【００１０】
上述したようなステータスアクセラレータ１９２は、ステータスデータ１９１と一連の処理（または、動作シーケンス）を起動するコマンドデータとを関連付けするコマンド情報１９３を有する。ステータスアクセラレータ１９２は、ステータスデータ１９１と関連付けされたコマンドデータを、コマンド情報１９３から読み取る。その後、該アクセラレータは、読み取ったコマンドデータを、サブプロセッサに処理させる。
【００１１】
また、特許文献２及び３は、並列処理システムの処理効率を向上させるアクセラレータ等を開示する。
【００１２】
特許文献２は、並列処理システムにおいて、稼働率が高くなるように、メインプロセッサがサブプロセッサに命ずる処理を制御する回路群アクセラレータを開示する。
【００１３】
特許文献３は、並列処理システムにおいて、各プロセッサ及び共有メモリが起因する差異を隠蔽する並列処理システム制御装置を開示する。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】再特ＷＯ２０１００１６１６９号公報
【特許文献２】特開２００３−２０８４１２号公報
【特許文献３】特開２０１１−０６５３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
一般的なステータスアクセラレータは、ハードウェアの制約上、ステータスデータとコマンドデータとが１対１に関連付けされた情報を有することもある。単純シーケンスは、ステータスデータと一連の処理とが１対１に関連付けされている動作シーケンスである。
【００１６】
動作シーケンスが単純シーケンスである場合、コマンド情報を記憶するメモリの容量は、式１により算出される。
【００１７】
（ステータスデータ数）×（コマンドデータ分のビット幅）・・・（式１）
動作シーケンスが単純シーケンスでない場合、図２０に示すように、アクセラレータは、コマンド情報２０１を管理する。コマンド情報２０１は、ステータス変換テーブル２０２と、コマンド依存関係管理テーブル２０３とを有する。ステータス変換テーブル２０２は、ステータスデータとアドレスとを関連付けする。コマンド依存関係管理テーブル２０３は、動作シーケンスにおける各コマンドの実施状況を記憶する。
【００１８】
動作シーケンスが単純シーケンスでない場合、実行制御プロセッサは、コマンドデータにより起動された動作シーケンスにおける各コマンドがデータを読み取る記憶領域と、データを書き込む記憶領域とにおける使用状況（例えば、コマンドを実施する回数、アクセス回数等）を表す達成状況とを、コマンド依存関係管理テーブル２０３にて管理する。動作シーケンスが単純シーケンスでない場合、複数のステータスデータは、一つの処理コマンドデータと関連付けされていることがある。
【００１９】
達成状況が各コマンドを実施する回数を表す場合、発行条件は、「各コマンドを実施する回数が所定の閾値を超える」等の条件である。
【００２０】
動作シーケンスが単純シーケンスでない場合、図２０に示すようなコマンド情報のデータ容量は、ステータス変換テーブル２０２を構成するデータの容量に、コマンド依存関係管理テーブル２０３を構成するデータの容量を加えた容量である。コマンド依存関係管理テーブル２０３を構成するデータの容量は、式２により算出される。
【００２１】
（処理するコマンド数）×（発行条件情報＋達成状況情報＋コマンドデータ分のビット幅）・・・（式２）
すなわち、上述したように、特許文献１が開示するステータスアクセラレータにおいては、式１により算出されるメモリ容量に加えて、処理するコマンド数に比例するメモリ容量のメモリを有する必要がある。そのため、特許文献１記載のアクセラレータには、動作シーケンスが多くなるほど、該動作シーケンスを処理する回路の規模は増大するので、式１及び式２にて算出されるよりも十分に多い容量を有するメモリを予め備えておかなければならないという問題点がある。
【００２２】
なお、特許文献２は、複数のサブプロセッサに、ステータスデータと関連付けされた一連の処理を実行させる機構を有するアクセラレータについて何ら開示しない。
【００２３】
また、特許文献３は、ハードウェアの差異を隠蔽する並列処理システムを開示するが、ステータスデータと関連付けされた一連の処理を実行させる機構について何ら開示しない。
【００２４】
本発明の目的は、上述の問題点を解決し、少ない回路規模であっても多様かつ高速にプロセッサを制御可能なアクセラレータ及びアクセラレータ制御方法を提供することにある。
【課題を解決するための手段】
【００２５】
本発明のアクセラレータは、
受信するステータスデータと関連付けされたコマンドデータが１つのステータスデータと関連付けされている場合に、当該コマンドデータを複数の処理装置のうちの一つの処理装置に処理させるとともに、
前記コマンドデータが複数のステータスデータと関連付けされている場合に、前記コマンドデータを読み出す回数と前記コマンドデータと関連付けされた所定の回数とに応じて、前記コマンドデータを前記一つの処理装置に処理させる第１処理を行う処理判定部
を備える。
【００２６】
また、本発明のアクセラレータ制御方法は、
受信するステータスデータと関連付けされたコマンドデータが１つのステータスデータと関連付けされている場合に、当該コマンドデータを複数の処理装置のうちの一つの処理装置に処理させるとともに、
前記コマンドデータが複数のステータスデータと関連付けされている場合に、前記コマンドデータを読み出す回数と前記コマンドデータと関連付けされた所定の回数とに応じて、前記コマンドデータを前記一つの処理装置に処理させる第１処理を行う処理判定ステップ
を含む。
【発明の効果】
【００２７】
本発明には、少ない回路規模であっても多様かつ高速にプロセッサを制御できるという効果がある。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】第１の実施形態におけるステータスアクセラレータが実行する処理の流れを示すフローチャートである。
【図３】第１の実施形態に係る第４記憶部を備えるアクセラレータが有する構成を表すブロック図である。
【図４】複数のコマンド情報を格納したコマンド情報テーブルの一例を表す図である。
【図５】第１の実施形態に係るステータスデータ、複数のコマンドデータ、及び複数の発行条件が関連付けされたコマンド情報の一例を概念的に表す図である。
【図６】第１の実施形態に係るコマンド情報が有する構成の一例を概念的に表す図である。
【図７】コマンド情報の一例を概念的に表す図である。
【図８】第１の実施形態に係るコマンド情報が有する構成の一例を表す概念図である。
【図９】本発明の第２の実施形態を示すブロック図である。
【図１０】本発明の第２の実施形態におけるステータスアクセラレータが実行する処理の流れを示すフローチャートである。
【図１１】本発明の第３の実施形態を示すブロック図である。
【図１２】本発明の第３の実施形態におけるステータスアクセラレータが実行する処理の流れを示すフローチャートである。
【図１３】第３の実施形態に係る第２記憶部が記憶する情報を表す概念図である。
【図１４】本発明の第４の実施形態を示すブロック図である。
【図１５】本発明の第４の実施形態におけるステータスアクセラレータが実行する処理の流れを示すフローチャートである。
【図１６】本発明の第５の実施形態を示すブロック図である。
【図１７】本発明の第５の実施形態におけるステータスアクセラレータが実行する処理の流れを示すフローチャートである。
【図１８】第５の実施形態に係るコマンド情報に関する一例を概念的に表す図である。
【図１９】一般的なステータスアクセラレータが有する構成を表すブロック図である。
【図２０】一般的なアクセラレータが有するコマンド情報を概念的に表す図である。
【発明を実施するための形態】
【００２９】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００３０】
＜第１の実施形態＞
図１は本発明の第１の実施形態を示すブロック図である。
【００３１】
図１を参照すると、本実施形態において、並列処理システム７は、複数の処理装置６と、処理装置６を制御する実行制御プロセッサ５とを有する。
【００３２】
実行制御プロセッサ５は、デコーダ４と、ソフトウェアに指示された処理に従い処理装置６を制御する実行制御部３と、アクセラレータ１とを有する。
【００３３】
アクセラレータ１は、処理判定部２を有するとともに、処理装置６を高速に制御する。
【００３４】
デコーダ４は、複数の処理装置６が送信するステータス９を解析し、その解析した結果はステータスデータ８と呼ばれる。
【００３５】
ステータス９は、例えば、処理を識別する処理識別子（以下、「識別子」のことを、単に、「ＩＤ」とも言う。）と、該処理を実行する装置を識別する装置ＩＤと、該処理において実施するプロセスを表すプロセス情報とを含む。例えば、処理ＩＤが「１０」であり、装置ＩＤが「２０」であり、プロセス情報が「０１」である場合、ステータスは、「１０２００１」という数字列である。ステータスのフォーマットは、サブプロセッサごとに既に定義されているため、他のフォーマットに関しては説明を省略する。
【００３６】
次に、デコーダ４は、ステータスデータ８ごとに、アクセラレータ１が処理装置６を制御可能であるか否かを判定し、可能であると判定する場合には、当該ステータスデータ８を、アクセラレータ１へ送信し、一方、不可能であると判定する場合には、当該ステータスデータ８を実行制御部３へ送信する。
【００３７】
例えば、ユーザは、アクセラレータ１にて処理可能なステータスを、デコーダ４に予め記憶させる。その場合、デコーダ４は、受信したステータスと、記憶するステータスとを比較する。合致する場合、デコーダ４は、受信したステータスに関連付いた処理を、アクセラレータ１に実行させる。合致しない場合、デコーダ４は、受信したステータスに関連付いた処理を、実行制御部３に実行させる。
【００３８】
次に、アクセラレータ１及び実行制御部３は、当該ステータスデータ８に基づき、複数の処理装置６に、コマンドデータに関する処理を実行させる。
【００３９】
次に、本実施形態におけるステータスアクセラレータ１が実行する処理の流れを示す図２を参照して本実施形態の動作を説明する
まず、アクセラレータ１内の処理判定部２は、例えば、図４に示すような、ステータスデータ、発行条件およびコマンドデータが関連付けされたコマンド情報を参照し、デコーダ４から受信したステータスデータ８と関連付けされたコマンドデータおよび発行条件を読み取る。以下の説明において、コマンド情報は、実行制御プロセッサ５内に存在するとする。しかしながら、コマンド情報は、アクセラレータ１内に存在していてもよい。処理判定部２は、読み取った発行条件に応じて、後述するように、コマンドデータが１つのステータスデータと関連付けされているか否かを判定する（図２のステップＳ１）。
【００４０】
図４は、複数のコマンド情報を格納したコマンド情報テーブルを示す。すなわち、本テーブルは、ステータスデータを格納した「ステータスデータ」欄と、発行条件を格納した「発行条件」欄と、コマンドデータを格納した「コマンドデータ」欄を有し、本テーブルの各行は一つのコマンド情報を示す。
【００４１】
図４において、例えば、「ステータスデータ」欄の値が０であるステータスデータは、発行条件Ａ１と、コマンドデータＡ２と関連付けされている。この例において、処理判定部２は、値が０であるステータスデータを受信すると、その後、Ａ１という発行条件を満たす場合に、処理装置６に対してコマンドデータＡ２で指定されるコマンドの実行を命じる。また、処理判定部２は、値が１であるステータスデータを受信すると、その後、Ｂ１という発行条件を満たす場合に、処理装置６に対してコマンドデータＢ２で指定されるコマンドの実行を命じる。
【００４２】
コマンドデータは、処理装置６が実行する処理と関連付けされた情報である。また、発行条件は、対応するコマンドデータにて指定されるコマンドを発行する条件に関する情報である。
【００４３】
発行条件は、例えば、「第１コマンドデータと関連付けされたステータスデータ（すなわち、ステータス）を１つ受信した場合、第１コマンドデータを送信する」、または、「第２コマンドデータと関連付けされたステータスデータをＮ（Ｎは２以上の整数）個受信した場合、第２コマンドデータを送信する」等、ステータスデータの受信数に応じてコマンドデータを送信する条件に関する情報である。上述した例において、第１コマンドデータは、ステータスデータと１対１に関連付けされている。同様に、第２コマンドデータは、ステータスデータと１対Ｎに関連付けされている。
【００４４】
例えば、発行条件は、コマンドデータとステータスデータとが１対１に関連付けされているかまたは１対Ｎに関連付けされているかを、０または１にそれぞれ関連付けて表したものである。すなわち、発行条件は、１ビットのフラグである。例えば、該フラグの値が０である場合には、「該当するコマンドデータとステータスデータとは１対１に関連付けされている」ことを表す。一方、該フラグの値が１である場合には、「コマンドデータとステータスデータとは１対Ｎに関連付けされている」ことを表す。
【００４５】
また、図５に示すように、ステータスデータ８は、複数のコマンドデータ、及び、複数の発行条件と関連付けされていても良い。図５は、それぞれステータスデータ、複数のコマンドデータ及び複数の発行条件からなる複数のコマンド情報を格納したテーブルである。
【００４６】
例えば、図５において、ステータスデータ欄の値が「０１０２」のステータスデータは、「発行条件１」がＡ１であるときに処理装置６に処理させるＡ２というコマンドデータ１、及び、「発行条件２」がＡ３であるときに処理装置６に処理させるＡ４というコマンドデータ２と関連付けされている。図５の例においては、ステータスデータ８は、アドレス（例えば、「０１０２」における「０１」の部分）と、プロセス情報（例えば、「０１０２」における「０２」の部分）とを有する。処理判定部２は、プロセス情報（「０２」の部分）に基づいて、Ａ２とＡ４というコマンドデータを共に処理装置６に処理させるか、どちらか一方を処理させるか、または、２つとも処理させないかを判定する。その後、処理判定部２は、該判定に応じて、コマンドデータを処理する。
【００４７】
次に、上述したステップＳ１において、発行条件に基づき、コマンドデータが１つのステータスデータ８と関連付けされていると判定された場合（ステップＳ１にてＹＥＳと判定）、処理判定部２は、該コマンドデータを、処理装置６に処理させる（ステップＳ２）。
【００４８】
一方、コマンドデータが複数のステータスデータ８と関連付けされていると判定された場合（ステップＳ１にてＮＯと判定）、処理判定部２は、例えば、該コマンドデータを読み取る回数を数える等の処理を行う。上述した処理を行うことにより、処理判定部２は、該コマンドデータに関する処理を行う回数等を管理する。
【００４９】
次に、処理判定部２は、該コマンドデータ、または、後述する一時的に保存するコマンドデータについて、発行条件を満たす（例えば、コマンドデータを読み取る回数が所定の回数よりも大きくなる等）か否かを判定する（ステップＳ３）。発行条件を満たすと判定した場合（ステップＳ３にてＹＥＳと判定）、処理判定部２は、該コマンドデータを、処理装置６に処理させる（ステップＳ２）。一方、発行条件を満たさない場合（ステップＳ３にてＮＯと判定）、処理判定部２は、該コマンドデータに関する処理を処理装置６に処理させない。処理判定部２は、処理装置６に処理させないコマンドデータを、アクセラレータ１内部または実行制御プロセッサ５内部に一時的に保存する。
【００５０】
上述したように、特許文献１が開示するアクセラレータ１は、式１に示されるメモリ容量と、式２に示されるメモリ容量とを、共に有する必要がある。
【００５１】
一方、本実施形態におけるアクセラレータ１は、ステータスデータ数に応じたコマンドデータと、複数のステータスデータに関連付けされたコマンドデータのうち、発行条件を満たさないコマンドデータに関する情報を、アクセラレータ１内部または実行制御プロセッサ５内部に保持する。したがって、本実施形態におけるアクセラレータ１は、定義される動作シーケンスが多い場合であっても、実行する動作シーケンスのみを、アクセラレータ１内部または実行制御プロセッサ５内部に記憶する。
【００５２】
したがって、本実施形態におけるアクセラレータ１は、一般的なアクセラレータ１よりも少ない回路規模で、多様な処理を高速に行うことができる。
【００５３】
また、本実施形態では、処理判定部２が、実行制御プロセッサ５内部からコマンド情報を読み取っているが、図３に示すように、アクセラレータ３１が該コマンド情報を記憶する第４記憶部３３を有するようにしてもよい。
【００５４】
図３において、並列処理システム３５は、処理装置６と、実行制御プロセッサ３４とを有する。また、アクセラレータ３１は、処理判定部３２と、第４記憶部３３とを有する。
【００５５】
アクセラレータ３１が第４記憶部３３を有する場合、処理判定部３２は、第４記憶部３３から、ステータスデータと関連付けされたコマンドデータ及び発行条件を読み取る。
【００５６】
上述した例において、ステータスデータ８は、コマンドデータ及び発行条件と関連付けされているとしたが、図６のテーブルに示すように、ステータスデータ８（図６の「ステータスデータ」欄参照）は、コマンドデータ（図６の「コマンドデータ１」欄および「コマンドデータ２」欄参照）及び該コマンドデータが依存するコマンドデータ数（図６の「所定の回数１」欄および「所定の回数２」欄参照）と関連付けされていても良い。図６は、コマンド情報を示すテーブルである。図６における各行は一つのコマンド情報を示す。
【００５７】
その場合、処理判定部３２は、例えば、内部で管理するコマンドデータを読み取る回数と、該コマンドデータに関連付けされた所定の回数とを比較する。読み取る回数が所定の回数以上になる場合に応じて、処理判定部２は、処理装置６に該コマンドデータを処理させる。
【００５８】
また、上述したコマンド情報において、コマンドデータと依存するコマンドデータ数と関連付けすることにより、１つのステータスデータ８に対して３つ以上のコマンドデータを関連付けさせることができる。同様に、１つのコマンドデータに対して３つ以上のステータスデータを関連付けさせることができる。
【００５９】
さらに、コマンド情報は、図７のテーブルに示すように、ステータスデータ８（図７の「ステータスデータ」欄参照）と、３つ以上のコマンドデータ（図７の「コマンドデータ１」欄および「コマンドデータ２」欄等参照）と関連付けされているか否かを表す拡張情報（図７の「拡張情報欄」参照）とを、さらに関連付けしても良い。図７はコマンド情報の一例を示すテーブルである。図７における各行は一つのコマンド情報を示す。
【００６０】
例えば、拡張情報が１であるということは、ステータスデータ８が、３つ以上のコマンドデータと関連付けされていることを示す。また、拡張情報が０であるということは、ステータスデータ８が、３つ以上のコマンドデータと関連付けされていないことを示す。
【００６１】
コマンド情報が拡張情報を有する場合、処理判定部３２は、コマンド情報における拡張情報に応じた処理により、ステータスデータ８に関連付けされたコマンドデータを必ずしも全て参照する必要がなくなる。コマンド情報が拡張情報を有することにより、アクセラレータ３１が該コマンド情報を有する第４記憶部３３を備える場合に、処理判定部３２における処理が、より簡単化されることが可能となる。
【００６２】
また、コマンド情報は、上述した拡張情報の代わりに、３番目以降のコマンドデータを指し示す情報（例えば、アドレス等）を有する構成でも何ら問題はない。
【００６３】
さらに、図８に示すように、コマンドデータは、処理を実施する処理装置６を識別する処理装置識別子（ｉｄｅｎｔｉｆｉｅｒ、以下、「ＩＤ」と略記する。）と、処理装置６に要求する処理を識別するプロセスＩＤ等とを有することもできる。図８は、本実施形態におけるコマンド情報が有する構成の一例を表すブロック図である。
【００６４】
コマンドデータが処理装置ＩＤ等に関する情報を有する場合、処理判定部３２は、コマンドデータと関連付けされた処理装置ＩＤに従い、該処理装置ＩＤと関連付けされた処理装置６に、該コマンドデータの実行を命じる。
【００６５】
処理装置６は、実行制御プロセッサ５から該コマンドデータを受信すると、該コマンドデータに関する処理を開始する。
【００６６】
以上、本実施形態には、一般的なアクセラレータにおいては必須のコマンド依存関係管理テーブルを記憶するメモリを不要にでき、その結果として、一般的なアクセラレータよりも少ない回路規模において、多様かつ高速にプロセッサを制御できるという効果がある。
【００６７】
その理由は、本実施形態に係るアクセラレータ１は、ステータス９とコマンドデータとが１対１に関連付けされている場合に限定されない動作シーケンスを高速に処理することができるからである。
【００６８】
＜第２の実施形態＞
次に、上述した第１の実施形態の構成を基本とする第２の実施形態について説明する。
【００６９】
以下の説明においては、本実施形態において特徴的な部分を中心に説明し、上述した第１の実施形態の構成要素と同一の構成要素については、同一の参照番号し、それらについての重複する説明は省略する。
【００７０】
図９は、本実施形態を示すブロック図である。
【００７１】
図９を参照すると、本実施形態において、並列処理システム９５は、複数の処理装置６と、処理装置６を制御する実行制御プロセッサ９４とを有する。実行制御プロセッサ９４は、実行制御部３と、デコーダ４と、処理装置６を制御するアクセラレータ９１とを有する。アクセラレータ９１は、処理判定部９２と、複数のコマンドデータを一時的に記憶する第１記憶部９３とを有する。
【００７２】
次に、本実施形態におけるアクセラレータ９１が実行する処理の流れを示す図１０を参照して本実施形態の動作について説明する。
【００７３】
まず、処理判定部９２は、コマンドデータが１つのステータスデータと関連付けられているかを判定し（図１０のステップＳ１０１）、該コマンドデータが２つのステータスデータと関連付けされている場合（ステップＳ１０１にてＮＯと判定）、処理判定部９２は、第１記憶部９３が記憶する複数のコマンドデータの中に、ステップＳ１０１にてＮＯと判定されたコマンドデータと一致するコマンドデータが存在するかどうかを判定する（ステップＳ１０２）。
【００７４】
その結果、一致するコマンドデータが存在すると判定された場合（ステップＳ１０２にてＹＥＳと判定）には、処理判定部９２は、該コマンドデータを複数の処理装置６に処理させる（ステップＳ２）とともに、第１記憶部９３から、該コマンドデータに関連付けされた情報を削除する（ステップＳ１０３）。
【００７５】
一方、一致するコマンドデータが存在しないと判定された場合（ステップＳ１０２にてＮＯと判定）には、処理判定部９２は、該コマンドデータを第１記憶部９３に記憶させる（ステップＳ１０４）。
【００７６】
コマンドデータが２つのステータスデータと関連付けされている場合に、第１記憶部９３は、処理判定部９２が１回目に発行するコマンドデータを記憶する。その後、処理判定部９２は、２回目にコマンドデータを発行する処理に応じて、第１記憶部９３から、該コマンドデータを消去する。すなわち、第１記憶部９３は、該コマンドデータの回数を記憶する機能と同様の機能を有する。
【００７７】
以上、本実施形態は第１の実施形態を基本とするため、本実施形態には、第１の実施形態と同一の効果があることに加え、アクセラレータ９１が第１記憶部９３を有することにより、第１記憶部９３がアクセラレータ９１の外部にある場合に比べて、読み取り処理に要する時間を短縮できるという効果もある。
【００７８】
その理由は、外部装置を読み取る処理に比べ、第１記憶部９３には短時間でアクセス可能であるためである。
【００７９】
＜第３の実施形態＞
次に、上述した第１の実施形態を基本とする第３の実施形態について説明する。
【００８０】
以下の説明においては、本実施形態における特徴的な部分を中心に説明し、上述した第１の実施形態の構成要素と同一の構成要素については、同一の参照番号を付し、それらについての重複する説明は省略する。
【００８１】
図１１は本実施形態を示すブロック図である。
【００８２】
図１１を参照すると、本実施形態において、並列処理システム１１５は、複数の処理装置６と、処理装置６を制御する実行制御プロセッサ１１４とを有する。
【００８３】
実行制御プロセッサ１１４は、実行制御部３と、デコーダ４と、アクセラレータ１１１を有する。
【００８４】
アクセラレータ１１１は、処理判定部１１２と、第２記憶部１１３とを有する。
【００８５】
図１３に示すように、第２記憶部１１３は、複数のコマンドデータと、処理装置６がこれらのコマンドデータを処理する回数とを１対１に関連付けして、一時的に記憶する。該回数は、例えば、２乃至４ビット程度のビット長のビット列で表される。
【００８６】
次に、本実施形態におけるアクセラレータ１１１が実行する処理の流れを示す図１２を参照して本実施形態の動作について説明する。
【００８７】
まず、処理判定部１１２は、コマンドデータが１つのステータスデータと関連付けられているかを判定し（図１２のステップＳ１）、該コマンドデータが２つ以上のステータスデータと関連付けられている場合（ステップＳ１にてＮＯと判定）、該コマンドデータが、第２記憶部１１３に記憶された複数のコマンドデータのいずれかと一致するか否かを判定する（ステップＳ１２１）。
【００８８】
処理判定部１１２は、ステップＳ１２１において、一致しないと判定された場合（ステップＳ１２１にてＮＯと判定）、当該コマンドデータを第２記憶部１１３に記憶させる（ステップＳ１２５）。処理判定部１１２は、ステップＳ１２１において、一致すると判定された場合（ステップＳ１２１にてＹＥＳと判定）、第２記憶部１１３を参照して、一致したコマンドデータと関連付けて記憶された回数を読み出す（ステップＳ１２２）。
【００８９】
処理判定部１１２は、該回数が所定の回数以上であるか否かを判定し（ステップＳ１２２）、所定の回数以上であると判定された場合（ステップＳ１２２にてＹＥＳと判定）、第２記憶部１１３から当該コマンドデータを削除する（ステップＳ１２３）とともに、該コマンドデータを処理装置に処理させる（ステップＳ２）。処理判定部１１２は、該回数が所定の回数未満であると判定された場合（ステップＳ１２２にてＮＯと判定）、第２記憶部１１３において、例えば、当該コマンドデータと関連付けされて記憶された回数に１を加算し新たな回数として記憶する（ステップＳ１２４）。
【００９０】
第３の実施形態におけるアクセラレータ１１１は、第１の実施形態の構成に加えて、１つのステータスと関連付けされたコマンドデータが３つ以上存在する場合と、１つのコマンドデータと関連付けされたステータスが３つ以上存在する場合とにおける動作シーケンスを高速に制御する。
【００９１】
以上、本実施形態は第１の実施形態を基本とするため、本実施形態には、第１の実施形態と同一の効果があることに加え、アクセラレータ１１１が第２記憶部１１３を有することにより、第２記憶部１１３がアクセラレータ１１１の外部にある場合に比べて、係る処理に要する時間を短縮できるという効果もある。
【００９２】
その理由は、外部装置を読み取る処理に比べ、第２記憶部１１３には短時間でアクセス可能であるためである。
【００９３】
＜第４の実施形態＞
次に、上述した第２の実施形態を基本とする第４の実施形態について説明する。
【００９４】
以下の説明においては、本実施形態における特徴的な部分を中心に説明し、上述した第２の実施形態の構成要素と同一の構成要素については、同一の参照番号を付し、それらについての重複する説明は省略する。
【００９５】
図１４は本実施形態を示すブロック図である。
【００９６】
図１４を参照すると、本実施形態において、並列処理システム１３６は、複数の処理装置６と、処理装置６を制御する実行制御プロセッサ１３５とを有する。
【００９７】
実行制御プロセッサ１３５は、実行制御部３と、デコーダ４と、処理装置６を制御するアクセラレータ１３１とを有する。
【００９８】
アクセラレータ１３１は、調停部１３４を備えた処理判定部１３２と、複数のコマンドデータを記憶した第１記憶部９３、および、第１記憶部９３が新たなコマンドデータを記憶できない場合に該コマンドデータを一時的に記憶する第３記憶部１３３を有する。
【００９９】
次に、本実施形態におけるアクセラレータ１３１が実行する処理の流れを示す図１５を参照して説明する。
【０１００】
まず、処理判定部１３２は、デコーダ４が送信するステータスデータ８と、第３記憶部１３３から送信されるコマンドデータとを受信する。調停部１３４は、第３記憶部１３３からコマンドデータを受信する場合には、該コマンドデータを、デコーダ４から受信したステータスデータと関連付けされたコマンドデータよりも優先して処理を行う（ステップＳ１５１）。
【０１０１】
その後、処理判定部１３２は、調停部１３４から受信したコマンドデータについて、該コマンドデータが１つのステータスデータと関連付けられているか否かを判定する（ステップＳ１）。該コマンドデータが２つ以上のステータスデータと関連付けられている場合（ステップＳ１にてＮＯと判定）、処理判定部１３２は、第１記憶部９３において、該コマンドデータと一致するコマンドデータがあるか否かを判定する（ステップＳ１２１）。
【０１０２】
処理判定部１３２は、ステップＳ１２１にてＮＯと判定する場合、第１記憶部９３がコマンドデータを追加して記憶することが可能か否かを判定する（ステップＳ１５２）。処理判定部１３２は、可能であると判定された場合には（ステップＳ１５２にてＹＥＳと判定）、第１記憶部９３に該コマンドデータを記憶させる（ステップＳ１０４）。処理判定部１３２は、不可能であると判定する場合には（ステップＳ１５２にてＮＯと判定）、第３記憶部１３３に該コマンドデータを記憶させる（ステップＳ１５４）。
【０１０３】
さらに、処理判定部１３２は、第１記憶部９３において、該コマンドデータと一致するコマンドデータがある場合（ステップＳ１２１にてＹＥＳと判定）、第１記憶部９３からコマンドデータを削除する（ステップＳ１２３）処理に応じて、第３記憶部１３３におけるコマンドデータを調停部１３４に送信するとともに、第３記憶部１３３から該コマンドデータを消去する（ステップＳ１５３）。
【０１０４】
ステップＳ１２３及びステップＳ１５３の処理順序は、必ずしも上述した順序で処理する必要はなく、ステップＳ１５３を先に処理しても良い。また、処理判定部１３２が上述したような処理を行う必要はなく、第３記憶部１３３は、第１記憶部９３がコマンドデータを記憶可能か否か調べ、可能な場合に、第３記憶部１３３が記憶するコマンドデータを調停部１３４に送信してもよい。即ち、アクセラレータ１３１における処理は、上述した例には限定されない。
【０１０５】
調停部１３４が上述したような処理を行うことにより、本実施形態におけるアクセラレータ１３１は、コマンドデータを実行する順序を保つ。
【０１０６】
第１記憶部９３及び第３記憶部１３３は、実行制御プロセッサ１３５にステータスを入力する頻度、または、実行制御可能な処理シーケンスの総数等に応じて決めることができる。例えば、アクセラレータ１３１は、運用時に想定される最大数分の第１記憶部９３を有するように決めることができる。さらに、第１記憶部９３がコマンドデータを記憶できない状況に備えて、アクセラレータ１３１は、第１記憶部９３と同様のサイズを有する第３記憶部１３３を有するように決めることができる。
【０１０７】
本実施形態は第２の実施形態を基本としているが、第３の実施形態を基本とすることも可能であることは言うまでもない。
【０１０８】
以上、本実施形態は第２の実施形態と同様の構成を有するため、本実施形態には、第２の実施形態と同様の効果がある。さらに、本実施形態には、第１記憶部９３が新たなコマンドデータを記憶できない場合に該コマンドデータを一時的に記憶する第３記憶部１３３を有するため、アクセラレータ１３１に障害が発生する可能性を低減できるという効果もある。
【０１０９】
その理由は、第１記憶部９３の容量に比べコマンドデータのサイズが大きい場合に、第３記憶部１３３は、第１記憶部９３が記憶することできないコマンドデータを記憶するためである。
【０１１０】
＜第５の実施形態＞
次に、上述した第２の実施形態を基本とする第５の実施形態について説明する。
【０１１１】
以下の説明においては、本実施形態における特徴的な部分を中心に説明し、上述した第２の実施形態の構成要素と同一の構成要素については、同一の参照番号を付し、それらについての重複する説明は省略する。
【０１１２】
図１６は本実施形態を示すブロック図である。
【０１１３】
図１６を参照すると、本実施形態において、並列処理システム１６５は、複数の処理装置６と、処理装置６を制御する実行制御プロセッサ１６４とを有する。
【０１１４】
実行制御プロセッサ１６４は、実行制御部３と、デコーダ４と、処理装置６を制御するアクセラレータ１６１を有する。
【０１１５】
アクセラレータ１６１は、処理判定部９２と、第１記憶部９３と、起動判定部１６２と、第４記憶部１６３とを有する。
【０１１６】
第４記憶部１６３は、図１８に示すように、複数のコマンド情報を記憶する。各コマンド情報は、ステータスデータと、上述した拡張情報と、コマンドデータと、該コマンドデータと関連付けされた所定の回数と、該コマンドデータに関する処理を複数の処理装置６に命じたか否かを表す起動情報とからなる。
【０１１７】
次に、本実施形態におけるアクセラレータ１６１における処理の流れを示す図１７を参照して本実施形態の動作を説明する。
【０１１８】
まず、起動判定部１６２は、第４記憶部１６３から、コマンド情報（上述したように、受信したステータスデータと関連付けされたコマンドデータと、所定の回数と、該コマンドデータに関する処理を複数の処理装置６に命じたか否かを表す起動情報からなる）を読み取る。次に、起動判定部１６２は、読み取られたコマンド情報内の起動情報が命じた状態を示す値である場合に（図１７のステップＳ１７１にてＹＥＳと判定）、当該コマンド情報内の所定の回数から１を減らし（ステップＳ１７２）、その後、当該起動情報を命じた状態ではない状態を表す値に変更する（ステップＳ１７３）。その後、起動判定部１６２は、該コマンドデータに関する処理を、処理装置６に実行させる（ステップＳ１７５）。また、起動判定部１６２は、起動情報が命じた状態を示す値でない場合には（ステップＳ１７１にてＮＯと判定）、該ステータスデータを処理判定部９２に送信する（ステップＳ１７４）。
【０１１９】
並列処理システム１６５を起動した後、コマンドデータにおいて処理するデータを記憶させる全ての記憶領域に、該データを書き込むことができる。そのため、起動した直後のみ、動作シーケンス上における各処理は独立して実行することができる。したがって、各処理を起動する実行制御処理において、初回においてのみ、所定の回数は、当初設定された所定の回数よりも１少なくなる。
【０１２０】
以上、本実施形態には、上述した各実施形態における効果に加えて、初回において必要な処理を減らすことができるという効果もある。
【０１２１】
その理由は、起動判定部１６２により、処理判定部９２等は、上述した比較処理などを行う必要がなくなるためである。
【０１２２】
なお、本発明は上述した各実施形態に限定されるものではなく、その実施に際して様々な変形が可能である。
【０１２３】
例えば、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下の付記に限定されるものではない。
【０１２４】
（付記１）
受信するステータスデータと関連付けされたコマンドデータが、１つのステータスデータと関連付けされている場合に、当該コマンドデータを複数の処理装置のうちの一つの処理装置に処理させるとともに、
前記コマンドデータが複数のステータスデータと関連付けされている場合に、前記コマンドデータを読み出す回数と前記コマンドデータと関連付けされた所定の回数とに応じて、前記コマンドデータを前記一つの処理装置に処理させる第１処理を行う処理判定部
を備えたことを特徴とするアクセラレータ。
【０１２５】
（付記２）
前記コマンドデータを記憶する第１記憶部を備え、
前記処理判定部は、前記コマンドデータと前記第１記憶部が記憶するコマンドデータとを比較し、一致するコマンドデータがある場合に、前記コマンドデータを前記処理装置に処理させるとともに、前記第１記憶部から前記コマンドデータを消去し、一致するコマンドデータがない場合に、前記コマンドデータを前記第１記憶部に記憶させる
ことを特徴とする付記１に記載のアクセラレータ。
【０１２６】
（付記３）
前記コマンドデータと前記コマンドデータを処理させる回数とを関連付けて記憶する第２記憶部を備え、
前記処理判定部は、
前記コマンドデータと前記第２記憶部が記憶するコマンドデータとを比較し、一致するコマンドデータがある場合に、前記第２記憶部から前記コマンドデータと関連付けされた前記回数を読み出し、該回数と前記コマンドデータに関連付けされた前記所定の回数とを比較し、
該回数が前記所定の回数以上である場合には、該コマンドデータを前記処理装置に処理させるとともに、前記第２記憶部から前記コマンドデータと該コマンドデータと関連付けされた前記回数とを消去し、一方、該回数が所定の回数以上でない場合には、該コマンドデータと関連付けされた前記回数を１つ増やして前記第２記憶部に記憶させる
ことを特徴とする付記１に記載のアクセラレータ。
【０１２７】
（付記４）
前記第１記憶部または前記第２記憶部が新たな前記コマンドデータを記憶できない場合に、該新たなコマンドデータを記憶する第３記憶部を備え、
前記処理判定部は、前記受信するステータスデータと関連付けされたコマンドデータに優先して、前記第３記憶部が記憶するコマンドデータを処理する調停部を備え、
前記処理判定部は、前記調停部で処理されたコマンドデータを前記第１記憶部または前記第２記憶部に記憶させることができない場合に、当該コマンドデータを前記第３記憶部に記憶させるとともに、前記第１記憶部または前記第２記憶部から当該コマンドデータを消去するのに応じて、前記調停部に前記第３記憶部が記憶するコマンドデータを送信させるとともに、前記第３記憶部から前記調停部に送信した該コマンドデータを前記第３記憶部から消去させる
ことを特徴とする付記２または付記３に記載のアクセラレータ。
【０１２８】
（付記５）
前記ステータスデータと前記コマンドデータと前記所定の回数とを関連付けて記憶する第４記憶部を備え、
前記処理判定部は、前記第４記憶部から、前記受信するステータスデータと関連付けされた前記コマンドデータと前記所定の回数とを読み取る
ことを特徴とする付記１乃至付記４のいずれかに記載のアクセラレータ。
【０１２９】
（付記６）
前記ステータスデータは、前記処理装置における処理に関する状態を表す処理情報を有し、
前記第４記憶部は、前記ステータスデータと、１つ以上の前記コマンドデータと、それぞれの前記コマンドデータと関連付けされた１つ以上の前記所定の回数とを記憶し、
前記処理判定部は、前記受信するステータスデータと関連付けされた前記１つ以上のコマンドデータを、前記処理情報に応じて、それぞれ前記コマンドデータとして処理するか否かを判定する
ことを特徴とする付記５に記載のアクセラレータ。
【０１３０】
（付記７）
前記第４記憶部は、前記ステータスデータが複数の前記コマンドデータと関連付けされているか否かを表す拡張情報を、前記ステータスデータに更に関連付けして記憶し、
前記処理判定部は、前記第４記憶部から、前記受信するステータスデータと関連付けされた前記拡張情報を読み取り、読み取った拡張情報に応じて前記処理情報を読み取るか否かを判定する
ことを特徴とする付記６に記載のアクセラレータ。
【０１３１】
（付記８）
前記コマンドデータを起動したか否かを示す起動情報に応じて前記所定の回数を１減らした値を新たな所定の回数とし、
前記処理判定部は、前記新たな所定の回数に応じて、前記第１処理を行う
ことを特徴とする付記１乃至付記７のいずれかに記載のアクセラレータ。
【０１３２】
（付記９）
前記コマンドデータは、前記処理装置を識別するための識別情報を有し、
前記処理装置は、前記識別情報に応じて、前記識別情報と関連付けされた処理装置に前記コマンドデータを処理させる
ことを特徴とする付記１乃至付記８のいずれかに記載のアクセラレータ。
【０１３３】
（付記１０）
受信するステータスデータと関連付けされたコマンドデータが１つのステータスデータと関連付けされている場合に、当該コマンドデータを複数の処理装置のうちの一つの処理装置に処理させるとともに、
前記コマンドデータが複数のステータスデータと関連付けされている場合に、前記コマンドデータを読み出す回数と前記コマンドデータと関連付けされた所定の回数とに応じて、前記コマンドデータを前記一つの処理装置に処理させる第１処理を行う処理判定ステップ
を含むことを特徴とするアクセラレータ制御方法。
【０１３４】
（付記１１）
第１記憶部に前記コマンドデータを記憶する第１の記憶ステップを含み、
前記処理判定ステップにおいて、前記コマンドデータと前記第１記憶部が記憶するコマンドデータとを比較し、一致するコマンドデータがある場合に、前記コマンドデータを前記処理装置に処理させるとともに前記第１記憶部から前記コマンドデータを消去し、一致するコマンドデータがない場合に、前記コマンドデータを前記第１記憶部に記憶させる
ことを特徴とする付記１０に記載のアクセラレータ制御方法。
【０１３５】
（付記１２）
第２記憶部に前記コマンドデータと前記コマンドデータを処理させる回数とを関連付けて記憶する第２の記憶ステップを含み、
前記処理判定ステップにおいて、
前記コマンドデータと前記第２記憶部が記憶するコマンドデータとを比較し、一致するコマンドデータがある場合に、前記第２記憶部から前記コマンドデータと関連付けされた前記回数を読み出し、該回数と前記コマンドデータに関連付けされた前記所定の回数とを比較し、
該回数が前記所定の回数以上である場合には、該コマンドデータを前記処理装置に処理させるとともに、前記第２記憶部から前記コマンドデータと該コマンドデータと関連付けされた前記回数とを消去し、一方、該回数が所定の回数以上でない場合には、該コマンドデータと関連付けされた前記回数を１つ増やして前記第２記憶部に記憶させる
ことを特徴とする付記１０に記載のアクセラレータ制御方法。
【０１３６】
（付記１３）
第３記憶部に前記第１記憶部または前記第２記憶部が新たな前記コマンドデータを記憶できない場合に、該新たなコマンドデータを記憶する第３の記憶ステップを含み、
前記処理判定ステップは、前記受信するステータスデータと関連付けされたコマンドデータに優先して、前記第３記憶部が記憶するコマンドデータを処理する調停ステップを含み、
前記処理判定ステップにおいて、前記調停部で処理されたコマンドデータを前記第１記憶部または前記第２記憶部に記憶させることができない場合に、当該コマンドデータを前記第３記憶部に記憶させるとともに、前記第１記憶部または前記第２記憶部から当該コマンドデータを消去するのに応じて、前記調停部に前記第３記憶部が記憶するコマンドデータを送信させるとともに、前記第３記憶部から前記調停部に送信した該コマンドデータを前記第３記憶部から消去させる
ことを特徴とする付記１１または付記１２に記載のアクセラレータ制御方法。
【０１３７】
（付記１４）
第４記憶部に前記ステータスデータと前記コマンドデータと前記所定の回数とを関連付けて記憶する第４の記憶ステップを含み、
前記処理判定ステップにおいて、前記第４記憶部から、前記受信するステータスデータと関連付けされた前記コマンドデータと前記所定の回数とを読み取る
ことを特徴とする付記１０乃至付記１３のいずれかに記載のアクセラレータ制御方法。
【０１３８】
（付記１５）
前記ステータスデータは、前記処理装置における処理に関する状態を表す処理情報を含み、
前記第４記憶部は、前記ステータスデータと、１つ以上の前記コマンドデータと、それぞれの前記コマンドデータと関連付けされた１つ以上の前記所定の回数とを記憶し、
前記処理判定ステップにおいて、前記受信するステータスデータと関連付けされた前記１つ以上のコマンドデータを、前記処理情報に応じて、それぞれ前記コマンドデータとして処理するか否かを判定する
ことを特徴とする付記１４に記載のアクセラレータ制御方法。
【０１３９】
（付記１６）
前記第４記憶部は、前記ステータスデータが複数の前記コマンドデータと関連付けされているか否かを表す拡張情報を、前記ステータスデータに更に関連付けして記憶し、
前記処理判定ステップにおいて、前記第４記憶部から、前記受信するステータスデータと関連付けされた前記拡張情報を読み取り、読み取った拡張情報に応じて前記処理情報を読み取るか否かを判定する
ことを特徴とする付記１５に記載のアクセラレータ制御方法。
【０１４０】
（付記１７）
前記コマンドデータを起動したか否かを示す起動情報に応じて前記所定の回数を１減らした値を新たな所定の回数とし、
前記処理判定ステップにおいて、前記新たな所定の回数に応じて、前記第１処理を行う
ことを特徴とする付記１０乃至付記１６のいずれかに記載のアクセラレータ制御方法。
【０１４１】
（付記１８）
前記コマンドデータは、前記処理装置を識別するための識別情報を含み、
前記処理装置は、前記識別情報に応じて、前記識別情報と関連付けされた
処理装置に前記コマンドデータを処理させる
ことを特徴とする付記１０乃至付記１７のいずれかに記載のアクセラレータ制御方法。
【符号の説明】
【０１４２】
１    アクセラレータ
２    処理判定部
３    実行制御部
４    デコーダ
５    実行制御プロセッサ
６    処理装置
７    並列処理システム
８    ステータスデータ
９    ステータス
３１    アクセラレータ
３２    処理判定部
３３    第４記憶部
３４    実行制御プロセッサ
３５    並列処理システム
９１    アクセラレータ
９２    処理判定部
９３    第１記憶部
９４    実行制御プロセッサ
９５    並列処理システム
１１１    アクセラレータ
１１２    処理判定部
１１３    第２記憶部
１１４    実行制御プロセッサ
１１５    並列処理システム
１３１    アクセラレータ
１３２    処理判定部
１３３    第３記憶部
１３４    調停部
１３５    実行制御プロセッサ
１３６    並列処理システム
１６１    アクセラレータ
１６２    起動判定部
１６３    第４記憶部
１６４    実行制御プロセッサ
１６５    並列処理システム
１９１    ステータスデータ
１９２    ステータスアクセラレータ
１９３    コマンド情報
２０１    コマンド情報
２０２    ステータス変換テーブル
２０３    コマンド依存関係管理テーブル
【図１】
2014149745.tif 000003
【図２】
2014149745.tif 000004
【図３】
2014149745.tif 000005
【図４】
2014149745.tif 000006
【図５】
2014149745.tif 000007
【図６】
2014149745.tif 000008
【図７】
2014149745.tif 000009
【図８】
2014149745.tif 000010
【図９】
2014149745.tif 000011
【図１０】
2014149745.tif 000012
【図１１】
2014149745.tif 000013
【図１２】
2014149745.tif 000014
【図１３】
2014149745.tif 000015
【図１４】
2014149745.tif 000016
【図１５】
2014149745.tif 000017
【図１６】
2014149745.tif 000018
【図１７】
2014149745.tif 000019
【図１８】
2014149745.tif 000020
【図１９】
2014149745.tif 000021
【図２０】
2014149745.tif 000022