JP2013161299A - Information processing apparatus and interface access method - Google Patents
Information processing apparatus and interface access method Download PDFInfo
- Publication number
- JP2013161299A JP2013161299A JP2012023447A JP2012023447A JP2013161299A JP 2013161299 A JP2013161299 A JP 2013161299A JP 2012023447 A JP2012023447 A JP 2012023447A JP 2012023447 A JP2012023447 A JP 2012023447A JP 2013161299 A JP2013161299 A JP 2013161299A
- Authority
- JP
- Japan
- Prior art keywords
- access
- program
- interface
- port
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】特別なハードウェアを用いることなく適切な量の管理情報を使用することでI/Oポートを保護できる情報処理装置を提供すること。
【解決手段】複数のプログラムが記憶されたプログラム記憶手段13と、前記プログラムを実行する1つ以上の演算手段11と、外部の回路と通信可能な複数のインタフェース20と、を有する情報処理装置100であって、前記プログラムがアクセス可能な前記インタフェースが登録されたインタフェース登録テーブル34と、前記インタフェースにアクセス要求した前記プログラムが、前記インタフェースにアクセスすることが許可されている場合、前記プログラムの代わりに前記インタフェースにアクセスするアクセス制御手段33と、を有する。
【選択図】図2An information processing apparatus capable of protecting an I / O port by using an appropriate amount of management information without using special hardware.
An information processing apparatus includes: a program storage unit that stores a plurality of programs; one or more arithmetic units that execute the program; and a plurality of interfaces that can communicate with an external circuit. If the interface registration table 34 in which the interface accessible by the program is registered and the program that requested access to the interface are permitted to access the interface, instead of the program, Access control means 33 for accessing the interface.
[Selection] Figure 2
Description
本発明は、I/Oポートを有する情報処理装置に関し、システムやアプリ毎にI/Oポートへのアクセスを制御可能な情報処理装置に関する。 The present invention relates to an information processing apparatus having an I / O port, and relates to an information processing apparatus capable of controlling access to an I / O port for each system or application.
マイコンなどの情報処理装置では、複数のタスクがそれぞれ独立に実行される場合がある。複数のタスクがそれぞれ専用のI/Oにアクセスすべき場合に、あるタスクが別のタスク専用のI/Oにアクセスするようなことが生じることは好ましくない。このため、従来から、タスクによるI/Oへのアクセスを保護する技術が知られている。 In an information processing apparatus such as a microcomputer, a plurality of tasks may be executed independently. When a plurality of tasks should access dedicated I / O, it is not preferable that one task accesses I / O dedicated to another task. For this reason, conventionally, a technique for protecting access to I / O by a task is known.
従来のマイコンでは、ハードウェアのメモリアクセス保護資源(例えばメモリ管理ユニット)によりタスクのI/Oポートへのアクセスを制限している。しかしながら、マイコンが提供するメモリ保護資源はページ又はブロックと呼ばれる単位(例えば512バイト〜4kバイト)でメモリ保護を提供している。これに対し、I/Oポートのレジスタは数バイト(例えば1〜4バイト)で構成されているため、従来の方法ではI/Oポート単位でアクセス制御することができない(1ページ又は1ブロックのメモリ保護で複数のI/Oポートにアクセス制限してしまう)。 In a conventional microcomputer, access to a task I / O port is restricted by a hardware memory access protection resource (for example, a memory management unit). However, the memory protection resource provided by the microcomputer provides memory protection in units called pages or blocks (for example, 512 bytes to 4 kbytes). On the other hand, since the register of the I / O port is composed of several bytes (for example, 1 to 4 bytes), the conventional method cannot perform access control in units of I / O ports (one page or one block). Access to multiple I / O ports is restricted by memory protection).
また、新たにハードウェアを追加することでタスクのI/Oポートへのアクセスを制限する技術も考えられている(例えば、特許文献1参照。)。図12は、特許文献1に開示されたアクセス保護を説明する図の一例である。特許文献1では、OS(Operating System)が各アプリのプロセッサバスアドレス空間へのアクセス権をページ単位で管理している。また、プロセッサバスアドレス空間とI/Oアドレス空間を変換器が変換し、I/Oアドレス空間の各I/Oポートを、プロセッサバスアドレス空間にマッピングする。OSはアプリがI/Oへのアクセス権を有する場合に、変換器にI/Oへのアクセスを許可するので、アプリの不正なアクセスを防止できる。
In addition, a technique for restricting access to a task I / O port by adding new hardware is also considered (see, for example, Patent Document 1). FIG. 12 is an example of a diagram illustrating access protection disclosed in
しかしながら、特許文献1に開示された技術又は従来の技術では以下のような問題がある。
1.変換器を追加する必要がある。
サーバやワークステーション向けのプロセッサと異なり車両等の組み込み用のプロセッサでは、変換器を有していないことが多いため、変換器を追加する必要が生じてしまう。または、変換器を搭載したマイコンへ変更しなければならない。
2.変換器を追加すると、アプリ側から見えるI/Oポートのアドレスが変更される。
すなわち、変換器の追加前までアプリがプロセッサバスアドレスに出力したI/Oのアドレスが変換器により変わってしまう。このため、アプリを修正する必要が生じてしまう。1つのアプリだけなら修正も可能だが、例えば、仮想化技術で複数のアプリを1つの仮想環境に実装した場合、仮想化による統合のメリットが失われてしまう。
3.メモリ保護の単位を細かくするとOSが保持するアクセス権に関する情報が増加する
上記のハードウェアのメモリアクセス保護資源を用いる場合、ハードウェアの制約によりシステム全体で同じ単位(例えば4バイト)でメモリ保護する必要がある。このため、メモリアクセス保護資源を用いてI/Oポートに最適な粒度(例えば4バイト)でメモリ保護する場合、保護単位毎にアクセス権の設定が必要になってしまう。例えば、1ページを4kバイトとした場合、1ページだけで1000個のアクセス権の設定が必要になる。したがって、保護単位に反比例してOSの管理情報が増加してしまう。
However, the technique disclosed in
1. It is necessary to add a converter.
Unlike processors for servers and workstations, a built-in processor such as a vehicle often does not have a converter, so that it is necessary to add a converter. Or, it must be changed to a microcomputer equipped with a converter.
2. When a converter is added, the address of the I / O port visible from the application side is changed.
That is, the I / O address output by the application to the processor bus address before the addition of the converter is changed by the converter. For this reason, it becomes necessary to modify the application. Modification is possible with only one application, but for example, when a plurality of applications are implemented in one virtual environment using virtualization technology, the merit of integration by virtualization is lost.
3. If the memory access protection resource of the hardware described above, which increases the information related to the access right held by the OS if the memory protection unit is made finer, memory protection is performed in the same unit (for example, 4 bytes) in the entire system due to hardware restrictions. There is a need. For this reason, when the memory protection is performed with the optimum granularity (for example, 4 bytes) for the I / O port using the memory access protection resource, it is necessary to set the access right for each protection unit. For example, if one page is 4 kbytes, 1000 access rights need to be set for only one page. Therefore, OS management information increases in inverse proportion to the protection unit.
本発明は、上記課題に鑑み、特別なハードウェアを用いることなく適切な量の管理情報を使用することでI/Oポートを保護できる情報処理装置を提供することを目的とする。 In view of the above problems, an object of the present invention is to provide an information processing apparatus capable of protecting an I / O port by using an appropriate amount of management information without using special hardware.
本発明は、複数のプログラムが記憶されたプログラム記憶手段と、前記プログラムを実行する1つ以上の演算手段と、外部の回路と通信可能な複数のインタフェースと、を有する情報処理装置であって、前記プログラムがアクセス可能な前記インタフェースが登録されたインタフェース登録テーブルと、前記インタフェースにアクセス要求した前記プログラムが、前記インタフェースにアクセスすることが許可されている場合、前記プログラムの代わりに前記インタフェースにアクセスするアクセス制御手段と、を有する。 The present invention is an information processing apparatus having a program storage means in which a plurality of programs are stored, one or more arithmetic means for executing the programs, and a plurality of interfaces capable of communicating with an external circuit, The interface registration table in which the interface accessible by the program is registered, and when the program that requested access to the interface is permitted to access the interface, the interface is accessed instead of the program. Access control means.
特別なハードウェアを用いることなく適切な量の管理情報を使用することでI/Oポートを保護できる情報処理装置を提供することができる。 An information processing apparatus that can protect an I / O port by using an appropriate amount of management information without using special hardware can be provided.
以下、本発明を実施するための形態について図面を参照しながら説明する。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.
図1は、本実施例のI/Oポートへのアクセス制御を説明する図の一例である。 FIG. 1 is an example of a diagram illustrating access control to an I / O port according to the present embodiment.
1.まず、システムの起動時に、例えばハイパーバイザ31は、メモリ保護機構32に対しアプリ1、アプリ2がI/Oポートにアクセスすることを禁止する。なお、ハイパーバイザ31は全てのI/Oポートにアクセスすることができる。
1. First, when the system is activated, for example, the
2.アプリ1又はアプリ2がI/Oポートにアクセスしようとすると、メモリ保護機構32がアクセス違反(例外を発生させる)を検出する。
2. When
3.ハイパーバイザ31は、メモリ保護機構32からアクセスしたアプリとI/Oポートの情報を取得して、アプリがI/Oポートにアクセスする権限を有しているか否かを判定する。
3. The
4.アプリにI/Oポートへのアクセス権がある場合、ハイパーバイザ31が該アプリの代わりにI/Oポートへアクセスする。
4). When the application has an access right to the I / O port, the
5.アプリにI/Oポートへのアクセス権がない場合、ハイパーバイザ31はアクセスしようとしたアプリに対しアクセス違反を通知する。
5. When the application does not have access right to the I / O port, the
したがって、変換器などの新たなハードウェアを追加することなく、各アプリのI/Oアクセスを保護できる。論理アドレスから物理アドレスの変換はメモリ保護機構32が行うので、アプリが指定するI/Oポートのアドレスには変更が必要ない。また、メモリ保護機構32に対し、全てのI/Oポートのアクセスを禁止すればよいので、ハイパーバイザ31の管理情報が増大することもない。
Therefore, the I / O access of each application can be protected without adding new hardware such as a converter. Since the
〔構成例〕
図2は、マイコン100のハードウェア構成図の一例である。マイコン100は、メインバス21に接続された、CPU11、RAM12、ROM13、INTC14、WDT15、及び、DMAC16を有し、周辺バス22に接続されたCAN(Controller Area Network)コントローラ18、ADC19及びI/Oポート20を有する。メインバス21と周辺バス22はブリッジ17を介して接続されている。
[Configuration example]
FIG. 2 is an example of a hardware configuration diagram of the
CPU11は、好ましくは複数のコアを有し、ROM13に記憶されたプログラムを実行することでマイコン100の全体を制御する。CPUはメモリ保護機構32を有している。RAM12は、CPU11がプログラムを実行する際の作業メモリである。また、フラッシュROM13にはハイパーバイザ31や各システム(OS、デバイスドライバ、ミドルウェア及びアプリ)が記憶されている。
The
INTC14は割込みレジスタを監視して、周辺機器からの割り込み要求を割込みの優先順位に基づき調停してCPU11に通知する。これによりCPU11は、例えばISR(Interrupt Service Routine)を実行して、割込みした周辺機器に応じて定められているタスクを起床させる。
The
WDT15は、動作クロックをカウントして計測した時間が予め定められたリセット時間に達すると(オーバーフローすると)、異常検出(マイコンリセット、CPU割込み等)する回路である。
The
DMAC16は、RAM12と周辺回路の間や、RAM12内で、CPU11を介することなくデータを移動する。CPU11がI/Oポート20から外部にデータを送信する場合、CPU11はRAM12に記憶されているデータのアドレスと送信先の周辺回路のアドレスを指示する。DMAC16は、RAM12から読み出したデータを周辺回路のアドレスに対応するI/Oポート20に書き込む。また、CPU11が外部からデータを受信する場合、I/Oポート20にデータが到達すると、DMAC16がそれを検出してRAM12にデータを転送する。受信が終了するとDMAC16はINTC14に割込み要求することで、CPU11はRAM12のデータを読み出すことができる。
The
ブリッジ17は、メインバス21と周辺バス22の間の周波数の違いを吸収し、メインバス21に接続された回路と周辺バス22に接続された回路とを通信可能に接続する。CANコントローラ18は、マイコン100がCANバス43に接続された他のECU(Electronic Control Unit)と通信するための通信回路である。CANコントローラ18はCANフレームの受信をDMAC16に通知すると、DMAC16がCANコントローラ18の受信バッファからCANフレームを読み出しRAM12に記憶する。受信が終了するとDMAC16はINTC14に割込み要求することで、CPU11にCANフレームの受信を通知する。
The bridge 17 absorbs the difference in frequency between the
ADC(A/Dコントーラ)19は、マイコン100に接続されたセンサのアナログ信号をデジタル信号に変換して、アクチュエータ等に制御信号を出力する。I/Oポート20は周辺回路と入出力のインタフェースであり、周辺回路毎に複数用意されている。I/Oポート20には、例えばセンサ、アクチュエータ、スイッチ等が接続されている。本実施例では、I/Oポート1をシステム1がI/Oポート2をシステム2がそれぞれ使用する。
An ADC (A / D controller) 19 converts an analog signal of a sensor connected to the
マイコン100は各種の電子制御装置に搭載される。本実施例では、異なる電子制御装置に搭載されていたシステム1,2を1つの電子制御装置に搭載することも可能ため、電子制御装置が単一の機能のみを有しているとは限らない。しかし、電子制御装置の機能としては、例えば、HV−ECU、エンジンECU、ブレーキECU、ナビECU等、種々のものがある。本実施例のマイコン100はこれらの機能の1つ以上を提供する。
The
〔システムの統合〕
図3は、仮想化技術による2つのシステムの統合を説明する図の一例である。ECU1に搭載されたアプリ1とOS1をシステム1、ECU2に搭載されたアプリ2とOS2をシステム2と称する。ECU1とECU2のマイコンは同じものである必要はなく、OS1とOS2も同じものである必要はない。
[System integration]
FIG. 3 is an example of a diagram illustrating the integration of two systems by the virtualization technology. The
仮想化技術を利用することで、2つのシステム1,2をそのまま1つのマイコン100に搭載することができる。システムの変更が不要なので低コスト、短期間にシステム統合が可能となる。ところで、車両の機能安全にはASIL(Automotive Safety Integrity Level)という指標の安全性レベルがあり、ASILに応じた機能安全が達成されることが求められる。システム1,2の統合の際、システム1と2のASILが異なる場合があると考えられるが、ASILが異なる場合、ASILが高いシステムのI/Oポート20をASILが低いシステムから保護することが要求される。本実施例ではこのI/Oポート20の保護をハイパーバイザ31とメモリ保護機構32を利用して実現する
ハイパーバイザ31は、マイコン1,2のハードウェアをエミュレートするソフトウェアである。マイコン1,2は一般的なハードウェア(CPU、メモリ、I/Oポート等)を有している。例えば、マイコン1,2のメモリをエミュレートする場合、ハイパーバイザ32にはマイコン1,2に搭載されているROM、RAMの領域を確保する処理(一連の命令)が記述されている。マイコン100がマイコン1,2のプログラムを実行する際は、この確保した領域をマイコン1,2のメモリとしてアクセスすることで、マイコン1,2の動作をエミュレートする。すなわち、確保された領域には、マイコン1,2がシステム1,2を動作させた場合と同じデータが記憶される。
By using the virtualization technology, the two
CPUをエミュレートする場合、ハイパーバイザ32には、CPUが持つレジスタ(汎用レジスタ、プログラムカウンタ、フラグレジスタ、スタックポインタ)に対応した領域をマイコン100のRAM12に確保する処理が記述されている。また、ハイパーバイザ32には、エミュレートしたメモリから命令を1つずつ読み出す、解読する、実行する、という処理の繰り返し、及び、実行結果に応じてRAM12に確保したレジスタの値を更新する処理が記述されている。解読する際には、マイコン1,2のCPUが実行可能な全ての命令のうちどの命令に相当するかを特定する。そして解読結果に応じて、確保されたレジスタを操作する処理が記述されている。実行の内容としては、メモリからレジスタへのデータのコピー(例えばLoad命令の場合)、レジスタからメモリへのデータのコピー(例えばStore命令の場合)、レジスタの値の加減乗除、論理演算、等がある。したがって、RAM12に確保されたレジスタには、マイコン1,2がシステム1,2を動作させた場合にマイコン1,2のCPUのレジスタに格納されるデータと同じデータが記憶される。
When emulating a CPU, the
I/Oポートをエミュレートする場合、ハイパーバイザ32には、入出力が指示されたI/Oポートに応じた処理が記述されている。すなわち、解読の結果、マイコン1,2のI/Oポートを操作する命令である場合、マイコン100のI/Oポートにアクセスする処理が記述されている。例えば、入力ポートの指定に対し、その入力ポートに対応するI/Oポート20からデータを読み出す処理が記述されている。よって、例えばマイコン1,2でセンサが接続されていた入力ポートが指定された場合、その入力ポートに接続されていたセンサが接続されているマイコン100のI/Oポート20からデータを読み出す、処理が記述されている。
When emulating an I / O port, the
出力ポートの指定に対し、その出力ポートにデータを書き込む、処理が記述されている。よって、例えばマイコン1,2でアクチュエータが接続されていた出力ポートが指定された場合、その出力ポートに接続されていたアクチュエータが接続されているマイコン100のI/Oポート20にデータを書き出す、処理が記述されている。
A process for writing data to the output port in response to the designation of the output port is described. Thus, for example, when the output port to which the actuator is connected in the
なお、本実施例ではマイコン1,2がメモリマップドI/O(I/Oポートをアドレスに割り当ててアクセスするI/O指定方式)によりI/Oポート20にアクセスしている。したがって、上記した入力ポート又は出力ポートへのアクセス命令を検出することは、アクセス先のI/Oポート20に対応するアドレス(解読した命令のアクセス先のアドレス(オペランド)を検出することで行われる。
In this embodiment, the
システム1,2のようにOSも含めて1つのマイコン100に搭載する場合、OS1,2が実行する命令がCPU11の特権モードでのみ実行が許可される命令の場合がある。特権モードとはCPU11の動作モードであり、対比されるモードにユーザモードがある。一般的なアプリはシステムの安定性やセキュリティを維持するためユーザモードでのみ実行が許可される。
When installed in one
しかし、マイコン100のハイパーバイザ31上で実行されるOS1,2はユーザモードで実行されているので、ハイパーバイザ31がOS1、2の実行をエミュレートできないおそれがある(そのまま実行すると例外が発生してしまう)。このため、ハイパーバイザ31はOS1,2の特定の命令を、ユーザモードのまま実行できるように別の命令に変換する。
However, since the
特権モードからユーザモードへは、マイコン100に用意されている特定の命令を実行することで変更される。逆に、ユーザモードから特権モードへは、ハイパーバイザ31が特殊な命令を実行した場合に変更されるので、システム1,2が特権モードに切り替えることはできない。
The privilege mode is changed to the user mode by executing a specific instruction prepared in the
この他、マイコン1,2が搭載するCANコントローラによる通信も、ハイパーバイザ31はマイコン1,2をエミュレートすることができる。すなわち、ハイパーバイザ31には、命令の解読によりCANコントローラによる通信を検出し、マイコン100のCANコントローラで通信する処理が記述されている。
In addition, the
ハイパーバイザ31は、システム1,2をアプリケーションとして実行するので、システム1,2を1つのタスクやスレッドなどの実行単位として、実行管理する。したがって、少なくともCPU11がどちらのシステムを実行しているかを検出している。CPU11がシングルコアであれば、ハイパーバイザ31は例えば時分割的にシステム1と2を切り替えてCPU11に割り当てる。CPU11がマルチコアであれば、ハイパーバイザ31は例えばコア1とコア2にそれぞれシステム1と2を割り当てる。
Since the
〔メモリ保護〕
このように、仮想化技術によりシステム1,2を変更することなくハイパーバイザ31上でシステム1,2が動作する。マイコン100は例えばベースアドレス指定によりシステム1,2を再配置可能にRAMにロードする。再配置可能なプログラムが指定するアドレスを論理アドレスという。これに対しRAM上におけるシステム1,2のアドレスを物理アドレスという。システム1,2のRAMのアドレスは不定であるが、システム1,2の命令に含まれるアドレスは固定なので、マイコン100は、メモリ保護機構32を用いて、システム1,2が出力する論理アドレスとRAMの物理アドレスを対応づける。
[Memory protection]
Thus, the
図4は、メモリ保護機構32の機能を模式的に説明する図の一例である。ハイパーバイザ31はシステム1、2の起動を特定の命令の実行などから検出して、システム毎にページテーブルエントリ(PTE)とページテーブルを作成する。メモリ保護機構32は、RAMなどの物理アドレスをページ単位に分割し、論理アドレスのアドレス空間を同じサイズのページ単位に分割する。そして、物理ページのページ番号と論理ページのページ番号を対応付ける。
FIG. 4 is an example of a diagram for schematically explaining the function of the
PTEには、論理ページ番号に対応づけてページテーブルのアドレス、無効フラグ、R/Wフラグ、及び、U/Hフラグなどが登録されている。ページテーブルのアドレスは、システム別に用意されたページテーブルの先頭アドレスである。無効フラグは対応する物理ページの有無を示す。R/Wフラグはリード/ライトの許可を示す。U/Hフラグは、ユーザモードと特権モード(ハイパーバイザモード)のどちらでアクセスが許可されているかを示す。 In the PTE, a page table address, an invalid flag, an R / W flag, a U / H flag, and the like are registered in association with the logical page number. The page table address is the top address of a page table prepared for each system. The invalid flag indicates the presence or absence of the corresponding physical page. The R / W flag indicates read / write permission. The U / H flag indicates whether access is permitted in the user mode or the privilege mode (hypervisor mode).
論理アドレスの先頭の所定数のビットが論理ページ番号で、残りがページ内のオフセットである。メモリ保護機構32は、PTEを参照してページテーブルを参照し、システム1,2の命令に含まれる論理ページ番号に対応づけられた物理ページ番号を特定する。この物理ページ番号とオフセットを統合したアドレスが物理アドレスになる。システム毎にページテーブルが異なるので、論理アドレスが同じでも、物理アドレスが重複することがない。
A predetermined number of bits at the beginning of the logical address are logical page numbers, and the rest are offsets within the page. The
システム1,2が論理アドレスをメモリ保護機構32に出力すると、メモリ保護機構32は実行中のシステムを特定して、システムに固有のページテーブルを参照する。よって、システム1,2はRAMのシステム1,2の領域にアクセスすることができる。I/Oポート20もアドレス空間の一部に割り当てられるので、RAMと同様にアクセスできる。
When the
また、システム1がRAMにマッピングされていない論理アドレスを指定した場合、メモリ保護機構32は例外を発生する。マッピングされているかどうかは無効フラグにより判定される。また、リード/ライトの許可がない物理アドレスに変換される論理アドレスを指定した場合、特権モードでのみアクセスが許可される物理アドレスに変換される論理アドレスを指定した場合も同様である。このように、メモリ保護機構32によりシステム1、2がアクセスするメモリが保護される。
Further, when the
そして、システム1,2がI/Oポート20にアクセスする場合、I/Oポート20に割り当てられた論理アドレスを指定する。従来であればメモリ保護機構32はこの論理アドレスも物理アドレスに変換するが、本実施例では、システム1,2がI/Oポート20に直接、アクセスすることが禁止される。
When the
図5は、システム1,2によるI/Oポート20へのアクセスを禁止する際のPTEの設定例を示す図である。フラグ=“1”で許可であるとする。
・R/Wフラグ=1/1
・U/Hフラグ=0/1
R/Wフラグによれば、いずれも“1”なので、このPTEが指示する論理ページに対応するI/Oポート20に対しリードすることもライトすることも可能である。しかしながら、U/Hフラグが“0/1”なので、ユーザモードではリード/ライトが許可されない。すなわち、システム1,2はI/Oポート20にアクセスすることはできない。一方、特権モードではリード/ライトが許可されるので、ハイパーバイザ31はI/Oポート20にアクセスすることができる。
FIG. 5 is a diagram illustrating a setting example of the PTE when the access to the I /
・ R / W flag = 1/1
・ U / H flag = 0/1
According to the R / W flag, since both are “1”, it is possible to read from or write to the I /
したがって、例えばハイパーバイザ31がマイコン100の起動時に、論理アドレスがI/Oポート20を含む論理ページのPTEについて、図5のように設定することで、システム1,2がI/Oポート20にアクセスすることを禁止できる。なお、I/Oポート20の論理アドレスはシステム1,2の構成から明らかであるし、開発者にとって既知である。
Therefore, for example, when the hypervisor 31 starts up the
システム1,2がI/Oポート20にアクセスする命令を実行した場合、メモリ保護機構32は例外を発生する(この例外の発生をアクセス違反という場合がある。)。これにより、ハイパーバイザ31はシステム1,2によるI/Oポート20へのアクセスを検出する。
When the
このように本実施例ではページ単位でI/Oポート20にアクセス制限すればよいので(全てのI/Oポートをアクセス禁止にすればよいので)、ページテーブルエントリの数が多くなりすぎることがない。
As described above, in this embodiment, it is only necessary to restrict access to the I /
〔機能構成〕
図6は、ハイパーバイザ31の機能ブロック図の一例を示す。ハイパーバイザ31は主にアクセス制御部33、I/Oアクセス管理情報34、及び、システム実行情報35を有している。
[Function configuration]
FIG. 6 shows an example of a functional block diagram of the
システム実行情報35は、アクセス違反が通知された場合に、実行中のシステム(OS又はアプリ)を特定するための情報である。システム1,2のどちらもI/Oポート20へのアクセスが禁止されているので、どちらがアクセスしたか特定する必要があるためである。
The
図7(a)はシステム実行情報35の一例を示す図である。システム実行情報35としては、例えば、マイコン100で実行中のシステムの識別情報、例外を発生させたプログラムのアドレスが挙げられる。マイコン100で実行中のシステムの識別情報は、ハイパーバイザ31が定常的に管理している。ハイパーバイザ31は、CPU11に割り当てているシステムをテーブルなどに登録してあるので、このテーブルを参照することでシステムを特定できる。
FIG. 7A shows an example of the
例外を発生させたプログラムのアドレスは、エミュレートされたプログラムカウンタに設定されている。プログラムカウンタの値は論理アドレスなので、ページテーブルを参照して物理アドレスを特定すれば、それがシステム1の領域かシステム2の領域かを判別できる。プログラムカウンタに設定されているアドレスは、ハイパーバイザ31がエミュレートにより取得しているので容易に特定できる。そして、プログラムカウンタに設定されているアドレスから、システム1,2が実行した命令が分かるので、システム1,2がI/Oポート1又はI/Oポート2のどちらにアクセスしたかが判明する。
The address of the program that generated the exception is set in the emulated program counter. Since the value of the program counter is a logical address, if the physical address is specified by referring to the page table, it can be determined whether it is the
なお、メモリ保護機構は、論理アドレスから物理アドレスを出力するので(アドレスに関する変換を行うので)、例外を発生させたプログラムの論理アドレス、アクセス違反が発生した時のI/Oポート20の物理アドレス、システムが書き込む予定のデータ(又はそのアドレス)が設定される。したがって、メモリ保護機構からシステム実行情報と同等の情報を取得することもできる。
Since the memory protection mechanism outputs a physical address from the logical address (since it performs conversion related to the address), the logical address of the program that generated the exception, and the physical address of the I /
I/Oアクセス管理情報34は、各I/Oポート1,2に対する各システムのアクセス権が登録された情報である。すなわち、メモリ保護機構32では禁止されているが、統合前のシステムではアクセスが許可されていたI/Oポート1,2がシステムに対応づけて登録されている。
The I / O
図7(b)はI/Oアクセス管理情報34の一例を示す図である。図示するように、例えば、I/Oポート1にはシステム1が対応づけられ、I/Oポート2にはシステム2が対応づけられている。I/Oアクセス管理情報34は静的な情報なので、開発者等がハイパーバイザ31のビルド時に設定しておくことができる。また、マイコン100の起動時に、ハイパーバイザ31が動的に設定してもよい。この方法は、システム1,2がI/Oポート1,2のどちらを使用してもよい場合に採用できる。例えばシステム1,2の起動順にI/Oポート1,2を割り当てる。
FIG. 7B is a diagram showing an example of the I / O
アクセス制御部33は、ハイパーバイザ31内部の機能である。すなわち、特権モードで動作する。アクセス制御部33は、メモリ保護機構32の例外の発生により起動される。アクセス制御部33は、例外発生時のプログラムカウンタの値により実行された命令を特定し、命令がI/Oポート20に対応するアドレスへのアクセスによるものであるか否かを判定する。
The
例外がI/Oポート20へのアクセスにより発生した場合、アクセス制御部33はアクセス制御を行う。すなわち、システム実行情報35に基づき例外が発生した時のシステムを特定し、I/Oアクセス管理情報34において、該システムのアクセスが許可されているか否かを判定する。アクセスが許可されている場合は、システムの代わりにI/Oポート20にアクセスし、アクセスが許可されていない場合は、システムに対しアクセス違反を通知する。
When an exception occurs due to access to the I /
統合前のシステム1、2ではI/Oポートのアクセス違反は生じないとしてよい。しかし、I/Oポートに限定しなければ、アクセス違反が生じた場合、マイコン1,2に搭載されているメモリ保護機構32が例外の発生を割込みなどでOSに通知する。システム1,2はOS1,2が備える例えば、例外ハンドラ等を実行することで、例外発生に対応した処理を行う。この処理はOS1,2により統合前から決まっている。よって、アクセス制御部33としては、システム1,2に例外ハンドラを実行させることで例外の発生をOS1,2に通知できる。具体的には、例外ハンドラが記述されたシステム1,2のアドレスからシステム1,2の命令の解読(エミュレート)を再開する。
In the
また、アクセス制御部33は、統合の影響によりアクセス違反がどの程度生じているかを管理するため、アクセスの履歴を記録する。
Further, the
図8は、アクセス履歴テーブルの一例を示す図である。アクセス制御部33は、例えば、I/Oポート20にアクセスしたシステム、アクセス時刻、アクセス時に実行された命令の物理アドレス、アクセス先のI/Oポート1,2、例外発生の有無等を記録する。発生時刻は例えば起動時からの経過時間であるが、絶対時刻でもよい。
FIG. 8 is a diagram illustrating an example of the access history table. The
このような記録により、開発者等は、システム1,2がどのくらいの頻度でどのI/Oポート1,2にアクセスするか、及び、周期性などを検証できる。また、システム1とシステム2のアクセスのパターン(例えば、システム1が2回アクセスするとシステム1が1回アクセスする、システム1とシステム2が連続してアクセスする)の有無を検証できる。また、例外が発生した場合には、例えば特定の物理アドレスの命令で例外が起こりやすいこと、例外発生の前後のアクセスのパターン(例えば、システム1又は2が連続してアクセスすると例外が発生する)の有無を検証できる。
With such a record, the developer or the like can verify which I /
〔例外発生によりアクセス制御部33がI/Oポートへのアクセスを代替することのメリット〕
ハイパーバイザ31はシステム1,2が実行する命令を解析しているので、I/Oポート20へのアクセスを検出した場合に、例外発生を待つことなくI/Oポート20にアクセスすることも可能である。この場合、メモリ保護機構32によりユーザモードのI/Oポート20へのアクセスを禁止しない方法と、禁止する方法が考えられる。I/Oポート20へのアクセスを禁止しない方法では、想定していないプログラムが追加されることなどでI/Oポート20へアクセスされるおそれがあるため好ましくない。
[Advantages of the
Since the
I/Oポート20へのアクセスを禁止する方法では、I/Oポート20へのアクセスを検出した場合、特権モードに切り替える処理等をハイパーバイザ32に記述する必要が生じ、ハイパーバイザ31の修正が必要になってしまう(ハイパーバイザ31の汎用性が低下してしまう。)。これに対し、例外発生によりアクセス制御部33がI/Oポート20にアクセスする場合、ハイパーバイザ32に例外処理用のモジュールを追加すればよいので、ハイパーバイザ33の汎用性が低下しにくいというメリットがある。
In the method of prohibiting access to the I /
したがって、本実施例の手法が好適であるが、I/Oポート20へのアクセスを検出した場合に、例外発生を待つことなくI/Oポート20にアクセスすることも可能である。
Therefore, although the method of this embodiment is suitable, it is also possible to access the I /
〔動作手順〕
図9(a)はマイコン100の動作手順を示すフローチャート図の一例を、図9(b)はマイコン100の動作を矢印で示す図の一例である。なお、図9(a)と図9(b)の括弧付きの番号は互いに対応している。
[Operation procedure]
FIG. 9A is an example of a flowchart showing an operation procedure of the
まず、ハイパーバイザ31は例えば起動時にユーザモードにおけるI/Oポート20へのアクセスを禁止する(S10)。この後、システム1,2がハイパーバイザ31上で実行される。
First, the
例えばシステム1がI/Oポート20にアクセスする命令を実行したものとする(S20)。
For example, it is assumed that the
メモリ保護機構32はアクセス違反を検出して例外を発生させる(S30)。例外の発生は、CPU11が例外発生時に実行するプログラムの実行によりハイパーバイザ31に通知される。
The
ハイパーバイザ31のアクセス制御部33は、メモリ保護機構32からアクセスに関する以下の情報を取得する(S40)。
・アクセス違反が発生したI/Oポートの物理アドレス
・システムが書き込む予定のデータ(又はそのアドレス)
・例外を発生させたプログラムのアドレス
そして、システム実行情報35又はステップ40で取得した情報に基づき実行中のシステム及びI/Oポート20を特定する(S50)。
The
-Physical address of the I / O port where the access violation occurred-Data to be written by the system (or its address)
The address of the program that generated the exception Then, the system being executed and the I /
なお、例外の発生により、ハイパーバイザ31は少なくとも例外を発生させたシステム1のエミュレーションを停止し、システム1のコンテキスト(エミュレート内容)を退避しておく。これにより、システム1はI/Oポート20へのアクセスを行った後は命令を実行しない。
When an exception occurs, the
アクセス制御部33は、特定したシステム1がI/Oポート20へのアクセス権を有するか否かを、I/Oアクセス管理情報34を参照することで判定する(S60)。
The
システム1がI/Oポート20へのアクセス権を有している場合(S60のYes)、アクセス制御部33はシステム1の代わりにI/Oポート20へアクセスする(S70)。アクセス制御部33は、プログラムカウンタに設定されているアドレスから、システムが実行した命令を特定し、その命令を実行する。システムが実行した命令そのものを実行するのではなく、データの記憶元を該命令から特定し、そのデータをI/Oポート20に書き込む命令を実行してもよい。これにより、システム1がI/Oポート20にアクセスしようとした命令をハイパーバイザ31が実行できる。
When the
I/Oポート20へのアクセスが書き込みだった場合、ハイパーバイザ31はシステム1の代わりにI/Oポート20にアクセスした後、コンテキストを復帰させる。これにより、システム1は、例外の発生後の命令から実行を再開できる。
When the access to the I /
I/Oポート20へのアクセスが読み出しだった場合、ハイパーバイザ31はシステム1の代わりにI/Oポート20にアクセスした後、DMACからの割込みを待つ。DMACはメモリ保護機構32が出力した物理アドレスのI/Oポート20にアクセスして、I/Oポート20の受信バッファからデータを読み出しRAMに書き込む。DMACは、I/Oポート20からRAMへの転送が終了するとCPU11に受信割り込みするので、その割り込みによりハイパーバイザ31は中断したシステム1のコンテキストを復帰させる。システム1は、例外の発生後の命令から実行を再開し、I/Oポート20から読み出されたデータをRAMから読み出すことができる。
When the access to the I /
システム1がI/Oポート20へのアクセス権を有していない場合(S60のNo)、アクセス制御部33はシステム1にアクセス違反を通知する(S80)。すなわち、例外ハンドラを実行させ、実行後、ハイパーバイザ31は中断したシステム1のコンテキストを復帰させる。これにより、システム1は統合前と同様にアクセス違反を検出できる。
When the
以上のように、本実施例のマイコン100は、統合前にアクセスするI/Oポート20が定められている複数のシステム1,2を1つのマイコン100に統合した場合、アクセス制御部33がI/Oポート20へのアクセスを制御する。よって、システム1,2のアクセス違反を防止できる。システム1,2には変更が必要なく、新たなハードウェアの追加も必要ない。また、統合対象のシステムが増加しても、アクセス制御部33やメモリ保護機構32の設定を修正するだけで対応することができる。
As described above, in the
本実施例ではシステムの優先度に基づきシステム1,2のアクセスを制御するマイコン100について説明する。
In this embodiment, a
機能ブロック図は実施例1の図6と同様である。しかし、本実施例のアクセス制御部33はシステム1,2の優先度に基づき、優先度の高い方のシステムのI/Oポート20へのアクセスを優先する。このような優先制御は、異なるシステム1,2が同じI/Oポート20にアクセスする場合に有効である。
The functional block diagram is the same as FIG. 6 of the first embodiment. However, the
システム1、2の優先度は統合時に開発者等に既知の場合と、アクセス制御部33が動的に決定する場合がある。ASILに基づき優先度を決定する場合、ASIL QM<A<B<C<Dの順に優先度が高い。したがって、開発者等がアクセス制御部33にシステム1,2の優先度を予め設定しておくことができる。
The priorities of the
優先度を動的に決定する場合、例えば、アクセス違反の頻度から決定する。ASILが高いシステムは高度に設計・検証が行われているので、アクセス違反することが少ない。したがって、アクセス違反が少ないシステムは優先度が高いシステムであることが推定される。アクセス制御部33は、図8のアクセス履歴テーブルを参照して、過去の全て又は所定時間のアクセス違反の頻度に基づき各システムの優先度を動的に決定する。
When the priority is dynamically determined, for example, it is determined from the frequency of access violation. A system with a high ASIL is highly designed and verified, so there are few access violations. Therefore, it is estimated that a system with few access violations is a system with high priority. The
そして、アクセス制御部33は、システム1,2の過去のアクセス履歴に基づき、次のアクセスタイミングを予測する。
Then, the
図10は、アクセスタイミングの予測を説明する図の一例である。システムが同じI/Oポート20にアクセスする周期をアクセス間隔Ta、I/Oポート20を占有する時間をアクセス時間Tbとする。図示するように、システム1のアクセス間隔はTa1、システム2のアクセス間隔はTa2,システム1アクセス時間はTb1、システム2のアクセス時間はTb2、である。本実施例では優先度の高いシステム1を優先すればよいので、システム1のアクセス間隔Ta1と、システム2のアクセス時間Tb2とが特定できていればよい。よって、システム2のアクセス間隔Tbは不定期でもよい。
FIG. 10 is an example of a diagram illustrating prediction of access timing. A cycle in which the system accesses the same I /
システム1のアクセス間隔Ta1に規則性があるので、アクセス制御部33はシステム1のアクセスタイミングを予測できる。すなわち、時刻t1にシステム1がアクセスした場合、次回のアクセスタイミングは「時刻t2=時刻t1+アクセス間隔Ta1」、時刻t2にシステム1がアクセスした場合、次回のアクセスタイミングは「時刻t4=時刻t2+アクセス間隔Ta1」である。
Since the access interval Ta1 of the
例えば、時刻t3に、優先度が低いシステム2がI/Oポート20にアクセスした場合、実施例1にて説明したように、アクセス制御部33は例外の発生によりアクセス要求を検出する。アクセス制御部33はシステム2によるI/Oポート20の占有が、システム1がアクセスするまでに完了するか否かを判定する。具体的には以下を判定する。
時刻t4>現在時刻+アクセス時間Tb2
時刻t4の方が、「現在時刻+アクセス時間Tb2」よりも大きい場合、システム2によるI/Oポート20のアクセスは、システム1がI/Oポート20にアクセスを開始するまでに完了する。この場合、アクセス制御部33はシステム2のアクセス要求を、待機することなく実行する。
For example, when the
Time t4> current time + access time Tb2
When the time t4 is larger than “current time + access time Tb2”, the access of the I /
時刻t4の方が、「現在時刻+アクセス時間Tb2」よりも大きくない場合、システム2によるI/Oポート20のアクセスは、システム1がI/Oポート20にアクセスを開始するまでに完了しない。この場合、アクセス制御部33は、システム1のI/Oポート20のアクセスを優先するため、システム2のアクセス要求を、システム1のアクセスが完了するまで待機させる。こうすることで、統合によりシステム1,2が同じI/Oポート20にアクセスする状況が生じても、優先が高いシステム1を優先できる。
When the time t4 is not greater than the “current time + access time Tb2”, the access to the I /
図11(a)はマイコン100の動作手順を示すフローチャート図の一例を、図11(b)はマイコン100の動作を矢印で示す図の一例である。なお、図11(a)と図11(b)の括弧付きの番号は互いに対応している。
FIG. 11A is an example of a flowchart showing an operation procedure of the
図11の手順のうちステップS10〜S60までの処理は図9と同様であるが、本実施例では優先度が低いシステム2がアクセスするものとする。特定したシステム2がI/Oポート20へのアクセス権を有していない場合、実施例1と同様にアクセス制御部33はアクセス違反を通知する(S80)。
The processing from step S10 to step S60 in the procedure of FIG. 11 is the same as that in FIG. 9, but in this embodiment, it is assumed that the
特定したシステム2がI/Oポート20へのアクセス権を有している場合(S60のYes)、アクセス制御部33は、アクセス履歴テーブルにより、システム1のアクセス間隔Ta1と、システム2のアクセス時間Tb2を特定する(S62)。アクセス間隔やアクセス時間は、予め更新されていることが好ましいが、アクセス要求がある度に算出してもよい。
When the identified
アクセス制御部33は、システム2よりも優先度が高いシステム1が、システム2のアクセス完了までにI/Oポート20にアクセスするか否かを判定する(S64)。
The
システム2のアクセス完了までにシステム1がI/Oポート20にアクセスしない場合(S64のNo)、アクセス制御部33はシステム2の代わりにI/Oポート20へアクセスする(S82)。
When the
システム2のアクセス完了までにシステム1がI/Oポート20にアクセスする場合(S64のYes)、アクセス制御部33はシステム2のアクセスよりもシステム1のアクセスを先に行い、その後、システム2の代わりにI/Oポート20へアクセスする(S84)。
When the
こうすることで、優先度の異なるシステムが同じI/Oポート20を共有する場合、優先度の高いシステムを優先することができ、システム1は統合前と同程度のタイミングでI/Oポート20にアクセスすることが可能になる。
In this way, when systems with different priorities share the same I /
以上説明したように、本実施例のマイコン100によれば、実施例1の効果に加え、優先度が高いシステム1のI/Oポート20のアクセスを優先度が低いシステム2よりも優先できる。
As described above, according to the
31 ハイパーバイザ
32 メモリ保護機構
33 アクセス制御部
34 I/Oアクセス管理情報
35 システム実行情報
100 マイコン
31
Claims (8)
前記プログラムを実行する1つ以上の演算手段と、
外部の回路と通信可能な複数のインタフェースと、を有する情報処理装置であって、
前記プログラムがアクセス可能な前記インタフェースが登録されたインタフェース登録テーブルと、
前記インタフェースにアクセス要求した前記プログラムが、前記インタフェースにアクセスすることが許可されている場合、前記プログラムの代わりに前記インタフェースにアクセスするアクセス制御手段と、
を有する情報処理装置。 Program storage means for storing a plurality of programs;
One or more computing means for executing the program;
An information processing apparatus having a plurality of interfaces capable of communicating with an external circuit,
An interface registration table in which the interface accessible by the program is registered;
When the program that requested access to the interface is permitted to access the interface, access control means for accessing the interface instead of the program;
An information processing apparatus.
前記アクセス制御手段は、前記アクセス禁止手段から前記プログラムが前記インタフェースにアクセス要求したことを検出する、
ことを特徴とする請求項1記載の情報処理装置。 Access prohibiting means for prohibiting each of the plurality of programs from accessing the interface;
The access control means detects from the access prohibition means that the program has requested access to the interface;
The information processing apparatus according to claim 1.
前記アクセス制御手段は、前記プログラムが前記インタフェースにアクセス要求した際、前記プログラム識別情報に基づき、前記プログラム及び前記インタフェースを特定する、
ことを特徴とする請求項1又は2記載の情報処理装置。 Having program identification information for identifying the program accessing the interface and the interface;
The access control means specifies the program and the interface based on the program identification information when the program requests access to the interface.
The information processing apparatus according to claim 1 or 2.
ことを特徴とする請求項3記載の情報処理装置。 The program identification information is an address of the program executed by the arithmetic unit when the access prohibition unit detects that the program requests access to the interface.
The information processing apparatus according to claim 3.
前記アクセス制御手段は、第一のプログラムによる前記インタフェースへのアクセスが、前記第一のプログラムよりも優先度が低い第二のプログラムにより待機状態となることを予測した場合、前記第二のプログラムの前記インタフェースへのアクセスを行う前に、前記第一のプログラムの前記インタフェースへのアクセスを行い、前記第一のプログラムの前記インタフェースへのアクセスが完了した後、前記第二のプログラムの前記インタフェースへのアクセスを行う、
ことを特徴とする請求項1〜4いずれか1項記載の情報処理装置。 When a plurality of the programs access the same interface,
When the access control means predicts that access to the interface by the first program is in a standby state by a second program having a lower priority than the first program, the access control means Before accessing the interface, the interface of the first program is accessed, and after the access of the first program to the interface is completed, the interface of the second program to the interface is completed. Access,
The information processing apparatus according to claim 1, wherein the information processing apparatus is an information processing apparatus.
ことを特徴とする請求項5記載の情報処理装置。 The access control means records the program that has requested access to the interface and whether or not access is permitted, and the priority of the program that has more records that access is not permitted is permitted to access. It is determined that the record is not lower than the program with less records,
The information processing apparatus according to claim 5.
前記ハイパーバイザは、複数の前記プログラムの各命令を解析した結果に基づき、前記ハードウェア上で前記プログラムが実行された場合の前記ハードウェアのメモリ、CPUのレジスタ、及び、入出力インタフェースのエミュレート状態を更新することで、複数の前記プログラムを実行する、
ことを特徴とする請求項1〜6いずれか1項記載の情報処理装置。 The access control means is a function of a hypervisor that emulates individual hardware in which the program was operating,
The hypervisor emulates the hardware memory, the CPU register, and the input / output interface when the program is executed on the hardware based on the result of analyzing each instruction of the plurality of programs. Executing a plurality of the programs by updating the state;
The information processing apparatus according to claim 1, wherein:
前記プログラムを実行する1つ以上の演算手段と、
外部の回路と通信可能な複数のインタフェースと、を有する情報処理装置のインタフェースアクセス方法であって、
アクセス制御手段が、前記プログラムがアクセス可能な前記インタフェースが登録されたインタフェース登録テーブルを参照して、前記インタフェースにアクセス要求した前記プログラムが、前記インタフェースにアクセスすることが許可されている場合、前記プログラムの代わりに前記インタフェースにアクセスする、
インタフェースアクセス方法。 Program storage means for storing a plurality of programs;
One or more computing means for executing the program;
An interface access method for an information processing apparatus having a plurality of interfaces capable of communicating with an external circuit,
When the access control means refers to the interface registration table in which the interface accessible by the program is registered, the program that has requested access to the interface is permitted to access the interface. Access the interface instead of
Interface access method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012023447A JP2013161299A (en) | 2012-02-06 | 2012-02-06 | Information processing apparatus and interface access method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012023447A JP2013161299A (en) | 2012-02-06 | 2012-02-06 | Information processing apparatus and interface access method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2013161299A true JP2013161299A (en) | 2013-08-19 |
Family
ID=49173480
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012023447A Pending JP2013161299A (en) | 2012-02-06 | 2012-02-06 | Information processing apparatus and interface access method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2013161299A (en) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015025597A1 (en) * | 2013-08-22 | 2015-02-26 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
| WO2015045507A1 (en) * | 2013-09-30 | 2015-04-02 | 日立オートモティブシステムズ株式会社 | Vehicular control device |
| WO2017056725A1 (en) * | 2015-09-30 | 2017-04-06 | 日立オートモティブシステムズ株式会社 | In-vehicle control device |
| CN106716617A (en) * | 2014-09-19 | 2017-05-24 | 东京毅力科创株式会社 | Substrate transportation method and processing system |
| JP2017204286A (en) * | 2017-06-28 | 2017-11-16 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
| JP2017207952A (en) * | 2016-05-19 | 2017-11-24 | 日本電信電話株式会社 | Processing device, access control method, and access control program |
| JP2021111083A (en) * | 2020-01-09 | 2021-08-02 | 株式会社デンソー | Electronic control device |
| JP2022085863A (en) * | 2020-11-27 | 2022-06-08 | 株式会社デンソー | Electronic controls, software update methods, software updates, and electronic control systems |
| JP2022085862A (en) * | 2020-11-27 | 2022-06-08 | 株式会社デンソー | Electronic controls, software update methods, software updates, and electronic control systems |
| WO2023119652A1 (en) * | 2021-12-24 | 2023-06-29 | 日立Astemo株式会社 | Electronic control device and access control method |
-
2012
- 2012-02-06 JP JP2012023447A patent/JP2013161299A/en active Pending
Cited By (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015039983A (en) * | 2013-08-22 | 2015-03-02 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
| CN105636832A (en) * | 2013-08-22 | 2016-06-01 | 日立汽车系统株式会社 | Vehicle control device |
| US9610906B2 (en) | 2013-08-22 | 2017-04-04 | Hitachi Automotive Systems, Ltd. | Vehicle control device |
| CN105636832B (en) * | 2013-08-22 | 2017-06-23 | 日立汽车系统株式会社 | Controller of vehicle |
| WO2015025597A1 (en) * | 2013-08-22 | 2015-02-26 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
| WO2015045507A1 (en) * | 2013-09-30 | 2015-04-02 | 日立オートモティブシステムズ株式会社 | Vehicular control device |
| JP2015067107A (en) * | 2013-09-30 | 2015-04-13 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
| CN106716617A (en) * | 2014-09-19 | 2017-05-24 | 东京毅力科创株式会社 | Substrate transportation method and processing system |
| CN106716617B (en) * | 2014-09-19 | 2020-02-07 | 东京毅力科创株式会社 | Substrate transfer method and processing system |
| US10552368B2 (en) | 2015-09-30 | 2020-02-04 | Hitachi Automotive Systems, Ltd. | In-vehicle control device |
| WO2017056725A1 (en) * | 2015-09-30 | 2017-04-06 | 日立オートモティブシステムズ株式会社 | In-vehicle control device |
| JPWO2017056725A1 (en) * | 2015-09-30 | 2018-03-15 | 日立オートモティブシステムズ株式会社 | In-vehicle control device |
| JP2017207952A (en) * | 2016-05-19 | 2017-11-24 | 日本電信電話株式会社 | Processing device, access control method, and access control program |
| JP2017204286A (en) * | 2017-06-28 | 2017-11-16 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
| JP2021111083A (en) * | 2020-01-09 | 2021-08-02 | 株式会社デンソー | Electronic control device |
| JP7322715B2 (en) | 2020-01-09 | 2023-08-08 | 株式会社デンソー | electronic controller |
| JP2022085863A (en) * | 2020-11-27 | 2022-06-08 | 株式会社デンソー | Electronic controls, software update methods, software updates, and electronic control systems |
| JP2022085862A (en) * | 2020-11-27 | 2022-06-08 | 株式会社デンソー | Electronic controls, software update methods, software updates, and electronic control systems |
| JP7707864B2 (en) | 2020-11-27 | 2025-07-15 | 株式会社デンソー | Electronic control device, software update method, software update program, and electronic control system |
| JP7707863B2 (en) | 2020-11-27 | 2025-07-15 | 株式会社デンソー | Electronic control device, software update method, software update program, and electronic control system |
| WO2023119652A1 (en) * | 2021-12-24 | 2023-06-29 | 日立Astemo株式会社 | Electronic control device and access control method |
| JPWO2023119652A1 (en) * | 2021-12-24 | 2023-06-29 | ||
| JP7751660B2 (en) | 2021-12-24 | 2025-10-08 | Astemo株式会社 | Electronic control device and access control method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2013161299A (en) | Information processing apparatus and interface access method | |
| CN109643290B (en) | Techniques for object-oriented memory management with extended segmentation | |
| JP5914145B2 (en) | Memory protection circuit, processing device, and memory protection method | |
| JP5870206B2 (en) | Efficient memory and resource management | |
| CN104685479B (en) | Virtual input/output memory management unit in guest virtual machine | |
| US8595487B2 (en) | Virtualization hardware for device driver isolation | |
| EP1966706B1 (en) | Identifier associated with memory locations for managing memory accesses | |
| GB2531844B (en) | Hardware-protective data processing systems and methods using an application executing in a secure domain | |
| US20120331465A1 (en) | Virtual machine system, virtual machine control method, virtual machine control application, and semiconductor integrated circuit | |
| JP4668166B2 (en) | Method and apparatus for guest to access memory converted device | |
| JPH11149385A (en) | Multi-OS configuration method | |
| CN118210622B (en) | A memory allocation method and computing device | |
| CN103778099B (en) | Information processing equipment | |
| JPWO2010097925A1 (en) | Information processing device | |
| JP2009009232A (en) | Computer and kernel protection method and computer software | |
| JP6679419B2 (en) | Memory protection unit, memory management unit, and microcontroller | |
| JP2016018555A (en) | Operating environment switching method, computer, and computer program | |
| US7523229B2 (en) | Memory protection during direct memory access | |
| JP5999216B2 (en) | Data processing device | |
| GB2537760A (en) | Computer, and resource scheduling method using hypervisor | |
| JP5925288B2 (en) | Computer, access management method and access management program | |
| JP2014074995A (en) | Information processor | |
| EP4372551A1 (en) | Virtual machine management method and related system, and storage medium | |
| Farrall et al. | Hardware and software support for mixed-criticality multicore systems | |
| JP5703505B2 (en) | Computer with bus partition structure |