(57)【要約】  本発明は、各ＩＰコアが情報処理サブシステム（ＩＶＳ）およびネットワークコントローラ（ＮＫ）を有し、各ＮＫが少なくとも２つのインタフェース、ＺＫのためのインタフェースおよびＩＶＳのための第２インタフェースを有して成る、複数のＩＰコアの間で時間制御通信システム（ＺＫ）を介してメッセージを送信するための方法であって、ＺＫの特権メッセージと非特権メッセージとの間の区別が付けられ、ＮＫのポートのＺＫに関する送信パラメータ、例えば時間制御メッセージの周期的に繰り返される送信時間および各送信時間後の最大送信持続時間がもっぱら、ＺＫを介して特権メッセージによって、または直接的に特権エンティティ（特権ＩＰコア）によってのみ設定することができ、メッセージを送信しようとする各ＮＫは、厳密に次の設定送信時間の時点で自律的にメッセージを送信し始め、かつ遅くとも割り当てられた最大送信期間が経過した後、送信プロセスを終了することを特徴とする方法に関する。本発明はさらに、このような方法を実行するためのシステムオンチップ（ＳｏＣ）に関する。【選択図】  図１
2009524952.tif 000002
【特許請求の範囲】
【請求項１】
各ＩＰコアが情報処理サブシステム（ＩＶＳ）およびネットワークコントローラ（ＮＫ）を有し、各ＮＫが少なくとも２つのインタフェース、ならびにＺＫのためのインタフェースおよびＩＶＳのための第２インタフェースを有して成る、複数のＩＰコアの間で時間制御通信システム（ＺＫ）を介してメッセージを送信するための方法であって、ＺＫの特権メッセージと非特権メッセージとの間で区別が付けられ、ＮＫのポートのＺＫに関する送信パラメータ、例えば時間制御メッセージの周期的に繰り返される送信時間および各送信時間後の最大送信持続時間がもっぱら、ＺＫを介して特権メッセージによって、または直接的に特権エンティティ（特権ＩＰコア）によってのみ設定することができ、メッセージを送信しようとする各ＮＫが厳密に次回の送信時間に自律的にメッセージを送信し始め、かつ遅くとも割り当てられた最大送信持続時間の経過後に送信プロセスを中断することを特徴とする方法。
【請求項２】
ＮＫが単一のシステムオンチップ（ＳｏＣ）上に実現され、ＺＫがネットワークオンチップとして実行されること特徴とする、請求項１に記載の方法。
【請求項３】
ＮＫが異なるチップ上に実現され、ＺＫもオフチップネットワークとして実行されることを特徴とする、請求項１に記載の方法。
【請求項４】
ＺＫの特権メッセージと非特権メッセージとの間の区別が、各ＺＫメッセージのヘッダ内の指定されたビットに基づいて行なわれることを特徴とする、請求項１ないし３の一項に記載の方法。
【請求項５】
ＺＫの特権メッセージと非特権メッセージとの間の区別が、メッセージの周期的送信時間に基づいて行なわれることを特徴とする、請求項１ないし４の一項に記載の方法。
【請求項６】
ＩＰコアのＮＫの特権送信ポートと非特権送信ポートとの間で区別が行なわれ、特権メッセージは特権送信ポートを介してのみ送信することができ、特権メッセージと非特権メッセージとの間の区別が特権送信ポートの物理名に基づいて行なわれることを特徴とする、請求項１ないし５の一項に記載の方法。
【請求項７】
各ＩＰコアが、このＩＰコアの物理的アイデンティティを明示する物理名を含み、かつさらに所与の用途における前記ＩＰコアの機能を明示する１つまたはそれ以上の論理名を含み、ＩＰコアへの論理名の割当てはもっぱら特権メッセージを介してのみ行なうことができることを特徴とする、請求項１ないし６の一項に記載の方法。
【請求項８】
非特権ＩＰコアのＩＶＳはそのＮＫの送信パラメータを読み出すことができるが、それらを変更することはできないことを特徴とする、請求項１ないし７の一項に記載の方法。
【請求項９】
特権ＩＰコアの１つ、いわゆる信頼できるネットワークオーソリティ（ＴＮＡ）は、各送信プロセスを衝突無く実行することができるように、ＺＫに接続された全てのＩＰコアの送信パラメータを動的に計算するスケジューラを含み、ＴＮＡは、ＺＫを介して特権メッセージを介して、ＮＫの全てのポートの周期的送信時間および送信持続時間をＩＰコアに割り当てることを特徴とする、請求項１ないし８の一項に記載の方法。
【請求項１０】
セキュリティクリティカルなシステムでは、前記スケジューラがＴＮＡから取り除かれて、別のＩＰコアに移され、スケジューラによって計算された送信パラメータが特権メッセージによってＴＮＡから他のＩＰコアに転送される前に、ＴＮＡがこれらの送信パラメータの検査を実行することを特徴とする、請求項１ないし９の一項に記載の方法。
【請求項１１】
ＺＫの時間制御メッセージの期間の長さが最小期間の２の累乗であることを特徴とする、請求項１ないし１０の一項に記載の方法。
【請求項１２】
ＺＫの期間が厳密に１物理秒の長さに一致することを特徴とする、請求項１１に記載の方法。
【請求項１３】
ＩＰコアの幾つかの独立ポートが、時分割法でＺＫの単一の物理的通信信号を介して供給されることを特徴とする、請求項１ないし１２の一項に記載の方法。
【請求項１４】
衝突の無い送信パラメータの計算が時間制御ＳｏＣ内でオフチップエンティティによって実行され、この計算の結果がデータ接続を介して、影響される時間制御ＳｏＣに送信されることを特徴とする、請求項１ないし１３の一項に記載の方法。
【請求項１５】
オフチップエンティティと影響されるＳｏＣとの間のデータ接続に関するデータが、符号化された形で転送されることを特徴とする、請求項１４に記載の方法。
【請求項１６】
割り当てられた送信時間および割り当てられた送信持続時間の変更を要求するために、各ＩＰコアがＺＫを介して、スケジューラを含む特権ＩＰコアにメッセージを送信することができることを特徴とする、請求項１ないし１５の一項に記載の方法。
【請求項１７】
１つまたはそれ以上のＩＰコアがＺＫを介して特権ＩＰコアの１つまたはそれ以上にバイタルサインメッセージを送信することを特徴とする、請求項１ないし１６の一項に記載の方法。
【請求項１８】
ＺＫを介するバイタルサインメッセージの不在中に、特権ＩＰコアが、影響される非特権ＩＰコアの再始動を、このＩＰコアのＮＫによって開始することができることを特徴とする、請求項１ないし１７の一項に記載の方法。
【請求項１９】
ＩＰコアからのバイタルサインメッセージの停止中に、特権ＩＰコアの１つが、ＺＫの特権メッセージを介して不良ＩＰコアの役割を別のＩＰコアのＮＫに割り当てることによって、かつ必要ならば、新しい役割の達成に必要なｉステートをＩＰコアに転送することによって、ＳｏＣの再構成を開始することを特徴とする、請求項１ないし１８の一項に記載の方法。
【請求項２０】
ＮＫによるエラーの認識中に、ＮＫが診断メッセージを自律的に送信することを特徴とする、請求項１ないし１９の一項に記載の方法。
【請求項２１】
ＩＰコアの情報処理サブシステム（ＩＶＳ）が、ユーザソフトウェアを含むプログラム可能なコンピュータ、ＦＰＧＡユニット、または専用ハードウェアユニットのいずれかであることを特徴とする、請求項１ないし２０の一項に記載の方法。
【請求項２２】
エラー訂正符号によって決定付けられる送信エラーが受信器によって認識され、かつ訂正されるように、ＺＫの物理的通信チャネルがエラー訂正符号で送信データを記録することを特徴とする、請求項１ないし２１の一項に記載の方法。
【請求項２３】
ＩＰコアの幾つかの独立ポートが、時分割法でＺＫの単一の物理的通信チャネルによって供給されることを特徴とする、請求項１ないし２２の一項に記載の方法。
【請求項２４】
１つの転送チャネルの機能停止中に、１つまたは幾つかの独立した転送チャネルを利用することができるように、ＺＫが２つまたは幾つかの独立した物理的転送チャネルを含むことを特徴とする、請求項１ないし２３の一項に記載の方法。
【請求項２５】
動的スケジューラが、ＩＰコアの必要な時間挙動およびＳｏＣ全体の最適なエネルギ消費を考慮しながら、スケジュールを最適化することを特徴とする、請求項９ないし２４の一項に記載の方法。
【請求項２６】
ＺＫのクロック周波数および各個別ＩＰコアの動作周波数が異なることを特徴とする、請求項１ないし２５の一項に記載の方法。
【請求項２７】
ＩＰコアの結果の適時性を確実にし、かつＳｏＣのエネルギ消費を最適化するために、ＩＰコアのＩＶＳの動作周波数を、スケジューラによって、このＩＰコアのＮＫへのＺＫの特権メッセージを介して、動的に変更することができることを特徴とする、請求項１ないし２６の一項に記載の方法。
【請求項２８】
各ＺＫメッセージのヘッダ内の指定ビットで、メッセージが周期的または散発的いずれの時間制御メッセージであるか指定され、周期的メッセージは割り当てられた各期間に送信され、散発的メッセージは、最後の送信プロセス以後にメッセージの内容が変更された場合にだけ送信されることを特徴とする、請求項１ないし２７の一項に記載の方法。
【請求項２９】
前記情報処理サブシステム（ＩＶＳ）が、ＮＫへのインタフェースに加えてさらなるローカルインタフェースを含み、それを介してオフチップネットワークへの接続が実現されることを特徴とする、請求項１ないし２８の一項に記載の方法。
【請求項３０】
前記情報処理サブシステム（ＩＶＳ）が、ＮＫへのインタフェースに加えて、ＴＴイーサネット（登録商標）プロトコルに対応する別のＳｏＣへの接続をサポートするさらなるローカルインタフェースを含むことを特徴とする、請求項１ないし２９の一項に記載の方法。
【請求項３１】
ＴＴイーサネット（登録商標）プロトコルのグローバル時間が、ＺＫの外部同期のための時間基準として参照されることを特徴とする、請求項１ないし３０の一項に記載の方法。
【請求項３２】
連続データストリームがこのＳｏＣの１つのＩＰコアから別のＳｏＣの別のＩＰコアまで最小の待ち時間で流れることができるように、請求項９に従ってスケジューラによって計算されたスケジュールが、請求項３０に記載のＴＴイーサネット（登録商標）のスケジュールと調整されることを特徴とする、請求項１ないし３１の一項に記載の方法。
【請求項３３】
１つのポートまたは外部ネットワークの機能停止に耐えるように、１つのＳＯＣがＴＴイーサネット（登録商標）プロトコルの幾つかのポートをサポートすることを特徴とする、請求項１ないし３２の一項に記載の方法。
【請求項３４】
ＮＫの送信時間が、そうすることを認可されたＩＰコアによって符号化メッセージを介してのみ、設定または変更することができることが、暗号化方法によって確保されることを特徴とする、請求項１ないし３３の一項に記載の方法。
【請求項３５】
請求項１ないし３４の一項に記載の方法を実行するためのシステムオンチップ（ＳｏＣ）。
【請求項３６】
時間制御通信システム（ＺＫ）およびＩＰコアが異なるクロックドメインに属することができ、ＩＰコアの情報処理サブシステム（ＩＶＳ）が、ＮＫに存在するメッセージバッファへのＺＫによるメッセージ転送間の先験的に知られる安定区間内で、読出しまたは書込みの形でアクセスするので、クロックドメインの横断が、ＩＰコアに割り当てられた１つのネットワークコントローラＮＫ内でそれぞれ実現されることを特徴とする、複数のＩＰコアが時間制御通信システムを介して接続されるシステムオンチップ（ＳｏＣ）。
【請求項３７】
ＩＰコアの幾つかの独立ポートが、時分割法でＺＫの単一の物理通信チャネルを介して供給されることを特徴とする、請求項３５または３６に記載のシステムオンチップ（ＳｏＣ）。
【請求項３８】
衝突の無い送信パラメータの計算が時間制御ＳｏＣ内でオフチップエンティティによって実行され、この計算の結果がデータ接続を介して、影響される時間制御ＳｏＣに送信されることを特徴とする、請求項３５ないし３７の一項に記載のシステムオンチップ（ＳｏＣ）。
【請求項３９】
オフチップエンティティと影響されるＳｏＣとの間のデータ接続に関するデータが符号化された形で送信されることを特徴とする、請求項３８に記載のシステムオンチップ（ＳｏＣ）。
【請求項４０】
割り当てられた送信時間および割り当てられた送信持続時間の変更を要求するために、各ＩＰコアがＺＫを介して、スケジューラを含む特権ＩＰコアにメッセージを送信することができることを特徴とする、請求項３５ないし３９の一項に記載のシステムオンチップ（ＳｏＣ）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各ＩＰコアが情報処理サブシステム（ＩＶＳ）およびネットワークコントローラ（ＮＫ）を有し、各ＮＫが少なくとも２つのインタフェース、ＺＫへのインタフェースおよびＩＶＳへの第２インタフェースを有して成る、複数のＩＰコアの間で時間制御通信システム（ＺＫ）を介してメッセージを送信するための方法に関する。
【背景技術】
【０００２】
背景技術を構成する文献を以下に列挙する。各文献の詳細は、本明細書末尾の文献リストに示す。
【特許文献１】ＵＳ５６９４５４２
【特許文献２】ＥＰ０６５８２５７
【特許文献３】ＵＳ５８８７１４３
【特許文献４】ＡＴ４０７５８２
【特許文献５】ＡＴ４０８３８３
【特許文献６】ＥＰ１３２５４１４
【特許文献７】ＥＰ１５１２２５４Ｂ１
【非特許文献８】Kopetz,H.(1997)、「Real‐Time System, Design Principles for Distributed Embedded Applications」、ISBN:0-7923-9894-7.Boston, Kluwer Academic Publishers
【非特許文献９】Takahashi,O. et al.「Power conscious design of the Cell's processors synergistic processor element」、IEEE Micro、Vol.25、No.5、Sept-Oct.2005、pp.10-18
【発明の開示】
【０００３】
本発明によると、ＺＫの特権メッセージと非特権メッセージとの間で区別が付けられ、かつ、時間制御メッセージの周期的に繰り返される送信時間および各送信時間後の最大送信持続時間のような、ＮＫのポートのＺＫに関する送信パラメータはもっぱら、ＺＫを介して特権メッセージによって、または直接的に特権エンティティ（特権ＩＰコア）によって、設定することができる。メッセージを送信しようとする各ＮＫは、厳密に次の送信時間の時点にメッセージの送信を自律的に開始し、遅くとも割り当てられた最大送信持続時間の経過後に送信プロセスを中断する。
【０００４】
それにより、各ＮＫで、すなわち好ましくはハードウェアを介して、ＺＫに関するＮＫのポートの送信パラメータはもっぱら、ＺＫを介して特権メッセージによって、または直接的に特権エンティティ（特権ＩＰコア）によってのみ設定することができることが、積極的に確保される。
【０００５】
以下の具体的かつ有利な実施形態は、追加的にまたは代替的に、本発明に係る方法により実現することができる。
＊ＮＫは、単一のシステムオンチップ（ＳｏＣ）上に実現され、ＺＫはネットワークオンチップとして実行される。
＊ＮＫは異なるチップ上に実現され、ＺＫはオフチップネットワークとして実行される。
＊ＺＫの特権メッセージと非特権メッセージとの間の区別は、各ＺＫメッセージのヘッダの指定ビットに基づいて行なわれる。
＊ＺＫの特権メッセージと非特権メッセージとの間の区別は、メッセージの周期的送信時間に基づいて行なわれる。
＊ＩＰコアのＮＫの特権送信ポートと非特権送信ポートとの間で区別が行なわれ、特権メッセージは特権送信ポートを介してのみ送信することができ、ここで特権メッセージと非特権メッセージとの間の区別は、特権送信ポートの物理名に基づいて行なわれる。
【０００６】
本発明のさらなる追加的または代替的実施形態により、次のことがもたらされる。
＊各ＩＰコアは、このＩＰコアの物理的アイデンティティを明示する物理名を含み、かつ、所与の用途におけるＩＰコアの機能を明示する１つまたは幾つかの論理名をさらに含み、ＩＰコアへの論理名の割当てはもっぱら、特権メッセージを介してだけ行なうことができる。
＊非特権ＩＰコアのＩＶＳは、そのＮＫの送信パラメータを読み出すことができるが、それらを変更することはできない。
＊特権ＩＰコアの１つ、いわゆる信頼できるネットワークオーソリティ（ＴＮＡ）は、全ての送信プロセスが衝突無く作動することができるように、ＺＫに接続された全てのＩＰコアの送信パラメータを動的に計算するスケジューラを含み、ＴＮＡは、ＺＫを介して特権メッセージを用いてＮＫの全てのポートの周期的送信時間および送信持続時間をＩＰコアに割り当てる。
＊スケジューラはセキュリティクリティカルなシステムではＴＮＡから取り除かれて、別のＩＰコア内に移され、ＴＮＡは、スケジューラによって計算された送信パラメータが特権メッセージを用いてＴＮＡから他のＩＰコアに転送される前に、これらの送信パラメータの検査を実行する。
＊ＺＫにおける時間制御メッセージの期間の長さは最小期間の２の累乗である。
＊ＺＫの期間は厳密に１物理秒の長さに一致する。
＊ＩＰコアの幾つかの独立ポートは、時分割法でＺＫの単一の物理的通信チャネルを介して供給される。
＊衝突の無い送信パラメータの計算は、オフチップエンティティによって時間制御ＳｏＣ内で実行され、この計算の結果はデータ接続を介して、影響される時間制御ＳｏＣに送られる。
＊オフチップエンティティと影響されるＳｏＣとの間のデータ接続上のデータは、符号化された形で転送される。
＊各ＩＰコアは、割り当てられた送信時間および割り当てられた送信持続時間の偏向を要求するために、スケジューラを含む特権ＩＰコアに、ＺＫを介してメッセージを送信することができる。
＊１つまたはそれ以上のＩＰコアは、特権ＩＰコアの１つまたは幾つかに、ＺＫを介してバイタルサインを周期的に送信する。
＊特権ＩＰコアは、ＺＫを介するバイタルサインメッセージの不在中に、このＩＰコアのＮＫによって、影響される非特権ＩＰコアの再始動を開始することができる。
＊特権ＩＰコアの１つは、ＩＰコアのバイタルサインメッセージの不在中に、ＺＫの特権メッセージを介して、機能しないＩＰコアの役割を別のＩＰコアのＮＫに割り当てることによってＳｏＣの再構成を開始し、かつ必要ならば、新しい役割を達成するために必要なｉステートがＩＰコアに転送される。
＊ＮＫは、ＮＫによってエラーが認識されたときに、自律的に診断メッセージを送信する。
＊ＩＰコアの情報処理サブシステム（ＩＶＳ）は、ユーザソフトウェアを含むプログラム可能なコンピュータ、ＦＰＧＡユニット、または専用ハードウェアユニットのいずれかである。
＊エラー訂正符号によって決定付けられる転送エラーを受信器が認識して、訂正することができるように、ＺＫの物理的通信チャネルはエラー訂正符号で送信データを記録する。
＊ＩＰコアの幾つかの独立ポートは、ＺＫの単一の物理的通信信号を介して、時分割法で要求される。
＊１つの転送チャネルの機能停止中に１つまたは幾つかのさらなる独立転送チャネルが利用可能であるように、ＺＫは２つまたは幾つかの独立した物理的転送チャネルを含む。
＊動的スケジューラは、ＩＰコアの必要な時間挙動およびＳｏＣ全体の最適エネルギ消費を考慮しながら、スケジュールを最適化する。
＊ＺＫのクロック周波数および各単一ＩＰコアの動作周波数は異なる。
＊ＩＰコアのＩＶＳの動作周波数は、ＩＰコアの結果のタイムラインを確保しかつＳｏＣのエネルギ消費を最適化するように、ＺＫからこのＩＰコアのＮＫへの特権メッセージを介して、スケジューラによって動的に変更することができる。
＊全てのＺＫメッセージのヘッダ内の指定ビットで、メッセージが周期的または散発的いずれの時間制御メッセージであるかが示され、周期的メッセージは全ての割り当てられた期間に送信され、散発的なメッセージは、最後の送信プロセス以後にメッセージの内容が変更された場合にのみ送信される。
＊情報処理サブシステム（ＩＶＳ）は、ＮＫへのインタフェースに加えて、さらなるローカルインタフェースを含み、それを介してオフチップネットワークまたはオフチッププロセス周辺装置への接続が実現される。
＊情報処理サブシステム（ＩＶＳ）は、ＮＫへのインタフェースに加えて、ＴＴイーサネット（登録商標）プロトコルに対応する別のＳｏＣへの接続をサポートするさらなるローカルインタフェースを含む。
＊ＴＴイーサネット（登録商標）プロトコルのグローバル時間は、ＺＫの外部同期のための時間基準として使用される。
＊スケジューラを用いて請求項９に従って計算されたスケジュールは、連続データストリームがこのＳｏＣの１つのＩＰコアから別のＳｏＣの別のＩＰコアへ最小の待ち時間で流れることができるように、請求項３０に係るＴＴイーサネット（登録商標）のスケジュールにより調整される。
＊１つのＳＯＣは、ポートまたは外部ネットワークの機能停止に耐えるように、ＴＴイーサネット（登録商標）プロトコルの幾つかのポートをサポートする。
＊ＮＫの送信時間は、そうすることを認可されたＩＰコアによって符号化メッセージを介してのみ、設定または変更することができることが、暗号化方法によって確保される。
【０００７】
本発明はさらに、そのような方法を実行するためのシステムオンチップ（ＳｏＣ）に関する。
【０００８】
複数のＩＰコアが時間制御通信システムを介して接続されるシステムオンチップ（ＳｏＣ）により、時間制御通信システム（ＺＫ）およびＩＰコアは異なるクロックドメインに属することができ、ＩＰコアの情報処理サブシステム（ＩＶＳ）が、ＮＫに存在するメッセージバッファへのＺＫによるメッセージ転送間の先験的に知られる安定区間内で、読出しまたは書込みの形でアクセスするので、クロックドメインの横断は、ＩＰコアに割り当てられた１つのネットワークコントローラＮＫ内でそれぞれ実現される。
【０００９】
ＩＰコアの幾つかの独立ポートが、ＺＫの単一の物理的通信信号を介して時分割法で供給されると有利である。
【００１０】
また、衝突の無い送信パラメータの計算が時間制御ＳｏＣ内でオフチップエンティティによって実行され、この計算の結果がデータ接続を介して、影響される時間制御ＳｏＣに送られることも好都合であり得る。
【００１１】
オフチップエンティティと影響されるＳｏＣとの間のデータ接続に関するデータは、符号化した形で転送することができる。
【００１２】
また、割り当てられた送信時間および割り当てられた送信持続時間の変更を要求するために、各ＩＰコアがＺＫを介して、スケジューラを含む特権ＩＰコアにメッセージを送信できるように構成することもできる。
【００１３】
チップ上にトランジスタを集積する領域の技術的進歩の結果、オンチップネットワークを介してメッセージを交換する複数の完全なコンピュータを、単一のチップ上に実現することができるようになった。そのようなマルチコンピュータチップの１例として、各々が２５６Ｋバイトのローカルメモリを持つ９つのコンピュータを集積したセルチップ［９］がある。オンチップ通信ネットワークが、オンチップコンピュータ間のインシデンス制御（incidence-controlled）ネットワークとして実行されるのは、現状技術に対応する。計画不能な衝突は結果的に、オンチップコンピュータへのオンチップ通信チャネルの割当てを迂回してインシデンス制御ネットワークをもたらすので、インシデンス制御ネットワークは一般的に決定論的ではない。この問題は本発明では、決定論的時間制御通信システムがオンチップネットワークとして導入されることから解決される。
【００１４】
本発明は、時間制御ネットワークの導入によってＳｏＣ上に決定論的に実現される、オンチップコンピュータ間の通信を設計するという目的を有する。優れた資源活用、および動的変更要求に対する時間制御オンチップネットワークの動的な適応を達成するために、本発明では、オンチップスケジューラの機能を専用オンチップコンピュータ、すなわち信頼できるネットワークオーソリティ（ＴＮＡ）に割り当て、それが衝突の無い送信パラメータを動的に計算して、それらを、セキュアな特権メッセージの転送によって、動的に他のオンチップコンピュータに割り当てることを提案している。この動的な方法は、複数のコンピュータノードを接続する時間制御通信システムにも使用することができる。
【発明を実施するための最良の形態】
【００１５】
本発明の上記目的および他の特徴について、添付の図面で説明する。
【００１６】
以下の段落で、時間制御オンチップネットワークの可能な実現を、６つのＩＰコアを持つＳｏＣの実施例で示す。
【００１７】
図１は、オンチップＩＰコアの組立てを示す。そのようなＩＰコアは、情報処理サブシステム（ＩＶＳ）１０１およびオンチップネットワークコントローラ（ＮＫ）１０２から構成される。ＩＶＳは、必要なシステムソフトウェアおよび必要なユーザソフトウェアを持つマイクロコンピュータ、またはＦＰＧＡサブシステム、または専用ハードウェアサブシステム（状態機械）とすることができる。ＩＰコアは２つのインタフェース、ＮＫへの１つのインタフェース１２０、および外部オフチップネットワークまたは外部プロセス周辺装置へのオプショナルの第２インタフェース１３０を含む。図１のインタフェース１３０は２つのポート、すなわちそれを介してメッセージを順次受信することのできる入口ポート１３１、およびそれを介してメッセージを順次送信することのできる出口ポート１３２を示す。ＮＫは２つのインタフェース、ＩＶＳへの１つのインタフェース１２０、および時間制御通信システム（ＺＫ）への第２インタフェース１１０を含む。図１に、ＮＫ１０２のＺＫへの２つのポート、すなわち順次入口ポート１１１および順次出口ポート１１２が示されている。本発明では、ＺＫ２００に対するＮＫ１０２の２つより多いポートを構成することができる。
【００１８】
図２は、時間制御システムオンチップ（ＳｏＣ）の組立てを示し、そこにＺＫ２００を介して相互に接続された６個のＩＰコア２２１、２２２、２２３、２２４、２２５、および２２６が描かれている。ＩＰコアは図１に示すように組み立てられる。各ＩＰコアは、ＺＫへの接続２１０をサポートする。４つのＩＰコア２２２、２２３、２２５、および２２６は、外部ネットワークまたは外部プロセス周辺装置へのさらなる接続２３０をサポートする。時間制御の原理に従って［非特許文献９、ｐ．１７１］、［特許文献２、３、４、６］、ＩＰコアは、ＺＫ２００内で２つの送信メッセージ間で衝突が無いように、ＺＫ２００でそれらの送信動作を調整する。この調整は、時分割多元接続法に対応する共通グローバル時間ベースを介して行なわれる。このために、例えばＩＰコアの１つ、例えば２２６が中央マスタのクロック同期化の機能を引き継いで［特許文献１、５］、全てのＮＫのローカルクロックを同期化する。衝突の無い送信動作を確実にするために、送信時間および送信持続時間の計画が、特別の特権ＩＰコア、例えばＩＰコア２２６でＳｏＣ全体に対して集中的に作成される。我々はそのようなＩＰコア２２６を信頼できるネットワークオーソリティ（ＴＮＡ）と呼ぶ。特権ＩＰコア２２６すなわちＴＮＡから他のＩＰコアのＮＫへのこれらの送信時間および送信持続時間の転送は、特権メッセージを介してのみ行なうことができることは、本発明の本質的な特徴である。したがって、非特権ＩＰコアが、それに割り当てられたＮＫのメッセージの送信時間および送信持続時間を変更することはできない。本発明のこの本質的特徴により、非特権ＩＰコアの情報処理サブシステム（ＩＶＳ）１０１におけるソフトウェアまたはハードウェアのエラーが、ＮＫ１０２の送信時間に対して、かつ、それによって間接的に他のＩＰコア間のデータ通信に対して影響を及ぼすおそれが回避される。したがって、本発明のこの重要な特徴は、ＩＶＳの時間領域のエラーがアーキテクチャの面上の他のＩＰコアにエラー伝搬する可能性を防止する。言うまでもなく、ＩＶＳ１０１が、特権ＩＰ２２６によってそのＮＫ１０２に割り当てられた送信時間および送信持続時間の現在値を読み出すことは可能である（しかし、これらの値を変更することはできない）。
【００１９】
図３はＺＫのメッセージの可能な組立てを示す。各ＺＫメッセージは、送信ＩＰコアの名前が入力される送信アドレスフィールド３１０を含む。フィールド３２０には、メッセージの受信器のアドレスが入力される。ＺＫに接続された全てのＩＰコアにメッセージを送信する場合、受信器フィールドには特殊アドレスが存在する。例えば３２０のビットはセットされない。フィールド３３０はメッセージの制御フィールドである。ビット３３１がセットされた場合、メッセージは特権メッセージであり、ビット３３１がセットされない場合、メッセージは特権メッセージではない。特権ＩＰコアだけが特権メッセージを送信する（すなわち、ビット３３１をセットする）ことができることを、ハードウェア技術的に確実にしなければならない。代替的に、特権メッセージは、ＮＫ１０２だけがメッセージを復号することができるように、暗号化方法によって符号化することができる。制御フィールド３３０のビット３２２がセットされた場合、メッセージアドレスは物理アドレスであり、送信ＩＰコアの物理的アイデンティティを特徴付ける。ビット３３２がセットされない場合、それは、ソフトウェアの観点から送信器および受信器の役割を特徴付ける論理アドレスである。ビット３３３がセットされた場合、それは、全ての期間に転送される周期的時間制御メッセージである。ビット３３３がセットされない場合、それは、メッセージ内容が最後の送信プロセス以後に変化した場合にのみ送信される、散発的時間制御メッセージである。ビット３３４はまだ意味を持たない。４ビット３３５は、最小メッセージ長の倍数で表わされるメッセージの長さを通知する。メッセージの名前はフィールド３４０に含まれる。メッセージ名は、フィールド３５０のメッセージの内容と、この内容の統語構造および意味との間の接続を行なう。最後に、オプショナルフィールド３６０は、転送エラーを認識するためのＣＲＣフィールドである。メッセージの内容は、エラー認識符号によって決定付けられる転送エラーが認識されるだけでなく、同時に訂正することもできるように、この符号で記録することもできる。
【００２０】
本発明によると、図３に示された属性は、送信器および受信器のメッセージ属性テーブル（ＮＡＴ）に格納することもでき、それにより、メッセージの周期的に繰り返される送信時間が、関連付けられるＮＡＴを明瞭に識別する。そのような実現は、データ通信のオーバヘッドを節約する。ＮＡＴの情報はエラー訂正符号によって保護することができるので、メモリの過渡的エラーを容認することができる。
【００２１】
図４は、ＺＫ２００およびＮＫ１０２で使用される均一なタイムフレームを示す。この均一なタイムフレームの基準は選択される時間単位４０１である。このフレームは、選択された時間単位４０１の２進除算に基づく。期間の選択を時間単位の２の負の累乗（１／２、１／４、１／８・・・）に制約することにより、この２進タイムフレームで単一ビット、つまり期間ビット４１０により期間の長さを指定することが可能である。期間の位相、すなわち期間の起点からの期間の始めのずれは、期間ビット４１０の右側のビットシーケンス４１１および４１２によって定義することができる。物理秒が時間単位４０１として選択されると、可能な期間は１／２、１／４、１／８・・・秒である。
【００２２】
図５は、６つのＳｏＣ５０１、５０２、５０３、５０４、５０５、および５０６のクラスタを示す。これらのＳｏＣの各々は、２つの独立した時間制御オフチップネットワーク５２０および５３０への２つの接続５１１をサポートする。各ＳｏＣはさらに、ローカルネットワークまたはローカルプロセス周辺装置への２つの接続５１０をサポートする。オフチップネットワーク５２０および５３０は、例えばＴＴイーサネット（登録商標）プロトコルによって制御することができる［特許文献７］。そうすると、ＳｏＣ内の全てのＩＰコアの内部送信時間が相互に同期されるように、ＴＴイーサネット（登録商標）プロトコルの時間ベースをＳｏＣ５０１、５０２、５０３、５０４、５０５、および５０６の外部時間基準として使用することが可能になる。そうすると、ＳｏＣ、例えば５０１の１つのＩＰコアから別のＳｏＣ、例えば５０５のＩＰコアへ、最小待ち時間および最小ジッタで、１連のメッセージを送信することが可能になる。そのようなＳｏＣと重なり合うそのような実時間トランザクションの計画は、クラスタの全てのＳｏＣ５０１、５０２、５０３、５０４、５０５、および５０６の全てのＩＰコアに対して、定められたオフチップエンティティ、例えばＳｏＣ５０６によって作成することができる。また、エンティティのそのような実時間トランザクションの計画は、図５に示すクラスタの外でも作成することが可能である。本発明によると、データは符号化された形で、ＳｏＣにおけるＮＫの送信時間を規定するＮＫ１０２に転送しなければならない。図５に示す２つの外部ネットワーク５２０および５３０は、エラー許容外部通信システムを実現する。イーサネット（登録商標）に基づくそのようなエラー許容時間制御通信システムは、［特許文献７］に開示されている。
【００２３】
ＳｏＣの電源投入後、ＳｏＣのポートの送信パラメータ（送信時間および送信持続時間）がＳｏＣのＴＮＡ２２６によって計算され、特権オンチップメッセージを用いて、ＺＫ２００（図３）を介してＳｏＣのＩＰコアのＮＫ１０２に転送される。本発明によると、非特権メッセージおよびＩＰコアのＩＶＳ１０１はどちらも、これらの送信データを変更することができないことを、積極的に確実にしなければならない。それにもかかわらず、これらの送信データのＩＶＳによる読出しは可能である。メッセージを送信しようとする各ＮＫ１０２は、厳密に次の送信時間の次の設定時間に自律的にメッセージを送信し始め、遅くとも割り当てられた最大送信持続時間が経過した後、送信プロセスを中断する。ＺＫの特権メッセージと非特権メッセージとの間の区別は、各ＺＫメッセージの制御フィールドのビット３３１に基づいて行なわれる。特権メッセージと非特権メッセージとの間のこの区別は代替的に、ＩＰコアの特権送信ポートの物理名に基づいて行なうこともできる。また、特権メッセージと非特権メッセージとの間のこの区別を、ＩＰコアの特権送信ポートの周期的送信時間に基づいて実行することも可能である。
【００２４】
物理名に加えて、各ＩＰコアは論理名をも含む。物理名はＩＰコアの物理的アイデンティティを明示する一方、論理名は所与の用途におけるＩＰコアの機能（役割）を明示する。ＩＰコアへの論理名の割当てもまた、もっぱらＮＫの特権メッセージを介してのみ行なわれる。
【００２５】
ＺＫの時間制御メッセージの期間は、図３に示す通り、最小期間の２の累乗である。最小期間は、２の累乗が１物理秒の長さと厳密に一致するように選択することができる。各ＮＫ１０２は、ＺＫへの複数の入口ポートおよび出口ポートを有することができる。各ポートは、ＴＮＡ２２６によって明確な期間を明確な位相と共に割り当てられ、それにより、ＺＫの異なる送信器間の衝突がいかなる時点においても存在しないことが、ＴＮＡによって確保される。ＩＰコアがより多くの送信帯域幅を必要とする場合、そのＩＰコアは追加帯域幅を要求するために、メッセージをＴＮＡに送信することができる。そうするとＴＮＡは、この要求を満たすことができるか否かを検査し、肯定の場合には、特権メッセージを介して、要求された帯域幅（期間、位相、および最大送信持続時間）を割り当てることができる。ＩＰコアの各ＩＶＳ１０１は、そのＮＫ１０２を介して、ＴＮＡ２２６にバイタルサインメッセージを周期的に送信することができる。このバイタルサインメッセージが失敗すると、ＴＮＡは、このＩＰコアのＮＫ１０２への特権メッセージにより、ＩＶＳ１０１の再始動を開始することができ、あるいはＩＶＳのソフトウェアの再構成を開始することができる。再構成の範囲内で、失敗したＩＰコアの論理名が、ＴＮＡによってＳｏＣの別の物理的ＩＰコアに割り当てられ、必要ならば、ＩＰコアの必要なｉステート［非特許文献８、ｐ．７６］がロードされる。ｉステートは、プログラム可能なＩＰコアのソフトウェア全体および初期化データを含む静的データ構造である。
【００２６】
ＴＮＡ２２６は、ＳｏＣ全体の統合資源計画を実行することができる。この場合、ＺＫの帯域幅の割当てに加えて、ＩＰコアの適時性およびエネルギ消費が考慮される。本発明によると、ＴＮＡは、ＩＰコアのエネルギ消費を最適化するために、ＮＫ１０２への特権メッセージを用いて、ＩＶＳの処理周波数および／または電圧に影響を及ぼすことができる。導入されるＳｏＣアーキテクチャの分散性により、他のＩＶＳの処理周波数またはＺＫの周波数に関係なく、各ＩＶＳがそれ自体の周波数処理を駆動することが可能になる。
【００２７】
一貫した時間ベースを含むサブシステムを、我々はクロックドメインと呼ぶ。ＺＫおよびＩＶＳは異なるクロックドメインに属するので、ＮＫでクロックドメインの横断が実現される。ＮＫのメッセージバッファに格納されたメッセージは、先験的に知られるＺＫのメッセージの送信時間と受信時間との間で安定しており、ＩＶＳの最新の周波数でＩＶＳにより読出しまたは書込みを行なうことができる。こうしてクロックドメインの横断はＮＫ内で実行される。
【００２８】
セキュリティクリティカルな用途で、２つのＩＰコアの統合資源計画を分割することは理に適っている。非特権ＩＰコアは統合資源計画の計算を実行し、この統合資源計画の結果をＴＮＡに送信する。ＴＮＡ２２６は、計算された資源計画が所与のセキュリティ要件に対応するか否かを検査し、検査結果を特権メッセージによってＩＰコアのＮＫ１０２に送信する。シナリオが所与のセキュリティ要件を満たすか否かを検査することは、そのようなシナリオを計算するより容易であるので、ＴＮＡ２２６のセキュリティクリティカルなソフトウェアの複雑度を、この分離によってかなり軽減することができる。したがって、セキュリティクリティカルなシステムのソフトウェアの証明により、結果的にかなりの節約が達成される。
【００２９】
本発明によると、割り当てられたＩＶＳ１０１が新しいメッセージを生成した場合に、ＴＮＡによって割り当てられた期間にＮＫ１０２からメッセージを送信するだけで、ＺＫのエネルギ消費を最小化することができる。したがって、新しいメッセージがＩＶＳ１０１によって提供されなかったときは、ＮＫはメッセージを送信しない。
【００３０】
前送りエラー訂正によってエラーに耐えられるように、ＺＫ内でデータ転送を構成することが必要になることがおそらくあり得る。この目的のために、ＺＫメッセージ（図３）のデータは、エラー訂正符号で符号化し直す必要がある。代替的に、ネットワークの機能停止中に、１つまたは幾つかの他のネットワークが利用できるように、ＺＫ内で幾つかの独立通信ネットワークを実現することができる。
【００３１】
本発明の以下の特性から、結果的に経済的な使用が達成される。
＊決定論的オンチップネットワークは、ＳｏＣのＩＰコア間の通信を時間領域で計画することができることを確実にする。これは、セキュリティクリティカルなソフトウェアの証明、およびＩＰコア上に実現されるサブシステムのコンポーザビリティ（composability）のために必要な前提条件である。
＊セキュリティクリティカルな用途では、セキュリティクリティカルなソフトウェアの複雑度は、ＴＮＡにおけるセキュリティクリティカルなソフトウェア２２６を、非特権ＩＰコアにおける統合資源計算のための非セキュリティクリティカルなものから分離することによって、実質的に軽減することができる。したがって、セキュリティクリティカルなシステムのソフトウェアの証明により、結果的にかなりの節約が達成される。
＊オンチップネットワークの決定論は、ＴＭＲ（トリプルモジュラ冗長性）によるエラー許容システムに必要な前提条件である。
＊本発明は、ＳｏＣのサブシステムの広範な減結合をサポートし、それにより複雑度のかなりの低減を導く。
＊本発明は、ＩＶＳの不良ソフトウェアがＳｏＣの他の独立ＩＰコアの機能に影響を及ぼすことができないので、ＩＶＳのソフトウェアエラーの影響を最小化することが可能である。
【００３２】
〔文献リスト〕
１．１９８９年１２月１２日に発行されたＵＳ５６９４５４２、「A loosely coupled distributed computer system with node synchronization for precision in real time」
２．１９９６年１２月１８日のＥＰ０６５８２５７、「Communications control unit and information transmission process」
３．１９９９年３月２３日に発行されたＵＳ５８８７１４３、「Time‐Triggered Communication Control Unit and Communication」
４．２０００年６月１５日のＡＴ４０７５８２、「Message distribution unit with integrated guardian for preventing babbling idiot errors」
５．２００５年６月１５日のＡＴ４０８３８３、「Method and device for calibrating the clock course in a distributed real‐time computer system」
６．２００４年４月２１日のＥＰ１３２５４１４、「Handling errors in an error‐tolerant distributed computer system」
７．２００５年１０月６日のＥＰ１５１２２５４Ｂ１、「Communication system and method for transmitting timed and event‐driven ethernet messages」
８．Kopetz,H.(1997)、「Real‐Time System, Design Principles for Distributed Embedded Applications」、ISBN:0-7923-9894-7.Boston, Kluwer Academic Publishers
９．Takahashi,O.ら、「Power conscious design of the Cell's processors synergistic processor element」、IEEE Micro、Vol.25、No.5、Sept-Oct.2005、pp.10-18
【図面の簡単な説明】
【００３３】
【図１】図１は、本書でＩＰコアと呼ぶ情報処理ユニットの内部構成を示す図である。
【図２】図２は、６つのオンチップＩＰコアが時間制御ネットワークを介して通信するシステムオンチップ（ＳｏＣ）の構成を示す図である。
【図３】図３は、時間制御通信システムにおけるメッセージの組立てを示す図である
【図４】図４は、ネットワーク内の時間表現の構造を示す図である。
【図５】図５は、２つの独立ＴＴイーサネット（登録商標）ネットワークを介して相互に接続された６つの時間制御ＳｏＣを持つクラスタの構成を示す図である。
【図１】
2009524952.tif 000003
【図２】
2009524952.tif 000004
【図３】
2009524952.tif 000005
【図４】
2009524952.tif 000006
【図５】
2009524952.tif 000007
【国際調査報告】
2009524952.tif 000008
2009524952.tif 000009
2009524952.tif 000010
2009524952.tif 000011