JP2007109053A - Bus access controller - Google Patents

Bus access controller Download PDF

Info

Publication number
JP2007109053A
JP2007109053A JP2005300016A JP2005300016A JP2007109053A JP 2007109053 A JP2007109053 A JP 2007109053A JP 2005300016 A JP2005300016 A JP 2005300016A JP 2005300016 A JP2005300016 A JP 2005300016A JP 2007109053 A JP2007109053 A JP 2007109053A
Authority
JP
Japan
Prior art keywords
access
bus
master
information
transfer
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
Application number
JP2005300016A
Other languages
Japanese (ja)
Inventor
Hiroki Taoka
宏毅 田岡
Masaaki Harada
昌明 原田
Tsutomu Sekibe
勉 関部
Satoru Kuriki
悟 栗木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005300016A priority Critical patent/JP2007109053A/en
Publication of JP2007109053A publication Critical patent/JP2007109053A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To secure an exclusive area corresponding to each of a plurality of types of applications on a shared memory when a certain bus master simultaneously executes the plurality of types of applications whose algorithms should be protected. <P>SOLUTION: When a bus master which executes a plurality of applications performs access to a memory, an access area number showing that it is access to an area corresponding to each application is output, and whether or not it is possible to perform access to access destination requested by the bus master is decided based on the access area number or an access destination address and access feasibility information included in an access request by an access feasibility deciding part. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明はデジタルAV機器向けシステムLSIにおけるセキュア機構、またはバス調停機構の実現に関するものである。   The present invention relates to the realization of a secure mechanism or a bus arbitration mechanism in a system LSI for digital AV equipment.

現在、LSI(Large Scale Integrated circuit)の高機能化、高集積化が進む中、複数のプロセッサから構成されるマルチプロセッサシステムが一般化している。また、デジタルAV家電分野などでは、低コスト化のため主記憶装置などの情報資源を共有するユニファイドメモリ構成が欠かせない。そのため、あるプロセッサの秘匿プログラムやデータが共有メモリ内に記憶されている場合に、他のプロセッサがその秘匿プログラムを改竄したり盗み出したりする等のセキュリティ低下が問題となっている。   Currently, multi-processor systems composed of a plurality of processors are generalized as LSIs (Large Scale Integrated Circuits) are becoming more highly functional and highly integrated. In the field of digital AV home appliances and the like, a unified memory configuration that shares information resources such as a main storage device is indispensable for cost reduction. For this reason, when a secret program or data of a certain processor is stored in the shared memory, there is a problem of a decrease in security such that another processor falsifies or steals the secret program.

特許文献1には、あるバスマスタが複数種類のセキュアなアプリケーションを実行する場合、それぞれのセキュア処理に応じた専用領域を共有メモリ上に確保するための仕組みが開示されている。図19に特許文献1記載のバスアクセス制御装置を示す。アクセス制御部300は、アクセス可否情報保持部320が保持するバスマスタ200がアクセス可能な領域を示すアクセス可否情報と、バスマスタ200が発行するメモリ350へのアクセス要求210とに基づいて、バスマスタ200がアクセス要求先の領域にアクセス可能か否かを判定する。メモリIF部340は、その判定結果(アクセス可否判定結果330)がアクセス許可を示しているときのみメモリ350へアクセスする。アクセス可否情報は特定アドレスのプログラム実行時にのみ変更可能である。また、複数のアプリケーションを実行する場合、その都度アクセス可否情報を設定する必要がある。図20にアクセス可否情報の一例を示す。アクセス可否情報としては、アクセス可能領域の開始アドレス、終了アドレス、さらに前記アクセス可能領域以外へのアクセスを許可するか否かである。図20の例では、バスマスタ200はアドレス0x8000_0000〜0x80FF_FFFFにのみアクセス可能となる。   Patent Document 1 discloses a mechanism for securing a dedicated area in a shared memory according to each secure process when a certain bus master executes a plurality of types of secure applications. FIG. 19 shows a bus access control device described in Patent Document 1. The access control unit 300 accesses the bus master 200 based on the access permission information indicating the area accessible by the bus master 200 held by the access permission information holding unit 320 and the access request 210 to the memory 350 issued by the bus master 200. It is determined whether the requested area can be accessed. The memory IF unit 340 accesses the memory 350 only when the determination result (accessibility determination result 330) indicates access permission. Accessibility information can be changed only when a program at a specific address is executed. Further, when a plurality of applications are executed, it is necessary to set access permission information each time. FIG. 20 shows an example of access permission information. The access enable / disable information includes the start address and end address of the accessible area, and whether or not access to the area other than the accessible area is permitted. In the example of FIG. 20, the bus master 200 can access only the addresses 0x8000 — 0000 to 0x80FF_FFFF.

また、昨今のLSIのオンチップバスでは、複数のマスターが共有メモリへ同時にアクセスした際のバスの調停をいかに効率的に行うかが性能を保証する上で重要となっている。図21に、特許文献2や、非特許文献1に集中並列方式(centralized,parallel arbitration)として紹介されている従来のバス調停の方法を述べる。バスマスタ201、202、203はバスに対してアクセス要求211、212、213をそれぞれ出力する。アクセス制御部300には各マスタに応じた調停順位が記載されたマスタ調停情報1110が存在し、複数マスターが同時にアクセスした場合、このマスタ調停情報1110に応じて、どのマスターからのアクセスを優先するかが決定される。図22にマスタ調停情報の例を示す。そこにはマスター間での順位が記載されており、本例の場合、マスター201、マスター202、マスター203の順位での固定優先となっている。
特開2001−256460号公報 特開平6−231074号公報 John L.Hennessy,David A.Patterson“Computer Organazation and Design”,1998,Morgan Kaufmann Publishers,Inc.
In recent LSI on-chip buses, it is important to guarantee the performance how efficiently bus arbitration is performed when a plurality of masters simultaneously access a shared memory. FIG. 21 describes a conventional bus arbitration method introduced as a centralized parallel method in Patent Document 2 and Non-Patent Document 1. The bus masters 201, 202, and 203 output access requests 211, 212, and 213 to the bus, respectively. In the access control unit 300, there is master arbitration information 1110 in which the arbitration order corresponding to each master is described. When a plurality of masters access simultaneously, priority is given to access from which master according to the master arbitration information 1110. Is decided. FIG. 22 shows an example of master arbitration information. In this example, the order among the masters is described, and in the case of this example, fixed priority is given to the order of the master 201, the master 202, and the master 203.
JP 2001-256460 A Japanese Patent Laid-Open No. 6-231074 John L. Hennessy, David A.M. Patterson “Computer Organisation and Design”, 1998, Morgan Kaufmann Publishers, Inc.

しかし、特許文献1の仕組みでは、あるセキュアなアプリケーション実行中には、そのアプリに対応した一つの専用領域しか確保することができないため、複数のセキュアなアプリケーションに属した転送を同時に実行することができない。この仕組みの上で複数のセキュアなアプリケーションを同時に実行しようとすれば、一つの専用領域にて複数のセキュアな転送を実行する必要があるが、この場合、バスマスタが複数種類のセキュア情報にアクセス可能であるためセキュリティ低下の要因となってしまう。   However, in the mechanism of Patent Document 1, during execution of a certain secure application, only one dedicated area corresponding to the application can be secured, so it is possible to simultaneously execute transfers belonging to a plurality of secure applications. Can not. If multiple secure applications are to be executed simultaneously on this mechanism, it is necessary to execute multiple secure transfers in one dedicated area. In this case, the bus master can access multiple types of secure information. Therefore, it becomes a factor of security degradation.

また、図21の調停の仕組みでは1つのマスター毎に調停の順位が決定されるが、たとえば、マスターから実行される転送にグラフィックスや周辺IOとのシリアル転送など多様なものが混在する場合(汎用のDMAコントローラなど)、転送データの種類に応じて調停順序を動的に変更できることが望ましいが、本構成ではそれを実現することは困難である。   In the arbitration mechanism shown in FIG. 21, the order of arbitration is determined for each master. For example, when transfer from the master includes various types such as graphics and serial IO with peripheral IO (see FIG. 21). Although it is desirable that the arbitration order can be dynamically changed according to the type of transfer data, a general-purpose DMA controller or the like, this configuration is difficult to realize.

なお上記2つの課題はいずれも、バス上でコンカレントに実行されうる複数種類のデータ転送において、(1)アクセス可能なメモリ領域や、(2)バス調停順位といった情報が動的に変更できない構成であるため、セキュリティや転送性能の向上を実現しにくい点で共通している。   Both of the above two problems have a configuration in which (1) accessible memory area and (2) information such as bus arbitration order cannot be dynamically changed in a plurality of types of data transfer that can be executed concurrently on the bus. Therefore, they are common in that it is difficult to improve security and transfer performance.

前記従来の課題を解決するために、本発明は、メモリやレジスタなどのLSI内外の資源を有するバススレーブと、前記バススレーブへアクセスするバスマスタにあって、前記バスマスタ側の処理内容に対応した転送識別番号をアクセス要求と共に出力するバス出力部を有する。   In order to solve the conventional problem, the present invention provides a bus slave having resources inside and outside the LSI such as a memory and a register, and a bus master that accesses the bus slave, and transfers corresponding to processing contents on the bus master side. A bus output unit for outputting the identification number together with the access request;

また、本発明は、請求項1記載のバスアクセス制御装置であって、前記バスマスタの処理動作を制御する複数の制御マスターと、前記バスマスタを制御しているのがどの前記制御マスターなのかを判別する制御マスター識別部と、前記バス出力部は前記制御マスター識別部からの情報をもとに、前記バスマスタ側の処理内容がどの前記制御マスターに属したものであるかを前記転送識別番号として出力する手段を有する。   Further, the present invention is the bus access control device according to claim 1, wherein a plurality of control masters that control processing operations of the bus master and which control master is controlling the bus master are determined. The control master identification unit and the bus output unit output, as the transfer identification number, to which control master the processing content on the bus master side belongs, based on information from the control master identification unit Means to do.

また、本発明は、請求項2記載のバスアクセス制御装置であって、前記制御マスターはソフトウェアを実行可能であり、前記転送識別番号は前記制御マスターで動作するソフトウェアに対応した番号であることを特徴とする手段を有する。   Further, the present invention is the bus access control device according to claim 2, wherein the control master is capable of executing software, and the transfer identification number is a number corresponding to software operating on the control master. It has a feature means.

また、本発明は、請求項3記載のバスアクセス制御装置であって、前記転送識別番号は前記制御マスターのソフトウェアのフェッチ先アドレスであることを特徴とする手段を有する。   The present invention is the bus access control apparatus according to claim 3, wherein the transfer identification number is a fetch destination address of software of the control master.

また、本発明は、請求項8記載のバスアクセス制御装置であって、複数の前記バスマスタを有し、前記アクセス要求を行ったバスマスタを識別し、バスマスタ識別情報として出力するバスマスタ識別部をさらに含み、前記アクセス可否情報に、前記領域へのアクセスを許可するマスタ識別情報を含み、前記アクセス可否判定部は、前記マスタ識別情報と前記アクセス可否情報と前記転送識別番号と前記アクセス要求に含まれるアクセス先のアドレス情報に基づいて、前記バスマスタが前記アクセス要求先の領域にアクセス可能か否かを判定する手段を有する。   Further, the present invention is the bus access control device according to claim 8, further comprising a bus master identification unit that includes a plurality of the bus masters, identifies the bus master that has made the access request, and outputs the bus master identification information. The access permission information includes master identification information that permits access to the area, and the access permission determination unit includes the master identification information, the access permission information, the transfer identification number, and the access included in the access request. The bus master has means for determining whether or not the access request destination area is accessible based on the previous address information.

また、本発明は、請求項8または9記載のバスアクセス制御装置であって、前記バスマスタが暗号・復号機能を有した暗復号DMAコントローラであり、前記暗復号DMAコントローラは暗号、復号に使用する鍵を設定するためのレジスタ(復号鍵設定レジスタ)と、DMA転送元を指定するためのレジスタ(転送元指定レジスタ)と、DMA転送先を指定するためのレジスタ(転送先設定レジスタ)を有し、更に暗号化データもしくは暗号化プログラムを復号して前記転送先設定レジスタに示されたアドレスに転送するためのアクセス要求を発行する際、前記バス出力部にて、前記復号鍵設定レジスタにより指定された復号鍵に対応させて前記転送識別番号を出力する手段を有する。   The present invention is the bus access control device according to claim 8 or 9, wherein the bus master is an encryption / decryption DMA controller having an encryption / decryption function, and the encryption / decryption DMA controller is used for encryption / decryption. It has a register for setting a key (decryption key setting register), a register for specifying a DMA transfer source (transfer source specifying register), and a register for specifying a DMA transfer destination (transfer destination setting register) Further, when issuing an access request for decrypting the encrypted data or the encrypted program and transferring it to the address indicated in the transfer destination setting register, the bus output unit specifies the decryption key setting register. Means for outputting the transfer identification number corresponding to the decryption key.

また、本発明は、請求項1〜7のいずれか一項に記載のバスアクセス制御装置であって、複数の前記バスマスタを有し、前記複数のバスマスタの間で転送を調停するバス調停部を有し、前記転送識別番号はバス調停の優先度に対応づけられており、前記バス調停部は前記転送識別番号をもとに調停を行う手段を有する。   Moreover, this invention is a bus access control apparatus as described in any one of Claims 1-7, Comprising: The bus arbitration part which has several said bus masters and mediates transfer among these bus masters. And the transfer identification number is associated with the priority of bus arbitration, and the bus arbitration unit has means for performing arbitration based on the transfer identification number.

本発明のバスアクセス制御装置によると、あるバスマスタもしくは複数のバスマスタが複数のセキュアな転送をコンカレントに実行する場合、各セキュア処理に対応した専用領域を共有資源(共有メモリ)上に確保でき、かつバストランザクション毎に上記領域への不正アクセスを的確に判定できるため、セキュリティを向上させることができる。   According to the bus access control device of the present invention, when a certain bus master or a plurality of bus masters concurrently execute a plurality of secure transfers, a dedicated area corresponding to each secure process can be secured on a shared resource (shared memory), and Since unauthorized access to the area can be accurately determined for each bus transaction, security can be improved.

また、本発明のバスアクセス制御装置によると、バスで転送されるデータの種類や制御しているマスターの種類に応じて、バストランザクション毎に調停順位を的確に決定できるため、より精度のよい調停を実現することが可能である。   In addition, according to the bus access control device of the present invention, the arbitration order can be accurately determined for each bus transaction according to the type of data transferred on the bus and the type of master being controlled. Can be realized.

以下に各請求項の実施例について図面を参照して説明する。   Embodiments of each claim will be described below with reference to the drawings.

(実施の形態1)
本発明の実施の形態1であるバスアクセス制御装置の動作を、図1と図2を用いて説明する。
(Embodiment 1)
The operation of the bus access control apparatus according to the first embodiment of the present invention will be described with reference to FIGS.

実施の形態1であるバスアクセス制御装置100におけるバスマスタ1は、3つのセキュアなアプリケーションを実行する。実行形態としては、あるアプリケーションが終了したら次のアプリケーションを起動するのではなく、3つのアプリケーションを同時に実行するものとする。   The bus master 1 in the bus access control apparatus 100 according to the first embodiment executes three secure applications. As an execution form, it is assumed that when a certain application ends, the next application is not started, but three applications are executed simultaneously.

アクセス可否情報保持部320には、図2に示すように、各アプリケーションに対応した3つの領域に対するアクセス可否情報が蓄積されており、アプリケーション1用の領域1は0x8000_0000〜8000_FFFFであり(これは、アプリケーション1以外を実行している時には領域1へはアクセス禁止であることを意味している)、アプリケーション2用の領域2は0x8100_0000〜81FF_FFFFであり、アプリケーション3用の領域3は0x8200_0000〜82FF_FFFFである。バスマスタ1はメモリ350の領域1〜3へアクセスする際、アクセス先のアドレスなどと共に、その領域1〜3と1対1に対応したアクセス領域番号221を出力する。アクセス可否判定部310は、アクセス領域番号221とアクセス要求211に含まれるアクセス先のアドレス情報と、アクセス可否情報保持部320に保持されているアクセス可否情報に基づいて、バスマスタ1が要求するアクセス先にアクセス可能であるか否かを判定し、アクセス可否判定結果330をメモリIF部340へ出力する。メモリIF部340はアクセス可否判定結果がアクセス許可を示しているときのみ、メモリ350へ所望のアクセスを行う。   As shown in FIG. 2, the accessibility information holding unit 320 stores accessibility information for three areas corresponding to each application, and the area 1 for the application 1 is 0x8000 — 0000 to 8000_FFFF (this is (This means that access to the area 1 is prohibited when other than the application 1 is executed), the area 2 for the application 2 is 0x8100 — 0000 to 81FF_FFFF, and the area 3 for the application 3 is 0x8200 — 0000 to 82FF_FFFF . When the bus master 1 accesses the areas 1 to 3 of the memory 350, the access area number 221 corresponding to the areas 1 to 3 is output together with the address of the access destination. Based on the access area number 221, the address information of the access destination included in the access request 211, and the access permission information held in the access permission information holding unit 320, the access permission determination unit 310 requests the access destination requested by the bus master 1. It is determined whether or not it is accessible, and an access permission determination result 330 is output to the memory IF unit 340. The memory IF unit 340 performs a desired access to the memory 350 only when the access permission determination result indicates access permission.

以上により、実行している3つのアプリケーションに対応した3つの専用領域を確保することが可能となる。   As described above, it is possible to secure three dedicated areas corresponding to the three applications being executed.

次に、本実施の形態におけるバスアクセス制御装置100内のバスマスタ1からメモリ350へアクセス要求が行われた場合のアクセス制御処理について説明する。図3は、アクセス制御処理の一例を示すフローチャートである。   Next, an access control process when an access request is made from the bus master 1 in the bus access control apparatus 100 according to the present embodiment to the memory 350 will be described. FIG. 3 is a flowchart illustrating an example of the access control process.

ステップS301:バスマスタ1がメモリ350へのアクセス要求を発行すると同時にアクセス領域番号221を出力する。   Step S301: The bus master 1 issues an access request to the memory 350 and outputs the access area number 221 at the same time.

ステップS302:アクセス可否判定部310にて、アクセス可否情報保持部320に保持されているアクセス可否情報と、バスマスタ1からのアクセス領域番号221とアクセス要求211に含まれるアクセス先のアドレス情報に基づいて、アクセス可能か否かを判断し、その結果をアクセス可否判定結果330としてメモリIF部340へ出力する。   Step S302: Based on the access permission information held in the access permission information holding section 320, the access area number 221 from the bus master 1, and the access destination address information included in the access request 211 in the access permission determination section 310. It is determined whether access is possible, and the result is output to the memory IF unit 340 as an access permission determination result 330.

ステップS303:メモリIF部340は、アクセス可否判定結果330がアクセス許可を示している場合、メモリ350へ所望のアクセスを行い、結果をバスマスタ1へ返す。   Step S303: When the access permission determination result 330 indicates that access is permitted, the memory IF unit 340 performs a desired access to the memory 350 and returns the result to the bus master 1.

ステップS304:メモリIF部340は、アクセス可否判定結果330がアクセス不許可を示している場合、メモリ350へ所望のアクセスは行わず、ダミーアクセスやダミー応答を行う。ここで、ダミーアクセスとしては、ライト動作の場合、例えばアクセス先へデータをマスクして書き込みを行う、もしくはライトコマンドの代わりにリードコマンドを発行する等のアクセスを行う。また、リード動作の場合、例えばアクセスが許可されている領域に対してリードコマンドを発行する等のアクセスを行う。また、ダミー応答とは、実際のアクセス先から得た応答であるとバスマスタに誤認させるダミーの応答を意味する。例えば、バスマスタから共有メモリのアクセス禁止領域にライト動作を行う場合、要求どおりのライト動作を実行せずにアクセス要求の受け付け完了やデータ書き込み完了等の偽の応答を行う。また、アクセス禁止領域にリード動作を行う場合、要求どおりのリード動作を実行せずにアクセス要求の受け付け完了や違う領域のリードデータ応答等の偽の応答を行う。よって、共有メモリ上のアクセス禁止領域とアクセス許可領域とを見分けるのを困難にし、アクセス禁止領域へアクセスするための解析を妨げることができる。また、不正な解析を困難にするためには、メモリIF340にてデータ書き込み時にバス暗号をかけ、データ読出し時に復号することも有効である。   Step S304: When the access permission determination result 330 indicates that access is not permitted, the memory IF unit 340 performs a dummy access or a dummy response without performing a desired access to the memory 350. Here, as a dummy access, in the case of a write operation, for example, access is performed by masking data to an access destination or issuing a read command instead of a write command. In the case of a read operation, for example, an access such as issuing a read command to an area where access is permitted is performed. The dummy response means a dummy response that causes the bus master to mistakenly recognize that it is a response obtained from an actual access destination. For example, when a write operation is performed from the bus master to the access prohibited area of the shared memory, a false response such as completion of access request acceptance or data write completion is performed without executing the write operation as requested. In addition, when performing a read operation on an access-prohibited area, a false response such as completion of acceptance of an access request or a read data response in a different area is performed without executing the read operation as requested. Therefore, it is difficult to distinguish between an access-prohibited area and an access-permitted area on the shared memory, and analysis for accessing the access-prohibited area can be prevented. In order to make unauthorized analysis difficult, it is also effective to apply bus encryption at the time of data writing in the memory IF 340 and to decrypt at the time of data reading.

なお、アクセス禁止領域にアクセスがあった際に上記のようなダミー応答でなく、エラー応答や割り込みなど制御ホストに通知する手段があってもかまわない。これにより、開発過程における意図しない制御のバグなどを明確に感知することが可能となる。   Note that there may be means for notifying the control host of an error response or an interrupt instead of the dummy response as described above when an access prohibited area is accessed. This makes it possible to clearly detect unintended control bugs in the development process.

(実施の形態2)
本発明の実施の形態2であるバスアクセス制御装置の動作を、図4と図5を用いて説明する。
(Embodiment 2)
The operation of the bus access control apparatus according to the second embodiment of the present invention will be described with reference to FIGS.

ここでは、実施の形態1であるバスアクセス制御装置の動作と異なる点を中心に説明する。   Here, the difference from the operation of the bus access control apparatus according to the first embodiment will be mainly described.

バスマスタ識別部400はバスマスタ1〜3の内いずれかのバスマスタから共有メモリ350へのアクセス要求を受け付けると、どのバスマスタからのアクセス要求であるかを識別する。そして、アクセス要求及び識別結果をアクセス制御部300に出力する。複数のバスマスタからアクセス要求が行われている場合には、例えば優先度に応じてどのバスマスタからのアクセス要求に権利を与えるかを決定する。アクセス可否情報保持部320には、図5に示すように、各バスマスタが実行するセキュアな処理種別に対応した領域に対するアクセス可否情報が保持されており、それぞれの領域毎にアクセスを許可するバスマスタを示すマスタ識別情報と、その領域の開始アドレス、終了アドレス情報が含まれている。この例では、例えば領域1に関しては、バスマスタ1のみがアクセス可能であり、その領域は0x8000_0000〜0x8000_FFFFであることを示しており、バスマスタ1以外のバスマスタはアクセス禁止であり、さらにバスマスタ1であっても領域番号が1以外であればアクセス禁止であることを意味する。アクセス可否判定部310は、バスマスタ識別部400からのマスタ識別情報410とアクセス領域番号220とアクセス要求210に含まれるアクセス先のアドレス情報とアクセス可否情報保持部320が保持するアクセス可否情報に基づいて、バスマスタが要求するアクセス先にアクセス可能であるか否かを判定し、アクセス可否判定結果330をメモリIF部340へ出力する。   When receiving an access request to the shared memory 350 from any one of the bus masters 1 to 3, the bus master identification unit 400 identifies which bus master the access request is from. Then, the access request and the identification result are output to the access control unit 300. When access requests are made from a plurality of bus masters, for example, the bus master from which access requests are given is determined according to priority. As shown in FIG. 5, the access permission / rejection information holding unit 320 holds access permission / rejection information for an area corresponding to a secure processing type executed by each bus master, and a bus master that permits access for each area. Master identification information to be shown, and start address and end address information of the area are included. In this example, for example, for area 1, only the bus master 1 is accessible, and the area is 0x8000 — 0000 to 0x8000_FFFF, and bus masters other than the bus master 1 are prohibited from accessing. If the area number is other than 1, it means that access is prohibited. The access permission determination unit 310 is based on the master identification information 410 from the bus master identification unit 400, the access area number 220, the access destination address information included in the access request 210, and the access permission information held by the access permission information holding unit 320. Then, it is determined whether or not the access destination requested by the bus master is accessible, and the access permission determination result 330 is output to the memory IF unit 340.

以上により、複数バスマスタが実行する複数のセキュアなアプリケーションに対応した専用領域を共有メモリ350上に確保することが可能となる。   As described above, a dedicated area corresponding to a plurality of secure applications executed by a plurality of bus masters can be secured on the shared memory 350.

次に、本実施の形態におけるバスアクセス制御装置100内のバスマスタ1〜3から共有メモリ350へアクセス要求が行われた場合のアクセス制御処理について説明する。図6は、アクセス制御処理の一例を示すフローチャートである。   Next, an access control process when an access request is made from the bus masters 1 to 3 in the bus access control apparatus 100 according to the present embodiment to the shared memory 350 will be described. FIG. 6 is a flowchart illustrating an example of the access control process.

ステップS601:バスマスタ1〜3の内いずれかのバスマスタ、もしくはバスマスタ1〜3の内複数のバスマスタがメモリ350へのアクセス要求を発行する。複数のセキュアなアプリケーションを実行するバスマスタ1は、アクセス要求の発行と同時にアクセス領域番号221を出力する。   Step S601: One of the bus masters 1 to 3 or a plurality of bus masters 1 to 3 issues an access request to the memory 350. The bus master 1 that executes a plurality of secure applications outputs the access area number 221 simultaneously with the issue of the access request.

ステップS602:バスマスタ識別部400にてアクセス要求211を発行しているバスマスタを識別し、単一のバスマスタからのみアクセス要求が発行されているのか、もしくは複数バスマスタからアクセス要求が発行されているのかを識別する。   Step S602: The bus master identifying unit 400 identifies the bus master that has issued the access request 211, and whether an access request is issued from only a single bus master or whether an access request is issued from a plurality of bus masters. Identify.

ステップS603:複数バスマスタからアクセス要求が発行されている場合は、それらの要求のうちどれを優先して処理するかを決定する。   Step S603: If an access request is issued from a plurality of bus masters, it is determined which of these requests is to be processed with priority.

ステップS604:アクセス可否判定部310にて、バスマスタ識別部400からのマスタ識別情報410とアクセス領域番号220とアクセス要求210に含まれるアクセス先のアドレス情報とアクセス可否情報保持部320に保持されているアクセス可否情報に基づいて、アクセス可能か否かを判断し、その結果をアクセス可否判定結果330としてメモリIF部340へ出力する。   Step S604: The access permission determination unit 310 holds the master identification information 410, the access area number 220 from the bus master identification unit 400, the access destination address information included in the access request 210, and the access permission information holding unit 320. Whether access is possible is determined based on the access permission information, and the result is output to the memory IF unit 340 as the access permission determination result 330.

ステップS605:メモリIF部340は、アクセス可否判定結果330がアクセス許可を示している場合、共有メモリ350へ所望のアクセスを行い、結果を所定のバスマスタへ返す。   Step S605: If the access permission determination result 330 indicates access permission, the memory IF unit 340 performs a desired access to the shared memory 350 and returns the result to a predetermined bus master.

ステップS606:メモリIF部340は、アクセス可否判定結果330がアクセス不許可を示している場合、共有メモリ350へ所望のアクセスは行わず、ダミーアクセスやダミー応答を行う。   Step S606: When the access permission determination result 330 indicates that access is not permitted, the memory IF unit 340 does not perform a desired access to the shared memory 350 but performs a dummy access or a dummy response.

(実施の形態3)
本発明の第3の実施の形態であるバスアクセス制御装置の動作を、図7を用いて説明する。ここでは、実施の形態1、2であるバスアクセス制御装置の動作と異なる点を中心に説明する。
(Embodiment 3)
The operation of the bus access control apparatus according to the third embodiment of the present invention will be described with reference to FIG. Here, the difference from the operation of the bus access control apparatus according to the first and second embodiments will be mainly described.

本実施の形態におけるバスマスタ1は複数種類のセキュアな処理(ここでは、セキュア処理1とセキュア処理2とする)を行う機能ブロックであり、その複数処理実行のために共有メモリ350を使用する。セキュア処理1用とセキュア処理2用の専用領域を確保する上で、アクセス可否判定部310での判定に使用するアクセス領域番号221がバスマスタ1により不正に付与されてしまうと、結果としてセキュア処理ごとの専用領域を確保することができなくなる。そのため、本実施の形態におけるバスマスタ1は、処理内容識別部500にて、ソフトウェアにより出力結果を不正に変更することができないハードウェアにより、処理内容と1対1に対応したアクセス領域番号221を出力することで、不正なアクセスができないようにする。アクセス領域番号221の生成は、上記のようにハードウェアにより実装することが望ましいが、セキュアなソフトウェア実行環境が整備されており、不正なソフトウェアで変更不可能であれば、セキュアなソフトウェア設定により生成しても良い。   The bus master 1 in the present embodiment is a functional block that performs a plurality of types of secure processing (here, secure processing 1 and secure processing 2), and uses the shared memory 350 to execute the plurality of processing. If the access area number 221 used for the determination in the access permission determination unit 310 is illegally assigned by the bus master 1 in securing the dedicated areas for the secure process 1 and the secure process 2, each secure process It becomes impossible to secure a dedicated area. For this reason, the bus master 1 in the present embodiment outputs the access area number 221 corresponding to the processing contents in a one-to-one manner by the hardware whose processing result identification unit 500 cannot illegally change the output result by software. This prevents unauthorized access. It is desirable to generate the access area number 221 by hardware as described above. However, if a secure software execution environment is prepared and cannot be changed by unauthorized software, it is generated by secure software setting. You may do it.

(実施の形態4)
本発明の実施の形態4であるバスアクセス制御装置の動作を、図8と図9を用いて説明する。
(Embodiment 4)
The operation of the bus access control apparatus according to the fourth embodiment of the present invention will be described with reference to FIGS.

ここでは、実施の形態1〜3であるバスアクセス制御装置の動作と異なる点を中心に説明する。   Here, the description will focus on differences from the operation of the bus access control apparatus according to the first to third embodiments.

本実施の形態においては、バスマスタ2、バスマスタ3は共にプロセッサであり、各々がセキュアな処理を実行する。そのためのプログラム(コード)はそれぞれ暗号化された上でFlashメモリ600に格納されており、前記セキュアな処理実行時には、それらの暗号化コードは復号された後、共有メモリ上にロードされる場合、バスマスタ2用のコードはバスマスタ2のみが読み出し可能な領域へ、バスマスタ3用のコードはバスマスタ3のみが読み出し可能であることが望ましい。以下、それを実現するための仕組みを説明する。   In this embodiment, both the bus master 2 and the bus master 3 are processors, and each executes a secure process. The programs (codes) for that purpose are encrypted and stored in the flash memory 600. When executing the secure processing, these encrypted codes are decrypted and then loaded onto the shared memory. It is desirable that the code for the bus master 2 can be read only by the bus master 2 and the code for the bus master 3 can be read only by the bus master 3. The mechanism for realizing this will be described below.

バスマスタ1は平文データを暗号化して転送する、もしくは暗号化データやコードを復号して転送する暗復号DMAコントローラ(DMAC)である。バスマスタ1(暗復号DMAC)はバスマスタ2から設定可能な復号時に使用する鍵を指定するレジスタや、復号後のデータ転送先アドレスを設定するレジスタを少なくとも有し、さらにバスマスタ1(暗復号DMAC)はバスマスタ2より設定された復号鍵と1対1に対応した領域番号を生成する回路を有し、バスマスタ2からの指示により、Flashメモリ600に格納されているバスマスタ2用の暗号化コード(コード1)、バスマスタ3用の暗号化コード(コード2)を復号後、バスマスタ2から設定された転送先アドレスへ復号後の平文コードを転送するためのアクセス要求211を出力する。アクセス要求211を出力するのと同時に領域番号生成回路610が生成した領域番号をアクセス領域番号221として出力する。領域番号生成回路610の例としては、復号鍵の予め定められた位置に埋め込まれている領域番号を抜き出して出力する回路などが考えられる。   The bus master 1 is an encryption / decryption DMA controller (DMAC) that encrypts and transfers plaintext data or decrypts and transfers encrypted data and codes. The bus master 1 (encryption / decryption DMAC) has at least a register for specifying a key to be used for decryption that can be set from the bus master 2 and a register for setting a data transfer destination address after decryption. It has a circuit that generates a region number corresponding to the decryption key set by the bus master 2 and has an encryption code (code 1) for the bus master 2 stored in the flash memory 600 according to an instruction from the bus master 2 ) After decrypting the encryption code (code 2) for the bus master 3, the access request 211 for transferring the decrypted plaintext code to the transfer destination address set from the bus master 2 is output. At the same time when the access request 211 is output, the area number generated by the area number generation circuit 610 is output as the access area number 221. As an example of the area number generation circuit 610, a circuit that extracts and outputs an area number embedded in a predetermined position of a decryption key can be considered.

なお、本例では復号鍵と1対1に対応した領域番号としたが、暗号演算手段が複数実装されている場合は、暗号演算手段と1対1に対応した領域番号であってもよい。   In this example, the area number corresponding to the decryption key has a one-to-one correspondence. However, if a plurality of cryptographic operation means are installed, the area number may correspond to the cryptographic operation means in one-to-one correspondence.

アクセス可否情報保持部320には、図9に示すように、領域毎にアクセス可能なバスマスタを示すマスタ識別情報とそのバスマスタに許可するアクセス種別と領域の開始アドレス、終了アドレスが含まれる。アクセス種別としては書込みのみ、もしくは読出しのみ、もしくは書込み、読出し両方などが考えられる。図9の例では、領域1(アドレス0x8000_0000〜0x80FF_FFFF)はバスマスタ1のみ書込み可能、バスマスタ2のみ読出し可能であり、領域2(アドレス0x8200_0000〜82FF_FFFF)はバスマスタ1のみ書込み可能、バスマスタ3のみ読出し可能な領域を意味する。アクセス可否判定部310は、マスタ識別情報410とアクセス領域番号220とアクセス要求210に含まれるアクセス先のアドレス情報と、アクセス可否情報保持部320に保持されているアクセス可否情報に基づいて、バスマスタが要求するアクセス先にアクセス可能であるか否かを判定し、アクセス可否判定結果330をメモリIF部340へ出力する。   As shown in FIG. 9, the access enable / disable information holding unit 320 includes master identification information indicating a bus master accessible for each area, an access type permitted to the bus master, an area start address, and an end address. As the access type, only writing, only reading, or both writing and reading can be considered. In the example of FIG. 9, area 1 (address 0x8000 — 0000 to 0x80FF_FFFF) can be written only by bus master 1 and only bus master 2 can be read, and area 2 (address 0x8200 — 0000 to 82FF_FFFF) can be written only by bus master 1 and only bus master 3 can be read. Means an area. Based on the master identification information 410, the access area number 220, the access destination address information included in the access request 210, and the access permission information held in the access permission information holding section 320, the access permission determination section 310 It is determined whether or not the requested access destination is accessible, and the access permission determination result 330 is output to the memory IF unit 340.

以上により、バスマスタ2のセキュアプログラム専用領域として、バスマスタ1(暗復号DMAC)のみが書込み可能で、バスマスタ2のみが読出し可能な領域を確保でき、さらにバスマスタ3のセキュアプログラム専用領域として、バスマスタ1(暗復号DMAC)のみが書込み可能で、バスマスタ3のみが読出し可能な領域を確保することができる。つまり、Flashメモリ600からバスマスタ2およびバスマスタ3へセキュアプログラムを安全に受け渡すことができるため、不正な解析を防止することが可能となる。具体的には、バスマスタ1(暗復号DMAC)を不正に起動して、バスマスタ3用暗号化コード(コード2)をバスマスタ2セキュアプログラム領域に転送し、本来、コード2を読み出すことができないバスマスタ2でコード2を読み出して解析しようと試みた場合、復号鍵としてコード2用の鍵を指定すると、バスマスタ3用暗号化コードは正しく復号されるが、その復号データを共有メモリ350へ書き込むためのアクセス要求を発行する際に、コード2用の鍵と1対1に対応した領域2をアクセス領域番号として出力するため、アクセス要求211として領域1のアドレスを指定して領域1へ書き込もうとしてもアクセス可否判定部310で、アクセス領域番号と転送先アドレスが整合取れないためアクセス不許可となる。復号鍵としてコード1用の鍵を指定すると、領域1への書き込みは許可されるが、バスマスタ3用暗号化コードを正しく復号することができない。   As described above, only the bus master 1 (encryption / decryption DMAC) can be written as a secure program dedicated area of the bus master 2 and an area readable only by the bus master 2 can be secured, and further, the bus master 1 ( It is possible to secure an area in which only the encryption / decryption DMAC) can be written and only the bus master 3 can read. That is, since the secure program can be safely transferred from the flash memory 600 to the bus master 2 and the bus master 3, it is possible to prevent unauthorized analysis. Specifically, the bus master 1 (encryption / decryption DMAC) is illegally activated, and the encryption code for the bus master 3 (code 2) is transferred to the bus master 2 secure program area. If the code 2 is read and analyzed, and the code 2 code is designated as the decryption key, the encryption code for the bus master 3 is correctly decrypted, but access for writing the decrypted data to the shared memory 350 is performed. When issuing a request, since the area 2 corresponding to the code 2 key and the one-to-one correspondence is output as the access area number, the access request 211 can be accessed even if the address of the area 1 is specified and the area 1 is written. In the permission determination unit 310, access is not permitted because the access area number and the transfer destination address cannot be matched. If the code 1 code is designated as the decryption key, writing to the area 1 is permitted, but the encryption code for the bus master 3 cannot be correctly decrypted.

さらに、メモリIF部340は復号されたセキュアコードにバス暗号をかけて共有メモリ350へ書込み、共有メモリ350からセキュアコードを読み出すときは復号する機能を含むことで、共有メモリへの入出力バスを不正に観測されることにより、セキュリティが低下することを防ぐことができる。   Further, the memory IF unit 340 includes a function for decrypting the secure code after decrypting the secure code with the bus encryption and writing it to the shared memory 350, and reading the secure code from the shared memory 350. It is possible to prevent the security from being lowered due to illegal observation.

次に、本実施の形態におけるバスアクセス制御装置100内のバスマスタ1〜3から共有メモリ350へアクセス要求が行われた場合のアクセス制御処理について説明する。図10は、アクセス制御処理の一例を示すフローチャートである。   Next, an access control process when an access request is made from the bus masters 1 to 3 in the bus access control apparatus 100 according to the present embodiment to the shared memory 350 will be described. FIG. 10 is a flowchart illustrating an example of the access control process.

ステップS1001:バスマスタ2がバスマスタ1(暗復号DMAC)のDMAパラメータを設定し、DMA起動する。DMAパラメータには、復号に使用する鍵の指定や復号データの転送先アドレスなどが含まれる。   Step S1001: The bus master 2 sets the DMA parameters of the bus master 1 (encryption decoding DMAC) and starts DMA. The DMA parameter includes designation of a key used for decryption, a transfer destination address of decrypted data, and the like.

ステップS1002:バスマスタ1(暗復号DMAC)にて、設定された復号鍵を選択し、復号回路へ出力する。それと共に領域番号生成回路610にて復号鍵の中に埋め込まれている領域番号を抜き出し、DMA制御回路620へ出力する。   Step S1002: The bus master 1 (encryption / decryption DMAC) selects the set decryption key and outputs it to the decryption circuit. At the same time, the region number generation circuit 610 extracts the region number embedded in the decryption key and outputs it to the DMA control circuit 620.

ステップS1003:DMA制御回路620はFlashメモリ600から設定された復号鍵に対応した暗号化コードを読み出し、復号回路630へ出力する。復号回路630は暗号化コードを復号し、DMA制御回路へ出力する。Flashメモリ600から読み出す暗号化コードを指定する手段として、転送元アドレスを設定するレジスタを設けても良い。   Step S1003: The DMA control circuit 620 reads an encryption code corresponding to the set decryption key from the flash memory 600, and outputs it to the decryption circuit 630. The decryption circuit 630 decrypts the encrypted code and outputs it to the DMA control circuit. As means for designating an encryption code read from the flash memory 600, a register for setting a transfer source address may be provided.

ステップS1003:バスマスタ1(暗復号DMAC)が復号後の平文データを転送するためのアクセス要求211を発行する。それと同時にアクセス先のアクセス領域番号221を出力する。   Step S1003: The bus master 1 (encryption / decryption DMAC) issues an access request 211 for transferring the decrypted plaintext data. At the same time, the access area number 221 of the access destination is output.

ステップS1004〜S1008は、ステップS602〜S606と同じである。   Steps S1004 to S1008 are the same as steps S602 to S606.

なお、本実施の形態においては、バスマスタ1を暗復号DMACとして説明したが、バスマスタ1は復号のみを行うDMACでも良い。また、バスマスタ1はJTAGポートなどの外部ポートからLSI内部資源にアクセスするデバッガからのアクセス要求に対し、アクセスの可否を判定するデバッガ認証モジュールであっても良く、この場合、認証用の鍵と1対1で対応する領域番号を用いてセキュア領域へアクセスすることで、デバッガからのアクセス要求に対し、認証された領域にのみアクセス可能とすることが可能となる。認証用の鍵と1対1で対応する領域番号を生成する手段としては、認証に使用する鍵の一部に領域番号を含み、ハードウェアによりその領域番号を抜き出し、そのままアクセス領域番号として出力する手段などが考えられる。   In this embodiment, the bus master 1 is described as the encryption / decryption DMAC, but the bus master 1 may be a DMAC that performs only decoding. The bus master 1 may be a debugger authentication module that determines whether access is possible in response to an access request from a debugger that accesses LSI internal resources from an external port such as a JTAG port. In this case, an authentication key and 1 By accessing the secure area using the corresponding area number on a one-to-one basis, it is possible to make it possible to access only the authenticated area in response to an access request from the debugger. As a means for generating an area number corresponding to the authentication key on a one-to-one basis, the area number is included in a part of the key used for authentication, the area number is extracted by hardware, and output as an access area number as it is Means can be considered.

(実施の形態5)
本発明の実施の形態5であるバスアクセス制御装置の動作を、図11を用いて説明する。
(Embodiment 5)
The operation of the bus access control apparatus according to the fifth embodiment of the present invention will be described with reference to FIG.

ここでは、実施の形態1〜4であるバスアクセス制御装置の動作と異なる点を中心に説明する。   Here, the description will focus on differences from the operation of the bus access control apparatus according to the first to fourth embodiments.

バスマスタ1は複数のセキュアなアプリケーションを実行するプロセッサであり、それらのコードは異なるアドレス空間、例えば異なる内蔵メモリ(不揮発メモリ)に格納される。バスマスタ1(プロセッサ)はフェッチ先判定回路にてコードのフェッチ先空間を複数管理し、コードをフェッチして実行する際に、そのコードのフェッチ先空間、つまりアプリケーションの種類と1対1に対応したアクセス領域番号221を出力する。フェッチ先空間の管理は、開始アドレス1〜終了アドレス1までは領域1、開始アドレス2〜終了アドレス2までは領域2とする方法や、フェッチ先の空間が物理的に異なる複数のメモリである場合、チップセレクト信号により判定する方法や、プロセッサコア720のプログラムカウンタの値により判定する方法などが考えられる。以上により、異なる領域のコード、つまり異なるアプリケーションのコードと1対1に対応した専用領域を共有メモリ上に確保することが可能となる。なお、内蔵メモリには、アプリケーションのコード全てを格納するのではなく、アプリケーションへの移行シーケンス(移行のきっかけ)のみを格納し、対応する共有メモリ上の専用領域にアプリケーションの本体が格納されていても良い。そうすることで、内蔵メモリ(不揮発メモリ)の容量を削減することが可能となる。   The bus master 1 is a processor that executes a plurality of secure applications, and their codes are stored in different address spaces, for example, different built-in memories (nonvolatile memories). The bus master 1 (processor) manages a plurality of code fetch destination spaces in the fetch destination determination circuit, and when fetching and executing the code, the bus master 1 (processor) has a one-to-one correspondence with the code fetch destination space, that is, the type of application. The access area number 221 is output. Management of the fetch destination space is a method in which the start address 1 to the end address 1 is the area 1 and the start address 2 to the end address 2 is the area 2 or when the fetch destination space is a plurality of physically different memories. For example, a determination method based on a chip select signal or a determination method based on the value of a program counter of the processor core 720 can be considered. As described above, codes in different areas, that is, dedicated areas corresponding one-to-one with codes of different applications can be secured on the shared memory. The built-in memory does not store all the application code, but stores only the application transition sequence (transition trigger), and the main body of the application is stored in a dedicated area on the corresponding shared memory. Also good. By doing so, the capacity of the built-in memory (nonvolatile memory) can be reduced.

次に、本実施の形態におけるバスアクセス制御装置100内のバスマスタ1〜3から共有メモリ350へアクセス要求が行われた場合のアクセス制御処理について説明する。図12は、アクセス制御処理の一例を示すフローチャートである。   Next, an access control process when an access request is made from the bus masters 1 to 3 in the bus access control apparatus 100 according to the present embodiment to the shared memory 350 will be described. FIG. 12 is a flowchart illustrating an example of the access control process.

ステップS1201:バスマスタ1(プロセッサ)が内蔵メモリ1もしくは内蔵メモリ2からコードをフェッチする。   Step S1201: The bus master 1 (processor) fetches a code from the internal memory 1 or the internal memory 2.

ステップS1202:フェッチ先判定回路710にて、プロセッサコア720が実行するコードのフェッチ先を判定する。   Step S1202: The fetch destination determination circuit 710 determines the fetch destination of the code executed by the processor core 720.

ステップS1203:バスマスタ1(プロセッサコア720)がアクセス要求211を発行するのと同時に実行するコードのフェッチ先に対応するアクセス領域番号221を出力する。   Step S1203: The access area number 221 corresponding to the fetch destination of the code to be executed simultaneously with the bus master 1 (processor core 720) issuing the access request 211 is output.

ステップS1204〜S1208は、ステップS602〜S606と同じである。   Steps S1204 to S1208 are the same as steps S602 to S606.

(実施の形態6)
本発明の実施の形態5であるバスアクセス制御装置の動作を、図13を用いて説明する。ここでは、実施の形態1〜4であるバスアクセス制御装置の動作と異なる点を中心に説明する。
(Embodiment 6)
The operation of the bus access control apparatus according to the fifth embodiment of the present invention will be described with reference to FIG. Here, the description will focus on differences from the operation of the bus access control apparatus according to the first to fourth embodiments.

制御マスタ800はソフトウェアを実行可能なプロセッサであり、そのスレーブであるバスマスタ1やバスマスタ2、そして共有メモリ350に対してバスを介してアクセスすることができる。この制御マスタ800は複数の動作モード(モード1、モード2、モード3)を持ち、動作モードの情報は動作モード識別部810で管理されている。このモードはセキュア強度の高低に応じてレベル付けされており、モード1が必要なセキュア強度が最高の処理が実行されるモードであり、モード2はモード1に次いで高く、モード3は通常の実行モード(最低)となる。制御マスタ800が各スレーブにアクセスする際には、アクセス要求820と同時に、その実行モードがモード伝達信号830を介して伝達される。   The control master 800 is a processor capable of executing software, and can access the bus master 1 and the bus master 2 that are slaves thereof and the shared memory 350 via the bus. The control master 800 has a plurality of operation modes (mode 1, mode 2, and mode 3), and information on the operation mode is managed by the operation mode identification unit 810. This mode is leveled according to the level of secure strength. Mode 1 is the mode in which the processing with the highest secure strength required is executed, mode 2 is the second highest after mode 1, and mode 3 is the normal execution. Mode (minimum). When the control master 800 accesses each slave, the execution mode is transmitted via the mode transmission signal 830 simultaneously with the access request 820.

バスマスタ1は、制御マスタ800の制御に従って動作し、そのスレーブである共有メモリ350に対してアクセスを行う。その際、バスマスタ1では、制御マスタ800のいずれの動作モードで制御されているかを制御された際の前記モード伝達信号830の値を制御マスタ識別部901で保持することで管理している。そして、共有メモリ350に対してアクセス要求211を出力すると同時に、制御マスタ識別部901に保持された値を制御マスタ識別番号911として出力する。このような機構はバスマスタ2においても同様に実現されている。   The bus master 1 operates according to the control of the control master 800 and accesses the shared memory 350 that is the slave. At that time, the bus master 1 manages the value of the mode transmission signal 830 when it is controlled in which operation mode of the control master 800 is held by the control master identification unit 901. Then, the access request 211 is output to the shared memory 350, and at the same time, the value held in the control master identification unit 901 is output as the control master identification number 911. Such a mechanism is similarly realized in the bus master 2.

アクセス制御部300内部にあるアクセス可否情報保持部320には、図14にあるようなアクセス可否情報が保持されている。図14の例では、領域1(アドレス0x8000_0000〜0x80FF_FFFF)は動作モード1の制御マスタ800による直接アクセスのみリード・ライト可能であり、領域2(アドレス0x8200_0000〜82FF_FFFF)は動作モード1または2の制御マスタ800による直接アクセス、動作モード1または2の制御マスタ800に制御されたバスマスタ1、または動作モード1の制御マスタ800に制御されたバスマスタ2のみアクセス可能であることを示している。動作モード3ではこれらのセキュアな領域に対してアクセスすることはできない。図14の例では、領域1には最も高いセキュリティ強度でソフトウェアが実行できる動作モード1からのみアクセスできるようになっているため、最も高い秘匿性が要求される情報を格納することができ、動作モード1または2からのみアクセスできる領域2には、次いで秘匿性の高い情報を格納することができる。   Access accessibility information holding unit 320 inside access control unit 300 holds access availability information as shown in FIG. In the example of FIG. 14, the area 1 (address 0x8000 — 0000 to 0x80FF_FFFF) can be read / written only by direct access by the control master 800 in the operation mode 1, and the area 2 (address 0x8200 — 0000 to 82FF_FFFF) is the control master 800 in the operation mode 1 or 2. This means that only the bus master 1 controlled by the control master 800 in the operation mode 1 or 2 or the bus master 2 controlled by the control master 800 in the operation mode 1 can be accessed. In operation mode 3, these secure areas cannot be accessed. In the example of FIG. 14, since the area 1 can be accessed only from the operation mode 1 in which the software can be executed with the highest security strength, the information requiring the highest confidentiality can be stored. In the area 2 that can be accessed only from the mode 1 or 2, information with high secrecy can be stored next.

以上のように、制御マスター800で実行されるソフトウェアのセキュリティ性に応じてアクセス権限を可変にし、かつ制御マスター800に制御されたバスマスタ1、バスマスタ2がその属性を継承するようにできることで、共有メモリに必要なセキュリティ強度の異なる複数の領域を設けることが可能となる。   As described above, the access authority can be made variable in accordance with the security of the software executed by the control master 800, and the bus master 1 and the bus master 2 controlled by the control master 800 can inherit the attributes. It is possible to provide a plurality of areas having different security strengths required for the memory.

(実施の形態7)
本発明の実施の形態7であるバスアクセス制御装置の動作を、図15を用いて説明する。ここでは、実施の形態6であるバスアクセス制御装置の動作と異なる点を中心に説明する。
(Embodiment 7)
The operation of the bus access control apparatus according to the seventh embodiment of the present invention will be described with reference to FIG. Here, the difference from the operation of the bus access control apparatus according to the sixth embodiment will be mainly described.

制御マスタ801、802、803はソフトウェアを実行可能なプロセッサであり、そのスレーブであるバスマスタ1やバスマスタ2、そして共有メモリ350に対してバスを介してアクセスすることができる。バスマスタ1、バスマスタ2は、制御マスタ801、802、803の制御に従って動作し、そのスレーブである共有メモリ350に対してアクセスを行う。本実施の形態では便宜のため、制御マスタ801、802、803をマスタに持つ上位のバスをバス1と呼び、バスマスタ1、バスマスタ2、さらにバス1をマスタに持つ下位のバスをバス2と呼ぶ。   The control masters 801, 802, and 803 are processors capable of executing software, and can access the bus master 1 and the bus master 2 that are slaves thereof and the shared memory 350 via the bus. The bus master 1 and the bus master 2 operate according to the control of the control masters 801, 802, and 803, and access the shared memory 350 that is the slave. In this embodiment, for convenience, the upper bus having the control masters 801, 802, and 803 as masters is called bus 1, and the bus master 1, bus master 2, and the lower bus having bus 1 as a master is called bus 2. .

バス1マスタ識別部1000では、バス1のマスタが制御マスタ801、802、803のうちいずれかであるかを識別し、それらに対応した値をバス1マスタ識別信号1010によって伝達する。バスマスタ1では制御マスタ801、802、803によって制御される際、どの制御マスタによって制御されているかを制御された際の前記バス1マスタ識別信号1010の値を制御マスタ識別部901で保持することで管理している。そして、共有メモリ350に対してアクセス要求211を出力すると同時に、制御マスタ識別部901に保持された値を制御マスタ識別番号911として出力する。このような機構はバスマスタ2においても同様に実現されている。   The bus 1 master identification unit 1000 identifies whether the master of the bus 1 is one of the control masters 801, 802, and 803, and transmits a value corresponding to the master by a bus 1 master identification signal 1010. When the bus master 1 is controlled by the control masters 801, 802, 803, the control master identification unit 901 holds the value of the bus 1 master identification signal 1010 when the control master is controlled. I manage. Then, the access request 211 is output to the shared memory 350, and at the same time, the value held in the control master identification unit 901 is output as the control master identification number 911. Such a mechanism is similarly realized in the bus master 2.

アクセス制御部300内部にあるアクセス可否情報保持部320には、図16にあるようなアクセス可否情報が保持されている。図16の例では、領域1(アドレス0x8000_0000〜0x80FF_FFFF)は制御マスタ801による直接アクセスのみリード・ライト可能であり、領域2(アドレス0x8200_0000〜82FF_FFFF)は制御マスタ802による直接アクセスまたは制御マスタ802によって制御されたバスマスタ1、バスマスタ2によってのみアクセス可能である。制御マスタ803からは直接アクセスまたはバスマスタ1、バスマスタ2を経由したアクセスのいずれも領域1、2に対してアクセスすることができない。   Access accessibility information holding unit 320 in access control unit 300 holds access availability information as shown in FIG. In the example of FIG. 16, the area 1 (address 0x8000 — 0000 to 0x80FF_FFFF) can be read / written only by direct access by the control master 801, and the area 2 (address 0x8200 — 0000 to 82FF_FFFF) is controlled directly by the control master 802 or controlled by the control master 802. It can be accessed only by the bus master 1 and the bus master 2. Neither direct access from the control master 803 nor access via the bus master 1 or the bus master 2 can access the areas 1 and 2.

以上のように、いずれの制御マスタのソフトウェアによって制御されているかをバスマスタ1、2がアクセス毎に属性として付加することで、共有メモリ350に各制御マスタに属した複数の専用領域を設けることが可能になる。   As described above, it is possible to provide a plurality of dedicated areas belonging to each control master in the shared memory 350 by adding which attribute is controlled by the software of the control master as an attribute for each access by the bus masters 1 and 2. It becomes possible.

なお本実施の形態では、各制御マスタ毎に専用の領域を共有メモリ上に確保したが、これらの制御マスタでデータを共有する必要がある場合には、どちらもアクセス権限を所有する領域を設けていてもよい。   In this embodiment, a dedicated area is secured on the shared memory for each control master. However, if it is necessary to share data between these control masters, both areas have access authority. It may be.

なお本実施の形態では、図16にあるように制御マスタ識別情報とバスマスタ識別情報の両方でアクセス可否情報を定義したが、制御マスタ識別情報だけで本情報を定義していても良い。   In this embodiment, as shown in FIG. 16, the access permission information is defined by both the control master identification information and the bus master identification information. However, this information may be defined by only the control master identification information.

(実施の形態8)
本発明の実施の形態8であるバスアクセス制御装置の動作を、図17を用いて説明する。
(Embodiment 8)
The operation of the bus access control apparatus according to the eighth embodiment of the present invention will be described with reference to FIG.

制御マスタ800は、ソフトウェアを実行可能なプロセッサであり、なおかつ複数のプロセスが切り替わりながら実行されている。プロセス識別部840は、実行中のプロセスに対応した番号が保持されており、制御マスタ800がそのスレーブであるバスマスタ1やバスマスタ2、共有メモリ350にアクセスする際には、アクセス要求820と同時にプロセス識別部が保持している値をプロセス番号伝達信号850を介して出力する。   The control master 800 is a processor capable of executing software, and is executed while a plurality of processes are switched. The process identification unit 840 holds a number corresponding to the process being executed. When the control master 800 accesses the bus master 1, the bus master 2, and the shared memory 350 as slaves, the process identification unit 840 performs a process simultaneously with the access request 820. The value held by the identification unit is output via the process number transmission signal 850.

バスマスタ1では、制御マスタ800によって制御される際、どのプロセスによって制御されているかを、制御された際の前記プロセス番号伝達信号850の値を制御マスタ識別部901で保持することで管理している。そして、共有メモリ350に対してアクセス要求211を出力すると同時に、制御マスタ識別部901に保持された値を制御マスタ識別番号911として出力する。このような機構はバスマスタ2においても同様に実現されている。   The bus master 1 manages which process is controlled by the control master 800 by holding the value of the process number transmission signal 850 at the time of control in the control master identification unit 901. . Then, the access request 211 is output to the shared memory 350, and at the same time, the value held in the control master identification unit 901 is output as the control master identification number 911. Such a mechanism is similarly realized in the bus master 2.

アクセス制御部300内部にあるマスタ調停情報保持部1110には、図18にあるようなマスタ調停情報が保持されている。図18の例では、プロセス番号4に属する共有メモリへのアクセスが最も優先度が高く設定されており、その中でもバス1からのアクセス(制御マスターからの直接アクセス)が最も高く、マスタ2、マスタ1のアクセスの順に優先度が割り当てられている。その次には、プロセス番号6に属したアクセス、プロセス番号1に属したアクセスの順になっており、プロセス番号6に属したアクセスであればマスタ1,マスタ2,バス1は対等に調停される。(プロセス1に関しても同様)上記プロセス番号以外のプロセスは、最下位の調停順位に設定されている。   The master arbitration information holding unit 1110 in the access control unit 300 holds master arbitration information as shown in FIG. In the example of FIG. 18, the access to the shared memory belonging to the process number 4 is set with the highest priority, and among them, the access from the bus 1 (direct access from the control master) is the highest, and the master 2 and master 1 Priorities are assigned in the order of access. Next, the access belonging to process number 6 and the access belonging to process number 1 are performed in this order. If the access belongs to process number 6, master 1, master 2 and bus 1 are arbitrated equally. . (The same applies to process 1.) Processes other than the process number are set to the lowest arbitration order.

アクセス調停部1100では、3つのマスタ(バスマスタ1、バスマスタ2、バス1)の中から、マスタ調停情報保持部1110の情報に従って、どのマスタからのアクセスを優先して共有メモリ350にアクセスさせるかを決定する。   In the access arbitration unit 1100, the master from which access from the three masters (bus master 1, bus master 2, bus 1) is prioritized to access the shared memory 350 according to the information in the master arbitration information holding unit 1110. decide.

昨今のプロセッサでは、複数のプロセスが切り替わりながら実行する場合、OS(オペレーティングシステム)の機能として、プロセス毎に実行の優先度を付けられている場合が多い。例えば、マルチメディア系の処理のように、データ量が多く高いリアルタイム性が求められる場合には優先度が高く、低速のシリアル通信のような処理を行う場合には優先度が低く設定されることが多い。図19に示しているマスタ調停情報もこのOSによる優先度の設定と連動しておけば、複数のマスタからメモリアクセスが同時に発生しても、そのアクセスが属するプロセス番号に応じて優先度を設定できるため、必ず制御マスタ800で優先させたい処理を早期に完結させることができる。   In recent processors, when a plurality of processes are executed while switching, execution priority is often assigned to each process as an OS (operating system) function. For example, the priority is set high when a large amount of data is required, such as multimedia processing, and the priority is set low when processing such as low-speed serial communication is performed. There are many. If the master arbitration information shown in FIG. 19 is also linked with the priority setting by the OS, even if memory access occurs simultaneously from a plurality of masters, the priority is set according to the process number to which the access belongs. Therefore, the process that the control master 800 wants to prioritize can be completed at an early stage.

なお、実施の形態1〜5ではアクセス領域番号という言葉を使用したが、いずれもバスマスタでの処理内容に応じた番号(実施の形態1/2の場合はアプリに応じた番号、実施例3ではセキュア処理に応じた番号、実施の形態4では復号動作に応じた番号、実施の形態5ではフェッチ先に応じた番号)である。したがって、転送毎に転送データの内容を識別することが可能な本番号は、実施の形態8で制御マスタ識別番号をバスの調停に応用したのと同様の手法で、セキュリティの確保を目的としたアクセス制限以外の用途に使用することも可能である。   In addition, although the word “access area number” is used in the first to fifth embodiments, the number corresponds to the processing content in the bus master (in the case of the 1/2 embodiment, the number according to the application, in the third embodiment). The number corresponding to the secure processing, the number corresponding to the decryption operation in the fourth embodiment, and the number corresponding to the fetch destination in the fifth embodiment). Therefore, the real number that can identify the content of the transfer data for each transfer is the same method as the control master identification number applied to the bus arbitration in the eighth embodiment for the purpose of ensuring security. It can also be used for purposes other than access restriction.

本発明にかかるバスアクセス制御装置を用いれば、あるバスマスタが複数のセキュア処理、例えば、複数のセキュアアプリケーション実行や、複数のセキュアプログラムの復号処理などを行う場合、それらの複数のセキュア処理に対応した専用領域を共有メモリ上に確保することが可能となる。そのため、秘匿処理を行うデジタル機器全般のセキュリティ向上ならびにメモリ共有化によるシステムコスト削減に利用することができる。   By using the bus access control device according to the present invention, when a certain bus master performs a plurality of secure processes, for example, a plurality of secure application executions and a plurality of secure program decryption processes, the plurality of secure processes are supported. A dedicated area can be secured on the shared memory. Therefore, it can be used to improve the security of all digital devices that perform the confidential processing and to reduce the system cost by sharing the memory.

また、本発明にかかるバスアクセス制御装置を用いれば、複数種類の転送が混在した形でのアクセスが動的に切り替わりつつ共有メモリに対して発生する場合に、その種類に応じてバストランザクション毎に調停順位を的確に決定できる。そのため、処理が多様になりつつあるデジタル機器での性能保証ならびにメモリ共有化によるシステムコスト削減に利用することができる。   In addition, when the bus access control device according to the present invention is used, the access in the form in which a plurality of types of transfer is mixed is dynamically switched and occurs for the shared memory, depending on the type of the bus transaction. Arbitration order can be determined accurately. Therefore, it can be used for performance guarantee in digital equipment whose processing is becoming diversified and for system cost reduction by memory sharing.

本発明の実施の形態1の構成図Configuration diagram of Embodiment 1 of the present invention 本発明の実施の形態1のアクセス可否情報例を示す図The figure which shows the example of access permission information of Embodiment 1 of this invention 本発明の実施の形態1におけるアクセス制御処理のフローチャート一例を示す図The figure which shows an example of the flowchart of the access control process in Embodiment 1 of this invention. 本発明の実施の形態2の構成図Configuration diagram of Embodiment 2 of the present invention 本発明の実施の形態2のアクセス可否情報例を示す図The figure which shows the example of accessibility information of Embodiment 2 of this invention 本発明の実施の形態2におけるアクセス制御処理のフローチャート一例を示す図The figure which shows an example of the flowchart of the access control process in Embodiment 2 of this invention. 本発明の実施の形態3の構成図Configuration diagram of Embodiment 3 of the present invention 本発明の実施の形態4の構成図Configuration diagram of Embodiment 4 of the present invention 本発明の実施の形態4のアクセス可否情報例を示す図The figure which shows the example of access permission information of Embodiment 4 of this invention 本発明の実施の形態4におけるアクセス制御処理のフローチャート一例を示す図The figure which shows an example of the flowchart of the access control process in Embodiment 4 of this invention. 本発明の実施の形態5の構成図Configuration diagram of Embodiment 5 of the present invention 本発明の実施の形態5におけるアクセス制御処理のフローチャート一例を示す図The figure which shows an example of the flowchart of the access control process in Embodiment 5 of this invention. 本発明の実施の形態6の構成図Configuration diagram of Embodiment 6 of the present invention 本発明の実施の形態6のアクセス可否情報例を示す図The figure which shows the access permission information example of Embodiment 6 of this invention 本発明の実施の形態7の構成図Configuration diagram of Embodiment 7 of the present invention 本発明の実施の形態7のアクセス可否情報例を示す図The figure which shows the example of access permission information of Embodiment 7 of this invention 本発明の実施の形態8の構成図Configuration diagram of Embodiment 8 of the present invention 本発明の実施の形態7のマスタ調停情報例を示す図The figure which shows the example of master arbitration information of Embodiment 7 of this invention 従来のバスアクセス制御装置(特許文献1)の構成図Configuration diagram of conventional bus access control device (Patent Document 1) 従来のバスアクセス制御装置(特許文献1)のアクセス可否情報例を示す図The figure which shows the example of accessibility information of the conventional bus access control apparatus (patent document 1) 従来のバスアクセス制御装置(特許文献2、非特許文献1)の構成図Configuration diagram of a conventional bus access control device (Patent Document 2, Non-Patent Document 1) 従来のバスアクセス制御装置(特許文献2、非特許文献1)のマスタ調停情報例を示す図The figure which shows the example of master arbitration information of the conventional bus access control apparatus (patent document 2, nonpatent literature 1)

符号の説明Explanation of symbols

100 バスアクセス制御装置
200 バスマスタ
201 バスマスタ1
202 バスマスタ2
203 バスマスタ3
210 アクセス制御部に入力されるアクセス要求
211 バスマスタ1からのアクセス要求
212 バスマスタ2からのアクセス要求
213 バスマスタ3からのアクセス要求
220 アクセス制御部に入力されるアクセス領域番号
221 バスマスタ1からのアクセス領域番号
300 アクセス制御部
310 アクセス可否判定部
320 アクセス可否情報保持部
330 アクセス可否判定結果
340 メモリIF部
350 メモリ
400 バスマスタ識別部
410 バスマスタ識別情報
500 バスマスタの処理内容識別部
600 Flashメモリ
610 領域番号生成回路
620 暗復号DMA制御回路
630 復号回路
700 内蔵メモリ1
701 内蔵メモリ2
710 フェッチ先判定回路
720 プロセッサコア
800 制御マスタ
801 制御マスタ1
802 制御マスタ2
803 制御マスタ3
810 動作モード識別部
820 制御マスタからのアクセス要求
821 制御マスタ1からのアクセス要求
822 制御マスタ2からのアクセス要求
823 制御マスタ3からのアクセス要求
830 制御マスタからのモード伝達信号
840 プロセス識別部
850 プロセス番号伝達信号
901 バスマスタ1の制御マスタ識別部
902 バスマスタ2の制御マスタ識別部
910 アクセス制御部に入力される制御マスタ識別番号
911 バスマスタ1からの制御マスタ識別番号
912 バスマスタ2からの制御マスタ識別番号
1000 バス1のマスタ識別部
1010 バス1のマスタ識別信号
1100 アクセス調停部
1110 マスタ調停情報保持部
100 Bus access control device 200 Bus master 201 Bus master 1
202 Bus master 2
203 Bus master 3
210 Access request input to the access control unit 211 Access request from the bus master 1 212 Access request from the bus master 2 213 Access request from the bus master 3 220 Access area number input to the access control unit 221 Access area number from the bus master 1 DESCRIPTION OF SYMBOLS 300 Access control part 310 Access permission determination part 320 Access permission information holding part 330 Access permission determination result 340 Memory IF part 350 Memory 400 Bus master identification part 410 Bus master identification information 500 Bus master processing content identification part 600 Flash memory 610 Area number generation circuit 620 Encryption / Decryption DMA Control Circuit 630 Decoding Circuit 700 Built-in Memory 1
701 Internal memory 2
710 fetch destination determination circuit 720 processor core 800 control master 801 control master 1
802 Control master 2
803 Control master 3
810 Operation mode identification unit 820 Access request from control master 821 Access request from control master 1 822 Access request from control master 2 823 Access request from control master 3 830 Mode transmission signal from control master 840 Process identification unit 850 Process Number transmission signal 901 Control master identification unit of bus master 1 902 Control master identification unit of bus master 2 910 Control master identification number input to access control unit 911 Control master identification number from bus master 1 912 Control master identification number from bus master 2 1000 Master identification unit for bus 1 1010 Master identification signal for bus 1 1100 Access arbitration unit 1110 Master arbitration information holding unit

Claims (14)

メモリやレジスタなどのLSI内外の資源を有するバススレーブと、
前記バススレーブへアクセスするバスマスタにあって、
前記バスマスタ側の処理内容に対応した転送識別番号をアクセス要求と共に出力するバス出力部
を有することを特徴とするバスアクセス制御装置。
A bus slave having resources inside and outside the LSI such as a memory and a register;
In the bus master accessing the bus slave,
A bus access control device comprising: a bus output unit that outputs a transfer identification number corresponding to the processing content on the bus master side together with an access request.
請求項1記載のバスアクセス制御装置であって、
前記バスマスタの処理動作を制御する複数の制御マスターと、
前記バスマスタを制御しているのがどの前記制御マスターなのかを判別する制御マスター識別部と、
を有し、
前記バス出力部は前記制御マスター識別部からの情報をもとに、前記バスマスタ側の処理内容がどの前記制御マスターに属したものであるかを前記転送識別番号として出力することを特徴とするバスアクセス制御装置。
The bus access control device according to claim 1,
A plurality of control masters for controlling processing operations of the bus master;
A control master identification unit for determining which control master is controlling the bus master;
Have
The bus output unit outputs, as the transfer identification number, the control master to which the processing content on the bus master side belongs, based on information from the control master identification unit. Access control device.
前記制御マスターはソフトウェアを実行可能であり、
前記転送識別番号は前記制御マスターで動作するソフトウェアに対応した番号であることを特徴とする
請求項2記載のバスアクセス制御装置。
The control master is capable of executing software;
3. The bus access control apparatus according to claim 2, wherein the transfer identification number is a number corresponding to software operating on the control master.
前記転送識別番号は前記制御マスターで動作するアプリケーションに対応した番号であることを特徴とする請求項3に記載のバスアクセス制御装置。 4. The bus access control apparatus according to claim 3, wherein the transfer identification number is a number corresponding to an application operating on the control master. 前記転送識別番号は前記制御マスターで動作するOS上でのプロセスに対応した番号であることを特徴とする請求項3に記載のバスアクセス制御装置。 4. The bus access control apparatus according to claim 3, wherein the transfer identification number is a number corresponding to a process on an OS operating on the control master. 前記転送識別番号は前記ソフトウェアが動作している前記制御マスターのソフトウェア実行モードに対応した番号であることを特徴とする請求項3に記載のバスアクセス制御装置。 4. The bus access control device according to claim 3, wherein the transfer identification number is a number corresponding to a software execution mode of the control master in which the software is operating. 前記転送識別番号は前記制御マスターのソフトウェアのフェッチ先アドレスに対応した番号であることを特徴とする請求項3に記載のバスアクセス制御装置。 4. The bus access control device according to claim 3, wherein the transfer identification number is a number corresponding to a fetch destination address of software of the control master. 請求項1〜7のいずれか一項に記載のバスアクセス制御装置であって、
前記バスマスタから前記資源へアクセス可能な領域と不可能な領域とを示すアクセス可否情報を複数保持するアクセス可否情報保持部を有し、
前記転送識別番号は、前記アクセス可否情報として保持される各々の前記領域に対応しており、
前記アクセス可否情報保持部のアクセス可否情報と前記転送識別番号と前記アクセス要求に含まれるアクセス先のアドレス情報に基づいて、前記バスマスタが前記アクセス要求先の領域にアクセス可能か否かを判定するアクセス可否判定部をアクセス制御部に含む
ことを特徴とするバスアクセス制御装置。
The bus access control device according to any one of claims 1 to 7,
An access enable / disable information holding unit for holding a plurality of access enable / disable information indicating an area where the bus master can access the resource and an impossible area;
The transfer identification number corresponds to each of the areas held as the accessibility information,
Access for determining whether or not the bus master can access the access request destination area based on the access enable / disable information of the access enable / disable information holding unit, the transfer identification number, and the address information of the access destination included in the access request A bus access control device comprising an access control unit including an availability determination unit.
請求項8記載のバスアクセス制御装置であって、
複数の前記バスマスタを有し、
前記アクセス要求を行ったバスマスタを識別し、バスマスタ識別情報として出力するバスマスタ識別部をさらに含み、
前記アクセス可否情報に、前記領域へのアクセスを許可するマスタ識別情報を含み、
前記アクセス可否判定部は、前記マスタ識別情報と前記アクセス可否情報と前記転送識別番号と前記アクセス要求に含まれるアクセス先のアドレス情報に基づいて、前記バスマスタが前記アクセス要求先の領域にアクセス可能か否かを判定する
ことを特徴とするバスアクセス制御装置。
The bus access control device according to claim 8,
A plurality of the bus masters;
A bus master identification unit that identifies the bus master that has made the access request and outputs the bus master identification information;
The access permission information includes master identification information that permits access to the area,
Whether the bus master can access the access request destination area based on the master identification information, the access permission information, the transfer identification number, and the access destination address information included in the access request. A bus access control device that determines whether or not.
請求項8または9記載のバスアクセス制御装置であって、
前記バスマスタが暗号・復号機能を有した暗復号DMAコントローラであり、
前記暗復号DMAコントローラは暗号、復号に使用する鍵を設定するためのレジスタ(復号鍵設定レジスタ)と、DMA転送元を指定するためのレジスタ(転送元指定レジスタ)と、
DMA転送先を指定するためのレジスタ(転送先設定レジスタ)を有し、
更に暗号化データもしくは暗号化プログラムを復号して前記転送先設定レジスタに示されたアドレスに転送するためのアクセス要求を発行する際、前記バス出力部にて、前記復号鍵設定レジスタにより指定された復号鍵に対応させて前記転送識別番号を出力する
ことを特徴とするバスアクセス制御装置。
The bus access control device according to claim 8 or 9,
The bus master is an encryption / decryption DMA controller having an encryption / decryption function,
The encryption / decryption DMA controller includes a register (decryption key setting register) for setting a key used for encryption and decryption, a register (transfer source designation register) for designating a DMA transfer source,
It has a register (transfer destination setting register) for designating the DMA transfer destination,
Further, when issuing an access request for decrypting the encrypted data or the encrypted program and transferring it to the address indicated in the transfer destination setting register, the bus output unit designates the decryption key setting register. A bus access control device that outputs the transfer identification number in correspondence with a decryption key.
請求項10記載のバスアクセス制御装置であって、
前記復号鍵の予め定められた箇所に前記転送識別番号を含み、
処理内容識別部は、前記復号鍵設定レジスタに設定された復号鍵から、予め定められた位置の情報を前記転送識別番号として出力する
ことを特徴とするバスアクセス制御装置。
The bus access control device according to claim 10,
Including the transfer identification number in a predetermined location of the decryption key;
The processing content identification unit outputs information on a predetermined position from the decryption key set in the decryption key setting register as the transfer identification number.
前記アクセス可否情報は、
前記転送識別番号に対応した領域を示すための領域開始アドレス、領域終了アドレスを含む
ことを特徴とする請求項8〜11のいずれか一項に記載のバスアクセス制御装置。
The accessibility information is
The bus access control device according to any one of claims 8 to 11, further comprising an area start address and an area end address for indicating an area corresponding to the transfer identification number.
請求項8〜12のいずれか一項に記載のバスアクセス制御装置であって、
前記アクセス可否情報に、前記アクセスを許可する前記マスタ識別情報により指定されたバスマスタに対し許可するアクセス種別(書込み、読出しの許可、禁止)の情報をさらに含み、
前記アクセス可否判定部にて、前記バスマスタからのアクセス要求がアクセス先に対する書込み要求なのか、読出し要求なのかを判定し、その判定結果と前記アクセス可否情報と前記マスタ識別情報と前記転送識別番号と前記アクセス要求に含まれるアクセス先アドレス情報に基づいて、前記バスマスタが前記アクセス要求先の領域にアクセス可能か否かを判定する
ことを特徴とするバスアクセス制御装置。
The bus access control device according to any one of claims 8 to 12,
The access permission / prohibition information further includes information of an access type (write, read permission / prohibition) permitted to the bus master specified by the master identification information permitting the access,
The access permission determination unit determines whether the access request from the bus master is a write request to the access destination or a read request, and the determination result, the access permission information, the master identification information, and the transfer identification number, A bus access control device that determines whether or not the bus master can access the access request destination area based on access destination address information included in the access request.
請求項1〜7のいずれか一項に記載のバスアクセス制御装置であって、
複数の前記バスマスタを有し、
前記複数のバスマスタの間で転送を調停するバス調停部を有し、
前記転送識別番号はバス調停の優先度に対応づけられており、
前記バス調停部は前記転送識別番号をもとに調停を行う
ことを特徴とするバスアクセス制御装置。
The bus access control device according to any one of claims 1 to 7,
A plurality of the bus masters;
A bus arbitration unit that arbitrates transfer between the plurality of bus masters;
The transfer identification number is associated with the priority of bus arbitration,
The bus access control device, wherein the bus arbitration unit performs arbitration based on the transfer identification number.
JP2005300016A 2005-10-14 2005-10-14 Bus access controller Pending JP2007109053A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005300016A JP2007109053A (en) 2005-10-14 2005-10-14 Bus access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005300016A JP2007109053A (en) 2005-10-14 2005-10-14 Bus access controller

Publications (1)

Publication Number Publication Date
JP2007109053A true JP2007109053A (en) 2007-04-26

Family

ID=38034872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005300016A Pending JP2007109053A (en) 2005-10-14 2005-10-14 Bus access controller

Country Status (1)

Country Link
JP (1) JP2007109053A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008130014A1 (en) 2007-04-18 2008-10-30 Tosoh Corporation Optical compensation films, optically compensating film, and processes for producing these
WO2010119802A1 (en) * 2009-04-14 2010-10-21 日本電気株式会社 Computer system and processing method for computer system
JP2017215802A (en) * 2016-05-31 2017-12-07 株式会社リコー Control device and control method
US11216390B2 (en) 2019-07-25 2022-01-04 Kioxia Corporation Storage device, memory access control system, and memory access control method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008130014A1 (en) 2007-04-18 2008-10-30 Tosoh Corporation Optical compensation films, optically compensating film, and processes for producing these
WO2010119802A1 (en) * 2009-04-14 2010-10-21 日本電気株式会社 Computer system and processing method for computer system
JP2010250470A (en) * 2009-04-14 2010-11-04 Nec Corp Computer system
JP4656347B2 (en) * 2009-04-14 2011-03-23 日本電気株式会社 Computer system
US8713217B2 (en) 2009-04-14 2014-04-29 Nec Corporation Permitting access of slave device from master device based on process ID's
JP2017215802A (en) * 2016-05-31 2017-12-07 株式会社リコー Control device and control method
US11216390B2 (en) 2019-07-25 2022-01-04 Kioxia Corporation Storage device, memory access control system, and memory access control method

Similar Documents

Publication Publication Date Title
US7444668B2 (en) Method and apparatus for determining access permission
JP4872001B2 (en) Memory access safety management
JP4602403B2 (en) Endianness control method and apparatus in data processing system
JP4601557B2 (en) Method and apparatus for secure cooperation of processors in a multiprocessor system
US7277972B2 (en) Data processing system with peripheral access protection and method therefor
US20040177266A1 (en) Data processing system with peripheral access protection and method therefor
US20140089650A1 (en) Security Enclave Processor Boot Control
JP2008257734A (en) Security control in data processing system based on memory domain
JP4591163B2 (en) Bus access control device
JP4945053B2 (en) Semiconductor device, bus interface device, and computer system
US11544413B2 (en) Cryptographic key distribution
JP2007109053A (en) Bus access controller
Pott et al. Firmware Security Module: A Framework for Trusted Computing in Automotive Multiprocessors
US20190138755A1 (en) Technologies for filtering memory access transactions received from one or more i/o devices
WO2005121979A1 (en) Access control device and access control method
JP4972692B2 (en) DMA controller and data transfer method
JP2008250386A (en) Access control device and computer system
JP2011150457A (en) Information processing apparatus and memory access control method
JP2010134572A (en) Device and method for achieving security
JP5380392B2 (en) Semiconductor device, bus interface device, and computer system
JP5324676B2 (en) Processor, bus interface device, and computer system
CN116680717A (en) Decryption method of neural network model encrypted data, system on chip and electronic equipment
JP2009169511A (en) Information processor
JP2009175774A (en) Dma control device
JP2005038158A (en) External bus interface circuit