(57)【要約】【課題】  複数のプロセッサ間でコマンド情報を転送することによりシーケンシャル処理を実行することができるマルチプロセッサシステムを提供する。【解決手段】  プロセッサ情報管理部からマルチプロセッサへ送出されるコマンド情報に、シーケンシャル処理経路リストフィールドＤ２を設ける。シーケンシャル処理経路情報には、有効／無効フラグＤ２１１、実行プロセッサ番号Ｄ２１２及び実行タグＤ２１３を含むプロセッサ実行エントリが含まれる。マルチプロセッサの各プロセッサは、コマンド情報を受信すると、割り当てられた処理を実行し、その後、コマンド情報を更新して、シーケンシャル処理経路リストに含まれる実行プロセッサ番号に基づいて、コマンド情報を順次転送する。【選択図】  図３
2009129219.tif 000002
【特許請求の範囲】
【請求項１】
コマンド情報を生成するプロセッサ情報管理手段と、
前記コマンド情報を受信し、受信したコマンド情報に基づいて動作する複数のプロセッサ手段とを備え、
前記コマンド情報に、転送経路情報又は転送経路探索指令を含ませることにより、前記複数のプロセッサ手段のうちの２以上のプロセッサ手段の間で当該コマンド情報を順次転送させてシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステム。
【請求項２】
前記コマンド情報が、前記転送経路情報と、実行順序が定められている複数の処理ステージに関するタグ情報と、前記複数の処理ステージの各々が実行されたか否かを示すフラグ情報とを含み、
前記複数のプロセッサ手段の各々が、前記コマンド情報を受信した場合に、前記フラグ情報が未実行を示している処理ステージの中で最も実行順序が先の処理ステージを実行し、前記フラグ情報を更新し、前記転送経路情報に基づいて更新されたコマンド情報を他のプロセッサ手段へ転送するようにしたことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記コマンド情報が、前記転送経路情報、前記タグ情報及び前記フラグ情報に代えてこれらの情報の所在を示す所在情報を含み、
前記複数のプロセッサ手段の各々が、前記コマンド情報を受信した場合に、前記所在情報に基づいて前記タグ情報、前記フラグ情報及び前記転送経路情報を得るようにしたことを特徴とする請求項２に記載のマルチプロセッサシステム。
【請求項４】
前記複数のプロセッサ手段の稼働状況を示す稼動情報を格納する記憶手段をさらに備え、
前記プロセッサ情報管理手段が、前記記憶手段に格納された前記稼動情報を参照して、前記複数の処理ステージをそれぞれ実行する複数のプロセッサを決定し、決定された複数のプロセッサを表すプロセッサ番号情報を生成し、生成したプロセッサ番号情報を前記転送経路情報とすることを特徴とする請求項２又は３に記載のマルチプロセッサシステム。
【請求項５】
前記コマンド情報が、前記経路探索指令と、実行順序が定められている複数の処理ステージに関するタグ情報と、前記複数の処理ステージの各々が実行されたか否かを示すフラグ情報とを含み、
前記複数のプロセッサ手段の各々が、前記コマンド情報を受信した場合に、前記フラグ情報が未実行を示している処理ステージの中で最も実行順序が先の処理ステージを実行し、前記フラグ情報を更新し、前記経路探索指令に基づいて更新されたコマンド情報を転送すべき他のプロセッサ手段を特定し、特定した他のプロセッサ手段へ前記更新されたコマンド情報を転送するようにしたことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項６】
前記コマンド情報が、前記タグ情報及び前記フラグ情報に代えてこれらの情報の所在を示す所在情報を含み、
前記複数のプロセッサ手段の各々が、前記コマンド情報を受信した場合に、前記所在情報に基づいて前記タグ情報及び前記フラグ情報を得るようにしたことを特徴とする請求項５に記載のマルチプロセッサシステム。
【請求項７】
前記複数のプロセッサ手段の稼働状況を示す稼動情報を格納する記憶手段をさらに備え、
前記複数のプロセッサ手段の各々が、前記記憶手段に格納された前記稼動情報を参照して、前記更新されたコマンド情報を転送すべき他のプロセッサ手段を特定することを特徴とする請求項５又は６に記載のマルチプロセッサシステム。
【請求項８】
前記複数のプロセッサ手段の各々が、前記コマンド情報を転送した後、空き状態に移行したことを前記プロセッサ情報管理手段に通知し、前記プロセッサ情報管理手段が、前記記憶手段に格納された前記稼動情報を更新することを特徴とする請求項４又は７に記載のマルチプロセッサシステム。
【請求項９】
処理要求／応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサとを備え、
前記処理要求／応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、
前記プロセッサ管理部は前記プロセッサタスク管理メモリを用いて空きプロセッサ情報を管理し、前記プロセッサタスク管理メモリから前記空きプロセッサ情報を読み出して前記複数のステージの処理をそれぞれ実行するプロセッサを決定し、各ステージの実行処理内容を示す実行タグとそれを実行するプロセッサを示す実行プロセッサ番号と有効／無効フラグとを含むシーケンシャル処理経路リストを作成し、当該シーケンシャル処理経路リストと各ステージの処理を実行するのに必要な情報が入った実行情報フィールドとを含むコマンド情報を生成し、当該コマンド情報を前記シーケンシャル処理経路リストの先頭のエントリに含まれる実行プロセッサ番号が示すプロセッサ宛に送出し、
前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル処理経路リストのうち、前記有効／無効フラグが有効を示している最も前方のエントリに含まれる実行タグの処理を実行し、その後、当該エントリの前記有効／無効フラグを無効にし、前記有効／無効フラグが有効を示す次のエントリがあれば当該エントリに含まれる前記実行プロセッサ番号が示すプロセッサ宛に当該コマンド情報を転送し、
前記複数のプロセッサのうち２以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステム。
【請求項１０】
前記複数のプロセッサの各々は、前記シーケンシャル処理経路リストの最後のエントリに含まれる実行タグを処理した場合、前記実行情報フィールドを更新して更新された実行情報フィールドを含むコマンド情報を前記処理要求／応答受信部へ送出することを特徴とする請求項８に記載のマルチプロセッサシステム。
【請求項１１】
前記複数のプロセッサの各々は、前記シーケンシャル処理経路リストの最後のエントリに含まれる実行タグを処理した場合、前記シーケンシャル処理経路リストに含まれるプロセッサ番号のリストを作成し、空きプロセッサリストとして前記プロセッサ情報管理部に送出することを特徴とする請求項８に記載のマルチプロセッサシステム。
【請求項１２】
前記複数のプロセッサの各々は、前記コマンド情報を転送する際、自身の番号を空きプロセッサ番号として前記プロセッサ情報管理部に送出することを特徴とする請求項９に記載のマルチプロセッサシステム。
【請求項１３】
処理要求／応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサとを備え、
前記処理要求／応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、
前記プロセッサタスク管理メモリは、前記プロセッサ管理部及び前記複数のプロセッサからアクセス可能に設けられ、かつ空きプロセッサ情報を管理するために用いられ、
前記プロセッサ管理部は、前記プロセッサタスク管理メモリから前記空きプロセッサ情報を読み出して前記複数のステージのうち最初のステージの処理を実行するプロセッサを決定し、各ステージの実行処理内容を示す実行タグと有効／無効フラグを含むシーケンシャル処理経路リストを作成し、当該シーケンシャル処理経路リストと各ステージの処理を実行するのに必要な情報が入った実行情報フィールドとを含むコマンド情報を生成し、当該コマンド情報を決定したプロセッサに送出し、
前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル処理経路リストのうち、前記有効／無効フラグが有効を示している最も前方のエントリに含まれる実行タグの処理を実行し、その後、当該エントリの前記有効／無効フラグを無効にし、その後前記プロセッサタスク管理メモリの前記空きプロセッサ情報を参照して空きプロセッサの一つを特定し、特定したプロセッサ宛に当該コマンド情報を転送し、
前記複数のプロセッサのうち２以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステム。
【請求項１４】
前記複数のプロセッサの各々は、前記シーケンシャル処理経路リストの最後のエントリに含まれる実行タグを処理した場合、前記実行情報フィールドを更新して更新された実行情報フィールドを含むコマンド情報を前記処理要求／応答受信部へ送出することを特徴とする請求項１３に記載のマルチプロセッサシステム。
【請求項１５】
前記前記複数のプロセッサの各々は、前記コマンド情報を転送する際、自身の番号を空きプロセッサ番号として前記プロセッサタスク管理メモリの空きプロセッサ情報に反映させることを特徴とする請求項１３記載のマルチプロセッサシーケンシャル処理経路通知方式。
【請求項１６】
処理要求／応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサとを備え、
前記処理要求／応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、
前記プロセッサタスク管理メモリは前記プロセッサ管理部及び前記複数のプロセッサからアクセス可能に設けられ、かつ空きプロセッサ情報と各ステージの実行処理内容を示す実行タグを含むシーケンシャル処理リストとを管理するために用いられ、
前記プロセッサ管理部は、前記プロセッサタスク管理メモリの前記空きプロセッサ情報に基づいて最初のステージの処理を実行するプロセッサを決定取得し、前記シーケンシャル処理経路リストを生成して前記プロセッサタスク管理メモリに格納し、各ステージの処理を実行するのに必要な情報が入った実行情報フィールドと前記プロセッサ管理メモリ上のシーケンシャル処理経路リストの先頭のエントリのアドレスを指し示すシーケンシャル情報ポインタとを含むコマンド情報を生成し、当該コマンド情報を決定したプロセッサ宛に送出し、
前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル情報ポインタが示す前記プロセッサタスク管理メモリのアドレスに格納されたエントリを読み出して読み出したエントリに含まれる実行タグの処理を実行し、その後、前記コマンド情報の前記シーケンシャル情報ポインタを次のエントリのアドレスに更新し、続いて前記プロセッサタスク管理メモリの空きプロセッサ情報を参照して空きプロセッサを一つ特定し、特定したプロセッサ番号宛に当該コマンド情報を転送し、
前記複数のプロセッサのうち２以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステム。
【請求項１７】
前記複数のプロセッサの各々は、前記シーケンシャル処理経路リストの最後のエントリに含まれる実行タグを処理した場合、前記実行情報フィールドを更新して更新された実行情報フィールドを含むコマンド情報を前記処理要求／応答受信部へ送出することを特徴とする請求項１６に記載のマルチプロセッサシステム。
【請求項１８】
前記前記複数のプロセッサの各々は、前記コマンド情報を転送する際、自身の番号を空きプロセッサ番号として前記プロセッサタスク管理メモリの未稼動プロセッサ情報に反映させることを特徴とする請求項１６に記載のマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサを有するマルチプロセッサシステムに関し、特に、複数のステージに分割可能な要求処理を複数のプロセッサがシーケンシャルに実行するマルチプロセッサシステムの効率化に関する。
【背景技術】
【０００２】
関連するマルチプロセッサシステムは、並列動作可能な複数のプロセッサを有し、優先順位制約のあるタスクを含む複数のタスクを処理するよう構成されている（例えば、特許文献１参照）。
【０００３】
ここで、優先順位制約のあるタスクを処理するには、即ちシーケンシャル処理を行うには、優先順位の高いタスクを処理するプロセッサと優先順位の低いタスクを処理するプロセッサとの間で稼動タイミングを制御する必要がある。このような制御は、ホストプロセッサ（例えば、特許文献２）やトークン管理装置（例えば、特許文献３）などにより行われている。
【０００４】
【特許文献１】特開平６−２０２８８２号公報
【特許文献２】特開平１１−２７２６２３号公報
【特許文献３】特開平１０−９１５９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
関連するマルチプロセッサシステムでは、タスクを処理する複数のプロセッサとは別に各プロセッサの稼働を制御する制御装置が必要である。そして、関連するマルチプロセッサシステムには、このような制御装置の負荷が大きいという問題点がある。
【０００６】
制御装置の負荷を低減する方法として、シーケンシャル処理を実行するプロセッサ間でコマンド情報を転送させることが考えられる。
【０００７】
プロセッサ間でコマンドを転送させる関連する方法としては、特開２００６−２１６０７５号公報に記載された方法がある。この方法は、分散共有メモリ型マルチプロセッサシステムにおいて、キャッシュを効率的に使用するために、他プロセッサに対して複数の宛先情報が入ったバスコマンドを転送するというものである。以下、図１５を参照して詳述する。
【０００８】
図１５のマルチプロセッサシステムは、第１〜第３のプロセッサシステム１０−１，１０−２，１０−３を有している。各プロセッサシステムは、複数のプロセッサ１６、キャッシュユニット１８及びスヌープユニット２０の組と、メモリ管理ユニット２６及びキャッシュ変化部８０を有するプロトコル管理ユニット２４と、これらの間を接続する第１共通バス２２と、ローカル記憶部２８と、ディレクトリ記憶部３０と、バス接続ユニット３２と、第２共通バス１２とを有している。
【０００９】
共有システムバスとして動作する第２共通バス１２は複数のプロセッサシステム１０−１，１０−２，１０−３のバス接続ユニット３２と図示しないバスアービタ（バス調停ユニット）とを結合する。この第２共通バス１２を介して複数のプロセッサモジュールの間でスプリット型パケット転送によりバスコマンドの転送が行われる。バスコマンドは、アクセス要求元（ソースＩＤ）と示すソースフィールド、第１のアクセス要求先（第１宛先ＩＤ）を示す第１宛先フィールド、及び第２のアクセス要求先（第２宛先ＩＤ）を示す第２宛先フィールドの３つのフィールドを備える。
【００１０】
続いて図１５のマルチプロセッサシステムの動作について説明する。
【００１１】
第１プロセッサモジュール１０−１は自己のリード要求の対象データが第２プロセッサモジュール１０―２の主記憶に存在する場合、バスコマンドのソースフィールドに１０−１を指定し、第１宛先フィールドに第２プロセッサモジュール１０−２を指定した第１バスコマンドを送出する。第１バスコマンドを受信した第２プロセッサモジュール１０−２は、リード要求の最新データが主記憶に存在せずに第３プロセッサモジュールのキャッシュユニットに存在する場合、前記ソースフィールドに１０−２を指定し、第１宛先フィールドに第３プロセッサモジュール１０−３を指定し、第２宛先フィールドに第１プロセッサモジュール１０−１を指定した第２バスコマンドを送出する。第２バスコマンドを受信した第３プロセッサモジュール１０−３はソースフィールドに１０−３を指定し、第１宛先フィールドに第２プロセッサモジュール１０−２を、第２宛先フィールドに第１プロセッサモジュール１０−１をそれぞれ指定したリプライコマンドを送出する。こうして、第３のプロセッサモジュールは、第１及び第２のプロセッサモジュールに対して同時にリードデータ応答をする。
【００１２】
しかしながら、このコマンド情報の転送方法は、キャッシュコヒーレンスを維持するためのものであるため、そのままシーケンシャル処理の実現に用いることはできない。
【００１３】
そこで、本発明は、複数のプロセッサ間でコマンド情報を転送することによりシーケンシャル処理を実行することができるマルチプロセッサシステムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第一の態様によれば、コマンド情報を生成するプロセッサ情報管理手段と、前記コマンド情報を受信し、受信したコマンド情報に基づいて動作する複数のプロセッサ手段とを備え、前記コマンド情報に、転送経路情報又は転送経路探索指令を含ませることにより、前記複数のプロセッサ手段のうちの２以上のプロセッサ手段の間で当該コマンド情報を順次転送させてシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステムが得られる。
【００１５】
また、本発明の第二の態様によれば、処理要求／応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサと、を備え、前記処理要求／応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、前記プロセッサ管理部は前記プロセッサタスク管理メモリを用いて空きプロセッサ情報を管理し、前記プロセッサタスク管理メモリから前記空きプロセッサ情報を読み出して前記複数のステージの処理をそれぞれ実行するプロセッサを決定し、各ステージの実行処理内容を示す実行タグとそれを実行するプロセッサを示す実行プロセッサ番号と有効／無効フラグとを含むシーケンシャル処理経路リストを作成し、当該シーケンシャル処理経路リストと各ステージの処理を実行するのに必要な情報が入った実行情報フィールドとを含むコマンド情報を生成し、当該コマンド情報を前記シーケンシャル処理経路リストの先頭のエントリに含まれる実行プロセッサ番号が示すプロセッサ宛に送出し、前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル処理経路リストのうち、前記有効／無効フラグが有効を示している最も前方のエントリに含まれる実行タグの処理を実行し、その後、当該エントリの前記有効／無効フラグを無効にし、前記有効／無効フラグが有効を示す次のエントリがあれば当該エントリに含まれる前記実行プロセッサ番号が示すプロセッサ宛に当該コマンド情報を転送し、前記複数のプロセッサのうち２以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステムが得られる。
【００１６】
また、本発明の第三の態様によれば、処理要求／応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサと、を備え、前記処理要求／応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、前記プロセッサタスク管理メモリは、前記プロセッサ管理部及び前記複数のプロセッサからアクセス可能に設けられ、かつ空きプロセッサ情報を管理するために用いられ、前記プロセッサ管理部は、前記プロセッサタスク管理メモリから前記空きプロセッサ情報を読み出して前記複数のステージのうち最初のステージの処理を実行するプロセッサを決定し、各ステージの実行処理内容を示す実行タグと有効／無効フラグを含むシーケンシャル処理経路リストを作成し、当該シーケンシャル処理経路リストと各ステージの処理を実行するのに必要な情報が入った実行情報フィールドとを含むコマンド情報を生成し、当該コマンド情報を決定したプロセッサに送出し、前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル処理経路リストのうち、前記有効／無効フラグが有効を示している最も前方のエントリに含まれる実行タグの処理を実行し、その後、当該エントリの前記有効／無効フラグを無効にし、その後前記プロセッサタスク管理メモリの前記空きプロセッサ情報を参照して空きプロセッサの一つを特定し、特定したプロセッサ宛に当該コマンド情報を転送し、前記複数のプロセッサのうち２以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステムが得られる。
【００１７】
さらに、本発明の第四の形態によれば、処理要求／応答受信部と、プロセッサ管理部と、プロセッサタスク管理メモリと、複数のプロセッサを含むマルチプロセッサと、を備え、前記処理要求／応答受信部は外部から供給される複数のステージに分割可能なプロセッシング処理要求を受信して実行ステージ数と処理内容を決定し、前記プロセッサタスク管理メモリは前記プロセッサ管理部及び前記複数のプロセッサからアクセス可能に設けられ、かつ空きプロセッサ情報と各ステージの実行処理内容を示す実行タグを含むシーケンシャル処理リストとを管理するために用いられ、前記プロセッサ管理部は、前記プロセッサタスク管理メモリの前記空きプロセッサ情報に基づいて最初のステージの処理を実行するプロセッサを決定取得し、前記シーケンシャル処理経路リストを生成して前記プロセッサタスク管理メモリに格納し、各ステージの処理を実行するのに必要な情報が入った実行情報フィールドと前記プロセッサ管理メモリ上のシーケンシャル処理経路リストの先頭のエントリのアドレスを指し示すシーケンシャル情報ポインタとを含むコマンド情報を生成し、当該コマンド情報を決定したプロセッサ宛に送出し、前記複数のプロセッサの各々は、前記コマンド情報を受信した場合に、受信したコマンド情報に含まれる前記シーケンシャル情報ポインタが示す前記プロセッサタスク管理メモリのアドレスに格納されたエントリを読み出して読み出したエントリに含まれる実行タグの処理を実行し、その後、前記コマンド情報の前記シーケンシャル情報ポインタを次のエントリのアドレスに更新し、続いて前記プロセッサタスク管理メモリの空きプロセッサ情報を参照して空きプロセッサを一つ特定し、特定したプロセッサ番号宛に当該コマンド情報を転送し、
前記複数のプロセッサのうち２以上のプロセッサによるシーケンシャル処理を実行するようにしたことを特徴とするマルチプロセッサシステムが得られる。
【発明の効果】
【００１８】
本発明によれば、プロセッサ情報管理手段において生成されたコマンド情報を複数のプロセッサ間で順次転送させてシーケンシャル処理を実行させるようにしたことにより、プロセッサ情報管理手段での複数のプロセッサを管理に要する負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】
図１を参照すると、本発明の第一の実施の形態としてのマルチプロセッサシステムが示されている。本システムは、処理要求／応答受信部１、プロセッサ情報管理部２、プロセッサタスク管理メモリ２１及びマルチプロセッサ３を含む。
【００２１】
処理要求／応答受信部１は、図示しない外部ブロックからの処理要求を受信し、マルチプロセッサ３で処理した結果を外部ブロックへ返す。
【００２２】
プロセッサ情報管理部２は、マルチプロセッサ３に含まれる複数（Ｎ個）のプロセッサ３０１−１〜３０１−Ｎの稼動状況を把握し、空きプロセッサリストを作成してプロセッサタスク管理メモリ２１に格納し、随時更新する。また、プロセッサ情報管理部２は、空きプロセッサリストを参照して、処理要求／応答受信部１が受信した処理供給を実行する１以上のプロセッサ（シーケンシャル処理経路）を決定する。
【００２３】
プロセッサタスク管理メモリ２１は、プロセッサ情報管理部２に接続され、空きプロセッサリストを始め、動作に必要な情報を記憶する。
【００２４】
マルチプロセッサ３は、並列動作可能なＮ個のプロセッサ３０１−１〜３０１−Ｎを含む。プロセッサの数Ｎは特に限定されない。これらのプロセッサは、互いにバス接続され、相互にデータ転送が可能である。これにより、これらプロセッサは、処理順序の定められた複数のタスクを順番に処理するシーケンシャル処理を行うことができる。プロセッサ間の接続形態は、クロスバーやリングバスなどでもよい。
【００２５】
次に、図１に示したマルチプロセッサシステムの動作について、図２のフローチャートを参照して説明する。
【００２６】
図２のフローチャートは、実行フローのうち処理要求／応答受信部１の処理Ｕ１、プロセッサ情報管理部２の処理（前半）Ｕ２、プロセッサ情報管理部２の処理（後半）Ｕ３を示している。
【００２７】
詳述すると、処理要求／応答受信部１は、外部ブロックからの処理要求パケットを受信すると（ステップＡ１）、受信したパケットに含まれるシーケンシャル処理内容を取得する（ステップＡ２）。そして、処理要求／応答受信部１は、取得したシーケンシャル処理内容を複数のステージに分割する。換言すると、処理要求／応答受信部１は、取得したシーケンシャル処理内容を実行するのに必要なステージ数と各ステージの処理内容とを決定する（ステップＡ３）。決定したステージ数と各ステージの処理内容とは、プロセッサ情報管理部２へ通知される。
【００２８】
プロセッサ情報管理部２は、処理要求／応答受信部１からの通知を受けて、プロセッサタスク管理メモリ２１から空きプロセッサリストを読み出す（ステップＡ４）。そして、プロセッサ情報管理部２は、シーケンシャル処理内容を実行するのに必要な数（ステージ数）の空きプロセッサが存在するか否か判定する（ステップＡ５）。必要な数の空きプロセッサが存在しない場合（ステップＡ５でＮｏ）、プロセッサ情報管理部２は、必要な数の空きプロセッサが揃うまで待機する（ステップＡ６）。
【００２９】
必要な数の空きプロセッサ存在する場合（ステップＡ５でＹｅｓ）、プロセッサ情報管理部２は、空きプロセッサの中から各ステージの処理を実行させるプロセッサ（シーケンシャル処理経路）を決定する（ステップＡ７）。また、プロセッサ情報管理部２は、決定したプロセッサに関して空きプロセッサリストを更新する（ステップＡ８）。更に、プロセッサ情報管理部２は、決定されたプロセッサにシーケンシャル処理内容を実行させるためのコマンド情報を生成し（ステップＡ９）、最初のステージの処理を実行するプロセッサへ送出する（ステップＡ１０）。
【００３０】
プロセッサ情報管理部２から送出されるコマンド情報のフォーマットの一例を図３に示す。
【００３１】
図３のコマンド情報は、内部情報フィールドＤ１と、シーケンシャル処理経路リストフィールドＤ２と、実行情報フィールドＤ３とを含む。
【００３２】
内部情報フィールドＤ１には、このコマンド情報の全体長や各フィールドの先頭からのバイト位置を示す情報が格納される。シーケンシャル処理経路リストフィールドＤ２には、シーケンシャル処理経路リストが格納される。実行情報フィールドＤ３には、シーケンシャル処理内容を実行するために必要な実行情報が格納される。
【００３３】
シーケンシャル処理経路リストフィールドＤ２に格納されるシーケンシャル処理経路リストは、各ステージに対応するプロセッサ実行エントリＤ２１を実行順序に従って並べたものである。各プロセッサ実行エントリＤ２１は、該当エントリが有効であるか否か示す有効／無効フラグＤ２１１と、当該エントリに対応するステージの処理を実行するプロセッサを示す実行プロセッサ番号Ｄ２１２と、実行すべき処理の内容を示す実行タグＤ２１３とを含む。実行順に並べられた実行プロセッサ番号Ｄ２１２が転送経路情報としての役割を果たす。実行タグＤ２１３は、実行する処理の内容を一意に示すものであればよく、実行内容を示す番号や、実行タスクの開始アドレス等を使用することができる。
【００３４】
次に、プロセッサ３０１−１〜３０１−Ｎの動作について、図４のフローチャートを参照して説明する。プロセッサ３０１−１〜３０１−Ｎは全て同一プログラムをロードしており、同一の動作を行う。したがって、以下では、一つのプロセッサ３０１について説明する。
【００３５】
プロセッサ３０１は、コマンド情報を受信するまで待機する（ステップＢ１でＮｏ）。ここで、コマンド情報は、上述したプロセッサ情報管理部２から送出されたもののみならず、後述の説明から明らかなように、他のプロセッサから送出されたものもある。
【００３６】
プロセッサ３０１は、自プロセッサ宛のコマンド情報を受信するまで待機する（ステップＢ１でＮｏ）。プロセッサ３０１は、自プロセッサ宛のコマンド情報を受信すると（ステップＢ１でＹｅｓ）、受信したコマンド情報の中で有効／無効フラグが有効を示すエントリのうち最も先頭のプロセッサ実行エントリＤ２１を抽出する（ステップＢ２）。それから、プロセッサ３０１は、コマンド情報の実行情報フィールドＤ３から実行情報を抽出する（ステップＢ３）。抽出した実行情報は、後にシーケンシャル処理を実行する際に使用される。
【００３７】
次に、プロセッサ３０１は、抽出したプロセッサ実行エントリＤ２１から実行タグを取得する（ステップＢ４）。そして、取得した実行タグと先に抽出した実行情報とに基づいて実行すべきシーケンシャル処理の内容（割り当てられたステージの処理の内容）を決定する（ステップＢ５〜Ｂ８）。
【００３８】
図４の例では、予めＭ個（Ｍ＞０）の条件分岐が規定されている。実行タグがタグＡの場合、プロセッサ３０１は、タグＡに該当するシーケンシャル処理を実行する（ステップＢ５，Ｂ６）。実行タグがタグＢの場合、プロセッサ３０１は、タグＢに該当するシーケンシャル処理を実行する（ステップＢ５，Ｂ７）。実行タグがタグＭの場合、プロセッサ３０１は、タグＭに該当するシーケンシャル処理を実行する（ステップＢ５，Ｂ８）。これらのシーケンシャル処理の実行により、実行情報は更新される。
【００３９】
プロセッサ３０１は、シーケンシャル処理を完了した後、実行したプロセッサ実行エントリＤ２１の有効／無効フラグを無効とする（ステップＢ９）。また、プロセッサ３０１は、実行したプロセッサ実行エントリＤ２１がシーケンシャル処理経路リストの最後のエントリであるか否か判断する（ステップＢ１０）。
【００４０】
実行したプロセッサ実行エントリＤ２１がシーケンシャル処理経路リストの最後のエントリでない場合（ステップＢ１０でＮｏ）、プロセッサ３０１は、コマンド情報を転送するため、実行情報フィールドに更新された実行情報を格納する（ステップＢ１１）。そして、プロセッサ３０１は、実行したプロセッサ実行エントリＤ２１の次のプロセッサ実行エントリに含まれる実行プロセッサ番号に対応するプロセッサに対して更新したコマンド情報を転送する（ステップＢ１２）。
【００４１】
実行したプロセッサ実行エントリＤ２１がシーケンシャル処理経路リストの最後のエントリであった場合（ステップＢ１０でＹｅｓ）、プロセッサ３０１は、必要な後処理を行う（ステップＢ１３）。また、プロセッサ３０１は、シーケンシャル処理を実行することにより更新された実行情報をコマンド情報に格納して、あるいはコマンド情報とは別に、処理要求／応答受信部１のセッション管理部（図示せず）へ送付する（ステップＢ１４）。さらに、プロセッサ３０１は、シーケンシャル処理リストに含まれる実行プロセッサ番号に対応する全てのプロセッサが空き状態になったことを示すプロセッサの空きリスト通知を、プロセッサ情報管理部２へ送付する（ステップＢ１５）。
【００４２】
処理要求／応答受信部１への更新された実行情報の送付と、プロセッサ情報管理部２へのプロセッサの空きリスト通知の送付は、同一のフレームを用いて行われてもよい。その場合、プロセッサ情報管理部２は、受信したフレームからプロセッサの空きリスト通知を抽出した後、実行情報を同一フレームから抽出して処理要求／応答受信部１へ転送する。
【００４３】
以上のようにしてコマンド情報の転送又はプロセッサの空きリスト通知の送付を行ったプロセッサ３０１は、次のコマンド情報の受信を待つ待機状態に戻る。
【００４４】
次に、図５を参照して、プロセッサ３０１からプロセッサの空きリスト通知を受け取ったプロセッサ情報管理部２の動作について説明する。
【００４５】
プロセッサ情報管理部２は、プロセッサタスク管理メモリ２１に格納された空きプロセッサリストを管理している。このため、プロセッサ情報管理部２は、図２に示すフローとは別に、図５に示すフローに従い動作する。即ち、プロセッサ情報管理部２は、プロセッサ３０１から送出されたプロセッサの空きリスト通知を受信して（ステップＣ１）、空きプロセッサリストを更新する（ステップＣ２）。
【００４６】
次に図１乃至図５に加えて図６乃至図８を参照して、本実施の形態に係るマルチプロセッサシステムの動作についてさらに説明する。
【００４７】
図６は、マルチプロセッサ３に含まれる１２個（Ｎ＝１２の場合）のプロセッサ３０１−１〜３０１−１２の動作状況を示す図である。プロセッサ３０１−１及び３０１−２からなる組Ｅ１は、２段のステージを含むシーケンシャル処理Ａ１を実行している。プロセッサ３０１−４のみからなる組Ｅ３は、１段のステージを含むシーケンシャル処理Ｂを実行している。プロセッサ３０１−５〜３０１−７からなる組Ｅ２は、３段のステージを含むシーケンシャル処理Ｃ１を実行している。プロセッサ３０１−１０及び３０１−１１からなる組Ｅ４は、２段のステージを含むシーケンシャル処理Ａ２を実行している。プロセッサ３０１−３，３０１−８，３０１−９及び３０１−１２は、空きプロセッサである。
【００４８】
図６に示す動作状況において、処理要求／応答受信部１が新たに３段のステージに分割可能なシーケンシャル処理Ｃ２という要求を受信したとする。
【００４９】
プロセッサ情報管理部２は、処理要求／応答受信部１からの通知を受け、プロセッサタスク管理メモリ２１を参照して、３つのプロセッサを選択する。この選択は例えば、番号の若い順に選択したり、空き時間の長いプロセッサから順に選択したりすることができる。図６では、プロセッサ３０１−３，３０１−８及び３０１−９が選択され、組Ｅ５を構成している。
【００５０】
プロセッサ情報管理部２は、プロセッサ３０１−３，３０１−８及び３０１−９を選択した後、プロセッサタスク管理メモリ２１の空きプロセッサリストを更新する。即ち、プロセッサ３０１−３，３０１−８及び３０１−９が使用中であるという情報を空きプロセッサリストに加える。また、プロセッサ情報管理部２は、プロセッサ３０１−３，３０１−８及び３０１−９に要求されたシーケンス処理を実行させるべく、図７に示すようなコマンド情報を生成し、最初のステージを実行するプロセッサ３０１−３へ送付する。
【００５１】
図７のコマンド情報について詳細に説明する。
【００５２】
内部ヘッダフィールドＧ１には本コマンド情報の最大長および各フィールドのバイト位置などを示す内部情報が入っている。
【００５３】
シーケンシャル処理経路リストフィールドＧ２〜Ｇ４にはシーケンシャル処理経路リストが格納されている。このリストでは、全てのエントリの有効／無効フラグが有効を示す“１”となっている。また、シーケンシャル処理がプロセッサ３０１−３→プロセッサ３０１−８→プロセッサ３０１−９の順で行われることが示されている。さらに、これらのプロセッサが処理すべき内容が、処理Ｃ２の一段目のステージ〜三段目のステージであることが示されている。
【００５４】
また、実行情報フィールドＧ５にはシーケンシャル処理の実行に必要な実行情報が格納されている。
【００５５】
このコマンド情報をプロセッサ３０１−３からプロセッサ３０１−８へ、プロセッサ３０１−８からプロセッサ３０１−９へと、更新を行いながら転送することにより、プロセッサ３０１−３に処理Ｃ２のステージ１を、プロセッサ３０１−８に処理Ｃ２のステージ２を、プロセッサ３０１−９に処理Ｃ２の処理ステージ３を実行させることができる。
【００５６】
図８は、プロセッサ３０１−３，３０１−８及び３０１−９が３段のステージを含むシーケンシャル処理Ｃ２を実行している様子を示すイメージ図である。シーケンシャル処理の物理トポロジは、図６に示すような形であるが、論理的には図８のような処理イメージとなる。
【００５７】
プロセッサ３０１−３の入力前の点Ｆ１では、コマンド情報に含まれるシーケンシャル処理経路リストの有効／無効フラグは全て“１”となっている。
【００５８】
プロセッサ３０１−３（処理Ｆ２）において、ステージ１のシーケンシャル処理が実行されると、シーケンシャル処理経路リストフィールドＧ２の有効／無効フラグが落とされる（“０”とされる）。これにより、プロセッサ３０１−８の入力前の点Ｆ３では、シーケンシャル処理経路リストフィールドＧ３のエントリが、有効／無効フラグが“１”である最も先頭よりのエントリとなる。また、処理Ｆ２により、実行情報フィールドＧ５の実行情報は書き換えられる。
【００５９】
次に、コマンド情報を受け取ったプロセッサ３０１−８（処理Ｆ４）においても、ステージ２のシーケンシャル処理が実行されると、シーケンシャル処理経路リストフィールドＧ３の有効／無効フラグが落とされる（“０”とされる）。これにより、プロセッサ３０１−９の入力前の点Ｆ５では、シーケンシャル処理経路リストフィールドＧ４のエントリが、有効／無効フラグが“１”である最も先頭よりのエントリとなる。また、処理Ｆ４により、実行情報フィールドＧ５の実行情報は書き換えられる。
【００６０】
さらに、コマンド情報を受け取ったプロセッサ３０１−９（処理Ｆ６）においても、ステージ３のシーケンシャル処理が実行されると、シーケンシャル処理経路リストフィールドＧ４の有効／無効フラグが落とされる（“０”とされる）。これにより、点Ｆ７では、全ての有効／無効フラグが落とされる。また、処理Ｆ６により、実行情報フィールドＧ５の実行情報は全てのシーケンシャル処理情報を実行した後の状態に書き換えられる。
【００６１】
こうして得られたコマンド情報がプロセッサの空きリスト通知及び更新された実行情報として処理要求／応答受信部１及びプロセッサ情報管理部２へ送られる。
【００６２】
プロセッサ情報管理部２は、プロセッサの空きリスト通知を受信すると、プロセッサ３０１−３，プロセッサ３０１−８及びプロセッサ３０１−９が空きプロセッサであるとして、プロセッサタスク管理メモリ２１に格納されている空きプロセッサリストに追加する。
【００６３】
以上のように、本実施の形態に係るマルチプロセッサによれば、空きプロセッサを効率的に使用する動的なシーケンシャル処理の処理内容及び処理経路の割り当てを実施することができる。
【００６４】
また、本実施の形態に係るマルチプロセッサによれば、シーケンシャル処理を実行するプロセッサ間でコマンド情報を転送するようにしたことで、各プロセッサが空きプロセッサ情報を管理するプロセッサ情報管理部２にアクセスすることなく、シーケンシャル処理を実行することができる。これにより、プロセッサ情報管理部２の負荷を軽減することができるとともに、ボトルネックになりがちなプロセッサ間のデータ転送量を削減することができる。
【００６５】
次に、本発明の第二の実施の形態に係るマルチプロセッサシステムについて説明する。
【００６６】
第一の実施の形態に係るマルチプロセッサシステムでは、最後のステージの処理を実行したプロセッサから、シーケンシャル処理に携わった全てのプロセッサが空き状態になったことをプロセッサ情報管理部へ通知する。このため、既に処理を終えたプロセッサであっても、プロセッサタスク管理メモリ２１の空きプロセッサリストに登録されておらず、最後のステージの処理が終了するまで再利用することができない。そこで、本実施の形態では、各プロセッサが割り当てられたステージの処理を終了するごとに空き状態となったことをプロセッサ情報管理部へ通知する。これにより第一の実施の形態のマルチプロセッサシステムに比べ、本実施の形態のマルチプロセッサシステムは、空きプロセッサにより効率良くタスクを割り当てることができる。
【００６７】
本実施の形態に係るマルチプロセッサシステムの構成及び動作は、第一の実施の形態に係るマルチプロセッサシステムとほとんど同じである。ただし、各プロセッサの動作が一部異なる。
【００６８】
図９に第二の実施の形態に係るマルチプロセッサシステムの各プロセッサの動作を説明するためのフローチャートを示す。図９のフローチャートが図４のフローチャートと異なる点は、ステップＢ１５に代えてステップＢ２１を有している点である。
【００６９】
図３のフローチャートでは、実行したエントリがシーケンシャル処理経路リストの最後のエントリであった場合に、プロセッサ３０１が、プロセッサの空きリスト通知をプロセッサ情報管理部２に送付する（ステップＢ１５）。これに対し、図９のフローチャートでは、実行したエントリがシーケンシャル処理経路リストの最後のエントリであったか否かにかかわらず、各プロセッサが空き状態となったこと示す空き通知をプロセッサ情報管理部２に送付する（ステップＢ２１）。
【００７０】
図８の例では、最後のシーケンシャル処理を行ったプロセッサ３０１−９のみがプロセッサ情報管理部２にプロセッサの空きリスト通知を送付する。これに対し、本実施の形態では、プロセッサ３０１−３，３０１−８及び３０１−９のそれぞれが、各ステージの処理を終えたあと、個別に自プロセッサが空き状態となったことを示す空きプロセッサ通知を作成してプロセッサ情報管理部２に送付する。つまり、第一の実施の形態では、点Ｆにてプロセッサの空きリスト通知を送付していたものを、第二の実施の形態では点Ｆ３，Ｆ５及びＦ７のそれぞれにおいて個別に空きプロセッサ通知を送信する。これにより本実施の形態では、空きプロセッサの発生をより迅速に把握することができるので、第一の実施の形態と比較して、より効率的に空きプロセッサにタスクを割り当てることができる。
【００７１】
次に、本発明の第三の実施の形態に係るマルチプロセッサシステムついて説明する。
【００７２】
第一及び第二の実施の形態に係るマルチプロセッサシステムでは、空きプロセッサの情報をプロセッサ情報管理部２にて一括管理している。これに対し、本実施の形態に係るマルチプロセッサシステムでは、全てのプロセッサからプロセッサタスク管理メモリ２１へアクセスすることができる。これにより、プロセッサタスク管理メモリ２１の空きプロセッサリストをどのプロセッサからも更新することができる。
【００７３】
図１０に、本実施の形態に係るマルチプロセッサシステムの構成を示す。図１の構成と異なる点は、プロセッサタスク管理メモリ２１がプロセッサ情報管理部２ではなく、マルチプロセッサ３からもアクセス可能な直結バスに接続されている点である。このような配置により、プロセッサタスク管理メモリ２１は、プロセッサ情報管理部２からもマルチプロセッサ３内のプロセッサ３０１−１〜３０１−Ｎのいずれからも直接読み書きすることができる。
【００７４】
次に、図１０のマルチプロセッサシステムの動作について説明する。
【００７５】
処理要求／応答受信部１は、第一の実施の形態と同様に動作する。また、プロセッサ情報管理部２は、第一の実施の形態と同様にコマンド情報を生成し送出する。ただし、プロセッサ情報管理部２は、シーケンシャル処理の最初のステージの処理を実行するプロセッサのみを決定し、後続するステージの処理を実行するプロセッサについてはその決定を行わない。
【００７６】
本実施の形態におけるコマンド情報のフォーマットは、図１１に示すようになる。
【００７７】
図示のように本実施の形態のコマンド情報は、内部情報フィールドＤ１、シーケンシャル処理経路リストフィールドＤ２及び実行情報フィールドＤ３を有している点で、図３のコマンド情報と同じである。しかしながら、このコマンド情報では、シーケンシャル処理経路リストフィールドＤ２に格納されるシーケンシャル処理経路リストの各プロセッサ実行エントリＤ２１が、実行プロセッサ番号Ｄ２１２を持たない。つまり、このコマンド情報は、各プロセッサ実行エントリＤ２１として、有効／無効フラグＤ２１１と実行タグＤ２１３のみを有している。このように、本実施の形態では、転送経路情報として実行プロセッサ番号Ｄ２１２が存在しないので、それを補うため実行タグＤ２１３に転送経路探索指令が含まれる。
【００７８】
次に、図１２を参照してプロセッサ３０１の動作について説明する。図１２のフローチャートを第二の実施の形態における図９のフローチャートと比較すると、ステップＢ１２に代えて、ステップＢ１５″〜ステップＢ１８″を有している点で異なっている。
【００７９】
本実施の形態では、コマンド情報に実行プロセッサ番号Ｄ２１２が含まれていないので、第二の実施の形態のように、シーケンシャル処理経路リストに基づいてコマンド情報の転送先を決定することができない。そこで、本実施の形態では、シーケンシャル処理を実行したプロセッサ３０１が、転送経路探索指令に従い、直接プロセッサタスク管理メモリ２１にアクセスし転送先を決定する。
【００８０】
即ち、プロセッサ３０１は、プロセッサタスク管理メモリ２１に格納されている空きプロセッサリストを取得する（ステップＢ３１）。そして、プロセッサ３０１は、取得した空きプロセッサリストに基づき、空きプロセッサが存在するか否か判定する（ステップＢ３２）。
【００８１】
空きプロセッサが存在しない場合（ステップＢ３２でＮｏ）、プロセッサ３０１は、空きプロセッサが生じるまで待機する（ステップＢ３３）。一方、空きプロセッサが存在する場合は（ステップＢ３２でＹｅｓ）、そのうちの一つを選択し、選択したプロセッサへコマンド情報を転送する（ステップＢ３４）。
【００８２】
第一及び第二の実施の形態では、プロセッサ情報管理部２においてコマンド情報を作成する際に、シーケンシャル処理の実行に必要な数（ステージ数）の空きプロセッサが存在しなければならない。即ち、これらの実施の形態では、シーケンシャル処理を実行に必要な数の空きプロセッサが存在しなければ、そのシーケンシャル処理を開始することができない。これに対し、本実施の形態では、少なくとも一つの空きプロセッサが存在すれば、シーケンシャル処理を開始することができる。
【００８３】
次に、本発明の第四の実施の形態に係るマルチプロセッサシステムについて説明する。
【００８４】
上述した第一乃至第三の実施の形態では、コマンド情報にシーケンシャル処理経路リストフィールドを含ませていたが、本実施の形態では、シーケンシャル処理経路リストフィールドに代えてシーケンシャル情報ポインタフィールドを設けている。即ち、本実施の形態では、シーケンシャル処理経路リストをプロセッサタスク管理メモリ内に置き、コマンド情報には、シーケンシャル処理経路リストのいずれかのエントリの格納位置を指し示すポインタを含ませる。これにより、より簡潔なコマンド情報の転送でシーケンシャル処理を実現することができる。
【００８５】
本実施の形態に係るマルチプロセッサシステムは、図１０に示す第三の実施の形態と同様に構成される。ただし、プロセッサタスク管理メモリ２１には、図１３に示すように、空きプロセッサリストの保存領域Ｄ５２に加えて、シーケンシャル処理経路リスト保存領域Ｄ５１が設けられている。
【００８６】
図１３に示すように、コマンド情報に含まれるシーケンシャル情報ポインタフィールドＤ４には、プロセッサタスク管理メモリ１２に格納されたシーケンシャル処理経路リストのいずれかのプロセッサ実行エントリＤ２１の格納位置を示すシーケンシャル情報ポインタが格納される。
【００８７】
次に、本実施の形態に係るマルチプロセッサシステムの動作について説明する。
【００８８】
処理要求／応答受信部１の動作は、第一の実施の形態と同様である。プロセッサ情報管理部２は、第一の実施の形態とほぼ同様に動作する。ただし、図２のステップＡ８において、プロセッサタスク管理メモリ２１に対して、空きプロセッサリストの更新とともに、作成したシーケンシャル処理経路リストをプロセッサタスク管理メモリ２１に格納する。また、ステップＡ９では、コマンド情報の作成に当たり、シーケンシャル処理経路リストではなく、シーケンシャル情報ポインタを含ませる。
【００８９】
次に図１４のフローチャートを参照して本実施の形態におけるプロセッサ３０１の動作について説明する。
【００９０】
図１４のフローチャートは、図１２のフローチャートと比べると、ステップＢ２に代えてステップＢ４１及びＢ４２を有し、また、ステップＢ１０に代えてステップＢ４３を有している点で異なる。
【００９１】
本実施の形態では、プロセッサ３０１は、自プロセッサ宛のコマンド情報を受信すると（ステップＢ１でＹｅｓ）、受信したコマンド情報からシーケンシャル情報ポインタを抽出する（ステップＢ４１）。そしてプロセッサ３０１は、プロセッサタスク管理メモリ２１にアクセスし、抽出したシーケンシャル情報ポインタが指し示すアドレスに格納されたプロセッサ実行エントリを取得する（ステップＢ４２）。
【００９２】
この後、プロセッサ３０１は、第一乃至第三の実施の形態と同様に、シーケンシャル処理の割り当てられたステージの処理を実行し（ステップＢ３〜Ｂ８）、プロセッサ実行エントリの有効／無効フラグを更新する（ステップＢ９）。
【００９３】
次に、プロセッサ３０１は、プロセッサタスク管理メモリ２１を参照して、コマンド情報に含まれていたシーケンシャル情報ポインタが指し示すアドレス上のプロセッサ実行エントリがシーケンシャル処理経路リストの最後のエントリであるか否か判定する（ステップＢ４３）。
【００９４】
その後、プロセッサ３０１は、判定結果に従って第三の実施の形態の場合と同様に動作する。ただし、この場合、プロセッサタスク管理メモリ２１上のシーケンシャル処理経路リストには、図１３に示す実行プロセッサ番号Ｄ２１２は含まれていない。
【００９５】
プロセッサタスク管理メモリ２１上のシーケンシャル処理経路リストに実行プロセッサ番号Ｄ２１２が含まれる場合は、プロセッサ３０１は、第一又は第二の実施の形態の場合と同様に動作する。
【００９６】
コマンド情報にシーケンシャル経路情報リストが含まれている場合、シーケンシャル処理のステージ数の増大に伴い、コマンド情報の処理オーバーヘッドが増大するおそれがある。これに対し、本実施の形態では、シーケンシャル情報ポインタという一定サイズの単一エントリを用いることで、コマンド情報の処理オーバーヘッドを低減することができる。
【００９７】
以上、本発明についていくつかの実施の形態に即して説明したが、本発明は上記実施の形態に限定されず、種々の変形が可能である。
【図面の簡単な説明】
【００９８】
【図１】本発明の第一の実施の形態に係るマルチプロセッサシステムの概略構成を示すブロック図である。
【図２】図１のマルチプロセッサシステムにおける処理要求／応答受信部及びプロセッサ情報管理部の動作を説明するためのフローチャートである。
【図３】図１のマルチプロセッサシステムにおけるプロセッサ情報管理部から送出されるコマンド情報のフォーマット図である。
【図４】図１のマルチプロセッサシステムにおけるプロセッサの動作を説明するためのフローチャートである。
【図５】図１のマルチプロセッサシステムにおけるプロセッサ情報管理部の空きプロセッサリスト受信動作を説明するためのフローチャートである。
【図６】図１のマルチプロセッサシステムにおけるプロセッサアレイのシーケンシャル割り当ての例を説明するための図である。
【図７】図１のマルチプロセッサシステムにおけるコマンド情報の具体例を示す図である。
【図８】図６のシーケンシャル割り当て例によるプロセッサアレイのシーケンシャル動作を説明するための図である。
【図９】本発明の第二の実施の形態に係るマルチプロセッサシステムにおけるプロセッサの動作を説明するためのフローチャートである。
【図１０】本発明の第三の実施の形態に係るマルチプロセッサシステムの概略構成を示すブロック図である。
【図１１】図１０のマルチプロセッサシステムにおいて使用されるコマンド情報のフォーマット図である。
【図１２】図１０のマルチプロセッサシステムにおけるプロセッサの動作を説明するためのフローチャートである。
【図１３】本発明の第四の実施の形態に係るマルチプロセッサシステムにおけるコマンド情報とプロセッサタスク管理メモリに格納される情報とを説明するための図である。
【図１４】本発明の第四の実施の形態に係るマルチプロセッサシステムにおけるプロセッサの動作を説明するためのフローチャートである。
【図１５】本発明に関連するマルチプロセッサシステムを説明するためのブロック図である。
【符号の説明】
【００９９】
１    処理要求／応答受信部
２    プロセッサ情報管理部
２１    プロセッサタスク管理メモリ
３    マルチプロセッサ
３０１−１〜３０１−Ｎ    プロセッサ
【図１】
2009129219.tif 000003
【図２】
2009129219.tif 000004
【図３】
2009129219.tif 000005
【図４】
2009129219.tif 000006
【図５】
2009129219.tif 000007
【図６】
2009129219.tif 000008
【図７】
2009129219.tif 000009
【図８】
2009129219.tif 000010
【図９】
2009129219.tif 000011
【図１０】
2009129219.tif 000012
【図１１】
2009129219.tif 000013
【図１２】
2009129219.tif 000014
【図１３】
2009129219.tif 000015
【図１４】
2009129219.tif 000016
【図１５】
2009129219.tif 000017