[go: up one dir, main page]

JP2014174758A - Processor - Google Patents

Processor Download PDF

Info

Publication number
JP2014174758A
JP2014174758A JP2013047146A JP2013047146A JP2014174758A JP 2014174758 A JP2014174758 A JP 2014174758A JP 2013047146 A JP2013047146 A JP 2013047146A JP 2013047146 A JP2013047146 A JP 2013047146A JP 2014174758 A JP2014174758 A JP 2014174758A
Authority
JP
Japan
Prior art keywords
unit
bank
component
address
storage unit
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
JP2013047146A
Other languages
Japanese (ja)
Inventor
Yu Nakagawa
祐 中川
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2013047146A priority Critical patent/JP2014174758A/en
Priority to DE102013218646.0A priority patent/DE102013218646B4/en
Publication of JP2014174758A publication Critical patent/JP2014174758A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a processor with reduced overhead.SOLUTION: A microcomputer 100 for executing software formed of a plurality of components includes an arithmetic operation unit 10, a storage unit 20, and a protection unit 30. The protection unit 30 includes: a plurality of banks 331-33n storing memory protection information; a bank number register 33a on which a bank number is written; and a bank switching unit 31 for switching available banks by writing the bank number on the bank number register 33a. The bank switching unit 31 specifies a component to be executed by the arithmetic operation unit 10, and associates the bank corresponding to the specified component out of the banks 331-33n with the specified component in a one-to-one manner. Then, the bank switching unit 31 writes the bank number indicating the associated bank on the bank number register 33a when executed components are switched (S10-S40).

Description

本発明は、演算部と、記憶部と、記憶部への演算部のアクセスを規定することで、記憶部を保護する保護部と、を有する処理装置に関する。   The present invention relates to a processing device having a calculation unit, a storage unit, and a protection unit that protects the storage unit by defining access of the calculation unit to the storage unit.

従来、例えば特許文献1に示されるように、演算部(特許文献1ではCPU)と、保護情報格納部と、メモリアクセス制御装置と、を備えるマイクロコンピュータが提案されている。保護情報格納部は、演算部で実行されるプログラムによるメモリ空間へのアクセス許可又は禁止の状態を指定するメモリ保護情報を格納する。メモリアクセス制御装置は、メモリ保護情報に基づいて、演算部によるメモリアクセス要求を許可するか否かを判定する。   Conventionally, as shown in Patent Document 1, for example, a microcomputer including a calculation unit (CPU in Patent Document 1), a protection information storage unit, and a memory access control device has been proposed. The protection information storage unit stores memory protection information for designating whether to permit or prohibit access to the memory space by a program executed by the arithmetic unit. The memory access control device determines whether to permit a memory access request by the arithmetic unit based on the memory protection information.

特開2007−287103号公報JP 2007-287103 A

ところで、演算部が実行するソフトウェアは、複数のコンポーネントから成ることがある。複数のコンポーネントの夫々は、利用するメモリ領域が異なる。また、このコンポーネントは、例えば、所定の安全基準を満たす安全コンポーネントと、安全基準に制限がない非安全コンポーネントと、から成ることがある。また、非安全コンポーネントは、安全基準に制限がないため、安全基準を満たさないコンポーネントであることも考えられる。演算部は、非安全コンポーネントにバグが含まれていると、非安全コンポーネントに基づいて動作する際、非安全コンポーネントに基づいて動作するのに不要なデータにアクセスする、という誤動作を行う虞がある。   By the way, the software executed by the arithmetic unit may be composed of a plurality of components. Each of the plurality of components uses a different memory area. In addition, this component may consist of, for example, a safety component that satisfies a predetermined safety standard and a non-safety component that has no limit on the safety standard. Moreover, since there is no restriction | limiting in a safety standard, it is also considered that a non-safety component is a component which does not satisfy a safety standard. If a bug is included in the non-safety component, the arithmetic unit may cause a malfunction of accessing data unnecessary to operate based on the non-safety component when operating based on the non-safety component. .

例えば、特許文献1に記載のマイクロコンピュータでは、メモリ保護情報が格納された複数のレジスタからなる保護設定レジスタ郡と、メモリ保護情報に基づいて演算部によるメモリアクセス要求を許可するか否かを判定するメモリアクセス制御装置とを備える。これによって、演算部が動作するのに不要なデータにアクセスする、という誤動作が起きることを抑制している。   For example, in the microcomputer disclosed in Patent Document 1, it is determined whether or not to permit a memory access request by a calculation unit based on the protection setting register group including a plurality of registers storing memory protection information and the memory protection information. A memory access control device. As a result, it is possible to prevent a malfunction that data unnecessary for the operation unit to operate is accessed.

しかしながら、このようなマイクロコンピュータの場合、コンポーネント毎に必要なメモリ保護情報が異なる。このため、実行するコンポーネント(プログラム)の切り替え時に、保護設定レジスタ郡を構成する複数のレジスタの設定を変更するため、オーバーヘッドが大きいという問題がある。つまり、コンポーネント毎にメモリ保護情報を変更するために複数のレジスタを書き換える分、処理にかかる時間や負荷が余分にかかってしまうという問題がある。   However, in such a microcomputer, necessary memory protection information differs for each component. For this reason, when switching the component (program) to be executed, the setting of a plurality of registers constituting the protection setting register group is changed, which causes a problem that overhead is large. That is, there is a problem that processing time and load are excessively increased by rewriting a plurality of registers in order to change the memory protection information for each component.

そこで、本発明は上記問題点に鑑み、オーバーヘッドが低減された処理装置を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide a processing apparatus with reduced overhead.

上記した目的を達成するために本発明は、
複数のコンポーネントから成るソフトウェアを実行する処理装置であって、
各コンポーネントに基づいて演算処理を実行する演算部(10)と、
演算部が演算処理するためのデータを記憶する記憶部(20)と、
演算部による記憶部へのアクセスを規定することで、記憶部を保護する保護部(30)と、を備え、
保護部は、
演算部がアクセスする記憶部におけるアドレスを示すデータ、及び演算部による処理の可否を規定するデータを含むメモリ保護情報が記憶された複数のレジスタからなるバンク(331〜33n)を複数有すると共に、
複数のバンクのうち有効状態とするバンクを示すバンク番号が書き込まれるバンク番号レジスタ(33a)と、
演算部が実行しようとしているコンポーネントを特定する特定手段(S10)と、
特定手段によって特定されたコンポーネントと、複数のバンクにおける特定されたコンポーネントに対応するバンクとを一対一で対応付ける対応付け手段(S20)と、
実行されるコンポーネントが特定手段で特定されたコンポーネントに切り替わる場合、対応付け手段で対応付けられたバンクを示すバンク番号をバンク番号レジスタに書き込むことで、有効状態のバンクを切り替える切替手段(S30,S40)と、を有し、
切替手段により有効状態となったバンクのレジスタに記憶されたメモリ保護情報に従い、演算部による記憶部へのアクセスを規定することで、記憶部を保護することを特徴とする。
In order to achieve the above object, the present invention provides:
A processing device for executing software composed of a plurality of components,
A calculation unit (10) for performing calculation processing based on each component;
A storage unit (20) for storing data for calculation processing by the calculation unit;
A protection unit (30) for protecting the storage unit by defining access to the storage unit by the arithmetic unit;
The protection part
While having a plurality of banks (331 to 33n) including a plurality of registers in which memory protection information including data indicating an address in the storage unit accessed by the calculation unit and data defining whether processing by the calculation unit is possible is stored,
A bank number register (33a) in which a bank number indicating a valid bank among a plurality of banks is written;
A specifying means (S10) for specifying a component to be executed by the calculation unit;
Corresponding means (S20) for associating the components specified by the specifying means with the banks corresponding to the specified components in the plurality of banks on a one-to-one basis;
When the component to be executed is switched to the component specified by the specifying unit, the bank number indicating the bank associated by the association unit is written in the bank number register, thereby switching the effective bank (S30, S40). ) And
According to the memory protection information stored in the register of the bank that is enabled by the switching unit, the storage unit is protected by defining access to the storage unit by the arithmetic unit.

このように、本発明は、実行されるコンポーネントが切り替わる際に、バンク番号レジスタにバンク番号を書き込むだけで、実行しようとしているコンポーネントに対応するバンクに切り替えることができる。つまり、本発明は、実行されるコンポーネントが切り替わる際に、バンク番号レジスタにバンク番号を書き込むだけで、メモリ保護情報を切り替えることができる。よって、本発明は、実行しようとしているコンポーネントに対応したバンク番号を、バンク番号レジスタに書き込むだけで、複数のレジスタに記憶されたメモリ保護情報に従い、演算部による記憶部へのアクセスを規定して記憶部を保護することができる。このため、本発明は、上述のように、実行されるコンポーネントが切り替わる際に、複数のレジスタを書き換える必要がなくオーバーヘッドが低減される。   Thus, according to the present invention, when the component to be executed is switched, it is possible to switch to the bank corresponding to the component to be executed simply by writing the bank number in the bank number register. That is, according to the present invention, when the component to be executed is switched, the memory protection information can be switched only by writing the bank number in the bank number register. Therefore, the present invention specifies the access to the storage unit by the arithmetic unit according to the memory protection information stored in the plurality of registers by simply writing the bank number corresponding to the component to be executed to the bank number register. The storage unit can be protected. For this reason, as described above, according to the present invention, when the component to be executed is switched, it is not necessary to rewrite a plurality of registers, and overhead is reduced.

実施形態におけるマイコンの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the microcomputer in embodiment. 実施形態における記憶部の概略構成を示すブロック図である。It is a block diagram which shows schematic structure of the memory | storage part in embodiment. 実施形態におけるバンク切替部の処理動作を示すフローチャートである。It is a flowchart which shows the processing operation of the bank switching part in embodiment. 実施形態における記憶部の保護を説明するための概念図である。It is a conceptual diagram for demonstrating protection of the memory | storage part in embodiment. 比較例における記憶部の保護を説明するための概念図である。It is a conceptual diagram for demonstrating protection of the memory | storage part in a comparative example.

以下、本発明の実施形態を図に基づいて説明する。本実施形態では、本発明(処理装置)をマイコン100に適用した例を採用する。このマイコン100は、複数の異なるコンポーネントから成るソフトウェアを実行する。また、複数のコンポーネントは、少なくとも一つの安全コンポーネントと、少なくとも一つの非安全コンポーネントを含む例を採用する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the present embodiment, an example in which the present invention (processing device) is applied to the microcomputer 100 is employed. The microcomputer 100 executes software composed of a plurality of different components. The plurality of components adopts an example including at least one safety component and at least one non-safety component.

安全コンポーネントは、上述のように、所定の安全基準が満たされている。安全基準が満たされているとは、認証されたプロセスに準拠して設計されていることを示す。つまり、安全コンポーネントは、認証されたプロセスに準拠して設計されたコンポーネントと言い換えることができる。ちなみに、安全基準としては、例えばISO26262に定義される自動車用安全水準(ASIL)を採用することができる。一方、非安全コンポーネントは、上述のように、安全基準を満たさないコンポーネントであることも考えられる。本実施形態では、非安全コンポーネントとして、安全基準を満たさないコンポーネントを採用する。   As described above, the safety component satisfies predetermined safety standards. Satisfaction of safety standards indicates that the product has been designed in accordance with a certified process. In other words, the safety component can be rephrased as a component designed according to the certified process. Incidentally, for example, an automobile safety level (ASIL) defined in ISO 26262 can be adopted as the safety standard. On the other hand, as described above, the non-safety component may be a component that does not satisfy the safety standard. In the present embodiment, a component that does not satisfy safety standards is adopted as the non-safety component.

マイコン100は、例えば、車両の搭載機器を電子的に制御する各種の電子制御装置に適用することができる。また、電子制御装置が制御対象とする車両の搭載機器は、エンジン、変速機、ブレーキ等のパワートレイン系機器、エアコン、シート、ドアロック等のボディ系機器、ナビ、ETC、ラジオ等の情報系機器、及びエアバック等のセイフティ系機器などである。   The microcomputer 100 can be applied to, for example, various electronic control devices that electronically control on-vehicle equipment. In addition, vehicle-mounted devices that are controlled by the electronic control device include powertrain devices such as engines, transmissions, and brakes, body devices such as air conditioners, seats, and door locks, and information systems such as navigation, ETC, and radio. Equipment and safety equipment such as airbags.

図1に示すように、マイコン100は、要部として、演算部10、記憶部20、保護部30を備えて構成されている。   As shown in FIG. 1, the microcomputer 100 includes a calculation unit 10, a storage unit 20, and a protection unit 30 as main parts.

演算部10は、所謂CPU(Central Processing Unit)に相当し、コンポーネントに基づいて演算処理を実行する。言い換えると、演算部10は、記憶部20に記憶されたデータに基づいて演算処理を実行する。詳述すると、演算部10は、記憶部20にアクセスし、アクセスしたアドレスに記憶されたデータに基づいて、演算処理を実行する。また、演算部10は、プログラムカウンタ11を備えている。演算部10は、プログラムカウンタ11の値に従って、記憶部10における所定のアドレスから命令を読み出して演算処理を実行する。   The arithmetic unit 10 corresponds to a so-called CPU (Central Processing Unit) and executes arithmetic processing based on components. In other words, the calculation unit 10 executes calculation processing based on the data stored in the storage unit 20. More specifically, the arithmetic unit 10 accesses the storage unit 20 and executes arithmetic processing based on data stored at the accessed address. The arithmetic unit 10 includes a program counter 11. The arithmetic unit 10 reads an instruction from a predetermined address in the storage unit 10 according to the value of the program counter 11 and executes arithmetic processing.

記憶部20は、図2に示すように、ROM(Read Only Memory)、RAM(Random Access Memory)、レジスタを備えて構成されている。この記憶部20は、ROM、RAM、レジスタを一つのアドレス空間として一括管理されている。記憶部20は、演算部10が演算処理するためのデータや、演算処理の際のデータを記憶する。具体的には、記憶部20は、上述のソフトウェアが記憶されている。詳述すると、各コンポーネントの実行プログラムは、記憶部20における所定のアドレスに記憶されている。   As shown in FIG. 2, the storage unit 20 includes a ROM (Read Only Memory), a RAM (Random Access Memory), and a register. The storage unit 20 is collectively managed with a ROM, a RAM, and a register as one address space. The storage unit 20 stores data for the arithmetic processing unit 10 to perform arithmetic processing and data at the time of arithmetic processing. Specifically, the storage unit 20 stores the above-described software. More specifically, the execution program for each component is stored at a predetermined address in the storage unit 20.

保護部30は、所謂メモリ管理ユニットに相当し、記憶部20に記憶されたデータへの演算部10のアクセスを規定することで記憶部20を保護する。保護部30は、バンク切替部31、アドレステーブル32、レジスタバンク部33を備えて構成されている。また、レジスタバンク部33は、バンク番号レジスタ33aと、複数のバンク331〜33nとを備えて構成されている。   The protection unit 30 corresponds to a so-called memory management unit, and protects the storage unit 20 by defining access of the calculation unit 10 to data stored in the storage unit 20. The protection unit 30 includes a bank switching unit 31, an address table 32, and a register bank unit 33. The register bank unit 33 includes a bank number register 33a and a plurality of banks 331 to 33n.

バンク切替部31は、各バンク331〜33nの無効状態と有効状態とを切り換える。具体的には、バンク切替部31は、有効状態にするバンクを示すバンク番号をバンク番号レジスタ33aに書き込むことによって、各バンク331〜33nの無効状態と有効状態とを切り替える。言い換えると、バンク切替部31は、バンク番号レジスタ33aに、切り替えて使用したいバンクの値を設定することによって、有効状態のバンクを切り替える。このように、バンク番号レジスタ33aは、複数のバンク331〜33nのうち有効状態とするバンクを示すバンク番号が書き込まれる。つまり、バンク番号レジスタ33aには、複数のバンク331〜33nのうち、有効状態となっているバンクのバンク番号が書き込まれている。   The bank switching unit 31 switches between invalid and valid states of the banks 331 to 33n. Specifically, the bank switching unit 31 switches between the invalid state and the valid state of each bank 331 to 33n by writing the bank number indicating the bank to be valid in the bank number register 33a. In other words, the bank switching unit 31 switches the bank in the valid state by setting the bank value to be used by switching in the bank number register 33a. In this way, the bank number register 33a is written with a bank number indicating a bank to be activated among the plurality of banks 331 to 33n. That is, the bank number of the bank in the valid state among the plurality of banks 331 to 33n is written in the bank number register 33a.

アドレステーブル32は、記憶部20におけるアドレス範囲と、各アドレス範囲に対応する各バンク331〜33nとが関連付けられている。例えば、図1に示すように、アドレスA〜アドレスBは第1バンク331と関連付けられており、アドレスB〜アドレスCは第2バンク332と関連付けられており、アドレスY〜アドレスZは第Nバンク33nと関連付けられている。   In the address table 32, the address ranges in the storage unit 20 and the banks 331 to 33n corresponding to the address ranges are associated with each other. For example, as shown in FIG. 1, address A to address B are associated with the first bank 331, address B to address C are associated with the second bank 332, and address Y to address Z are associated with the Nth bank. 33n.

なお、アドレステーブル32は、演算部10が実行しようとしているコンポーネントに対応するバンクを決定するためのテーブルである。よって、アドレステーブル32のかわりに、各コンポーネントと、各コンポーネントに対応する各バンク331〜33nとが関連付けられたコンポーネントテーブルを採用することもできる。例えば、コンポーネントテーブルは、図4における安全コンポーネントと第1バンク331とが関連付けられており、図4における非安全コンポーネントと第2バンク332とが関連付けられているものを採用することができる。なお、アドレステーブル32とコンポーネントテーブルは、共に対応付けテーブルと称することもできる。   The address table 32 is a table for determining a bank corresponding to the component that the arithmetic unit 10 is going to execute. Therefore, instead of the address table 32, a component table in which each component and each bank 331 to 33n corresponding to each component are associated can be adopted. For example, the component table in which the safety component in FIG. 4 and the first bank 331 are associated with each other and the non-safety component in FIG. 4 and the second bank 332 in association with each other can be adopted. Note that both the address table 32 and the component table may be referred to as a correspondence table.

各バンク331〜33nは、複数のレジスタからなり、演算部10がアクセスする記憶部20におけるアドレスを示すデータ、及び演算部10による処理の可否を規定するデータを含むメモリ保護情報が記憶されている。つまり、1つのバンクには、一つのコンポーネントに必要な複数のレジスタが備わっている。そして、各コンポーネントに対応するメモリ保護情報は、複数のレジスタに記憶されている。また、各バンク331〜33nは、各コンポーネントに対応して設けられている。例えば、第1コンポーネントに対応するバンクが第1バンク331であった場合、第1バンク331には、第1コンポーネントに対応するメモリ保護情報が記憶されている。同様に、第2コンポーネントに対応するバンクが第2バンク332であった場合、第2バンク332には、第2コンポーネントに対応するメモリ保護情報が記憶されている。なお、各バンク331〜33nは、保護部30の設定を行う複数のレジスタを備えていると言い換えることもできる。   Each of the banks 331 to 33n includes a plurality of registers, and stores memory protection information including data indicating an address in the storage unit 20 accessed by the arithmetic unit 10 and data defining whether processing by the arithmetic unit 10 is possible. . That is, one bank is provided with a plurality of registers necessary for one component. Memory protection information corresponding to each component is stored in a plurality of registers. Each bank 331-33n is provided corresponding to each component. For example, when the bank corresponding to the first component is the first bank 331, memory protection information corresponding to the first component is stored in the first bank 331. Similarly, when the bank corresponding to the second component is the second bank 332, the memory protection information corresponding to the second component is stored in the second bank 332. It can also be said that each bank 331 to 33n includes a plurality of registers for setting the protection unit 30.

このように構成された保護部30は、各バンク331〜33nに記憶されたメモリ保護情報に基づいて、記憶部20を保護する。つまり、保護部30は、有効状態となったバンクの複数のレジスタに記憶されたメモリ保護情報に従い、記憶部20に記憶されたデータへの演算部10のアクセスを規定することで記憶部20を保護する。言い換えると、保護部30は、有効状態となったバンクの複数のレジスタに記憶されたメモリ保護情報に従い、演算部10が記憶部20のメモリ領域(アドレス範囲)に不必要にアクセスすることを規定して、記憶部20を保護する。   The protection unit 30 configured as described above protects the storage unit 20 based on the memory protection information stored in each of the banks 331 to 33n. That is, the protection unit 30 defines the access of the arithmetic unit 10 to the data stored in the storage unit 20 according to the memory protection information stored in the plurality of registers of the bank that has become valid. Protect. In other words, the protection unit 30 stipulates that the arithmetic unit 10 unnecessarily accesses the memory area (address range) of the storage unit 20 in accordance with the memory protection information stored in the plurality of registers of the bank that has become valid. Thus, the storage unit 20 is protected.

ここで、図3〜図5を用いて、マイコン100の処理動作に関して説明する。バンク切替部31は、演算部10のクロックに同期して図3のフローチャートで示す処理を実行する。   Here, the processing operation of the microcomputer 100 will be described with reference to FIGS. The bank switching unit 31 executes the processing shown in the flowchart of FIG. 3 in synchronization with the clock of the calculation unit 10.

ステップS10では、プログラムカウンタ11を確認(参照)する。バンク切替部31は、プログラムカウンタ11を確認することで、演算部10が実行しようとしているコンポーネントを特定する(特定手段)。詳述すると、まず、バンク切替部31は、プログラムカウンタ11を確認することで、演算部10が実行しようとしているコンポーネント(実行プログラム)の記憶部20上のアドレスを特定(決定)する。つまり、バンク切替部31は、プログラムカウンタ11を確認することで、演算部10が実行しようとしているコンポーネントで使用する記憶部20上のアドレスを特定する。よって、バンク切替部31は、このアドレスを認識することで、演算部10が実行しようとしているコンポーネントを間接的に特定すると言い換えることができる。なお、以下において、演算部10が実行しようとしている実行プログラムの記憶部20上のアドレスを、実行アドレスとも称する。   In step S10, the program counter 11 is confirmed (referenced). The bank switching unit 31 identifies the component that the calculation unit 10 is going to execute by confirming the program counter 11 (identification means). More specifically, first, the bank switching unit 31 identifies (determines) the address on the storage unit 20 of the component (execution program) that the calculation unit 10 is to execute by checking the program counter 11. That is, the bank switching unit 31 identifies the address on the storage unit 20 used by the component that the calculation unit 10 is going to execute by checking the program counter 11. Therefore, the bank switching unit 31 can be rephrased as indirectly identifying the component that the calculation unit 10 is to execute by recognizing this address. In the following, the address on the storage unit 20 of the execution program that the calculation unit 10 is to execute is also referred to as an execution address.

一般的に、プログラムカウンタ11は、マイコンのCPU(ここでは演算部10)が動作する上で必要なハードウェアである。このため、上述のステップS10で説明した処理を実行することで、ハードウェアを特別に追加することなく、実行アドレスを決定することができる。つまり、ハードウェアを特別に追加することなく、演算部10が実行しようとしているコンポーネントを特定することができる。   Generally, the program counter 11 is hardware necessary for the operation of the CPU (here, the arithmetic unit 10) of the microcomputer. For this reason, by executing the processing described in step S10 described above, it is possible to determine the execution address without adding any special hardware. That is, the component which the calculating part 10 is going to perform can be specified, without adding hardware specially.

なお、以下のようにして、コンポーネントを特定することもできる。バンク切替部31は、記憶部20に記憶されている各コンポーネントにおける実行プログラムのアドレス範囲を示す情報を保持しておく。つまり、バンク切替部31は、各コンポーネントと、各コンポーネント(実行プログラム)が記憶されている記憶部20上のアドレス範囲とが関連付けられたテーブルを保持しておく。また、バンク切替部31は、上述のように、プログラムカウンタ11を確認することで、実行アドレスを特定する。そして、バンク切替部31は、上述のテーブルを参照して、実行アドレスがいずれのコンポーネントと関連付いたアドレス範囲に含まれるかによって、演算部10が実行しようとしているコンポーネントを特定する。よって、バンク切替部31は、実行アドレスを特定することで、演算部10が実行しようとしているコンポーネントを直接的に特定すると言い換えることができる。   The component can also be specified as follows. The bank switching unit 31 holds information indicating the address range of the execution program in each component stored in the storage unit 20. That is, the bank switching unit 31 holds a table in which each component is associated with an address range on the storage unit 20 in which each component (execution program) is stored. Further, the bank switching unit 31 identifies the execution address by checking the program counter 11 as described above. Then, the bank switching unit 31 refers to the above-described table, and identifies the component that the calculation unit 10 is to execute, depending on whether the execution address is included in the address range associated with which component. Therefore, it can be said that the bank switching unit 31 directly specifies the component that the calculation unit 10 is to execute by specifying the execution address.

ステップS20では、アドレステーブル32を確認する。バンク切替部31は、アドレステーブル32を確認して、ステップS10で特定したコンポーネント(アドレス)と、複数のバンク331〜33nにおける特定したコンポーネントに対応するバンクとを一対一に対応付ける(対応付け手段)。詳述すると、バンク切替部31は、アドレステーブル32から、ステップS10で特定したアドレスを含むアドレス範囲に関連付けられたバンクを選択(抽出)する。なお、バンク切替部31は、複数のバンク331〜33nから、ステップS10で特定したコンポーネントに対応するバンクを決定すると言い換えることができる。   In step S20, the address table 32 is confirmed. The bank switching unit 31 checks the address table 32 and associates the component (address) specified in step S10 with the bank corresponding to the specified component in the plurality of banks 331 to 33n on a one-to-one basis (associating means). . Specifically, the bank switching unit 31 selects (extracts) from the address table 32 a bank associated with the address range including the address specified in step S10. In other words, it can be said that the bank switching unit 31 determines a bank corresponding to the component specified in step S10 from the plurality of banks 331 to 33n.

このように、アドレステーブル32とプログラムカウンタ11を用いて特定したアドレスとを用いることで、コンポーネントを直接的に特定することなく、演算部10が実行しようとしているコンポーネントに対応するバンクを決定することができる。   In this way, by using the address specified using the address table 32 and the program counter 11, the bank corresponding to the component to be executed by the arithmetic unit 10 is determined without directly specifying the component. Can do.

なお、バンク切替部31は、ステップS10で直接的に特定する場合、上述のコンポーネントテーブルを参照することで、ステップS10で特定したコンポーネントに対応するバンクを決定することができる。   Note that when the bank switching unit 31 directly specifies in step S10, the bank corresponding to the component specified in step S10 can be determined by referring to the component table described above.

ステップS30では、コンポーネントの切り替えが必要であるか否かを判定する(判定手段)。バンク切替部31は、現在実行しているコンポーネントと、ステップS10で特定したコンポーネントとによって、コンポーネントの切り替えが必要であるか否かを判定する。そして、バンク切替部31は、コンポーネントの切り替えが必要と判定した場合はステップS40へ進み、切り替えが必要ないと判定した場合はステップS40を飛ばしフローチャートが示す処理を終了する。   In step S30, it is determined whether or not component switching is necessary (determination means). The bank switching unit 31 determines whether it is necessary to switch components based on the currently executed component and the component specified in step S10. The bank switching unit 31 proceeds to step S40 when it is determined that component switching is necessary, and skips step S40 when it is determined that switching is not necessary, and ends the processing shown in the flowchart.

ステップS40では、バンクを切り替える(切替手段)。バンク切替部31は、実行されるコンポーネントがステップS10で特定したコンポーネントに切り替わる場合、有効状態のバンクを、ステップS20で対応付けられたバンクに切り替える。このとき、バンク切替部31は、ステップS20で対応付けられたバンクを示すバンク番号をバンク番号レジスタ33aに書き込むことで、有効状態のバンクを切り替える。つまり、バンク切替部31は、演算部10が実行しようとしているコンポーネントに対応するバンクを有効状態にするために、このコンポーネントに対応するバンクを示すバンク番号をバンク番号レジスタ33aに書き込む。   In step S40, the bank is switched (switching means). When the component to be executed is switched to the component specified in step S10, the bank switching unit 31 switches the bank in the valid state to the bank associated in step S20. At this time, the bank switching unit 31 switches the bank in the valid state by writing the bank number indicating the bank associated in step S20 to the bank number register 33a. That is, the bank switching unit 31 writes the bank number indicating the bank corresponding to this component in the bank number register 33a in order to enable the bank corresponding to the component that the arithmetic unit 10 is to execute.

このように、バンク切替部31は、アドレステーブル32を参照し、実行アドレス(プログラムカウンタ11の値)が、アドレステーブル32におけるいずれのアドレス範囲に含まれるかでバンクを切り替える。そして、バンク切替部31は、バンクを切り替える際には、有効状態にしたいバンクを示すバンク番号をバンク番号レジスタ33aに書き込む。   As described above, the bank switching unit 31 refers to the address table 32 and switches the bank depending on which address range in the address table 32 the execution address (the value of the program counter 11) is included in. Then, when switching the bank, the bank switching unit 31 writes the bank number indicating the bank to be made valid in the bank number register 33a.

ここで、比較例におけるマイコンの処理動作と比較しつつ、マイコン100の処理動作を説明する。図4は、マイコン100における記憶部20の保護を説明するための概念図である。図4では、記憶部20のアドレスA〜Bに安全コンポーネントの実行プログラムが格納されており、アドレスB〜Cに非安全コンポーネントの実行プログラムが格納されている例を採用している。   Here, the processing operation of the microcomputer 100 will be described in comparison with the processing operation of the microcomputer in the comparative example. FIG. 4 is a conceptual diagram for explaining protection of the storage unit 20 in the microcomputer 100. In FIG. 4, an example in which the safety component execution program is stored at addresses A to B of the storage unit 20 and the non-safe component execution program is stored at addresses B to C is adopted.

これに対して、図5は、比較例における記憶部の保護を説明するための概念図である。比較例のマイコンは、マイコン100のようにバンク331〜33nは有しておらず、保護部にメモリ保護情報が記憶された複数のレジスタを備えている。つまり、比較例のマイコンにおける複数のレジスタは、マイコン100の一つのバンクに相当する。また、図5では、記憶部のアドレスA〜Bに安全コンポーネントの実行プログラムが格納されており、アドレスB〜Cに非安全コンポーネントの実行プログラムが格納されている例を採用している。   On the other hand, FIG. 5 is a conceptual diagram for explaining protection of the storage unit in the comparative example. Unlike the microcomputer 100, the microcomputer of the comparative example does not have the banks 331 to 33n, and includes a plurality of registers in which memory protection information is stored in the protection unit. That is, the plurality of registers in the microcomputer of the comparative example corresponds to one bank of the microcomputer 100. Further, in FIG. 5, an example is adopted in which the safety component execution program is stored at addresses A to B of the storage unit, and the non-safe component execution program is stored at addresses B to C.

以下においては、比較例におけるメモリ保護情報が記憶された複数のレジスタを保護レジスタとも称する。また、保護レジスタにおける、演算部のアクセスを許可するアドレスのデータが記憶されたメモリ領域をアクセス領域、演算部の処理内容(保護状態)を示すデータが記憶されたメモリ領域を処理領域とも称する。また、アクセス領域に記憶されるデータは、保護開始アドレスを示すデータと、保護終了アドレスを示すデータとを含むものであり、これらを纏めて、アドレス設定を示すデータと称することもできる。さらに、処理領域に記憶されるデータは、保護設定を示すデータと称することもできる。なお、図5に示す○は、比較例における演算部による処理の許可を示し、×は、演算部による処理の禁止を示している。   Hereinafter, the plurality of registers storing the memory protection information in the comparative example are also referred to as protection registers. In the protection register, a memory area in which data of an address permitting access by the arithmetic unit is stored is also referred to as an access area, and a memory area in which data indicating the processing content (protection state) of the arithmetic unit is stored is also referred to as a processing area. The data stored in the access area includes data indicating a protection start address and data indicating a protection end address, and these may be collectively referred to as data indicating address setting. Furthermore, the data stored in the processing area can also be referred to as data indicating protection settings. In addition, (circle) shown in FIG. 5 has shown permission of the process by the calculating part in a comparative example, and x has shown prohibition of the process by a calculating part.

同様に、マイコン100のバンク331〜33nにおける、演算部10のアクセスを許可するアドレスのデータが記憶されたメモリ領域をアクセス領域、演算部10の処理内容(保護状態)を示すデータが記憶されたメモリ領域を処理領域とも称する。また、アクセス領域に記憶されるデータは、保護開始アドレスを示すデータと、保護終了アドレスを示すデータとを含むものであり、これらを纏めて、アドレス設定を示すデータと称することもできる。さらに、処理領域に記憶されるデータは、保護設定を示すデータと称することもできる。なお、図4に示す○は、演算部10による処理の許可を示し、×は、演算部10による処理の禁止を示している。   Similarly, in the banks 331 to 33n of the microcomputer 100, the memory area where the data of the address permitting the access of the arithmetic unit 10 is stored is the access area, and the data indicating the processing content (protection state) of the arithmetic unit 10 is stored. The memory area is also referred to as a processing area. The data stored in the access area includes data indicating a protection start address and data indicating a protection end address, and these may be collectively referred to as data indicating address setting. Furthermore, the data stored in the processing area can also be referred to as data indicating protection settings. In FIG. 4, “◯” indicates that processing by the calculation unit 10 is permitted, and “x” indicates that processing by the calculation unit 10 is prohibited.

まず、図5を用いて、比較例の演算部が、安全コンポーネントを実行する場合に関して説明する。この場合、アドレス領域には、記憶部の保護開始アドレスとしてアドレスAを示すデータ、記憶部の保護終了アドレスとしてアドレスBを示すデータが記憶されている。また、別のアドレス領域には、記憶部の保護開始アドレスとしてアドレスCを示すデータ、記憶部の保護終了アドレスとしてアドレスDを示すデータが記憶されている。なお、この記憶部の保護開始アドレスAから保護終了アドレスBを第1メモリ領域と称する。一方、記憶部の保護開始アドレスCから保護終了アドレスDを第2メモリ領域と称する。   First, the case where the arithmetic unit of the comparative example executes the safety component will be described with reference to FIG. In this case, the address area stores data indicating the address A as the protection start address of the storage unit and data indicating the address B as the protection end address of the storage unit. In another address area, data indicating the address C is stored as the protection start address of the storage unit, and data indicating the address D is stored as the protection end address of the storage unit. The protection start address A to the protection end address B of this storage unit are referred to as a first memory area. On the other hand, the protection end address D from the protection start address C of the storage unit is referred to as a second memory area.

更に、処理領域には、第1メモリ領域に演算部がアクセスした際に、第1メモリ領域における、読み込み(リード)の許可、実行の許可、及び、書き込み(ライト)の禁止を示す各データが記憶されている。また、別の処理領域には、第2メモリ領域に演算部がアクセスした際に、第2メモリ領域における、ライトの許可、リードの許可、及び、実行の禁止を示す各データが記憶されている。   Further, when the arithmetic unit accesses the first memory area, the processing area includes data indicating read (read) permission, execution permission, and write (write) prohibition in the first memory area. It is remembered. In another processing area, data indicating permission of writing, permission of reading, and prohibition of execution in the second memory area is stored when the arithmetic unit accesses the second memory area. .

この場合、保護部は、演算部の記憶部へのアクセスを、第1メモリ領域と第2メモリ領域とに規定する。そして、保護部は、演算部が第1メモリ領域にアクセスした際、第1メモリ領域における、リードと実行を許可して、ライトを禁止させる。また、保護部は、演算部が第2メモリ領域にアクセスした際、第2メモリ領域における、ライトとリードを許可し、実行を禁止させる。さらに、保護部は、演算部が第1メモリ領域と第2メモリ領域以外のメモリ領域にアクセスした際は、第1メモリ領域と第2メモリ領域以外のメモリ領域における、リード、ライト、実行の全てを禁止させる。   In this case, the protection unit defines access to the storage unit of the calculation unit in the first memory area and the second memory area. Then, when the arithmetic unit accesses the first memory area, the protection unit permits reading and execution in the first memory area and prohibits writing. In addition, when the arithmetic unit accesses the second memory area, the protection unit permits writing and reading in the second memory area and prohibits execution. Furthermore, when the arithmetic unit accesses a memory area other than the first memory area and the second memory area, the protection unit performs all reading, writing, and execution in the memory area other than the first memory area and the second memory area. Is prohibited.

次に、図5を用いて、比較例の演算部が、安全コンポーネントを実施している状態から、非安全コンポーネントを実行する状態に移行する場合に関して説明する。   Next, the case where the arithmetic unit of the comparative example shifts from a state where the safety component is implemented to a state where the non-safety component is executed will be described with reference to FIG.

この場合、保護レジスタのデータは、演算部によって書き換えられる。具体的には、図5に示すように、アクセス領域は、保護開始アドレスがアドレスAを示すデータからアドレスBを示すデータに書き換えられ、保護終了アドレスがアドレスBを示すデータからアドレスCを示すデータに書き換えられる。また、別のアドレス領域は、保護開始アドレスがアドレスCを示すデータからアドレスDを示すデータに書き換えられ、保護終了アドレスがアドレスDを示すデータからアドレスEを示すデータに書き換えられる。   In this case, the data in the protection register is rewritten by the arithmetic unit. Specifically, as shown in FIG. 5, in the access area, the protection start address is rewritten from the data indicating the address A to the data indicating the address B, and the protection end address is the data indicating the address C from the data indicating the address B. To be rewritten. In another address area, the protection start address is rewritten from data indicating the address C to data indicating the address D, and the protection end address is rewritten from data indicating the address D to data indicating the address E.

よって、アドレス領域には、記憶部の保護開始アドレスとしてアドレスBを示すデータ、記憶部の保護終了アドレスとしてアドレスCを示すデータが記憶される。また、別のアドレス領域には、記憶部の保護開始アドレスとしてアドレスDを示すデータ、記憶部の保護終了アドレスとしてアドレスEを示すデータが記憶される。なお、この記憶部の保護開始アドレスBから保護終了アドレスCを第3メモリ領域と称する。一方、記憶部の保護開始アドレスDから保護終了アドレスEを第4メモリ領域と称する。   Therefore, data indicating the address B as the protection start address of the storage unit and data indicating the address C as the protection end address of the storage unit are stored in the address area. In another address area, data indicating the address D is stored as the protection start address of the storage unit, and data indicating the address E is stored as the protection end address of the storage unit. Note that the protection end address C to the protection end address C of the storage unit are referred to as a third memory area. On the other hand, the protection end address E to the protection end address E of the storage unit are referred to as a fourth memory area.

更に、処理領域は、演算部が第3メモリ領域にアクセスした際に、第3メモリ領域における、ライトの許可、リードの許可、及び実行の許可を示す各データに書き換えられる。
また、別の処理領域のデータは、演算部が第4メモリ領域にアクセスした際に、第4メモリ領域における、ライトの許可、リードの許可、及び、実行の禁止を示す各データに書き換えられる。このように、比較例のマイコンは、安全コンポーネントから非安全コンポーネントへ切り替わる際に、保護レジスタのデータ(メモリ保護情報)が、演算部によってソフトウェア的に書き換えられる。
Further, the processing area is rewritten with data indicating permission for writing, permission for reading, and permission for execution in the third memory area when the arithmetic unit accesses the third memory area.
In addition, when the arithmetic unit accesses the fourth memory area, the data in another processing area is rewritten to data indicating permission of writing, permission of reading, and prohibition of execution in the fourth memory area. Thus, when the microcomputer of the comparative example is switched from the safety component to the non-safety component, the data in the protection register (memory protection information) is rewritten in software by the arithmetic unit.

この場合、保護部は、演算部の記憶部へのアクセスを、第3メモリ領域と第4メモリ領域とに規定する。そして、保護部は、演算部が第3メモリ領域にアクセスした際、第3メモリ領域における、リード、ライト、実行の全てを許可させる。また、保護部は、演算部が第4メモリ領域にアクセスした際、第4メモリ領域における、ライトとリードを許可し、実行を禁止させる。さらに、保護部は、演算部が第3メモリ領域と第4メモリ領域以外のメモリ領域にアクセスした際は、第3メモリ領域と第4メモリ領域以外のメモリ領域における、リード、ライト、実行の全てを禁止させる。   In this case, the protection unit defines access to the storage unit of the calculation unit in the third memory area and the fourth memory area. Then, when the arithmetic unit accesses the third memory area, the protection unit permits all reading, writing, and execution in the third memory area. In addition, when the arithmetic unit accesses the fourth memory area, the protection unit permits writing and reading in the fourth memory area and prohibits execution. Further, when the arithmetic unit accesses a memory area other than the third memory area and the fourth memory area, the protection unit performs all reading, writing, and execution in the memory area other than the third memory area and the fourth memory area. Is prohibited.

次に、図5を用いて、比較例の演算部が、非安全コンポーネントを実施している状態から、安全コンポーネントを実行する状態に移行する場合に関して説明する。   Next, the case where the arithmetic unit of the comparative example shifts from the state in which the non-safety component is implemented to the state in which the safety component is executed will be described with reference to FIG.

この場合、保護レジスタのデータは、演算部によって書き換えられる。具体的には、図5に示すように、アクセス領域のデータが、第3メモリ領域と第4メモリ領域から、第1メモリ領域と第2メモリ領域へと書き換えられる。また、処理領域は、演算部10が第1メモリ領域にアクセスした際に、第1メモリ領域における、リードの許可、実行の許可、及びライトの禁止を示す各データに書き換えられる。更に、別の処理領域のデータは、演算部10が第2メモリ領域にアクセスした際に、第2メモリ領域における、ライトの許可、リードの許可、及び実行の禁止を示す各データに書き換えられる。このように、比較例のマイコンは、非安全コンポーネントから安全コンポーネントへ切り替わる際に、保護レジスタのデータ(メモリ保護情報)が、演算部によってソフトウェア的に書き換えられる。   In this case, the data in the protection register is rewritten by the arithmetic unit. Specifically, as shown in FIG. 5, the data in the access area is rewritten from the third memory area and the fourth memory area to the first memory area and the second memory area. In addition, when the arithmetic unit 10 accesses the first memory area, the processing area is rewritten with data indicating read permission, execution permission, and write permission in the first memory area. Furthermore, when the arithmetic unit 10 accesses the second memory area, the data in another processing area is rewritten with data indicating permission of writing, permission of reading, and prohibition of execution in the second memory area. Thus, when the microcomputer of the comparative example is switched from the non-safety component to the safety component, the data (memory protection information) in the protection register is rewritten in software by the arithmetic unit.

この場合、保護部は、演算部の記憶部へのアクセスを、第1メモリ領域と第2メモリ領域とに規定する。そして、保護部は、演算部が第1メモリ領域にアクセスした際、第1メモリ領域における、リードと実行を許可して、ライトを禁止させる。また、保護部は、演算部が第2メモリ領域にアクセスした際、第2メモリ領域における、ライトとリードを許可し、実行を禁止させる。そして、保護部は、演算部が第1メモリ領域と第2メモリ領域以外のメモリ領域にアクセスした際は、第1メモリ領域と第2メモリ領域以外のメモリ領域における、リード、ライト、実行の全てを禁止させる。   In this case, the protection unit defines access to the storage unit of the calculation unit in the first memory area and the second memory area. Then, when the arithmetic unit accesses the first memory area, the protection unit permits reading and execution in the first memory area and prohibits writing. In addition, when the arithmetic unit accesses the second memory area, the protection unit permits writing and reading in the second memory area and prohibits execution. When the arithmetic unit accesses a memory area other than the first memory area and the second memory area, the protection unit performs all reading, writing, and execution in the memory area other than the first memory area and the second memory area. Is prohibited.

このように、比較例のマイコンは、安全コンポーネントを実行している状態から、非安全コンポーネントを実行する状態に移行する場合など、複数のレジスタを書き換える必要がある。つまり、比較例のマイコンは、演算部の実行状態が切り替わる毎に、複数のレジスタを書き換えて、保護状態を変更してコンポーネント間のメモリ保護を実現している。この例の場合、演算部の実行状態が切り替わる毎に、六個のレジスタを書き換える必要がある。   Thus, the microcomputer of the comparative example needs to rewrite a plurality of registers, for example, when shifting from a state in which a safety component is executed to a state in which a non-safety component is executed. That is, the microcomputer of the comparative example realizes memory protection between components by rewriting a plurality of registers and changing the protection state each time the execution state of the arithmetic unit is switched. In this example, it is necessary to rewrite six registers each time the execution state of the arithmetic unit is switched.

これに対して、マイコン100は、以下のように処理を実行する。まず、図4を用いて、演算部10が、安全コンポーネントを実行する場合に関して説明する。この場合、プログラムカウンタ11は、アドレスA〜Bを示す値が記憶されている。よって、バンク番号レジスタ33aには、安全コンポーネントに対応する第1バンク331を示すバンク番号が書き込まれている。このため、複数のバンク331〜33nのうち、第1バンク331が有効状態となっている。   On the other hand, the microcomputer 100 executes processing as follows. First, the case where the calculation unit 10 executes the safety component will be described with reference to FIG. In this case, the program counter 11 stores values indicating addresses A to B. Therefore, the bank number indicating the first bank 331 corresponding to the safety component is written in the bank number register 33a. For this reason, the 1st bank 331 is in an effective state among a plurality of banks 331-33n.

第1バンク331のアドレス領域には、記憶部20の保護開始アドレスとしてアドレスAを示すデータ、記憶部20の保護終了アドレスとしてアドレスBを示すデータが記憶されている。また、第1バンク331の別のアドレス領域には、記憶部20の保護開始アドレスとしてアドレスCを示すデータ、記憶部20の保護終了アドレスとしてアドレスDを示すデータが記憶されている。なお、この記憶部20の保護開始アドレスAから保護終了アドレスBを比較例と同様に第1メモリ領域と称する。一方、記憶部20の保護開始アドレスCから保護終了アドレスDを比較例と同様に第2メモリ領域と称する。   In the address area of the first bank 331, data indicating the address A as the protection start address of the storage unit 20 and data indicating the address B as the protection end address of the storage unit 20 are stored. Further, in another address area of the first bank 331, data indicating the address C as the protection start address of the storage unit 20 and data indicating the address D as the protection end address of the storage unit 20 are stored. The protection start address A to the protection end address B of the storage unit 20 are referred to as a first memory area as in the comparative example. On the other hand, the protection end address D from the protection start address C of the storage unit 20 is referred to as a second memory area as in the comparative example.

更に、第1バンク331の処理領域には、第1メモリ領域に演算部10がアクセスした際に、第1メモリ領域における、リードの許可、実行の許可、及びライトの禁止を示す各データが記憶されている。また、第1バンク331の別の処理領域には、第2メモリ領域に演算部10がアクセスした際に、第2メモリ領域における、ライトの許可、リードの許可、及び、実行の禁止を示す各データが記憶されている。   Furthermore, each processing area of the first bank 331 stores data indicating read permission, execution permission, and write permission in the first memory area when the arithmetic unit 10 accesses the first memory area. Has been. Further, in the other processing area of the first bank 331, when the arithmetic unit 10 accesses the second memory area, each of the second memory area indicates write permission, read permission, and execution prohibition in the second memory area. Data is stored.

この場合、保護部30は、演算部10の記憶部20へのアクセスを、第1メモリ領域と第2メモリ領域とに規定する。そして、保護部30は、演算部10が第1メモリ領域にアクセスした際は、第1メモリ領域における、リードと実行を許可して、ライトを禁止させる。また、保護部30は、演算部10が第2メモリ領域にアクセスした際は、第2メモリ領域における、ライトとリードを許可し、実行を禁止させる。そして、保護部30は、演算部10が第1メモリ領域と第2メモリ領域以外のメモリ領域にアクセスした際は、第1メモリ領域と第2メモリ領域以外のメモリ領域における、リード、ライト、実行の全てを禁止させる。このように、保護部30は、有効状態となった第1バンク331のレジスタに記憶されたメモリ保護情報に従い、演算部10による記憶部30へのアクセスを規定することで、記憶部20を保護する。   In this case, the protection unit 30 defines the access to the storage unit 20 of the calculation unit 10 in the first memory area and the second memory area. When the arithmetic unit 10 accesses the first memory area, the protection unit 30 permits reading and execution in the first memory area and prohibits writing. Further, when the arithmetic unit 10 accesses the second memory area, the protection unit 30 permits writing and reading in the second memory area and prohibits execution. When the arithmetic unit 10 accesses a memory area other than the first memory area and the second memory area, the protection unit 30 reads, writes, and executes in the memory area other than the first memory area and the second memory area. Ban all of. In this way, the protection unit 30 protects the storage unit 20 by defining access to the storage unit 30 by the arithmetic unit 10 according to the memory protection information stored in the register of the first bank 331 that has become valid. To do.

次に、図4を用いて、演算部10が、安全コンポーネントを実施している状態から、非安全コンポーネントを実行する状態に移行する場合に関して説明する。つまり、演算部10が実行するコンポーネントが安全コンポーネントから非安全コンポーネントへ切り替わる場合に関して説明する。なお、この場合、プログラムカウンタ11は、アドレスA〜Bを示す値から、アドレスB〜Cを示す値に書き換わっている。   Next, with reference to FIG. 4, a description will be given of a case where the calculation unit 10 shifts from a state where the safety component is implemented to a state where the non-safety component is executed. That is, the case where the component which the calculating part 10 performs switches from a safety component to a non-safety component is demonstrated. In this case, the program counter 11 is rewritten from the value indicating the addresses A to B to the value indicating the addresses B to C.

バンク切替部31は、実行されるコンポーネントが安全コンポーネントから非安全コンポーネントに切り替わる場合、有効状態のバンクを第1バンク331から第2バンク332に切り替える。このとき、バンク切替部31は、第2バンク332を示すバンク番号をバンク番号レジスタ33aに書き込むことで、有効状態のバンクを第1バンク331から第2バンク332に切り替える。つまり、バンク切替部31は、ハードウェアであるバンクを、第1バンク331から第2バンク332に切り替える。   When the component to be executed is switched from the safety component to the non-safety component, the bank switching unit 31 switches the valid bank from the first bank 331 to the second bank 332. At this time, the bank switching unit 31 switches the valid bank from the first bank 331 to the second bank 332 by writing the bank number indicating the second bank 332 in the bank number register 33a. That is, the bank switching unit 31 switches the bank that is hardware from the first bank 331 to the second bank 332.

図4に示すように、第2バンク332のアドレス領域には、記憶部20の保護開始アドレスとしてアドレスBを示すデータ、記憶部20の保護終了アドレスとしてアドレスCを示すデータが記憶されている。また、別のアドレス領域には、記憶部20の保護開始アドレスとしてアドレスDを示すデータ、記憶部の保護終了アドレスとしてアドレスEを示すデータが記憶されている。なお、この記憶部20の保護開始アドレスBから保護終了アドレスCを比較例と同様に第3メモリ領域と称する。一方、記憶部20の保護開始アドレスDから保護終了アドレスEを比較例と同様に第4メモリ領域と称する。   As shown in FIG. 4, the address area of the second bank 332 stores data indicating the address B as the protection start address of the storage unit 20 and data indicating the address C as the protection end address of the storage unit 20. In another address area, data indicating the address D is stored as the protection start address of the storage unit 20, and data indicating the address E is stored as the protection end address of the storage unit. Note that the protection end address C to the protection end address C of the storage unit 20 are referred to as a third memory area as in the comparative example. On the other hand, the protection end address E to the protection end address E of the storage unit 20 are referred to as a fourth memory area as in the comparative example.

これによって、アクセス領域は、保護開始アドレスがアドレスAを示すデータからアドレスBを示すデータに書き換えられ、保護終了アドレスがアドレスBを示すデータからアドレスCを示すデータに書き換えられた場合と同様の状態とすることができる。また、別のアドレス領域は、保護開始アドレスがアドレスCを示すデータからアドレスDを示すデータに書き換えられ、保護終了アドレスがアドレスDを示すデータからアドレスEを示すデータに書き換えられた場合と同様の状態とすることができる。   As a result, the access area is in the same state as when the protection start address is rewritten from the data indicating the address A to the data indicating the address B, and the protection end address is rewritten from the data indicating the address B to the data indicating the address C. It can be. Another address area is the same as when the protection start address is rewritten from the data indicating the address C to the data indicating the address D, and the protection end address is rewritten from the data indicating the address D to the data indicating the address E. State.

更に、第2バンク332の処理領域には、演算部10が第3メモリ領域にアクセスした際に、第3メモリ領域における、ライトの許可、リードの許可、及び実行の許可を示す各データが記憶されている。また、第2バンク332における別の処理領域には、演算部10が第4メモリ領域にアクセスした際に、第4メモリ領域における、ライトの許可、リードの許可、及び実行の禁止を示す各データが記憶されている。   Further, in the processing area of the second bank 332, when the arithmetic unit 10 accesses the third memory area, each data indicating write permission, read permission, and execution permission in the third memory area is stored. Has been. Further, in another processing area in the second bank 332, when the arithmetic unit 10 accesses the fourth memory area, each data indicating permission of writing, permission of reading, and prohibition of execution in the fourth memory area Is remembered.

これによって、処理領域は、演算部10が第3メモリ領域にアクセスした際に、第3メモリ領域における、ライトの許可、リードの許可、及び実行の許可を示す各データに書き換えられた場合と同様の状態とすることができる。また、別の処理領域のデータは、演算部10が第4メモリ領域にアクセスした際に、第4メモリ領域における、ライトの許可、リードの許可、及び、実行の禁止を示す各データに書き換えられた場合と同様の状態とすることができる。このように、マイコン100は、安全コンポーネントから非安全コンポーネントへ切り替わる場合、バンク切替部31によってバンクを切り替えることで、メモリ保護情報をハードウェア的に切り替える。   As a result, when the processing unit 10 accesses the third memory area, the processing area is the same as when the data indicating the write permission, the read permission, and the execution permission is rewritten in the third memory area. It can be in the state of. In addition, when the arithmetic unit 10 accesses the fourth memory area, the data in another processing area is rewritten with data indicating permission of writing, permission of reading, and prohibition of execution in the fourth memory area. It can be in the same state as the case. As described above, when the microcomputer 100 switches from the safety component to the non-safety component, the bank switching unit 31 switches the bank to switch the memory protection information in hardware.

なお、この場合、保護部30は、演算部10の記憶部20へのアクセスを、第3メモリ領域と第4メモリ領域とに規定する。そして、保護部30は、演算部10が第3メモリ領域にアクセスした際は、第3メモリ領域における、リード、ライト、実行の全てを許可させる。また、保護部30は、演算部10が第4メモリ領域にアクセスした際は、第4メモリ領域における、ライトとリードを許可し、実行を禁止させる。そして、保護部30は、演算部10が第3メモリ領域と第4メモリ領域以外のメモリ領域にアクセスした際は、第3メモリ領域と第4メモリ領域以外のメモリ領域における、リード、ライト、実行の全てを禁止させる。このように、保護部30は、有効状態となった第2バンク332のレジスタに記憶されたメモリ保護情報に従い、演算部10による記憶部30へのアクセスを規定することで、記憶部20を保護する。   In this case, the protection unit 30 defines the access to the storage unit 20 of the calculation unit 10 in the third memory area and the fourth memory area. Then, when the arithmetic unit 10 accesses the third memory area, the protection unit 30 permits all reading, writing, and execution in the third memory area. Further, when the arithmetic unit 10 accesses the fourth memory area, the protection unit 30 permits writing and reading in the fourth memory area and prohibits execution. When the arithmetic unit 10 accesses a memory area other than the third memory area and the fourth memory area, the protection unit 30 reads, writes, and executes in the memory areas other than the third memory area and the fourth memory area. Ban all of. In this way, the protection unit 30 protects the storage unit 20 by defining access to the storage unit 30 by the arithmetic unit 10 according to the memory protection information stored in the register of the second bank 332 that has become valid. To do.

次に、図4を用いて、比較例の演算部が、非安全コンポーネントを実施している状態から、安全コンポーネントを実行する状態に移行する場合に関して説明する。つまり、演算部10が実行するコンポーネントが非安全コンポーネントから安全コンポーネントへ切り替わる場合に関して説明する。なお、この場合、プログラムカウンタ11は、アドレスB〜Cを示す値から、アドレスA〜Bを示す値に書き換わっている。   Next, the case where the arithmetic unit of the comparative example shifts from the state in which the non-safety component is implemented to the state in which the safety component is executed will be described with reference to FIG. That is, the case where the component executed by the arithmetic unit 10 is switched from the non-safe component to the safe component will be described. In this case, the program counter 11 is rewritten from the value indicating the addresses B to C to the value indicating the addresses A to B.

バンク切替部31は、実行されるコンポーネントが非安全コンポーネントから安全コンポーネントに切り替わる場合、有効状態のバンクを第2バンク332から第1バンク331に切り替える。このとき、バンク切替部31は、第1バンク331を示すバンク番号をバンク番号レジスタ33aに書き込むことで、有効状態のバンクを第2バンク332から第1バンク331に切り替える。つまり、バンク切替部31は、ハードウェアであるバンクを、第2バンク332から第1バンク331に切り替える。なお、第1バンク331に関しては、上述の通りである。   The bank switching unit 31 switches the bank in the valid state from the second bank 332 to the first bank 331 when the component to be executed is switched from the non-safe component to the safety component. At this time, the bank switching unit 31 switches the valid bank from the second bank 332 to the first bank 331 by writing the bank number indicating the first bank 331 into the bank number register 33a. That is, the bank switching unit 31 switches the bank that is hardware from the second bank 332 to the first bank 331. The first bank 331 is as described above.

これによって、アクセス領域は、第3メモリ領域と第4メモリ領域から、第1メモリ領域と第2メモリ領域へと書き換えられた場合と同様の状態とすることができる。また、処理領域は、演算部10が第1メモリ領域にアクセスした際に、第1メモリ領域における、リードの許可、実行の許可、及び、ライトの禁止を示す各データに書き換えられた場合と同様の状態とすることができる。さらに、別の処理領域のデータは、演算部10が第2メモリ領域にアクセスした際に、第2メモリ領域における、ライトの許可、リードの許可、及び実行の禁止を示す各データに書き換えられた場合と同様の状態とすることができる。このように、マイコン100は、非安全コンポーネントから安全コンポーネントへ切り替わる際に、バンク切替部31によってバンクを切り替えることで、メモリ保護情報をハードウェア的に切り替える。   As a result, the access area can be in the same state as when rewritten from the third memory area and the fourth memory area to the first memory area and the second memory area. The processing area is the same as when the arithmetic unit 10 accesses the first memory area and is rewritten with data indicating read permission, execution permission, and write permission in the first memory area. It can be in the state of. Further, when the arithmetic unit 10 accesses the second memory area, the data in the other processing area is rewritten into data indicating permission of writing, permission of reading, and prohibition of execution in the second memory area. It can be in the same state as the case. Thus, the microcomputer 100 switches the memory protection information in hardware by switching the bank by the bank switching unit 31 when switching from the non-safety component to the safety component.

ここまでに説明したように、マイコン100は、実行されるコンポーネントが切り替わる際に、バンク番号レジスタ33aにバンク番号を書き込むだけで、実行しようとしているコンポーネントに対応するバンクに切り換えることができる。つまり、マイコン100は、実行しようとしているコンポーネントに対応したバンク番号を、バンク番号レジスタ33aに書き込むだけで、演算部10による記憶部20へのアクセスを規定して記憶部20を保護することができる。なお、マイコン100は、複数のレジスタに記憶されたメモリ保護情報に従い、演算部10による記憶部20へのアクセスを規定して記憶部20を保護する。   As described so far, the microcomputer 100 can switch to the bank corresponding to the component to be executed simply by writing the bank number to the bank number register 33a when the component to be executed is switched. That is, the microcomputer 100 can protect the storage unit 20 by defining the access to the storage unit 20 by the arithmetic unit 10 only by writing the bank number corresponding to the component to be executed to the bank number register 33a. . The microcomputer 100 protects the storage unit 20 by defining access to the storage unit 20 by the arithmetic unit 10 according to the memory protection information stored in the plurality of registers.

例えば、上述の例のように、マイコン100は、実行されるコンポーネントが安全コンポーネントから非安全コンポーネントへと移行する際、バンク番号レジスタ33aにバンク番号を書き込むだけで記憶部20を保護することができる。同様に、マイコン100は、実行されるコンポーネントが非安全コンポーネントから安全コンポーネントへと移行する際、バンク番号レジスタ33aにバンク番号を書き込むだけで記憶部20を保護することができる。   For example, as in the above-described example, the microcomputer 100 can protect the storage unit 20 only by writing the bank number in the bank number register 33a when the executed component is shifted from the safety component to the non-safety component. . Similarly, the microcomputer 100 can protect the storage unit 20 only by writing the bank number in the bank number register 33a when the executed component shifts from the non-safe component to the safe component.

このため、マイコン100は、上述の比較例のように、実行されるコンポーネントが切り替わる際に、複数のレジスタを書き換える必要がないので、オーバーヘッドが低減される。つまり、マイコン100は、各コンポーネントに対応する複数のバンク331〜33nを予め用意しておき、バンク番号レジスタ33aのバンク番号を書き換えるだけなので、複数のレジスタを書き換えるよりも、オーバーヘッドが抑制される。   For this reason, since the microcomputer 100 does not need to rewrite a plurality of registers when the component to be executed is switched as in the above-described comparative example, overhead is reduced. That is, since the microcomputer 100 prepares a plurality of banks 331 to 33n corresponding to each component in advance and rewrites the bank number of the bank number register 33a, overhead is suppressed rather than rewriting the plurality of registers.

なお、車両の搭載機器を電子的に制御する各種の電子制御装置は、リアルタイム性が重視されており、且つ、コンポーネントの実行状態の切り替えが頻繁に発生するシステムである。そこで、マイコン100は、上述のようにオーバーヘッドを抑制できるので、車両における電子制御装置に適用すると好ましい。特に、マイコン100は、パワートレイン系機器を電子的に制御する電子制御装置に適用すると好ましい。つまり、マイコン100は、このような電子制御装置で要求されるリアルタイム性を達成するのに好適である。   It should be noted that various electronic control devices that electronically control on-board equipment are systems in which real-time characteristics are emphasized and the execution state of components frequently changes. Therefore, since the microcomputer 100 can suppress overhead as described above, the microcomputer 100 is preferably applied to an electronic control device in a vehicle. In particular, the microcomputer 100 is preferably applied to an electronic control device that electronically controls powertrain equipment. That is, the microcomputer 100 is suitable for achieving the real-time property required for such an electronic control device.

なお、バンク切替部31は、プログラムカウンタ11を確認して、プログラムカウンタ11の推移が非連続であった場合にのみ、図3のフローチャートで示す処理を実行するようにしてもよい。つまり、特定手段、対応付け手段、切替手段は、プログラムカウンタ11の推移が非連続であった場合にのみ実行されるようにしてもよい。   The bank switching unit 31 may check the program counter 11 and execute the process shown in the flowchart of FIG. 3 only when the transition of the program counter 11 is discontinuous. That is, the specifying unit, the association unit, and the switching unit may be executed only when the transition of the program counter 11 is discontinuous.

なお、プログラムカウンタ11の推移が連続とは、演算部10が記憶部20に記憶された命令を順番に実行し、プログラムカウンタ11が一律に加算されて更新される場合を示す。一方、プログラムカウンタ11の推移が非連続とは、演算部10が割込み処理、タスク処理、関数処理を実行するため、プログラムカウンタ11が、演算部10による命令実行の結果として得られる特定のアドレスに更新される場合を示す。よって、バンク切替部31は、演算部10によって記憶部20に記憶された命令を順番に実行する場合ではなく、演算部10によって割込み処理、タスク処理、関数処理を実行する場合にのみ、図3のフローチャートで示す処理を実行すると言い換えることができる。このようにすることで、バンク切替部31が必要なときにのみ動作するため、マイコン100の消費電力を減らすことができる。   Note that the transition of the program counter 11 is continuous indicates that the arithmetic unit 10 sequentially executes the instructions stored in the storage unit 20 and the program counter 11 is uniformly added and updated. On the other hand, when the transition of the program counter 11 is non-continuous, the arithmetic unit 10 executes interrupt processing, task processing, and function processing, so that the program counter 11 has a specific address obtained as a result of instruction execution by the arithmetic unit 10. Indicates when it is updated. Therefore, the bank switching unit 31 does not execute the instructions stored in the storage unit 20 by the calculation unit 10 in order, but only when the calculation unit 10 executes interrupt processing, task processing, and function processing. In other words, the process shown in the flowchart of FIG. By doing in this way, since the bank switching unit 31 operates only when necessary, the power consumption of the microcomputer 100 can be reduced.

また、上述の実行しようとしているコンポーネントを特定(特定手段)、コンポーネントとバンクとの対応付け(対応付け手段)、有効状態のバンクの切り替え(切替手段)は、ハードウェア及びソフトウェアのいずれでも実現することが可能である。   Further, the component to be executed is specified (identifying means), the association between the component and the bank (associating means), and the bank switching (switching means) in the valid state can be realized by either hardware or software. It is possible.

以上、本発明の好ましい実施形態について説明した。しかしながら、本発明は、上述した実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。   The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the embodiments described above, and various modifications can be made without departing from the spirit of the present invention.

10 演算部、11 プログラムカウンタ、20 記憶部、30 保護部、31 バンク切替部、32 アドレステーブル、33 レジスタバンク部、33a バンク番号レジスタ、331〜33n 第1バンク〜第nバンク、100 マイコン   DESCRIPTION OF SYMBOLS 10 Calculation part, 11 Program counter, 20 Memory | storage part, 30 Protection part, 31 Bank switching part, 32 Address table, 33 Register bank part, 33a Bank number register, 331-33n 1st bank-nth bank, 100 Microcomputer

Claims (4)

複数のコンポーネントから成るソフトウェアを実行する処理装置であって、
各コンポーネントに基づいて演算処理を実行する演算部(10)と、
前記演算部が演算処理するためのデータを記憶する記憶部(20)と、
前記演算部による前記記憶部へのアクセスを規定することで、前記記憶部を保護する保護部(30)と、を備え、
前記保護部は、
前記演算部がアクセスする前記記憶部におけるアドレスを示すデータ、及び前記演算部による処理の可否を規定するデータを含むメモリ保護情報が記憶された複数のレジスタからなるバンク(331〜33n)を複数有すると共に、
複数の前記バンクのうち有効状態とする前記バンクを示すバンク番号が書き込まれるバンク番号レジスタ(33a)と、
前記演算部が実行しようとしている前記コンポーネントを特定する特定手段(S10)と、
前記特定手段によって特定された前記コンポーネントと、複数の前記バンクにおける前記コンポーネントに対応する前記バンクとを一対一で対応付ける対応付け手段(S20)と、
実行される前記コンポーネントが前記特定手段で特定された前記コンポーネントに切り替わる場合、前記対応付け手段で対応付けられた前記バンクを示す前記バンク番号を前記バンク番号レジスタに書き込むことで、有効状態の前記バンクを切り替える切替手段(S30,S40)と、を有し、
前記切替手段により有効状態となった前記バンクの前記レジスタに記憶された前記メモリ保護情報に従い、前記演算部による前記記憶部へのアクセスを規定することで、前記記憶部を保護することを特徴とする処理装置。
A processing device for executing software composed of a plurality of components,
A calculation unit (10) for performing calculation processing based on each component;
A storage unit (20) for storing data for calculation processing by the calculation unit;
A protection unit (30) for protecting the storage unit by defining access to the storage unit by the arithmetic unit;
The protective part is
A plurality of banks (331 to 33n) including a plurality of registers storing memory protection information including data indicating an address in the storage unit accessed by the arithmetic unit and data defining whether processing by the arithmetic unit is possible With
A bank number register (33a) in which a bank number indicating the bank to be enabled among the plurality of banks is written;
A specifying means (S10) for specifying the component that the calculation unit is going to execute;
Association means (S20) for associating the component identified by the identification means with the bank corresponding to the component in the plurality of banks on a one-to-one basis;
When the component to be executed is switched to the component specified by the specifying unit, the bank number indicating the bank associated by the association unit is written in the bank number register, thereby enabling the bank in the valid state. Switching means (S30, S40) for switching between,
The storage unit is protected by defining access to the storage unit by the arithmetic unit according to the memory protection information stored in the register of the bank that is enabled by the switching unit. Processing equipment.
前記演算部は、プログラムカウンタの値に従って演算処理を実行するものであり、
前記保護部は、前記プログラムカウンタの推移が非連続であった場合にのみ、前記特定手段、前記対応付け手段、前記切替手段を実行することを特徴とする請求項1に記載の処理装置。
The arithmetic unit executes arithmetic processing according to a value of a program counter,
The processing apparatus according to claim 1, wherein the protection unit executes the specifying unit, the association unit, and the switching unit only when the transition of the program counter is discontinuous.
各コンポーネントにおける実行プログラムは、前記記憶部における所定のアドレスに記憶されており、
前記特定手段は、前記記憶部に記憶されている各コンポーネントにおける実行プログラムのアドレス範囲を示す情報を保持しており、該情報を参照して、前記演算部が実行しようとしている前記実行プログラムの前記記憶部におけるアドレスがいずれのアドレス範囲に含まれるかによって、前記演算部が実行しようとしている前記コンポーネントを特定すること特徴とする請求項1又は2に記載の処理装置。
The execution program in each component is stored at a predetermined address in the storage unit,
The specifying unit holds information indicating an address range of an execution program in each component stored in the storage unit, and refers to the information, and the execution unit of the execution program that the calculation unit is about to execute The processing apparatus according to claim 1, wherein the component to be executed by the arithmetic unit is specified depending on which address range an address in the storage unit is included in.
前記演算部は、プログラムカウンタの値に従って演算処理を実行するものであり、
前記特定手段は、前記プログラムカウンタの値に基づいて、前記演算部が実行しようとしている実行プログラムの前記記憶部におけるアドレスを決定することを特徴とする請求項3に記載の処理装置。
The arithmetic unit executes arithmetic processing according to a value of a program counter,
The processing device according to claim 3, wherein the specifying unit determines an address in the storage unit of an execution program to be executed by the arithmetic unit based on a value of the program counter.
JP2013047146A 2012-09-18 2013-03-08 Processor Pending JP2014174758A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013047146A JP2014174758A (en) 2013-03-08 2013-03-08 Processor
DE102013218646.0A DE102013218646B4 (en) 2012-09-18 2013-09-17 PROCESSING DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013047146A JP2014174758A (en) 2013-03-08 2013-03-08 Processor

Publications (1)

Publication Number Publication Date
JP2014174758A true JP2014174758A (en) 2014-09-22

Family

ID=51695922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013047146A Pending JP2014174758A (en) 2012-09-18 2013-03-08 Processor

Country Status (1)

Country Link
JP (1) JP2014174758A (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063541A (en) * 1996-08-19 1998-03-06 Nippon Motorola Ltd Computer system program runaway monitor
JP2003036206A (en) * 2001-05-14 2003-02-07 Matsushita Electric Ind Co Ltd Unauthorized access monitoring device, IC card, unauthorized access monitoring method
JP2004526237A (en) * 2001-02-06 2004-08-26 インフィネオン テクノロジーズ アクチェンゲゼルシャフト Microprocessor circuit for data carrier and method for organizing access to data stored in memory
JP2005275841A (en) * 2004-03-25 2005-10-06 Nec Electronics Corp Memory protection system
JP2006268746A (en) * 2005-03-25 2006-10-05 Toshiba Corp Microprocessor and control method thereof
JP2007287103A (en) * 2006-04-20 2007-11-01 Nec Electronics Corp Microcomputer and memory access control method
JP2009129394A (en) * 2007-11-28 2009-06-11 Nec Electronics Corp Information processor and program execution control method
JP2009140256A (en) * 2007-12-06 2009-06-25 Nec Electronics Corp Data processor and address space protection method
JP2011154459A (en) * 2010-01-26 2011-08-11 Renesas Electronics Corp Program abnormal operation detection device for computer system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063541A (en) * 1996-08-19 1998-03-06 Nippon Motorola Ltd Computer system program runaway monitor
JP2004526237A (en) * 2001-02-06 2004-08-26 インフィネオン テクノロジーズ アクチェンゲゼルシャフト Microprocessor circuit for data carrier and method for organizing access to data stored in memory
JP2003036206A (en) * 2001-05-14 2003-02-07 Matsushita Electric Ind Co Ltd Unauthorized access monitoring device, IC card, unauthorized access monitoring method
JP2005275841A (en) * 2004-03-25 2005-10-06 Nec Electronics Corp Memory protection system
JP2006268746A (en) * 2005-03-25 2006-10-05 Toshiba Corp Microprocessor and control method thereof
JP2007287103A (en) * 2006-04-20 2007-11-01 Nec Electronics Corp Microcomputer and memory access control method
JP2009129394A (en) * 2007-11-28 2009-06-11 Nec Electronics Corp Information processor and program execution control method
JP2009140256A (en) * 2007-12-06 2009-06-25 Nec Electronics Corp Data processor and address space protection method
JP2011154459A (en) * 2010-01-26 2011-08-11 Renesas Electronics Corp Program abnormal operation detection device for computer system

Similar Documents

Publication Publication Date Title
KR102383900B1 (en) Region identifying operation for identifying region of a memory attribute unit corresponding to a target memory address
JP5044387B2 (en) Information processing apparatus and stack pointer updating method thereof
JP5914145B2 (en) Memory protection circuit, processing device, and memory protection method
JP4939382B2 (en) Information processing apparatus and program execution control method thereof
JP4939387B2 (en) Data processing apparatus and address space protection method
JP6511446B2 (en) Handling of access attribute of data access
JP4818793B2 (en) Microcomputer and memory access control method
KR20130036189A (en) Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag
JP7147947B2 (en) Electronic controller and program
US9740636B2 (en) Information processing apparatus
JP5533789B2 (en) In-vehicle electronic control unit
JP2015067107A (en) Vehicle control device
JP6323235B2 (en) Electronic control unit
JP2015099517A (en) Vehicle control device
JP2010009454A (en) Information processing apparatus
JP2017204083A (en) Memory protection system
JP2014174758A (en) Processor
JP5942778B2 (en) Information processing device
CN107533515A (en) Prevent the fine granulation memory protection of memory flooding
WO2013057825A1 (en) Information processing device, data management method, data management program
JP5765311B2 (en) Microcomputer
JP2017107394A (en) Vehicle control device
KR102800066B1 (en) How to make a microcontroller work
JP2017204286A (en) Vehicle control device
JP5703505B2 (en) Computer with bus partition structure

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150224

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150707