JP2012164253A - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP2012164253A JP2012164253A JP2011025717A JP2011025717A JP2012164253A JP 2012164253 A JP2012164253 A JP 2012164253A JP 2011025717 A JP2011025717 A JP 2011025717A JP 2011025717 A JP2011025717 A JP 2011025717A JP 2012164253 A JP2012164253 A JP 2012164253A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage area
- data transfer
- microcomputer
- processing means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Microcomputers (AREA)
Abstract
【課題】1つのDMAコントローラが複数の処理手段に共用されるようになっているマイクロコンピュータにおいて、異なる処理手段に割り当てられた記憶領域同士の間でDMA転送が行われてしまう誤アクセスを防止する。
【解決手段】1つのDMAコントローラ37が2つのプロセッサエレメント(PE)1,2に共用されるマイコン40には、記憶領域のうち、どの記憶領域がどのPEに割り当てられているかを示す割当テーブルを記憶するレジスタ41が設けられている。そして、DMAコントローラ37は、DMA要求を受けると、その要求が示すデータ転送元の記憶領域が割り当てられているPEと、その要求が示すデータ転送先の記憶領域が割り当てられているPEとを、上記割当テーブルから特定して、その特定した両方のPEが一致していないと判定した場合には、データの転送処理(DMA転送)を実施しないようになっている。
【選択図】図1
【解決手段】1つのDMAコントローラ37が2つのプロセッサエレメント(PE)1,2に共用されるマイコン40には、記憶領域のうち、どの記憶領域がどのPEに割り当てられているかを示す割当テーブルを記憶するレジスタ41が設けられている。そして、DMAコントローラ37は、DMA要求を受けると、その要求が示すデータ転送元の記憶領域が割り当てられているPEと、その要求が示すデータ転送先の記憶領域が割り当てられているPEとを、上記割当テーブルから特定して、その特定した両方のPEが一致していないと判定した場合には、データの転送処理(DMA転送)を実施しないようになっている。
【選択図】図1
Description
本発明は、マイクロコンピュータに関するものである。
マイクロコンピュータ(以下、マイコンとも言う)としては、処理能力を向上させるために、複数のプロセッサを備えたマルチプロセッサマイコンが実用化されている。
そして、マルチプロセッサマイコンにおいては、各プロセッサが記憶装置に直接アクセスする際に、他のプロセッサに割り当てられているデータ領域に上書きしてしまう(延いては、他のプロセッサが使用するデータを破壊してしまう)、というプロセッサ間のデータ干渉が起こらないようにするための、メモリ管理装置を設けることが提案されている(例えば、特許文献1参照)。
そして、マルチプロセッサマイコンにおいては、各プロセッサが記憶装置に直接アクセスする際に、他のプロセッサに割り当てられているデータ領域に上書きしてしまう(延いては、他のプロセッサが使用するデータを破壊してしまう)、というプロセッサ間のデータ干渉が起こらないようにするための、メモリ管理装置を設けることが提案されている(例えば、特許文献1参照)。
ここで、そのようなメモリ管理装置を備えたマルチプロセッサマイコンの構成例について、図3を用いて説明する。
図3に例示するマイコン100は、2つのプロセッサエレメント(以下、PEとも記す)1,2と、2つのPE1,2が共用するメモリ10と、複数のペリフェラル(Peripheral:周辺機器)21,22,…と、それらを相互に接続するバス31とを備えている。
図3に例示するマイコン100は、2つのプロセッサエレメント(以下、PEとも記す)1,2と、2つのPE1,2が共用するメモリ10と、複数のペリフェラル(Peripheral:周辺機器)21,22,…と、それらを相互に接続するバス31とを備えている。
メモリ10はRAMであり、そのメモリ10の記憶領域としては、PE1だけに割り当てられた記憶領域11と、PE2だけに割り当てられた記憶領域12とがある。つまり、記憶領域11へのアクセスはPE1だけが許されており、記憶領域12へのアクセスはPE2だけが許されている。
ペリフェラル21,22,…は、例えば通信装置やAD変換器やタイマ装置といった、PE1,2からみた周辺機器である。そして、各ペリフェラル21,22,…は、各々にアドレスが付与された記憶装置(この例ではレジスタ)を有しており、PE1,2から見れば、メモリ10と同様に、アドレスが付与された記憶装置であり記憶領域でもある。
例えば、ペリフェラル21が、マイコン100の外部装置(例えばIC)と通信するための通信装置であるとすると、そのペリフェラル21は、送信データが格納される送信データ用レジスタと、受信データが格納される受信データ用レジスタとを有する。そして、PE1,2の何れかが、そのペリフェラル21の送信データ用レジスタにデータを書き込めば、そのデータが当該マイコン100の外部装置へ送信されることとなり、PE1,2の何れかは、ペリフェラル21の受信データ用レジスタから、外部装置からの受信データを読み込むことができる。また例えば、ペリフェラル22が、AD変換器であるとすると、そのペリフェラル22は、AD変換結果のデータが格納されるレジスタを有する。そして、PE1,2の何れかは、そのペリフェラル22のレジスタからデータを読み込むことで、AD変換結果を取得することができる。
そして、この例のマイコン100において、ペリフェラル21はPE1に割り当てられており、ペリフェラル22はPE2に割り当てられている。換言すれば、ペリフェラル21へのアクセス(詳しくは、ペリフェラル21のレジスタへのアクセス)は、PE1だけが許されており、ペリフェラル22へのアクセス(詳しくは、ペリフェラル22のレジスタへのアクセス)は、PE2だけが許されている。
ここで、PE1が、PE2に割り当てられたメモリ10の記憶領域12やペリフェラル22にライトアクセスしてしまうと、PE2が処理に使用するデータが、PE1によって上書きされて破壊されるため、PE2側の処理を正しく行うことができなくなる。同様に、PE2が、PE1に割り当てられたメモリ10の記憶領域11やペリフェラル21にライトアクセスしてしまうと、PE1が処理に使用するデータが、PE2によって上書きされて破壊されるため、PE1側の処理を正しく行うことができなくなる。
尚、こうした誤アクセスは、例えばアドレスバスへのアクセス先情報(具体的にはアドレス値)がノイズ等で変化してしまった場合に起こり得る。また、ペリフェラルに対するアクセスは、実際には、ペリフェラル毎に設けられたペリフェラルI/Oを介して行われるが、そのペリフェラルI/Oの図示は省略している。
そこで、図3のマイコン100では、このような誤アクセスによるデータ破壊を防ぐためのメモリ管理装置として、MPU(Memory Protection Unit)33と、PPU(Peripheral Protection Unit)35とが設けられている。
MPU33には、メモリ10における複数の各アドレス範囲に対して、どのPEがアクセス権限を持っているか(換言すれば、どのPEからのアクセスが許可されているか)を示すアクセス権限情報が記憶されている。そして、MPU33は、PE1,2の何れかからメモリ10の何れかのアドレスへのアクセス要求があると、そのアクセス要求を発したPEと、アクセス先のアドレスとを特定して、その特定したPEによる上記特定したアドレスへのアクセスが許可されているか否かを、当該MPU33に記憶されている上記アクセス権限情報に基づき判定し、許可されていないと判定したならば、アクセス要求を無効にするようになっている。
同様に、PPU35には、ペリフェラル21,22,…に付与されている各アドレスに対して、どのPEがアクセス権限を持っているかを示すアクセス権限情報が記憶されている。そして、PPU35は、PE1,2の何れかからペリフェラル21,22,…の何れかへのアクセス要求があると、そのアクセス要求を発したPEと、アクセス先のアドレス(ペリフェラル)とを特定して、その特定したPEによる上記特定したアドレス(ペリフェラル)へのアクセスが許可されているか否かを、当該PPU35に記憶されている上記アクセス権限情報に基づき判定し、許可されていないと判定したならば、アクセス要求を無効にするようになっている。
一方、マイコンにおいては、プロセッサからのデータ転送要求に従って、プロセッサの処理を介すことなく記憶装置へのアクセス処理を行うDMA(Direct Memory Access)コントローラを設けることにより、処理の効率を向上させることがある(例えば、特許文献2参照)。
そして、マルチプロセッサマイコンにおいて、DMAの機構を適用する場合、一般には、回路規模及びコストを抑える観点から、プロセッサ毎にDMAコントローラを用意することは考えにくく、図3に示すように、1つのDMAコントローラ37によって、複数のプロセッサ(PE1,2)の記憶領域に対するデータ転送処理(DMA転送)を行うように構成することとなる。
ここで、マルチプロセッサマイコンにおいて、1つのDMAコントローラが複数のプロセッサに共用される構成の場合、たとえ、前述のMPUやPPUといったメモリ管理装置が設けられていても、それらには、DMAコントローラからのアクセスに対する制限機能(データ保護機能)はないため、DMAコントローラによる意図せぬアクセスによるデータ破壊は防止することができない。
例えば、図3に例示したマイコン100において、ノイズ等の影響により誤ってPE2が、PE1に割り当てられたペリフェラル21に直接アクセスしようとすると、そのアクセスはPPU35が防止することとなるが、PE2がDMAコントローラ37を介して誤ってペリフェラル21にアクセスしてしまうと、そのアクセスが行われてしまう。
つまり、各PE1,2は、本当ならば、自身に割り当てられている記憶領域同士の間でDMA転送が行われるように、DMAコントローラ37に対するDMA要求として、その要求を成す転送元アドレスと転送先アドレスとの両方が、自身に割り当てられている記憶領域のアドレスとなるDMA要求を出すはずであるが、ノイズ等の影響により、DMAコントローラ37に取得された転送先アドレスが、他のPEに割り当てられた記憶領域のアドレスに化けてしまったとすると、異なるPEに割り当てられた記憶領域同士の間でデータ転送(DMA転送)が行われることととなり、PE1,2間のデータ干渉を生じさせてしまう。
すると、各PE1,2の処理の独立性が確保されなくなり、各PE1,2の処理を正しく行うことができなくなってしまう。特に、各PE1,2が、何等かの制御対象を制御するための処理を行う場合には、その制御対象を正しく制御することができなくなる。
例えば、PE1に割り当てられた記憶領域から、PE2に割り当てられた記憶領域にデータが転送されてしまうと、PE2が処理に用いるデータが破壊されてしまい、そのPE2側の処理を正しく行うことができなくなる。逆に、PE2に割り当てられた記憶領域から、PE1に割り当てられた記憶領域にデータが転送されてしまうと、PE1が処理に用いるデータが破壊されてしまい、そのPE1側の処理を正しく行うことができなくなる。
本発明は、こうした問題に鑑みなされたものであり、1つのDMAコントローラが複数の処理手段に共用されるようになっているマイクロコンピュータにおいて、異なる処理手段に割り当てられた記憶領域同士の間でDMA転送が行われてしまう誤アクセスを防止することを目的としている。
請求項1のマイクロコンピュータは、各々が複数の各プログラムを実行することで別々の処理を行う複数の処理手段と、データが記憶される記憶領域を複数有するデータ記憶手段と、複数の処理手段に共用されるDMAコントローラとを備えている。
DMAコントローラは、データ転送元の記憶領域とデータ転送先の記憶領域とを示すデータ転送要求が、各処理手段の何れかによって出されると、データ記憶手段の記憶領域のうち、データ転送要求が示すデータ転送元の記憶領域から、データ転送要求が示すデータ転送先の記憶領域へ、データを転送する。
そして、このマイクロコンピュータには、データ記憶手段の記憶領域のうち、どの記憶領域がどの処理手段に割り当てられているかを示す割当情報を記憶する割当情報記憶手段が備えられており、DMAコントローラは、その割当情報記憶手段に記憶されている割当情報を読み取り可能となっている。
このため、DMAコントローラは、データ転送要求が出された場合に、割当情報記憶手段に記憶されている割当情報を参照することで、データ転送要求が示すデータ転送元の記憶領域が割り当てられている処理手段と、当該データ転送要求が示すデータ転送先の記憶領域が割り当てられている処理手段とが、一致しているか否かを判定することができ、その両方の処理手段が一致していることを確認した上で、データ転送要求を処理する(即ち、データの転送処理を行う)ことで、DMA転送による各処理手段間のデータ干渉を防止することができる。つまり、異なる処理手段に割り当てられた記憶領域同士の間でDMA転送が行われてしまう誤アクセスを防止することができる。
具体的には、請求項2に記載のように、DMAコントローラは、データ転送要求が各処理手段の何れかによって出されると、当該データ転送要求が示すデータ転送元の記憶領域が割り当てられている処理手段と、当該データ転送要求が示すデータ転送先の記憶領域が割り当てられている処理手段とを、前記割当情報から特定して、その特定した両方の処理手段が一致しているか否かを判定し、その両方の処理手段が一致していないと判定した場合には、データの転送処理を行わないように構成すれば良い。そして、このように構成すれば、1つのDMAコントローラが複数の処理手段に共用されるマイクロコンピュータにおいて、DMA転送による各処理手段間のデータ干渉を防いで、各処理手段の処理の独立性を確保することができる。
尚、データ記憶手段は、物理的に1つの記憶装置(例えば複数のアドレスを持つメモリ)であっても良いし、複数の記憶装置からなっていても良い。つまり、トータルで複数の記憶領域を有していれば、物理的な形態としては1つでも複数でも何れでも良い。
また、複数の各処理手段としては、ハードウェア的に別々に設けられた複数の各CPU(プロセッサ)であっても良いし、1つのCPUが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。後者の場合には、実行されるプログラムを切り替える機構を備えると共に、各プログラムの実行(演算)に必要なレジスタを複数組備えることで、1つのCPUにより複数の各プログラムを仮想的に並列実行するマルチタスクの手法により、各処理手段を実現することができる。
次に、請求項3のマイクロコンピュータでは、請求項2のマイクロコンピュータにおいて、DMAコントローラは、前記両方の処理手段が一致していないと判定した場合には、データ転送要求を出した処理手段へ、エラーの通知を行うようになっている。
この構成によれば、処理手段は、そのエラー通知により、データ転送要求が拒否されたこと(データ転送が行われなかったこと)を知ることができるため、例えば、データ転送要求を出し直したり、他のエラー発生時用の処理を行ったりすることができる。よって、プログラム処理の信頼性を上げることができる。
ところで、1つのマイコンに複数の制御を実装する場合、各制御処理の保障すべき信頼性レベルは、制御の内容によって異なると考えられる。しかし、各処理手段間のデータ干渉があると、各処理手段が行う処理の独立性が不十分となるため、全ての制御処理の信頼性レベルを、マイコンに実装する制御の中で最高の信頼性レベルが必要なものと同じレベルで保障しなければならない。これに対して、本発明によれば、各処理手段間のデータ干渉を防ぐことができるようになるため、保障すべき信頼性レベル毎に制御を複数の各処理手段に割り振ることにより、処理手段毎に制御処理の信頼性レベルを必要最低限で保障できれば良いようにすることができる。よって、信頼性を保障するためのプログラムの工夫を、必要最低限の簡単なものにすることができる。
以下に、本発明が適用された実施形態のマイコン(マイクロコンピュータ)について説明する。
図1(A)に示すように、実施形態のマイコン40は、図3に示したマイコン100と比較すると、下記[1],[2]の点が異なっている。
図1(A)に示すように、実施形態のマイコン40は、図3に示したマイコン100と比較すると、下記[1],[2]の点が異なっている。
尚、本実施形態のマイコン40も、図3のマイコン100と同様に、マルチプロセッサマイコンであり、PE1,2の各々は、別々のCPUからなるプロセッサエレメントである。そして、例えば、PE1は、図示しないROMに記憶されているエンジン制御用のプログラムを実行することでハイブリッド車両(HV)のエンジンを制御するための処理を行う。また、例えば、PE2は、上記ROMあるいはそのROMとは別のROMに記憶されているパワーマネジメント制御用のプログラムを実行することでハイブリッド車両のパワーマネジメント制御の処理(モータとエンジンの出力を決定したり、モータ/ジェネレータを制御したりする処理)を行う。更に、本実施形態のマイコン40においても、前述したように、ペリフェラル21は、マイコン40の外部装置と通信するための通信装置(更に具体的には、例えば同期シリアル通信装置)であって、PE1に割り当てられたものであり、ペリフェラル22は、マイコン40の外部から入力されるアナログ信号をAD変換するAD変換器であって、PE2に割り当てられたものである。但し、PE1,2の制御処理内容やペリフェラルの種類は一例である。
[1]本実施形態のマイコン40は、レジスタ41を備えており、そのレジスタ41の記憶内容は、DMAコントローラ37が読み取り可能となっている。尚、レジスタ41は、DMAコントローラ37の外部と内部との何れに設けられても良い。
そして、レジスタ41には、当該マイコン40におけるデータ記憶手段の記憶領域のうち、どの記憶領域がどのPEに割り当てられているかを示す割当テーブル(割当情報に相当)が記憶されている。
ここで、本実施形態においては、メモリ10とペリフェラル21,22,…が、データ記憶手段に相当しており、メモリ10の記憶領域と、ペリフェラル21,22,…に備えられた記憶装置(レジスタやRAM等)の記憶領域とが、データ記憶手段の記憶領域に相当している。また、その各記憶領域のうち、バス31を介してアクセス(ライトアクセス又はリードアクセス)される記憶領域は、バス31のうちのアドレスバスに出力するアドレスデータによって指定されるようになっている。
そして、レジスタ41に記憶される割当テーブルは、図1(B)に示すように、各記憶領域のアドレスと、そのアドレス(詳しくは、そのアドレスが示す記憶領域)が割り当てられているPEの識別情報(本実施形態ではPEの番号であり、以下、PE番号とも言う)とを、対応付けて記述したものとなっている。
尚、本実施形態では、PEがPE1とPE2との2つであるため、PE番号は、“1”又は“2”であるが、図1(B)及び以下の説明では、分かりやすくするために、PE番号を、“PE1”、“PE2”と記載している。また、図1(B)において、アドレスを示す文字列の先頭2文字の0xは、それより左側の1文字ずつが16進数を示す文字(0〜F)であることを意味している。
また更に、本実施形態では、例えば、0x0000から0xEFFFまでのアドレスが、メモリ10の各記憶領域のアドレスであり、0xF000から0xFFFFまでのアドレスのうちの何れかが、ペリフェラル21,22,…のアドレスとなっている。そして、図1(B)において、例えば、「アドレスa」は、ペリフェラル21の送信データ用レジスタのアドレスであり、「アドレスb」は、ペリフェラル21の受信データ用レジスタのアドレスであり、「アドレスc」は、ペリフェラル22のアドレス(詳しくは、AD変換結果が格納されるレジスタのアドレス)であり、「アドレスd」は、他のペリフェラルのアドレスである。
一方、割当テーブルは、ROMへのプログラム書き込み時(最初の書き込み時あるいは書き替え時)や、当該マイコン40の起動時(リセットスタート時)において、レジスタ41へ書き込むように構成することができる。
そして、前者の場合には、ROMにプログラムを書き込むための外部装置から、割当テーブルのデータを送信することで、その割当テーブルがレジスタ41に書き込まれるように構成することができる。また、後者の場合には、MPU33とPPU35とに記憶されている前述のアクセス権限情報から、割当テーブルを作成してレジスタ41に書き込むように構成することができる。また例えば、マイコン40の起動要因によって、PE1,2の各々に割り当てられる記憶領域が変わるのであれば、マイコン40の起動時において、その時の起動要因に応じた割当テーブルを作成してレジスタ41に記憶するように構成すれば良い。
[2]DMAコントローラ37は、PE1,2の何れかからDMA要求(データ転送要求に相当)が出されると、図2の処理を行う。尚、本実施形態において、DMA要求は、DMA転送を要求する信号であるDMA要求通知と、データの転送元アドレス(データ転送元の記憶領域のアドレス)と、データの転送先アドレス(データ転送先の記憶領域のアドレス)とからなるが、それらは、同時に出力される形態でも、順次出力される形態でも、何れでも良い。
図2に示すように、DMAコントローラ37は、DMA要求が出されると(DMA要求通知を受け取ると)、そのDMA要求が示す転送元アドレスと転送先アドレスとを取得する。そして、転送元アドレスの記憶領域が割り当てられているPEの番号と、転送先アドレスの記憶領域が割り当てられているPEの番号とを、レジスタ41内の割当テーブルから検索して取得する(S110)。この処理により、転送元アドレスの記憶領域が割り当てられているPEと、転送先アドレスの記憶領域が割り当てられているPEとが、特定されることとなる。
更に、DMAコントローラ37は、上記取得した2つのPE番号が同一か否かを、例えばコンパレータにより判定し(S120)、2つのPE番号が同一であれば(S120:YES)、データ干渉を起こさないと判断して、DMA転送を実施する(S130)。つまり、DMA要求が示す転送元アドレスから転送先アドレスへとデータを転送する。
また、DMAコントローラ37は、上記取得した2つのPE番号が同一でない(一致していない)と判定した場合には(S120:NO)、そのままDMA転送してしまうと、異なるPEに割り当てられた記憶領域同士の間でデータ転送してしまい、転送先アドレスのデータを破壊してしまうため、DMA転送(データの転送処理)を実施することなく、DMA要求の出力元へエラー通知を行う(S140)。すると、DMA要求の出力元は、そのエラー通知により、DMA要求が拒否されたこと(即ち、DMA転送が行われなかったこと)を知ることとなり、例えば、DMA要求を出し直したり、他のエラー発生時用の処理を行ったりする。
次に、このようなマイコン40の作用について、具体例を挙げて説明する。
この具体例では、PE1から、ペリフェラル21(同期シリアル通信装置)で受信されたデータであって、前述の「アドレスb」に格納されているデータを、メモリ10のアドレスのうち、PE1に割り当てられている記憶領域11の「アドレスB」にDMA転送する、というDMA要求が出されたとする。
この具体例では、PE1から、ペリフェラル21(同期シリアル通信装置)で受信されたデータであって、前述の「アドレスb」に格納されているデータを、メモリ10のアドレスのうち、PE1に割り当てられている記憶領域11の「アドレスB」にDMA転送する、というDMA要求が出されたとする。
すると、DMAコントローラ37は、そのPE1からのDMA要求を受け取って、そのDMA要求が示す転送元アドレスと転送先アドレスとを取得する。
そして、DMAコントローラ37は、レジスタ41に格納されている割当テーブルを参照して、転送元アドレス(正常ならばアドレスb)の記憶領域が割り当てられているPEの番号(正常ならば“PE1”であり、ここではPENo_Xであるとする)と、転送先アドレス(正常ならばアドレスB)の記憶領域が割り当てられているPEの番号(正常ならば“PE1”であり、ここではPENo_Yであるとする)とを取得する。
そして、DMAコントローラ37は、レジスタ41に格納されている割当テーブルを参照して、転送元アドレス(正常ならばアドレスb)の記憶領域が割り当てられているPEの番号(正常ならば“PE1”であり、ここではPENo_Xであるとする)と、転送先アドレス(正常ならばアドレスB)の記憶領域が割り当てられているPEの番号(正常ならば“PE1”であり、ここではPENo_Yであるとする)とを取得する。
そして更に、DMAコントローラ37は、その取得した2つのPE番号PENo_X,PENo_Yを比較し、両方のPE番号PENo_X,PENo_Yが一致していれば、アドレスbからアドレスBへのDMA転送を行う。つまり、アドレスbからデータを読み出して、そのデータをアドレスBに書き込む。
また、DMAコントローラ37が取得した転送元アドレスと転送先アドレスとの何れかが、ノイズ等の影響により、PE2に割り当てられた記憶領域のアドレスに化けてしまった場合には、上記2つのPE番号PENo_X,PENo_Yは一致しなくなる。すると、その場合、DMAコントローラ37は、DMA転送を実施せずに、PE1に対してエラー通知を行うこととなる。
よって、PE1がエンジン制御に用いるデータを、PE2に割り当てられた記憶領域に上書きしてしまい、PE2がパワーマネジメント制御に用いるデータを破壊してしまうことや、逆に、PE2がパワーマネジメント制御に用いるデータを、PE1に割り当てられた記憶領域に上書きしてしまい、PE1がエンジン制御に用いるデータを破壊してしまうことを防止することができる。
そして、以上のようなマイコン40によれば、異なるPEに割り当てられた記憶領域同士の間でDMA転送が行われてしまう誤アクセス(換言すれば、DMA転送によるPE間のデータ干渉)を防止して、各PEの制御処理の独立性を確保することができる。
尚、本実施形態では、PE1,PE2の各々が処理手段に相当し、また、既述したように、メモリ10とペリフェラル21,22,…がデータ記憶手段に相当している。そして、レジスタ41が割当情報記憶手段に相当し、割当テーブルが割当情報に相当している。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、PE1,2の各々が、メモリ10とペリフェラル21,22,…に直接アクセス(DMAコントローラ37を介さずにアクセス)しないのであれば、MPU33とPPU35は設けなくても良い。
また、割当テーブルを記憶する記憶手段としては、レジスタ41に限らず、例えばRAMや書き替え可能なROMや書き替え不能なROMを用いても良い。
また、PE1,2の各々は、1つのCPUが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。
また、PE1,2の各々は、1つのCPUが複数の各プログラムを切り替えて実行することで実現される機能手段であっても良い。
また、PEの数は3つ以上でも良い。
1,2…プロセッサエレメント(PE)、10…メモリ、21,22…ペリフェラル
31…バス、33…MPU(Memory Protection Unit)
35…PPU(Peripheral Protection Unit)
37…DMAコントローラ、40…マイコン、41…レジスタ
31…バス、33…MPU(Memory Protection Unit)
35…PPU(Peripheral Protection Unit)
37…DMAコントローラ、40…マイコン、41…レジスタ
Claims (3)
- 各々が複数の各プログラムを実行することで別々の処理を行う複数の処理手段と、
データが記憶される記憶領域を複数有するデータ記憶手段と、
データ転送元の記憶領域とデータ転送先の記憶領域とを示すデータ転送要求が、前記各処理手段の何れかによって出されると、前記データ記憶手段の記憶領域のうち、前記データ転送要求が示すデータ転送元の記憶領域から、前記データ転送要求が示すデータ転送先の記憶領域へ、データを転送するDMAコントローラと、
を備えたマイクロコンピュータであって、
前記データ記憶手段の記憶領域のうち、どの記憶領域がどの処理手段に割り当てられているかを示す割当情報を記憶する割当情報記憶手段を備え、
前記DMAコントローラが、前記割当情報記憶手段に記憶されている前記割当情報を読み取り可能となっていること、
を特徴とするマイクロコンピュータ。 - 請求項1に記載のマイクロコンピュータにおいて、
前記DMAコントローラは、
前記データ転送要求が前記各処理手段の何れかによって出されると、当該データ転送要求が示すデータ転送元の記憶領域が割り当てられている処理手段と、当該データ転送要求が示すデータ転送先の記憶領域が割り当てられている処理手段とを、前記割当情報から特定して、その特定した両方の処理手段が一致しているか否かを判定し、その両方の処理手段が一致していないと判定した場合には、データの転送処理を行わないこと、
を特徴とするマイクロコンピュータ。 - 請求項2に記載のマイクロコンピュータにおいて、
前記DMAコントローラは、
前記両方の処理手段が一致していないと判定した場合には、前記データ転送要求を出した処理手段へ、エラーの通知を行うこと、
を特徴とするマイクロコンピュータ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011025717A JP2012164253A (ja) | 2011-02-09 | 2011-02-09 | マイクロコンピュータ |
DE201210201396 DE102012201396A1 (de) | 2011-02-09 | 2012-02-01 | Mikrocomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011025717A JP2012164253A (ja) | 2011-02-09 | 2011-02-09 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012164253A true JP2012164253A (ja) | 2012-08-30 |
Family
ID=46547189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011025717A Pending JP2012164253A (ja) | 2011-02-09 | 2011-02-09 | マイクロコンピュータ |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2012164253A (ja) |
DE (1) | DE102012201396A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001297054A (ja) * | 2000-04-11 | 2001-10-26 | Sharp Corp | Dmaの転送逸脱防止方法及びdmaコントローラ |
JP2006293516A (ja) * | 2005-04-07 | 2006-10-26 | Matsushita Electric Ind Co Ltd | バスアクセス制御装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008123031A (ja) | 2006-11-08 | 2008-05-29 | Toyota Motor Corp | 共有メモリ管理装置及び該装置を備えたマルチプロセッサシステム |
JP4737049B2 (ja) | 2006-11-27 | 2011-07-27 | 株式会社デンソー | 通信システム及び電子制御装置 |
-
2011
- 2011-02-09 JP JP2011025717A patent/JP2012164253A/ja active Pending
-
2012
- 2012-02-01 DE DE201210201396 patent/DE102012201396A1/de not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001297054A (ja) * | 2000-04-11 | 2001-10-26 | Sharp Corp | Dmaの転送逸脱防止方法及びdmaコントローラ |
JP2006293516A (ja) * | 2005-04-07 | 2006-10-26 | Matsushita Electric Ind Co Ltd | バスアクセス制御装置 |
Also Published As
Publication number | Publication date |
---|---|
DE102012201396A1 (de) | 2012-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4872001B2 (ja) | メモリ・アクセス安全性管理 | |
US20190155757A1 (en) | Memory access protection apparatus and methods for memory mapped access between independently operable processors | |
JP2008097173A (ja) | データプロセッサ | |
EP3084593B1 (en) | Updatable integrated-circuit radio | |
JP2008102850A (ja) | 情報処理装置及び情報処理方法 | |
WO2010097925A1 (ja) | 情報処理装置 | |
WO2010119802A1 (ja) | コンピュータ・システム及びコンピュータ・システムの処理方法 | |
CN114003168B (zh) | 用于处理命令的存储设备和方法 | |
JP2009296195A (ja) | 複数のcpuコアを備えたfpgaを用いた暗号装置 | |
JP6326047B2 (ja) | 集積回路型無線 | |
JP2016537730A (ja) | 割り付けられていないメモリ、または初期化されていないメモリに対するリード・アクセスを検出すること | |
EP3087477B1 (en) | Integrated-circuit radio | |
JP5644380B2 (ja) | 情報処理装置 | |
US10481951B2 (en) | Multi-queue device assignment for application groups | |
CN116107697A (zh) | 一种不同操作系统之间互相通信的方法及系统 | |
JP2012164253A (ja) | マイクロコンピュータ | |
JP2010146117A (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
JP6668908B2 (ja) | 情報処理システム、送信装置および情報処理システムの制御方法 | |
CN117272412B (zh) | 中断控制寄存器保护方法、装置、计算机设备及存储介质 | |
JP6438381B2 (ja) | 電子制御装置 | |
JP2011203946A (ja) | 集積回路、及びこれを用いた情報処理システム | |
JP2009271597A (ja) | プロセッサ | |
US20090037668A1 (en) | Protected portion of partition memory for computer code | |
JP5380392B2 (ja) | 半導体装置、バスインターフェース装置、およびコンピュータシステム | |
TWI467374B (zh) | 運算系統及用於分割記憶體之受保護部分之方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130521 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130522 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130924 |