JP2016516228A - Access method and circuit device under control of slave unit in system on chip - Google Patents
Access method and circuit device under control of slave unit in system on chip Download PDFInfo
- Publication number
- JP2016516228A JP2016516228A JP2015559455A JP2015559455A JP2016516228A JP 2016516228 A JP2016516228 A JP 2016516228A JP 2015559455 A JP2015559455 A JP 2015559455A JP 2015559455 A JP2015559455 A JP 2015559455A JP 2016516228 A JP2016516228 A JP 2016516228A
- Authority
- JP
- Japan
- Prior art keywords
- access
- unit
- chip
- master unit
- address
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本発明は、いわゆるシステムオンチップにおける、スレーブユニット(S1、S2、S3、S4)へのコントロール下のアクセスのための回路装置並びに方法に関する。ここで、システムオンチップのマスターユニット(MA)による、アクセスアドレス(ZA)による、スレーブユニットへのアクセスがネットワークオンチップバスシステム(NoC)を介して実行される。少なくとも1つのマスターユニットと、ネットワークオンチップバスシステムとの間に、メモリ保護ユニット(MPU)が組み込まれている(1)。このメモリ保護ユニットによって、スレーブユニットへのマスターユニットのアクセス権限が、アクセスアドレスを所定のアドレス領域(AD1、AD2、AD3)と比較することによって検査される(2)。スレーブユニットへの、マスターユニットの、権限の無いアクセスの識別時に、アクセスアドレスが、メモリ保護ユニットによって、次のように修正される(3)。すなわち、権限の無いこのアクセスを、ネットワークオンチップバスシステム(NoC)において終了させる(4)ように、修正される。The present invention relates to a circuit arrangement and method for controlled access to slave units (S1, S2, S3, S4) in a so-called system-on-chip. Here, access to the slave unit by the access address (ZA) by the master unit (MA) of the system on chip is executed via the network on chip bus system (NoC). A memory protection unit (MPU) is incorporated between the at least one master unit and the network-on-chip bus system (1). With this memory protection unit, the access rights of the master unit to the slave units are checked by comparing the access addresses with predetermined address areas (AD1, AD2, AD3) (2). Upon identifying unauthorized access of the master unit to the slave unit, the access address is modified by the memory protection unit as follows (3). That is, this unauthorized access is modified to terminate (4) in the network on chip bus system (NoC).
Description
本発明は、一般的に、電子回路および論理回路の分野に関し、殊に、いわゆる特定用途向け集積回路またはASICの分野に関する。特に本発明は、いわゆるシステムオンチップ内のスレーブユニットへの、コントロール下でのアクセス方法および属する回路装置に関する。ここで、この回路装置は、少なくとも1つのマスターユニットと、複数の下位のスレーブユニットと、いわゆるネットワークオンチップバスシステムまたはNoCとを有している。スレーブユニットへの、マスターユニットのアクセスは、ここで、アクセスアドレスを用いて、ネットワークオンチップバスシステムを介して行われる。 The present invention relates generally to the field of electronic and logic circuits, and in particular to the field of so-called application specific integrated circuits or ASICs. In particular, the present invention relates to a method of accessing a slave unit in a so-called system-on-chip under control and a circuit device to which the slave unit belongs. Here, this circuit device has at least one master unit, a plurality of subordinate slave units, and a so-called network-on-chip bus system or NoC. Here, the access of the master unit to the slave unit is performed via the network-on-chip bus system using the access address.
殊に、いわゆる集積回路として実現されている論理回路ないし電子回路は、今日、殊にコンピュータ技術において、各電子回路の基礎を成している。通常、このような電子回路ないしシステムは、個々の基板(例えば半導体基板等)上に収容され、相互に配線されている複数の電子部品ないしは電子回路またはいわゆる集積回路(IC)から成る。従って1つの集積回路は、多数の、種々異なる種類の部品並びに、単結晶基板上または単結晶基板内のコンダクターから成る。第1に、このような集積によって、広範囲にわたる機能および狭い空間での使用が可能になる。集積回路によってはじめて、多数の用途(例えばモバイル機器、SIMカード、RFID、携帯電話等内での用途)が、技術的に実現可能になる。なぜなら、これらの用途は、そうでない場合には、(例えば、各機器等内への組み込みに対しては)しばしば、過度に高価、複雑、性能集約型、または大きくなってしまうからである。このような論路回路ないしは集積回路が特別な用途に向けて作成される場合、これらの回路は、特定用途向け集積回路ないし略してASICとも称される。 In particular, logic circuits or electronic circuits realized as so-called integrated circuits form the basis of electronic circuits today, especially in computer technology. Usually, such an electronic circuit or system is composed of a plurality of electronic components or electronic circuits or so-called integrated circuits (ICs) housed on individual substrates (for example, semiconductor substrates) and wired together. Thus, an integrated circuit consists of a number of different types of components and conductors on or within a single crystal substrate. First, such integration allows for a wide range of functions and use in tight spaces. Only with integrated circuits can a number of applications (e.g. applications in mobile devices, SIM cards, RFID, mobile phones etc.) become technically feasible. This is because these applications are often overly expensive, complex, performance intensive, or large (for example, for incorporation into each device, etc.). When such logic circuits or integrated circuits are created for special applications, these circuits are also referred to as application specific integrated circuits or ASIC for short.
機器の小型化および集積度合いの恒常的な上昇によって、近年は、プロセッサ、コントローラ、記憶装置ユニット(例えばRAM、ROM等)、電力管理システム部品等の部品を有する全てのシステムが、いわゆるチップまたはダイの上に収容されるようになった。このようなシステムは、システムオンチップまたはSoCとも称され、殊に、移動無線領域において、組み込み型コンピュータ、スマートフォン、CD機器およびDVD機器および、比較的高い性能と、多様なタスクの下で、小さい寸法が好まれるあらゆる箇所で使用される。 Due to the ever-increasing miniaturization and integration of devices, in recent years all systems with components such as processors, controllers, storage units (eg RAM, ROM, etc.), power management system components, etc. Came to be housed on top. Such a system is also referred to as system-on-chip or SoC, and is particularly small in the mobile radio domain under embedded computers, smartphones, CD and DVD devices and relatively high performance and various tasks. Used everywhere dimensions are preferred.
システムオンチップ(SoC)では、システムの機能の全てまたは大部分が、チップ上に集積されている。すなわち、集積回路において、半導体基板上に集積されている。通常、今日のシステムオンチップははじめから新たに開発されるのではなく、構想は少なくとも部分的に既に存在している、および/または、追加購入されるコンポーネントをベースにしている。これはいわゆる、IPコアユニットまたはIPブロック(例えばプロセッサ、コントローラユニット、周辺機器ブロック等)である。これらのIPブロックは、例えば、完成したユニットとして、または、デザインライセンスとして入手され、新たなシステムオンチップ内で直接的に、または、適切な形態で使用される。これに加えて、システムオンチップの欠如しているユニットが、例えば、完成したASICのために開発される。 In system on chip (SoC), all or most of the functions of the system are integrated on the chip. In other words, the integrated circuit is integrated on the semiconductor substrate. Usually, today's system-on-chip is not newly developed from scratch, but the concept is based at least in part on components that already exist and / or are additionally purchased. This is a so-called IP core unit or IP block (eg, processor, controller unit, peripheral device block, etc.). These IP blocks are obtained, for example, as a complete unit or as a design license and used directly in a new system-on-chip or in an appropriate form. In addition, units lacking system-on-chip are developed, for example, for a completed ASIC.
このようなシステムオンチップの複数のユニットは内部で、いわゆるバスシステムを介して、接続される。しばしば、殊に、複雑なシステムオンチップの場合には、ヒエラルキー構造のバスシステム、または、少なくともセグメント化されたバスシステムが使用される。このようなバスシステムは、例えば、迅速なシステムバス、より緩慢な周辺機器バス並びにレジスターバスないしは制御バスを含んでいる。システムオンチップのIPブロック(例えばプロセッサ、コントローラユニット、周辺機器ブロック等)間に、柔軟かつ効果的な通信接続を設計するアプローチは、いわゆるネットワークオンチップバスシステムまたはNoCである。ネットワークオンチップバスシステムでは、情報が、システムオンチップの個々のIPブロック(例えばプロセッサ、記憶装置部材、コントローラ、周辺機器ユニット等)の間で、内部のバスを介して交換されるのではなく、分配箇所を有しているネットワークのように構想された、層状バスアーキテクチャーを介して交換される。ここで、システムオンチップのあるコンポーネントから他のコンポーネントへの情報ないしアクセスは、ソースコンポーネントから受信コンポーネントへの経路上で、例えば、ポイントツーポイント接続または多経路接続として、複数のリンクを介して接続される。これは例えば、パケット仲介ネットワークにおけるいわゆるルーティングの場合である。ソースコンポーネントから受信コンポーネントへの、情報リダイレクションないしアクセスはここで、例えばルーティングに使用されるアクセスアドレスを用いて行われる。 A plurality of such system-on-chip units are internally connected via a so-called bus system. Often, especially in the case of complex system-on-chip, a hierarchical bus system or at least a segmented bus system is used. Such bus systems include, for example, a quick system bus, a slower peripheral bus, and a register bus or control bus. An approach to designing flexible and effective communication connections between system-on-chip IP blocks (eg, processor, controller unit, peripheral device block, etc.) is the so-called network-on-chip bus system or NoC. In a network-on-chip bus system, information is not exchanged between individual IP blocks of the system-on-chip (eg, processor, storage device, controller, peripheral unit, etc.) via an internal bus, It is exchanged through a layered bus architecture, conceived like a network with distribution points. Here, information or access from one component of the system on chip to another component is connected via multiple links on the path from the source component to the receiving component, for example, as a point-to-point connection or multipath connection Is done. This is, for example, the case of so-called routing in a packet mediation network. Information redirection or access from the source component to the receiving component is here performed, for example, using an access address used for routing.
しばしば、1つのシステムオンチップの異なるコンポーネント間のアクセス、タスクの組織化および分配等のために、いわゆるマスタースレーブコンセプトが用いられる。このようにして、上位コンポーネント(いわゆるマスターユニット)と下位コンポーネント(いわゆるスレーブユニット)との間で各タスクが分配され、共通のリソース(例えば記憶ユニット等)へのアクセスの管理が調節される。次のような場合にマスタースレーブコンセプトが有利に使用される。すなわち、1つまたは複数のコンポーネント(例えばプロセッサ、コントローラ等)が、他のコンポーネント(例えば特別なプロセッサ、周辺機器ユニット等)の制御およびタスク分配を担う場合または他のコンポーネント(例えば記憶装置ユニット、バスシステム等)へのアクセスが調節される場合である。 Often the so-called master-slave concept is used for access between different components of one system on chip, organizing and distributing tasks, etc. In this way, each task is distributed between the upper component (so-called master unit) and the lower component (so-called slave unit), and the management of access to a common resource (for example, a storage unit) is adjusted. The master-slave concept is advantageously used in the following cases: That is, if one or more components (eg, processor, controller, etc.) are responsible for control and task distribution of other components (eg, special processors, peripheral units, etc.) or other components (eg, storage units, buses) When access to the system, etc.) is regulated.
システムオンチップに、高い安全性が要求されていることはほとんどない。従って、権限を有するアクセスを阻止するために、マスターユニットからスレーブユニットへのアクセスないしはアクセス権限をコントロールすることが必要である。システムオンチップ用の市場で通常に入手可能な中央処理ユニットコンポーネントないしCPUの場合には、例えば、アクセスコントロールのために、いわゆる、メモリ管理ユニット(MMU)またはメモリ保護ユニット(MPU)が集積されている。このようなMMUによってまたはMPUによって、他のタスクの他に、メモリ保護タスクも調節される。このようにして、個々のメモリ領域または例えばコードの実行または書き込みのためのスレーブユニットへのアクセスが、各CPUによって阻止される。 System-on-chip rarely requires high safety. Therefore, in order to prevent authorized access, it is necessary to control access from the master unit to the slave unit or access authority. In the case of central processing unit components or CPUs normally available in the market for system-on-chip, for example, so-called memory management units (MMUs) or memory protection units (MPUs) are integrated for access control. Yes. In addition to other tasks, the memory protection task is also adjusted by such MMU or by MPU. In this way, access to individual memory areas or slave units, for example for code execution or writing, is blocked by each CPU.
しかし、システムオンチップは、通常、少なくとも1つのチップの他に、さらに、他のマスターユニットを有している。このマスターユニットから、システムオンチップのスレーブユニットへアクセスがなされる。ここではいわゆるダイレクトメモリアクセス(DMA)が、1つのアクセスの様式である。ここでは、バスシステム(例えばNoC)を介して、マスターユニット(例えば周辺機器ユニット等)から、直接的に、スレーブユニットまたはメモリユニットへ、CPUに依存せずに、アクセスがされる。しかし目下のところは、システムオンチップの他のIPコンポーネント(例えばプロセッサ等)によるアクセスのコントロールは行われていない。従って、例えば、スレーブユニットへの権限の無いアクセスがDMAによって行われ得る。これは安全を脅かす。 However, the system-on-chip usually has other master units in addition to at least one chip. From this master unit, access is made to the system-on-chip slave unit. Here, so-called direct memory access (DMA) is one mode of access. Here, a slave unit or a memory unit is directly accessed from a master unit (for example, a peripheral device unit) via a bus system (for example, NoC) without depending on the CPU. However, at present, access is not controlled by other IP components (such as a processor) of the system-on-chip. Thus, for example, unauthorized access to a slave unit can be performed by DMA. This threatens safety.
欧州特許出願公開第2461251号明細書から、例えば、記憶ユニットへのアクセスをコントロールするための方法が公知である。ここでは、各プロセッサユニットに、1つのメモリ保護ユニットが割り当てられている。このメモリ保護ユニットによって、システムバスを介して、メモリユニットへの接続が形成される。メモリユニットへのプロセッサユニットのアクセスは、この場合、常に、このメモリ保護ユニットを介して行われる。ここで、プロセッサのアクセスは、種々のアクセス権限を示す、ないしは、プロセッサの特定の用途のためのメモリ領域がブロックされ得る。欧州特許出願公開第2461251号明細書に記載されている方法では、次に、アクセスは、各属するメモリ保護ユニットの2つのアクセスコントロールユニットのプロセッサによって検査され、このアクセスが2つのアクセスコントロールユニットによって、権限を有するとみなされた場合にのみ許可される。ここで、例えば、メモリ保護ユニットの第1のアクセスコントロールユニット内に、プロセッサのどのアプリケーションがどのメモリ領域にアクセスすることができるか、という情報が格納されており、メモリ保護ユニットの第2のアクセスコントロールユニット内には、相応するアクセス様式ないしはアクセス権限(例えば書き込み/読み出しアクセス、読み出しアクセス等)が格納されている。これによって、欧州特許出願公開第2461251号明細書に開示されている方法は、次のような欠点を有する。すなわち、メモリユニットへの、コントロール下のアクセスのために、多くのコストが、殊に、メモリ保護ユニットのアクセスコントロールユニットのプログラミングにおいて、必要になってしまう、という欠点を有する。各メモリ保護ユニットは別個にプログラミングされるべきであり、特に、属するプロセッサのアプリケーションに相応してプログラミングされなければならない。さらに、2つのアクセスコントロールユニットによってアクセスを二重にチェックすることによって、プロセッサのアクセス時に時間遅延が生じる。これも考慮されなければならない。
From
システムオンチップ内のスレーブユニットへのアクセスのコントロールを可能にする他の方法は、例えば、使用されている各バスシステム内、例えばネットワークオンチップバスシステムへのMPU保護機能またはメモリ保護機能の組み込みである。しかしこの方法は、次のような欠点を有している。すなわち、これによって、バスシステムの機能が拡張されなければならない、という欠点を有している。これは、しばしば高いコストと結び付く。なぜなら、例えば、システムオンチップ用のネットワークオンチップバスシステムも、いわゆるIPコンポーネントとして追加購入される場合があり、この場合には、例えば特別に、メモリ保護機能が追加されなければならないからである。場合によっては、このような機能拡張はさらに、アクセス時の時間遅延、または、アクセス時間の延長を生じさせてしまうことがある。これは、システムオンチップの性能を格段に妨害し得る。 Other methods that allow control of access to slave units in the system on chip are, for example, the incorporation of MPU protection functions or memory protection functions within each bus system being used, for example a network on chip bus system. is there. However, this method has the following drawbacks. In other words, this has the disadvantage that the function of the bus system has to be expanded. This is often associated with high costs. This is because, for example, a network-on-chip bus system for system-on-chip may be additionally purchased as a so-called IP component, and in this case, for example, a memory protection function must be added specially. In some cases, such a functional extension may further cause a time delay during access or an increase in access time. This can significantly hinder the performance of the system on chip.
発明の説明
本発明の課題は、容易に、付加的なコストをかけずに、アクセス遅延時間が極めて短い、または、アクセス遅延時間を伴わない、システムオンチップ内のスレーブユニットへのコントロールされたアクセスを可能にする方法並びに回路装置を提供することである。
DESCRIPTION OF THE INVENTION The object of the present invention is to provide controlled access to slave units in a system-on-chip, easily, without additional cost, with very short or no access delay time. It is to provide a method as well as a circuit device that makes it possible.
上述の課題は、独立請求項に記載された特徴を有するように改善された、冒頭に記載された様式の方法並びに回路装置によって解決される。本発明の有利な実施形態は、従属請求項に記載されている。 The above-mentioned problem is solved by a method and a circuit arrangement in the manner described at the outset, which have been improved to have the features described in the independent claims. Advantageous embodiments of the invention are described in the dependent claims.
本発明では、上述の課題は、少なくとも1つのマスターユニットとネットワークオンチップバスシステムとの間に、メモリ保護ユニットが組み込まれている、冒頭に記載した様式の方法によって解決される。このメモリ保護ユニットによって、少なくとも1つのマスターユニットの、少なくとも1つのスレーブユニットへのアクセス権限が、所定のアドレス領域とアクセスアドレスとの比較によって検査される。少なくとも1つのスレーブユニットへの、少なくとも1つのマスターユニットの、権限の無いアクセスを識別した際に、アクセスアドレスは、メモリ保護ユニットによって次のように修正される。すなわち、このような、権限の無いアクセスが、ネットワークオンチップバスシステムにおいて終了するように、修正される。 In the present invention, the above-mentioned problems are solved by a method in the manner described at the outset, in which a memory protection unit is incorporated between at least one master unit and the network-on-chip bus system. With this memory protection unit, the access authority of at least one master unit to at least one slave unit is checked by comparing a predetermined address area with an access address. Upon identifying unauthorized access of at least one master unit to at least one slave unit, the access address is modified by the memory protection unit as follows. That is, such unauthorized access is corrected so as to end in the network-on-chip bus system.
本発明によって提案された方法の主要な態様は、次のことにある。すなわち、マスターユニットとして使用されているIPブロックへのマッチング等の付加的なコストをかけずに、システムオンチップ内で使用されているマスターユニットの、このシステムオンチップのスレーブユニットへのアクセスをコントロールすることである。例えば、マスターユニットによる、1つないしは複数のスレーブユニットの、いわゆるリードオンリー領域への権限の無いアクセス、または、ブロックされているスレーブユニットないしはメモリ領域への権限の無いアクセスを、このようにして、極めて容易に、かつ、大きなコストをかけることなく阻止することができる。権限の無いアクセスを識別し、阻止するために、例えば使用されているネットワークオンチップシステムに付加的なコントロール機能を拡張する必要も生じない。さらに、本発明の方法によって、殊に、場合によって行われるアクセスアドレスの修正によって、アクセスの付加的な待ち時間または時間遅延が、メモリ保護ユニット内の検査によって、できるだけ少なく保たれる、ないしは、付加的な待ち時間または時間遅延は生じない。これは次のことを意味する。すなわち、本発明の方法によって、システムオンチップの少なくとも1つのスレーブユニットへの、少なくとも1つのマスターユニットのアクセス時間がほぼ増大せず、または、増大せず、これによってシステムオンチップの性能および効率が妨害されることがない、ということを意味する。 The main aspects of the method proposed by the present invention are as follows. In other words, the access of the master unit used in the system on chip to the slave unit of the system on chip is controlled without incurring additional costs such as matching to the IP block used as the master unit. It is to be. For example, unauthorized access by one or more slave units to a so-called read-only area or unauthorized access to a blocked slave unit or memory area by a master unit in this way. It can be stopped very easily and without great cost. There is no need to extend additional control functions, for example, to the network-on-chip system being used to identify and block unauthorized access. Furthermore, by means of the method of the invention, in particular by means of an access address modification which is made in some cases, the additional latency or time delay of the access is kept as low as possible by checking in the memory protection unit. There is no typical latency or time delay. This means the following: That is, the method of the present invention does not substantially increase or increase the access time of at least one master unit to at least one slave unit of the system on chip, thereby increasing the performance and efficiency of the system on chip. It means that it will not be disturbed.
少なくとも1つのマスターユニットのアクセスが権限を有していない場合、ネットワークオンチップバスシステムの、このマスターユニットに対して使用されてないアドレス領域に、アクセスアドレスがマッピングされるのは有利である。ネットワークオンチップシステム内の使用されていないアドレス領域は、各マスターユニットに対して占有されてない、ないしは、このアドレス領域にはネットワークオンチップバスシステムにおいて、スレーブユニット(例えばメモリユニット等)のアドレスが、アクセスに対して割り当てられない。これによって、ネットワークオンチップシステム内での、マスターユニットの権限の無いアクセスが終了させられる。なぜなら、このアクセスは、目的ユニットとしてのスレーブユニットに伝達可能だからである。 If the access of at least one master unit is not authorized, it is advantageous to map the access address to an address area of the network on chip bus system that is not used for this master unit. An unused address area in the network-on-chip system is not occupied for each master unit, or in this address area, an address of a slave unit (for example, a memory unit) is stored in the network-on-chip bus system. , Not assigned for access. This terminates the unauthorized access of the master unit in the network on chip system. This is because this access can be transmitted to the slave unit as the target unit.
ここでは次のことが推奨される。すなわち、ネットワークオンチップバスシステム内のシステムオンチップの少なくとも1つのマスターユニットによる、このシステムオンチップの少なくとも1つのこのスレーブユニットないしはスレーブユニットへの、権限の無いアクセスの終了時に、いわゆる割り込みが送出されることが推奨される。この割り込みによって、システムオンチップの例えば制御ユニットまたはCPUに、容易に、スレーブユニットへの、各マスターユニットのアクセスの割り込みないしは終了が伝えられる。割り込みによって、例えば、周期的ではない、予測不可能なイベント、例えばスレーブユニットまたはメモリ領域等へのマスターユニットのアクセスの事前の終了と、制御ユニットないしはCPUとの同期化が実行される。いわゆる証拠レジスタも含まれ得る割り込みが、この場合には、CPUによって処理され、この場合には例えば、極めて迅速に、マイクロプログラムの処理が、CPUによって継続される。 The following is recommended here. That is, a so-called interrupt is sent at the end of unauthorized access to at least one slave unit or slave unit of this system-on-chip by at least one master unit of the system-on-chip in the network-on-chip bus system. It is recommended that By this interruption, an interruption or termination of access of each master unit to the slave unit is easily transmitted to, for example, a control unit or CPU of the system on chip. The interrupt causes, for example, a non-periodic, unpredictable event, for example a prior termination of the master unit's access to a slave unit or memory area, etc. and a synchronization with the control unit or CPU. Interrupts that can also include so-called evidence registers are in this case handled by the CPU, in which case, for example, very rapidly the processing of the microprogram is continued by the CPU.
理想的には、少なくとも1つのスレーブユニットへの、少なくとも、書き込みおよび/または読み出しのためのアクセスに対して少なくとも1つのマスターユニットに権限が与えられる、または少なくとも1つのスレーブユニットへの、読み出しのためだけのアクセスに対して権限が与えられる、または、少なくとも1つのスレーブユニットへのアクセスに対して権限が与えられない。マスターユニットに例えば、スレーブユニットへの、書き込みおよび読み出しアクセスに対して権限が与えられており、これがメモリ保護ユニット内で確定される場合には、アクセスアドレスは、例えば修正されること無く、メモリ保護ユニットからネットワークオンチップバスシステムに伝達される。特定のアクセス様式、例えば書き込みアクセス、読み出しアクセス等が、スレーブユニットにおいて、または、メモリ領域において許可されていない、または、各マスターユニットに対して、各スレーブユニットないしは各メモリ領域がブロックされている場合には、アクセスアドレスは、メモリ保護ユニットによってアクセス権限の検査後に修正され、このマスターユニットに対して、ネットワークオンチップバスシステムの使用されていないアドレス領域にマッピングされる。 Ideally, at least one master unit is authorized for access to at least one slave unit, at least for writing and / or reading, or for reading to at least one slave unit Is only authorized for access, or is not authorized for access to at least one slave unit. If the master unit is authorized for write and read access, for example to the slave unit, and this is established in the memory protection unit, the access address is not modified, for example, memory protection It is transmitted from the unit to the network on chip bus system. Certain access modes, such as write access, read access, etc. are not allowed in the slave unit or in the memory area, or each slave unit or each memory area is blocked for each master unit In this case, the access address is corrected by the memory protection unit after the access authority is checked, and is mapped to an unused address area of the network-on-chip bus system for the master unit.
このために、例えば、アクセス指示が、システムオンチップの各マスターユニットに対して、殊に、アドレス領域が、アクセスアドレスとの比較、ひいてはマスターユニットのアクセス権限の検査のために、ソフトウェアによって読み出し可能な、メモリ保護ユニットのレジスタユニット内に格納される。システムオンチップのマスターユニットのアクセスアドレスとの比較のためのアドレス領域の設定は、理想的には、セキュリティアプリケーション、例えば固有のセキュリティソフトウェアの助けによって実行される。 For this purpose, for example, access instructions can be read by software for each system-on-chip master unit, in particular the address area for comparison with the access address and thus for checking the access rights of the master unit. It is stored in the register unit of the memory protection unit. The setting of the address area for comparison with the access address of the system-on-chip master unit is ideally performed with the help of a security application, for example specific security software.
本発明の方法の有利な発展形態では、メモリ保護ユニットは、初期化フェーズにおいて、レジスタインタフェース(例えばいわゆるAdvanced Peripherial Bus−Register Interface)を介して、特別な信頼できる構築マスターユニットによって構築される。これは次のことを意味している。すなわち、例えばシステムオンチップも構築される初期化フェーズにおいて、1つのメモリ保護ユニットにおいて、または、場合によっては、複数のメモリ保護ユニットにおいて、アクセスアドレスとの比較のためのアドレス領域がレジスタユニット内に格納される、ということを意味している。この場合には、例えば、レジスタユニットが、さらなるアクセスまたは変更に対してブロックされ得る。 In an advantageous development of the method according to the invention, the memory protection unit is built in the initialization phase by a special reliable building master unit via a register interface (eg a so-called Advanced Peripheral Bus-Register Interface). This means the following: That is, for example, in an initialization phase in which a system-on-chip is also constructed, in one memory protection unit or, in some cases, in a plurality of memory protection units, an address area for comparison with an access address is in the register unit. It means that it is stored. In this case, for example, the register unit may be blocked for further access or modification.
しかし択一的に、次のことも可能である。すなわち、メモリユニット内に格納されているアドレス領域が、レジスタインタフェース(例えば、いわゆるAdvanced Peripherial Bus−Register Interface)を介して、特別な暗号情報を用いて構築される、および/または、変更されることも可能である。特別な暗号情報(例えば32ビットキー等)を用いた変更を、この場合には有利には、初期化フェーズの後に行うこともできる。これによって、メモリ保護ユニットを、相応に、例えば、システムオンチップの使用中に、要求に合わせることができる。 However, alternatively, it is also possible to: That is, the address area stored in the memory unit is constructed and / or changed using special cryptographic information via a register interface (for example, a so-called Advanced Peripheral Bus-Register Interface). Is also possible. Changes using special cryptographic information (for example a 32-bit key, etc.) can also advantageously take place after the initialization phase in this case. This allows the memory protection unit to be adapted accordingly, for example during use of the system on chip.
さらに、上述の課題は、本発明の方法を実施するための回路装置によって解決される。それを介してコントロールされたアクセスをシステムオンチップ内で行うことができるこの回路装置は、少なくとも、少なくとも1つのマスターユニット、少なくとも1つのスレーブユニット並びに、マスターユニットとスレーブユニットとの間の接続のためのネットワークオンチップバスシステムから成る。本発明の回路装置では、少なくとも1つのマスターユニットとネットワークオンチップバスシステムとの間に、メモリ保護ユニットが組み込まれている。このメモリ保護ユニットは、アクセスアドレスと所定のアドレス領域との比較によるアクセス検査のために形成され、並びに、少なくとも1つのマスターユニットによる少なくとも1つのスレーブユニットへの権限の無いアクセスの際のアクセスアドレスの修正のために、次のように形成されている。すなわち、権限の無いアクセスが、ネットワークオンチップバスシステム内でブロックされるように、形成されている。 Furthermore, the above problem is solved by a circuit arrangement for carrying out the method of the invention. This circuit arrangement through which controlled access can be made in the system on chip is at least for at least one master unit, at least one slave unit, and the connection between the master unit and the slave unit Network on-chip bus system. In the circuit device of the present invention, a memory protection unit is incorporated between at least one master unit and the network-on-chip bus system. The memory protection unit is formed for an access check by comparing an access address with a predetermined address area, as well as an access address for an unauthorized access to at least one slave unit by at least one master unit. For correction, it is formed as follows. That is, it is configured so that unauthorized access is blocked in the network on chip bus system.
本発明の回路装置によって得られる利点は殊に次のことにある。すなわち、容易に、かつ(例えば、システムオンチップの設計時または開発時の)付加的なコスト無く、マスターユニットによる、スレーブユニットへの権限の無いアクセスを阻止することができる、ということにある。例えば、マスターユニットであるシステムオンチップに使用されるIPブロックないしは使用されるネットワークオンチップバスシステムを変更する、機能的に拡張する、または整合させるために、アクセスのコントロールは不必要である。さらに、本発明の回路装置によって、スレーブユニットへのアクセスのアクセス待ち時間ないしは時間遅延は、各アクセス権限の検査によって、できるだけ短く保持される、ないしは、増大されない。アクセス待ち時間への作用を有するネットワークオンチップバスシステムのプロトコールを終了させることも不必要であり、権限の無いアクセスが容易に、ネットワークオンチップバスシステム内で終了させられる、ないしは、ブロックされる。 The advantages obtained by the circuit arrangement according to the invention are in particular: That is, it is possible to prevent unauthorized access to the slave unit by the master unit easily and at no additional cost (for example, when designing or developing a system-on-chip). For example, access control is not necessary to change, functionally extend or align the IP block used for the system on chip, which is the master unit, or the network on chip bus system used. Furthermore, with the circuit arrangement according to the invention, the access waiting time or time delay for access to the slave unit is kept as short as possible or not increased by checking each access authority. It is also unnecessary to terminate the network-on-chip bus system protocol that has an effect on access latency, and unauthorized access is easily terminated or blocked within the network-on-chip bus system.
メモリ保護ユニットは、有利には、アクセスアドレスを検査する少なくとも1つのコントロール論理回路、アクセスアドレス修正のための修正ユニット、並びに少なくとも1つのレジスタユニットから成る。ここでこのレジスタユニットは、所定のアドレス領域ないしはアクセス指示を格納する。コントロール論理回路によって、例えば、スレーブユニットへアクセスするマスターユニットの設定および信号が解され、処理される。コントロールユニットによって、このような情報に基づいても、例えば、アクセス権限の検査を、所定のアドレス領域とアクセスアドレスとの比較を用いて、トリガさせることができる、ないしは、実行することができる。権限の無いアクセスが確認された場合にも、このコントロール論理回路によって、アクセスアドレスの修正が修正ユニットによって実行される。 The memory protection unit advantageously comprises at least one control logic for checking the access address, a modification unit for modifying the access address, and at least one register unit. Here, the register unit stores a predetermined address area or an access instruction. By means of the control logic, for example, the settings and signals of the master unit accessing the slave unit are interpreted and processed. Based on such information, for example, the access authority can be triggered or executed by the control unit using a comparison between a predetermined address area and an access address. Even when unauthorized access is confirmed, the access logic is corrected by the control unit by this control logic circuit.
メモリ保護ユニットの少なくとも1つのレジスタユニット内には、所定のアドレス領域が、各アクセスアドレスとの比較のために格納されており、ひいては、それぞれシステムオンチップ内で使用されているスレーブユニットないしはメモリ(領域)へのマスターユニットのアクセス指示ないしはアクセス権限が格納されている。メモリ保護ユニットの少なくとも1つのレジスタユニット、例えば、メモリ保護ユニットは、有利には、レジスタインタフェース、例えばいわゆるAdvanced Peripherial Bus−Register Interfaceを介して、構築可能である。この構築は、例えば初期化フェーズにおいて、特別な、信頼のできる構築マスターユニットによって実行される。メモリ保護ユニットないしはレジスタユニットは、この場合には、例えば、アクセスまたは修正からブロックされる。しかし択一的に、殊にアドレス領域が少なくとも1つのレジスタユニットにおいて、特別な暗号情報(例えば32ビットキー等)を知っていることによって、レジスタインタフェースを介して変更されてもよい。このような暗号情報が知られていない場合には、メモリ保護ユニットの少なくとも1つのレジスタユニットは、レジスタインタフェースを介したアクセスから保護される。 In at least one register unit of the memory protection unit, a predetermined address area is stored for comparison with each access address. As a result, each slave unit or memory (each used in the system on chip) The access instruction or access authority of the master unit to (area) is stored. At least one register unit of the memory protection unit, for example a memory protection unit, can advantageously be constructed via a register interface, for example a so-called Advanced Peripheral Bus-Register Interface. This construction is performed by a special, reliable construction master unit, for example in the initialization phase. The memory protection unit or register unit is in this case blocked, for example, from access or modification. Alternatively, however, the address field may be changed via the register interface, in particular by knowing special cryptographic information (for example a 32-bit key, etc.) in at least one register unit. If such cryptographic information is not known, at least one register unit of the memory protection unit is protected from access via the register interface.
本発明を以降で、例示的に、添付の図面に基づいて説明する。図1は、概略的かつ例示的に、システムオンチップ内の少なくとも1つのスレーブユニットS1、S2、S3、S4への、少なくとも1つのマスターユニットMAによるコントロールされたアクセスのための本発明の方法を実行する回路装置を示している。例示的に示されている回路装置は、システムオンチップの少なくとも1つの部分である。システムオンチップは、図示の回路装置の他に、さらに他のコンポーネントないしはIPユニットを含み得る。これは例えば制御ユニットまたはCPU、入力ユニット、出力ユニット、他のマスターユニット(例えばコプロセッサー等)である。しかしこれらのコンポーネントないしIPユニットは、簡易にするために、図示されていない。 The invention will now be described by way of example with reference to the accompanying drawings. FIG. 1 schematically and exemplarily illustrates the inventive method for controlled access by at least one master unit MA to at least one slave unit S1, S2, S3, S4 in a system on chip. The circuit device to be executed is shown. The circuit device shown as an example is at least one part of the system on chip. The system on chip may further include other components or IP units in addition to the illustrated circuit device. This is, for example, a control unit or CPU, an input unit, an output unit, or another master unit (for example, a coprocessor). However, these components or IP units are not shown for simplicity.
本発明の回路装置は、少なくとも、1つのマスターユニットMA(例えば、周辺機器ユニット、コントローラ、コプロセッサー等のダイレクトメモリアクセス)並びに少なくとも1つのスレーブユニットS1、S2、S3、S4から成る。スレーブユニットS1、S2、S3、S4は、例えば周辺機器ユニット、入/出力ユニット、または、メモリユニットないしはメモリ領域であり得る。スレーブユニットS1、S2、S3、S4には、マスターユニットMAのアクセス権限に応じて、例えば書き込みアクセス、読み出しアクセス、または、実行アクセスがなされ得る。またはスレーブユニットS1、S2、S3、S4は、マスターユニットMAに対してブロックされている。スレーブユニットS1、S2、S3、S4へのマスターユニットMAのアクセスは、アクセスアドレスZAを用いて、回路装置のネットワークオンチップバスシステムNoCを介して実行される。これは、回路装置ないしはシステムオンチップのコンポーネントの間の接続を形成する。ネットワークオンチップバスシステムNoC内では、相応のアドレスないしはアドレス領域が、スレーブユニットS1、S2、S3、S4へのアクセスのために、占有されている。さらに、ネットワークオンチップバスシステムNoC内には、少なくとも1つの占有されていない、ないしは、使用されていないアドレス領域nAが存在する。これは例えば、マスターユニットMAのために占有されていない。 The circuit device of the present invention comprises at least one master unit MA (for example, direct memory access such as peripheral device unit, controller, coprocessor, etc.) and at least one slave unit S1, S2, S3, S4. The slave units S1, S2, S3, S4 can be, for example, peripheral device units, input / output units, memory units or memory areas. For example, write access, read access, or execution access can be performed on the slave units S1, S2, S3, and S4 according to the access authority of the master unit MA. Alternatively, the slave units S1, S2, S3, S4 are blocked with respect to the master unit MA. The access of the master unit MA to the slave units S1, S2, S3, S4 is performed via the network-on-chip bus system NoC of the circuit device using the access address ZA. This forms a connection between circuit devices or system-on-chip components. In the network on chip bus system NoC, corresponding addresses or address areas are occupied for access to the slave units S1, S2, S3, S4. Furthermore, at least one unoccupied or unused address area nA exists in the network-on-chip bus system NoC. This is not occupied for example by the master unit MA.
少なくとも1つのマスターユニットMAとネットワークオンチップシステムNoCとの間には、本発明の回路装置では、メモリ保護ユニットMPUが組み込まれている。このメモリ保護ユニットMPUは、少なくとも1つのコントロール論理回路KLと、修正ユニットMOと、少なくとも1つのレジスタユニットREとを有している。さらに、レジスタインタフェースRS、例えばAdvanced Peripherial Bus−Register Interfaceも設けられている。 In the circuit device of the present invention, a memory protection unit MPU is incorporated between at least one master unit MA and the network-on-chip system NoC. The memory protection unit MPU has at least one control logic circuit KL, a modification unit MO, and at least one register unit RE. Furthermore, a register interface RS, for example, an advanced peripheral bus-register interface, is also provided.
メモリ保護ユニットMPUのコントロール論理回路KLは、例えば、少なくとも1つのマスターユニットMAの設定情報および信号情報SEの処理のため、および、マスターユニットMAによって伝達されたアクセスアドレスZAの検査を誘因するために用いられる。修正ユニットMOによって、アクセスアドレスZAは場合によっては、スレーブユニットS1、S2、S3、S4への、マスターユニットMAの、権限のないアクセスの場合に、次のように修正される。すなわち、ネットワークオンチップバスシステムNoC内でのマスターユニットのこのアクセスが終了するように修正される。すなわち、マスターユニットMAの権限の無いアクセスが識別された場合には、メモリ保護ユニットMPUによって、アクセスアドレスZAが修正されたアクセスアドレスmZAに変えられる。これは、ネットワークオンチップバスシステムNoCにおいて、ネットワークオンチップバスシステムNoCの使用されていないアドレス領域nAにマッピングされる。 The control logic KL of the memory protection unit MPU, for example, for processing the configuration information and signal information SE of at least one master unit MA and for invoking the examination of the access address ZA transmitted by the master unit MA Used. By means of the modification unit MO, the access address ZA is possibly modified as follows in the case of unauthorized access of the master unit MA to the slave units S1, S2, S3, S4. That is, it is modified so that this access of the master unit in the network on chip bus system NoC is completed. That is, when an unauthorized access of the master unit MA is identified, the memory protection unit MPU changes the access address ZA to the modified access address mZA. In the network on chip bus system NoC, this is mapped to an address area nA that is not used in the network on chip bus system NoC.
マスターユニットMAの権限の無いアクセスを識別するために、メモリ保護ユニットMPUのレジスタユニットRE内に、設定されたアドレス領域AD1、AD2、AD3が格納される。このアクセス指示は、例えば、ソフトウェアアプリケーションによって、例えばコントロール論理回路KLによって読み出され、処理される。アドレス領域AD1、AD2、AD3内に、例えば、第1のアドレス領域AD1内に、スレーブユニットS1、S2、S3、S4への全てのアクセス(例えば書き込みアクセスおよび読み出しアクセス)に対するアクセス指示が格納され、第2のアドレス領域AD2内に、スレーブユニットS1、S2、S3、S4への制限されたアクセス(例えば読み出しアクセスのみ)に対するアクセス指示が格納され、第3のアドレス領域AD3内に、スレーブユニットS1、S2、S3、S4へのブロックされたアクセスに対するアクセス指示が格納される。マスターユニットMAのアクセスの際には、アクセスアドレスZAが、所定のアドレス領域AD1、AD2、AD3と比較され、これによって、アクセスが権限を有しているものかまたは権限が無いものかが確定される。 In order to identify unauthorized access of the master unit MA, the set address areas AD1, AD2, AD3 are stored in the register unit RE of the memory protection unit MPU. This access instruction is read and processed by, for example, a software application, for example, by the control logic circuit KL. Access instructions for all accesses (for example, write access and read access) to the slave units S1, S2, S3, and S4 are stored in the address areas AD1, AD2, and AD3, for example, in the first address area AD1, In the second address area AD2, an access instruction for restricted access to the slave units S1, S2, S3, S4 (for example, only read access) is stored, and in the third address area AD3, the slave units S1, Access instructions for blocked access to S2, S3, S4 are stored. When accessing the master unit MA, the access address ZA is compared with predetermined address areas AD1, AD2, and AD3, thereby determining whether the access is authorized or unauthorized. The
メモリ保護ユニットMPUないしはレジスタユニットの構築のために、レジスタインタフェースRSが設けられている。この構築は、特別な、信頼のおける構築マスターユニットによって例えば、初期化フェーズにおいて行われ、例えば、後発のプラットフォームであり、その機能性が例えば、相応の構築/初期化によってようやく得られるシステムオンチップを初期化する際に行われる。1つのシステムオンチップ内に複数のメモリ保護ユニットMPUが設けられている場合には、例えば、アドレス領域AD1、AD2、AD3が、トップレベルに、安全な領域に設けられる。すなわち、各レジスタユニットREないしは各メモリ保護ユニットMPUの構築後に、アクセスないしは変更に対して、ブロックされる。 A register interface RS is provided for the construction of the memory protection unit MPU or the register unit. This construction is carried out by a special, reliable construction master unit, for example in the initialization phase, for example a late platform, whose functionality is finally obtained, for example, by corresponding construction / initialization. This is done when initializing. When a plurality of memory protection units MPU are provided in one system-on-chip, for example, address areas AD1, AD2, and AD3 are provided in a safe area at the top level. That is, after each register unit RE or each memory protection unit MPU is built, it is blocked against access or modification.
択一的に、例えば、複数のメモリ保護ユニットMPUを有する複雑なシステムオンチップの場合には、メモリ保護ユニットMPUのレジスタユニットRE内に格納されているアドレス領域AD1、AD2、AD3が、特別な暗号情報(例えば32ビットキー)を知り、これを使用して、レジスタインタフェースRSを介して構築ないしは変更されてもよい。レジスタユニットRE内に格納されたアドレス領域AD1、AD2、AD3は、暗号情報によって保護され、場合によっては、暗号情報を用いて変更可能である。 Alternatively, for example, in the case of a complex system-on-chip having a plurality of memory protection units MPU, the address areas AD1, AD2, AD3 stored in the register unit RE of the memory protection unit MPU are special Knowing and using cryptographic information (eg, a 32-bit key) may be constructed or modified via the register interface RS. The address areas AD1, AD2, and AD3 stored in the register unit RE are protected by encryption information and can be changed using the encryption information in some cases.
本発明の方法を実施するため、および、システムオンチップにおけるスレーブユニットS1、S2、S3、S4へのマスターユニットMAのアクセスをコントロールするために、第1のステップ1では、メモリ保護ユニットMPUが、マスターユニットMAとネットワークオンチップバスシステムNoCとの間に組み込まれる。マスターユニットMAによって、スレーブユニットS1、S2、S3、S4へアクセスされる場合には、第2のステップ2において、一方で、マスターユニットMAの設定情報および信号情報SEが、メモリ保護ユニットMPUのコントロール論理回路KLに伝達され、他方では、アクセスアドレスZAが、メモリ保護ユニットMPUの修正ユニットMOに伝達される。次にメモリ保護ユニットMPUないしはコントロール論理回路KLおよび修正ユニットMOによって、当該第2のステップにおいて、アクセスアドレスZAが、所定のアドレス領域AD1、AD2、AD3と比較される。これによって、マスターユニットMAがアクセスしようとする、各スレーブユニットS1、S2、S3への、マスターユニットMAの各アクセス権限が検査される。
In order to implement the method of the invention and to control the access of the master unit MA to the slave units S1, S2, S3, S4 in the system on chip, in a
次に、どの所定のアドレス領域AD1、AD2、AD3内に、マスターユニットMAのアクセスアドレスZAが属するかによって、第3のステップ3において、マスターユニットのアクセスアドレスZAが変えられずに、ネットワークオンチップバスシステムNoCに伝送される、または、メモリ保護ユニットMPUの修正ユニットMOによって修正される。例えば、マスターユニットMAが、スレーブユニットS1、S2、S3、S4に書き込みアクセスおよび読み出しアクセスすべき場合、かつ、アクセスアドレスZAが、完全なアクセス、ないしは、書き込みおよび読み出しアクセスのための第1のアドレス領域AD1内で発見された場合には、アクセスアドレスZAは第3のステップ3において、変更されずに、ネットワークオンチップバスシステムNoCにさらに伝送される。ネットワークオンチップバスシステムNoCから、相応に、アクセスが、マスターユニットMAによって、書き込みアクセスおよび読み出しアクセスされるスレーブユニットS1、S2、S3、S4に転送される。
Next, depending on which predetermined address areas AD1, AD2, and AD3 the access address ZA of the master unit MA belongs to, in the
マスターユニットMAが、スレーブユニットS1、S2、S3、S4に読み出しアクセスし、マスターユニットMAがこれに対しても権限を与えられている場合には、第2のステップ2において、アクセスアドレスZAを所定のアドレス領域AD1、AD2、AD3と比較する際に、メモリ保護ユニットMPUは、アクセスアドレスが、制限されたアクセス、ないしは、読み出しのみのアクセスのための第2のアドレス領域内に設けられていると決定する。第3のステップ3では、次に、マスターユニットMAのアクセスアドレスZAが、変更されずに、ネットワークオンチップバスシステムNoCに伝送される。ネットワークオンチップバスシステムでは次に、第4のステップ4において、アクセスアドレスに基づいて、相応するスレーブユニットS1、S2、S3、S4のアドレスが求められ、マスターユニットMAのアクセスが、スレーブユニットS1、S2、S3、S4に伝達される。次にマスターユニットMAから、スレーブユニットS1、S2、S3、S4への読み出しアクセスが実施される。
When the master unit MA has read access to the slave units S1, S2, S3, and S4, and the master unit MA is also authorized to do so, in the
しかしマスターユニットMAが例えば、スレーブユニットS1、S2、S3、S4への読み出しアクセスに対してのみ権限が与えられているのにもかかわらず、スレーブユニットS1、S2、S3、S4への書き込みおよび読み出しアクセスを試みると、メモリ保護ユニットMPUによって、第2のステップ2において次のことが確定される。すなわち、アクセスアドレスZAが、読み出しアクセスに対してのみの第2のアドレス領域AD2に属し、マスターユニットMAが、全てのアクセス(書き込みアクセスおよび読み出しアクセス)に対しては権限が与えられていない、ということが確定される。次に第3のステップ3では、メモリ保護ユニットMPUの修正ユニットMOによって、アクセスアドレスZAが、修正されたアクセスアドレスmZAに変えられる。修正されたアクセスアドレスmZAは、次に、ネットワークオンチップバスシステムNoCに転送される。修正されたアクセスアドレスmZAは、ネットワークオンチップバスシステムNoC内の、使用されていないアドレス領域nAにマッピングされるので、マスターユニットMAの権限の無いこのアクセスは、ネットワークオンチップバスシステムNoCにおいて、第4のステップ4において終了する。このアクセスの終了は、次に、システムオンチップの制御ユニットないしはCPUに、例えば、証拠レジスタを含む、いわゆる割り込みによって伝達される。
However, although the master unit MA is only authorized for read access to the slave units S1, S2, S3, S4, for example, writing to and reading from the slave units S1, S2, S3, S4 When an access is attempted, the following is determined in the
例えば、マスターユニットMAによって、ブロックされているスレーブユニットS1、S2、S3、S4への書き込みおよび読み出しアクセスまたは読み出しのみのアクセスが試みられる場合にも、同様の措置が取られる。マスターユニットMAのアクセスアドレスZAに基づいて、メモリ保護ユニットMPUは、第2のステップ2において、マスターユニットMAが、スレーブユニットS1、S2、S3、S4へのアクセスに対して権限を有していないことを決定する。この場合、アクセスアドレスZAは、ブロックされているアクセスのための第3のアドレス領域AD3内に見出される。次に第3のステップ3では、アクセスアドレスZAが、メモリ保護ユニットMPUの修正ユニットMOによって、修正されたアクセスアドレスmZAに変更される。修正されたこのアクセスアドレスmZAは、再び、ネットワークオンチップバスシステムNoCに伝送される。ここで、次に、第4のステップ4において、次のことが確定される。すなわち、修正されたアクセスアドレスmZAが、ネットワークオンチップバスシステムNoCの使用されていないアドレス領域nAを指しており、マスターユニットMAのこのアクセスが終了することが確定される。システムオンチップのCPUには、再び、これが、割り込みによって伝達される。
For example, the same measures are taken when the master unit MA attempts write and read access or read only access to the blocked slave units S1, S2, S3, S4. Based on the access address ZA of the master unit MA, the memory protection unit MPU has no authority for access to the slave units S1, S2, S3, S4 in the
Claims (10)
前記少なくとも1つのスレーブユニット(S1、S2、S3、S4)は、殊にメモリユニット、および/または、入/出力ユニットであり、
前記ネットワークオンチップバスシステム(NoC)を介した、前記少なくとも1つのスレーブユニット(S1、S2、S3、S4)への、前記少なくとも1つのマスターユニット(MA)のアクセスを、アクセスアドレス(ZA)を用いて実施する方法において、
前記少なくとも1つのマスターユニット(MA)と、前記ネットワークオンチップバスシステム(NoC)との間に、メモリ保護ユニット(MPU)を組み込み(1)、
前記メモリ保護ユニット(MPU)は、前記少なくとも1つのスレーブユニット(S1、S2、S3、S4)への、前記少なくとも1つのマスターユニット(MA)のアクセス権限を、前記アクセスアドレス(ZA)を所定のアドレス領域(AD1、AD2、AD3)と比較することによって検査し(2)、
前記少なくとも1つのマスターユニット(MA)によるアクセスに権限が与えられていないことを識別すると、前記アクセスアドレス(ZA)を、前記メモリ保護ユニット(MPU)は次のように変更する(3)、すなわち、当該権限の無いアクセスを、前記ネットワークオンチップバスシステム(NoC)において終了させる(4)ように変更する、
ことを特徴とする方法。 An access method under the control of at least one master unit (MA) to at least one slave unit (S1, S2, S3, S4) via a so-called network on chip bus system (NoC) in the system on chip. And
Said at least one slave unit (S1, S2, S3, S4) is in particular a memory unit and / or an input / output unit;
Access of the at least one master unit (MA) to the at least one slave unit (S1, S2, S3, S4) via the network-on-chip bus system (NoC) with an access address (ZA) In the method to be used,
A memory protection unit (MPU) is incorporated between the at least one master unit (MA) and the network on chip bus system (NoC) (1),
The memory protection unit (MPU) assigns the access authority of the at least one master unit (MA) to the at least one slave unit (S1, S2, S3, S4) and the access address (ZA) as a predetermined value. Check by comparing with the address area (AD1, AD2, AD3) (2)
Upon identifying that access by the at least one master unit (MA) is not authorized, the memory protection unit (MPU) changes the access address (ZA) as follows (3): The unauthorized access is changed to terminate (4) in the network on chip bus system (NoC).
A method characterized by that.
当該回路装置は、請求項1から7記載の本発明の方法を実施し、
当該回路装置は、少なくとも1つのマスターユニット(MA)と、少なくとも1つのスレーブユニット(S1、S2、S3、S4)と、いわゆるネットワークオンチップバスシステム(NoC)とから成り、当該ネットワークオンチップバスシステム(NoC)は、前記少なくとも1つのマスターユニット(MA)と前記少なくとも1つのスレーブユニット(S1、S2、S3、S4)とを接続する、回路装置において、
前記少なくとも1つのマスターユニット(MA)と前記ネットワークオンチップバスシステム(NoC)との間にメモリ保護ユニット(MPU)が組み込まれており、
前記メモリ保護ユニット(MPU)は、アクセスアドレス(ZA)を所定のアドレス領域(AD1、AD2、AD3)と比較することによってアクセスを検査するように構成され、並びに、前記少なくとも1つのスレーブユニット(S1、S2、S3、S4)への、前記少なくとも1つのマスターユニット(MA)によるアクセスに権限が与えられていない場合に、当該権限の無いアクセスが前記ネットワークオンチップバスシステム(NoC)において終了させられるように、アクセスアドレス(ZA)を修正するように構成されている、
ことを特徴する回路装置。 A circuit device for controlled access in a so-called system-on-chip,
The circuit device implements the method of the invention according to claims 1 to 7,
The circuit device includes at least one master unit (MA), at least one slave unit (S1, S2, S3, S4), and a so-called network on chip bus system (NoC), and the network on chip bus system. (NoC) is a circuit device that connects the at least one master unit (MA) and the at least one slave unit (S1, S2, S3, S4),
A memory protection unit (MPU) is incorporated between the at least one master unit (MA) and the network-on-chip bus system (NoC);
The memory protection unit (MPU) is configured to check access by comparing an access address (ZA) with a predetermined address area (AD1, AD2, AD3), and the at least one slave unit (S1) , S2, S3, S4), if no authority is granted for access by the at least one master unit (MA), the unauthorized access is terminated in the network-on-chip bus system (NoC). Configured to modify the access address (ZA),
A circuit device characterized by that.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013203365.6 | 2013-02-28 | ||
DE102013203365.6A DE102013203365A1 (en) | 2013-02-28 | 2013-02-28 | Method and circuit arrangement for controlled accesses to slave units in a one-chip system |
PCT/EP2014/052702 WO2014131618A1 (en) | 2013-02-28 | 2014-02-12 | Method and circuit arrangement for accessing slave units in a system on chip in a controlled manner |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016516228A true JP2016516228A (en) | 2016-06-02 |
Family
ID=50115855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015559455A Pending JP2016516228A (en) | 2013-02-28 | 2014-02-12 | Access method and circuit device under control of slave unit in system on chip |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160004647A1 (en) |
EP (1) | EP2962207B1 (en) |
JP (1) | JP2016516228A (en) |
DE (1) | DE102013203365A1 (en) |
WO (1) | WO2014131618A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109564555A (en) * | 2016-07-19 | 2019-04-02 | 赛普拉斯半导体公司 | Protection system based on context |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170060783A1 (en) * | 2015-09-01 | 2017-03-02 | Mediatek Inc. | Apparatus for performing secure memory allocation control in an electronic device, and associated method |
DE102017220764A1 (en) * | 2017-11-21 | 2019-05-23 | Audi Ag | One-chip system for a vehicle |
GB201806465D0 (en) | 2018-04-20 | 2018-06-06 | Nordic Semiconductor Asa | Memory-access controll |
US11115383B2 (en) * | 2018-05-24 | 2021-09-07 | Texas Instruments Incorporated | System on chip firewall memory architecture |
GB201810653D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure peripheral interconnect |
GB201810659D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Secure-Aware Bus System |
GB201810662D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Peripheral Access On A Secure-Aware Bus System |
EP3637253B1 (en) * | 2018-08-10 | 2021-09-29 | Shenzhen Goodix Technology Co., Ltd. | Soc chip and bus access control method |
US11281810B1 (en) * | 2018-12-11 | 2022-03-22 | Xilinx, Inc. | Memory access protection in programmable logic device |
KR20210018130A (en) * | 2019-08-06 | 2021-02-17 | 주식회사 아이씨티케이 홀딩스 | Processor, method for operating the same, and electronic device including the same |
GB2601666B (en) * | 2019-08-06 | 2023-04-26 | Ictk Holdings Co Ltd | Processor, processor operation method and electronic device comprising same |
EP4155957A1 (en) * | 2021-09-22 | 2023-03-29 | Thales Dis France SAS | Method for managing access by a thread to a slave device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050030824A1 (en) * | 2003-08-04 | 2005-02-10 | Jurgen Kreuchauf | Apparatus and method for controlling the access operation by a plurality of data processing devices to a memory |
EP1914637A2 (en) * | 2006-09-13 | 2008-04-23 | Samsung Electronics Co., Ltd. | Network on chip (noc) response signal control apparatus and noc response signal control method using the apparatus |
US20090089861A1 (en) * | 2007-09-28 | 2009-04-02 | Stmicroelectronics (Grenoble) Sas | Programmable data protection device, secure programming manager system and process for controlling access to an interconnect network for an integrated circuit |
JP2009523280A (en) * | 2006-01-13 | 2009-06-18 | フリースケール セミコンダクター インコーポレイテッド | Protection system and operation method thereof |
US20110191562A1 (en) * | 2010-02-02 | 2011-08-04 | Broadcom Corporation | Apparatus and method for partitioning, sandboxing and protecting external memories |
JP2012104151A (en) * | 2006-11-02 | 2012-05-31 | Nec Corp | Multiprocessor system, system configuration method and its program in multiprocessor system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5672754A (en) * | 1979-11-20 | 1981-06-17 | Casio Comput Co Ltd | Electronic computer system equipped with memory protecting device |
JPS60242579A (en) * | 1984-05-16 | 1985-12-02 | Hitachi Ltd | Control method of magnetic bubble memory device |
EP1619572A1 (en) * | 2004-07-23 | 2006-01-25 | Texas Instruments Incorporated | System and method of identifying and preventing security violations within a computing system |
JP4587756B2 (en) * | 2004-09-21 | 2010-11-24 | ルネサスエレクトロニクス株式会社 | Semiconductor integrated circuit device |
US7849287B2 (en) * | 2006-11-13 | 2010-12-07 | Advanced Micro Devices, Inc. | Efficiently controlling special memory mapped system accesses |
US7574576B2 (en) * | 2006-12-22 | 2009-08-11 | Spansion Llc | Semiconductor device and method of controlling the same |
CN101989242B (en) * | 2010-11-12 | 2013-06-12 | 深圳国微技术有限公司 | Bus monitor for improving safety of SOC (System on a Chip) as well as realizing method thereof |
EP2461251B1 (en) | 2010-12-03 | 2017-06-21 | Robert Bosch GmbH | Memory protection unit and a method for controlling an access to a memory device |
FR2989800B1 (en) * | 2012-04-18 | 2014-11-21 | Schneider Electric Ind Sas | SYSTEM FOR MANAGING SECURE AND UNSECURED APPLICATIONS ON THE SAME MICROCONTROLLER |
US20140025852A1 (en) * | 2012-07-19 | 2014-01-23 | Lsi Corporation | Configurable Response Generator for Varied Regions of System Address Space |
US10318458B2 (en) * | 2013-08-21 | 2019-06-11 | Siemens Ag Österreich | Method and circuit arrangement for temporally limiting and separately accessing a system on a chip |
DE102013216699A1 (en) * | 2013-08-22 | 2015-02-26 | Siemens Ag Österreich | Method and circuit arrangement for securing against scanning of an address space |
US20150277949A1 (en) * | 2014-03-27 | 2015-10-01 | Thiam Wah Loh | Securing shared interconnect for virtual machine |
US9619405B2 (en) * | 2014-11-24 | 2017-04-11 | Nxp Usa, Inc. | Device having memory access protection |
DE102015205827A1 (en) * | 2015-03-31 | 2016-10-06 | Siemens Aktiengesellschaft | Method for protecting security-relevant data in a cache memory |
-
2013
- 2013-02-28 DE DE102013203365.6A patent/DE102013203365A1/en not_active Withdrawn
-
2014
- 2014-02-12 WO PCT/EP2014/052702 patent/WO2014131618A1/en active Application Filing
- 2014-02-12 US US14/769,238 patent/US20160004647A1/en not_active Abandoned
- 2014-02-12 JP JP2015559455A patent/JP2016516228A/en active Pending
- 2014-02-12 EP EP14705099.1A patent/EP2962207B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050030824A1 (en) * | 2003-08-04 | 2005-02-10 | Jurgen Kreuchauf | Apparatus and method for controlling the access operation by a plurality of data processing devices to a memory |
JP2009523280A (en) * | 2006-01-13 | 2009-06-18 | フリースケール セミコンダクター インコーポレイテッド | Protection system and operation method thereof |
EP1914637A2 (en) * | 2006-09-13 | 2008-04-23 | Samsung Electronics Co., Ltd. | Network on chip (noc) response signal control apparatus and noc response signal control method using the apparatus |
JP2012104151A (en) * | 2006-11-02 | 2012-05-31 | Nec Corp | Multiprocessor system, system configuration method and its program in multiprocessor system |
US20090089861A1 (en) * | 2007-09-28 | 2009-04-02 | Stmicroelectronics (Grenoble) Sas | Programmable data protection device, secure programming manager system and process for controlling access to an interconnect network for an integrated circuit |
US20110191562A1 (en) * | 2010-02-02 | 2011-08-04 | Broadcom Corporation | Apparatus and method for partitioning, sandboxing and protecting external memories |
Non-Patent Citations (2)
Title |
---|
JOEL PORQUET ET AL.: "NoC-MPU: a secure architecture for flexible co-hosting on shared memory MPSoCs", DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION, 2011, JPN6016041367, 14 March 2011 (2011-03-14), pages 全4頁 * |
LEANDRO FIORIN ET AL.: "SecureMemory Accesses on Networks-on-Chip", IEEE TRANSACTIONS ON COMPUTERS, vol. Volume 57, Issue 9, JPN6016041368, 10 June 2008 (2008-06-10), pages 1216 - 1229 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109564555A (en) * | 2016-07-19 | 2019-04-02 | 赛普拉斯半导体公司 | Protection system based on context |
CN109564555B (en) * | 2016-07-19 | 2022-12-13 | 赛普拉斯半导体公司 | Context-based protection system |
Also Published As
Publication number | Publication date |
---|---|
EP2962207B1 (en) | 2020-04-01 |
DE102013203365A1 (en) | 2014-08-28 |
EP2962207A1 (en) | 2016-01-06 |
US20160004647A1 (en) | 2016-01-07 |
WO2014131618A1 (en) | 2014-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016516228A (en) | Access method and circuit device under control of slave unit in system on chip | |
US8683114B2 (en) | Device security features supporting a distributed shared memory system | |
TWI479356B (en) | Incorporating access control functionality into a system on a chip (soc) | |
US12079379B2 (en) | Peripheral component interconnect express protection controller | |
EP1977363B1 (en) | Protection system and method of operation therein | |
JP2008097173A (en) | Data processor | |
US11698995B2 (en) | Peripheral access on a secure-aware bus system | |
JP2012128850A (en) | Memory protection unit and method for controlling access to memory device | |
US10257166B2 (en) | Guest netfilter protection by virtual machine function | |
US11366940B2 (en) | Secure-aware bus system | |
US11537762B2 (en) | Secure peripheral interconnect | |
KR20150046119A (en) | Protection scheme for embedded code | |
CN110276214B (en) | Dual-core trusted SOC architecture and method based on slave access protection | |
JP7001670B2 (en) | Context-based protection system | |
EP3782066B1 (en) | Nop sled defense | |
JP2010009454A (en) | Information processing apparatus | |
EP2983088A1 (en) | Memory protection unit | |
US20230342187A1 (en) | Processing of interrupts | |
US10318458B2 (en) | Method and circuit arrangement for temporally limiting and separately accessing a system on a chip | |
WO2009113571A1 (en) | Information processing device and method capable of operating a plurality of basic software programs | |
TWI467374B (en) | Computing system and method for protected portion of partition memory | |
JP2016081291A (en) | Access inspection apparatus and information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170718 |