(57)【要約】  本発明は、いわゆるシステムオンチップにおける、スレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）へのコントロール下のアクセスのための回路装置並びに方法に関する。ここで、システムオンチップのマスターユニット（ＭＡ）による、アクセスアドレス（ＺＡ）による、スレーブユニットへのアクセスがネットワークオンチップバスシステム（ＮｏＣ）を介して実行される。少なくとも１つのマスターユニットと、ネットワークオンチップバスシステムとの間に、メモリ保護ユニット（ＭＰＵ）が組み込まれている（１）。このメモリ保護ユニットによって、スレーブユニットへのマスターユニットのアクセス権限が、アクセスアドレスを所定のアドレス領域（ＡＤ１、ＡＤ２、ＡＤ３）と比較することによって検査される（２）。スレーブユニットへの、マスターユニットの、権限の無いアクセスの識別時に、アクセスアドレスが、メモリ保護ユニットによって、次のように修正される（３）。すなわち、権限の無いこのアクセスを、ネットワークオンチップバスシステム（ＮｏＣ）において終了させる（４）ように、修正される。
2016516228.tif 000002
【特許請求の範囲】
【請求項１】
システムオンチップにおけるいわゆるネットワークオンチップバスシステム（ＮｏＣ）を介した、少なくとも１つのスレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）への、少なくとも１つのマスターユニット（ＭＡ）によるコントロール下のアクセス方法であって、
前記少なくとも１つのスレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）は、殊にメモリユニット、および／または、入／出力ユニットであり、
前記ネットワークオンチップバスシステム（ＮｏＣ）を介した、前記少なくとも１つのスレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）への、前記少なくとも１つのマスターユニット（ＭＡ）のアクセスを、アクセスアドレス（ＺＡ）を用いて実施する方法において、
前記少なくとも１つのマスターユニット（ＭＡ）と、前記ネットワークオンチップバスシステム（ＮｏＣ）との間に、メモリ保護ユニット（ＭＰＵ）を組み込み（１）、
前記メモリ保護ユニット（ＭＰＵ）は、前記少なくとも１つのスレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）への、前記少なくとも１つのマスターユニット（ＭＡ）のアクセス権限を、前記アクセスアドレス（ＺＡ）を所定のアドレス領域（ＡＤ１、ＡＤ２、ＡＤ３）と比較することによって検査し（２）、
前記少なくとも１つのマスターユニット（ＭＡ）によるアクセスに権限が与えられていないことを識別すると、前記アクセスアドレス（ＺＡ）を、前記メモリ保護ユニット（ＭＰＵ）は次のように変更する（３）、すなわち、当該権限の無いアクセスを、前記ネットワークオンチップバスシステム（ＮｏＣ）において終了させる（４）ように変更する、
ことを特徴とする方法。
【請求項２】
前記少なくとも１つのマスターユニット（ＭＡ）によるアクセスに権限が与えられていない場合に、前記アクセスアドレス（ＺＡ）を、前記ネットワークオンチップバスシステム（ＮｏＣ）の当該マスターユニット（ＭＡ）に対して使用されていないアドレス領域（ｎＡ）にマッピングする（４）、請求項１記載の方法。
【請求項３】
前記ネットワークオンチップバスシステム（ＮｏＣ）において終了させられる（４）前記少なくとも１つのマスターユニット（ＭＡ）の権限の無いアクセスの場合に、いわゆる割り込みを送出する、請求項１または２記載の方法。
【請求項４】
前記少なくとも１つのマスターユニット（ＭＡ）は、前記少なくとも１つのスレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）への、少なくとも、書き込みおよび／または読み出しのためのアクセスに対して権限が与えられている、または、読み出しのためだけのアクセスに対して権限が与えられている、または、アクセスに対して権限が与えられていない、請求項１から３までのいずれか１項記載の方法。
【請求項５】
前記少なくとも１つのマスターユニット（ＭＡ）の前記アクセスアドレス（ＺＡ）との比較のための前記アドレス領域（ＡＤ１、ＡＤ２、ＡＤ３）をセキュリティアプリケーションによって設定し、前記メモリ保護ユニット（ＭＰＵ）のレジスタユニット（ＲＥ）内に前記アドレス領域（ＡＤ１、ＡＤ２、ＡＤ３）を格納する、請求項１から４までのいずれか１項記載の方法。
【請求項６】
初期化フェーズにおいて、レジスタインタフェース（ＲＳ）を介して、信頼できる、特別な構築マスターユニットによって前記メモリ保護ユニット（ＭＰＵ）を構築する、請求項１から５までのいずれか１項記載の方法。
【請求項７】
前記メモリ保護ユニット（ＭＰＵ）内に格納されている前記アドレス領域（ＡＤ１、ＡＤ２、ＡＤ３）を、レジスタインタフェース（ＲＳ）を介して、特別な暗号情報を用いて構築する、および／または、変更する、請求項１から５までのいずれか１項記載の方法。
【請求項８】
いわゆるシステムオンチップ内でのコントロール下のアクセスのための回路装置であって、
当該回路装置は、請求項１から７記載の本発明の方法を実施し、
当該回路装置は、少なくとも１つのマスターユニット（ＭＡ）と、少なくとも１つのスレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）と、いわゆるネットワークオンチップバスシステム（ＮｏＣ）とから成り、当該ネットワークオンチップバスシステム（ＮｏＣ）は、前記少なくとも１つのマスターユニット（ＭＡ）と前記少なくとも１つのスレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）とを接続する、回路装置において、
前記少なくとも１つのマスターユニット（ＭＡ）と前記ネットワークオンチップバスシステム（ＮｏＣ）との間にメモリ保護ユニット（ＭＰＵ）が組み込まれており、
前記メモリ保護ユニット（ＭＰＵ）は、アクセスアドレス（ＺＡ）を所定のアドレス領域（ＡＤ１、ＡＤ２、ＡＤ３）と比較することによってアクセスを検査するように構成され、並びに、前記少なくとも１つのスレーブユニット（Ｓ１、Ｓ２、Ｓ３、Ｓ４）への、前記少なくとも１つのマスターユニット（ＭＡ）によるアクセスに権限が与えられていない場合に、当該権限の無いアクセスが前記ネットワークオンチップバスシステム（ＮｏＣ）において終了させられるように、アクセスアドレス（ＺＡ）を修正するように構成されている、
ことを特徴する回路装置。
【請求項９】
前記メモリ保護ユニット（ＭＰＵ）は、アクセスアドレス（ＺＡ）を検査するための少なくとも１つのコントロール論理回路（ＫＬ）と、アクセスアドレス修正のための修正ユニット（ＭＯ）と、前記所定のアドレス領域（ＡＤ１、ＡＤ２、ＡＤ３）を格納するための少なくとも１つのレジスタユニット（ＲＥ）とを有している、請求項８記載の回路装置。
【請求項１０】
前記メモリ保護ユニット（ＭＰＵ）の前記少なくとも１つのレジスタユニット（ＲＥ）は、レジスタインタフェース（ＲＳ）を介して構築可能である、８または９記載の回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、電子回路および論理回路の分野に関し、殊に、いわゆる特定用途向け集積回路またはＡＳＩＣの分野に関する。特に本発明は、いわゆるシステムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および属する回路装置に関する。ここで、この回路装置は、少なくとも１つのマスターユニットと、複数の下位のスレーブユニットと、いわゆるネットワークオンチップバスシステムまたはＮｏＣとを有している。スレーブユニットへの、マスターユニットのアクセスは、ここで、アクセスアドレスを用いて、ネットワークオンチップバスシステムを介して行われる。
【０００２】
殊に、いわゆる集積回路として実現されている論理回路ないし電子回路は、今日、殊にコンピュータ技術において、各電子回路の基礎を成している。通常、このような電子回路ないしシステムは、個々の基板（例えば半導体基板等）上に収容され、相互に配線されている複数の電子部品ないしは電子回路またはいわゆる集積回路（ＩＣ）から成る。従って１つの集積回路は、多数の、種々異なる種類の部品並びに、単結晶基板上または単結晶基板内のコンダクターから成る。第１に、このような集積によって、広範囲にわたる機能および狭い空間での使用が可能になる。集積回路によってはじめて、多数の用途（例えばモバイル機器、ＳＩＭカード、ＲＦＩＤ、携帯電話等内での用途）が、技術的に実現可能になる。なぜなら、これらの用途は、そうでない場合には、（例えば、各機器等内への組み込みに対しては）しばしば、過度に高価、複雑、性能集約型、または大きくなってしまうからである。このような論路回路ないしは集積回路が特別な用途に向けて作成される場合、これらの回路は、特定用途向け集積回路ないし略してＡＳＩＣとも称される。
【０００３】
機器の小型化および集積度合いの恒常的な上昇によって、近年は、プロセッサ、コントローラ、記憶装置ユニット（例えばＲＡＭ、ＲＯＭ等）、電力管理システム部品等の部品を有する全てのシステムが、いわゆるチップまたはダイの上に収容されるようになった。このようなシステムは、システムオンチップまたはＳｏＣとも称され、殊に、移動無線領域において、組み込み型コンピュータ、スマートフォン、ＣＤ機器およびＤＶＤ機器および、比較的高い性能と、多様なタスクの下で、小さい寸法が好まれるあらゆる箇所で使用される。
【０００４】
システムオンチップ（ＳｏＣ）では、システムの機能の全てまたは大部分が、チップ上に集積されている。すなわち、集積回路において、半導体基板上に集積されている。通常、今日のシステムオンチップははじめから新たに開発されるのではなく、構想は少なくとも部分的に既に存在している、および／または、追加購入されるコンポーネントをベースにしている。これはいわゆる、ＩＰコアユニットまたはＩＰブロック（例えばプロセッサ、コントローラユニット、周辺機器ブロック等）である。これらのＩＰブロックは、例えば、完成したユニットとして、または、デザインライセンスとして入手され、新たなシステムオンチップ内で直接的に、または、適切な形態で使用される。これに加えて、システムオンチップの欠如しているユニットが、例えば、完成したＡＳＩＣのために開発される。
【０００５】
このようなシステムオンチップの複数のユニットは内部で、いわゆるバスシステムを介して、接続される。しばしば、殊に、複雑なシステムオンチップの場合には、ヒエラルキー構造のバスシステム、または、少なくともセグメント化されたバスシステムが使用される。このようなバスシステムは、例えば、迅速なシステムバス、より緩慢な周辺機器バス並びにレジスターバスないしは制御バスを含んでいる。システムオンチップのＩＰブロック（例えばプロセッサ、コントローラユニット、周辺機器ブロック等）間に、柔軟かつ効果的な通信接続を設計するアプローチは、いわゆるネットワークオンチップバスシステムまたはＮｏＣである。ネットワークオンチップバスシステムでは、情報が、システムオンチップの個々のＩＰブロック（例えばプロセッサ、記憶装置部材、コントローラ、周辺機器ユニット等）の間で、内部のバスを介して交換されるのではなく、分配箇所を有しているネットワークのように構想された、層状バスアーキテクチャーを介して交換される。ここで、システムオンチップのあるコンポーネントから他のコンポーネントへの情報ないしアクセスは、ソースコンポーネントから受信コンポーネントへの経路上で、例えば、ポイントツーポイント接続または多経路接続として、複数のリンクを介して接続される。これは例えば、パケット仲介ネットワークにおけるいわゆるルーティングの場合である。ソースコンポーネントから受信コンポーネントへの、情報リダイレクションないしアクセスはここで、例えばルーティングに使用されるアクセスアドレスを用いて行われる。
【０００６】
しばしば、１つのシステムオンチップの異なるコンポーネント間のアクセス、タスクの組織化および分配等のために、いわゆるマスタースレーブコンセプトが用いられる。このようにして、上位コンポーネント（いわゆるマスターユニット）と下位コンポーネント（いわゆるスレーブユニット）との間で各タスクが分配され、共通のリソース（例えば記憶ユニット等）へのアクセスの管理が調節される。次のような場合にマスタースレーブコンセプトが有利に使用される。すなわち、１つまたは複数のコンポーネント（例えばプロセッサ、コントローラ等）が、他のコンポーネント（例えば特別なプロセッサ、周辺機器ユニット等）の制御およびタスク分配を担う場合または他のコンポーネント（例えば記憶装置ユニット、バスシステム等）へのアクセスが調節される場合である。
【０００７】
システムオンチップに、高い安全性が要求されていることはほとんどない。従って、権限を有するアクセスを阻止するために、マスターユニットからスレーブユニットへのアクセスないしはアクセス権限をコントロールすることが必要である。システムオンチップ用の市場で通常に入手可能な中央処理ユニットコンポーネントないしＣＰＵの場合には、例えば、アクセスコントロールのために、いわゆる、メモリ管理ユニット（ＭＭＵ）またはメモリ保護ユニット（ＭＰＵ）が集積されている。このようなＭＭＵによってまたはＭＰＵによって、他のタスクの他に、メモリ保護タスクも調節される。このようにして、個々のメモリ領域または例えばコードの実行または書き込みのためのスレーブユニットへのアクセスが、各ＣＰＵによって阻止される。
【０００８】
しかし、システムオンチップは、通常、少なくとも１つのチップの他に、さらに、他のマスターユニットを有している。このマスターユニットから、システムオンチップのスレーブユニットへアクセスがなされる。ここではいわゆるダイレクトメモリアクセス（ＤＭＡ）が、１つのアクセスの様式である。ここでは、バスシステム（例えばＮｏＣ）を介して、マスターユニット（例えば周辺機器ユニット等）から、直接的に、スレーブユニットまたはメモリユニットへ、ＣＰＵに依存せずに、アクセスがされる。しかし目下のところは、システムオンチップの他のＩＰコンポーネント（例えばプロセッサ等）によるアクセスのコントロールは行われていない。従って、例えば、スレーブユニットへの権限の無いアクセスがＤＭＡによって行われ得る。これは安全を脅かす。
【０００９】
欧州特許出願公開第２４６１２５１号明細書から、例えば、記憶ユニットへのアクセスをコントロールするための方法が公知である。ここでは、各プロセッサユニットに、１つのメモリ保護ユニットが割り当てられている。このメモリ保護ユニットによって、システムバスを介して、メモリユニットへの接続が形成される。メモリユニットへのプロセッサユニットのアクセスは、この場合、常に、このメモリ保護ユニットを介して行われる。ここで、プロセッサのアクセスは、種々のアクセス権限を示す、ないしは、プロセッサの特定の用途のためのメモリ領域がブロックされ得る。欧州特許出願公開第２４６１２５１号明細書に記載されている方法では、次に、アクセスは、各属するメモリ保護ユニットの２つのアクセスコントロールユニットのプロセッサによって検査され、このアクセスが２つのアクセスコントロールユニットによって、権限を有するとみなされた場合にのみ許可される。ここで、例えば、メモリ保護ユニットの第１のアクセスコントロールユニット内に、プロセッサのどのアプリケーションがどのメモリ領域にアクセスすることができるか、という情報が格納されており、メモリ保護ユニットの第２のアクセスコントロールユニット内には、相応するアクセス様式ないしはアクセス権限（例えば書き込み／読み出しアクセス、読み出しアクセス等）が格納されている。これによって、欧州特許出願公開第２４６１２５１号明細書に開示されている方法は、次のような欠点を有する。すなわち、メモリユニットへの、コントロール下のアクセスのために、多くのコストが、殊に、メモリ保護ユニットのアクセスコントロールユニットのプログラミングにおいて、必要になってしまう、という欠点を有する。各メモリ保護ユニットは別個にプログラミングされるべきであり、特に、属するプロセッサのアプリケーションに相応してプログラミングされなければならない。さらに、２つのアクセスコントロールユニットによってアクセスを二重にチェックすることによって、プロセッサのアクセス時に時間遅延が生じる。これも考慮されなければならない。
【００１０】
システムオンチップ内のスレーブユニットへのアクセスのコントロールを可能にする他の方法は、例えば、使用されている各バスシステム内、例えばネットワークオンチップバスシステムへのＭＰＵ保護機能またはメモリ保護機能の組み込みである。しかしこの方法は、次のような欠点を有している。すなわち、これによって、バスシステムの機能が拡張されなければならない、という欠点を有している。これは、しばしば高いコストと結び付く。なぜなら、例えば、システムオンチップ用のネットワークオンチップバスシステムも、いわゆるＩＰコンポーネントとして追加購入される場合があり、この場合には、例えば特別に、メモリ保護機能が追加されなければならないからである。場合によっては、このような機能拡張はさらに、アクセス時の時間遅延、または、アクセス時間の延長を生じさせてしまうことがある。これは、システムオンチップの性能を格段に妨害し得る。
【００１１】
発明の説明
本発明の課題は、容易に、付加的なコストをかけずに、アクセス遅延時間が極めて短い、または、アクセス遅延時間を伴わない、システムオンチップ内のスレーブユニットへのコントロールされたアクセスを可能にする方法並びに回路装置を提供することである。
【００１２】
上述の課題は、独立請求項に記載された特徴を有するように改善された、冒頭に記載された様式の方法並びに回路装置によって解決される。本発明の有利な実施形態は、従属請求項に記載されている。
【００１３】
本発明では、上述の課題は、少なくとも１つのマスターユニットとネットワークオンチップバスシステムとの間に、メモリ保護ユニットが組み込まれている、冒頭に記載した様式の方法によって解決される。このメモリ保護ユニットによって、少なくとも１つのマスターユニットの、少なくとも１つのスレーブユニットへのアクセス権限が、所定のアドレス領域とアクセスアドレスとの比較によって検査される。少なくとも１つのスレーブユニットへの、少なくとも１つのマスターユニットの、権限の無いアクセスを識別した際に、アクセスアドレスは、メモリ保護ユニットによって次のように修正される。すなわち、このような、権限の無いアクセスが、ネットワークオンチップバスシステムにおいて終了するように、修正される。
【００１４】
本発明によって提案された方法の主要な態様は、次のことにある。すなわち、マスターユニットとして使用されているＩＰブロックへのマッチング等の付加的なコストをかけずに、システムオンチップ内で使用されているマスターユニットの、このシステムオンチップのスレーブユニットへのアクセスをコントロールすることである。例えば、マスターユニットによる、１つないしは複数のスレーブユニットの、いわゆるリードオンリー領域への権限の無いアクセス、または、ブロックされているスレーブユニットないしはメモリ領域への権限の無いアクセスを、このようにして、極めて容易に、かつ、大きなコストをかけることなく阻止することができる。権限の無いアクセスを識別し、阻止するために、例えば使用されているネットワークオンチップシステムに付加的なコントロール機能を拡張する必要も生じない。さらに、本発明の方法によって、殊に、場合によって行われるアクセスアドレスの修正によって、アクセスの付加的な待ち時間または時間遅延が、メモリ保護ユニット内の検査によって、できるだけ少なく保たれる、ないしは、付加的な待ち時間または時間遅延は生じない。これは次のことを意味する。すなわち、本発明の方法によって、システムオンチップの少なくとも１つのスレーブユニットへの、少なくとも１つのマスターユニットのアクセス時間がほぼ増大せず、または、増大せず、これによってシステムオンチップの性能および効率が妨害されることがない、ということを意味する。
【００１５】
少なくとも１つのマスターユニットのアクセスが権限を有していない場合、ネットワークオンチップバスシステムの、このマスターユニットに対して使用されてないアドレス領域に、アクセスアドレスがマッピングされるのは有利である。ネットワークオンチップシステム内の使用されていないアドレス領域は、各マスターユニットに対して占有されてない、ないしは、このアドレス領域にはネットワークオンチップバスシステムにおいて、スレーブユニット（例えばメモリユニット等）のアドレスが、アクセスに対して割り当てられない。これによって、ネットワークオンチップシステム内での、マスターユニットの権限の無いアクセスが終了させられる。なぜなら、このアクセスは、目的ユニットとしてのスレーブユニットに伝達可能だからである。
【００１６】
ここでは次のことが推奨される。すなわち、ネットワークオンチップバスシステム内のシステムオンチップの少なくとも１つのマスターユニットによる、このシステムオンチップの少なくとも１つのこのスレーブユニットないしはスレーブユニットへの、権限の無いアクセスの終了時に、いわゆる割り込みが送出されることが推奨される。この割り込みによって、システムオンチップの例えば制御ユニットまたはＣＰＵに、容易に、スレーブユニットへの、各マスターユニットのアクセスの割り込みないしは終了が伝えられる。割り込みによって、例えば、周期的ではない、予測不可能なイベント、例えばスレーブユニットまたはメモリ領域等へのマスターユニットのアクセスの事前の終了と、制御ユニットないしはＣＰＵとの同期化が実行される。いわゆる証拠レジスタも含まれ得る割り込みが、この場合には、ＣＰＵによって処理され、この場合には例えば、極めて迅速に、マイクロプログラムの処理が、ＣＰＵによって継続される。
【００１７】
理想的には、少なくとも１つのスレーブユニットへの、少なくとも、書き込みおよび／または読み出しのためのアクセスに対して少なくとも１つのマスターユニットに権限が与えられる、または少なくとも１つのスレーブユニットへの、読み出しのためだけのアクセスに対して権限が与えられる、または、少なくとも１つのスレーブユニットへのアクセスに対して権限が与えられない。マスターユニットに例えば、スレーブユニットへの、書き込みおよび読み出しアクセスに対して権限が与えられており、これがメモリ保護ユニット内で確定される場合には、アクセスアドレスは、例えば修正されること無く、メモリ保護ユニットからネットワークオンチップバスシステムに伝達される。特定のアクセス様式、例えば書き込みアクセス、読み出しアクセス等が、スレーブユニットにおいて、または、メモリ領域において許可されていない、または、各マスターユニットに対して、各スレーブユニットないしは各メモリ領域がブロックされている場合には、アクセスアドレスは、メモリ保護ユニットによってアクセス権限の検査後に修正され、このマスターユニットに対して、ネットワークオンチップバスシステムの使用されていないアドレス領域にマッピングされる。
【００１８】
このために、例えば、アクセス指示が、システムオンチップの各マスターユニットに対して、殊に、アドレス領域が、アクセスアドレスとの比較、ひいてはマスターユニットのアクセス権限の検査のために、ソフトウェアによって読み出し可能な、メモリ保護ユニットのレジスタユニット内に格納される。システムオンチップのマスターユニットのアクセスアドレスとの比較のためのアドレス領域の設定は、理想的には、セキュリティアプリケーション、例えば固有のセキュリティソフトウェアの助けによって実行される。
【００１９】
本発明の方法の有利な発展形態では、メモリ保護ユニットは、初期化フェーズにおいて、レジスタインタフェース（例えばいわゆるＡｄｖａｎｃｅｄ  Ｐｅｒｉｐｈｅｒｉａｌ  Ｂｕｓ−Ｒｅｇｉｓｔｅｒ  Ｉｎｔｅｒｆａｃｅ）を介して、特別な信頼できる構築マスターユニットによって構築される。これは次のことを意味している。すなわち、例えばシステムオンチップも構築される初期化フェーズにおいて、１つのメモリ保護ユニットにおいて、または、場合によっては、複数のメモリ保護ユニットにおいて、アクセスアドレスとの比較のためのアドレス領域がレジスタユニット内に格納される、ということを意味している。この場合には、例えば、レジスタユニットが、さらなるアクセスまたは変更に対してブロックされ得る。
【００２０】
しかし択一的に、次のことも可能である。すなわち、メモリユニット内に格納されているアドレス領域が、レジスタインタフェース（例えば、いわゆるＡｄｖａｎｃｅｄ  Ｐｅｒｉｐｈｅｒｉａｌ  Ｂｕｓ−Ｒｅｇｉｓｔｅｒ  Ｉｎｔｅｒｆａｃｅ）を介して、特別な暗号情報を用いて構築される、および／または、変更されることも可能である。特別な暗号情報（例えば３２ビットキー等）を用いた変更を、この場合には有利には、初期化フェーズの後に行うこともできる。これによって、メモリ保護ユニットを、相応に、例えば、システムオンチップの使用中に、要求に合わせることができる。
【００２１】
さらに、上述の課題は、本発明の方法を実施するための回路装置によって解決される。それを介してコントロールされたアクセスをシステムオンチップ内で行うことができるこの回路装置は、少なくとも、少なくとも１つのマスターユニット、少なくとも１つのスレーブユニット並びに、マスターユニットとスレーブユニットとの間の接続のためのネットワークオンチップバスシステムから成る。本発明の回路装置では、少なくとも１つのマスターユニットとネットワークオンチップバスシステムとの間に、メモリ保護ユニットが組み込まれている。このメモリ保護ユニットは、アクセスアドレスと所定のアドレス領域との比較によるアクセス検査のために形成され、並びに、少なくとも１つのマスターユニットによる少なくとも１つのスレーブユニットへの権限の無いアクセスの際のアクセスアドレスの修正のために、次のように形成されている。すなわち、権限の無いアクセスが、ネットワークオンチップバスシステム内でブロックされるように、形成されている。
【００２２】
本発明の回路装置によって得られる利点は殊に次のことにある。すなわち、容易に、かつ（例えば、システムオンチップの設計時または開発時の）付加的なコスト無く、マスターユニットによる、スレーブユニットへの権限の無いアクセスを阻止することができる、ということにある。例えば、マスターユニットであるシステムオンチップに使用されるＩＰブロックないしは使用されるネットワークオンチップバスシステムを変更する、機能的に拡張する、または整合させるために、アクセスのコントロールは不必要である。さらに、本発明の回路装置によって、スレーブユニットへのアクセスのアクセス待ち時間ないしは時間遅延は、各アクセス権限の検査によって、できるだけ短く保持される、ないしは、増大されない。アクセス待ち時間への作用を有するネットワークオンチップバスシステムのプロトコールを終了させることも不必要であり、権限の無いアクセスが容易に、ネットワークオンチップバスシステム内で終了させられる、ないしは、ブロックされる。
【００２３】
メモリ保護ユニットは、有利には、アクセスアドレスを検査する少なくとも１つのコントロール論理回路、アクセスアドレス修正のための修正ユニット、並びに少なくとも１つのレジスタユニットから成る。ここでこのレジスタユニットは、所定のアドレス領域ないしはアクセス指示を格納する。コントロール論理回路によって、例えば、スレーブユニットへアクセスするマスターユニットの設定および信号が解され、処理される。コントロールユニットによって、このような情報に基づいても、例えば、アクセス権限の検査を、所定のアドレス領域とアクセスアドレスとの比較を用いて、トリガさせることができる、ないしは、実行することができる。権限の無いアクセスが確認された場合にも、このコントロール論理回路によって、アクセスアドレスの修正が修正ユニットによって実行される。
【００２４】
メモリ保護ユニットの少なくとも１つのレジスタユニット内には、所定のアドレス領域が、各アクセスアドレスとの比較のために格納されており、ひいては、それぞれシステムオンチップ内で使用されているスレーブユニットないしはメモリ（領域）へのマスターユニットのアクセス指示ないしはアクセス権限が格納されている。メモリ保護ユニットの少なくとも１つのレジスタユニット、例えば、メモリ保護ユニットは、有利には、レジスタインタフェース、例えばいわゆるＡｄｖａｎｃｅｄ  Ｐｅｒｉｐｈｅｒｉａｌ  Ｂｕｓ−Ｒｅｇｉｓｔｅｒ  Ｉｎｔｅｒｆａｃｅを介して、構築可能である。この構築は、例えば初期化フェーズにおいて、特別な、信頼のできる構築マスターユニットによって実行される。メモリ保護ユニットないしはレジスタユニットは、この場合には、例えば、アクセスまたは修正からブロックされる。しかし択一的に、殊にアドレス領域が少なくとも１つのレジスタユニットにおいて、特別な暗号情報（例えば３２ビットキー等）を知っていることによって、レジスタインタフェースを介して変更されてもよい。このような暗号情報が知られていない場合には、メモリ保護ユニットの少なくとも１つのレジスタユニットは、レジスタインタフェースを介したアクセスから保護される。
【図面の簡単な説明】
【００２５】
【図１】例示的にかつ概略的に、システムオンチップ内の少なくとも１つのスレーブユニットへのコントロール下のアクセス方法を実行するための回路装置並びにこのような本発明の方法の流れを示す図。
【実施例】
【００２６】
本発明を以降で、例示的に、添付の図面に基づいて説明する。図１は、概略的かつ例示的に、システムオンチップ内の少なくとも１つのスレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４への、少なくとも１つのマスターユニットＭＡによるコントロールされたアクセスのための本発明の方法を実行する回路装置を示している。例示的に示されている回路装置は、システムオンチップの少なくとも１つの部分である。システムオンチップは、図示の回路装置の他に、さらに他のコンポーネントないしはＩＰユニットを含み得る。これは例えば制御ユニットまたはＣＰＵ、入力ユニット、出力ユニット、他のマスターユニット（例えばコプロセッサー等）である。しかしこれらのコンポーネントないしＩＰユニットは、簡易にするために、図示されていない。
【００２７】
本発明の回路装置は、少なくとも、１つのマスターユニットＭＡ（例えば、周辺機器ユニット、コントローラ、コプロセッサー等のダイレクトメモリアクセス）並びに少なくとも１つのスレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４から成る。スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４は、例えば周辺機器ユニット、入／出力ユニット、または、メモリユニットないしはメモリ領域であり得る。スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４には、マスターユニットＭＡのアクセス権限に応じて、例えば書き込みアクセス、読み出しアクセス、または、実行アクセスがなされ得る。またはスレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４は、マスターユニットＭＡに対してブロックされている。スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４へのマスターユニットＭＡのアクセスは、アクセスアドレスＺＡを用いて、回路装置のネットワークオンチップバスシステムＮｏＣを介して実行される。これは、回路装置ないしはシステムオンチップのコンポーネントの間の接続を形成する。ネットワークオンチップバスシステムＮｏＣ内では、相応のアドレスないしはアドレス領域が、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４へのアクセスのために、占有されている。さらに、ネットワークオンチップバスシステムＮｏＣ内には、少なくとも１つの占有されていない、ないしは、使用されていないアドレス領域ｎＡが存在する。これは例えば、マスターユニットＭＡのために占有されていない。
【００２８】
少なくとも１つのマスターユニットＭＡとネットワークオンチップシステムＮｏＣとの間には、本発明の回路装置では、メモリ保護ユニットＭＰＵが組み込まれている。このメモリ保護ユニットＭＰＵは、少なくとも１つのコントロール論理回路ＫＬと、修正ユニットＭＯと、少なくとも１つのレジスタユニットＲＥとを有している。さらに、レジスタインタフェースＲＳ、例えばＡｄｖａｎｃｅｄ  Ｐｅｒｉｐｈｅｒｉａｌ  Ｂｕｓ−Ｒｅｇｉｓｔｅｒ  Ｉｎｔｅｒｆａｃｅも設けられている。
【００２９】
メモリ保護ユニットＭＰＵのコントロール論理回路ＫＬは、例えば、少なくとも１つのマスターユニットＭＡの設定情報および信号情報ＳＥの処理のため、および、マスターユニットＭＡによって伝達されたアクセスアドレスＺＡの検査を誘因するために用いられる。修正ユニットＭＯによって、アクセスアドレスＺＡは場合によっては、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４への、マスターユニットＭＡの、権限のないアクセスの場合に、次のように修正される。すなわち、ネットワークオンチップバスシステムＮｏＣ内でのマスターユニットのこのアクセスが終了するように修正される。すなわち、マスターユニットＭＡの権限の無いアクセスが識別された場合には、メモリ保護ユニットＭＰＵによって、アクセスアドレスＺＡが修正されたアクセスアドレスｍＺＡに変えられる。これは、ネットワークオンチップバスシステムＮｏＣにおいて、ネットワークオンチップバスシステムＮｏＣの使用されていないアドレス領域ｎＡにマッピングされる。
【００３０】
マスターユニットＭＡの権限の無いアクセスを識別するために、メモリ保護ユニットＭＰＵのレジスタユニットＲＥ内に、設定されたアドレス領域ＡＤ１、ＡＤ２、ＡＤ３が格納される。このアクセス指示は、例えば、ソフトウェアアプリケーションによって、例えばコントロール論理回路ＫＬによって読み出され、処理される。アドレス領域ＡＤ１、ＡＤ２、ＡＤ３内に、例えば、第１のアドレス領域ＡＤ１内に、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４への全てのアクセス（例えば書き込みアクセスおよび読み出しアクセス）に対するアクセス指示が格納され、第２のアドレス領域ＡＤ２内に、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４への制限されたアクセス（例えば読み出しアクセスのみ）に対するアクセス指示が格納され、第３のアドレス領域ＡＤ３内に、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４へのブロックされたアクセスに対するアクセス指示が格納される。マスターユニットＭＡのアクセスの際には、アクセスアドレスＺＡが、所定のアドレス領域ＡＤ１、ＡＤ２、ＡＤ３と比較され、これによって、アクセスが権限を有しているものかまたは権限が無いものかが確定される。
【００３１】
メモリ保護ユニットＭＰＵないしはレジスタユニットの構築のために、レジスタインタフェースＲＳが設けられている。この構築は、特別な、信頼のおける構築マスターユニットによって例えば、初期化フェーズにおいて行われ、例えば、後発のプラットフォームであり、その機能性が例えば、相応の構築／初期化によってようやく得られるシステムオンチップを初期化する際に行われる。１つのシステムオンチップ内に複数のメモリ保護ユニットＭＰＵが設けられている場合には、例えば、アドレス領域ＡＤ１、ＡＤ２、ＡＤ３が、トップレベルに、安全な領域に設けられる。すなわち、各レジスタユニットＲＥないしは各メモリ保護ユニットＭＰＵの構築後に、アクセスないしは変更に対して、ブロックされる。
【００３２】
択一的に、例えば、複数のメモリ保護ユニットＭＰＵを有する複雑なシステムオンチップの場合には、メモリ保護ユニットＭＰＵのレジスタユニットＲＥ内に格納されているアドレス領域ＡＤ１、ＡＤ２、ＡＤ３が、特別な暗号情報（例えば３２ビットキー）を知り、これを使用して、レジスタインタフェースＲＳを介して構築ないしは変更されてもよい。レジスタユニットＲＥ内に格納されたアドレス領域ＡＤ１、ＡＤ２、ＡＤ３は、暗号情報によって保護され、場合によっては、暗号情報を用いて変更可能である。
【００３３】
本発明の方法を実施するため、および、システムオンチップにおけるスレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４へのマスターユニットＭＡのアクセスをコントロールするために、第１のステップ１では、メモリ保護ユニットＭＰＵが、マスターユニットＭＡとネットワークオンチップバスシステムＮｏＣとの間に組み込まれる。マスターユニットＭＡによって、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４へアクセスされる場合には、第２のステップ２において、一方で、マスターユニットＭＡの設定情報および信号情報ＳＥが、メモリ保護ユニットＭＰＵのコントロール論理回路ＫＬに伝達され、他方では、アクセスアドレスＺＡが、メモリ保護ユニットＭＰＵの修正ユニットＭＯに伝達される。次にメモリ保護ユニットＭＰＵないしはコントロール論理回路ＫＬおよび修正ユニットＭＯによって、当該第２のステップにおいて、アクセスアドレスＺＡが、所定のアドレス領域ＡＤ１、ＡＤ２、ＡＤ３と比較される。これによって、マスターユニットＭＡがアクセスしようとする、各スレーブユニットＳ１、Ｓ２、Ｓ３への、マスターユニットＭＡの各アクセス権限が検査される。
【００３４】
次に、どの所定のアドレス領域ＡＤ１、ＡＤ２、ＡＤ３内に、マスターユニットＭＡのアクセスアドレスＺＡが属するかによって、第３のステップ３において、マスターユニットのアクセスアドレスＺＡが変えられずに、ネットワークオンチップバスシステムＮｏＣに伝送される、または、メモリ保護ユニットＭＰＵの修正ユニットＭＯによって修正される。例えば、マスターユニットＭＡが、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４に書き込みアクセスおよび読み出しアクセスすべき場合、かつ、アクセスアドレスＺＡが、完全なアクセス、ないしは、書き込みおよび読み出しアクセスのための第１のアドレス領域ＡＤ１内で発見された場合には、アクセスアドレスＺＡは第３のステップ３において、変更されずに、ネットワークオンチップバスシステムＮｏＣにさらに伝送される。ネットワークオンチップバスシステムＮｏＣから、相応に、アクセスが、マスターユニットＭＡによって、書き込みアクセスおよび読み出しアクセスされるスレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４に転送される。
【００３５】
マスターユニットＭＡが、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４に読み出しアクセスし、マスターユニットＭＡがこれに対しても権限を与えられている場合には、第２のステップ２において、アクセスアドレスＺＡを所定のアドレス領域ＡＤ１、ＡＤ２、ＡＤ３と比較する際に、メモリ保護ユニットＭＰＵは、アクセスアドレスが、制限されたアクセス、ないしは、読み出しのみのアクセスのための第２のアドレス領域内に設けられていると決定する。第３のステップ３では、次に、マスターユニットＭＡのアクセスアドレスＺＡが、変更されずに、ネットワークオンチップバスシステムＮｏＣに伝送される。ネットワークオンチップバスシステムでは次に、第４のステップ４において、アクセスアドレスに基づいて、相応するスレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４のアドレスが求められ、マスターユニットＭＡのアクセスが、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４に伝達される。次にマスターユニットＭＡから、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４への読み出しアクセスが実施される。
【００３６】
しかしマスターユニットＭＡが例えば、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４への読み出しアクセスに対してのみ権限が与えられているのにもかかわらず、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４への書き込みおよび読み出しアクセスを試みると、メモリ保護ユニットＭＰＵによって、第２のステップ２において次のことが確定される。すなわち、アクセスアドレスＺＡが、読み出しアクセスに対してのみの第２のアドレス領域ＡＤ２に属し、マスターユニットＭＡが、全てのアクセス（書き込みアクセスおよび読み出しアクセス）に対しては権限が与えられていない、ということが確定される。次に第３のステップ３では、メモリ保護ユニットＭＰＵの修正ユニットＭＯによって、アクセスアドレスＺＡが、修正されたアクセスアドレスｍＺＡに変えられる。修正されたアクセスアドレスｍＺＡは、次に、ネットワークオンチップバスシステムＮｏＣに転送される。修正されたアクセスアドレスｍＺＡは、ネットワークオンチップバスシステムＮｏＣ内の、使用されていないアドレス領域ｎＡにマッピングされるので、マスターユニットＭＡの権限の無いこのアクセスは、ネットワークオンチップバスシステムＮｏＣにおいて、第４のステップ４において終了する。このアクセスの終了は、次に、システムオンチップの制御ユニットないしはＣＰＵに、例えば、証拠レジスタを含む、いわゆる割り込みによって伝達される。
【００３７】
例えば、マスターユニットＭＡによって、ブロックされているスレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４への書き込みおよび読み出しアクセスまたは読み出しのみのアクセスが試みられる場合にも、同様の措置が取られる。マスターユニットＭＡのアクセスアドレスＺＡに基づいて、メモリ保護ユニットＭＰＵは、第２のステップ２において、マスターユニットＭＡが、スレーブユニットＳ１、Ｓ２、Ｓ３、Ｓ４へのアクセスに対して権限を有していないことを決定する。この場合、アクセスアドレスＺＡは、ブロックされているアクセスのための第３のアドレス領域ＡＤ３内に見出される。次に第３のステップ３では、アクセスアドレスＺＡが、メモリ保護ユニットＭＰＵの修正ユニットＭＯによって、修正されたアクセスアドレスｍＺＡに変更される。修正されたこのアクセスアドレスｍＺＡは、再び、ネットワークオンチップバスシステムＮｏＣに伝送される。ここで、次に、第４のステップ４において、次のことが確定される。すなわち、修正されたアクセスアドレスｍＺＡが、ネットワークオンチップバスシステムＮｏＣの使用されていないアドレス領域ｎＡを指しており、マスターユニットＭＡのこのアクセスが終了することが確定される。システムオンチップのＣＰＵには、再び、これが、割り込みによって伝達される。
【図１】
2016516228.tif 000003
【国際調査報告】
2016516228.tif 000004
2016516228.tif 000005
2016516228.tif 000006
2016516228.tif 000007