(57)【要約】      （修正有）【課題】可変の互換性を備えている種々のシステムオンチップ（ＳｏＣ）システムが、トランスパレントなインタフェースを介して、１つのＳｏＣとして対話することができるシステムを提供する。【解決手段】２つのＳｏＣがトランスパレントなインタフェースを介して相互に接続されたときに、アドレスが重複することなく又アドレスのリマッピングが行われることなく、２つのＳｏＣのシステムアドレスマップを各ＳｏＣが提供するように、単一のＳｏＣのシステムアドレスマップはコンフィギュレートされている。トランスパレントなインタフェースによって、マルチチップシステム内の第１のＳｏＣ及び第２のコンポーネントは、通信及び対話することができる。トランスパレントなインタフェースによって、両ＳｏＣのソースを、マルチチップシステム内の第１のＳｏＣ／第２のＳｏＣにおける割り込みサービスプロバイダにフレキシブルにマッピングすることができる。【選択図】図６
2019036360.tif 000002
【特許請求の範囲】
【請求項１】
マルチチップアーキテクチャのためのシステムにおいて、
前記システムは、第１のシステムオンチップ（ＳｏＣ）と、第２のＳｏＣと、トランスパレントなインタフェースと、を含んでおり、
前記第１のＳｏＣは、１つの基板上に設けられており、且つ、第１のコアと、１つ又は複数の第１の周辺コンポーネントと、第１のシステムアドレスマップを有している第１のオンチップバスシステムと、を含んでおり、前記第１のオンチップバスシステムは、前記第１のシステムアドレスマップに基づいて前記第１のコアと前記１つ又は複数の第１の周辺コンポーネントとの間での第１のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、
前記第２のＳｏＣは、第２のコアと、１つ又は複数の第２のオンチップ周辺コンポーネントと、第２のシステムアドレスマップを有している第２のオンチップバスシステムと、を含んでおり、前記第２のオンチップバスシステムは、前記第２のコアと前記１つ又は複数の第２の周辺コンポーネントとの間での第２のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、
前記トランスパレントなインタフェースは、前記第１のＳｏＣの前記第１のオンチップバスシステムと、前記第２のＳｏＣの前記第２のオンチップバスシステムと、が相互に通信を行うように接続されていることに応じて、ユニークで相互に重複しないアドレスを含む複数のアドレスを有している一貫したシステムアドレスマップに基づいて、前記第１のオンチップバスシステムと前記第２のオンチップバスシステムとの間の通信を実現するようにコンフィギュレートされている、
ことを特徴とする、システム。
【請求項２】
前記第１のコアは、前記第１のオンチップバスプロトコルを介して、第１の周波数で動作するようにコンフィギュレートされている第１のコンピュータ処理ユニット（ＣＰＵ）を含んでおり、
前記第２のコアは、前記第２のオンチップバスプロトコルを介して、前記第１の周波数とは異なる第２の周波数で動作するようにコンフィギュレートされている第２のＣＰＵを含んでいる、
請求項１に記載のシステム。
【請求項３】
前記第１のオンチップバスシステムの前記第１のオンチップバスプロトコル及び前記第２のオンチップバスシステムの前記第２のオンチップバスプロトコルは、相互的に同期モードで動作するようにコンフィギュレートされており、
前記トランスパレントなインタフェースは、前記第１のオンチップバスシステムのオンチップバス周波数及び前記第２のオンチップバスシステムのオンチップバス周波数の両方に同期されている、
請求項１に記載のシステム。
【請求項４】
前記第１のオンチップバスシステムの前記第１のオンチップバスプロトコル及び前記第２のオンチップバスシステムの前記第２のオンチップバスプロトコルは、相互的に非同期モードで動作するようにコンフィギュレートされており、
前記トランスパレントなインタフェースは、前記第１のオンチップバスシステム又は前記第２のオンチップバスシステムのいずれか一方にのみ同期されている、
請求項１に記載のシステム。
【請求項５】
前記第１のオンチップバスシステムは、前記第１のオンチップバスシステム及び前記第２のオンチップバスシステムの動作に対応するクロックを発生するようにコンフィギュレートされている位相同期回路又はクロックを含んでいる、
請求項１に記載のシステム。
【請求項６】
前記第１のＳｏＣは、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている前記第２のＳｏＣの第２の寸法とは異なり、且つ、前記１つ又は複数の第１の周辺コンポーネントのフラッシュメモリとの通信に関する互換性を実現する第１の寸法を用いる、不揮発性メモリ互換ベースのテクノロジに従いコンフィギュレートされており、
前記トランスパレントなインタフェースは、更に、前記第２のオンチップバスシステムと前記フラッシュメモリとの間の通信を実現するようにコンフィギュレートされている、
請求項１に記載のシステム。
【請求項７】
更に、前記第１のＳｏＣ又は前記第２のＳｏＣの故障の検出に応答して、前記第１のＳｏＣ又は前記第２のＳｏＣの故障していない方のＳｏＣが前記トランスパレントなインタフェースを介してサブシステムを動作できるようにコンフィギュレートされているフォールバックコンポーネントを含んでいる、
請求項１に記載のシステム。
【請求項８】
前記第１のオンチップバスシステムは、前記第２のオンチップバスシステムの第２の調停コンポーネントが少なくとも部分的に割り込み禁止状態である間に、前記第１のＳｏＣの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第１の調停コンポーネントを含んでおり、前記第２の調停コンポーネントからのアクセス許可と、前記第１のＳｏＣの前記複数のマスタエージェントからのアクセス許可と、を結合する、
請求項１に記載のシステム。
【請求項９】
前記トランスパレントなインタフェースは、更に、前記第１のＳｏＣと前記第２のＳｏＣとの間で、前記ユニークで重複しないアドレスを有している前記一貫したシステムアドレスマップの適用範囲をトランスパレントに拡張するように、前記第１のＳｏＣ及び前記第２のＳｏＣの誤り訂正符号／誤り検出符号を実現することによって、前記第１のオンチップバスプロトコルと前記第２のオンチップバスプロトコルとの間の保護コンポーネントを提供するようにコンフィギュレートされている、
請求項１に記載のシステム。
【請求項１０】
前記第１のオンチップバスシステムは、前記第２のＳｏＣにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、前記トランスパレントなインタフェースを介して前記第２のオンチップバスシステムの第２の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第１の割り込みコンポーネントを含んでいる、
請求項１に記載のシステム。
【請求項１１】
前記第１のオンチップバスシステム及び前記第２のオンチップバスシステムは、１つ又は複数のユニークなタグ識別子（ＩＤ）を１つ又は複数のマスタエージェントに割り当てるようにコンフィギュレートされている１つ又は複数のアクセス保護コンポーネントを含んでおり、
前記１つ又は複数のユニークなタグＩＤによって、スレーブエージェントは、対応するマスタエージェントを識別することができ、更に、前記１つ又は複数のユニークなタグＩＤに基づいて、前記トランスパレントなインタフェースを介して、前記１つ又は複数の第１のオンチップ周辺コンポーネント若しくは前記１つ又は複数の第２のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる、
請求項１に記載のシステム。
【請求項１２】
システムのための方法において、
前記方法は、
第１のシステムオンチップ（ＳｏＣ）における第１のオンチップバスを介して、同一の基板に設けられている、第１のコアと、複数の第１の周辺コンポーネントのうちの１つ又は複数の周辺コンポーネントと、の間で、前記複数の第１の周辺コンポーネント及び前記第１のコアに対応する第１のアドレスを有している第１のシステムアドレスマップに基づいて通信を行うステップと、
第２のＳｏＣにおける第２のオンチップバスを介して、前記第２のＳｏＣの第２のコアと、複数の第２の周辺コンポーネントのうちの１つ又は複数の周辺コンポーネントと、の間で、前記複数の第２の周辺コンポーネント及び前記第２のコアに対応するアドレスを有している第２のシステムアドレスマップに基づいて通信を行うステップと、
トランスパレントなインタフェースを介して、前記第１のシステムアドレスマップ及び前記第２のシステムアドレスマップのユニークで重複しないアドレスを含んでいるシステムアドレスに基づいて、前記第１のＳｏＣと前記第２のＳｏＣとの間の通信を実現するステップと、
を有していることを特徴とする、方法。
【請求項１３】
更に、前記トランスパレントなインタフェースを介して、前記第１のＳｏＣ及び前記第２のＳｏＣのマスタエージェントから、前記複数の第１の周辺コンポーネント又は前記複数の第２の周辺コンポーネントに対応する前記システムアドレスマップの前記ユニークで重複しないアドレスへのアクセス要求を調停するステップを有している、
請求項１２に記載の方法。
【請求項１４】
前記アクセス要求の前記調停が、更に、
ハンドシェイクプロトコルを介して、前記第１のオンチップバスの第１の調停コンポーネントと前記第２のオンチップバスの第２の調停コンポーネントとの間の調停を同期させるステップと、
前記ハンドシェイクプロトコルに応答して、前記第１のオンチップバスの前記第１の調停コンポーネントを介して、前記第１のＳｏＣの前記マスタエージェントからのアクセス要求を調停し、前記第２のオンチップバスの第２の調停コンポーネントを割り込み禁止状態にするステップと、
前記第１のＳｏＣのマスタエージェントからのアクセス許可及び前記第２のＳｏＣのマスタエージェントからのアクセス許可を結合するステップと、を有している、
請求項１３に記載の方法。
【請求項１５】
更に、前記第１のオンチップバスによって使用される第１のオンチップバスプロトコル及び前記第２のオンチップバスによって使用される第２のオンチップバスプロトコルの両オンチップバスプロトコルを含むように、前記トランスパレントなインタフェースを介して、誤り訂正符号保護／誤り検出符号保護を拡張するステップを有している、
請求項１２に記載の方法。
【請求項１６】
更に、前記第１のコアを１つ又は複数の第１のコンピュータ処理ユニットと共に動作させ、前記第２のコアを、前記第１のコンピュータ処理ユニットとは異なる動作周波数を有している１つ又は複数の第２のコンピュータ処理ユニットと共に動作させるステップを有している、
請求項１２に記載の方法。
【請求項１７】
更に、前記第１のＳｏＣの寸法よりも小さく、且つ、前記第２のオンチップバスを前記第２のＳｏＣにおけるいずれの不揮発性メモリとも非互換性にする寸法を有している前記第２のＳｏＣから、前記第１のＳｏＣにおける前記複数の第１の周辺コンポーネントの不揮発性メモリへの通信を前記トランスパレントなインタフェースを介して実現するステップを有している、
請求項１２に記載の方法。
【請求項１８】
マルチチップアーキテクチャのための装置において、
前記装置は、第１のシステムオンチップ（ＳｏＣ）及びトランスパレントなインタフェースを含んでおり、
前記第１のＳｏＣは、１つの基板上に第１のコア及び１つ又は複数の第１の周辺コンポーネントを有しており、且つ、第１のオンチップバスの第１のオンチップバスプロトコルを介して、前記第１のコア及び前記１つ又は複数の第１の周辺コンポーネントに対応する第１の複数のアドレスを有している第１のシステムマップに基づいて、前記第１のコアと前記１つ又は複数の周辺コンポーネントとの間の通信を実現するようにコンフィギュレートされており、
前記トランスパレントなインタフェースは、前記第１のオンチップバスと第２のＳｏＣの第２のオンチップバスとが相互に接続された場合に、前記第１のオンチップバスと前記第２のオンチップバスとの間の通信を、前記第１のコア、前記１つ又は複数の周辺コンポーネント、前記第２のＳｏＣの第２のコア及び前記第２のＳｏＣの１つ又は複数の第２の周辺コンポーネントに対応するユニークで重複しないアドレスを含んでいる一貫したシステムアドレスマップに基づいて実現するようにコンフィギュレートされており、前記第２のコア及び前記１つ又は複数の第２の周辺コンポーネントは、第２のシステムマップに基づいて、前記第２のオンチップバスを介して相互に通信を行うようにコンフィギュレートされている、
ことを特徴とする、装置。
【請求項１９】
前記第１のオンチップバスシステムは、前記第１のＳｏＣの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第１の調停コンポーネントを含んでおり、前記第２のオンチップバスシステムの第２の調停コンポーネントは、少なくとも部分的に割り込み禁止状態であり、スレーブエージェントへのアクセスに関して勝者となった許可を特定するために、前記第２の調停コンポーネントからのアクセス許可と、前記第１のＳｏＣの前記複数のマスタエージェントからのアクセス許可と、を結合する、
請求項１８に記載の装置。
【請求項２０】
前記第１のＳｏＣ及び前記第２のＳｏＣは、同一の基板において相互に接続されており、前記第１のＳｏＣ又は前記第２のＳｏＣのうちの一方が、物理的な接続パッドを含んでおり、前記第１のＳｏＣ又は前記第２のＳｏＣのうちの他方が、物理的な接続パッドを含んでおらず、前記物理的な接続パッドを介して、外部コンポーネントと通信するようにコンフィギュレートされている、
請求項１８に記載の装置。
【請求項２１】
前記トランスパレントなインタフェースは、前記第１のＳｏＣと前記第２のＳｏＣとの間の通信の同期を制御するために、前記第１のＳｏＣ又は前記第２のＳｏＣの一方に設けられている単一の位相同期回路を使用する、
請求項１８に記載の装置。
【請求項２２】
前記トランスパレントなインタフェースは、前記第２のオンチップバスシステムと、前記第１のＳｏＣの前記１つ又は複数の第１の周辺コンポーネントのフラッシュメモリと、の間の通信を実現するようにコンフィギュレートされており、
前記第１のＳｏＣは、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている前記第２のＳｏＣのより小さい寸法よりも大きく、且つ、前記１つ又は複数の第１の周辺コンポーネントのフラッシュメモリとの通信を実現する寸法を用いる、不揮発性メモリ互換ベースのテクノロジに従いコンフィギュレートされている、
請求項１８に記載の装置。
【請求項２３】
前記第１のオンチップバスシステム及び前記第２のオンチップバスシステムは、１つ又は複数のユニークなタグ識別子（ＩＤ）を１つ又は複数のマスタに割り当てるようにコンフィギュレートされている１つ又は複数のアクセス保護コンポーネントを含んでおり、
前記１つ又は複数のユニークなタグＩＤによって、スレーブエージェントは、対応するマスタエージェントを識別することができ、更に、前記１つ又は複数のユニークなタグＩＤに基づいて、前記トランスパレントなインタフェースを介して、前記１つ又は複数の第１のオンチップ周辺コンポーネント若しくは前記１つ又は複数の第２のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる、
請求項１８に記載の装置。
【請求項２４】
前記第１のオンチップバスシステムは、前記第２のＳｏＣにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、前記トランスパレントなインタフェースを介して前記第２のオンチップバスシステムの第２の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第１の割り込みコンポーネントを含んでいる、
請求項１８に記載の装置。
【請求項２５】
前記第１のＳｏＣは、更に、１つ又は複数の割り込みトリガを１つ又は複数の専用割り込みトリガコネクションを介して、前記第２のＳｏＣにおける割り込みサービスプロバイダにシグナリングするようにコンフィギュレートされている、
請求項２４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントローラに関し、より詳細には、マイクロコントローラファミリのハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップ（ＳｏＣ）アーキテクチャに関する。
【背景技術】
【０００２】
コンピュータシステムは、人間の生命を依存させることができる機能が委ねられているアプリケーションにますます使用されるようになっている。そのような安全性に関連するコンピュータシステムを、医療機器、自動車におけるアンチロック・ブレーキ・システム、原子力プラントのシャットダウンシステム等に実装することができる。安全性に関連するコンピュータシステムを、そのシステムの動作を検知し、且つ、起こり得る危険な状況に対して、人間の能力では到底及ばない速度及び信頼性で反応するようにコンフィギュレートされているセンサに接続することができる。従って、安全性に関連するコンピュータシステムにおいては、ハードウェアベースの故障は許容されず、またそのようなあらゆる故障を適時に検出することが重要である。
【０００３】
今日のマルチＳｏＣシステムは、スタック状に実装されている及び／又は１つの基板上に実装されている独立した複数のＳｏＣを基礎としており、シリアルインタフェース又はパラレルインタフェースを介して接続されて、１つの複雑な製品を形成している。各ＳｏＣは、システムリソースへのアクセスを提供する自身の固有のシステムアドレスマップを備えている、自身の固有の／別個のＳｏＣアーキテクチャを表している。内部ダイ通信（データ伝送）用のインタフェースは、一方のＳｏＣから他方のＳｏＣへのトランスパレントなアクセスを提供せず、このことは、アドレスのリマッピングが要求されることを意味している。
【図面の簡単な説明】
【０００４】
【図１】種々の実施の形態による、トランスパレントな相互接続部を備えている、マルチダイにおけるＳｏＣアーキテクチャを表すブロック図を示す。
【図２】種々の実施の形態による、トランスパレントな相互接続部を備えているマルチダイにおけるＳｏＣアーキテクチャの別の例を表すブロック図を示す。
【図３】種々の実施の形態による、トランスパレントな相互接続部を備えているマルチダイにおけるＳｏＣアーキテクチャの別の例を表すブロック図を示す。
【図４】種々の実施の形態による、トランスパレントな相互接続部を備えているマルチダイにおけるＳｏＣアーキテクチャの別の例を表す付加的なブロック図を示す。
【図５】種々の実施の形態による、トランスパレントな相互接続部を備えているマルチダイにおけるＳｏＣアーキテクチャの別の例を表す付加的なブロック図を示す。
【図６】種々の実施の形態による、マルチダイにおけるマルチコア型のＳｏＣアーキテクチャに関するフローチャートを示す。
【発明を実施するための形態】
【０００５】
以下では、本発明を添付の図面を参照しながら説明する。図面全体を通して、類似の参照番号は、類似の構成要素を参照するために用いられており、また、図示されている構造及びデバイスは必ずしも縮尺通りに描かれたものではない。本明細書において使用されているように、用語「コンポーネント」、「システム」、「インタフェース」、「相互接続部」等は、コンピュータに関連するエンティティ、ハードウェア、ソフトウェア（例えば、実行中）及び／又はファームウェアを参照することを意図している。例えば、それらの用語、例えば「コンポーネント」は、回路、プロセッサ、プロセッサにおいて実行されているプロセス、コントローラ、オブジェクト、実行可能なプログラム、ストレージデバイス、コンピュータ、タブレットＰＣ及び／又は処理装置を備えているモバイルデバイス（例えば電話等）であってよい。実例として、サーバにおいて実行されているアプリケーション及びサーバがコンポーネントであってもよい。１つ又は複数のコンポーネントが、プロセス内に存在していてもよく、また、コンポーネントを１つのコンピュータに局所的に設けることができる、及び／又は、２つ又はそれ以上のコンポーネント間に分散させて設けることができる。本明細書において一連の構成要素又は一連のその他のコンポーネントについて説明するが、ここで「一連の」という語句は「１つ又は複数の」と解してもよい。
【０００６】
更に、それらのコンポーネントを、例えば種々のデータ構造が記憶されている、例えばモジュールを有している種々のコンピュータ可読記憶媒体から実行することができる。
【０００７】
別の例として、コンポーネントは、電気回路又は電子回路によって駆動される機械的な部分によって提供される特定の機能を備えている装置であってよく、この装置において電気回路又は電子回路を、１つ又は複数のプロセッサによって実行されるソフトウェアアプリケーション又はファームウェアアプリケーションによって駆動させることができる。１つ又は複数のプロセッサは、装置内に設けられていても装置外に設けられていてもよく、また、ソフトウェアアプリケーション又はファームウェアアプリケーションの少なくとも一部を実行することができる。更に別の例として、コンポーネントは、機械的な部分を備えていない電子コンポーネントを介して特定の機能を提供する装置であってよい。つまり、電子コンポーネントは１つ又は複数のプロセッサを含んで、少なくとも部分的に電子コンポーネントの機能を提供するソフトウェア及び／又はファームウェアを実行することができる。
【０００８】
「具体例」という単語の使用は、コンセプトを具体的に表すことが意図されている。本明細書において使用されているように、用語「又は」は、排他的論理和の意味での「又は」を意味しているのではなく、むしろ包含的論理和の意味での「又は」を意味することが意図されている。つまり、別個の記載がない限り又はコンテキストから明らかでない限り、「ＸはＡ又はＢを使用する」は、自然で包含的な入れ替えのいずれかを意味することが意図されている。つまり、ＸはＡを使用する、ＸはＢを使用する、又はＸはＡ及びＢの両方を使用する、という場合、「ＸはＡ又はＢを使用する」は、それらの例のいずれかを満たしている。更に、本明細書及び添付の特許請求の範囲において使用されている「１つの〜」及び「ある〜」の語句は、別個の記載がない限り又はコンテキストから明らかでない限り、一般的に「１つ又は複数」を意味していると解するべきである。更に、用語「含んでいる」、「含む」、「有している」、「有する」、「備えている」又はそれらの異型が詳細な説明及び特許請求の範囲において使用されている限りは、それらの用語はいわば用語「包含している」に類似する表現を含むことが意図されている。
【０００９】
概要
大きいダイナミックレンジ、低出力及び内部操作性を備えているコンポーネントを機能させるためのディジタルシステム（例えば自動車システム）の上述の定義又は必要性を考慮して、プロセッサ（又はマイクロプロセッサ）、別個の又は独立したシステムオンチップ（ＳｏＣ）を備えているマルチダイシステムは、種々の周辺コンポーネント（例えばフラッシュメモリのような不揮発性メモリ（ＮＶＭ）、ダイレクトメモリアクセスコンポーネント、その他の回路素子／回路コンポーネント又はその他の実装テクノロジ）を有することができる。フラッシュメモリのようなそれらの周辺コンポーネントを、例えば１３０又は２５０ナノメートルデバイスとして作製することができる。このテクノロジを備えているデバイスは、入力／出力及びアナログ／ディジタル変換器のようなアナログ機能のためのより高い電圧（例えば自動車設計における標準Ｉ／Ｏ電圧である５Ｖ）もサポートすることができる。より小さい作製スケールでのフラッシュメモリの作製は困難であるので、フラッシュメモリセル用のテクノロジは、常に費用対効果のあるものではないか、又は、より小さくすることを実現できるものはない。従って、新たなテクノロジのコストに起因して、メモリセルに関するコストが上昇する可能性がある。新たなテクノロジが考慮される場合であっても、（例えば、対応するダイ周辺コンポーネントとしての、又は、チップ上にコアプロセッサが実装されているものとしての）論理コンポーネント及びＦＲＡＭコンポーネントをより小さく作製することができるが、しかしながら、フラッシュコンポーネント又はＮＶＭコンポーネントに対しては同一の問題が課される可能性がある。以前は、性能（即ちクロック速度）に関して大きいゲインが得られようとされていたが、しかしながら、この特定の領域は成長に関して余り勢いのあるものではなく、その結果、マイクロコントローラがコンフィギュレート及び要求されるやり方が変更された。そのようにして、大きい不揮発性メモリを有していないマイクロコントローラを、依然としてフラッシュメモリに互換性があるように作製できているが、しかしながら、より高い性能速度を有しているが、互換性はないマイクロコントローラに関しては、新たな解決手段が考えられている。
【００１０】
従って、１つの例においては、システムは、対応するＳｏＣを備えているマルチダイを含むことができ、各ＳｏＣは通信又はシグナリングを管理することができるオンチップバスシステムを有している。例えば、第１のオンチップバスシステムは、１つ又は複数の第１のコアに通信するように接続されている周辺コンポーネントとの通信を制御する又は容易にするオンチップバスを含むことができる。トランスパレントなインタフェース／相互接続部は、周辺コンポーネントを備えている第１のＳｏＣ及び少なくとも１つの対応するコアが、第２のオンチップバスシステムを介して通信を行うように接続されいてる１つ又は複数の第２の周辺コンポーネント及び少なくとも１つの第２のコアを有している第２のＳｏＣと、トランスパレントに通信できるように動作することができる。
【００１１】
トランスパレントなインタフェースは、第１のシステムアドレスマップ及び第２のシステムアドレスマップのユニークで重複しないアドレスを含んでいる一貫したシステムアドレスマップを用いて、第１のダイと第２のダイとを、通信を行うように接続することができる。一貫したシステムアドレスマップは、アドレスのオーバーラップ、リダイレクト又はリマッピングなしで、周辺コンポーネント並びに対応するコアの単一のシステムアドレス（バス）マップを含むことができる。そのようにして、トランスパレントなインタフェースは、トランスパレントなバス通信のためのオーバーラップ動作、リダイレクト動作又はリマッピング動作なしで、種々のＳｏＣ間の通信シグナリングを容易にすることができるか又は実現することができる。本発明の更なる態様及び詳細を、図面を参照しながら以下において更に説明する。
【００１２】
図示の実施の形態
図１には、例えば自動車システムにおける安全性に関連するアプリケーションのような、種々のアプリケーションについての高性能及び適合性のためにコンフィギュレート可能な、例示的なマルチダイシステム１００のブロック図が示されている。システム１００は、１つ又は複数のコンフィギュレート可能なＳｏＣ（例えばＳｏＣ１０１及び１２１）を含むことができ、これらのＳｏＣは、オンチップバスプロトコルを介して通信して動作することができる、各ダイに対応する各ＳｏＣの固有の周辺コンポーネントを有している。周辺コンポーネントには、任意の数の処理装置、メモリセル、相互接続部、フィルタ、変換器、比較器、センサ又はその他の電子処理コンポーネント、例えばディジタルシグナルプロセッサ（ＤＳＰ）、グラフィックプロセッサ、ダイレクトメモリアクセス（ＤＭＡ）コンポーネント、クロスバー、単方向ブリッジ又はその他の類似のコンポーネントが含まれると考えられる。
【００１３】
ＳｏＣは、コンピュータ又はその他の電子システムの全てのコンポーネントがマイクロプロセッサチップ又はコアに集積されている集積回路（ＩＣ）を表すことができ、マイクロプロセッサチップ又はコアは、ディジタル信号、アナログ信号、混合信号又は無線機能のいずれも、対応する通信プロトコル／オンチップバスプロトコルを有する単一のチップ基板上に含むことができる。それに対し、システムインパッケージ（ＳｉＰ）は、単一のモジュール（パッケージ）に含まれている複数の集積回路／半導体プロセッサチップ／ダイを表すことができ、そこではＳｉＰが電子システムの全ての機能又は大部分の機能を実行することができる。ＳｉＰを携帯電話、ディジタルミュージックプレイヤ、センサシステム、自動車システム、関連するサブシステム又はその他のシステム内に集積することができる。ＳｏＣの処理ダイは、例えば垂直方向又はその他の方向にスタックすることができる集積回路を含むことができ、また、パッケージにボンディングされている細線によって内部的に接続することができる。代替的に、フリップチップ技術によって、スタックされたチップを相互に結合するために、はんだバンプを使用することができる。本明細書において検討する複数のダイを、例えば、垂直方向にスタックするか、又は、水平方向において隣同士に並べてタイル張りのようにし、それによって、異なるＳｏＣを用いるマルチダイアーキテクチャを形成することができる。
【００１４】
１つの例においては、システム１００は、１つ又は複数のＳｏＣ１０１及び１２１を含むことができ、それらのＳｏＣ１０１及び１２１は、１つ又は複数のプロセッサコア１０２、１２２、抵抗及びキャパシタのような受動的なコンポーネントと組み合わされたメモリ１０４、１２４を有しており、それらは全て、例えば同一のボード、基板又はシリコン上に実装されているか、又は、別個のダイにおいて通信を行うように接続されている。そのようにして、完全な機能ユニットを、マルチチップシステム１００に作製することができ、それによって、種々の周辺コンポーネント及び対応するコア間での動作のために少数の外部コンポーネントを追加するだけでよくなるか、又は、外部コンポーネントを追加する必要はなくなる。これは、プリント回路板及び全体の設計の複雑性を低減することから、ＭＰ３プレイヤ及び携帯電話のような空間が制限された環境においては、特に価値があると考えられる。
【００１５】
例えば、第１のＳｏＣ１０１は、第１のオンチップバスシステム１０８としての１つ又は複数の第１のオンチップバスを用いてメモリ１０４から受信したコード又はデータメモリ１０６から受信したデータを処理するようにコンフィギュレートすることができるハードウェア拡張を備えているプロセッサコア１０２を有することができる。プログラムメモリ１０４は、ソフトウェアベースのセルフテスト、（一般的な処理のための）プログラムコード又はその他のデータを実行するために使用することができるテストコードを記憶するようにコンフィギュレートすることができる。システム１００は、その他のコンポーネントを有することもでき、例えば（１つ又は複数の）周辺（デバイス）コンポーネント１１０又は例えば割り込み、クロック等のコンポーネント１１２を含むことができ、それらのコンポーネントをアドレスによって指定することができ、また、それらのアドレスに基づいて、第１のオンチップバスシステム１０８を介して使用することができる。
【００１６】
１つの例においては、第１のオンチップバスシステム１０８が、ＳｏＣ１０１のオンチップバスプロトコルによる、（例えば、読み出し、書き込み、再書き込みによる）メモリ１０４又は１０６のいずれか一方とのデータの通信、制御又はメモリ１０４又は１０６のいずれか一方からのデータの要求を実現することができる。オンチップバスプロトコルは、ＳｏＣ１０１のアーキテクチャ又はコンフィギュレーションに応じた、マスタ／スレーブプロトコルに固有のものであってよい。例えば、オンチップバスシステム１０８は、プロセッサコア１０２によるアクセス要求に応答して、周辺コンポーネント１１０のうちの１つ又は複数と通信するため又は周辺コンポーネント１１０のうちの１つ又は複数に対してシグナリングするために、メモリ１０４、データメモリ１０６又はその他のコンポーネントに記憶することができる第１のシステムアドレスマップ１０５を使用することができる。
【００１７】
同様に、第２のＳｏＣ１２１は、オンチップバス１２８を介してオンチップバスプロトコルを用いて動作することができ、このオンチップバス１２８は、例えばメモリ１２４又はデータメモリ１２６に記憶されているか、又は、メモリ１２４又はデータメモリ１２６の一部である第２のシステムアドレスマップ１２５を更に使用することができる。オンチップバスプロトコル並びにオンチップバスシステム１０８及び１２８は、その他のコンポーネント、例えば調停器（ａｒｂｉｔｒａｔｏｒ）又は割り込みサービスプロバイダを用いるＳｏＣ１０１及び１２１にそれぞれ対応することができ、それらのコンポーネントはリソース（例えばメモリ１０４、周辺コンポーネント１１０等）に対する要求を制御又は管理するためにシステムアドレスマップを用いて、各ダイにおけるオンチップバスシステム１０８及び１２８を介して動作することができる。
【００１８】
ＳｏＣ１０１のメモリ１０４、メモリ１０６及びその他の周辺コンポーネント１１０を、第２のＳｏＣ１２１とは異なるテクノロジに従って作製又はコンフィギュレートすることができる。例えば、第１のＳｏＣ１０１は、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている第２のＳｏＣのより小さい寸法よりも大きい寸法を用いる、不揮発性メモリ互換ベースのテクノロジを有することができる。特に、第１のＳｏＣ１０１のより大きい寸法は、１つ又は複数の第１の周辺コンポーネントのフラッシュメモリとの通信との互換性を実現することができ、その一方、より小さい寸法テクノロジは、第２のプロセッサコア１２２と、その第２のプロセッサコア１２２と同じ作製サイズのフラッシュメモリとの間の通信に対して互換性がない可能性がある。
【００１９】
１つの態様においては、第１のＳｏＣ１０１のプロセッサコア１０２及び第２のＳｏＣ１２１のプロセッサコア１２２のテクノロジは異なっていてもよく、例えば異なる速度、作製サイズ等を有していてもよい。プロセッサコア１０２を、そのプロセッサコア１０２がメモリ１０４又は１０６並びに周辺デバイス１１０にアクセスして通信できるテクノロジに基づいて作製することができる。周辺デバイス１１０は、メモリ１０４又は１０６としてのフラッシュメモリ又はその他の不揮発性メモリと互換性がある作製サイズ（例えば約２０ｎｍ超）を基礎とする、不揮発性メモリ又はコンポーネントを含むことができる。
【００２０】
不揮発性メモリアレイ及び高速プロセッサ（例えばＦｉｎＦｅｔマイクロコントローラ、又は、パフォーマンス、拡張、アクセラレータ（ＰＥＡＣ：Ｐｅｒｆｏｒｍａｎｃｅ、Ｅｘｔｅｎｓｉｏｎ、ＡＣｃｅｌｅｒａｔｏｒ）チップ）との作製サイズの差異に起因して、プロセッサコア１２２は、より優れた作製サイズ（例えば約２０ｎｍを下回るアドバンストテクノロジノード）を備えている不揮発性メモリとの相互作用又はそのような不揮発性メモリへのアクセス制御に対して互換性がない可能性がある。従って、例えば、第２のＳｏＣの周辺デバイス／コンポーネント１３０が、不揮発性メモリを実装していないことも考えられるが、しかしながら、周辺コンポーネント１１０又は１３０の一部としてのそのような不揮発性メモリリソースを、トランスパレントな（バス）インタフェース１４０を介して、依然として使用することも考えられる。更に、ＳｏＣ１２１が外部の不揮発性メモリを有していることも考えられるが、有していなくてもよい。
【００２１】
１つの実施の形態においては、第１のＳｏＣ１０１の第１のオンチップバスシステム１０８及び第２のＳｏＣ１２１の第２のオンチップバスシステム１２８が相互に接続されて通信を行うことに応答して、それらの間でのトランスパレントな通信が実現されるように、トランスパレントなインタフェース１４０をコンフィギュレートすることができる。トランスパレントなインタフェース１４０は、メモリ、周辺コンポーネント、コア又はその他のコンポーネントに対して相互に異なる、ユニークで重複しないアドレスを有しているアドレスを含むことができる一貫したシステムアドレスマップ１４５に基づいた、両ＳｏＣ１０１、１２１間での、又は、複数のＳｏＣ１０１、１２１の中でのトランスパレントな通信を容易にすることができる。そのようにして、システム１００の各ＳｏＣ１０１、１２１は、メモリ１０４、１２４及び１０６に、それらのコンポーネントのアドレスのリマッピング、リダイレクト又はリアドレッシングなしで、トランスパレントにアクセスすることができる。従って、トランスパレントなインタフェース１４０は、プロセッサコア１０２、１２２のテクノロジ又は寸法、若しくは、例えばそれぞれのコアを製造する際に用いた作製ベースのテクノロジが異なっているにもかかわらず、第２のオンチップバスシステムと任意の不揮発性メモリ（例えばフラッシュメモリ等）との間の通信を実現することができる。
【００２２】
代替的又は付加的に、ＳｏＣ１２１は、ＳｏＣ１０１に比べて処理に関して遙かに高速に動作する高速プロセッサを備えている高速ＳｏＣであってよい。ＳｉＰ１００は、更に、その電力消費量をコンフィギュレートでき、また、ＳｉＰがただ１つのＳｏＣ１０１を用いて、又は２つの異なるタイプのＳｏＣ１０１及び１２１を用いて、又はその他のＳｏＣを用いて動作するかに応じて、フレキシブルな能力を有することができる。
【００２３】
ＳｏＣ１０１と同様に、ＳｏＣ１２１は、プロセッサコア１２２、メモリ１２４（例えばプログラムコードメモリ）、割り込み、クロック等のコンポーネント１３２及び１つ又は複数の周辺デバイス１３０を含んでいる。プロセッサコア１２２は、プロセッサコア１０２と同様に、メモリ１２４又は周辺コンポーネント１３０に対するマスタエージェントとして動作することができる、１つ又は複数のプロセッサを含むことができる。ＳｏＣ１２１は、そこにあるコンポーネント（例えば１２２、１２８、１３０）を集積して、オンチップバスインタフェース１０８とは異なる第２のオンチップバスインタフェース１２８のオンチップバスプロトコルを介して、１つのチップ上に完全に独立したシステムを形成することができる。
【００２４】
１つの態様では、その他のＳｏＣ（例えば第１のＳｏＣ１０１）が接続されている場合、マスタエージェント（例えばプロセッサコア１２２）は、トランスパレントなインタフェース１４０を介して、コンポーネント又はリソースのいずれかを制御するために、システム１００全体にわたる種々の調停スキーム又はオンチップバスプロトコルに基づいて、適切に作用するように通信することができる。異なるダイにおけるマルチＳｏＣのシステム１００は、１つ又は複数のＳｏＣ１０１、１２１を含むように動作することができ、また、それらの異なるＳｏＣ１０１、１２１に、例えばそれらのＳｏＣが対応するオンチップバスプロトコル及びコンポーネントを集積することができる。
【００２５】
別の態様においては、オプションとして、ＳｏＣ１０１又はＳｏＣ１２１のうちの一方のＳｏＣを、その一方のＳｏＣがＳｉＰ１００内の他方のＳｏＣに接続されているか否かにかかわらず、独立して動作させることができる。例えば、ＳｉＰ１００は、ＳｏＣ１０１及びＳｏＣ１２１を、トランスパレントなインタフェース１４０を介して集積することができ、ＳｏＣ１０１又はＳｏＣ１２１の各コンポーネントがそれらのＳｏＣ１０１又はＳｏＣ１２１に対応するシステムアドレスマップのいずれのリソース又はコンポーネントとも重複しないユニークなアドレスを用いて動作できるように、トランスパレントなインタフェース１４０は動作する。そのようにして、トランスパレントなインタフェース１４０は、２つのＳｏＣ１０１及び１２１を含んでいる全体のシステム１００のコンポーネントをカバーする、一貫したシステムアドレスマップ１４５を使用することができる。同様に、トランスパレントなインタフェース１４０がトランスパレントな集積を実現するにもかかわらず、一方のＳｏＣ又は他方のＳｏＣに接続することなく独立して動作するように、システム１００をコンフィギュレートすることができる。トランスパレントなインタフェース１４０は、更に、各ＳｏＣ１０１、１２１の種々のコンポーネントへのアクセスを許可することによって、オンチップバス１０８のオンチップバスプロトコルとオンチップバス１２８のオンチップバスプロトコルとの間での往復的な通信を実現する。
【００２６】
図２には、異なるＳｏＣ間にトランスパレントなインタフェースを有しているマルチコアシステム２００の別の例が示されている。システム２００は、処理コアＣＰＵ０〜７を備えているスケーラブルなマルチコア型のデバイスとして動作することができ、これらの処理コアＣＰＵ０〜７は、通信のマスタ／スレーブ通信モデルにおけるスレーブとしての１つ又は複数のその他のデバイス／コンポーネントにわたる制御を要求又は受信することができるマスタエージェントとして動作することができる。その他のコンポーネント又はデバイスも同様に、１つ又は複数のスレーブエージェントを備えているマスタエージェントとして動作することを保証することができるか、又は、そのように動作するようにコンフィギュレートすることができ、そのような１つ又は複数のスレーブエージェントは、例えば、ローカルメモリユニット（ＬＭＵ０〜７）、プログラムフラッシュ（ＰＦ０〜５）、システム周辺デバイス（ＳＰＢ）、ダイレクトメモリアクセス（ＤＭＡ）コンポーネント、その他のプロセッサ（例えば専用のディジタルシグナルプロセッサ等）並びにハードウェアセキュリティモジュール、ダウンロードアクセラレータマネージャ、その他のユニット又はコンポーネントのうちのいずれか１つを含むことができるが、これらは例示であって制限を意図するものではない。
【００２７】
ＳｏＣ１０１及び１２１は、ローエンドからミッドレンジの（１つ又は複数の）デバイス／システム又は高速な処理速度を備えているよりハイエンドの（１つ又は複数の）デバイス／システムのいずれかの組み合わせのための集積されたパッケージとして動作することができる。ＳｏＣ１０１は、従来の（１つ又は複数の）コンピュータ処理コア又は処理ユニット（例えばＣＰＵ０〜３）だけを用いて動作することができ、また、図１のトランスパレントなインタフェース１４０に類似するものであってよいトランスパレントなインタフェース１４０を介して、ＳｏＣ１２１のプロセッサコアＣＰＵ（例えばＣＰＵ４〜７）も用いて動作するように使用されてもよい。
【００２８】
１つの例においては、ＳｏＣ１０１及び１２１は、相互に類似するものであってよく、その場合、いずれのＳｏＣ１０１、１２１も標準的なＳｏＣであってよく、従ってＳｏＣ１２１は、処理能力の点では、別個のオンチップバス通信プロトコルを備えているＳｏＣ１０１に類似するものであるか又は同一のものである。代替的又は付加的に、ＳｏＣ１０１、１２１又はＣＰＵは、異なる処理速度を有していてもよい、又は、異なるテクノロジを基礎としていてもよい。例えば、ＳｏＣ１２１は、より高速な処理速度を有することができる。
【００２９】
付加的又は択一的に、ＳｏＣ１２１を、異なる作製サイズ又は類似の作製サイズを備えているＳｏＣ１０１とは異なるテクノロジで作製することができるか、又は、ＳｏＣ１２１は、そのような異なるテクノロジを基礎とすることができる。標準的なＳｏＣを含んでいるＳｏＣ１０１と、より小さい作製サイズを備えている、よりハイエンドで処理速度が高速なＳｏＣとしてのＳｏＣ１２１の利点は、ソフトウェアのスケーラビリティにあり、それによって、アプリケーション（例えば、エンジン制御ユニット等を用いる自動車アプリケーション／システム）を、異なるテクノロジに対する要求に依存してスケーリングすることができる異なるデバイス、異なるパッケージ又はシステム２００外部のシステムに切り換える必要はない。例えば、ＳｏＣ１０１及び１２１は、トランスパレントなインタフェース１４０を介して、ユニークなオンチップバスインタフェース（例えば図１の１０８及び１２８）の対応するオンチップバスプロトコルによってトランスパレントに通信することができる。このトランスパレントなインタフェース１４０は、一方のＳｏＣにおけるマスタエージェントによる、一貫した重複しないシステムアドレスマップ（例えば図１のアドレスマップ１４５）を介した他方のＳｏＣにおけるスレーブエージェントへのアクセスを実現することができる。ＳｉＰ２００は、フレキシビリティのための付加的な処理コアを用いて動作することもでき、また、より高度の性能テクノロジ（例えば、ＦｉｎＦｅｔ又はＰＥＡＣテクノロジコア）で動作することもできる。
【００３０】
システム２００は、例えば、１７５度までの温度において３００ＭＨｚで動作することができ、また、５０，０００時間の寿命並びに０ｐｐｍを有することができる。このことは、１５年を超える寿命の中で１００万個を超えるチップのうち１つしか故障する可能性がないことを意味している。別の例においては、ＳｏＣ１０１及び１２１を備えているＳｉＰ２００は、例えばエンジン制御ユニット又はその他の集積システム／サブシステムのような自動車システムにおいて動作することができ、そのようなシステムでは、それにもかかわらず、幾つかのコンポーネント／サブシステムがＳｏＣ１２１を介してより高速な処理速度を使用することができ、また、より低速な処理速度のＳｏＣに切り換えることができる。両ＳｏＣはいずれも、トランスパレントなインタフェース１４０を介して、同一のパッケージ又は基板において使用することができる。
【００３１】
別の実施の形態においては、ＳｏＣのうちの１つ（例えばＳｏＣ１０１）は、外部へのアクセスを実現するワイヤボンディング、パッド、ピラー又ははんだバンプを備えているボンディング層２０４を含むことができ、また、ＳｏＣ１２１は、ＳｏＣ１０１がトランスパレントなインタフェース１４０を介してそれらを提供することから、そのようなボンディングを有していなくてもよい。従って、ボンディング層２０４は、ＳｉＰ２００からの外部通信を実現することができる。より大きい作製サイズを備えているより低速な処理チップ（例えばＳｏＣ１０１）だけが要求されるアプリケーション又は例においては、例えばＳｏＣ１２１を用いずにＳｏＣ１０１だけを使用することによって、出力を抑えることができるか、又は、処理をより効率的に行うことができる。より高速な処理速度が要求されるその他の状況においては、ＳｏＣ１２１は、ＳｏＣ１０１の周辺デバイス及びメモリを機能的に動作させて使用することができ、それによって、より高い性能ゲインが得られ、またＳｏＣ１０１におけるフラッシュメモリを動作させることができる。さもなければ、過度に小さい作製サイズ又はその他のパラメータに起因して互換性がない可能性がある。
【００３２】
１つの例においては、ＳｉＰ２００にフェースダウン型のフリップチップインタフェース２０２を集積することができる。ＳｏＣ１０１及び１２１を、例えばフリップチップインタフェース２０２を備えているパッケージ基板に集積することができるので、チップのアクティブエリアは基板に面している。はんだ付け接続部を、チップと基板との間に設けることができ、また、基板内で、２つのチップ間に接続部が存在していてもよい。
【００３３】
フリップチップインタフェース２０２を、フェースダウン型のコンフィギュレーションについて図示したが、別の実施の形態は、例えば、サイドバイサイドパッケージングのために、インタフェース層２０２内にワイヤボンディングを含むこともできるか、又は、フリップチップコンフィギュレーションを使用することができる。その他のコンフィギュレーションにおいては、ＳｏＣ１０１及び１２１を相互にフェースツーフェースで設けることができ、このことは、ダイの活性層が相互に面していることを意味している。このコンフィギュレーションにおいては、ダイ間にピラー又はバンプ（例えば、はんだ接続部）が存在してもよい。ここでの実施の形態は、物理的な向き又は配置構成のいずれか１つのタイプに限定されるものではない。
【００３４】
ＳｏＣ１０１及びＳｏＣ１２１を組み合わせるフリップチップインタフェース２０２の下に描かれているように、ＳｏＣ１０１は、プログラムフラッシュ（ＰＦ）メモリ２０６を含むことができる。例えば、ＳｏＣ１０１のＣＰＵ０〜３は、ローカルＰＦ０〜３を有することができるか、又は、ＳｏＣ１０１の全てのＣＰＵ０〜３に対して別個のＮＶＭコンポーネント（例えばＰＦ４〜５）を備えるようにコンフィギュレートすることができる。そのようにして、ＳｏＣ１０１は、プロセッサコアＣＰＵ０〜３と共に、ＮＶＭメモリを局所的な基板上に局所的に設けるか又は局所的なオンチップバスプロトコルの一部とするために、ＮＶＭ互換性があるとみなすことができ、且つ、ＳｏＣ１０１の一部としてのＮＶＭとの通信をサポートするように作製することができる。
【００３５】
１つの実施の形態においては、オンチップバスの各オンチッププロトコルの一部としての、共有リソース相互接続部（ＳＲＩ０〜２）のオンチップバス／オンチップ相互接続部２１６を介して、ＣＰＵ０〜３を相互に接続することができる。複数のオンチップバスプロトコルを、トランスパレントなインタフェース１４０を介して集積することができ、そこではプロトコルが相互接続部２１６としてのクロスバーのような相互接続部を含んでいる。別の例においては、オンチッププロトコルがパケット指向型のプロトコル又はその他のプロトコル、例えばクロスバープロトコル、ネットワークオンチッププロトコル、マルチマスタプロトコル等を基礎とすることができる。
【００３６】
トランスパレントなインタフェース１４０は、１つのＳＲＩにおける複数の異なるリンクを含むために、マトリクス状に又はその他のコンフィギュレーションで配置されている複数のスイッチのクロスポイント、マトリクス又は集合として動作することができる。トランスパレントなインタフェース１４０は、更に、２つのＳｏＣ１０１と１２１との間のブリッジ２１０を含むことができる。相互接続部２１６〜２１８を、ＳｏＣ１０１、１２１を集積するためのトランスパレントなインタフェース１４０用のＳＲＩの一部として、また、各ＳｏＣインタフェース（例えばバックボーンバス（ＢＢＢ：ＢａｃｋＢｏｎｅ  Ｂｕｓ）２２０又はシステムペリフェラルバス（ＳＰＢ：Ｓｙｓｔｅｍ  Ｐｅｒｉｐｈｅｒａｌ  Ｂｕｓ）２２２）の対応するオンチップバスプロトコル間の内部デバイスクロストークのための機能の一部として、集積することができる。更に、ＳＰＢ２２２を、１つ又は複数のポート若しくは任意の数の内部又は外部の周辺コンポーネント、例えばメモリ、その他のデバイス、イーサネットポート（ＥＴＨ０〜１）、ダイレクトメモリアクセス（ＤＭＡ）コンポーネント、アクセラレータ、調停コンポーネント、外部コンポーネント、システム、サブシステム（例えばアドバンスト・ドライバ・アシスタンス・システム（ＡＤＡＳ：Ａｄｖａｎｃｅｄ  Ｄｒｉｖｅｒ  Ａｓｓｉｓｔａｎｃｅ  Ｓｙｓｔｅｍ））、若しくはＳｏＣのその他のコンポーネント又はＳｉＣとしてのコンポーネントを介して、ボンディング層２０４に接続するために又はボンディング層２０４と通信するために使用することができる。
【００３７】
機能レベルにおいては、ＳＲＩ０〜２の相互接続部は、バスと同様に動作することができるので、コンポーネントがＳｏＣ１０１、ＳｏＣ１２１若しくはＳｏＣ１０１又は１２１の特定のオンチップバスプロトコルの一部に固有のものであっても、読み出し動作又は書き込み動作を、フリップチップインタフェース２０２を介してＳｉＰ２００のいずれかのコンポーネントについてのアドレスを用いて行うことができる。相互接続部２１６〜２１８は、実装レベルにおけるエンドツーエンドコネクションに類似するものであってよく、このことは、各マスタＣＰＵ（例えばＣＰＵ０〜７のうちのいずれか１つ）を、任意のスレーブＣＰＵ又は全てのスレーブＣＰＵ（例えばマスタではないＣＰＵ０〜７のいずれか１つ）に、トランスパレントなインタフェース１４０を介して直接的に接続できることを意味している。
【００３８】
従って、トランスパレントなインタフェース１４０は、マスタエージェントとスレーブエージェントとの間の通信を双方向において容易にし、またこのトランスパレントなインタフェース１４０は、スレーブエージェントと対話している種々のマスタエージェント相互間の通信又は両ＳｏＣ１０１、１２１間での通信を同時に行いながら動作することができる。例えば、各ＳｏＣ１０１及び１２１は、マスタエージェントの状態が割り当てられている又は提供されているコンポーネント（例えばＣＰＵ、ＤＭＡ又はその他のコンポーネント）並びに通信のマスタ／スレーブ通信モデルの一部としてのスレーブエージェントとして割り当てられているスレーブエージェント（例えばメモリ、ＬＭＵ、ＰＦ又はその他のコンポーネント）を備えている、自身の固有の相互接続部を含んでいる。マスタエージェント（例えばＣＰＵ０〜７）は、両ＳｏＣ１０１及び１２１の各コンポーネントに対応する重複しない一貫したアドレスを有するシステムアドレスマップに従い、接続されている全てのスレーブエージェント（例えばＬＭＵ、ＰＦ、周辺デバイス、ポート等）にアクセスすることができる。
【００３９】
例えば、バス（例えば、ＢＢＢ２２０）によって、バス自体がＳｏＣ１２１との共有リソースになることも考えられ、その場合、その他のＣＰＵは、マスタエージェント（ＣＰＵ４〜７、トランスパレントなバス１４０を介するＣＰＵ又はその他のコンポーネント）のうちのいずれか１つがリソースを使用する場合には、そのリソースを使用するために待機する必要がある。しかしながら、トランスパレントなインタフェース１４０の一部としてのオンチップ相互接続部２１６〜２１８によって、種々のスレーブと対話する種々のマスタを、同一のリソース（例えばＳＲＩ０〜２）において並行して（同時に、同時刻に）動作させることができ、また、種々のマスタが同一のスレーブエージェント（例えばイーサネットポートＥＴＨ１、又はその他のコンポーネント）と対話する場合にのみ競合が考えられるので、その結果、例えばラウンドロビンスキーム、時分割多重アクセススキーム等の調停スキームを使用することができる。
【００４０】
例えば、ＣＰＵ０〜７のいずれか１つを、指定されたスレーブエージェントに、例えば同一のＳｏＣ上のメモリにアクセスすることができるか、又は、例えばトランスパレントなインタフェース１４０を介してその他のＳｏＣにアクセスすることができる、マスタエージェントとして実現することができる。各ＳｏＣ１０１、１２１は、それぞれがフリップチップインタフェース２０２を介して分割されているＣＰＵ０〜７と共に、別個のコアシステムに図示されているが、付加的な処理コアも考えられるので、マスタエージェントとして動作する多数のＣＰＵは、ＳＲＩ０〜２のクロスバー又は相互接続部２１６〜２１８を介して、１つ又は複数のスレーブエージェントにアクセスすることができる。
【００４１】
ＳＲＩ０〜２は、フリップチップインタフェース２０２をまたいでいる種々の矢印によって表されており、また、全体のトランスパレントなインタフェース１４０のアーキテクチャの一部としてのブリッジ２１０を介して接続されている相互接続部２１６〜２１８のグループ又はクラスタを含むことができる。例えば、各クラスタ又はＳＲＩ０〜２は、ＣＰＵ０〜７の中から複数のマスタＣＰＵを有することができ、その一方で、リソース又は周辺コンポーネント１３０又は２１４は、スレーブエージェントとして動作することができる。例えば、２つのクラスタＳＲＩが同一のＳｏＣ（例えばＳＲＩ０〜１  ２１６、２１８）に存在する場合、それぞれが４つ又は５つのマスタＣＰＵを有することができ、各ＳＲＩクラスタは、複数のコネクションを、例えば１６個のコネクションを有している。従って、２つのＳＲＩに対する１６個のコネクションが設けられていることによって３２個のコネクションが生じ、また、１つの例として、１つのクロスバー（例えばクロスバー２１６等）によって８×８＝６４個のコネクションが生じ、これは複数のＳＲＩにおいても考えられる。
【００４２】
各ブリッジ２１０は、例えば種々の単方向コネクションを有することができ、それらは更に、特定のアドレス又はアドレス範囲を有している。例えば、マスタエージェントを矢印の先端に設けることができ、それに対しスレーブを逆の端部に設けることができるか、若しくは、例えばそれとは反対に、スレーブを矢印の先端に設けて、マスタエージェントを逆の端部に設けることもできる。例えば、ブリッジ２１０は、接続の物理的な実現手段を含むことができ、これはフリップチップインタフェース２０２も含むことができる。論理的なレベルでは、ＳＲＩ０のオンチップ相互接続部又はクロスバー２１６〜２１８のクラスタ又はその他のＳＲＩにおけるスレーブエージェント又はコンポーネントが、特定のアドレス範囲を表すことができる。
【００４３】
例えば、特定のＣＰＵ（例えばＣＰＵ０）が特定のメモリ（例えばＦＰ４又はＦＰ５）又は周辺デバイス（例えば１１０）に対する読み出し動作を指示する場合、アドレスデコーダ２１２は、どのコンポーネントを読み出すか、どのコンポーネントに書き込むか、又は、どのコンポーネントと通信するかを知ることができる。ここで、アドレスデコーダ２１２を用いて、そのコンポーネントをどこにルーティングするか、即ち、そのコンポーネントが同一の相互接続クラスタ又はクロスバー（例えばＳＲＩ０）における特定のスレーブＣＰＵに接続されているか、又は、別のクロスバー（例えばＳＲＩ１）における異なるスレーブエージェントに、複数のクロスバー間の接続部を介して、又は、相互接続クラスタ２１６と２１７との間の接続部を介してクロスオーバするかを知る。アドレスデコーダ２１２は、トランスパレントなインタフェース１４０の一部であってもよい、又は、図１の一貫したシステムアドレスマップ１４５を使用することができる。特定のクロスバー（例えばＳＲＩ０）から、対応するクロスバーＳＲＩ０のアドレスデコーダ２１２は、１つの特定のアドレス範囲を知ることができるか、又は、ブリッジ２１０の反対側にある種々のアドレス範囲を知ることができる。続いて、それらの範囲にわたる各アクセス許可が、アドレス範囲に対応するブリッジ２１０にルーティングされる。続いて、例えばブリッジの反対側にあるＳＲＩ２は、アドレスを再び検査して、この特定のアドレスがどこに位置しているのかを知り（例えばＣＰＵ７にあることを知り）、続いて、それを例えばＣＰＵ７のスレーブにルーティングする。そのようにして、一方のＳｏＣ（例えば１２１）において実行されるソフトウェア又はアプリケーション層は、続いて、それらのブリッジ２１０を介して他方のＳｏＣ（例えば１０１）にトランスパレントにアクセスすることができ、また、反対に逆方向の流れでのアクセスを行うことができ、従って往復的なアクセスを行うことができる。従って、ソフトウェアの観点からすると、２つの異なるＳｏＣ１０１及び１２１を同一の基板に設けることができるか、又は、２つの異なるＳｏＣ１０１及び１２１に異なる互換性（例えばＮＶＭ互換性）又は能力を集積できる場合であっても、ＳｉＰ２００は、単一のチップデバイスとして動作することができる。
【００４４】
ＳｏＣ１０１及び１２１は、更に、種々のローカルメモリユニットＬＭＵ０〜７を含むことができ、それらはまた、各ＣＰＵ、つまりＣＰＵ０〜７内のローカリティとして動作することができる。そのようにして、ＣＰＵポートは、インタフェースラインの状態を一切変更することなくアクセスすることができるローカルＲＡＭを有することができる。これによって、別のＣＰＵの別のＲＡＭへのアクセスに応答して、又は、例えばＳＲＩクラスタ間のブリッジを介さなければならない場合に生じる可能性があるクロックサイクルの追加が発生することなく、直ちにデータを検索することができる。
【００４５】
別の実施の形態においては、ＳｉＰのＳｏＣ１０１及び１２１は、トランスパレントなインタフェース１４０を介して、メモリ（例えば、不揮発性メモリ、揮発性メモリ又はその他の類似のメモリ）、周辺コンポーネント、又は、不均一メモリアクセス（ＮＵＭＡ：Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）プロトコルの一部としてのローカルリソースにアクセスするように動作することができる。例えば、ＳｏＣ１２１のＣＰＵコア（例えばＣＰＵ４、５、６又は７）は、ＳｏＣ１０１のコンポーネント又はスレーブに直接的にアクセスすることができ、このＳｏＣ１０１のコンポーネント又はスレーブは、例えばＮＵＭＡプロトコルを介するユニークなアドレスを有している、スレーブエージェントとして指定された任意のデバイス又はコンポーネント、例えば１つ又は複数の周辺コンポーネントであってよい。ＮＵＭＡプロトコルは、同一のアドレス空間を認識することができるか又は同一のアドレス空間にアクセスすることができる全てのＣＰＵを参照し、また、マスタエージェントとしてのＣＰＵ又はＤＭＡのようなコンポーネントが、例えばメモリのための特定のアドレスにアクセスする場合には、各マスタエージェントは、その他のマスタエージェントと同じ値を取得することになり、従って、換言すれば同一のデータにアクセスすることになる。しかしながら、ＣＰＵ又はマスタエージェントのロケーションに依存して、ＳｉＰ上の特定のメモリ又はコンポーネントのロケーションへのパスをより長く又はより短くすることができ、それによってアクセス時間をより長く又はより短くすることができる。
【００４６】
トランスパレントなインタフェース１４０は、起源ＳｏＣ又はＳｏＣのＣＰＵとは異なるオンチッププロトコル又はＳｏＣを用いてコンポーネントにアクセスしているか又はアクセスについて競争している種々のＳｏＣ１０１、１２１間でのコンポーネント、デバイス又はリソースについての競合を低減するように動作することができる。それらのアクセス要求、アクセス許可又は通信動作を、トランスパレントなインタフェースを介して容易にすることができ、またこのトランスパレントなインタフェースは、異なるＳｏＣ１０１及び１２１に関するＳｏＣインタフェース（例えば１１０、２２２又は特定のＳｏＣインタフェース）又はオンチップバスにわたり異なるオンチッププロトコルを介して、同一の値が同一のアドレスを用いて確認されるか又はアクセスされることを保証する。従って、アプリケーション層又はソフトウェアの観点からすると、システム２００の特定のロケーションに関するシンボル（特定のデータのアドレス）を、相互のシステムコンポーネント間で、ＳｏＣデバイス１０１、１２１のいずれかによって又は両ＳｏＣデバイス１０１、１２１によってアクセスすることができる。従って、特定のＳｏＣにおけるアーキテクチャ数又はコンフィギュレーションにもかかわらず、複数のＣＰＵは、種々のＳｏＣにわたる複数のスレーブにアクセスすることができるか又はそれらのスレーブを制御することができ、それと同時にターゲットＳｏＣのプログラム、データ又はその他のコンポーネントへのトランスパレントなアクセスも並行して行うことができる。
【００４７】
図３を参照すると、マルチダイアーキテクチャを備えている、マルチコア型のマルチＳｏＣシステムが図示されている。両ＳｏＣ１０１及び１２１は、上記において説明したトランスパレントな相互接続部１４０に類似する、トランスパレントな相互接続部１４０’を介して相互接続されているにもかかわらず、いずれか一方のＳｏＣを、種々の時間、ロケーション又はアプリケーションイベントトリガにおいて１つのシステムとしてコンフィギュレートされるように動作することができるスタンドアローン型のコンポーネントとしてコンフィギュレートすることができる。上側のダイ又は下側のダイ（例えばＳｏＣ１０１又はＳｏＣ１２１）のいずれかは、一方のダイ又は両方のダイにおける全てのパッド又はボンディング層を含むことができる。ＳｏＣ１０１及びＳｏＣ１２１は、異なる作製テクノロジ、サイズ、速度を備えているものとして又はその他の差異を有するものとして上記において説明したにもかかわらず、特定のＳｏＣ内で規定されているコンポーネントから延びており、またそのようなコンポーネントに接続されている対応するオンチップバスインタフェースのオンチップバスプロトコルを集積するトランスパレントなインタフェース１４０’でもって、その他のアプリケーションでは、各ＳｏＣは同一であると考えることができる。ＳｏＣ１０１及び１２１を、上側のダイ及び下側のダイとしてコンフィギュレートすることができるが、単一のＳｉＰ３００内の向きを変更することができるので、当業者であればその他の向きも考えられ、例えば複数のダイを隣接させて又は水平に作製することも考えられる。各ＳｏＣ１０１及び１２１は、異なる付加的なロジック、プロセッサコア、ＳＲＡＭ、ＮＲＡＭ、アクセラレータ、ＤＭＡ、イーサネットプロトコルポート又はその他のネットワークプロトコルポート、フラッシュメモリ、その他のＮＶＭ若しくはその他のコンポーネントを含むことができる。
【００４８】
両ＳｏＣダイ１０１及び１２１は、上記の図１及び図２に示したものに類似する、トランスパレントなインタフェース／相互接続部１４０’によって相互に接続することができ、このトランスパレントなインタフェース／相互接続部１４０’は、第１のＳｏＣ及び第２のＳｏＣのオンチップバス／相互接続部を接続する。両ＳｏＣはシステムオンチップを表し、このシステムオンチップは、各ＳｏＣに対応し、且つ、各ＳｏＣにとってユニークであるオンチップバス相互接続部を介して通信することができる。そのようにして、各ＳｏＣ１０１、１２１は、独立して動作することができる。１つの態様においては、ＳｏＣ１０１及び１２１を結合することができ、また相互接続するために動的にリコンフィギュレートすることができるので、対応するローカルオンチップバスインタフェース３０１及び３０３の各ＳｏＣの固有のオンチッププロトコルは、いずれかのコンポーネントについて重複する又は二重のアドレスを有していない一貫したシステムアドレスマップを備えているトランスパレントなインタフェース１４０’を介して集積されている。
【００４９】
例えばトランスパレントなインタフェース１４０’は、更に、例えばフォールバックコンポーネント３０２、マッピングコンポーネント３０４、調停コンポーネント３０６、割り込みコンポーネント３０８及びアクセスセーフティコンポーネント３１０を含むことができる。例えば、その他のＳｏＣ１０１に関連するテクノロジを基礎として、例えば、より高速な処理速度についての能力を有しているか又はより小さい作製サイズを有している、ＳｏＣ１２１を介して動作するサブシステム（例えばエンジン制御ユニットサブシステム又はその他の自動車サブシステム）の故障を検出するように、フォールバックコンポーネント３０２をコンフィギュレートすることができる。所定の閾値を下回って低下するか又は上回って上昇する、故障条件、イベントトリガ又はその他の性能インジケータに応答して、フォールバックコンポーネント３０２は、自動車サブシステムを独立して動作させるために、ＮＶＭ互換ＳｏＣ１０１を起動させることができる。同様に、逆の状況もフォールバックコンポーネント３０２を介してコンフィギュレートすることができ、この状況においては、１つ又は複数のコンポーネント又はサブシステムの動作が、ＳｏＣ１０１によって、且つ、ＳｏＣ１２１を介して制御されるイベントに応答して制御される。
【００５０】
各ＳｏＣ１０１及び１２１は、通常の場合、ユニークなアドレスマップを備えているシステムを含んでおり、そのシステムでは、マッピングコンポーネント３０４を介する集積のため及びトランスパレントなインタフェース１４０を介するアクセスのために、全てのリソースがアドレスマッピングされ、オンチップバスインタフェース３０１、３０３を介してアクセスされ、また、このシステムオンチップアドレスマップ（例えば図１のアドレスマップ１４５）にマッピングされる。マッピングコンポーネント３０４は、例えばオンチップバス相互接続部又はインタフェース３０１、３０３を介して、若しくは、トランスパレントなインタフェース１４０を介してアクセスが行われる際に、リソース又はコンポーネントにユニークなアドレスを提供することができる。オンチップバス３０１、３０３をそれらのオンチップバスプロトコルに基づき実現することができ、また、それらのオンチップバス３０１、３０３は、同一のユニークなアドレスを用いて、トランスパレントなインタフェース１４０を介して相互間で直接的にアクセスしつつ、その一方で、同一の値又は同一のアドレスを有しているリソースをいずれか１つのコンポーネントコア又は別のＳｏＣから取得する。
【００５１】
マッピングコンポーネント３０４は、アドレスのオーバーレイ、オーバーラップ又はリマッピングなしで、例えばトランスパレントなインタフェース１４０を介して又はオンチップバスインタフェース３０１及び３０３を介して可視であるシステムアドレスマップを生成することができる。従って、ＳｏＣ１０１及び１２１を、ダイが相互に接続された際に、トランスパレントで一貫したシステムアドレスマップ（トランスパレントなインタフェース１４０を介して可視であるアドレスマップ）を表すように準備することができる。換言すれば、システムアドレスマップは、割り当てのために形成されるか、又は、事前にコンフィギュレートされており、且つ、各オンチップインタフェース３０１及び３０３を介してアクセス可能であるその他のアドレスと重複しない。それらのオンチップインタフェース３０１及び３０３は、同一のＳｉＰ３００において集積されていることに応答して、同一のパッケージ基板上のスタンドアローン型のデバイス又は集積デバイスであってよい。
【００５２】
１つの例においては、マスタエージェント（例えば、ＣＰＵ、ＤＭＡ又はその他の類似のコンポーネント）を、アクセス要求に関する調停スキームに従って、調停コンポーネント３０６を介して選択することができ、またマスタエージェントは、特定のスレーブエージェント（例えばメモリ又はその他のコンポーネント）へのバスアクセスについて競合するマスタエージェントプロトコルを容易にする。種々のマスタエージェントを、調停器又は調停コンポーネント３０６の中央調停アルゴリズムによって調停することができ、また、１つ又は複数の異なるアルゴリズムに基づいて、異なる優先順位を、例えば調停コンポーネント３０６によって割り当てることができる。調停コンポーネント３０６によってアクセス許可が与えられているＳｏＣ１０１、１２１の中でのマスタエージェント（例えば、ＣＰＵ、ＤＭＡ又は類似のコンポーネント）は、ターゲット（例えばＣＰＵ、周辺デバイス、メモリ、又はその他のコンポーネント）へのアクセスを提供することによって、オンチップバスを介してアクセスを開始することができ、またアクセスされるスレーブエージェントは、このアドレス状態（ターゲットコンポーネントのアドレスを含む）、幾つかの付加的な制御信号、マスタエージェントは何をしたいのか（信号データの読み出し、書き込み、再書き込み、又はデータに関する又は１つのデータの読み出し、書き込み、再書き込み）という記述に反応する。
【００５３】
単一のオンチップアーキテクチャを表すために、第１のＳｏＣダイ１０１のオンチップバスインタフェース３０１と第２のＳｏＣダイ１２１のオンチップバスインタフェース３０３とを相互に接続し、トランスパレントなオンチップバス相互接続部／インタフェース１１０を表すことができる。このことは、トランスパレントなインタフェース１４０’が、アドレスのリコンフィギュレート、リマッピング又はリダイレクトなしで、各ＳｏＣのシステムアドレスマップを使用することができるが、しかしながら、各ＳｏＣのシステムアドレスマップのアドレスを結合し、それによって、システム全体のアドレスは一貫しており、その他のいずれのアドレスとも重複しないことを意味している。このことは、更にシステムアドレスマップ３２０、３３０及び３４０に示されている。
【００５４】
別の実施の形態においては、ＳｏＣ１０１及び１２１のオンチップバス３０１及び３０３を相互に接続するために、両ＳｏＣ１０１及び１２１を同期させることができ、また同期モードにおいてＳｏＣ１０１又はＳｏＣ１２１のいずれかからの同一のクロック（例えば、図１の割り込み、クロックコンポーネント１１２又は１３２）で動作することができる。一方又は両方のＳｏＣオンチップバスインタフェースは、両ダイＳｏＣの非同期モードの動作を実現するために、同期メカニズム３１２及び３１４（例えば、１つ又は複数のクロック、位相同期回路又はその他のコンポーネント）を含むことができ、各バスは、例えばクロックサイクルの異なる位相で動作することができ、これはオンチップクロックを発生させる位相同期回路（ＰＬＬ）のようなアナログ部分に由来するものであってよい。両ＳｏＣ１０１及び１２１が同一のＰＬＬ又はクロックによってクロック制御される場合には、クロック（例えば、１１２及び１３２）は例えば同一の周波数で動作することができるので、それら両ＳｏＣ１０１及び１２１は非同期モードでは動作しない。非同期モードは、一方のオンチップバスが例えば２００ＭＨｚのクロックを使用しており、他方のオンチップバスが１３３ＭＨｚでクロック制御されているか、又は周波数においてその他の若干の差異がある場合に発生する可能性がある。両オンチップバスが２００ＭＨｚでクロック制御される場合には、ＳｉＰ３００を同期させて使用することができる。ＳｏＣ１０１及び１２１は、ＳｏＣ１２１が、例えばボンディングパッドを備えておらずより簡潔であり、且つ、同一のクロック位相を使用するＳｏＣ１０１と同期できるという点で区別することができる。このことは、付加的な同期ステージが不要であるため、トランスパレントな相互接続部を介するスループット及びアクセス待ち時間に関して有益である、という利点を有していると考えられる。
【００５５】
アクセス要求は、調停コンポーネント３０６のハンドシェイクプロトコルを介する、例えば第１のオンチップバスの第１の調停コンポーネント３１６と第２のオンチップバスの第２の調停コンポーネント３１８との間の調停の同期を含むことができる。この調停方法は、トランスパレントなインタフェース１４０’を介する、第１のＳｏＣ及び第２のＳｏＣのマスタエージェントから、第１の周辺コンポーネント又は第２の周辺コンポーネントに対するシステムアドレスマップのユニークで重複しないアドレスへのアクセス要求の調停も含むことができる。アクセス要求は、ハンドシェイクプロトコルを介する、例えば第１のオンチップバス３０１の第１の調停コンポーネント３１６と第２のオンチップバスの第２の調停コンポーネント３１８との間の調停の同期を含むことができる。
【００５６】
１つの態様においては、アクセス許可について勝者となったアクセス要求を、調停コンポーネント３０６に転送することができるか、又は、両ＳｏＣのマスタエージェントがアクセス許可を求めることができるその他のＳｏＣのその他の調停コンポーネントに転送することができる。１つの例においては、第１の調停コンポーネント３１６又は調停コンポーネント３１８だけが調停動作を行うことができ、その間、残りの一方はハンドシェイクプロトコル又は調停コンポーネント３０６における別の調停に応答して割り込み禁止状態になる。代替的又は付加的に、第１のＳｏＣ及び第２のＳｏＣのマスタエージェントからのアクセス許可を結合することができ、そこでは更なる調停がトランスパレントなインタフェース（例えば１４０又は１４０’）の調停コンポーネント（例えば３０６）における全てのリクエストで行われる可能性がある。
【００５７】
別の実施の形態においては、各ＳｏＣ１０１及び１２１のアドレスマップを、ローカルシステムダイアドレスマップとしてのアドレスマップ３２０及び３３０による例として表すことができる。マッピングコンポーネント３０４は、各アドレスマップを生成及び結合するように動作することができ、その結果、両マップが一緒になって、一貫したアドレスマップ３４０を表すことができる。このことは、重複が存在せず、且つ、各コンポーネントには、ＳｉＰ３００の全てのコンポーネントの中からユニークなアドレスが提供されていることを意味している。アドレスマップ３４０のアドレスは、それぞれがユニークに使用される絶対アドレスであってよく、また、第１のＳｏＣ１０１及び第２のＳｏＣ１２１において同一の絶対アドレスを使用するスレーブエージェント又は周辺コンポーネントは存在しない。従って、マスタＣＰＵエージェントは、１つのアドレスを使用することができ、また、任意の２つのエージェントが選択又は競合の対象になることなく、各アドレスがユニークであることを知ることができる。
【００５８】
各ＳｏＣ１０１、１２１は、ＳｏＣに設けられているか又はＳｏＣ上にあるデバイス又はコンポーネントについての自身の固有のシステムアドレスマップ（例えば図１の１０５及び１２５）を含むことができ、また、各ＳｏＣ１０１、１２１を相互に独立して使用することができる。相互に接続できることに応じて、ＳｏＣ１０１及び１２１は、アドレスが重複することなく又は重複していることなく、単一のシステムアドレスマップ（例えば図１の１４５）を有している単一のＳｏＣを表すことができ、またそのような単一のＳｏＣとして動作することができる。例えば、ＳｏＣ１（例えばＳｏＣ１２１）、ＳｏＣ２（例えばＳｏＣ１０１）又は両ＳｏＣにおいて使用されているオペレーションタスク又は処理タスク（例えばソフトウェアタスク又はその他のタスク）を、ＳｏＣ１又はその他のＳｏＣにおけるＣＰＵ又はその他のマスタエージェントにマッピングすることができ、その際にいずれのリコンパイル動作又はアドレスリマッピング動作も必要とされない。
【００５９】
１つのＳｏＣ（例えばＳｏＣ１）におけるマスタエージェントは、その他のＳｏＣ０にトランスパレントなインタフェース１４０’を介して接続されているスレーブエージェントとして指定されている、オンチップリソース、デバイス又はコンポーネントへの完全なアクセスを受け取るか又は取得することができ、またこれとは逆の動作を実現することもできる。従って、例えば割り当てられたタグ（例えばタグＩＤ）を介してマスタエージェントとして指定されている任意のコンポーネント又はデバイス（例えば、ＳｏＣ１２１におけるＣＰＵ）は、スレーブエージェントとして指定されており、且つ、オンチップバスシステム３０３を介してＳｏＣ１２１に局所的に設けられているか、又は、トランスパレントなインタフェース１４０’を介してその他のＳｏＣに設けられている、その他の任意のコンポーネント（例えば周辺デバイス１０〜１３、周辺デバイス００〜０３、又はその他の周辺デバイス）におけるデータにアクセスすることができるか又はそのようなデータを制御することができる。
【００６０】
別の実施の形態においては、トランスパレントなインタフェース１４０を介する割り込みノードのマッピングによって、割り込み信号を、ＳｏＣ１０１及びＳｏＣ１２１の１つ又は複数の割り込みサービスプロバイダ（例えば、ＣＰＵ又はＤＭＡのようなマスタエージェント）にルーティングするように、割り込みコンポーネント３０８をコンフィギュレートすることができる。システムにおけるアプリケーション（例えば自動車アプリケーション、ソフトウェア層、アプリケーションプロトコル層）を割り込み駆動することができ、そこではスレーブコンポーネント（例えば通信スレーブ）が、オンチップイベント（条件、閾値、インジケータ、検出イベント等）を有することができ、また、それらのオンチップイベントを、オペレーション又はアクションを実行するＣＰＵ又はＤＭＡに対するサービスリクエストの割り込みとして転送することができる。
【００６１】
従って、各ＳｏＣの割り込みシステムを、例えば割り込みコンポーネント３０８又はトランスパレントなインタフェース１４０’を介して、相互にトランスパレントに接続することができる。従って、ＳｏＣ０及びＳｏＣ１の割り込みシステムを接続することができるので、ＳｏＣ０からの割り込みを、ＳｏＣ１における割り込みサービスプロバイダ（例えばＣＰＵ、ＤＭＡ又はその他のマスタエージェント）にルーティングすることができる。割り込みコンポーネント３０８、調停コンポーネント３０６又はトランスパレントなインタフェース１４０’の調停プロセスは、続いて、ＳｏＣ１における割り込みソースと共に割り込みを調停するために動作することができ、また、勝者又は勝ちエージェントを、ＳｏＣ１における関連する割り込みサービスプロバイダに引き渡すことができ、また、それとは反対にトランスパレントなインタフェース１４０’を介して行うことができる。
【００６２】
例えば、チャネル（例えばＤＭＡチャネル）を、割り込みによってトリガすることができ、これはトランザクションを実行し、且つ、トランザクションが実行されたことを、割り込みを介してＣＰＵにシグナリングする。通信インタフェース（例えばトランスパレントなインタフェース１４０’）によって、バス又はコンポーネントがメッセージを受信すると、割り込みを周辺コンポーネント、メモリ、その他のコンポーネント（例えばＤＭＡ等）又は任意の割り込みソースに送信することができる。周辺デバイス又はスレーブエージェントは、続いて、データ又はメッセージをＣＰＵに伝送し、且つ、割り込みによってＣＰＵに、オンチップインタフェース１４０、３０１又は３０３を介して、メッセージデータをシグナリングすることができる。従って、割り込みコンポーネント３０８は、割り込みをオンチップリソース（例えばＮＶＭ、ＲＡＭ又はその他の周辺コンポーネント）にマッピングするように動作することができる。
【００６３】
例えば、使用者がオンチップリソースをフレキシブルに使用できるようにするために多数のチャネルを備えている複数のＣＰＵ／ＤＭＡによって、例えば割り込みコンポーネント３０８によって、割り込みをＣＰＵ／ＤＭＡチャネルにマッピングすることができる。これをコンフィギュレートすることができ、またＣＰＵ及びＤＭＡのチャネルへの割り込みのマッピング及びフレキシビリティを有することはいずれも有益である。従って、トランスパレントなインタフェース１４０は、周辺コンポーネントが集積されている２つ又はそれ以上の数のＳｏＣ間での共通の相互接続システムを有することを実現する。ＳｏＣ１０１、１２１のアーキテクチャの組み合わせに依存して、割り込みシステムを適合させ、多数の（例えば１２８以上の）割り込みノードの大部分を含ませることができ、更に各ハードウェアを、１つのハードウェアノードに専用の各ハードウェアイベントでもって、１つの相互接続ノードに接続することができる。割り込みコンポーネント３０８又はその他のコンポーネントが（１つ又は複数の）リクエストを、ＣＰＵチャネル又はＤＭＡチャネルのうちの一方にマッピングした結果として、ハードウェアイベントをノードに接続することができ、また、割り込みサービスプロバイダ（又はマスタエージェント）を介するサービスリクエストによってリクエストすることができ、そこではこのハードウェアイベントを、例えば優先順位番号を与えることによって、割り込みコンポーネント３０８を介してコンフィギュレートすることができる。
【００６４】
１つの例においては、サービスインタフェース（例えばインタフェース１４０）がデータを受信したときに、そのサービスインタフェースの周辺デバイスとしての解放バッファを使用することができる。このコンフィギュレーションによれば、解放バッファは、割り込みを割り込みノード（例えばソフトウェアノード又はハードウェアノードのアドレス）に送信することができる。優先順位（例えば優先順位６４）によって指定することができる例えばＣＰＵ０にこの割り込みを転送できる場合には、割り込みノードを、割り込みコンポーネント３０８によってコンフィギュレートすることができるか、又は、割り込みを例えばＤＭＡチャネル６４におけるＤＭＡに、割り込みコンポーネント３０８を介してマッピングすることができる。この割り込みシステムマッピングは、続いて、ＣＰＵ又はＤＭＡ又はその他の周辺デバイスのいずれかである各割り込みサービスプロバイダとのインタフェースを有することができる。
【００６５】
別の実施の形態においては、マスタエージェントを、アクセスセーフティコンポーネント３１０によるアクセス保護メカニズムでもって指定することができる。例えば、アクセスセーフティコンポーネント３１０は、タグ識別子（ＩＤ）、タグ付けされたデータセット又はその他のデータタグを、種々のマスタエージェント／スレーブエージェントに対して指定又は提供することができ、それらのマスタエージェント／スレーブエージェントは、その他のコンポーネント又はエージェントに、特定のコンポーネント（例えばＣＰＵ又はＤＭＡ）をマスタエージェント又はスレーブエージェントとして認識させることができる。スレーブエージェントには、割り当てられた通りにそれらのスレーブエージェントを指定するか又は対応しているタグを、任意のマスタエージェント又は特定のマスタエージェントによる使用のために、若しくは、特定の使用又はアプリケーションのために、例えば自動車システムの自動車アプリケーション又はエンジン制御ユニット（プロセッサ）のために提供することができる。例えば、タグＩＤ（又はその他の識別データ又はデータセット）を、例えば調停コンポーネント３０６による調停を介して又は割り込みコンポーネント３０８による割り込みサービスプロバイダルーチンを介して、保証されたアクセスを要求する指定されたマスタエージェント又は任意のコンポーネントを認識するために、マスタエージェント及びスレーブエージェントによって使用することができる。
【００６６】
システムアドレスマップ（例えば図１のシステムアドレスマップ１４５又はマッピングコンポーネント３０４の一部）を有しているオンチップバスシステムにおいては、マスタエージェントは、ターゲットアドレス（例えば、マスタエージェントがアクセスしたいスレーブにおけるレジスタのアドレス）を送信することによって、スレーブエージェント（例えば周辺デバイス００〜周辺デバイス１３又は付加的なコンポーネント）におけるオンチップリソースにアクセスすることができる。マスタエージェント（例えば図２のＣＰＵ０〜７）は、オンチップバストランザクションに関連するマスタエージェントを識別するユニークなマスタＴＡＧ  ＩＤと共にアドレスを送信することができる。マスタエージェントが送信したアドレスによって、スレーブエージェントを識別／選択することができる。ここで、各スレーブエージェントは、ユニークなＴＡＧを、又は、サービスが提供されるマスタエージェント又はスレーブエージェント自体を識別するその他の識別データを有することもできることを言及しておく。この識別データセット（又はスレーブタグ）は、例えばシステムアドレスマップ１４５におけるスレーブのアドレス範囲のオフセットであってよい。しかしながら、スレーブエージェントのアドレス範囲は異なる可能性があるので（例えばあるアドレス範囲は１ＫＢ、別のアドレス範囲は１２８ＫＢ）、アドレスオフセットビットの数も異なる可能性がある。
【００６７】
ＳｏＣ１０１及び１２１における全てのタグＩＤ（又は識別データセット）はユニークであると考えられ、従ってシステムアドレスマップ１４５のアドレスが重複しないのと同じように、重複は存在しない。従って、コーディングのために同一のタグＩＤ又はデータセットを使用するＳｏＣ１０１及び１２１にはマスタ機能は存在しない。例えば、各マスタコンポーネントを１つ又は複数のユニークなマスタタグＩＤでもって実現することができる。例えば、タグＩＤは、例えば６２個のコーディング又は６４個のコーディングを実現するために６ビットの値であることが考えられるが、別の数のビットも考えられる。マスタコンポーネントにバスアクセスが許可されているときにはいつでも、それがアドレスフェーズで始まっている場合には、そのフェーズの一部はマスタタグＩＤを含むことができる。スレーブエージェント側では、制御レジスタ（例えば１つ又は複数の周辺デバイス）は更に、どのアクセスタグＩＤがスレーブにアクセスできるかを求めることができる。このことは、種々のマスタエージェント（例えばＣＰＵ）又は種々のタグＩＤに対するオンチップリソース又は周辺デバイスとして複数のＣＰＵを指定できることを意味していると考えられる。このプロセス又は動作は、更に、例えばソースエンドカプセル化のために使用することができ、そこでは一方のＣＰＵがサードパーティのソフトウェアによって使用され、また、サードパーティ又はプロバイダのソフトウェアがその他のソースにアクセスできること又はアクセスできないことを保証できるが、しかしながら、タグＩＤによる許可が認められないか又は与えられない場合には、ソフトウェアが検出され実行されない。
【００６８】
そのようにして、アプリケーションソフトウェア又はアプリケーション層に依存して、特定のＣＰＵを、アプリケーションによって呼び出されたタグＩＤに依存する特定のスレーブエージェントを備えているマスタエージェントとして、アクセスセーフティコンポーネント３１０を介して使用することができる。トランスパレントなインタフェース１４０に関して、特定のタグＩＤが、１つより多くのコンポーネントによって使用される必要はないか、又は一度に１回よりも多く使用される必要はない。換言すれば、ＳｏＣ１０１におけるいずれのマスタ又はコンポーネントも、ＳｏＣ１２１におけるマスタ又はコンポーネントと同一のタグＩＤを使用しないので、トランスパレントなインタフェース１４０を介するアクセスにおいて、またタグＩＤにおいて、ＳｏＣ１０１におけるマスタ又はコンポーネントはトランスパレントである。
【００６９】
例えば、２つのＳｏＣ１０１、１２１にわたり通信する、互換性があるＳｏＣ１０１において使用されるオンチップバスプロトコルも、第２のＳｏＣにおいて使用される第２のオンチップバスプロトコルも含まれるように、トランスパレントなインタフェース１４０を介して、付加的な誤り訂正符号保護を拡張するように、アクセスセーフティコンポーネント３１０を更にコンフィギュレートすることができる。アクセスセーフティコンポーネント３１０は、例えば、付加的なＥＣＣ保護によって拡張されたオンチップインタフェース３０１及び３０３を介して、誤り訂正符号（ＥＣＣ）、誤り検出符号（ＥＤＣ）、その他の通信検査符号又はパリティ符号を拡張するように動作することができ、それによって、各ＳｏＣにおける誤り訂正符号／誤り検出符号動作が集積される。
【００７０】
例えば、このことは、マスタエージェントが一度許可されれば、これをアドレスフェーズで開始できることを意味している。このアドレスフェーズは、スレーブエージェントにマスタエージェントは何をしたいのかを知らせるオペレーションコード及びアドレスを含むことができる。アドレスフェーズは、更に、単一のデータトランザクションが存在しているか、又は、複数のデータトランザクションが存在しているか、また、幾つかの制御信号（例えば読み出し／書き込み信号）、マスタエージェントのユニークな検査識別子（ＩＤ）を含むことができ、スレーブは、どのマスタがアクセスしようとしているかを認識することができる。つまり、アクセスセーフティコンポーネント３１０は、誤り訂正符号／誤り検出符号コンポーネントであってもよいので、第１のオンチップバス３０１と第２のオンチップバス３０３との間のインタフェース１４０は、拡張されたオンチップ保護プロトコルに従い保護されており、これは、各ＳｏＣ及び両ＳｏＣにおける自動車安全性要求レベル（ＡＳＩＬ：Ａｕｔｏｍｏｔｉｖｅ  Ｓａｆｅｔｙ  Ｉｎｔｅｇｒｉｔｙ  Ｌｅｖｅｌ）安全性標準を適合することができるか又は組み込むことができる。
【００７１】
図４及び図５を参照すると、種々のＳｉＰコンフィギュレーション４００、４０２及び５００を生成するための、ＳｏＣ１０１及び１２１の種々の組み合わせの例が示されている。２つのＳｏＣ１０１及び１２１は、各システムアドレスマップにおいて、それらのＳｏＣにおけるコンポーネントへのアドレスの対応するセットを含むことができ、これは、全てのＳｏＣをカバーする一貫したシステムアドレスマップにおいて、重複又は重畳することなく若しくはリマッピングされてアドレッシングされることなく、トランスパレントに結合されるか又は集積される。例えば、ＳｉＰ又は本明細書において説明したその他の結合されたシステム（例えばＳｉＰ１００、２００又は３００）の同一のＳｏＣ（例えば、ＳｏＣ１０１又は１２１としてのダイ又はコア１）を、異なる下側のチップ（ダイ２）又はＳｏＣに集積又は接続することができるか、若しくは、異なる下側のチップを、異なるチップサイズ、異なるパッドフレーム及び／又は異なる機能を備えている異なるアプリケーションに取り付けることができる。下側のチップ（例えばＳｏＣ１０１）をスタンドアローン型の製品として使用することもできる。ダイ１を、ダイ０と共に使用することができ、また別のときにはダイ２と共に使用することができるか、又は、スタンドアローン型の製品として使用することができる。
【００７２】
本明細書内で記述した方法を図示し、また一連の動作又はイベントとして記述したが、そのような動作又はイベントの記載の順序が制限的な意味で解されるべきでないことは明らかである。例えば、図示及び／又は本明細書において説明したものとは異なり、幾つかの動作を異なる順序で実行することができる、及び／又は、その他の動作又はイベントと同時に実行することができる。更に、本明細書に記載されている１つ又は複数の態様又は実施の形態を実現するために、図示した全ての動作が必要とされるわけではない。更に、本明細書において説明した動作のうちの１つ又は複数を、１つ又は複数の別個の動作及び／又はフェーズで実行することができる。
【００７３】
図６を参照すると、本明細書において説明した種々の態様による、マルチコア型のマルチＳｏＣシステムに関する方法６００が示されている。ステップ６０２において、本方法は、第１のシステムオンチップ（ＳｏＣ）インタフェース（例えば３０１）の第１のオンチップバスプロトコルを介して、同一の基板に設けられている第１のＳｏＣ（例えばＳｏＣ１０１）の第１のコア（例えばＣＰＵ０）と１つ又は複数の周辺コンポーネントとの間で、第１の周辺コンポーネント及び第１のコアに対応する第１のアドレスを有している第１のシステムアドレスマップに基づいて通信を行うステップを有している。
【００７４】
ステップ６０４において、本方法は、第２のＳｏＣ（例えばＳｏＣ１２１）における第２のオンチップバスプロトコルを介して、第２のＳｏＣの第２のコアと、多数の第２の周辺コンポーネントのうちの１つ又は複数との間で、第２の周辺コンポーネント及び第２のコアに対応するアドレスを有している第２のシステムアドレスマップに基づいて通信を行うステップを有している。
【００７５】
ステップ６０６において、本方法は、トランスパレントなインタフェースを介して、第１のシステムアドレスマップ及び第２のシステムアドレスマップのユニークで重複しないアドレスを含んでいるシステムアドレスに基づいて、第１のＳｏＣと第２のＳｏＣとの間の通信を許可するステップを有している。
【００７６】
本方法は、また、トランスパレントなインタフェースを介して、第１のＳｏＣ及び第２のＳｏＣのマスタエージェントから、複数の第１の周辺コンポーネント又は複数の第２の周辺コンポーネントに対応するシステムアドレスマップのユニークで重複しないアドレスへのアクセス要求を調停するステップも有することができる。アクセス要求は、ハンドシェイクプロトコルを介する、例えば、第１のオンチップバスの第１の調停コンポーネントと第２のオンチップバスの第２の調停コンポーネントとの間の調停の同期を含むことができる。ハンドシェイクプロトコルに応答して、第１のＳｏＣのマスタエージェントからのアクセス要求を、第１のオンチップバスの第１の調停コンポーネントを介して、また、第２のオンチップバスの第２の調停コンポーネントを割り込み禁止状態にすることによって、調停することができる。続いて、第１のＳｏＣ及び第２のＳｏＣのマスタエージェントからのアクセス許可を結合することができ、更に調停を、トランスパレントなインタフェース（例えば１４０又は１４０’）の調停コンポーネント（例えば３０６）における全てのリクエストで行うことができる。
【００７７】
本方法は、更に、第２のＳｏＣコンポーネントに関する第２のコアを用いた、ユニークなアドレスを備えている第１のＳｏＣの第１のＮＶＭ互換コア、１つ又は複数の周辺コンポーネント及び不揮発性メモリへのアクセスを、不均一メモリアクセス（ＮＵＭＡ：Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を介して提供するステップを含むことができる。第２のコアは、第１のＳｏＣの第１のコアとは異なるテクノロジを基礎とした作製サイズ（例えばより小さいサイズ）を有することができる。例えばより小さい作製サイズによって、第２のコアは、例えば２０ｎｍ未満の作製サイズの不揮発性メモリ又はその他のコンポーネントとの互換性がなくなる可能性がある。
【００７８】
また第２のコアは、第１のコアとは異なる動作周波数で動作することが考えられる。異なる周波数を、例えばトランスパレントなインタフェース１４０を介して、相互に同期させてもよいし、異なる周波数は相互に非同期であってもよい。例えば、第１のコアは、第１のオンチップバスプロトコルを介して第１の周波数で動作するようにコンフィギュレートされている第１のＣＰＵを含むことができ、また、第２のコアは、第２のオンチップバスプロトコルを介して第１の周波数とは異なる第２の周波数で動作するようにコンフィギュレートされている第２のＣＰＵを含んでいる。従って、第１のオンチップバスシステムの第１のオンチップバスプロトコル及び第２のオンチップバスシステムの第２のオンチップバスプロトコルを、相互的に同期モードで動作させることができ、この同期モードにおいては、トランスパレントなインタフェースを介する通信に関して、トランスパレントなインタフェースを第１のオンチップバスシステム及び第２のオンチップバスシステムの両オンチップバスシステム周波数に同期させることができるか、又は、トランスパレントなインタフェースは、それらの両オンチップバスシステムのオンチップバスシステム周波数を同期させることができる。
【００７９】
また、第１のオンチップバスシステムの第１のオンチップバスプロトコル及び第２のオンチップバスシステムの第２のオンチップバスプロトコルを、相互的に非同期モードで動作するようにコンフィギュレートすることもでき、また、トランスパレントなインタフェースを、第１のオンチップバスシステム又は第２のオンチップバスシステムのいずれか一方にのみ同期させることができる。第１のオンチップバスシステムは、第１のオンチップバスシステム及び第２のオンチップバスシステムの動作に対応するクロックを発生するようにコンフィギュレートされている位相同期回路又はクロックを含むこともできる。
【００８０】
また本方法は、調停コンポーネント３０６を介して、アドレスマップのアドレスに対応する優先順位を求め、第１のＳｏＣインタフェースの第１のオンチップバスプロトコル及び第２のＳｏＣインタフェースの第２のオンチップバスプロトコルに基づいた、アドレスマップのアドレスとの通信を調停するステップも有することができる。更に本方法は、第１のＮＶＭ互換ＳｏＣ又は第２のＳｏＣコンポーネントのうちの一方から、アクセスセーフティコンポーネント３１０によって、第１のＮＶＭ互換ＳｏＣにおいて使用される第１のオンチップバスプロトコルも、第２のＳｏＣコンポーネントにおいて使用される第２のオンチップバスプロトコルも含ませるために、トランスパレントなインタフェースを介して、付加的な誤り訂正符号保護を拡張するステップを有している。更に、本方法は、割り込みコンポーネント３０８を介して、第１のＮＶＭ互換ＳｏＣ及び第２のＳｏＣコンポーネントのマスタコアプロセッサ及びスレーブプロセッサ間において、トランスパレントなインタフェースを介する割り込みノードのマッピングによって割り込み信号をルーティングするステップを有することができる。
【００８１】
要約書の記載も含めた、本明細書の図示の実施の形態の上記の説明は、開示した実施の形態が、網羅的なものであることは意図しておらず、また、開示されたまさにその形態に限定されることも意図していない。特定の実施の形態及び実施例を、本明細書において、例示を目的として説明したが、当業者であれば認識できる、そのような実施の形態及び実施例の範囲内にあるとみなせる種々の変更が可能である。これに関して、開示した主たる対象を、種々の実施の形態及び対応する適切な図面に関連させて説明したが、本発明から逸脱することなく、その他の類似の実施の形態も使用できるか、若しくは、同一の、類似の、代替的な又は置換的な機能を実行するために、開示した実施の形態を変更又は補完できると解される。従って、開示した主たる対象は、本明細書において説明したいずれかの単一の実施の形態に制限されるべきではなく、むしろ、添付の特許請求の範囲に従った範囲にあると考えられるべきである。
【００８２】
例１は、マルチチップアーキテクチャのためのシステムであって、このシステムは、第１のコア、１つ又は複数の第１の周辺コンポーネント及び第１のシステムアドレスマップを有している第１のオンチップバスシステムを含んでいる１つの基板上に設けられている第１のシステムオンチップ（ＳｏＣ）と、第２のコア、１つ又は複数の第２のオンチップ周辺コンポーネント及び第２のシステムアドレスマップを有している第２のオンチップバスシステムを含んでいる第２のＳｏＣと、トランスパレントなインタフェースと、を含んでおり、第１のオンチップバスシステムは、第１のシステムアドレスマップに基づいて第１のコアと１つ又は複数の第１の周辺コンポーネントとの間での第１のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、第２のオンチップバスシステムは、第２のコアと１つ又は複数の第２の周辺コンポーネントとの間での第２のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、また、トランスパレントなインタフェースは、第１のＳｏＣの第１のオンチップバスシステムと、第２のＳｏＣの第２のオンチップバスシステムと、が相互に通信を行うように接続されていることに応じて、ユニークで相互に重複しないアドレスを含む複数のアドレスを有している一貫したシステムアドレスマップに基づいて、それらのオンチップバスシステム間の通信を実現するようにコンフィギュレートされている。
【００８３】
例２は、例１の主たる対象を含み、第１のコアが、第１のオンチップバスプロトコルを介して、第１の周波数で動作するようにコンフィギュレートされている第１のコンピュータ処理ユニット（ＣＰＵ）を含んでおり、第２のコアが、第２のオンチップバスプロトコルを介して、第１の周波数とは異なる第２の周波数で動作するようにコンフィギュレートされている第２のＣＰＵを含んでいる。
【００８４】
例３は、いずれかの要素を包含又は省略した、例１又は例２のいずれか１つの主たる対象を含み、第１のオンチップバスシステムの第１のオンチップバスプロトコル及び第２のオンチップバスシステムの第２のオンチップバスプロトコルが、相互的に同期モードで動作するようにコンフィギュレートされており、トランスパレントなインタフェースが、第１のオンチップバスシステムのオンチップバス周波数及び第２のオンチップバスシステムのオンチップバス周波数の両方に同期されている。
【００８５】
例４は、いずれかの要素を包含又は省略した、例１から例３のいずれか１つの主たる対象を含み、第１のオンチップバスシステムの第１のオンチップバスプロトコル及び第２のオンチップバスシステムの第２のオンチップバスプロトコルが、相互的に非同期モードで動作するようにコンフィギュレートされており、トランスパレントなインタフェースが、第１のオンチップバスシステム又は第２のオンチップバスシステムのいずれか一方にのみ同期されている。
【００８６】
例５は、いずれかの要素を包含又は省略した、例１から例４のいずれか１つの主たる対象を含み、第１のオンチップバスシステムが、第１のオンチップバスシステム及び第２のオンチップバスシステムの動作に対応するクロックを発生するようにコンフィギュレートされている位相同期回路を含んでいる。
【００８７】
例６は、いずれかの要素を包含又は省略した、例１から例５のいずれか１つの主たる対象を含み、第１のＳｏＣが、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている第２のＳｏＣの第２の寸法とは異なり、且つ、１つ又は複数の第１の周辺コンポーネントのフラッシュメモリとの通信に関する互換性を実現する第１の寸法を用いる、不揮発性メモリ互換ベースのテクノロジに従いコンフィギュレートされており、トランスパレントなインタフェースが、更に、第２のオンチップバスシステムとフラッシュメモリとの間の通信を実現するようにコンフィギュレートされている。
【００８８】
例７は、いずれかの要素を包含又は省略した、例１から例６のいずれか１つの主たる対象を含み、更に、第１のＳｏＣ又は第２のＳｏＣの故障の検出に応答して、第１のＳｏＣ又は第２のＳｏＣの故障していない方のＳｏＣがトランスパレントなインタフェースを介してサブシステムを動作できるようにコンフィギュレートされているフォールバックコンポーネントを含んでいる。
【００８９】
例８は、いずれかの要素を包含又は省略した、例１から例７のいずれか１つの主たる対象を含み、第１のオンチップバスシステムは、第２のオンチップバスシステムの第２の調停コンポーネントが少なくとも部分的に割り込み禁止状態である間に、第１のＳｏＣの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第１の調停コンポーネントを含んでおり、第２の調停コンポーネントからのアクセス許可と、第１のＳｏＣの複数のマスタエージェントからのアクセス許可と、を結合する。
【００９０】
例９は、いずれかの要素を包含又は省略した、例１から例８のいずれか１つの主たる対象を含み、トランスパレントなインタフェースが、更に、第１のＳｏＣと第２のＳｏＣとの間で、ユニークで重複しないアドレスを有している、一貫したシステムアドレスマップの適用範囲をトランスパレントに拡張するように、第１のＳｏＣ及び第２のＳｏＣの誤り訂正符号／誤り検出符号を実現することによって、第１のオンチップバスプロトコルと第２のオンチップバスプロトコルとの間の保護コンポーネントを提供するようにコンフィギュレートされている。
【００９１】
例１０は、いずれかの要素を包含又は省略した、例１から例９のいずれか１つの主たる対象を含み、第１のオンチップバスシステムが、第２のＳｏＣにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、トランスパレントなインタフェースを介して第２のオンチップバスシステムの第２の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第１の割り込みコンポーネントを含んでいる。
【００９２】
例１１は、いずれかの要素を包含又は省略した、例１から例１０のいずれか１つの主たる対象を含み、第１のオンチップバスシステム及び第２のオンチップバスシステムが、１つ又は複数のユニークなタグ識別子（ＩＤ）を１つ又は複数のマスタエージェントに割り当てるようにコンフィギュレートされている１つ又は複数のアクセス保護コンポーネントを含んでおり、１つ又は複数のユニークなタグＩＤによって、スレーブエージェントが対応するマスタエージェントを識別することができ、更に、１つ又は複数のユニークなタグＩＤに基づいて、トランスパレントなインタフェースを介して、１つ又は複数の第１のオンチップ周辺コンポーネント若しくは１つ又は複数の第２のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる。
【００９３】
例１２は、システムのための方法であり、この方法は、第１のシステムオンチップ（ＳｏＣ）における第１のオンチップバスを介して、同一の基板に設けられている、第１のコアと、多数ある第１の周辺コンポーネントのうちの１つ又は複数の周辺コンポーネントと、の間で、複数の第１の周辺コンポーネント及び第１のコアに対応する第１のアドレスを有している第１のシステムアドレスマップに基づいて通信を行うステップと、第２のＳｏＣにおける第２のオンチップバスを介して、第２のＳｏＣの第２のコアと、多数ある第２の周辺コンポーネントのうちの１つ又は複数の周辺コンポーネントと、の間で、複数の第２の周辺コンポーネント及び第２のコアに対応するアドレスを有している第２のシステムアドレスマップに基づいて通信を行うステップと、トランスパレントなインタフェースを介して、第１のシステムアドレスマップ及び第２のシステムアドレスマップのユニークで重複しないアドレスを含んでいるシステムアドレスに基づいて、第１のＳｏＣと第２のＳｏＣとの間の通信を実現するステップと、を有している。
【００９４】
例１３は、例１２の主たる対象を含み、更に、トランスパレントなインタフェースを介して、第１のＳｏＣ及び第２のＳｏＣのマスタエージェントから、複数の第１の周辺コンポーネント又は複数の第２の周辺コンポーネントに対応するシステムアドレスマップのユニークで重複しないアドレスへのアクセス要求を調停するステップを有している。
【００９５】
例１４は、いずれかの要素を包含又は省略した、例１２又は例１３のいずれか１つの主たる対象を含み、アクセス要求の調停が、更に、ハンドシェイクプロトコルを介して、第１のオンチップバスの第１の調停コンポーネントと第２のオンチップバスの第２の調停コンポーネントとの間の調停を同期させるステップと、ハンドシェイクプロトコルに応答して、第１のオンチップバスの第１の調停コンポーネントを介して、第１のＳｏＣのマスタエージェントからのアクセス要求を調停し、第２のオンチップバスの第２の調停コンポーネントを割り込み禁止状態にするステップと、第１のＳｏＣのマスタエージェントからのアクセス許可及び第２のＳｏＣのマスタエージェントからのアクセス許可を結合するステップと、を有している。
【００９６】
例１５は、いずれかの要素を包含又は省略した、例１２から例１４のいずれか１つの主たる対象を含み、更に、第１のオンチップバスによって使用される第１のオンチップバスプロトコル及び第２のオンチップバスによって使用される第２のオンチップバスプロトコルの両オンチップバスプロトコルを含むように、トランスパレントなインタフェースを介して、誤り訂正符号保護／誤り検出符号保護を拡張するステップを有している。
【００９７】
例１６は、いずれかの要素を包含又は省略した、例１２から例１５のいずれか１つの主たる対象を含み、更に、第１のコアを１つ又は複数の第１のコンピュータ処理ユニットと共に動作させ、第２のコアを、第１のコンピュータ処理ユニットとは異なる動作周波数を有している１つ又は複数の第２のコンピュータ処理ユニットと共に動作させるステップを有している。
【００９８】
例１７は、いずれかの要素を包含又は省略した、例１２から例１６のいずれか１つの主たる対象を含み、更に、第１のＳｏＣの寸法よりも小さく、且つ、第２のオンチップバスを第２のＳｏＣにおけるいずれの不揮発性メモリとも非互換性にする寸法を有している第２のＳｏＣから、第１のＳｏＣにおける複数の第１の周辺コンポーネントの不揮発性メモリへの通信をトランスパレントなインタフェースを介して実現するステップを有している。
【００９９】
例１８は、マルチチップアーキテクチャのための装置であり、この装置は、第１のシステムオンチップ（ＳｏＣ）及びトランスパレントなインタフェースを含んでおり、第１のＳｏＣは、１つの基板上に第１のコア及び１つ又は複数の第１の周辺コンポーネントを有しており、また、第１のオンチップバスの第１のオンチップバスプロトコルを介して、第１のコア及び１つ又は複数の第１の周辺コンポーネントに対応する第１の複数のアドレスを有している第１のシステムマップに基づいて、第１のコアと１つ又は複数の周辺コンポーネントとの間の通信を実現するようにコンフィギュレートされており、トランスパレントなインタフェースは、第１のオンチップバスと第２のＳｏＣの第２のオンチップバスとが相互に接続された場合に、第１のオンチップバスと第２のオンチップバスとの間の通信を、第１のコア、１つ又は複数の周辺コンポーネント、第２のＳｏＣの第２のコア及び第２のＳｏＣの１つ又は複数の第２の周辺コンポーネントに対応するユニークで重複しないアドレスを含んでいる一貫したシステムアドレスマップに基づいて実現するようにコンフィギュレートされており、第２のコア及び１つ又は複数の第２の周辺コンポーネントは、第２のシステムマップに基づいて、第２のオンチップバスを介して相互に通信を行うようにコンフィギュレートされている。
【０１００】
例１９は、いずれかの要素を包含又は省略した、例１８の主たる対象を含み、第１のオンチップバスシステムは、第２のオンチップバスシステムの第２の調停コンポーネントが少なくとも部分的に割り込み禁止状態である間に、第１のＳｏＣの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第１の調停コンポーネントを含んでおり、スレーブエージェントへのアクセスに関して勝者となった許可を特定するために、第２の調停コンポーネントからのアクセス許可と、第１のＳｏＣの複数のマスタエージェントからのアクセス許可と、を結合する。
【０１０１】
例２０は、いずれかの要素を包含又は省略した、例１８又は例１９の主たる対象を含み、第１のＳｏＣ及び第２のＳｏＣが、同一の基板において相互に接続されており、第１のＳｏＣ又は第２のＳｏＣのうちの一方が、物理的な接続パッドを含んでおり、第１のＳｏＣ又は第２のＳｏＣのうちの他方が、物理的な接続パッドを含んでおらず、物理的な接続パッドを介して、外部コンポーネントと通信するようにコンフィギュレートされている。
【０１０２】
例２１は、いずれかの要素を包含又は省略した、例１８から例２０のいずれか１つの主たる対象を含み、トランスパレントなインタフェースが、第１のＳｏＣと第２のＳｏＣとの間の通信の同期を制御するために、第１のＳｏＣ又は第２のＳｏＣの一方に設けられている単一の位相同期回路を使用する。
【０１０３】
例２２は、いずれかの要素を包含又は省略した、例１８から例２１のいずれか１つの主たる対象を含み、トランスパレントなインタフェースが、第２のオンチップバスシステムと、第１のＳｏＣの１つ又は複数の第１の周辺コンポーネントのフラッシュメモリと、の間の通信を実現するようにコンフィギュレートされており、第１のＳｏＣが、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている第２のＳｏＣのより小さい寸法よりも大きく、且つ、１つ又は複数の第１の周辺コンポーネントのフラッシュメモリとの通信を実現する寸法を用いる、不揮発性メモリ互換ベースのテクノロジに従いコンフィギュレートされている。
【０１０４】
例２３は、いずれかの要素を包含又は省略した、例１８から例２２のいずれか１つの主たる対象を含み、第１のオンチップバスシステム及び第２のオンチップバスシステムが、１つ又は複数のユニークなタグ識別子（ＩＤ）を１つ又は複数のマスタに割り当てるようにコンフィギュレートされている１つ又は複数のアクセス保護コンポーネントを含んでおり、１つ又は複数のユニークなタグＩＤによって、スレーブエージェントが、対応するマスタエージェントを識別することができ、更に、１つ又は複数のユニークなタグＩＤに基づいて、トランスパレントなインタフェースを介して、１つ又は複数の第１のオンチップ周辺コンポーネント若しくは１つ又は複数の第２のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる。
【０１０５】
例２４は、いずれかの要素を包含又は省略した、例１８から例２３のいずれか１つの主たる対象を含み、第１のオンチップバスシステムが、第２のＳｏＣにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、トランスパレントなインタフェースを介して第２のオンチップバスシステムの第２の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第１の割り込みコンポーネントを含んでいる。
【０１０６】
例２５は、いずれかの要素を包含又は省略した、例１８から例２４のいずれか１つの主たる対象を含み、第１のＳｏＣが更に、１つ又は複数の割り込みトリガを１つ又は複数の専用割り込みトリガコネクションを介して、第２のＳｏＣにおける割り込みサービスプロバイダにシグナリングするようにコンフィギュレートされている。
【０１０７】
特に、上述のコンポーネント又は構造（アセンブリ、デバイス、回路、システム等）によって実行される種々の機能に関して、そのようなコンポーネントを説明するために使用した種々の用語（「手段」の参照も含む）は、別個に記載がない限りは、たとえ本明細書における本発明の図示の実施例において機能を実行する上述の構造と構造的に等価でない場合であっても、（例えば機能的に等価である）説明したコンポーネントの特定の機能を実行するいずれかのコンポーネント又は構造に対応することが意図されている。更に、特定の特徴を、種々の実施の形態のうちの１つについてのみ関連させて開示したが、そのような特徴を、所望のように、また、いずれかの所定の又は特定の用途にとって有利であるように、その他の実施の形態の１つ又は複数の別の特徴と組み合わせることができる。
【図１】
2019036360.tif 000003
【図２】
2019036360.tif 000004
【図３】
2019036360.tif 000005
【図４】
2019036360.tif 000006
【図５】
2019036360.tif 000007
【図６】
2019036360.tif 000008
【手続補正書】
【提出日】平成30年11月8日(2018.11.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチチップアーキテクチャのためのシステムにおいて、
前記システムは、第１のシステムオンチップ（ＳｏＣ）と、第２のＳｏＣと、トランスパレントなインタフェースと、を含んでおり、
前記第１のＳｏＣは、１つの基板上に設けられており、且つ、第１のコアと、１つ又は複数の第１の周辺コンポーネントと、第１のシステムアドレスマップを有している第１のオンチップバスシステムと、を含んでおり、前記第１のオンチップバスシステムは、前記第１のシステムアドレスマップに基づいて前記第１のコアと前記１つ又は複数の第１の周辺コンポーネントとの間での第１のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、
前記第２のＳｏＣは、第２のコアと、１つ又は複数の第２のオンチップ周辺コンポーネントと、第２のシステムアドレスマップを有している第２のオンチップバスシステムと、を含んでおり、前記第２のオンチップバスシステムは、前記第２のコアと前記１つ又は複数の第２の周辺コンポーネントとの間での第２のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、
前記トランスパレントなインタフェースは、前記第１のＳｏＣの前記第１のオンチップバスシステムと、前記第２のＳｏＣの前記第２のオンチップバスシステムと、が相互に通信を行うように接続されていることに応じて、ユニークで相互に重複しないアドレスを含む複数のアドレスを有している一貫したシステムアドレスマップに基づいて、前記第１のオンチップバスシステムと前記第２のオンチップバスシステムとの間の通信を実現するようにコンフィギュレートされており、
前記第１のオンチップバスプロトコル及び前記第２のオンチップバスプロトコルは、同一のバスプロトコルである、
ことを特徴とする、システム。
【請求項２】
前記第１のコアは、前記第１のオンチップバスプロトコルを介して、第１の周波数で動作するようにコンフィギュレートされている第１のコンピュータ処理ユニット（ＣＰＵ）を含んでおり、
前記第２のコアは、前記第２のオンチップバスプロトコルを介して、前記第１の周波数とは異なる第２の周波数で動作するようにコンフィギュレートされている第２のＣＰＵを含んでいる、
請求項１に記載のシステム。
【請求項３】
前記第１のオンチップバスシステムの前記第１のオンチップバスプロトコル及び前記第２のオンチップバスシステムの前記第２のオンチップバスプロトコルは、相互的に同期モードで動作するようにコンフィギュレートされており、
前記トランスパレントなインタフェースは、前記第１のオンチップバスシステムのオンチップバス周波数及び前記第２のオンチップバスシステムのオンチップバス周波数の両方に同期されている、
請求項１に記載のシステム。
【請求項４】
前記第１のオンチップバスシステムの前記第１のオンチップバスプロトコル及び前記第２のオンチップバスシステムの前記第２のオンチップバスプロトコルは、相互的に非同期モードで動作するようにコンフィギュレートされており、
前記トランスパレントなインタフェースは、前記第１のオンチップバスシステム又は前記第２のオンチップバスシステムのいずれか一方にのみ同期されている、
請求項１に記載のシステム。
【請求項５】
前記第１のオンチップバスシステムは、前記第１のオンチップバスシステム及び前記第２のオンチップバスシステムの動作に対応するクロックを発生するようにコンフィギュレートされている位相同期回路を含んでいる、
請求項１に記載のシステム。
【請求項６】
前記第１のＳｏＣは、第１の微細化寸法を有する第１の不揮発性メモリを有し、
前記第２のＳｏＣは、第２の微細化寸法を有する第２の不揮発性メモリを有し、
前記第１のＳｏＣは、前記第２の微細化寸法とは異なる前記第１の微細化寸法を用いるテクノロジに従いコンフィギュレートされており、
前記トランスパレントなインタフェースは、更に、前記第２のオンチップバスシステムと前記第１の不揮発性メモリとの間の通信を実現するようにコンフィギュレートされている、
請求項１に記載のシステム。
【請求項７】
更に、前記第１のＳｏＣ又は前記第２のＳｏＣの故障の検出に応答して、前記第１のＳｏＣ又は前記第２のＳｏＣの故障していない方のＳｏＣが前記トランスパレントなインタフェースを介してサブシステムを動作できるようにコンフィギュレートされているフォールバックコンポーネントを含んでいる、
請求項１に記載のシステム。
【請求項８】
前記第１のオンチップバスシステムは、前記第２のオンチップバスシステムの第２の調停コンポーネントが少なくとも部分的に割り込み禁止状態である間に、前記第１のＳｏＣの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第１の調停コンポーネントを含んでおり、前記第２の調停コンポーネントからのアクセス許可と、前記第１のＳｏＣの前記複数のマスタエージェントからのアクセス許可と、を結合し、さらなる調停を、前記トランスパレントなインタフェースで行う、
請求項１に記載のシステム。
【請求項９】
前記トランスパレントなインタフェースは、更に、前記第１のＳｏＣと前記第２のＳｏＣとの間で、前記ユニークで重複しないアドレスを有している前記一貫したシステムアドレスマップの適用範囲を拡張するように、前記第１のＳｏＣ及び前記第２のＳｏＣの誤り訂正符号／誤り検出符号を実現することによって、前記第１のオンチップバスプロトコルと前記第２のオンチップバスプロトコルとの間の保護コンポーネントを提供するようにコンフィギュレートされている、
請求項１に記載のシステム。
【請求項１０】
前記第１のオンチップバスシステムは、前記第２のＳｏＣにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、前記トランスパレントなインタフェースを介して前記第２のオンチップバスシステムの第２の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第１の割り込みコンポーネントを含んでいる、
請求項１に記載のシステム。
【請求項１１】
前記第１のオンチップバスシステム及び前記第２のオンチップバスシステムは、１つ又は複数のユニークなタグ識別子（ＩＤ）を１つ又は複数のマスタエージェントに割り当てるようにコンフィギュレートされている１つ又は複数のアクセス保護コンポーネントを含んでおり、
前記１つ又は複数のユニークなタグＩＤによって、スレーブエージェントは、対応するマスタエージェントを識別することができ、更に、前記１つ又は複数のユニークなタグＩＤに基づいて、前記トランスパレントなインタフェースを介して、前記１つ又は複数の第１のオンチップ周辺コンポーネント若しくは前記１つ又は複数の第２のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる、
請求項１に記載のシステム。
【請求項１２】
システムのための方法において、
前記方法は、
第１のオンチップバスプロトコルを用いて、第１のシステムオンチップ（ＳｏＣ）における第１のオンチップバスを介して、同一の基板に設けられている、第１のコアと、複数の第１の周辺コンポーネントのうちの１つ又は複数の周辺コンポーネントと、の間で、前記複数の第１の周辺コンポーネント及び前記第１のコアに対応する第１のアドレスを有している第１のシステムアドレスマップに基づいて通信を行うステップと、
第２のオンチップバスプロトコルを用いて、第２のＳｏＣにおける第２のオンチップバスを介して、前記第２のＳｏＣの第２のコアと、複数の第２の周辺コンポーネントのうちの１つ又は複数の周辺コンポーネントと、の間で、前記複数の第２の周辺コンポーネント及び前記第２のコアに対応するアドレスを有している第２のシステムアドレスマップに基づいて通信を行うステップと、
トランスパレントなインタフェースを介して、前記第１のシステムアドレスマップ及び前記第２のシステムアドレスマップのユニークで重複しないアドレスを含んでいるシステムアドレスに基づいて、前記第１のＳｏＣと前記第２のＳｏＣとの間の通信を実現するステップと、
を有しており、
前記第１のオンチップバスプロトコル及び前記第２のオンチップバスプロトコルは、同一のバスプロトコルである、
ことを特徴とする、方法。
【請求項１３】
更に、前記トランスパレントなインタフェースを介して、前記第１のＳｏＣ及び前記第２のＳｏＣのマスタエージェントから、前記複数の第１の周辺コンポーネント又は前記複数の第２の周辺コンポーネントに対応する前記システムアドレスマップの前記ユニークで重複しないアドレスへのアクセス要求を調停するステップを有している、
請求項１２に記載の方法。
【請求項１４】
前記アクセス要求の前記調停が、更に、
ハンドシェイクプロトコルを介して、前記第１のオンチップバスの第１の調停コンポーネントと前記第２のオンチップバスの第２の調停コンポーネントとの間の調停を同期させるステップと、
前記ハンドシェイクプロトコルに応答して、前記第１のオンチップバスの前記第１の調停コンポーネントを介して、前記第１のＳｏＣの前記マスタエージェントからのアクセス要求を調停し、前記第２のオンチップバスの第２の調停コンポーネントを割り込み禁止状態にするステップと、
前記第１のＳｏＣのマスタエージェントからのアクセス許可及び前記第２のＳｏＣのマスタエージェントからのアクセス許可を結合し、さらなる調停を、前記トランスパレントなインタフェースで行うステップと、
を有している、
請求項１３に記載の方法。
【請求項１５】
更に、前記第１のオンチップバスによって使用される第１のオンチップバスプロトコル及び前記第２のオンチップバスによって使用される第２のオンチップバスプロトコルの両オンチップバスプロトコルを含むように、前記トランスパレントなインタフェースを介して、誤り訂正符号保護／誤り検出符号保護を拡張するステップを有している、
請求項１２に記載の方法。
【請求項１６】
更に、前記第１のコアを１つ又は複数の第１のコンピュータ処理ユニットと共に動作させ、前記第２のコアを、前記第１のコンピュータ処理ユニットとは異なる動作周波数を有している１つ又は複数の第２のコンピュータ処理ユニットと共に動作させるステップを有している、
請求項１２に記載の方法。
【請求項１７】
前記第１のＳｏＣは、第１の微細化寸法を有する第１の不揮発性メモリを有し、
前記第２のＳｏＣは、第２の微細化寸法を有する第２の不揮発性メモリを有し、
前記方法は、更に、前記第１の微細化寸法よりも小さい前記第２の微細化寸法を有している前記第２のＳｏＣから、前記第１の不揮発性メモリへの通信を前記トランスパレントなインタフェースを介して実現するステップを有している、
請求項１２に記載の方法。
【請求項１８】
マルチチップアーキテクチャのための装置において、
前記装置は、第１のシステムオンチップ（ＳｏＣ）及びトランスパレントなインタフェースを含んでおり、
前記第１のＳｏＣは、１つの基板上に第１のコア及び１つ又は複数の第１の周辺コンポーネントを有しており、且つ、第１のオンチップバスの第１のオンチップバスプロトコルを介して、前記第１のコア及び前記１つ又は複数の第１の周辺コンポーネントに対応する第１の複数のアドレスを有している第１のシステムマップに基づいて、前記第１のコアと前記１つ又は複数の第１の周辺コンポーネントとの間の通信を実現するようにコンフィギュレートされており、
前記トランスパレントなインタフェースは、前記第１のオンチップバスと第２のＳｏＣの第２のオンチップバスとが相互に接続された場合に、前記第１のオンチップバスと前記第２のオンチップバスとの間の通信を、前記第１のコア、前記１つ又は複数の第１の周辺コンポーネント、前記第２のＳｏＣの第２のコア及び前記第２のＳｏＣの１つ又は複数の第２の周辺コンポーネントに対応するユニークで重複しないアドレスを含んでいる一貫したシステムアドレスマップに基づいて実現するようにコンフィギュレートされており、前記第２のコア及び前記１つ又は複数の第２の周辺コンポーネントは、第２のシステムマップに基づいて、前記第２のオンチップバスを介して相互に通信を行うようにコンフィギュレートされており
前記第１のオンチップバスプロトコル及び前記第２のオンチップバスプロトコルは、同一のバスプロトコルである、
ことを特徴とする、装置。
【請求項１９】
前記第１のオンチップバスは、前記第２のオンチップバスの第２の調停コンポーネントが少なくとも部分的に割り込み禁止状態である間に、前記第１のＳｏＣの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第１の調停コンポーネントを含んでおり、前記第１のオンチップバスは、スレーブエージェントへのアクセスに関して勝者となった許可を特定するために、前記第２の調停コンポーネントからのアクセス許可と、前記第１のＳｏＣの前記複数のマスタエージェントからのアクセス許可と、を結合し、さらなる調停を、前記トランスパレントなインタフェースで行う、
請求項１８に記載の装置。
【請求項２０】
前記第１のＳｏＣ及び前記第２のＳｏＣは、同一の基板において相互に接続されており、前記第１のＳｏＣ又は前記第２のＳｏＣのうちの一方が、物理的な接続パッドを含んでおり、前記第１のＳｏＣ又は前記第２のＳｏＣのうちの他方が、物理的な接続パッドを含んでおらず、前記物理的な接続パッドを介して、外部コンポーネントと通信するようにコンフィギュレートされている、
請求項１８に記載の装置。
【請求項２１】
前記トランスパレントなインタフェースは、前記第１のＳｏＣと前記第２のＳｏＣとの間の通信の同期を制御するために、前記第１のＳｏＣ又は前記第２のＳｏＣの一方に設けられている単一の位相同期回路を使用する、
請求項１８に記載の装置。
【請求項２２】
前記第１のＳｏＣは、第１の微細化寸法を有する第１の不揮発性メモリを有し、
前記第２のＳｏＣは、第２の微細化寸法を有する第２の不揮発性メモリを有し、
前記トランスパレントなインタフェースは、前記第２のオンチップバスと、前記第１の不揮発性メモリと、の間の通信を実現するようにコンフィギュレートされており、
前記第１のＳｏＣは、前記第２の微細化寸法よりも大きい前記第１の微細化寸法を用いるテクノロジに従いコンフィギュレートされている、
請求項１８に記載の装置。
【請求項２３】
前記第１のオンチップバス及び前記第２のオンチップバスは、１つ又は複数のユニークなタグ識別子（ＩＤ）を１つ又は複数のマスタに割り当てるようにコンフィギュレートされている１つ又は複数のアクセス保護コンポーネントを含んでおり、
前記１つ又は複数のユニークなタグＩＤによって、スレーブエージェントは、対応するマスタエージェントを識別することができ、更に、前記１つ又は複数のユニークなタグＩＤに基づいて、前記トランスパレントなインタフェースを介して、前記１つ又は複数の第１のオンチップ周辺コンポーネント若しくは前記１つ又は複数の第２のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる、
請求項１８に記載の装置。
【請求項２４】
前記第１のオンチップバスは、前記第２のＳｏＣにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、前記トランスパレントなインタフェースを介して前記第２のオンチップバスの第２の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第１の割り込みコンポーネントを含んでいる、
請求項１８に記載の装置。
【請求項２５】
前記第１のＳｏＣは、更に、１つ又は複数の割り込みトリガを１つ又は複数の専用割り込みトリガコネクションを介して、前記第２のＳｏＣにおける割り込みサービスプロバイダにシグナリングするようにコンフィギュレートされている、
請求項２４に記載の装置。
【外国語明細書】
2019036360.tif 000009
2019036360.tif 000010
2019036360.tif 000011
2019036360.tif 000012
2019036360.tif 000013
2019036360.tif 000014
2019036360.tif 000015
2019036360.tif 000016
2019036360.tif 000017
2019036360.tif 000018
2019036360.tif 000019
2019036360.tif 000020
2019036360.tif 000021
2019036360.tif 000022
2019036360.tif 000023
2019036360.tif 000024
2019036360.tif 000025
2019036360.tif 000026
2019036360.tif 000027
2019036360.tif 000028
2019036360.tif 000029
2019036360.tif 000030
2019036360.tif 000031
2019036360.tif 000032
2019036360.tif 000033
2019036360.tif 000034
2019036360.tif 000035
2019036360.tif 000036
2019036360.tif 000037
2019036360.tif 000038
2019036360.tif 000039
2019036360.tif 000040
2019036360.tif 000041
2019036360.tif 000042
2019036360.tif 000043
2019036360.tif 000044
2019036360.tif 000045
2019036360.tif 000046
2019036360.tif 000047
2019036360.tif 000048
2019036360.tif 000049
2019036360.tif 000050
2019036360.tif 000051
2019036360.tif 000052
2019036360.tif 000053
2019036360.tif 000054
2019036360.tif 000055
2019036360.tif 000056
2019036360.tif 000057
2019036360.tif 000058