JP2017199371A - ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ - Google Patents

ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ Download PDF

Info

Publication number
JP2017199371A
JP2017199371A JP2017090089A JP2017090089A JP2017199371A JP 2017199371 A JP2017199371 A JP 2017199371A JP 2017090089 A JP2017090089 A JP 2017090089A JP 2017090089 A JP2017090089 A JP 2017090089A JP 2017199371 A JP2017199371 A JP 2017199371A
Authority
JP
Japan
Prior art keywords
soc
chip bus
chip
component
peripheral components
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017090089A
Other languages
English (en)
Other versions
JP6436512B2 (ja
Inventor
ヘルヴィヒ フランク
Hellwig Frank
ヘルヴィヒ フランク
アルブレヒト マイアー
Albrecht Mayer
マイアー アルブレヒト
シェーパース イェアク
Schepers Joerg
シェーパース イェアク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of JP2017199371A publication Critical patent/JP2017199371A/ja
Priority to JP2018210728A priority Critical patent/JP6895939B2/ja
Application granted granted Critical
Publication of JP6436512B2 publication Critical patent/JP6436512B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

【課題】可変の互換性を備えている種々のシステムオンチップ(SoC)システムが、トランスパレントなインタフェースを介して、1つのSoCとして対話することができる、マルチチップアーキテクチャのためのシステムを提供する。
【解決手段】システム100において、2つのSoC101、121がトランスパレントなインタフェースを介して相互に接続されたときに、アドレスが重複することなく又はアドレスのリマッピングが行われることなく、2つのSoCのシステムアドレスマップを各SoCが提供するように、単一のSoCのシステムアドレスマップがコンフィギュレートされている。トランスパレントなインタフェースによって、マルチチップシステム内の第1のSoC及び第2のSoCの安全性/セキュリティ及び割り込み通信に関連するコンポーネントは、トランスパレントに通信及び対話することができる。
【選択図】図1

Description

本発明は、マイクロコントローラに関し、より詳細には、マイクロコントローラファミリのハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップ(SoC)アーキテクチャに関する。
コンピュータシステムは、人間の生命を依存させることができる機能が委ねられているアプリケーションにますます使用されるようになっている。そのような安全性に関連するコンピュータシステムを、医療機器、自動車におけるアンチロック・ブレーキ・システム、原子力プラントのシャットダウンシステム等に実装することができる。安全性に関連するコンピュータシステムを、そのシステムの動作を検知し、且つ、起こり得る危険な状況に対して、人間の能力では到底及ばない速度及び信頼性で反応するようにコンフィギュレートされているセンサに接続することができる。従って、安全性に関連するコンピュータシステムにおいては、ハードウェアベースの故障は許容されず、またそのようなあらゆる故障を適時に検出することが重要である。
今日のマルチSoCシステムは、スタック状に実装されている及び/又は1つの基板上に実装されている独立した複数のSoCを基礎としており、シリアルインタフェース又はパラレルインタフェースを介して接続されて、1つの複雑な製品を形成している。各SoCは、システムリソースへのアクセスを提供する自身の固有のシステムアドレスマップを備えている、自身の固有の/別個のSoCアーキテクチャを表している。内部ダイ通信(データ伝送)用のインタフェースは、一方のSoCから他方のSoCへのトランスパレントなアクセスを提供せず、このことは、アドレスのリマッピングが要求されることを意味している。
種々の実施の形態による、トランスパレントな相互接続部を備えている、マルチダイにおけるSoCアーキテクチャを表すブロック図を示す。 種々の実施の形態による、トランスパレントな相互接続部を備えているマルチダイにおけるSoCアーキテクチャの別の例を表すブロック図を示す。 種々の実施の形態による、トランスパレントな相互接続部を備えているマルチダイにおけるSoCアーキテクチャの別の例を表すブロック図を示す。 種々の実施の形態による、トランスパレントな相互接続部を備えているマルチダイにおけるSoCアーキテクチャの別の例を表す付加的なブロック図を示す。 種々の実施の形態による、トランスパレントな相互接続部を備えているマルチダイにおけるSoCアーキテクチャの別の例を表す付加的なブロック図を示す。 種々の実施の形態による、マルチダイにおけるマルチコア型のSoCアーキテクチャに関するフローチャートを示す。
以下では、本発明を添付の図面を参照しながら説明する。図面全体を通して、類似の参照番号は、類似の構成要素を参照するために用いられており、また、図示されている構造及びデバイスは必ずしも縮尺通りに描かれたものではない。本明細書において使用されているように、用語「コンポーネント」、「システム」、「インタフェース」、「相互接続部」等は、コンピュータに関連するエンティティ、ハードウェア、ソフトウェア(例えば、実行中)及び/又はファームウェアを参照することを意図している。例えば、それらの用語、例えば「コンポーネント」は、回路、プロセッサ、プロセッサにおいて実行されているプロセス、コントローラ、オブジェクト、実行可能なプログラム、ストレージデバイス、コンピュータ、タブレットPC及び/又は処理装置を備えているモバイルデバイス(例えば電話等)であってよい。実例として、サーバにおいて実行されているアプリケーション及びサーバがコンポーネントであってもよい。1つ又は複数のコンポーネントが、プロセス内に存在していてもよく、また、コンポーネントを1つのコンピュータに局所的に設けることができる、及び/又は、2つ又はそれ以上のコンポーネント間に分散させて設けることができる。本明細書において一連の構成要素又は一連のその他のコンポーネントについて説明するが、ここで「一連の」という語句は「1つ又は複数の」と解してもよい。
更に、それらのコンポーネントを、例えば種々のデータ構造が記憶されている、例えばモジュールを有している種々のコンピュータ可読記憶媒体から実行することができる。
別の例として、コンポーネントは、電気回路又は電子回路によって駆動される機械的な部分によって提供される特定の機能を備えている装置であってよく、この装置において電気回路又は電子回路を、1つ又は複数のプロセッサによって実行されるソフトウェアアプリケーション又はファームウェアアプリケーションによって駆動させることができる。1つ又は複数のプロセッサは、装置内に設けられていても装置外に設けられていてもよく、また、ソフトウェアアプリケーション又はファームウェアアプリケーションの少なくとも一部を実行することができる。更に別の例として、コンポーネントは、機械的な部分を備えていない電子コンポーネントを介して特定の機能を提供する装置であってよい。つまり、電子コンポーネントは1つ又は複数のプロセッサを含んで、少なくとも部分的に電子コンポーネントの機能を提供するソフトウェア及び/又はファームウェアを実行することができる。
「具体例」という単語の使用は、コンセプトを具体的に表すことが意図されている。本明細書において使用されているように、用語「又は」は、排他的論理和の意味での「又は」を意味しているのではなく、むしろ包含的論理和の意味での「又は」を意味することが意図されている。つまり、別個の記載がない限り又はコンテキストから明らかでない限り、「XはA又はBを使用する」は、自然で包含的な入れ替えのいずれかを意味することが意図されている。つまり、XはAを使用する、XはBを使用する、又はXはA及びBの両方を使用する、という場合、「XはA又はBを使用する」は、それらの例のいずれかを満たしている。更に、本明細書及び添付の特許請求の範囲において使用されている「1つの〜」及び「ある〜」の語句は、別個の記載がない限り又はコンテキストから明らかでない限り、一般的に「1つ又は複数」を意味していると解するべきである。更に、用語「含んでいる」、「含む」、「有している」、「有する」、「備えている」又はそれらの異型が詳細な説明及び特許請求の範囲において使用されている限りは、それらの用語はいわば用語「包含している」に類似する表現を含むことが意図されている。
概要
大きいダイナミックレンジ、低出力及び内部操作性を備えているコンポーネントを機能させるためのディジタルシステム(例えば自動車システム)の上述の定義又は必要性を考慮して、プロセッサ(又はマイクロプロセッサ)、別個の又は独立したシステムオンチップ(SoC)を備えているマルチダイシステムは、種々の周辺コンポーネント(例えばフラッシュメモリのような不揮発性メモリ(NVM)、ダイレクトメモリアクセスコンポーネント、その他の回路素子/回路コンポーネント又はその他の実装テクノロジ)を有することができる。フラッシュメモリのようなそれらの周辺コンポーネントを、例えば130又は250ナノメートルデバイスとして作製することができる。このテクノロジを備えているデバイスは、入力/出力及びアナログ/ディジタル変換器のようなアナログ機能のためのより高い電圧(例えば自動車設計における標準I/O電圧である5V)もサポートすることができる。より小さい作製スケールでのフラッシュメモリの作製は困難であるので、フラッシュメモリセル用のテクノロジは、常に費用対効果のあるものではないか、又は、より小さくすることを実現できるものはない。従って、新たなテクノロジのコストに起因して、メモリセルに関するコストが上昇する可能性がある。新たなテクノロジが考慮される場合であっても、(例えば、対応するダイ周辺コンポーネントとしての、又は、チップ上にコアプロセッサが実装されているものとしての)論理コンポーネント及びFRAMコンポーネントをより小さく作製することができるが、しかしながら、フラッシュコンポーネント又はNVMコンポーネントに対しては同一の問題が課される可能性がある。以前は、性能(即ちクロック速度)に関して大きいゲインが得られようとされていたが、しかしながら、この特定の領域は成長に関して余り勢いのあるものではなく、その結果、マイクロコントローラがコンフィギュレート及び要求されるやり方が変更された。そのようにして、大きい不揮発性メモリを有していないマイクロコントローラを、依然としてフラッシュメモリに互換性があるように作製できているが、しかしながら、より高い性能速度を有しているが、互換性はないマイクロコントローラに関しては、新たな解決手段が考えられている。
従って、1つの例においては、システムは、対応するSoCを備えているマルチダイを含むことができ、各SoCは通信又はシグナリングを管理することができるオンチップバスシステムを有している。例えば、第1のオンチップバスシステムは、1つ又は複数の第1のコアに通信するように接続されている周辺コンポーネントとの通信を制御する又は容易にするオンチップバスを含むことができる。トランスパレントなインタフェース/相互接続部は、周辺コンポーネントを備えている第1のSoC及び少なくとも1つの対応するコアが、第2のオンチップバスシステムを介して通信を行うように接続されいてる1つ又は複数の第2の周辺コンポーネント及び少なくとも1つの第2のコアを有している第2のSoCと、トランスパレントに通信できるように動作することができる。
トランスパレントなインタフェースは、第1のシステムアドレスマップ及び第2のシステムアドレスマップのユニークで重複しないアドレスを含んでいる一貫したシステムアドレスマップを用いて、第1のダイと第2のダイとを、通信を行うように接続することができる。一貫したシステムアドレスマップは、アドレスのオーバーラップ、リダイレクト又はリマッピングなしで、周辺コンポーネント並びに対応するコアの単一のシステムアドレス(バス)マップを含むことができる。そのようにして、トランスパレントなインタフェースは、トランスパレントなバス通信のためのオーバーラップ動作、リダイレクト動作又はリマッピング動作なしで、種々のSoC間の通信シグナリングを容易にすることができるか又は実現することができる。本発明の更なる態様及び詳細を、図面を参照しながら以下において更に説明する。
図示の実施の形態
図1には、例えば自動車システムにおける安全性に関連するアプリケーションのような、種々のアプリケーションについての高性能及び適合性のためにコンフィギュレート可能な、例示的なマルチダイシステム100のブロック図が示されている。システム100は、1つ又は複数のコンフィギュレート可能なSoC(例えばSoC101及び121)を含むことができ、これらのSoCは、オンチップバスプロトコルを介して通信して動作することができる、各ダイに対応する各SoCの固有の周辺コンポーネントを有している。周辺コンポーネントには、任意の数の処理装置、メモリセル、相互接続部、フィルタ、変換器、比較器、センサ又はその他の電子処理コンポーネント、例えばディジタルシグナルプロセッサ(DSP)、グラフィックプロセッサ、ダイレクトメモリアクセス(DMA)コンポーネント、クロスバー、単方向ブリッジ又はその他の類似のコンポーネントが含まれると考えられる。
SoCは、コンピュータ又はその他の電子システムの全てのコンポーネントがマイクロプロセッサチップ又はコアに集積されている集積回路(IC)を表すことができ、マイクロプロセッサチップ又はコアは、ディジタル信号、アナログ信号、混合信号又は無線機能のいずれも、対応する通信プロトコル/オンチップバスプロトコルを有する単一のチップ基板上に含むことができる。それに対し、システムインパッケージ(SiP)は、単一のモジュール(パッケージ)に含まれている複数の集積回路/半導体プロセッサチップ/ダイを表すことができ、そこではSiPが電子システムの全ての機能又は大部分の機能を実行することができる。SiPを携帯電話、ディジタルミュージックプレイヤ、センサシステム、自動車システム、関連するサブシステム又はその他のシステム内に集積することができる。SoCの処理ダイは、例えば垂直方向又はその他の方向にスタックすることができる集積回路を含むことができ、また、パッケージにボンディングされている細線によって内部的に接続することができる。代替的に、フリップチップ技術によって、スタックされたチップを相互に結合するために、はんだバンプを使用することができる。本明細書において検討する複数のダイを、例えば、垂直方向にスタックするか、又は、水平方向において隣同士に並べてタイル張りのようにし、それによって、異なるSoCを用いるマルチダイアーキテクチャを形成することができる。
1つの例においては、システム100は、1つ又は複数のSoC101及び121を含むことができ、それらのSoC101及び121は、1つ又は複数のプロセッサコア102、122、抵抗及びキャパシタのような受動的なコンポーネントと組み合わされたメモリ104、124を有しており、それらは全て、例えば同一のボード、基板又はシリコン上に実装されているか、又は、別個のダイにおいて通信を行うように接続されている。そのようにして、完全な機能ユニットを、マルチチップシステム100に作製することができ、それによって、種々の周辺コンポーネント及び対応するコア間での動作のために少数の外部コンポーネントを追加するだけでよくなるか、又は、外部コンポーネントを追加する必要はなくなる。これは、プリント回路板及び全体の設計の複雑性を低減することから、MP3プレイヤ及び携帯電話のような空間が制限された環境においては、特に価値があると考えられる。
例えば、第1のSoC101は、第1のオンチップバスシステム108としての1つ又は複数の第1のオンチップバスを用いてメモリ104から受信したコード又はデータメモリ106から受信したデータを処理するようにコンフィギュレートすることができるハードウェア拡張を備えているプロセッサコア102を有することができる。プログラムメモリ104は、ソフトウェアベースのセルフテスト、(一般的な処理のための)プログラムコード又はその他のデータを実行するために使用することができるテストコードを記憶するようにコンフィギュレートすることができる。システム100は、その他のコンポーネントを有することもでき、例えば(1つ又は複数の)周辺(デバイス)コンポーネント110又は例えば割り込み、クロック等のコンポーネント112を含むことができ、それらのコンポーネントをアドレスによって指定することができ、また、それらのアドレスに基づいて、第1のオンチップバスシステム108を介して使用することができる。
1つの例においては、第1のオンチップバスシステム108が、SoC101のオンチップバスプロトコルによる、(例えば、読み出し、書き込み、再書き込みによる)メモリ104又は106のいずれか一方とのデータの通信、制御又はメモリ104又は106のいずれか一方からのデータの要求を実現することができる。オンチップバスプロトコルは、SoC101のアーキテクチャ又はコンフィギュレーションに応じた、マスタ/スレーブプロトコルに固有のものであってよい。例えば、オンチップバスシステム108は、プロセッサコア102によるアクセス要求に応答して、周辺コンポーネント110のうちの1つ又は複数と通信するため又は周辺コンポーネント110のうちの1つ又は複数に対してシグナリングするために、メモリ104、データメモリ106又はその他のコンポーネントに記憶することができる第1のシステムアドレスマップ105を使用することができる。
同様に、第2のSoC121は、オンチップバス128を介してオンチップバスプロトコルを用いて動作することができ、このオンチップバス128は、例えばメモリ124又はデータメモリ126に記憶されているか、又は、メモリ124又はデータメモリ126の一部である第2のシステムアドレスマップ125を更に使用することができる。オンチップバスプロトコル並びにオンチップバスシステム108及び128は、その他のコンポーネント、例えば調停器(arbitrator)又は割り込みサービスプロバイダを用いるSoC101及び121にそれぞれ対応することができ、それらのコンポーネントはリソース(例えばメモリ104、周辺コンポーネント110等)に対する要求を制御又は管理するためにシステムアドレスマップを用いて、各ダイにおけるオンチップバスシステム108及び128を介して動作することができる。
SoC101のメモリ104、メモリ106及びその他の周辺コンポーネント110を、第2のSoC121とは異なるテクノロジに従って作製又はコンフィギュレートすることができる。例えば、第1のSoC101は、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている第2のSoCのより小さい寸法よりも大きい寸法を用いる、不揮発性メモリ互換ベースのテクノロジを有することができる。特に、第1のSoC101のより大きい寸法は、1つ又は複数の第1の周辺コンポーネントのフラッシュメモリとの通信との互換性を実現することができ、その一方、より小さい寸法テクノロジは、第2のプロセッサコア122と、その第2のプロセッサコア122と同じ作製サイズのフラッシュメモリとの間の通信に対して互換性がない可能性がある。
1つの態様においては、第1のSoC101のプロセッサコア102及び第2のSoC121のプロセッサコア122のテクノロジは異なっていてもよく、例えば異なる速度、作製サイズ等を有していてもよい。プロセッサコア102を、そのプロセッサコア102がメモリ104又は106並びに周辺デバイス110にアクセスして通信できるテクノロジに基づいて作製することができる。周辺デバイス110は、メモリ104又は106としてのフラッシュメモリ又はその他の不揮発性メモリと互換性がある作製サイズ(例えば約20nm超)を基礎とする、不揮発性メモリ又はコンポーネントを含むことができる。
不揮発性メモリアレイ及び高速プロセッサ(例えばFinFetマイクロコントローラ、又は、パフォーマンス、拡張、アクセラレータ(PEAC:Performance、Extension、ACcelerator)チップ)との作製サイズの差異に起因して、プロセッサコア122は、より優れた作製サイズ(例えば約20nmを下回るアドバンストテクノロジノード)を備えている不揮発性メモリとの相互作用又はそのような不揮発性メモリへのアクセス制御に対して互換性がない可能性がある。従って、例えば、第2のSoCの周辺デバイス/コンポーネント130が、不揮発性メモリを実装していないことも考えられるが、しかしながら、周辺コンポーネント110又は130の一部としてのそのような不揮発性メモリリソースを、トランスパレントな(バス)インタフェース140を介して、依然として使用することも考えられる。更に、SoC121が外部の不揮発性メモリを有していることも考えられるが、有していなくてもよい。
1つの実施の形態においては、第1のSoC101の第1のオンチップバスシステム108及び第2のSoC121の第2のオンチップバスシステム128が相互に接続されて通信を行うことに応答して、それらの間でのトランスパレントな通信が実現されるように、トランスパレントなインタフェース140をコンフィギュレートすることができる。トランスパレントなインタフェース140は、メモリ、周辺コンポーネント、コア又はその他のコンポーネントに対して相互に異なる、ユニークで重複しないアドレスを有しているアドレスを含むことができる一貫したシステムアドレスマップ145に基づいた、両SoC101、121間での、又は、複数のSoC101、121の中でのトランスパレントな通信を容易にすることができる。そのようにして、システム100の各SoC101、121は、メモリ104、124及び106に、それらのコンポーネントのアドレスのリマッピング、リダイレクト又はリアドレッシングなしで、トランスパレントにアクセスすることができる。従って、トランスパレントなインタフェース140は、プロセッサコア102、122のテクノロジ又は寸法、若しくは、例えばそれぞれのコアを製造する際に用いた作製ベースのテクノロジが異なっているにもかかわらず、第2のオンチップバスシステムと任意の不揮発性メモリ(例えばフラッシュメモリ等)との間の通信を実現することができる。
代替的又は付加的に、SoC121は、SoC101に比べて処理に関して遙かに高速に動作する高速プロセッサを備えている高速SoCであってよい。SiP100は、更に、その電力消費量をコンフィギュレートでき、また、SiPがただ1つのSoC101を用いて、又は2つの異なるタイプのSoC101及び121を用いて、又はその他のSoCを用いて動作するかに応じて、フレキシブルな能力を有することができる。
SoC101と同様に、SoC121は、プロセッサコア122、メモリ124(例えばプログラムコードメモリ)、割り込み、クロック等のコンポーネント132及び1つ又は複数の周辺デバイス130を含んでいる。プロセッサコア122は、プロセッサコア102と同様に、メモリ124又は周辺コンポーネント130に対するマスタエージェントとして動作することができる、1つ又は複数のプロセッサを含むことができる。SoC121は、そこにあるコンポーネント(例えば122、128、130)を集積して、オンチップバスインタフェース108とは異なる第2のオンチップバスインタフェース128のオンチップバスプロトコルを介して、1つのチップ上に完全に独立したシステムを形成することができる。
1つの態様では、その他のSoC(例えば第1のSoC101)が接続されている場合、マスタエージェント(例えばプロセッサコア122)は、トランスパレントなインタフェース140を介して、コンポーネント又はリソースのいずれかを制御するために、システム100全体にわたる種々の調停スキーム又はオンチップバスプロトコルに基づいて、適切に作用するように通信することができる。異なるダイにおけるマルチSoCのシステム100は、1つ又は複数のSoC101、121を含むように動作することができ、また、それらの異なるSoC101、121に、例えばそれらのSoCが対応するオンチップバスプロトコル及びコンポーネントを集積することができる。
別の態様においては、オプションとして、SoC101又はSoC121のうちの一方のSoCを、その一方のSoCがSiP100内の他方のSoCに接続されているか否かにかかわらず、独立して動作させることができる。例えば、SiP100は、SoC101及びSoC121を、トランスパレントなインタフェース140を介して集積することができ、SoC101又はSoC121の各コンポーネントがそれらのSoC101又はSoC121に対応するシステムアドレスマップのいずれのリソース又はコンポーネントとも重複しないユニークなアドレスを用いて動作できるように、トランスパレントなインタフェース140は動作する。そのようにして、トランスパレントなインタフェース140は、2つのSoC101及び121を含んでいる全体のシステム100のコンポーネントをカバーする、一貫したシステムアドレスマップ145を使用することができる。同様に、トランスパレントなインタフェース140がトランスパレントな集積を実現するにもかかわらず、一方のSoC又は他方のSoCに接続することなく独立して動作するように、システム100をコンフィギュレートすることができる。トランスパレントなインタフェース140は、更に、各SoC101、121の種々のコンポーネントへのアクセスを許可することによって、オンチップバス108のオンチップバスプロトコルとオンチップバス128のオンチップバスプロトコルとの間での往復的な通信を実現する。
図2には、異なるSoC間にトランスパレントなインタフェースを有しているマルチコアシステム200の別の例が示されている。システム200は、処理コアCPU0〜7を備えているスケーラブルなマルチコア型のデバイスとして動作することができ、これらの処理コアCPU0〜7は、通信のマスタ/スレーブ通信モデルにおけるスレーブとしての1つ又は複数のその他のデバイス/コンポーネントにわたる制御を要求又は受信することができるマスタエージェントとして動作することができる。その他のコンポーネント又はデバイスも同様に、1つ又は複数のスレーブエージェントを備えているマスタエージェントとして動作することを保証することができるか、又は、そのように動作するようにコンフィギュレートすることができ、そのような1つ又は複数のスレーブエージェントは、例えば、ローカルメモリユニット(LMU0〜7)、プログラムフラッシュ(PF0〜5)、システム周辺デバイス(SPB)、ダイレクトメモリアクセス(DMA)コンポーネント、その他のプロセッサ(例えば専用のディジタルシグナルプロセッサ等)並びにハードウェアセキュリティモジュール、ダウンロードアクセラレータマネージャ、その他のユニット又はコンポーネントのうちのいずれか1つを含むことができるが、これらは例示であって制限を意図するものではない。
SoC101及び121は、ローエンドからミッドレンジの(1つ又は複数の)デバイス/システム又は高速な処理速度を備えているよりハイエンドの(1つ又は複数の)デバイス/システムのいずれかの組み合わせのための集積されたパッケージとして動作することができる。SoC101は、従来の(1つ又は複数の)コンピュータ処理コア又は処理ユニット(例えばCPU0〜3)だけを用いて動作することができ、また、図1のトランスパレントなインタフェース140に類似するものであってよいトランスパレントなインタフェース140を介して、SoC121のプロセッサコアCPU(例えばCPU4〜7)も用いて動作するように使用されてもよい。
1つの例においては、SoC101及び121は、相互に類似するものであってよく、その場合、いずれのSoC101、121も標準的なSoCであってよく、従ってSoC121は、処理能力の点では、別個のオンチップバス通信プロトコルを備えているSoC101に類似するものであるか又は同一のものである。代替的又は付加的に、SoC101、121又はCPUは、異なる処理速度を有していてもよい、又は、異なるテクノロジを基礎としていてもよい。例えば、SoC121は、より高速な処理速度を有することができる。
付加的又は択一的に、SoC121を、異なる作製サイズ又は類似の作製サイズを備えているSoC101とは異なるテクノロジで作製することができるか、又は、SoC121は、そのような異なるテクノロジを基礎とすることができる。標準的なSoCを含んでいるSoC101と、より小さい作製サイズを備えている、よりハイエンドで処理速度が高速なSoCとしてのSoC121の利点は、ソフトウェアのスケーラビリティにあり、それによって、アプリケーション(例えば、エンジン制御ユニット等を用いる自動車アプリケーション/システム)を、異なるテクノロジに対する要求に依存してスケーリングすることができる異なるデバイス、異なるパッケージ又はシステム200外部のシステムに切り換える必要はない。例えば、SoC101及び121は、トランスパレントなインタフェース140を介して、ユニークなオンチップバスインタフェース(例えば図1の108及び128)の対応するオンチップバスプロトコルによってトランスパレントに通信することができる。このトランスパレントなインタフェース140は、一方のSoCにおけるマスタエージェントによる、一貫した重複しないシステムアドレスマップ(例えば図1のアドレスマップ145)を介した他方のSoCにおけるスレーブエージェントへのアクセスを実現することができる。SiP200は、フレキシビリティのための付加的な処理コアを用いて動作することもでき、また、より高度の性能テクノロジ(例えば、FinFet又はPEACテクノロジコア)で動作することもできる。
システム200は、例えば、175度までの温度において300MHzで動作することができ、また、50,000時間の寿命並びに0ppmを有することができる。このことは、15年を超える寿命の中で100万個を超えるチップのうち1つしか故障する可能性がないことを意味している。別の例においては、SoC101及び121を備えているSiP200は、例えばエンジン制御ユニット又はその他の集積システム/サブシステムのような自動車システムにおいて動作することができ、そのようなシステムでは、それにもかかわらず、幾つかのコンポーネント/サブシステムがSoC121を介してより高速な処理速度を使用することができ、また、より低速な処理速度のSoCに切り換えることができる。両SoCはいずれも、トランスパレントなインタフェース140を介して、同一のパッケージ又は基板において使用することができる。
別の実施の形態においては、SoCのうちの1つ(例えばSoC101)は、外部へのアクセスを実現するワイヤボンディング、パッド、ピラー又ははんだバンプを備えているボンディング層204を含むことができ、また、SoC121は、SoC101がトランスパレントなインタフェース140を介してそれらを提供することから、そのようなボンディングを有していなくてもよい。従って、ボンディング層204は、SiP200からの外部通信を実現することができる。より大きい作製サイズを備えているより低速な処理チップ(例えばSoC101)だけが要求されるアプリケーション又は例においては、例えばSoC121を用いずにSoC101だけを使用することによって、出力を抑えることができるか、又は、処理をより効率的に行うことができる。より高速な処理速度が要求されるその他の状況においては、SoC121は、SoC101の周辺デバイス及びメモリを機能的に動作させて使用することができ、それによって、より高い性能ゲインが得られ、またSoC101におけるフラッシュメモリを動作させることができる。さもなければ、過度に小さい作製サイズ又はその他のパラメータに起因して互換性がない可能性がある。
1つの例においては、SiP200にフェースダウン型のフリップチップインタフェース202を集積することができる。SoC101及び121を、例えばフリップチップインタフェース202を備えているパッケージ基板に集積することができるので、チップのアクティブエリアは基板に面している。はんだ付け接続部を、チップと基板との間に設けることができ、また、基板内で、2つのチップ間に接続部が存在していてもよい。
フリップチップインタフェース202を、フェースダウン型のコンフィギュレーションについて図示したが、別の実施の形態は、例えば、サイドバイサイドパッケージングのために、インタフェース層202内にワイヤボンディングを含むこともできるか、又は、フリップチップコンフィギュレーションを使用することができる。その他のコンフィギュレーションにおいては、SoC101及び121を相互にフェースツーフェースで設けることができ、このことは、ダイの活性層が相互に面していることを意味している。このコンフィギュレーションにおいては、ダイ間にピラー又はバンプ(例えば、はんだ接続部)が存在してもよい。ここでの実施の形態は、物理的な向き又は配置構成のいずれか1つのタイプに限定されるものではない。
SoC101及びSoC121を組み合わせるフリップチップインタフェース202の下に描かれているように、SoC101は、プログラムフラッシュ(PF)メモリ206を含むことができる。例えば、SoC101のCPU0〜3は、ローカルPF0〜3を有することができるか、又は、SoC101の全てのCPU0〜3に対して別個のNVMコンポーネント(例えばPF4〜5)を備えるようにコンフィギュレートすることができる。そのようにして、SoC101は、プロセッサコアCPU0〜3と共に、NVMメモリを局所的な基板上に局所的に設けるか又は局所的なオンチップバスプロトコルの一部とするために、NVM互換性があるとみなすことができ、且つ、SoC101の一部としてのNVMとの通信をサポートするように作製することができる。
1つの実施の形態においては、オンチップバスの各オンチッププロトコルの一部としての、共有リソース相互接続部(SRI0〜2)のオンチップバス/オンチップ相互接続部216を介して、CPU0〜3を相互に接続することができる。複数のオンチップバスプロトコルを、トランスパレントなインタフェース140を介して集積することができ、そこではプロトコルが相互接続部216としてのクロスバーのような相互接続部を含んでいる。別の例においては、オンチッププロトコルがパケット指向型のプロトコル又はその他のプロトコル、例えばクロスバープロトコル、ネットワークオンチッププロトコル、マルチマスタプロトコル等を基礎とすることができる。
トランスパレントなインタフェース140は、1つのSRIにおける複数の異なるリンクを含むために、マトリクス状に又はその他のコンフィギュレーションで配置されている複数のスイッチのクロスポイント、マトリクス又は集合として動作することができる。トランスパレントなインタフェース140は、更に、2つのSoC101と121との間のブリッジ210を含むことができる。相互接続部216〜218を、SoC101、121を集積するためのトランスパレントなインタフェース140用のSRIの一部として、また、各SoCインタフェース(例えばバックボーンバス(BBB:BackBone Bus)220又はシステムペリフェラルバス(SPB:System Peripheral Bus)222)の対応するオンチップバスプロトコル間の内部デバイスクロストークのための機能の一部として、集積することができる。更に、SPB222を、1つ又は複数のポート若しくは任意の数の内部又は外部の周辺コンポーネント、例えばメモリ、その他のデバイス、イーサネットポート(ETH0〜1)、ダイレクトメモリアクセス(DMA)コンポーネント、アクセラレータ、調停コンポーネント、外部コンポーネント、システム、サブシステム(例えばアドバンスト・ドライバ・アシスタンス・システム(ADAS:Advanced Driver Assistance System))、若しくはSoCのその他のコンポーネント又はSiCとしてのコンポーネントを介して、ボンディング層204に接続するために又はボンディング層204と通信するために使用することができる。
機能レベルにおいては、SRI0〜2の相互接続部は、バスと同様に動作することができるので、コンポーネントがSoC101、SoC121若しくはSoC101又は121の特定のオンチップバスプロトコルの一部に固有のものであっても、読み出し動作又は書き込み動作を、フリップチップインタフェース202を介してSiP200のいずれかのコンポーネントについてのアドレスを用いて行うことができる。相互接続部216〜218は、実装レベルにおけるエンドツーエンドコネクションに類似するものであってよく、このことは、各マスタCPU(例えばCPU0〜7のうちのいずれか1つ)を、任意のスレーブCPU又は全てのスレーブCPU(例えばマスタではないCPU0〜7のいずれか1つ)に、トランスパレントなインタフェース140を介して直接的に接続できることを意味している。
従って、トランスパレントなインタフェース140は、マスタエージェントとスレーブエージェントとの間の通信を双方向において容易にし、またこのトランスパレントなインタフェース140は、スレーブエージェントと対話している種々のマスタエージェント相互間の通信又は両SoC101、121間での通信を同時に行いながら動作することができる。例えば、各SoC101及び121は、マスタエージェントの状態が割り当てられている又は提供されているコンポーネント(例えばCPU、DMA又はその他のコンポーネント)並びに通信のマスタ/スレーブ通信モデルの一部としてのスレーブエージェントとして割り当てられているスレーブエージェント(例えばメモリ、LMU、PF又はその他のコンポーネント)を備えている、自身の固有の相互接続部を含んでいる。マスタエージェント(例えばCPU0〜7)は、両SoC101及び121の各コンポーネントに対応する重複しない一貫したアドレスを有するシステムアドレスマップに従い、接続されている全てのスレーブエージェント(例えばLMU、PF、周辺デバイス、ポート等)にアクセスすることができる。
例えば、バス(例えば、BBB220)によって、バス自体がSoC121との共有リソースになることも考えられ、その場合、その他のCPUは、マスタエージェント(CPU4〜7、トランスパレントなバス140を介するCPU又はその他のコンポーネント)のうちのいずれか1つがリソースを使用する場合には、そのリソースを使用するために待機する必要がある。しかしながら、トランスパレントなインタフェース140の一部としてのオンチップ相互接続部216〜218によって、種々のスレーブと対話する種々のマスタを、同一のリソース(例えばSRI0〜2)において並行して(同時に、同時刻に)動作させることができ、また、種々のマスタが同一のスレーブエージェント(例えばイーサネットポートETH1、又はその他のコンポーネント)と対話する場合にのみ競合が考えられるので、その結果、例えばラウンドロビンスキーム、時分割多重アクセススキーム等の調停スキームを使用することができる。
例えば、CPU0〜7のいずれか1つを、指定されたスレーブエージェントに、例えば同一のSoC上のメモリにアクセスすることができるか、又は、例えばトランスパレントなインタフェース140を介してその他のSoCにアクセスすることができる、マスタエージェントとして実現することができる。各SoC101、121は、それぞれがフリップチップインタフェース202を介して分割されているCPU0〜7と共に、別個のコアシステムに図示されているが、付加的な処理コアも考えられるので、マスタエージェントとして動作する多数のCPUは、SRI0〜2のクロスバー又は相互接続部216〜218を介して、1つ又は複数のスレーブエージェントにアクセスすることができる。
SRI0〜2は、フリップチップインタフェース202をまたいでいる種々の矢印によって表されており、また、全体のトランスパレントなインタフェース140のアーキテクチャの一部としてのブリッジ210を介して接続されている相互接続部216〜218のグループ又はクラスタを含むことができる。例えば、各クラスタ又はSRI0〜2は、CPU0〜7の中から複数のマスタCPUを有することができ、その一方で、リソース又は周辺コンポーネント130又は214は、スレーブエージェントとして動作することができる。例えば、2つのクラスタSRIが同一のSoC(例えばSRI0〜1 216、218)に存在する場合、それぞれが4つ又は5つのマスタCPUを有することができ、各SRIクラスタは、複数のコネクションを、例えば16個のコネクションを有している。従って、2つのSRIに対する16個のコネクションが設けられていることによって32個のコネクションが生じ、また、1つの例として、1つのクロスバー(例えばクロスバー216等)によって8×8=64個のコネクションが生じ、これは複数のSRIにおいても考えられる。
各ブリッジ210は、例えば種々の単方向コネクションを有することができ、それらは更に、特定のアドレス又はアドレス範囲を有している。例えば、マスタエージェントを矢印の先端に設けることができ、それに対しスレーブを逆の端部に設けることができるか、若しくは、例えばそれとは反対に、スレーブを矢印の先端に設けて、マスタエージェントを逆の端部に設けることもできる。例えば、ブリッジ210は、接続の物理的な実現手段を含むことができ、これはフリップチップインタフェース202も含むことができる。論理的なレベルでは、SRI0のオンチップ相互接続部又はクロスバー216〜218のクラスタ又はその他のSRIにおけるスレーブエージェント又はコンポーネントが、特定のアドレス範囲を表すことができる。
例えば、特定のCPU(例えばCPU0)が特定のメモリ(例えばFP4又はFP5)又は周辺デバイス(例えば110)に対する読み出し動作を指示する場合、アドレスデコーダ212は、どのコンポーネントを読み出すか、どのコンポーネントに書き込むか、又は、どのコンポーネントと通信するかを知ることができる。ここで、アドレスデコーダ212を用いて、そのコンポーネントをどこにルーティングするか、即ち、そのコンポーネントが同一の相互接続クラスタ又はクロスバー(例えばSRI0)における特定のスレーブCPUに接続されているか、又は、別のクロスバー(例えばSRI1)における異なるスレーブエージェントに、複数のクロスバー間の接続部を介して、又は、相互接続クラスタ216と217との間の接続部を介してクロスオーバするかを知る。アドレスデコーダ212は、トランスパレントなインタフェース140の一部であってもよい、又は、図1の一貫したシステムアドレスマップ145を使用することができる。特定のクロスバー(例えばSRI0)から、対応するクロスバーSRI0のアドレスデコーダ212は、1つの特定のアドレス範囲を知ることができるか、又は、ブリッジ210の反対側にある種々のアドレス範囲を知ることができる。続いて、それらの範囲にわたる各アクセス許可が、アドレス範囲に対応するブリッジ210にルーティングされる。続いて、例えばブリッジの反対側にあるSRI2は、アドレスを再び検査して、この特定のアドレスがどこに位置しているのかを知り(例えばCPU7にあることを知り)、続いて、それを例えばCPU7のスレーブにルーティングする。そのようにして、一方のSoC(例えば121)において実行されるソフトウェア又はアプリケーション層は、続いて、それらのブリッジ210を介して他方のSoC(例えば101)にトランスパレントにアクセスすることができ、また、反対に逆方向の流れでのアクセスを行うことができ、従って往復的なアクセスを行うことができる。従って、ソフトウェアの観点からすると、2つの異なるSoC101及び121を同一の基板に設けることができるか、又は、2つの異なるSoC101及び121に異なる互換性(例えばNVM互換性)又は能力を集積できる場合であっても、SiP200は、単一のチップデバイスとして動作することができる。
SoC101及び121は、更に、種々のローカルメモリユニットLMU0〜7を含むことができ、それらはまた、各CPU、つまりCPU0〜7内のローカリティとして動作することができる。そのようにして、CPUポートは、インタフェースラインの状態を一切変更することなくアクセスすることができるローカルRAMを有することができる。これによって、別のCPUの別のRAMへのアクセスに応答して、又は、例えばSRIクラスタ間のブリッジを介さなければならない場合に生じる可能性があるクロックサイクルの追加が発生することなく、直ちにデータを検索することができる。
別の実施の形態においては、SiPのSoC101及び121は、トランスパレントなインタフェース140を介して、メモリ(例えば、不揮発性メモリ、揮発性メモリ又はその他の類似のメモリ)、周辺コンポーネント、又は、不均一メモリアクセス(NUMA:Non−Uniform Memory Access)プロトコルの一部としてのローカルリソースにアクセスするように動作することができる。例えば、SoC121のCPUコア(例えばCPU4、5、6又は7)は、SoC101のコンポーネント又はスレーブに直接的にアクセスすることができ、このSoC101のコンポーネント又はスレーブは、例えばNUMAプロトコルを介するユニークなアドレスを有している、スレーブエージェントとして指定された任意のデバイス又はコンポーネント、例えば1つ又は複数の周辺コンポーネントであってよい。NUMAプロトコルは、同一のアドレス空間を認識することができるか又は同一のアドレス空間にアクセスすることができる全てのCPUを参照し、また、マスタエージェントとしてのCPU又はDMAのようなコンポーネントが、例えばメモリのための特定のアドレスにアクセスする場合には、各マスタエージェントは、その他のマスタエージェントと同じ値を取得することになり、従って、換言すれば同一のデータにアクセスすることになる。しかしながら、CPU又はマスタエージェントのロケーションに依存して、SiP上の特定のメモリ又はコンポーネントのロケーションへのパスをより長く又はより短くすることができ、それによってアクセス時間をより長く又はより短くすることができる。
トランスパレントなインタフェース140は、起源SoC又はSoCのCPUとは異なるオンチッププロトコル又はSoCを用いてコンポーネントにアクセスしているか又はアクセスについて競争している種々のSoC101、121間でのコンポーネント、デバイス又はリソースについての競合を低減するように動作することができる。それらのアクセス要求、アクセス許可又は通信動作を、トランスパレントなインタフェースを介して容易にすることができ、またこのトランスパレントなインタフェースは、異なるSoC101及び121に関するSoCインタフェース(例えば110、222又は特定のSoCインタフェース)又はオンチップバスにわたり異なるオンチッププロトコルを介して、同一の値が同一のアドレスを用いて確認されるか又はアクセスされることを保証する。従って、アプリケーション層又はソフトウェアの観点からすると、システム200の特定のロケーションに関するシンボル(特定のデータのアドレス)を、相互のシステムコンポーネント間で、SoCデバイス101、121のいずれかによって又は両SoCデバイス101、121によってアクセスすることができる。従って、特定のSoCにおけるアーキテクチャ数又はコンフィギュレーションにもかかわらず、複数のCPUは、種々のSoCにわたる複数のスレーブにアクセスすることができるか又はそれらのスレーブを制御することができ、それと同時にターゲットSoCのプログラム、データ又はその他のコンポーネントへのトランスパレントなアクセスも並行して行うことができる。
図3を参照すると、マルチダイアーキテクチャを備えている、マルチコア型のマルチSoCシステムが図示されている。両SoC101及び121は、上記において説明したトランスパレントな相互接続部140に類似する、トランスパレントな相互接続部140’を介して相互接続されているにもかかわらず、いずれか一方のSoCを、種々の時間、ロケーション又はアプリケーションイベントトリガにおいて1つのシステムとしてコンフィギュレートされるように動作することができるスタンドアローン型のコンポーネントとしてコンフィギュレートすることができる。上側のダイ又は下側のダイ(例えばSoC101又はSoC121)のいずれかは、一方のダイ又は両方のダイにおける全てのパッド又はボンディング層を含むことができる。SoC101及びSoC121は、異なる作製テクノロジ、サイズ、速度を備えているものとして又はその他の差異を有するものとして上記において説明したにもかかわらず、特定のSoC内で規定されているコンポーネントから延びており、またそのようなコンポーネントに接続されている対応するオンチップバスインタフェースのオンチップバスプロトコルを集積するトランスパレントなインタフェース140’でもって、その他のアプリケーションでは、各SoCは同一であると考えることができる。SoC101及び121を、上側のダイ及び下側のダイとしてコンフィギュレートすることができるが、単一のSiP300内の向きを変更することができるので、当業者であればその他の向きも考えられ、例えば複数のダイを隣接させて又は水平に作製することも考えられる。各SoC101及び121は、異なる付加的なロジック、プロセッサコア、SRAM、NRAM、アクセラレータ、DMA、イーサネットプロトコルポート又はその他のネットワークプロトコルポート、フラッシュメモリ、その他のNVM若しくはその他のコンポーネントを含むことができる。
両SoCダイ101及び121は、上記の図1及び図2に示したものに類似する、トランスパレントなインタフェース/相互接続部140’によって相互に接続することができ、このトランスパレントなインタフェース/相互接続部140’は、第1のSoC及び第2のSoCのオンチップバス/相互接続部を接続する。両SoCはシステムオンチップを表し、このシステムオンチップは、各SoCに対応し、且つ、各SoCにとってユニークであるオンチップバス相互接続部を介して通信することができる。そのようにして、各SoC101、121は、独立して動作することができる。1つの態様においては、SoC101及び121を結合することができ、また相互接続するために動的にリコンフィギュレートすることができるので、対応するローカルオンチップバスインタフェース301及び303の各SoCの固有のオンチッププロトコルは、いずれかのコンポーネントについて重複する又は二重のアドレスを有していない一貫したシステムアドレスマップを備えているトランスパレントなインタフェース140’を介して集積されている。
例えばトランスパレントなインタフェース140’は、更に、例えばフォールバックコンポーネント302、マッピングコンポーネント304、調停コンポーネント306、割り込みコンポーネント308及びアクセスセーフティコンポーネント310を含むことができる。例えば、その他のSoC101に関連するテクノロジを基礎として、例えば、より高速な処理速度についての能力を有しているか又はより小さい作製サイズを有している、SoC121を介して動作するサブシステム(例えばエンジン制御ユニットサブシステム又はその他の自動車サブシステム)の故障を検出するように、フォールバックコンポーネント302をコンフィギュレートすることができる。所定の閾値を下回って低下するか又は上回って上昇する、故障条件、イベントトリガ又はその他の性能インジケータに応答して、フォールバックコンポーネント302は、自動車サブシステムを独立して動作させるために、NVM互換SoC101を起動させることができる。同様に、逆の状況もフォールバックコンポーネント302を介してコンフィギュレートすることができ、この状況においては、1つ又は複数のコンポーネント又はサブシステムの動作が、SoC101によって、且つ、SoC121を介して制御されるイベントに応答して制御される。
各SoC101及び121は、通常の場合、ユニークなアドレスマップを備えているシステムを含んでおり、そのシステムでは、マッピングコンポーネント304を介する集積のため及びトランスパレントなインタフェース140を介するアクセスのために、全てのリソースがアドレスマッピングされ、オンチップバスインタフェース301、303を介してアクセスされ、また、このシステムオンチップアドレスマップ(例えば図1のアドレスマップ145)にマッピングされる。マッピングコンポーネント304は、例えばオンチップバス相互接続部又はインタフェース301、303を介して、若しくは、トランスパレントなインタフェース140を介してアクセスが行われる際に、リソース又はコンポーネントにユニークなアドレスを提供することができる。オンチップバス301、303をそれらのオンチップバスプロトコルに基づき実現することができ、また、それらのオンチップバス301、303は、同一のユニークなアドレスを用いて、トランスパレントなインタフェース140を介して相互間で直接的にアクセスしつつ、その一方で、同一の値又は同一のアドレスを有しているリソースをいずれか1つのコンポーネントコア又は別のSoCから取得する。
マッピングコンポーネント304は、アドレスのオーバーレイ、オーバーラップ又はリマッピングなしで、例えばトランスパレントなインタフェース140を介して又はオンチップバスインタフェース301及び303を介して可視であるシステムアドレスマップを生成することができる。従って、SoC101及び121を、ダイが相互に接続された際に、トランスパレントで一貫したシステムアドレスマップ(トランスパレントなインタフェース140を介して可視であるアドレスマップ)を表すように準備することができる。換言すれば、システムアドレスマップは、割り当てのために形成されるか、又は、事前にコンフィギュレートされており、且つ、各オンチップインタフェース301及び303を介してアクセス可能であるその他のアドレスと重複しない。それらのオンチップインタフェース301及び303は、同一のSiP300において集積されていることに応答して、同一のパッケージ基板上のスタンドアローン型のデバイス又は集積デバイスであってよい。
1つの例においては、マスタエージェント(例えば、CPU、DMA又はその他の類似のコンポーネント)を、アクセス要求に関する調停スキームに従って、調停コンポーネント306を介して選択することができ、またマスタエージェントは、特定のスレーブエージェント(例えばメモリ又はその他のコンポーネント)へのバスアクセスについて競合するマスタエージェントプロトコルを容易にする。種々のマスタエージェントを、調停器又は調停コンポーネント306の中央調停アルゴリズムによって調停することができ、また、1つ又は複数の異なるアルゴリズムに基づいて、異なる優先順位を、例えば調停コンポーネント306によって割り当てることができる。調停コンポーネント306によってアクセス許可が与えられているSoC101、121の中でのマスタエージェント(例えば、CPU、DMA又は類似のコンポーネント)は、ターゲット(例えばCPU、周辺デバイス、メモリ、又はその他のコンポーネント)へのアクセスを提供することによって、オンチップバスを介してアクセスを開始することができ、またアクセスされるスレーブエージェントは、このアドレス状態(ターゲットコンポーネントのアドレスを含む)、幾つかの付加的な制御信号、マスタエージェントは何をしたいのか(信号データの読み出し、書き込み、再書き込み、又はデータに関する又は1つのデータの読み出し、書き込み、再書き込み)という記述に反応する。
単一のオンチップアーキテクチャを表すために、第1のSoCダイ101のオンチップバスインタフェース301と第2のSoCダイ121のオンチップバスインタフェース303とを相互に接続し、トランスパレントなオンチップバス相互接続部/インタフェース110を表すことができる。このことは、トランスパレントなインタフェース140’が、アドレスのリコンフィギュレート、リマッピング又はリダイレクトなしで、各SoCのシステムアドレスマップを使用することができるが、しかしながら、各SoCのシステムアドレスマップのアドレスを結合し、それによって、システム全体のアドレスは一貫しており、その他のいずれのアドレスとも重複しないことを意味している。このことは、更にシステムアドレスマップ320、330及び340に示されている。
別の実施の形態においては、SoC101及び121のオンチップバス301及び303を相互に接続するために、両SoC101及び121を同期させることができ、また同期モードにおいてSoC101又はSoC121のいずれかからの同一のクロック(例えば、図1の割り込み、クロックコンポーネント112又は132)で動作することができる。一方又は両方のSoCオンチップバスインタフェースは、両ダイSoCの非同期モードの動作を実現するために、同期メカニズム312及び314(例えば、1つ又は複数のクロック、位相同期回路又はその他のコンポーネント)を含むことができ、各バスは、例えばクロックサイクルの異なる位相で動作することができ、これはオンチップクロックを発生させる位相同期回路(PLL)のようなアナログ部分に由来するものであってよい。両SoC101及び121が同一のPLL又はクロックによってクロック制御される場合には、クロック(例えば、112及び132)は例えば同一の周波数で動作することができるので、それら両SoC101及び121は非同期モードでは動作しない。非同期モードは、一方のオンチップバスが例えば200MHzのクロックを使用しており、他方のオンチップバスが133MHzでクロック制御されているか、又は周波数においてその他の若干の差異がある場合に発生する可能性がある。両オンチップバスが200MHzでクロック制御される場合には、SiP300を同期させて使用することができる。SoC101及び121は、SoC121が、例えばボンディングパッドを備えておらずより簡潔であり、且つ、同一のクロック位相を使用するSoC101と同期できるという点で区別することができる。このことは、付加的な同期ステージが不要であるため、トランスパレントな相互接続部を介するスループット及びアクセス待ち時間に関して有益である、という利点を有していると考えられる。
アクセス要求は、調停コンポーネント306のハンドシェイクプロトコルを介する、例えば第1のオンチップバスの第1の調停コンポーネント316と第2のオンチップバスの第2の調停コンポーネント318との間の調停の同期を含むことができる。この調停方法は、トランスパレントなインタフェース140’を介する、第1のSoC及び第2のSoCのマスタエージェントから、第1の周辺コンポーネント又は第2の周辺コンポーネントに対するシステムアドレスマップのユニークで重複しないアドレスへのアクセス要求の調停も含むことができる。アクセス要求は、ハンドシェイクプロトコルを介する、例えば第1のオンチップバス301の第1の調停コンポーネント316と第2のオンチップバスの第2の調停コンポーネント318との間の調停の同期を含むことができる。
1つの態様においては、アクセス許可について勝者となったアクセス要求を、調停コンポーネント306に転送することができるか、又は、両SoCのマスタエージェントがアクセス許可を求めることができるその他のSoCのその他の調停コンポーネントに転送することができる。1つの例においては、第1の調停コンポーネント316又は調停コンポーネント318だけが調停動作を行うことができ、その間、残りの一方はハンドシェイクプロトコル又は調停コンポーネント306における別の調停に応答して割り込み禁止状態になる。代替的又は付加的に、第1のSoC及び第2のSoCのマスタエージェントからのアクセス許可を結合することができ、そこでは更なる調停がトランスパレントなインタフェース(例えば140又は140’)の調停コンポーネント(例えば306)における全てのリクエストで行われる可能性がある。
別の実施の形態においては、各SoC101及び121のアドレスマップを、ローカルシステムダイアドレスマップとしてのアドレスマップ320及び330による例として表すことができる。マッピングコンポーネント304は、各アドレスマップを生成及び結合するように動作することができ、その結果、両マップが一緒になって、一貫したアドレスマップ340を表すことができる。このことは、重複が存在せず、且つ、各コンポーネントには、SiP300の全てのコンポーネントの中からユニークなアドレスが提供されていることを意味している。アドレスマップ340のアドレスは、それぞれがユニークに使用される絶対アドレスであってよく、また、第1のSoC101及び第2のSoC121において同一の絶対アドレスを使用するスレーブエージェント又は周辺コンポーネントは存在しない。従って、マスタCPUエージェントは、1つのアドレスを使用することができ、また、任意の2つのエージェントが選択又は競合の対象になることなく、各アドレスがユニークであることを知ることができる。
各SoC101、121は、SoCに設けられているか又はSoC上にあるデバイス又はコンポーネントについての自身の固有のシステムアドレスマップ(例えば図1の105及び125)を含むことができ、また、各SoC101、121を相互に独立して使用することができる。相互に接続できることに応じて、SoC101及び121は、アドレスが重複することなく又は重複していることなく、単一のシステムアドレスマップ(例えば図1の145)を有している単一のSoCを表すことができ、またそのような単一のSoCとして動作することができる。例えば、SoC1(例えばSoC121)、SoC2(例えばSoC101)又は両SoCにおいて使用されているオペレーションタスク又は処理タスク(例えばソフトウェアタスク又はその他のタスク)を、SoC1又はその他のSoCにおけるCPU又はその他のマスタエージェントにマッピングすることができ、その際にいずれのリコンパイル動作又はアドレスリマッピング動作も必要とされない。
1つのSoC(例えばSoC1)におけるマスタエージェントは、その他のSoC0にトランスパレントなインタフェース140’を介して接続されているスレーブエージェントとして指定されている、オンチップリソース、デバイス又はコンポーネントへの完全なアクセスを受け取るか又は取得することができ、またこれとは逆の動作を実現することもできる。従って、例えば割り当てられたタグ(例えばタグID)を介してマスタエージェントとして指定されている任意のコンポーネント又はデバイス(例えば、SoC121におけるCPU)は、スレーブエージェントとして指定されており、且つ、オンチップバスシステム303を介してSoC121に局所的に設けられているか、又は、トランスパレントなインタフェース140’を介してその他のSoCに設けられている、その他の任意のコンポーネント(例えば周辺デバイス10〜13、周辺デバイス00〜03、又はその他の周辺デバイス)におけるデータにアクセスすることができるか又はそのようなデータを制御することができる。
別の実施の形態においては、トランスパレントなインタフェース140を介する割り込みノードのマッピングによって、割り込み信号を、SoC101及びSoC121の1つ又は複数の割り込みサービスプロバイダ(例えば、CPU又はDMAのようなマスタエージェント)にルーティングするように、割り込みコンポーネント308をコンフィギュレートすることができる。システムにおけるアプリケーション(例えば自動車アプリケーション、ソフトウェア層、アプリケーションプロトコル層)を割り込み駆動することができ、そこではスレーブコンポーネント(例えば通信スレーブ)が、オンチップイベント(条件、閾値、インジケータ、検出イベント等)を有することができ、また、それらのオンチップイベントを、オペレーション又はアクションを実行するCPU又はDMAに対するサービスリクエストの割り込みとして転送することができる。
従って、各SoCの割り込みシステムを、例えば割り込みコンポーネント308又はトランスパレントなインタフェース140’を介して、相互にトランスパレントに接続することができる。従って、SoC0及びSoC1の割り込みシステムを接続することができるので、SoC0からの割り込みを、SoC1における割り込みサービスプロバイダ(例えばCPU、DMA又はその他のマスタエージェント)にルーティングすることができる。割り込みコンポーネント308、調停コンポーネント306又はトランスパレントなインタフェース140’の調停プロセスは、続いて、SoC1における割り込みソースと共に割り込みを調停するために動作することができ、また、勝者又は勝ちエージェントを、SoC1における関連する割り込みサービスプロバイダに引き渡すことができ、また、それとは反対にトランスパレントなインタフェース140’を介して行うことができる。
例えば、チャネル(例えばDMAチャネル)を、割り込みによってトリガすることができ、これはトランザクションを実行し、且つ、トランザクションが実行されたことを、割り込みを介してCPUにシグナリングする。通信インタフェース(例えばトランスパレントなインタフェース140’)によって、バス又はコンポーネントがメッセージを受信すると、割り込みを周辺コンポーネント、メモリ、その他のコンポーネント(例えばDMA等)又は任意の割り込みソースに送信することができる。周辺デバイス又はスレーブエージェントは、続いて、データ又はメッセージをCPUに伝送し、且つ、割り込みによってCPUに、オンチップインタフェース140、301又は303を介して、メッセージデータをシグナリングすることができる。従って、割り込みコンポーネント308は、割り込みをオンチップリソース(例えばNVM、RAM又はその他の周辺コンポーネント)にマッピングするように動作することができる。
例えば、使用者がオンチップリソースをフレキシブルに使用できるようにするために多数のチャネルを備えている複数のCPU/DMAによって、例えば割り込みコンポーネント308によって、割り込みをCPU/DMAチャネルにマッピングすることができる。これをコンフィギュレートすることができ、またCPU及びDMAのチャネルへの割り込みのマッピング及びフレキシビリティを有することはいずれも有益である。従って、トランスパレントなインタフェース140は、周辺コンポーネントが集積されている2つ又はそれ以上の数のSoC間での共通の相互接続システムを有することを実現する。SoC101、121のアーキテクチャの組み合わせに依存して、割り込みシステムを適合させ、多数の(例えば128以上の)割り込みノードの大部分を含ませることができ、更に各ハードウェアを、1つのハードウェアノードに専用の各ハードウェアイベントでもって、1つの相互接続ノードに接続することができる。割り込みコンポーネント308又はその他のコンポーネントが(1つ又は複数の)リクエストを、CPUチャネル又はDMAチャネルのうちの一方にマッピングした結果として、ハードウェアイベントをノードに接続することができ、また、割り込みサービスプロバイダ(又はマスタエージェント)を介するサービスリクエストによってリクエストすることができ、そこではこのハードウェアイベントを、例えば優先順位番号を与えることによって、割り込みコンポーネント308を介してコンフィギュレートすることができる。
1つの例においては、サービスインタフェース(例えばインタフェース140)がデータを受信したときに、そのサービスインタフェースの周辺デバイスとしての解放バッファを使用することができる。このコンフィギュレーションによれば、解放バッファは、割り込みを割り込みノード(例えばソフトウェアノード又はハードウェアノードのアドレス)に送信することができる。優先順位(例えば優先順位64)によって指定することができる例えばCPU0にこの割り込みを転送できる場合には、割り込みノードを、割り込みコンポーネント308によってコンフィギュレートすることができるか、又は、割り込みを例えばDMAチャネル64におけるDMAに、割り込みコンポーネント308を介してマッピングすることができる。この割り込みシステムマッピングは、続いて、CPU又はDMA又はその他の周辺デバイスのいずれかである各割り込みサービスプロバイダとのインタフェースを有することができる。
別の実施の形態においては、マスタエージェントを、アクセスセーフティコンポーネント310によるアクセス保護メカニズムでもって指定することができる。例えば、アクセスセーフティコンポーネント310は、タグ識別子(ID)、タグ付けされたデータセット又はその他のデータタグを、種々のマスタエージェント/スレーブエージェントに対して指定又は提供することができ、それらのマスタエージェント/スレーブエージェントは、その他のコンポーネント又はエージェントに、特定のコンポーネント(例えばCPU又はDMA)をマスタエージェント又はスレーブエージェントとして認識させることができる。スレーブエージェントには、割り当てられた通りにそれらのスレーブエージェントを指定するか又は対応しているタグを、任意のマスタエージェント又は特定のマスタエージェントによる使用のために、若しくは、特定の使用又はアプリケーションのために、例えば自動車システムの自動車アプリケーション又はエンジン制御ユニット(プロセッサ)のために提供することができる。例えば、タグID(又はその他の識別データ又はデータセット)を、例えば調停コンポーネント306による調停を介して又は割り込みコンポーネント308による割り込みサービスプロバイダルーチンを介して、保証されたアクセスを要求する指定されたマスタエージェント又は任意のコンポーネントを認識するために、マスタエージェント及びスレーブエージェントによって使用することができる。
システムアドレスマップ(例えば図1のシステムアドレスマップ145又はマッピングコンポーネント304の一部)を有しているオンチップバスシステムにおいては、マスタエージェントは、ターゲットアドレス(例えば、マスタエージェントがアクセスしたいスレーブにおけるレジスタのアドレス)を送信することによって、スレーブエージェント(例えば周辺デバイス00〜周辺デバイス13又は付加的なコンポーネント)におけるオンチップリソースにアクセスすることができる。マスタエージェント(例えば図2のCPU0〜7)は、オンチップバストランザクションに関連するマスタエージェントを識別するユニークなマスタTAG IDと共にアドレスを送信することができる。マスタエージェントが送信したアドレスによって、スレーブエージェントを識別/選択することができる。ここで、各スレーブエージェントは、ユニークなTAGを、又は、サービスが提供されるマスタエージェント又はスレーブエージェント自体を識別するその他の識別データを有することもできることを言及しておく。この識別データセット(又はスレーブタグ)は、例えばシステムアドレスマップ145におけるスレーブのアドレス範囲のオフセットであってよい。しかしながら、スレーブエージェントのアドレス範囲は異なる可能性があるので(例えばあるアドレス範囲は1KB、別のアドレス範囲は128KB)、アドレスオフセットビットの数も異なる可能性がある。
SoC101及び121における全てのタグID(又は識別データセット)はユニークであると考えられ、従ってシステムアドレスマップ145のアドレスが重複しないのと同じように、重複は存在しない。従って、コーディングのために同一のタグID又はデータセットを使用するSoC101及び121にはマスタ機能は存在しない。例えば、各マスタコンポーネントを1つ又は複数のユニークなマスタタグIDでもって実現することができる。例えば、タグIDは、例えば62個のコーディング又は64個のコーディングを実現するために6ビットの値であることが考えられるが、別の数のビットも考えられる。マスタコンポーネントにバスアクセスが許可されているときにはいつでも、それがアドレスフェーズで始まっている場合には、そのフェーズの一部はマスタタグIDを含むことができる。スレーブエージェント側では、制御レジスタ(例えば1つ又は複数の周辺デバイス)は更に、どのアクセスタグIDがスレーブにアクセスできるかを求めることができる。このことは、種々のマスタエージェント(例えばCPU)又は種々のタグIDに対するオンチップリソース又は周辺デバイスとして複数のCPUを指定できることを意味していると考えられる。このプロセス又は動作は、更に、例えばソースエンドカプセル化のために使用することができ、そこでは一方のCPUがサードパーティのソフトウェアによって使用され、また、サードパーティ又はプロバイダのソフトウェアがその他のソースにアクセスできること又はアクセスできないことを保証できるが、しかしながら、タグIDによる許可が認められないか又は与えられない場合には、ソフトウェアが検出され実行されない。
そのようにして、アプリケーションソフトウェア又はアプリケーション層に依存して、特定のCPUを、アプリケーションによって呼び出されたタグIDに依存する特定のスレーブエージェントを備えているマスタエージェントとして、アクセスセーフティコンポーネント310を介して使用することができる。トランスパレントなインタフェース140に関して、特定のタグIDが、1つより多くのコンポーネントによって使用される必要はないか、又は一度に1回よりも多く使用される必要はない。換言すれば、SoC101におけるいずれのマスタ又はコンポーネントも、SoC121におけるマスタ又はコンポーネントと同一のタグIDを使用しないので、トランスパレントなインタフェース140を介するアクセスにおいて、またタグIDにおいて、SoC101におけるマスタ又はコンポーネントはトランスパレントである。
例えば、2つのSoC101、121にわたり通信する、互換性があるSoC101において使用されるオンチップバスプロトコルも、第2のSoCにおいて使用される第2のオンチップバスプロトコルも含まれるように、トランスパレントなインタフェース140を介して、付加的な誤り訂正符号保護を拡張するように、アクセスセーフティコンポーネント310を更にコンフィギュレートすることができる。アクセスセーフティコンポーネント310は、例えば、付加的なECC保護によって拡張されたオンチップインタフェース301及び303を介して、誤り訂正符号(ECC)、誤り検出符号(EDC)、その他の通信検査符号又はパリティ符号を拡張するように動作することができ、それによって、各SoCにおける誤り訂正符号/誤り検出符号動作が集積される。
例えば、このことは、マスタエージェントが一度許可されれば、これをアドレスフェーズで開始できることを意味している。このアドレスフェーズは、スレーブエージェントにマスタエージェントは何をしたいのかを知らせるオペレーションコード及びアドレスを含むことができる。アドレスフェーズは、更に、単一のデータトランザクションが存在しているか、又は、複数のデータトランザクションが存在しているか、また、幾つかの制御信号(例えば読み出し/書き込み信号)、マスタエージェントのユニークな検査識別子(ID)を含むことができ、スレーブは、どのマスタがアクセスしようとしているかを認識することができる。つまり、アクセスセーフティコンポーネント310は、誤り訂正符号/誤り検出符号コンポーネントであってもよいので、第1のオンチップバス301と第2のオンチップバス303との間のインタフェース140は、拡張されたオンチップ保護プロトコルに従い保護されており、これは、各SoC及び両SoCにおける自動車安全性要求レベル(ASIL:Automotive Safety Integrity Level)安全性標準を適合することができるか又は組み込むことができる。
図4及び図5を参照すると、種々のSiPコンフィギュレーション400、402及び500を生成するための、SoC101及び121の種々の組み合わせの例が示されている。2つのSoC101及び121は、各システムアドレスマップにおいて、それらのSoCにおけるコンポーネントへのアドレスの対応するセットを含むことができ、これは、全てのSoCをカバーする一貫したシステムアドレスマップにおいて、重複又は重畳することなく若しくはリマッピングされてアドレッシングされることなく、トランスパレントに結合されるか又は集積される。例えば、SiP又は本明細書において説明したその他の結合されたシステム(例えばSiP100、200又は300)の同一のSoC(例えば、SoC101又は121としてのダイ又はコア1)を、異なる下側のチップ(ダイ2)又はSoCに集積又は接続することができるか、若しくは、異なる下側のチップを、異なるチップサイズ、異なるパッドフレーム及び/又は異なる機能を備えている異なるアプリケーションに取り付けることができる。下側のチップ(例えばSoC101)をスタンドアローン型の製品として使用することもできる。ダイ1を、ダイ0と共に使用することができ、また別のときにはダイ2と共に使用することができるか、又は、スタンドアローン型の製品として使用することができる。
本明細書内で記述した方法を図示し、また一連の動作又はイベントとして記述したが、そのような動作又はイベントの記載の順序が制限的な意味で解されるべきでないことは明らかである。例えば、図示及び/又は本明細書において説明したものとは異なり、幾つかの動作を異なる順序で実行することができる、及び/又は、その他の動作又はイベントと同時に実行することができる。更に、本明細書に記載されている1つ又は複数の態様又は実施の形態を実現するために、図示した全ての動作が必要とされるわけではない。更に、本明細書において説明した動作のうちの1つ又は複数を、1つ又は複数の別個の動作及び/又はフェーズで実行することができる。
図6を参照すると、本明細書において説明した種々の態様による、マルチコア型のマルチSoCシステムに関する方法600が示されている。ステップ602において、本方法は、第1のシステムオンチップ(SoC)インタフェース(例えば301)の第1のオンチップバスプロトコルを介して、同一の基板に設けられている第1のSoC(例えばSoC101)の第1のコア(例えばCPU0)と1つ又は複数の周辺コンポーネントとの間で、第1の周辺コンポーネント及び第1のコアに対応する第1のアドレスを有している第1のシステムアドレスマップに基づいて通信を行うステップを有している。
ステップ604において、本方法は、第2のSoC(例えばSoC121)における第2のオンチップバスプロトコルを介して、第2のSoCの第2のコアと、多数の第2の周辺コンポーネントのうちの1つ又は複数との間で、第2の周辺コンポーネント及び第2のコアに対応するアドレスを有している第2のシステムアドレスマップに基づいて通信を行うステップを有している。
ステップ606において、本方法は、トランスパレントなインタフェースを介して、第1のシステムアドレスマップ及び第2のシステムアドレスマップのユニークで重複しないアドレスを含んでいるシステムアドレスに基づいて、第1のSoCと第2のSoCとの間の通信を許可するステップを有している。
本方法は、また、トランスパレントなインタフェースを介して、第1のSoC及び第2のSoCのマスタエージェントから、複数の第1の周辺コンポーネント又は複数の第2の周辺コンポーネントに対応するシステムアドレスマップのユニークで重複しないアドレスへのアクセス要求を調停するステップも有することができる。アクセス要求は、ハンドシェイクプロトコルを介する、例えば、第1のオンチップバスの第1の調停コンポーネントと第2のオンチップバスの第2の調停コンポーネントとの間の調停の同期を含むことができる。ハンドシェイクプロトコルに応答して、第1のSoCのマスタエージェントからのアクセス要求を、第1のオンチップバスの第1の調停コンポーネントを介して、また、第2のオンチップバスの第2の調停コンポーネントを割り込み禁止状態にすることによって、調停することができる。続いて、第1のSoC及び第2のSoCのマスタエージェントからのアクセス許可を結合することができ、更に調停を、トランスパレントなインタフェース(例えば140又は140’)の調停コンポーネント(例えば306)における全てのリクエストで行うことができる。
本方法は、更に、第2のSoCコンポーネントに関する第2のコアを用いた、ユニークなアドレスを備えている第1のSoCの第1のNVM互換コア、1つ又は複数の周辺コンポーネント及び不揮発性メモリへのアクセスを、不均一メモリアクセス(NUMA:Non−Uniform Memory Access)を介して提供するステップを含むことができる。第2のコアは、第1のSoCの第1のコアとは異なるテクノロジを基礎とした作製サイズ(例えばより小さいサイズ)を有することができる。例えばより小さい作製サイズによって、第2のコアは、例えば20nm未満の作製サイズの不揮発性メモリ又はその他のコンポーネントとの互換性がなくなる可能性がある。
また第2のコアは、第1のコアとは異なる動作周波数で動作することが考えられる。異なる周波数を、例えばトランスパレントなインタフェース140を介して、相互に同期させてもよいし、異なる周波数は相互に非同期であってもよい。例えば、第1のコアは、第1のオンチップバスプロトコルを介して第1の周波数で動作するようにコンフィギュレートされている第1のCPUを含むことができ、また、第2のコアは、第2のオンチップバスプロトコルを介して第1の周波数とは異なる第2の周波数で動作するようにコンフィギュレートされている第2のCPUを含んでいる。従って、第1のオンチップバスシステムの第1のオンチップバスプロトコル及び第2のオンチップバスシステムの第2のオンチップバスプロトコルを、相互的に同期モードで動作させることができ、この同期モードにおいては、トランスパレントなインタフェースを介する通信に関して、トランスパレントなインタフェースを第1のオンチップバスシステム及び第2のオンチップバスシステムの両オンチップバスシステム周波数に同期させることができるか、又は、トランスパレントなインタフェースは、それらの両オンチップバスシステムのオンチップバスシステム周波数を同期させることができる。
また、第1のオンチップバスシステムの第1のオンチップバスプロトコル及び第2のオンチップバスシステムの第2のオンチップバスプロトコルを、相互的に非同期モードで動作するようにコンフィギュレートすることもでき、また、トランスパレントなインタフェースを、第1のオンチップバスシステム又は第2のオンチップバスシステムのいずれか一方にのみ同期させることができる。第1のオンチップバスシステムは、第1のオンチップバスシステム及び第2のオンチップバスシステムの動作に対応するクロックを発生するようにコンフィギュレートされている位相同期回路又はクロックを含むこともできる。
また本方法は、調停コンポーネント306を介して、アドレスマップのアドレスに対応する優先順位を求め、第1のSoCインタフェースの第1のオンチップバスプロトコル及び第2のSoCインタフェースの第2のオンチップバスプロトコルに基づいた、アドレスマップのアドレスとの通信を調停するステップも有することができる。更に本方法は、第1のNVM互換SoC又は第2のSoCコンポーネントのうちの一方から、アクセスセーフティコンポーネント310によって、第1のNVM互換SoCにおいて使用される第1のオンチップバスプロトコルも、第2のSoCコンポーネントにおいて使用される第2のオンチップバスプロトコルも含ませるために、トランスパレントなインタフェースを介して、付加的な誤り訂正符号保護を拡張するステップを有している。更に、本方法は、割り込みコンポーネント308を介して、第1のNVM互換SoC及び第2のSoCコンポーネントのマスタコアプロセッサ及びスレーブプロセッサ間において、トランスパレントなインタフェースを介する割り込みノードのマッピングによって割り込み信号をルーティングするステップを有することができる。
要約書の記載も含めた、本明細書の図示の実施の形態の上記の説明は、開示した実施の形態が、網羅的なものであることは意図しておらず、また、開示されたまさにその形態に限定されることも意図していない。特定の実施の形態及び実施例を、本明細書において、例示を目的として説明したが、当業者であれば認識できる、そのような実施の形態及び実施例の範囲内にあるとみなせる種々の変更が可能である。これに関して、開示した主たる対象を、種々の実施の形態及び対応する適切な図面に関連させて説明したが、本発明から逸脱することなく、その他の類似の実施の形態も使用できるか、若しくは、同一の、類似の、代替的な又は置換的な機能を実行するために、開示した実施の形態を変更又は補完できると解される。従って、開示した主たる対象は、本明細書において説明したいずれかの単一の実施の形態に制限されるべきではなく、むしろ、添付の特許請求の範囲に従った範囲にあると考えられるべきである。
例1は、マルチチップアーキテクチャのためのシステムであって、このシステムは、第1のコア、1つ又は複数の第1の周辺コンポーネント及び第1のシステムアドレスマップを有している第1のオンチップバスシステムを含んでいる1つの基板上に設けられている第1のシステムオンチップ(SoC)と、第2のコア、1つ又は複数の第2のオンチップ周辺コンポーネント及び第2のシステムアドレスマップを有している第2のオンチップバスシステムを含んでいる第2のSoCと、トランスパレントなインタフェースと、を含んでおり、第1のオンチップバスシステムは、第1のシステムアドレスマップに基づいて第1のコアと1つ又は複数の第1の周辺コンポーネントとの間での第1のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、第2のオンチップバスシステムは、第2のコアと1つ又は複数の第2の周辺コンポーネントとの間での第2のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、また、トランスパレントなインタフェースは、第1のSoCの第1のオンチップバスシステムと、第2のSoCの第2のオンチップバスシステムと、が相互に通信を行うように接続されていることに応じて、ユニークで相互に重複しないアドレスを含む複数のアドレスを有している一貫したシステムアドレスマップに基づいて、それらのオンチップバスシステム間の通信を実現するようにコンフィギュレートされている。
例2は、例1の主たる対象を含み、第1のコアが、第1のオンチップバスプロトコルを介して、第1の周波数で動作するようにコンフィギュレートされている第1のコンピュータ処理ユニット(CPU)を含んでおり、第2のコアが、第2のオンチップバスプロトコルを介して、第1の周波数とは異なる第2の周波数で動作するようにコンフィギュレートされている第2のCPUを含んでいる。
例3は、いずれかの要素を包含又は省略した、例1又は例2のいずれか1つの主たる対象を含み、第1のオンチップバスシステムの第1のオンチップバスプロトコル及び第2のオンチップバスシステムの第2のオンチップバスプロトコルが、相互的に同期モードで動作するようにコンフィギュレートされており、トランスパレントなインタフェースが、第1のオンチップバスシステムのオンチップバス周波数及び第2のオンチップバスシステムのオンチップバス周波数の両方に同期されている。
例4は、いずれかの要素を包含又は省略した、例1から例3のいずれか1つの主たる対象を含み、第1のオンチップバスシステムの第1のオンチップバスプロトコル及び第2のオンチップバスシステムの第2のオンチップバスプロトコルが、相互的に非同期モードで動作するようにコンフィギュレートされており、トランスパレントなインタフェースが、第1のオンチップバスシステム又は第2のオンチップバスシステムのいずれか一方にのみ同期されている。
例5は、いずれかの要素を包含又は省略した、例1から例4のいずれか1つの主たる対象を含み、第1のオンチップバスシステムが、第1のオンチップバスシステム及び第2のオンチップバスシステムの動作に対応するクロックを発生するようにコンフィギュレートされている位相同期回路を含んでいる。
例6は、いずれかの要素を包含又は省略した、例1から例5のいずれか1つの主たる対象を含み、第1のSoCが、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている第2のSoCの第2の寸法とは異なり、且つ、1つ又は複数の第1の周辺コンポーネントのフラッシュメモリとの通信に関する互換性を実現する第1の寸法を用いる、不揮発性メモリ互換ベースのテクノロジに従いコンフィギュレートされており、トランスパレントなインタフェースが、更に、第2のオンチップバスシステムとフラッシュメモリとの間の通信を実現するようにコンフィギュレートされている。
例7は、いずれかの要素を包含又は省略した、例1から例6のいずれか1つの主たる対象を含み、更に、第1のSoC又は第2のSoCの故障の検出に応答して、第1のSoC又は第2のSoCの故障していない方のSoCがトランスパレントなインタフェースを介してサブシステムを動作できるようにコンフィギュレートされているフォールバックコンポーネントを含んでいる。
例8は、いずれかの要素を包含又は省略した、例1から例7のいずれか1つの主たる対象を含み、第1のオンチップバスシステムは、第2のオンチップバスシステムの第2の調停コンポーネントが少なくとも部分的に割り込み禁止状態である間に、第1のSoCの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第1の調停コンポーネントを含んでおり、第2の調停コンポーネントからのアクセス許可と、第1のSoCの複数のマスタエージェントからのアクセス許可と、を結合する。
例9は、いずれかの要素を包含又は省略した、例1から例8のいずれか1つの主たる対象を含み、トランスパレントなインタフェースが、更に、第1のSoCと第2のSoCとの間で、ユニークで重複しないアドレスを有している、一貫したシステムアドレスマップの適用範囲をトランスパレントに拡張するように、第1のSoC及び第2のSoCの誤り訂正符号/誤り検出符号を実現することによって、第1のオンチップバスプロトコルと第2のオンチップバスプロトコルとの間の保護コンポーネントを提供するようにコンフィギュレートされている。
例10は、いずれかの要素を包含又は省略した、例1から例9のいずれか1つの主たる対象を含み、第1のオンチップバスシステムが、第2のSoCにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、トランスパレントなインタフェースを介して第2のオンチップバスシステムの第2の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第1の割り込みコンポーネントを含んでいる。
例11は、いずれかの要素を包含又は省略した、例1から例10のいずれか1つの主たる対象を含み、第1のオンチップバスシステム及び第2のオンチップバスシステムが、1つ又は複数のユニークなタグ識別子(ID)を1つ又は複数のマスタエージェントに割り当てるようにコンフィギュレートされている1つ又は複数のアクセス保護コンポーネントを含んでおり、1つ又は複数のユニークなタグIDによって、スレーブエージェントが対応するマスタエージェントを識別することができ、更に、1つ又は複数のユニークなタグIDに基づいて、トランスパレントなインタフェースを介して、1つ又は複数の第1のオンチップ周辺コンポーネント若しくは1つ又は複数の第2のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる。
例12は、システムのための方法であり、この方法は、第1のシステムオンチップ(SoC)における第1のオンチップバスを介して、同一の基板に設けられている、第1のコアと、多数ある第1の周辺コンポーネントのうちの1つ又は複数の周辺コンポーネントと、の間で、複数の第1の周辺コンポーネント及び第1のコアに対応する第1のアドレスを有している第1のシステムアドレスマップに基づいて通信を行うステップと、第2のSoCにおける第2のオンチップバスを介して、第2のSoCの第2のコアと、多数ある第2の周辺コンポーネントのうちの1つ又は複数の周辺コンポーネントと、の間で、複数の第2の周辺コンポーネント及び第2のコアに対応するアドレスを有している第2のシステムアドレスマップに基づいて通信を行うステップと、トランスパレントなインタフェースを介して、第1のシステムアドレスマップ及び第2のシステムアドレスマップのユニークで重複しないアドレスを含んでいるシステムアドレスに基づいて、第1のSoCと第2のSoCとの間の通信を実現するステップと、を有している。
例13は、例12の主たる対象を含み、更に、トランスパレントなインタフェースを介して、第1のSoC及び第2のSoCのマスタエージェントから、複数の第1の周辺コンポーネント又は複数の第2の周辺コンポーネントに対応するシステムアドレスマップのユニークで重複しないアドレスへのアクセス要求を調停するステップを有している。
例14は、いずれかの要素を包含又は省略した、例12又は例13のいずれか1つの主たる対象を含み、アクセス要求の調停が、更に、ハンドシェイクプロトコルを介して、第1のオンチップバスの第1の調停コンポーネントと第2のオンチップバスの第2の調停コンポーネントとの間の調停を同期させるステップと、ハンドシェイクプロトコルに応答して、第1のオンチップバスの第1の調停コンポーネントを介して、第1のSoCのマスタエージェントからのアクセス要求を調停し、第2のオンチップバスの第2の調停コンポーネントを割り込み禁止状態にするステップと、第1のSoCのマスタエージェントからのアクセス許可及び第2のSoCのマスタエージェントからのアクセス許可を結合するステップと、を有している。
例15は、いずれかの要素を包含又は省略した、例12から例14のいずれか1つの主たる対象を含み、更に、第1のオンチップバスによって使用される第1のオンチップバスプロトコル及び第2のオンチップバスによって使用される第2のオンチップバスプロトコルの両オンチップバスプロトコルを含むように、トランスパレントなインタフェースを介して、誤り訂正符号保護/誤り検出符号保護を拡張するステップを有している。
例16は、いずれかの要素を包含又は省略した、例12から例15のいずれか1つの主たる対象を含み、更に、第1のコアを1つ又は複数の第1のコンピュータ処理ユニットと共に動作させ、第2のコアを、第1のコンピュータ処理ユニットとは異なる動作周波数を有している1つ又は複数の第2のコンピュータ処理ユニットと共に動作させるステップを有している。
例17は、いずれかの要素を包含又は省略した、例12から例16のいずれか1つの主たる対象を含み、更に、第1のSoCの寸法よりも小さく、且つ、第2のオンチップバスを第2のSoCにおけるいずれの不揮発性メモリとも非互換性にする寸法を有している第2のSoCから、第1のSoCにおける複数の第1の周辺コンポーネントの不揮発性メモリへの通信をトランスパレントなインタフェースを介して実現するステップを有している。
例18は、マルチチップアーキテクチャのための装置であり、この装置は、第1のシステムオンチップ(SoC)及びトランスパレントなインタフェースを含んでおり、第1のSoCは、1つの基板上に第1のコア及び1つ又は複数の第1の周辺コンポーネントを有しており、また、第1のオンチップバスの第1のオンチップバスプロトコルを介して、第1のコア及び1つ又は複数の第1の周辺コンポーネントに対応する第1の複数のアドレスを有している第1のシステムマップに基づいて、第1のコアと1つ又は複数の周辺コンポーネントとの間の通信を実現するようにコンフィギュレートされており、トランスパレントなインタフェースは、第1のオンチップバスと第2のSoCの第2のオンチップバスとが相互に接続された場合に、第1のオンチップバスと第2のオンチップバスとの間の通信を、第1のコア、1つ又は複数の周辺コンポーネント、第2のSoCの第2のコア及び第2のSoCの1つ又は複数の第2の周辺コンポーネントに対応するユニークで重複しないアドレスを含んでいる一貫したシステムアドレスマップに基づいて実現するようにコンフィギュレートされており、第2のコア及び1つ又は複数の第2の周辺コンポーネントは、第2のシステムマップに基づいて、第2のオンチップバスを介して相互に通信を行うようにコンフィギュレートされている。
例19は、いずれかの要素を包含又は省略した、例18の主たる対象を含み、第1のオンチップバスシステムは、第2のオンチップバスシステムの第2の調停コンポーネントが少なくとも部分的に割り込み禁止状態である間に、第1のSoCの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第1の調停コンポーネントを含んでおり、スレーブエージェントへのアクセスに関して勝者となった許可を特定するために、第2の調停コンポーネントからのアクセス許可と、第1のSoCの複数のマスタエージェントからのアクセス許可と、を結合する。
例20は、いずれかの要素を包含又は省略した、例18又は例19の主たる対象を含み、第1のSoC及び第2のSoCが、同一の基板において相互に接続されており、第1のSoC又は第2のSoCのうちの一方が、物理的な接続パッドを含んでおり、第1のSoC又は第2のSoCのうちの他方が、物理的な接続パッドを含んでおらず、物理的な接続パッドを介して、外部コンポーネントと通信するようにコンフィギュレートされている。
例21は、いずれかの要素を包含又は省略した、例18から例20のいずれか1つの主たる対象を含み、トランスパレントなインタフェースが、第1のSoCと第2のSoCとの間の通信の同期を制御するために、第1のSoC又は第2のSoCの一方に設けられている単一の位相同期回路を使用する。
例22は、いずれかの要素を包含又は省略した、例18から例21のいずれか1つの主たる対象を含み、トランスパレントなインタフェースが、第2のオンチップバスシステムと、第1のSoCの1つ又は複数の第1の周辺コンポーネントのフラッシュメモリと、の間の通信を実現するようにコンフィギュレートされており、第1のSoCが、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている第2のSoCのより小さい寸法よりも大きく、且つ、1つ又は複数の第1の周辺コンポーネントのフラッシュメモリとの通信を実現する寸法を用いる、不揮発性メモリ互換ベースのテクノロジに従いコンフィギュレートされている。
例23は、いずれかの要素を包含又は省略した、例18から例22のいずれか1つの主たる対象を含み、第1のオンチップバスシステム及び第2のオンチップバスシステムが、1つ又は複数のユニークなタグ識別子(ID)を1つ又は複数のマスタに割り当てるようにコンフィギュレートされている1つ又は複数のアクセス保護コンポーネントを含んでおり、1つ又は複数のユニークなタグIDによって、スレーブエージェントが、対応するマスタエージェントを識別することができ、更に、1つ又は複数のユニークなタグIDに基づいて、トランスパレントなインタフェースを介して、1つ又は複数の第1のオンチップ周辺コンポーネント若しくは1つ又は複数の第2のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる。
例24は、いずれかの要素を包含又は省略した、例18から例23のいずれか1つの主たる対象を含み、第1のオンチップバスシステムが、第2のSoCにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、トランスパレントなインタフェースを介して第2のオンチップバスシステムの第2の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第1の割り込みコンポーネントを含んでいる。
例25は、いずれかの要素を包含又は省略した、例18から例24のいずれか1つの主たる対象を含み、第1のSoCが更に、1つ又は複数の割り込みトリガを1つ又は複数の専用割り込みトリガコネクションを介して、第2のSoCにおける割り込みサービスプロバイダにシグナリングするようにコンフィギュレートされている。
特に、上述のコンポーネント又は構造(アセンブリ、デバイス、回路、システム等)によって実行される種々の機能に関して、そのようなコンポーネントを説明するために使用した種々の用語(「手段」の参照も含む)は、別個に記載がない限りは、たとえ本明細書における本発明の図示の実施例において機能を実行する上述の構造と構造的に等価でない場合であっても、(例えば機能的に等価である)説明したコンポーネントの特定の機能を実行するいずれかのコンポーネント又は構造に対応することが意図されている。更に、特定の特徴を、種々の実施の形態のうちの1つについてのみ関連させて開示したが、そのような特徴を、所望のように、また、いずれかの所定の又は特定の用途にとって有利であるように、その他の実施の形態の1つ又は複数の別の特徴と組み合わせることができる

Claims (25)

  1. マルチチップアーキテクチャのためのシステムにおいて、
    前記システムは、第1のシステムオンチップ(SoC)と、第2のSoCと、トランスパレントなインタフェースと、を含んでおり、
    前記第1のSoCは、1つの基板上に設けられており、且つ、第1のコアと、1つ又は複数の第1の周辺コンポーネントと、第1のシステムアドレスマップを有している第1のオンチップバスシステムと、を含んでおり、前記第1のオンチップバスシステムは、前記第1のシステムアドレスマップに基づいて前記第1のコアと前記1つ又は複数の第1の周辺コンポーネントとの間での第1のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、
    前記第2のSoCは、第2のコアと、1つ又は複数の第2のオンチップ周辺コンポーネントと、第2のシステムアドレスマップを有している第2のオンチップバスシステムと、を含んでおり、前記第2のオンチップバスシステムは、前記第2のコアと前記1つ又は複数の第2の周辺コンポーネントとの間での第2のオンチップバスプロトコルを用いたアクセスを実現するようにコンフィギュレートされており、
    前記トランスパレントなインタフェースは、前記第1のSoCの前記第1のオンチップバスシステムと、前記第2のSoCの前記第2のオンチップバスシステムと、が相互に通信を行うように接続されていることに応じて、ユニークで相互に重複しないアドレスを含む複数のアドレスを有している一貫したシステムアドレスマップに基づいて、前記第1のオンチップバスシステムと前記第2のオンチップバスシステムとの間の通信を実現するようにコンフィギュレートされている、
    ことを特徴とする、システム。
  2. 前記第1のコアは、前記第1のオンチップバスプロトコルを介して、第1の周波数で動作するようにコンフィギュレートされている第1のコンピュータ処理ユニット(CPU)を含んでおり、
    前記第2のコアは、前記第2のオンチップバスプロトコルを介して、前記第1の周波数とは異なる第2の周波数で動作するようにコンフィギュレートされている第2のCPUを含んでいる、
    請求項1に記載のシステム。
  3. 前記第1のオンチップバスシステムの前記第1のオンチップバスプロトコル及び前記第2のオンチップバスシステムの前記第2のオンチップバスプロトコルは、相互的に同期モードで動作するようにコンフィギュレートされており、
    前記トランスパレントなインタフェースは、前記第1のオンチップバスシステムのオンチップバス周波数及び前記第2のオンチップバスシステムのオンチップバス周波数の両方に同期されている、
    請求項1に記載のシステム。
  4. 前記第1のオンチップバスシステムの前記第1のオンチップバスプロトコル及び前記第2のオンチップバスシステムの前記第2のオンチップバスプロトコルは、相互的に非同期モードで動作するようにコンフィギュレートされており、
    前記トランスパレントなインタフェースは、前記第1のオンチップバスシステム又は前記第2のオンチップバスシステムのいずれか一方にのみ同期されている、
    請求項1に記載のシステム。
  5. 前記第1のオンチップバスシステムは、前記第1のオンチップバスシステム及び前記第2のオンチップバスシステムの動作に対応するクロックを発生するようにコンフィギュレートされている位相同期回路又はクロックを含んでいる、
    請求項1に記載のシステム。
  6. 前記第1のSoCは、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている前記第2のSoCの第2の寸法とは異なり、且つ、前記1つ又は複数の第1の周辺コンポーネントのフラッシュメモリとの通信に関する互換性を実現する第1の寸法を用いる、不揮発性メモリ互換ベースのテクノロジに従いコンフィギュレートされており、
    前記トランスパレントなインタフェースは、更に、前記第2のオンチップバスシステムと前記フラッシュメモリとの間の通信を実現するようにコンフィギュレートされている、
    請求項1に記載のシステム。
  7. 更に、前記第1のSoC又は前記第2のSoCの故障の検出に応答して、前記第1のSoC又は前記第2のSoCの故障していない方のSoCが前記トランスパレントなインタフェースを介してサブシステムを動作できるようにコンフィギュレートされているフォールバックコンポーネントを含んでいる、
    請求項1に記載のシステム。
  8. 前記第1のオンチップバスシステムは、前記第2のオンチップバスシステムの第2の調停コンポーネントが少なくとも部分的に割り込み禁止状態である間に、前記第1のSoCの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第1の調停コンポーネントを含んでおり、前記第2の調停コンポーネントからのアクセス許可と、前記第1のSoCの前記複数のマスタエージェントからのアクセス許可と、を結合する、
    請求項1に記載のシステム。
  9. 前記トランスパレントなインタフェースは、更に、前記第1のSoCと前記第2のSoCとの間で、前記ユニークで重複しないアドレスを有している前記一貫したシステムアドレスマップの適用範囲をトランスパレントに拡張するように、前記第1のSoC及び前記第2のSoCの誤り訂正符号/誤り検出符号を実現することによって、前記第1のオンチップバスプロトコルと前記第2のオンチップバスプロトコルとの間の保護コンポーネントを提供するようにコンフィギュレートされている、
    請求項1に記載のシステム。
  10. 前記第1のオンチップバスシステムは、前記第2のSoCにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、前記トランスパレントなインタフェースを介して前記第2のオンチップバスシステムの第2の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第1の割り込みコンポーネントを含んでいる、
    請求項1に記載のシステム。
  11. 前記第1のオンチップバスシステム及び前記第2のオンチップバスシステムは、1つ又は複数のユニークなタグ識別子(ID)を1つ又は複数のマスタエージェントに割り当てるようにコンフィギュレートされている1つ又は複数のアクセス保護コンポーネントを含んでおり、
    前記1つ又は複数のユニークなタグIDによって、スレーブエージェントは、対応するマスタエージェントを識別することができ、更に、前記1つ又は複数のユニークなタグIDに基づいて、前記トランスパレントなインタフェースを介して、前記1つ又は複数の第1のオンチップ周辺コンポーネント若しくは前記1つ又は複数の第2のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる、
    請求項1に記載のシステム。
  12. システムのための方法において、
    前記方法は、
    第1のシステムオンチップ(SoC)における第1のオンチップバスを介して、同一の基板に設けられている、第1のコアと、複数の第1の周辺コンポーネントのうちの1つ又は複数の周辺コンポーネントと、の間で、前記複数の第1の周辺コンポーネント及び前記第1のコアに対応する第1のアドレスを有している第1のシステムアドレスマップに基づいて通信を行うステップと、
    第2のSoCにおける第2のオンチップバスを介して、前記第2のSoCの第2のコアと、複数の第2の周辺コンポーネントのうちの1つ又は複数の周辺コンポーネントと、の間で、前記複数の第2の周辺コンポーネント及び前記第2のコアに対応するアドレスを有している第2のシステムアドレスマップに基づいて通信を行うステップと、
    トランスパレントなインタフェースを介して、前記第1のシステムアドレスマップ及び前記第2のシステムアドレスマップのユニークで重複しないアドレスを含んでいるシステムアドレスに基づいて、前記第1のSoCと前記第2のSoCとの間の通信を実現するステップと、
    を有していることを特徴とする、方法。
  13. 更に、前記トランスパレントなインタフェースを介して、前記第1のSoC及び前記第2のSoCのマスタエージェントから、前記複数の第1の周辺コンポーネント又は前記複数の第2の周辺コンポーネントに対応する前記システムアドレスマップの前記ユニークで重複しないアドレスへのアクセス要求を調停するステップを有している、
    請求項12に記載の方法。
  14. 前記アクセス要求の前記調停が、更に、
    ハンドシェイクプロトコルを介して、前記第1のオンチップバスの第1の調停コンポーネントと前記第2のオンチップバスの第2の調停コンポーネントとの間の調停を同期させるステップと、
    前記ハンドシェイクプロトコルに応答して、前記第1のオンチップバスの前記第1の調停コンポーネントを介して、前記第1のSoCの前記マスタエージェントからのアクセス要求を調停し、前記第2のオンチップバスの第2の調停コンポーネントを割り込み禁止状態にするステップと、
    前記第1のSoCのマスタエージェントからのアクセス許可及び前記第2のSoCのマスタエージェントからのアクセス許可を結合するステップと、を有している、
    請求項13に記載の方法。
  15. 更に、前記第1のオンチップバスによって使用される第1のオンチップバスプロトコル及び前記第2のオンチップバスによって使用される第2のオンチップバスプロトコルの両オンチップバスプロトコルを含むように、前記トランスパレントなインタフェースを介して、誤り訂正符号保護/誤り検出符号保護を拡張するステップを有している、
    請求項12に記載の方法。
  16. 更に、前記第1のコアを1つ又は複数の第1のコンピュータ処理ユニットと共に動作させ、前記第2のコアを、前記第1のコンピュータ処理ユニットとは異なる動作周波数を有している1つ又は複数の第2のコンピュータ処理ユニットと共に動作させるステップを有している、
    請求項12に記載の方法。
  17. 更に、前記第1のSoCの寸法よりも小さく、且つ、前記第2のオンチップバスを前記第2のSoCにおけるいずれの不揮発性メモリとも非互換性にする寸法を有している前記第2のSoCから、前記第1のSoCにおける前記複数の第1の周辺コンポーネントの不揮発性メモリへの通信を前記トランスパレントなインタフェースを介して実現するステップを有している、
    請求項12に記載の方法。
  18. マルチチップアーキテクチャのための装置において、
    前記装置は、第1のシステムオンチップ(SoC)及びトランスパレントなインタフェースを含んでおり、
    前記第1のSoCは、1つの基板上に第1のコア及び1つ又は複数の第1の周辺コンポーネントを有しており、且つ、第1のオンチップバスの第1のオンチップバスプロトコルを介して、前記第1のコア及び前記1つ又は複数の第1の周辺コンポーネントに対応する第1の複数のアドレスを有している第1のシステムマップに基づいて、前記第1のコアと前記1つ又は複数の周辺コンポーネントとの間の通信を実現するようにコンフィギュレートされており、
    前記トランスパレントなインタフェースは、前記第1のオンチップバスと第2のSoCの第2のオンチップバスとが相互に接続された場合に、前記第1のオンチップバスと前記第2のオンチップバスとの間の通信を、前記第1のコア、前記1つ又は複数の周辺コンポーネント、前記第2のSoCの第2のコア及び前記第2のSoCの1つ又は複数の第2の周辺コンポーネントに対応するユニークで重複しないアドレスを含んでいる一貫したシステムアドレスマップに基づいて実現するようにコンフィギュレートされており、前記第2のコア及び前記1つ又は複数の第2の周辺コンポーネントは、第2のシステムマップに基づいて、前記第2のオンチップバスを介して相互に通信を行うようにコンフィギュレートされている、
    ことを特徴とする、装置。
  19. 前記第1のオンチップバスシステムは、前記第1のSoCの複数のマスタエージェントからのアクセス要求の調停を制御するようにコンフィギュレートされている第1の調停コンポーネントを含んでおり、前記第2のオンチップバスシステムの第2の調停コンポーネントは、少なくとも部分的に割り込み禁止状態であり、スレーブエージェントへのアクセスに関して勝者となった許可を特定するために、前記第2の調停コンポーネントからのアクセス許可と、前記第1のSoCの前記複数のマスタエージェントからのアクセス許可と、を結合する、
    請求項18に記載の装置。
  20. 前記第1のSoC及び前記第2のSoCは、同一の基板において相互に接続されており、前記第1のSoC又は前記第2のSoCのうちの一方が、物理的な接続パッドを含んでおり、前記第1のSoC又は前記第2のSoCのうちの他方が、物理的な接続パッドを含んでおらず、前記物理的な接続パッドを介して、外部コンポーネントと通信するようにコンフィギュレートされている、
    請求項18に記載の装置。
  21. 前記トランスパレントなインタフェースは、前記第1のSoCと前記第2のSoCとの間の通信の同期を制御するために、前記第1のSoC又は前記第2のSoCの一方に設けられている単一の位相同期回路を使用する、
    請求項18に記載の装置。
  22. 前記トランスパレントなインタフェースは、前記第2のオンチップバスシステムと、前記第1のSoCの前記1つ又は複数の第1の周辺コンポーネントのフラッシュメモリと、の間の通信を実現するようにコンフィギュレートされており、
    前記第1のSoCは、不揮発性メモリ非互換ベースのテクノロジに従いコンフィギュレートされている前記第2のSoCのより小さい寸法よりも大きく、且つ、前記1つ又は複数の第1の周辺コンポーネントのフラッシュメモリとの通信を実現する寸法を用いる、不揮発性メモリ互換ベースのテクノロジに従いコンフィギュレートされている、
    請求項18に記載の装置。
  23. 前記第1のオンチップバスシステム及び前記第2のオンチップバスシステムは、1つ又は複数のユニークなタグ識別子(ID)を1つ又は複数のマスタに割り当てるようにコンフィギュレートされている1つ又は複数のアクセス保護コンポーネントを含んでおり、
    前記1つ又は複数のユニークなタグIDによって、スレーブエージェントは、対応するマスタエージェントを識別することができ、更に、前記1つ又は複数のユニークなタグIDに基づいて、前記トランスパレントなインタフェースを介して、前記1つ又は複数の第1のオンチップ周辺コンポーネント若しくは前記1つ又は複数の第2のオンチップ周辺コンポーネントにトランスパレントにアクセスすることができる、
    請求項18に記載の装置。
  24. 前記第1のオンチップバスシステムは、前記第2のSoCにマッピングされた複数の割り込みを調停し、勝者となった割り込み信号を、前記トランスパレントなインタフェースを介して前記第2のオンチップバスシステムの第2の割り込みコンポーネントにルーティングするようにコンフィギュレートされている第1の割り込みコンポーネントを含んでいる、
    請求項18に記載の装置。
  25. 前記第1のSoCは、更に、1つ又は複数の割り込みトリガを1つ又は複数の専用割り込みトリガコネクションを介して、前記第2のSoCにおける割り込みサービスプロバイダにシグナリングするようにコンフィギュレートされている、
    請求項24に記載の装置。
JP2017090089A 2016-04-28 2017-04-28 ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ Active JP6436512B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018210728A JP6895939B2 (ja) 2016-04-28 2018-11-08 ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/140,815 US9946674B2 (en) 2016-04-28 2016-04-28 Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
US15/140,815 2016-04-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2018210728A Division JP6895939B2 (ja) 2016-04-28 2018-11-08 ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ

Publications (2)

Publication Number Publication Date
JP2017199371A true JP2017199371A (ja) 2017-11-02
JP6436512B2 JP6436512B2 (ja) 2018-12-12

Family

ID=60081731

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017090089A Active JP6436512B2 (ja) 2016-04-28 2017-04-28 ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ
JP2018210728A Active JP6895939B2 (ja) 2016-04-28 2018-11-08 ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2018210728A Active JP6895939B2 (ja) 2016-04-28 2018-11-08 ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ

Country Status (3)

Country Link
US (2) US9946674B2 (ja)
JP (2) JP6436512B2 (ja)
DE (1) DE102017109163A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021520549A (ja) * 2018-04-03 2021-08-19 ザイリンクス インコーポレイテッドXilinx Incorporated システムオンチップインターフェースアーキテクチャ
JP2021520550A (ja) * 2018-04-03 2021-08-19 ザイリンクス インコーポレイテッドXilinx Incorporated デバイスにおけるデータ処理エンジン構成
JP2021532430A (ja) * 2018-04-03 2021-11-25 ザイリンクス インコーポレイテッドXilinx Incorporated データ処理エンジンアレイを有するデバイス

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946674B2 (en) * 2016-04-28 2018-04-17 Infineon Technologies Ag Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
WO2019148482A1 (en) 2018-02-05 2019-08-08 Cisco Technology, Inc. Configurable storage server with multiple sockets
US11379389B1 (en) 2018-04-03 2022-07-05 Xilinx, Inc. Communicating between data processing engines using shared memory
CN108845911B (zh) * 2018-05-31 2021-11-02 瑞芯微电子股份有限公司 一种soc芯片总线动态多级频率调整电路和方法
US11210095B2 (en) 2018-08-24 2021-12-28 Texas Instruments Incorporated Resource allocation in a multi-processor system
US11188312B2 (en) * 2019-05-23 2021-11-30 Xilinx, Inc. Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices
US10891132B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Flow convergence during hardware-software design for heterogeneous and programmable devices
US10891414B2 (en) 2019-05-23 2021-01-12 Xilinx, Inc. Hardware-software design flow for heterogeneous and programmable devices
US11301295B1 (en) 2019-05-23 2022-04-12 Xilinx, Inc. Implementing an application specified as a data flow graph in an array of data processing engines
US11335383B2 (en) * 2019-05-31 2022-05-17 Micron Technology, Inc. Memory component for a system-on-chip device
US10860762B2 (en) * 2019-07-11 2020-12-08 Intel Corpration Subsystem-based SoC integration
FR3103585B1 (fr) 2019-11-22 2023-04-14 Stmicroelectronics Grand Ouest Sas Procédé de gestion de la configuration d’accès à des périphériques et à leurs ressources associées d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
FR3103584B1 (fr) 2019-11-22 2023-05-05 St Microelectronics Alps Sas Procédé de gestion du débogage d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
FR3103586B1 (fr) * 2019-11-22 2023-04-14 St Microelectronics Alps Sas Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
US10977018B1 (en) 2019-12-05 2021-04-13 Xilinx, Inc. Development environment for heterogeneous devices
US11829168B2 (en) * 2019-12-08 2023-11-28 Qualcomm Incorporated Power management circuit including on-board current-sense resistor and on-die current sensor
US11487683B2 (en) 2020-04-15 2022-11-01 AyDeeKay LLC Seamlessly integrated microcontroller chip
US11443091B1 (en) * 2020-07-31 2022-09-13 Xilinx, Inc. Data processing engines with cascade connected cores
US11496418B1 (en) 2020-08-25 2022-11-08 Xilinx, Inc. Packet-based and time-multiplexed network-on-chip
US11288222B1 (en) 2020-09-28 2022-03-29 Xilinx, Inc. Multi-die integrated circuit with data processing engine array
CN112822124B (zh) * 2020-12-31 2022-11-22 深圳云天励飞技术股份有限公司 多芯片通信系统、方法、芯片及存储介质
CN112817907B (zh) * 2021-02-05 2023-03-21 中国电子科技集团公司第五十八研究所 互联裸芯扩展微系统及其扩展方法
US11336287B1 (en) 2021-03-09 2022-05-17 Xilinx, Inc. Data processing engine array architecture with memory tiles
US11520717B1 (en) 2021-03-09 2022-12-06 Xilinx, Inc. Memory tiles in data processing engine array
US11989144B2 (en) * 2021-07-30 2024-05-21 Advanced Micro Devices, Inc. Centralized interrupt handling for chiplet processing units
US11947835B2 (en) * 2021-09-21 2024-04-02 Black Sesame Technologies Inc. High-performance on-chip memory controller
US11640366B1 (en) * 2021-12-06 2023-05-02 Amazon Technologies, Inc. Address decoder for a multi-chip system
US11960392B1 (en) 2021-12-07 2024-04-16 Amazon Technologies, Inc. Configurable routing in a multi-chip system
US11848670B2 (en) 2022-04-15 2023-12-19 Xilinx, Inc. Multiple partitions in a data processing array

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131228A1 (en) * 2002-01-10 2003-07-10 Twomey John E. System on a chip for network storage devices
US8949474B1 (en) * 2011-11-21 2015-02-03 Marvell International Ltd. Method for inter-chip and intra-chip addressing using port identifiers and address mapping
US20150169495A1 (en) * 2013-12-12 2015-06-18 Marvell World Trade Ltd. Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
WO2015099719A1 (en) * 2013-12-26 2015-07-02 Intel Corporation Multichip package link
US20150249602A1 (en) * 2014-02-28 2015-09-03 Cavium, Inc. System on chip link layer protocol
US20150357306A1 (en) * 2012-12-23 2015-12-10 Advanced Micro Devices, Inc. Die-stacked device with partitioned multi-hop network

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353362B2 (en) * 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
WO2005050658A1 (en) 2003-11-24 2005-06-02 Koninklijke Philips Electronics N.V. Method and device for preventing erroneous programming of a magnetoresistive memory element
GB2416917A (en) 2004-07-30 2006-02-08 Univ Kent Canterbury Multiple chip semiconductor device
US7636816B2 (en) * 2006-09-29 2009-12-22 Broadcom Corporation Global address space management
GB2472029B (en) 2009-07-22 2011-11-23 Wolfson Microelectronics Plc Integrated circuit package
US8159009B2 (en) 2009-11-19 2012-04-17 Qualcomm Incorporated Semiconductor device having strain material
EP2333830B1 (en) 2009-12-07 2014-09-03 STMicroelectronics (Research & Development) Limited a package comprising a first and a second die coupled by a multiplexed bus
EP2330514B1 (en) 2009-12-07 2018-12-05 STMicroelectronics (Research & Development) Limited An integrated circuit package
EP2339476B1 (en) 2009-12-07 2012-08-15 STMicroelectronics (Research & Development) Limited Interface connecting dies in an IC package
EP2333673B1 (en) 2009-12-07 2014-04-16 STMicroelectronics (Research & Development) Limited Signal sampling and transfer
EP2339475A1 (en) 2009-12-07 2011-06-29 STMicroelectronics (Research & Development) Limited Inter-chip communication interface for a multi-chip package
WO2011107612A1 (en) 2010-03-05 2011-09-09 Imec Customizable interconnections between electronic circuits
EP2390792B1 (en) 2010-05-27 2014-04-16 STMicroelectronics (Grenoble 2) SAS Communication system and method
US9405700B2 (en) * 2010-11-04 2016-08-02 Sonics, Inc. Methods and apparatus for virtualization in an integrated circuit
US8347258B2 (en) 2011-02-16 2013-01-01 Stmicroelectronics (Grenoble 2) Sas Method and apparatus for interfacing multiple dies with mapping for source identifier allocation
US8521937B2 (en) 2011-02-16 2013-08-27 Stmicroelectronics (Grenoble 2) Sas Method and apparatus for interfacing multiple dies with mapping to modify source identity
KR101916985B1 (ko) 2011-07-06 2018-11-08 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) 두 개의 집적 회로 간의 트랜잭션 교환을 제어하는 방법
GB2493340A (en) 2011-07-28 2013-02-06 St Microelectronics Res & Dev Address mapping of boot transactions between dies in a system in package
GB2493195A (en) 2011-07-28 2013-01-30 St Microelectronics Res & Dev Address translation and routing between dies in a system in package.
US8893267B1 (en) * 2011-08-17 2014-11-18 Applied Micro Circuits Corporation System and method for partitioning resources in a system-on-chip (SoC)
TW201346572A (zh) * 2012-01-27 2013-11-16 Marvell World Trade Ltd 發送器設備及發送器系統
US9130557B2 (en) 2012-12-03 2015-09-08 Samsung Electronics Co., Ltd. Operating method of input/output interface
CN103150264B (zh) * 2013-01-18 2014-09-17 浪潮电子信息产业股份有限公司 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法
US9384136B2 (en) * 2013-04-12 2016-07-05 International Business Machines Corporation Modification of prefetch depth based on high latency event
US9465669B2 (en) * 2013-08-13 2016-10-11 Vmware, Inc. NUMA scheduling using inter-vCPU memory access estimation
GB2521121A (en) 2013-11-07 2015-06-17 St Microelectronics Res & Dev A method and apparatus use with interrupts
WO2015089058A1 (en) * 2013-12-12 2015-06-18 Marvell World Trade Ltd. Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
US9111647B2 (en) 2013-12-19 2015-08-18 Freescale Semiconductor, Inc. System in a package (SiP)
US10095631B2 (en) * 2015-12-10 2018-10-09 Arm Limited System address map for hashing within a chip and between chips
US9946674B2 (en) * 2016-04-28 2018-04-17 Infineon Technologies Ag Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131228A1 (en) * 2002-01-10 2003-07-10 Twomey John E. System on a chip for network storage devices
US8949474B1 (en) * 2011-11-21 2015-02-03 Marvell International Ltd. Method for inter-chip and intra-chip addressing using port identifiers and address mapping
US20150357306A1 (en) * 2012-12-23 2015-12-10 Advanced Micro Devices, Inc. Die-stacked device with partitioned multi-hop network
US20150169495A1 (en) * 2013-12-12 2015-06-18 Marvell World Trade Ltd. Method and apparatus for transferring information within and between system-on-chips via intra-chip and inter-chip hopping buses
WO2015099719A1 (en) * 2013-12-26 2015-07-02 Intel Corporation Multichip package link
US20150249602A1 (en) * 2014-02-28 2015-09-03 Cavium, Inc. System on chip link layer protocol

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021520549A (ja) * 2018-04-03 2021-08-19 ザイリンクス インコーポレイテッドXilinx Incorporated システムオンチップインターフェースアーキテクチャ
JP2021520550A (ja) * 2018-04-03 2021-08-19 ザイリンクス インコーポレイテッドXilinx Incorporated デバイスにおけるデータ処理エンジン構成
JP2021532430A (ja) * 2018-04-03 2021-11-25 ザイリンクス インコーポレイテッドXilinx Incorporated データ処理エンジンアレイを有するデバイス
JP7274500B2 (ja) 2018-04-03 2023-05-16 ザイリンクス インコーポレイテッド システムオンチップインターフェースアーキテクチャ
JP7398384B2 (ja) 2018-04-03 2023-12-14 ザイリンクス インコーポレイテッド デバイスにおけるデータ処理エンジン構成
US11972132B2 (en) 2018-04-03 2024-04-30 Xilinx, Inc. Data processing engine arrangement in a device

Also Published As

Publication number Publication date
US20180210852A1 (en) 2018-07-26
JP2019036360A (ja) 2019-03-07
US9946674B2 (en) 2018-04-17
US20170315944A1 (en) 2017-11-02
DE102017109163A1 (de) 2017-11-02
JP6895939B2 (ja) 2021-06-30
US10061729B2 (en) 2018-08-28
JP6436512B2 (ja) 2018-12-12

Similar Documents

Publication Publication Date Title
JP6436512B2 (ja) ハイエンドマイクロコントローラ用のマルチダイにおけるスケーラブルなマルチコア型のシステムオンチップアーキテクチャ
US11972132B2 (en) Data processing engine arrangement in a device
US10635622B2 (en) System-on-chip interface architecture
US10747690B2 (en) Device with data processing engine array
ES2830355T3 (es) Procedimiento, dispositivo y sistema para implementar el procesamiento de aceleración de hardware
TWI460581B (zh) 多核心動態配置發現方法及其微處理器
TWI506559B (zh) 可動態和選擇性停用核心以及重新設定之多核心微處理器及其方法
JP6660374B2 (ja) プログラマブル論理のためのメモリの仮想化
US11693808B2 (en) Multi-die integrated circuit with data processing engine array
US11372674B2 (en) Method, apparatus and system for handling non-posted memory write transactions in a fabric
CN103365801A (zh) 存储器系统、用于控制存储器系统的方法和信息处理设备
US9003092B2 (en) System on chip bus system and a method of operating the bus system
US11210252B1 (en) Directing control data between semiconductor packages
US10474380B2 (en) External memory controller
US11126372B2 (en) External memory controller
JP7383645B2 (ja) システムオンチップにおけるプログラマブル論理マスタのためのハードウェアベースの仮想-物理アドレス変換
JP5129040B2 (ja) 共有メモリを用いたバス通信装置
CN115203095A (zh) PCIe装置及其操作方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181108

R150 Certificate of patent or registration of utility model

Ref document number: 6436512

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250