JP2013190930A - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP2013190930A
JP2013190930A JP2012055883A JP2012055883A JP2013190930A JP 2013190930 A JP2013190930 A JP 2013190930A JP 2012055883 A JP2012055883 A JP 2012055883A JP 2012055883 A JP2012055883 A JP 2012055883A JP 2013190930 A JP2013190930 A JP 2013190930A
Authority
JP
Japan
Prior art keywords
interrupt
permission state
state information
setting
program
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.)
Granted
Application number
JP2012055883A
Other languages
English (en)
Other versions
JP5561295B2 (ja
Inventor
Nobuyuki Kondo
信行 近藤
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 JP2012055883A priority Critical patent/JP5561295B2/ja
Priority to DE102013204037.7A priority patent/DE102013204037B4/de
Publication of JP2013190930A publication Critical patent/JP2013190930A/ja
Application granted granted Critical
Publication of JP5561295B2 publication Critical patent/JP5561295B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)

Abstract

【課題】許可および禁止を変更可能な割り込みをプログラム毎に設定する
【解決手段】ROM3が、複数の割り込み要因1,2,3,4,5のそれぞれについて、複数のプログラム311,312,313,32,33毎に、割り込みを許可するか禁止するかを設定する割込設定が可能であるか否かを示す割込設定情報が格納された割込設定テーブル34を記憶しており、マイコン1では、割込許可命令(割込禁止命令)が入力すると、割込設定テーブル34を参照し、現時点で実行中のプログラムに対応した割込設定情報に基づいて、割込設定が可能である割り込み要因による割り込みを許可(禁止)する。そして、プログラムの実行中に割り込み要因が発生した場合に、この割り込みが許可されたものである場合には、プログラムの実行を中断して、対応する割り込み処理を実行し、禁止されたものである場合には対応する割り込み処理を禁止する。
【選択図】図1

Description

本発明は、複数のプログラムを実行可能に構成されたマイクロコンピュータに関する。
マイクロコンピュータは、一般に、CPUとメモリの他に周辺回路および割込コントローラを備えて構成されている(例えば、特許文献1を参照)。割込コントローラは、周辺回路からの割込要求を一括管理しており、複数の割込要求が同時に発生すると、割込要求毎に予め設定された優先度に基づいて、優先度が最も高い割込要求に対応した割込要求信号をCPUに出力する。そしてCPUは、割込許可状態である場合に割込要求信号が入力すると割り込みを許可する一方、割込禁止状態である場合に割込要求信号が入力すると割り込みを禁止するように構成されている。
またCPUは、割込許可命令(以下、EI命令という)を実行すると、ノンマスカブル割り込み(NMI)等の一部を除いた割り込みが許可される割込許可状態になる一方、割込禁止命令(以下、DI命令という)を実行すると、ノンマスカブル割り込み(NMI)等の一部を除いた割り込みが禁止される割込禁止状態となる。
特許第3209144号公報
しかし、マイクロコンピュータでは、上述のように、EI命令およびDI命令を実行すると、ノンマスカブル割り込み(NMI)等の一部を除いた割り込みを一括して許可および禁止する。このため、割込許可状態または割込禁止状態に変更することができる割り込みを、プログラム毎に異なるように設定することができないという問題があった。
本発明は、こうした問題に鑑みてなされたものであり、許可および禁止を変更可能な割り込みをプログラム毎に設定することができる技術を提供することを目的とする。
上記目的を達成するためになされた請求項1に記載の発明は、複数のプログラムを実行可能なマイクロコンピュータであって、第1記憶手段が、複数の割り込み要因のそれぞれについて、複数のプログラム毎に、割り込みを許可するか禁止するかを設定する割込設定が可能であるか否かを示す割込設定情報が格納された割込設定テーブルを記憶しており、割込許可手段が、割り込みを許可する設定を指示するための割込許可命令が入力すると、第1記憶手段に記憶されている割込設定テーブルを参照し、現時点で実行中のプログラムに対応した割込設定情報に基づいて、割込設定が可能である割り込み要因を特定し、特定した割り込み要因による割り込みを許可するとともに、割込禁止手段が、割り込みを禁止する設定を指示するための割込禁止命令が入力すると、第1記憶手段に記憶されている割込設定テーブルを参照し、現時点で実行中のプログラムに対応した割込設定情報に基づいて、割込設定が可能である割り込み要因を特定し、特定した割り込み要因による割り込みを禁止する。そして割込処理実行手段が、プログラムの実行中に割り込み要因が発生した場合に、発生した割り込み要因による割り込みが割込許可手段により許可されたものである場合には、プログラムの実行を中断して、発生した割り込み要因に対応する割り込み処理を実行し、発生した割り込み要因による割り込みが割込禁止手段により禁止されたものである場合には、発生した割り込み要因に対応する割り込み処理を禁止する。
このように構成されたマイクロコンピュータでは、現時点で実行中のプログラムにおいて、割り込みを許可するか禁止するかを設定する割込設定が可能である割り込み要因を、割込設定テーブルを参照することにより特定し、割込設定が可能であると特定した割り込み要因による割り込みを、割込許可命令および割込禁止命令が入力したときにそれぞれ許可および禁止することができる。これにより、許可および禁止を変更可能な割り込みをプログラム毎に設定することができる。
また、請求項1に記載のマイクロコンピュータにおいて、請求項2に記載のように、第2記憶手段には、現時点で実行中のプログラムについて、複数の割り込み要因毎に、割り込みを許可するか禁止するかを示す割込許可状態情報を格納する割込許可状態格納領域が設けられており、割込許可手段は、割込許可状態格納領域に格納されている割込許可状態情報のうち割り込み要因に対応する割込許可状態情報を、割り込みを許可する旨を示す内容に設定することで、特定した割り込み要因による割り込みを許可し、割込禁止手段は、割込許可状態格納領域に格納されている割込許可状態情報のうち割り込み要因に対応する割込許可状態情報を、割り込みを禁止する旨を示す内容に設定することで、特定した割り込み要因による割り込みを禁止し、割込処理実行手段は、割込許可状態格納領域に格納されている割込許可状態情報を参照することによって、発生した割り込み要因に対応する割り込み処理を実行するか禁止するかを判断し、情報移動手段は、実行するプログラムが変更されると、プログラムが変更される前の割込許可状態情報を記憶することにより割込許可状態情報を退避させるとともに、変更された後のプログラムに対応する割込許可状態情報を、第2記憶手段に設けられた割込許可状態格納領域に格納することにより割込許可状態情報を復帰させるようにしてもよい。
このように構成されたマイクロコンピュータでは、実行するプログラムが変更されると割込許可状態情報を退避させ、その後にプログラムが変更されると、退避させた割込許可状態情報のうち、変更された後のプログラムに対応する割込許可状態情報を復帰させる。このため、実行するプログラムが変更され、その後さらに、実行するプログラムが1回または複数回変更されることにより、実行するプログラムが同じものに戻った場合に、他のプログラムの実行中に割込許可状態情報が変更されていたとしても、割込許可状態情報を元の状態に復帰させることができる。
また、請求項2に記載のマイクロコンピュータにおいて、請求項3に記載のように、情報移動手段は、プログラムが変更される前のプログラムに対応した割込設定情報に基づいて、割込設定が可能である割り込み要因を特定し、割込許可状態格納領域に格納された割込許可状態情報のうち、割込設定が可能であると特定した割り込み要因に対応する割込許可状態情報を記憶することにより割込許可状態情報を退避させるようにしてもよい。
このように構成されたマイクロコンピュータでは、実行するプログラムが変更されると、プログラムが変更される前のプログラムに対応した割込許可状態情報のうち、割込設定が可能である割り込み要因についての割込許可状態情報を退避させ、その後にプログラムが変更されると、退避させた割込許可状態情報のうち、変更された後のプログラムに対応する割込許可状態情報を復帰させる。このため、実行するプログラムが変更され、その後さらに、実行するプログラムが1回または複数回変更されることにより、実行するプログラムが同じものに戻った場合に、割込設定が可能でない割り込み要因に対応する割込許可状態情報については、他のプログラムにより変更された割込許可状態情報を保持することができる。これは、割込設定を行うことができない割り込み要因については、実行するプログラムが同じものに戻った時に割込許可状態情報が保持されている必要がないという考えに基づく。これにより、第2記憶手段に設けられた割込許可状態格納領域に格納されている全ての割込許可状態情報を退避および復帰させる必要がなくなるため、割込許可状態情報を退避させるための記憶領域と処理負荷を低減することができる。
第1実施形態のマイコン1の構成を示すブロック図である。 割込設定処理を示すフローチャートである。 割込要求判断処理を示すフローチャートである。 第1実施形態の割込許可状態情報の変化を説明するタイミングチャートである。 第2実施形態のマイコン1の構成を示すブロック図である。 第2実施形態の割込許可状態情報の変化を説明するタイミングチャートである。 第3実施形態の割込許可状態情報の変化を説明するタイミングチャートである。 第4,5実施形態の割込設定テーブル34を示す図である。 第4実施形態の割込許可状態情報の変化を説明するタイミングチャートである。 第5実施形態の割込許可状態情報の変化を説明するタイミングチャートである。
(第1実施形態)
以下に本発明の第1実施形態を図面とともに説明する。
マイクロコンピュータ(以下、マイコンという)1は、車両に搭載されており、図1に示すように、CPU2、ROM3、RAM4、ペリフェラル5,6,7,8,9、および割込コントローラ10と、これらを相互に接続するバス11とを備える。そしてマイコン1は、ROM3に記憶されたプログラムをCPU2が実行することにより、各種処理を実行する。
ペリフェラル5,6,7,8,9は、CPU2からみた周辺回路であり、AD変換器やI/O等である。そしてペリフェラル5,6,7,8,9は、車両の各種状態を検出するセンサ(不図示)、または、車両の乗員からの指示を入力するための操作スイッチ(不図示)に接続され、センサからの検出情報、または操作スイッチからの操作情報を出力する。
割込コントローラ10は、様々な割り込み要因の発生を示す信号を入力し、入力した信号が示す割り込み要因毎に予め設定された優先度に基づいて、優先度が最も高い割り込み要因に対応した割込要求信号をCPU2に出力する機能を有する。また割込コントローラ10は、ペリフェラル5,6,7,8,9が検出情報または操作情報を出力すると、それぞれ割り込み要因1,2,3,4,5が発生したと判断する。以下、割り込み要因1,2,3,4,5をそれぞれ、割込1,2,3,4,5と表記する。
ROM3は、不揮発性メモリであり、種々の処理プログラムがROM3に格納されている。本実施形態では、車両に搭載されたエンジン等を制御する車両制御プログラム31と、車両制御プログラムを実行するための基盤となるオペレーティングシステム(以下、OSという)を制御するOSプログラム32と、複数のOSをCPU2上で並列に実行可能とするためにOSを管理するハイパーバイザを実行するハイパーバイザプログラム33がROM3に格納されている。なお、車両制御プログラム31、OSプログラム32、およびハイパーバイザプログラム33の特権レベルはそれぞれ、「低」、「中」、および「高」であり、特権レベルが低くなるほど、プログラムで実行可能な命令と、プログラムによるRAM4へのアクセスとが制限される。
さらに車両制御プログラム31は、複数のプログラム311,312,313により構成されている。そして、プログラム311,312,313,32,33には、識別番号としてそれぞれ001,002,003,004,005が付与されている。
またROM3には、割込設定テーブル34が格納されている。割込設定テーブル34では、割込1,2,3,4,5のそれぞれについて、プログラム毎に、割込許可命令(以下、EI命令という)および割込禁止命令(以下、DI命令という)を受付可能であるか否かが設定されている。なおEI命令は、ノンマスカブル割り込み(NMI)等の一部を除いた割り込みを一括して許可する命令である。またDI命令は、NMI等の一部を除いた割り込みを一括して禁止する命令である。
本実施形態では、識別番号が「001」である場合には割込1についてEI命令およびDI命令を受け付け、識別番号が「002」である場合には割込1,2についてEI命令およびDI命令を受け付け、識別番号が「003」である場合には割込1,2,3についてEI命令およびDI命令を受け付け、識別番号が「004」である場合には割込1,2,3,4についてEI命令およびDI命令を受け付け、識別番号が「005」である場合には割込1,2,3,4,5についてEI命令およびDI命令を受け付けるように設定されている。
CPU2は、プログラムを実行するための演算ユニット21と、演算ユニット21が利用するデータを格納するための複数のレジスタから構成されるレジスタ群22とを備え、所定の処理プログラムに基づいて処理を実行する。そして、レジスタ群22のレジスタ内に、識別番号格納領域SR1、割込設定格納領域SR2、および割込許可状態格納領域SR3が設けられる。
識別番号格納領域SR1には、CPU2上において現時点で実行中のプログラムの識別番号を示す識別番号情報が格納される。割込設定格納領域SR2には、割込1,2,3,4,5のそれぞれについて現時点で割込設定が可能であるか否かを示す情報(以下、割込設定情報という)が格納される。割込許可状態格納領域SR3には、割込1,2,3,4,5のそれぞれについて現時点でEI命令およびDI命令が受け付けられているか否かを示す情報(以下、割込許可状態情報という)が格納される。
そしてCPU2は、割込コントローラ10から割込1,2,3,4,5に対応した割込要求信号を入力すると、割込許可状態格納領域SR3に格納された割込許可状態情報に基づいて、割込1,2,3,4,5を受け付けるか否かを決定する。
このように構成されたマイコン1のCPU2が実行する割込設定処理と割込要求判断処理の手順を図2と図3を用いて説明する。この割込設定処理および割込要求判断処理は、CPU2の動作中に繰り返し実行される処理である。
まず、割込設定処理が実行されると、CPU2は、図2に示すように、まずS10にて、CPU2上において実行中のプログラムの識別番号が変化したか否かを判断する。ここで、識別番号が変化していない場合には(S10:NO)、S40に移行する。一方、識別番号が変化した場合には(S10:YES)、S20にて、実行中のプログラムの識別番号を示す識別番号情報を識別番号格納領域SR1に格納するとともに、S30にて、実行中のプログラムの識別番号に対応する割込設定情報を割込設定格納領域SR2に格納し、S40に移行する。例えば、CPU2上においてプログラム312を実行中である場合には、識別番号が「002」であることを示す識別番号情報を識別番号格納領域SR1に格納し、さらに、割込1,2についてはEI命令およびDI命令を受け付けるとともに割込3,4,5についてはEI命令およびDI命令を受け付けないことを示す割込設定情報を割込設定格納領域SR2に格納する。
そしてS40に移行すると、EI命令がCPU2に入力したか否かを判断する。ここで、EI命令が入力していない場合には(S40:NO)、S60に移行する。一方、EI命令が入力した場合には(S40:YES)、S50にて、割込設定格納領域SR2に格納された割込設定情報を参照して、割込1,2,3,4,5のうちEI命令およびDI命令の受付が許可されている割込を特定し、特定した割込について割り込みを許可するように、割込許可状態格納領域SR3に格納された割込許可状態情報を書き換えて、S60に移行する。例えば、識別番号が「002」である場合には、割込1,2についてEI命令およびDI命令の受付が許可されているため、割込1,2について割り込みを許可するように割込許可状態情報を書き換える。
そしてS60に移行すると、DI命令がCPU2に入力したか否かを判断する。ここで、DI命令が入力していない場合には(S60:NO)、割込設定処理を一旦終了する。一方、DI命令が入力した場合には(S60:YES)、S70にて、割込設定格納領域SR2に格納された割込設定情報を参照して、割込1,2,3,4,5のうちEI命令およびDI命令の受付が許可されている割込を特定し、特定した割込について割り込みを禁止するように、割込許可状態格納領域SR3に格納された割込許可状態情報を書き換えて、割込設定処理を一旦終了する。例えば、識別番号が「002」である場合には、割込1,2についてEI命令およびDI命令の受付が許可されているため、割込1,2について割り込みを禁止するように割込許可状態情報を書き換える。
また、割込要求判断処理が実行されると、CPU2は、図3に示すように、まずS110にて、割込要求信号がCPU2に入力したか否かを判断する。ここで、割込要求信号が入力していない場合には(S110:NO)、割込要求判断処理を一旦終了する。一方、割込要求信号が入力した場合には(S110:YES)、S120にて、割込要求信号が示す割り込み要因(すなわち、割込1,2,3,4,5の何れか一つ)が許可されているか否かを、割込許可状態格納領域SR3に格納された割込許可状態情報を参照することにより判断する。ここで、割込要求信号が示す割り込み要因が許可されていない場合には(S120:NO)、割込要求判断処理を一旦終了する。一方、割込要求信号が示す割り込み要因が許可されている場合には(S120:YES)、S130にて、実行中のプログラム(すなわち、プログラム311,312,313,32,33の何れか一つ)を中断して、割込要求信号が示す割り込み要因に対応する割り込み処理を実行させて、割込要求判断処理を一旦終了する。
次に、割込許可状態情報の変化の一例を図4を用いて説明する。なお、説明を簡略化するために、識別番号が「001」,「002」,「003」の間で変化する場合を示している。
図4に示すように、まず時刻t0において、識別番号が「001」であり、プログラム311における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されているとする(割込許可状態情報IP00を参照)。そして時刻t1においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP01を参照)。
その後、時刻t2において識別番号が「001」から「002」に変化し、プログラム312における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP02を参照)。さらに時刻t3においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込1,2についてDI命令を受け付けるため、割込1,2,3は「禁止」に設定される(割込許可状態情報IP03を参照)。
その後、時刻t4において識別番号が「002」から「003」に変化し、プログラム313における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP04を参照)。さらに時刻t5においてEI命令がCPU2に入力すると、識別番号が「003」である場合には割込1,2,3についてEI命令を受け付けるため、割込1,2,3は「許可」に設定される(割込許可状態情報IP05を参照)。
その後、時刻t6において識別番号が「003」から「002」に変化し、さらに時刻t7においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込1,2についてDI命令を受け付けるため、割込1,2は「禁止」に設定され、割込3は「許可」に設定される(割込許可状態情報IP06を参照)。
その後、時刻t8において識別番号が「002」から「001」に変化し、さらに時刻t9においてDI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてDI命令を受け付けるため、割込1,2は「禁止」に設定され、割込3は「許可」に設定される(割込許可状態情報IP07を参照)。また時刻t10においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,3は「許可」に設定され、割込2は「禁止」に設定される(割込許可状態情報IP08を参照)。
その後、時刻t11において識別番号が「001」から「003」に変化し、さらに時刻t12においてDI命令がCPU2に入力すると、識別番号が「003」である場合には割込1,2,3についてDI命令を受け付けるため、割込1,2,3は「禁止」に設定される(割込許可状態情報IP09を参照)。
このように構成されたマイコン1は、複数のプログラム311,312,313,32,33を実行可能であって、ROM3が、複数の割り込み要因1,2,3,4,5(割込1,2,3,4,5)のそれぞれについて、複数のプログラム311,312,313,32,33毎に、割り込みを許可するか禁止するかを設定する割込設定が可能であるか否かを示す割込設定情報が格納された割込設定テーブル34を記憶しており、割込許可命令(EI命令)が入力すると、ROM3に記憶されている割込設定テーブル34を参照し、現時点で実行中のプログラムに対応した割込設定情報に基づいて、割込設定が可能である割り込み要因を特定し、特定した割り込み要因による割り込みを許可する(S40,S50)とともに、割込禁止命令(DI命令)が入力すると、ROM3に記憶されている割込設定テーブル34を参照し、現時点で実行中のプログラムに対応した割込設定情報に基づいて、割込設定が可能である割り込み要因を特定し、特定した割り込み要因による割り込みを禁止する(S60,S70)。そして、プログラムの実行中に割り込み要因が発生した場合に、発生した割り込み要因による割り込みが許可されたものである場合には(S120:YES)、プログラムの実行を中断して、発生した割り込み要因に対応する割り込み処理を実行し(S130)、発生した割り込み要因による割り込みが禁止されたものである場合には(S120:NO)、発生した割り込み要因に対応する割り込み処理を禁止する。
このように構成されたマイコン1では、現時点で実行中のプログラムにおいて、割り込みを許可するか禁止するかを設定する割込設定が可能である割り込み要因を、割込設定テーブル34を参照することにより特定し、割込設定が可能であると特定した割り込み要因による割り込みを、EI命令およびDI命令が入力したときにそれぞれ許可および禁止することができる。これにより、許可および禁止を変更可能な割り込みをプログラム毎に設定することができる。
以上説明した実施形態において、ROM3は本発明における第1記憶手段、S40,S50の処理は本発明における割込許可手段、S60,S70の処理は本発明における割込禁止手段、S110〜S130の処理は本発明における割込処理実行手段である。
(第2実施形態)
以下に本発明の第2実施形態を図面とともに説明する。なお第2実施形態では、第1実施形態と異なる部分のみを説明する。
第2実施形態におけるマイコン1は、図5に示すように、情報移動ユニット23が追加された点以外は第1実施形態と同じである。
情報移動ユニット23は、割込許可状態格納領域SR3に格納された割込許可状態情報を退避させたり復帰させたりする機能を有するハードウェアである。具体的に、情報移動ユニット23は、現時点で実行中のプログラムの識別番号が変化すると、変化する前に割込許可状態格納領域SR3に格納された割込許可状態情報を識別番号と対応付けて、情報移動ユニット23内に設けられた情報記憶領域に記憶させる。その後に、現時点で実行中のプログラムの識別番号が更に変化すると、情報移動ユニット23は、変化した後の識別番号と同じ識別番号に対応付けられている割込許可状態情報を、情報移動ユニット23内に設けられた情報記憶領域から抽出して、抽出した割込許可状態情報を、割込許可状態格納領域SR3に格納する。
次に、割込許可状態情報の変化の一例を図6を用いて説明する。なお、説明を簡略化するために、識別番号が「001」,「002」,「003」の間で変化する場合を示している。
図6に示すように、まず時刻t0において、識別番号が「001」であり、プログラム311における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されているとする(割込許可状態情報IP20を参照)。そして時刻t1においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP21を参照)。
その後、時刻t2において識別番号が「001」から「002」に変化すると、プログラム312における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP22を参照)。また、識別番号が「002」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP21を情報移動ユニット23に退避させる。さらに時刻t3においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込1,2についてDI命令を受け付けるため、割込1,2,3は「禁止」に設定される(割込許可状態情報IP23を参照)。
その後、時刻t4において識別番号が「002」から「003」に変化すると、プログラム313における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP24を参照)。また、識別番号が「003」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP23を情報移動ユニット23に退避させる。さらに時刻t5においてEI命令がCPU2に入力すると、識別番号が「003」である場合には割込1,2,3についてEI命令を受け付けるため、割込1,2,3は「許可」に設定される(割込許可状態情報IP25を参照)。
その後、時刻t6において識別番号が「003」から「002」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP23を割込許可状態格納領域SR3に復帰させる(矢印AL11を参照)。これにより、割込1,2,3は「禁止」に設定される(割込許可状態情報IP26を参照)。また、識別番号が「002」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP25を情報移動ユニット23に退避させる。さらに時刻t7においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込1,2についてDI命令を受け付けるため、割込1,2,3は「禁止」に設定される(割込許可状態情報IP27を参照)。
その後、時刻t8において識別番号が「002」から「001」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP21を割込許可状態格納領域SR3に復帰させる(矢印AL12を参照)。これにより、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP28を参照)。また、識別番号が「001」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP27を情報移動ユニット23に退避させる。さらに時刻t9においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP29を参照)。また時刻t10においてDI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてDI命令を受け付けるため、割込2は「許可」に設定され、割込1,3は「禁止」に設定される(割込許可状態情報IP30を参照)。
その後、時刻t11において識別番号が「001」から「003」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP25を割込許可状態格納領域SR3に復帰させる(矢印AL13を参照)。これにより、割込1,2,3は「許可」に設定される(割込許可状態情報IP31を参照)。また、識別番号が「003」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP30を情報移動ユニット23に退避させる。さらに時刻t12においてDI命令がCPU2に入力すると、識別番号が「003」である場合には割込1,2,3についてDI命令を受け付けるため、割込1,2,3は「禁止」に設定される(割込許可状態情報IP32を参照)。
このように構成されたマイコン1では、レジスタ群22に、現時点で実行中のプログラムについて、複数の割込1,2,3,4,5毎に、割り込みを許可するか禁止するかを示す割込許可状態情報を格納する割込許可状態格納領域SR3が設けられている。そしてマイコン1では、割込許可状態格納領域SR3に格納されている割込許可状態情報のうち割り込み要因に対応する割込許可状態情報を、割り込みを許可する旨を示す内容に設定することで、特定した割り込み要因による割り込みを許可するとともに(S50)、割り込みを禁止する旨を示す内容に設定することで、特定した割り込み要因による割り込みを禁止する(S70)。またマイコン1では、割込許可状態格納領域SR3に格納されている割込許可状態情報を参照することによって、発生した割り込み要因に対応する割り込み処理を実行するか禁止するかを判断する(S120)。
そして情報移動ユニット23は、実行するプログラムが変更されることにより、実行するプログラムが変更されると、プログラムが変更される前の割込許可状態情報を記憶することにより割込許可状態情報を退避させるとともに、変更された後のプログラムに対応する割込許可状態情報を、レジスタ群22に設けられた割込許可状態格納領域SR3に格納することにより割込許可状態情報を復帰させる。
このように構成されたマイコン1では、実行するプログラムが変更されると割込許可状態情報を退避させ、その後にプログラムが変更されると、退避させた割込許可状態情報のうち、変更された後のプログラムに対応する割込許可状態情報を復帰させる。このため、実行するプログラムが変更され、その後さらに、実行するプログラムが1回または複数回変更されることにより、実行するプログラムが同じものに戻った場合に、他のプログラムの実行中に割込許可状態情報が変更されていたとしても、割込許可状態情報を元の状態に復帰させることができる。
以上説明した実施形態において、レジスタ群22は本発明における第2記憶手段、情報移動ユニット23は本発明における情報移動手段である。
(第3実施形態)
以下に本発明の第3実施形態を図面とともに説明する。なお第3実施形態では、第2実施形態と異なる部分のみを説明する。
第3実施形態におけるマイコン1は、情報移動ユニット23の機能が変更された点以外は第2実施形態と同じである。
すなわち、情報移動ユニット23は、割込設定格納領域SR2に格納されている割込設定情報に基づいて、割込1,2,3,4,5のうち、割込設定が可能である割込を特定し、その後、割込許可状態格納領域SR3に格納された割込許可状態情報のうち、特定した割込に対応する割込許可状態情報のみを退避させたり復帰させたりする機能を有する。例えば、情報移動ユニット23は、識別番号が「001」から「002」に変化すると、割込許可状態格納領域SR3に格納された割込許可状態情報のうち、割込1に対応する割込許可状態情報のみを退避させ、識別番号が「002」から「003」に変化すると、割込1,2に対応する割込許可状態情報のみを退避させる。また情報移動ユニット23は、例えば識別番号が「001」から「002」に変化すると、割込1,2に対応する割込許可状態情報のみを復帰させる。
次に、割込許可状態情報の変化の一例を図7を用いて説明する。なお、説明を簡略化するために、識別番号が「001」,「002」,「003」の間で変化する場合を示している。
図7に示すように、まず時刻t0において、識別番号が「001」であり、プログラム311における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されているとする(割込許可状態情報IP40を参照)。そして時刻t1においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP41を参照)。
その後、時刻t2において識別番号が「001」から「002」に変化すると、プログラム312における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP42を参照)。また、識別番号が「002」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP41のうち、割込1に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t3においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込1,2についてDI命令を受け付けるため、割込1,2,3は「禁止」に設定される(割込許可状態情報IP43を参照)。
その後、時刻t4において識別番号が「002」から「003」に変化すると、プログラム313における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP44を参照)。また、識別番号が「003」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP43のうち、割込1,2に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t5においてEI命令がCPU2に入力すると、識別番号が「003」である場合には割込1,2,3についてEI命令を受け付けるため、割込1,2,3は「許可」に設定される(割込許可状態情報IP45を参照)。
その後、時刻t6において識別番号が「003」から「002」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP43を割込許可状態格納領域SR3に復帰させる(矢印AL21を参照)。これにより、割込3は割り込みの「許可」に設定され、割込1,2は「禁止」に設定される(割込許可状態情報IP46を参照)。また、識別番号が「002」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP45のうち、割込1,2,3に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t7においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込1,2についてDI命令を受け付けるため、割込3は割り込みの「許可」に設定され、割込1,2は「禁止」に設定される(割込許可状態情報IP47を参照)。
その後、時刻t8において識別番号が「002」から「001」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP41を割込許可状態格納領域SR3に復帰させる(矢印AL22を参照)。これにより、割込1,3は「許可」に設定され、割込2は「禁止」に設定される(割込許可状態情報IP48を参照)。また、識別番号が「001」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP47のうち、割込1,2に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t9においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,3は「許可」に設定され、割込2は「禁止」に設定される(割込許可状態情報IP49を参照)。また時刻t10においてDI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてDI命令を受け付けるため、割込3は「許可」に設定され、割込1,2は「禁止」に設定される(割込許可状態情報IP50を参照)。
その後、時刻t11において識別番号が「001」から「003」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP45を割込許可状態格納領域SR3に復帰させる(矢印AL23を参照)。これにより、割込1,2,3は「許可」に設定される(割込許可状態情報IP51を参照)。また、識別番号が「003」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP50のうち、割込1に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t12においてDI命令がCPU2に入力すると、識別番号が「003」である場合には割込1,2,3についてDI命令を受け付けるため、割込1,2,3は「禁止」に設定される(割込許可状態情報IP52を参照)。
このように構成されたマイコン1では、情報移動ユニット23は、プログラムが変更される前のプログラムに対応した割込設定情報に基づいて、割込設定が可能である割り込み要因を特定し、割込許可状態格納領域SR3に格納された割込許可状態情報のうち、割込設定が可能であると特定した割り込み要因に対応する割込許可状態情報を記憶することにより割込許可状態情報を退避させる。このため、実行するプログラムが変更され、その後さらに、実行するプログラムが1回または複数回変更されることにより、実行するプログラムが同じものに戻った場合に、割込設定が可能でない割り込み要因に対応する割込許可状態情報については、他のプログラムにより変更された割込許可状態情報を保持することができる。これは、割込設定を行うことができない割り込み要因については、実行するプログラムが同じものに戻った時に割込許可状態情報が保持されている必要がないという考えに基づく。これにより、レジスタ群22に設けられた割込許可状態格納領域SR3に格納されている全ての割込許可状態情報を退避および復帰させる必要がなくなるため、割込許可状態情報を退避させるための記憶領域と処理負荷を低減することができる。
(第4実施形態)
以下に本発明の第4実施形態を図面とともに説明する。なお第4実施形態では、第2実施形態と異なる部分のみを説明する。
第4実施形態におけるマイコン1は、割込設定テーブル34の設定内容が変更された点以外は第2実施形態と同じである。
すなわち、第4実施形態の割込設定テーブル34は、図8に示すように、識別番号が「001」である場合には割込1についてEI命令およびDI命令を受け付け、識別番号が「002」である場合には割込2についてEI命令およびDI命令を受け付け、識別番号が「003」である場合には割込3についてEI命令およびDI命令を受け付け、識別番号が「004」である場合には割込1,2,3,4についてEI命令およびDI命令を受け付け、識別番号が「005」である場合には割込1,2,3,4,5についてEI命令およびDI命令を受け付けるように設定されている。
次に、割込許可状態情報の変化の一例を図9を用いて説明する。なお、説明を簡略化するために、識別番号が「001」,「002」,「003」の間で変化する場合を示している。
図9に示すように、まず時刻t0において、識別番号が「001」であり、プログラム311における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されているとする(割込許可状態情報IP60を参照)。そして時刻t1においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP61を参照)。
その後、時刻t2において識別番号が「001」から「002」に変化すると、プログラム312における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP62を参照)。また、識別番号が「002」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP61を情報移動ユニット23に退避させる。さらに時刻t3においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込2についてDI命令を受け付けるため、割込1は「許可」に設定され、割込2,3は「禁止」に設定される(割込許可状態情報IP63を参照)。
その後、時刻t4において識別番号が「002」から「003」に変化すると、プログラム313における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP64を参照)。また、識別番号が「003」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP63を情報移動ユニット23に退避させる。さらに時刻t5においてEI命令がCPU2に入力すると、識別番号が「003」である場合には割込3についてEI命令を受け付けるため、割込1,2,3は「許可」に設定される(割込許可状態情報IP65を参照)。
その後、時刻t6において識別番号が「003」から「002」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP63を割込許可状態格納領域SR3に復帰させる(矢印AL31を参照)。これにより、割込1は「許可」に設定され、割込2,3は「禁止」に設定される(割込許可状態情報IP66を参照)。また、識別番号が「002」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP65を情報移動ユニット23に退避させる。さらに時刻t7においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込2についてDI命令を受け付けるため、割込1は「許可」に設定され、割込2,3は「禁止」に設定される(割込許可状態情報IP67を参照)。
その後、時刻t8において識別番号が「002」から「001」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP61を割込許可状態格納領域SR3に復帰させる(矢印AL32を参照)。これにより、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP68を参照)。また、識別番号が「001」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP67を情報移動ユニット23に退避させる。さらに時刻t9においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP69を参照)。また時刻t10においてDI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてDI命令を受け付けるため、割込2は「許可」に設定され、割込1,3は「禁止」に設定される(割込許可状態情報IP70を参照)。
その後、時刻t11において識別番号が「001」から「003」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP65を割込許可状態格納領域SR3に復帰させる(矢印AL33を参照)。これにより、割込1,2,3は「許可」に設定される(割込許可状態情報IP71を参照)。また、識別番号が「003」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP70を情報移動ユニット23に退避させる。さらに時刻t12においてDI命令がCPU2に入力すると、識別番号が「003」である場合には割込3についてDI命令を受け付けるため、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP72を参照)。
(第5実施形態)
以下に本発明の第5実施形態を図面とともに説明する。なお第5実施形態では、第3実施形態と異なる部分のみを説明する。
第5実施形態におけるマイコン1は、割込設定テーブル34の設定内容が変更された点以外は第3実施形態と同じである。
すなわち、第5実施形態の割込設定テーブル34は、図8に示すように、識別番号が「001」である場合には割込1についてEI命令およびDI命令を受け付け、識別番号が「002」である場合には割込2についてEI命令およびDI命令を受け付け、識別番号が「003」である場合には割込3についてEI命令およびDI命令を受け付け、識別番号が「004」である場合には割込1,2,3,4についてEI命令およびDI命令を受け付け、識別番号が「005」である場合には割込1,2,3,4,5についてEI命令およびDI命令を受け付けるように設定されている。
次に、割込許可状態情報の変化の一例を図10を用いて説明する。なお、説明を簡略化するために、識別番号が「001」,「002」,「003」の間で変化する場合を示している。
図10に示すように、まず時刻t0において、識別番号が「001」であり、プログラム311における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されているとする(割込許可状態情報IP80を参照)。そして時刻t1においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,2は「許可」に設定され、割込3は「禁止」に設定される(割込許可状態情報IP81を参照)。
その後、時刻t2において識別番号が「001」から「002」に変化すると、プログラム312における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP62を参照)。また、識別番号が「002」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP81のうち、割込1に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t3においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込2についてDI命令を受け付けるため、割込1は「許可」に設定され、割込2,3は「禁止」に設定される(割込許可状態情報IP83を参照)。
その後、時刻t4において識別番号が「002」から「003」に変化すると、プログラム313における割込許可状態情報の初期状態として、割込1,2は割り込みの「許可」に設定され、割込3は割り込みの「禁止」に設定されるとする(割込許可状態情報IP84を参照)。また、識別番号が「003」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP83のうち、割込2に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t5においてEI命令がCPU2に入力すると、識別番号が「003」である場合には割込3についてEI命令を受け付けるため、割込1,2,3は「許可」に設定される(割込許可状態情報IP85を参照)。
その後、時刻t6において識別番号が「003」から「002」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP83を割込許可状態格納領域SR3に復帰させる(矢印AL41を参照)。これにより、割込1,3は割り込みの「許可」に設定され、割込2は「禁止」に設定される(割込許可状態情報IP86を参照)。また、識別番号が「002」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP85のうち、割込3に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t7においてDI命令がCPU2に入力すると、識別番号が「002」である場合には割込2についてDI命令を受け付けるため、割込1,3は割り込みの「許可」に設定され、割込2は「禁止」に設定される(割込許可状態情報IP87を参照)。
その後、時刻t8において識別番号が「002」から「001」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP81を割込許可状態格納領域SR3に復帰させる(矢印AL42を参照)。これにより、割込1,3は「許可」に設定され、割込2は「禁止」に設定される(割込許可状態情報IP88を参照)。また、識別番号が「001」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP87のうち、割込2に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t9においてEI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてEI命令を受け付けるため、割込1,3は「許可」に設定され、割込1,2は「禁止」に設定される(割込許可状態情報IP89を参照)。また時刻t10においてDI命令がCPU2に入力すると、識別番号が「001」である場合には割込1についてDI命令を受け付けるため、割込3は「許可」に設定され、割込1,2は「禁止」に設定される(割込許可状態情報IP90を参照)。
その後、時刻t11において識別番号が「001」から「003」に変化すると、情報移動ユニット23に退避させていた割込許可状態情報IP85を割込許可状態格納領域SR3に復帰させる(矢印AL43を参照)。これにより、割込3は「許可」に設定され、割込2は「禁止」に設定される(割込許可状態情報IP91を参照)。また、識別番号が「003」になる前に割込許可状態格納領域SR3に格納された割込許可状態情報IP90のうち、割込1に対応する割込許可状態情報のみを情報移動ユニット23に退避させる。さらに時刻t12においてDI命令がCPU2に入力すると、識別番号が「003」である場合には割込3についてDI命令を受け付けるため、割込1,2,3は「禁止」に設定される(割込許可状態情報IP92を参照)。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態では、マイクロコンピュータで一般的に実装されているEI命令またはDI命令が入力したときに、割込設定格納領域SR2に格納された割込設定情報を参照して、割込許可状態格納領域SR3に格納された割込許可状態情報を書き換えるもの(S40〜S70)を示したが、EI命令およびDI命令とは異なる割込許可命令および割込禁止命令を実装して、この割込許可命令および割込禁止命令が入力したときに割込許可状態情報を書き換えるようにしてもよい。
また上記第2実施形態においては、情報移動ユニット23が割込許可状態情報の退避および復帰を行うものを示したが、情報移動ユニット23のようにハードウェアを用いることなく、例えば演算ユニット21が各種命令を実行することにより、割込許可状態情報の退避および復帰を行うようにしてもよい。
また上記実施形態においては、レジスタ群22内に識別番号格納領域SR1を設けたものを示したが、識別番号格納領域SR1をRAM4内に設けるようにしてもよい。
1…マイコン、2…CPU、3…ROM、4…RAM、5,6,7,8,9…ペリフェラル、10…割込コントローラ、11…バス、21…演算ユニット、22…レジスタ群、23…情報移動ユニット、31…車両制御プログラム、32…OSプログラム、33…ハイパーバイザプログラム、34…割込設定テーブル、SR1…識別番号格納領域、SR2…割込設定格納領域、SR3…割込許可状態格納領域

Claims (3)

  1. 複数のプログラムを実行可能なマイクロコンピュータであって、
    複数の割り込み要因のそれぞれについて、複数の前記プログラム毎に、割り込みを許可するか禁止するかを設定する割込設定が可能であるか否かを示す割込設定情報が格納された割込設定テーブルを記憶する第1記憶手段と、
    割り込みを許可する設定を指示するための割込許可命令が入力すると、前記第1記憶手段に記憶されている前記割込設定テーブルを参照し、現時点で実行中の前記プログラムに対応した前記割込設定情報に基づいて、前記割込設定が可能である前記割り込み要因を特定し、特定した前記割り込み要因による割り込みを許可する割込許可手段と、
    割り込みを禁止する設定を指示するための割込禁止命令が入力すると、前記第1記憶手段に記憶されている前記割込設定テーブルを参照し、現時点で実行中の前記プログラムに対応した前記割込設定情報に基づいて、前記割込設定が可能である前記割り込み要因を特定し、特定した前記割り込み要因による割り込みを禁止する割込禁止手段と、
    前記プログラムの実行中に前記割り込み要因が発生した場合に、発生した前記割り込み要因による割り込みが前記割込許可手段により許可されたものである場合には、前記プログラムの実行を中断して、発生した前記割り込み要因に対応する割り込み処理を実行し、発生した前記割り込み要因による割り込みが前記割込禁止手段により禁止されたものである場合には、発生した前記割り込み要因に対応する割り込み処理を禁止する割込処理実行手段とを備える
    ことを特徴とするマイクロコンピュータ。
  2. 現時点で実行中の前記プログラムについて、複数の前記割り込み要因毎に、割り込みを許可するか禁止するかを示す割込許可状態情報を格納する割込許可状態格納領域が設けられた第2記憶手段を備え、
    前記割込許可手段は、前記割込許可状態格納領域に格納されている前記割込許可状態情報のうち前記割り込み要因に対応する前記割込許可状態情報を、割り込みを許可する旨を示す内容に設定することで、特定した前記割り込み要因による割り込みを許可し、
    前記割込禁止手段は、前記割込許可状態格納領域に格納されている前記割込許可状態情報のうち前記割り込み要因に対応する前記割込許可状態情報を、割り込みを禁止する旨を示す内容に設定することで、特定した前記割り込み要因による割り込みを禁止し、
    前記割込処理実行手段は、前記割込許可状態格納領域に格納されている前記割込許可状態情報を参照することによって、発生した前記割り込み要因に対応する割り込み処理を実行するか禁止するかを判断し、
    実行する前記プログラムが変更されると、前記プログラムが変更される前の前記割込許可状態情報を記憶することにより前記割込許可状態情報を退避させるとともに、記憶した前記割込許可状態情報のうち、変更された後の前記プログラムに対応する前記割込許可状態情報を、前記第2記憶手段に設けられた前記割込許可状態格納領域に格納することにより前記割込許可状態情報を復帰させる情報移動手段を備える
    ことを特徴とする請求項1に記載のマイクロコンピュータ。
  3. 前記情報移動手段は、
    前記プログラムが変更される前の前記割込設定情報に基づいて、前記割込設定が可能である前記割り込み要因を特定し、前記割込許可状態格納領域に格納された前記割込許可状態情報のうち、前記割込設定が可能であると特定した前記割り込み要因に対応する前記割込許可状態情報を記憶することにより前記割込許可状態情報を退避させる
    ことを特徴とする請求項2に記載のマイクロコンピュータ。
JP2012055883A 2012-03-13 2012-03-13 マイクロコンピュータ Active JP5561295B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012055883A JP5561295B2 (ja) 2012-03-13 2012-03-13 マイクロコンピュータ
DE102013204037.7A DE102013204037B4 (de) 2012-03-13 2013-03-08 Mikrocomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012055883A JP5561295B2 (ja) 2012-03-13 2012-03-13 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2013190930A true JP2013190930A (ja) 2013-09-26
JP5561295B2 JP5561295B2 (ja) 2014-07-30

Family

ID=49044172

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012055883A Active JP5561295B2 (ja) 2012-03-13 2012-03-13 マイクロコンピュータ

Country Status (2)

Country Link
JP (1) JP5561295B2 (ja)
DE (1) DE102013204037B4 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108383A (ja) * 1991-10-18 1993-04-30 Fujitsu Ltd 仮想計算機システムの割込みマスク方式
JPH05113887A (ja) * 1991-10-22 1993-05-07 Nec Corp コンピユータシステム
JPH05233319A (ja) * 1992-02-24 1993-09-10 Shikoku Nippon Denki Software Kk レジスタ退避方式
JPH06259251A (ja) * 1993-03-10 1994-09-16 Matsushita Electric Ind Co Ltd 間引きレジスタ制御回路
JPH06282431A (ja) * 1993-03-29 1994-10-07 Hitachi Ltd マイクロプロセッサ
JP2001216172A (ja) * 1997-09-12 2001-08-10 Hitachi Ltd マルチos構成方法
US7209994B1 (en) * 2004-05-11 2007-04-24 Advanced Micro Devices, Inc. Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests
JP2009093344A (ja) * 2007-10-05 2009-04-30 Denso Corp マイクロコンピュータ、その使用方法、及び電子制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3209144B2 (ja) 1997-06-06 2001-09-17 日本電気株式会社 マイクロプロセッサ
DE102007062114A1 (de) 2007-12-21 2009-07-23 Opensynergy Gmbh Kraftfahrzeug-Steuervorrichtung

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108383A (ja) * 1991-10-18 1993-04-30 Fujitsu Ltd 仮想計算機システムの割込みマスク方式
JPH05113887A (ja) * 1991-10-22 1993-05-07 Nec Corp コンピユータシステム
JPH05233319A (ja) * 1992-02-24 1993-09-10 Shikoku Nippon Denki Software Kk レジスタ退避方式
JPH06259251A (ja) * 1993-03-10 1994-09-16 Matsushita Electric Ind Co Ltd 間引きレジスタ制御回路
JPH06282431A (ja) * 1993-03-29 1994-10-07 Hitachi Ltd マイクロプロセッサ
JP2001216172A (ja) * 1997-09-12 2001-08-10 Hitachi Ltd マルチos構成方法
US7209994B1 (en) * 2004-05-11 2007-04-24 Advanced Micro Devices, Inc. Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests
JP2009093344A (ja) * 2007-10-05 2009-04-30 Denso Corp マイクロコンピュータ、その使用方法、及び電子制御装置

Also Published As

Publication number Publication date
DE102013204037A1 (de) 2013-09-19
JP5561295B2 (ja) 2014-07-30
DE102013204037B4 (de) 2019-06-06

Similar Documents

Publication Publication Date Title
US9043806B2 (en) Information processing device and task switching method
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
US9164799B2 (en) Multiprocessor system
KR20110097447A (ko) 인터럽트 프록시 기능을 구비한 시스템 온 칩 및 그에 따른 인터럽트 프록시 처리방법
EP2839374B1 (en) Information processing device, information processing method, and storage medium storing program for executing information processing method
CN105579963B (zh) 任务处理装置、电子设备及方法
JP2005050208A (ja) マルチタスクシステムにおけるメモリ管理方式およびタスク制御装置
JP2015067107A (ja) 車両用制御装置
JP6427575B2 (ja) 時間のかかる命令の取り扱い
JP5561295B2 (ja) マイクロコンピュータ
JP5561294B2 (ja) マイクロコンピュータ
US10269194B2 (en) Multiprocessor system and vehicle control system
JP5783348B2 (ja) 制御装置、制御プログラム、画像形成装置
JP2677458B2 (ja) システムコール実行装置
JP2017204083A (ja) メモリ保護システム
JP2009258984A (ja) 情報処理装置およびロード制御方法
WO2007094460A1 (ja) 並列処理装置及び排他制御方法
JP2008225710A (ja) コンピュータシステム及び該システムで用いられるプロセス切替え方法
JP5087884B2 (ja) データ処理ユニット、およびこれを使用したデータ処理装置
CN101751293A (zh) 程序的线程群组管理方法
JP2023032307A (ja) 仮想化制御装置および割り込み制御方法
JP2007102399A (ja) データ処理装置
JPH10312296A (ja) プロセス切替え制御方式
JPH0266632A (ja) 割込み制御方式
JP2007109037A (ja) データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130830

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140526

R151 Written notification of patent or utility model registration

Ref document number: 5561295

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250