JP2009541887A - 複数の実行ユニットを有するシステムを切り替える方法 - Google Patents

複数の実行ユニットを有するシステムを切り替える方法 Download PDF

Info

Publication number
JP2009541887A
JP2009541887A JP2009517291A JP2009517291A JP2009541887A JP 2009541887 A JP2009541887 A JP 2009541887A JP 2009517291 A JP2009517291 A JP 2009517291A JP 2009517291 A JP2009517291 A JP 2009517291A JP 2009541887 A JP2009541887 A JP 2009541887A
Authority
JP
Japan
Prior art keywords
executed
program
scheduler
sch
execution units
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
JP2009517291A
Other languages
English (en)
Other versions
JP4908587B2 (ja
Inventor
フェルヒ、マルクス
コラーニ、ヨルク
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2009541887A publication Critical patent/JP2009541887A/ja
Application granted granted Critical
Publication of JP4908587B2 publication Critical patent/JP4908587B2/ja
Expired - Fee Related 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/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本発明は、複数の実行ユニットを有するシステムと、システムを切り替える方法とに関する。システムは少なくとも2つの実行ユニットを有し、複数の実行ユニットが異なるプログラムを実行するパフォーマンス駆動モード(PM)と、同じプログラムを実行する比較駆動モード(VM)との間で切り替え可能である。システムは、次に実行されるべきプログラムを決定するために実行ユニットにより呼び出されるスケジューラ(SCH)を有する。最初に呼び出されたSCHにより決定されたプログラムがVMで実行される必要がある場合、残りの複数の実行ユニットにSCHを同様に呼び出すように促す。切り替えユニットは、最後に呼び出されたSCHにより決定されたプログラムがVMで実行される必要がある場合、PMからVMへとシステムを切り替える。その際、決定された実行されるべきプログラムが、最も優先度が高いプログラムとしてVMで実行される。
【選択図】図1

Description

本発明は、複数の実行ユニットを有するシステムと、複数の実行ユニットを有するシステムを切り替える方法とに関する。その際、複数の実行ユニットを有するシステムは、複数の実行ユニットが異なるプログラムを実行するパフォーマンス駆動モードと、複数の実行ユニットが同じプログラムを実行する比較駆動モードとの間で切り替え可能な、少なくとも2つの実行ユニットを有する。
組み込み型システム(Embedded System)、特に自動車技術または自動化技術において、プロセッサのハードウェア、またはマイクロコントローラ・ハードウェアでのエラーが致命的な結果となりうるアプリケーションまたはアプリケーションプログラムが存在する。このような危険性を低減するために、エラーを検出するための監視措置が採られる。アプリケーションまたはアプリケーションプログラムによっては、この種の監視がほぼ恒久的に必要である。一方、他のアプリケーションの場合では、監視機能が定期的に、例えば周期的に、または、特定の要請に応じて、例えば割込みに引き続いて、プロセッサシステムまたは他の構成要素が正しく機能しているかどうかについて監視される。
独国特許出願公開第10332700号明細書は、プロセッサユニットの少なくとも2つの駆動モードの間で切り替える方法を記載している。そこで記載されるプロセッサユニットは、2つの実行ユニットを有している。この種のコンピュータアーキテクチャは、デュアルコア・コンピュータアーキテクチャとも呼ばれる。独国特許出願公開第10332700号明細書で記載されるプロセッサシステムは、パフォーマンス駆動モードと、比較駆動モードとの間で切り替え可能である。パフォーマンス駆動モードでは、実行ユニットは、性能または計算能力を高めるために、同時に異なるプログラムを実行する。パフォーマンス駆動モードPMに対して、比較駆動モードVMでは、実行ユニットは同一のプログラムを実行し、演算結果、または実行ユニットにより出力された信号が互いに比較される。比較によって信号間での不一致が判明した場合には、引き続いてエラー信号が起動される。比較駆動モードVMは、安全性を高めるため、特に安全性に関わるプログラムにおいて使用される。基本的に、計算能力を高めるためには、可能な限り多くの適用またはプログラムを、可能な限り性能が高いモード、すなわちパフォーマンスモードPMで駆動させることが有効である。一方、安全性に関わるアプリケーションの場合、ほぼ全タスクまたはプログラムが高度なエラー検出機能を用いて、すなわち比較駆動モードVMで計算される必要がある。
パフォーマンス駆動モードPMと比較駆動モードVMとの間での切り替えは、オペレーティングシステムBSによって行なわれる。オペレーティングシステムBSは、プログラム固有の識別子によって、どの駆動モードでプログラムコードが実行される必要があるのかについて決定する。この識別子は、静的に、または動的に割り当てられることが可能である。特定の駆動モードに対して、プログラムが固定で割り当てられているということも想定される。
複数の実行ユニットを有するシステムでは、複数のプログラムが同時に実行可能である。どのプログラムが実際に実行されるのかについては、オペレーティングシステムBSの一部を形成するスケジューラが決定する。複数の実行ユニットを有するシステムでは、スケジューラが各実行ユニットで別々に実行される。従って、複数のスケジューラまたはオペレーティングシステム・インスタンスが存在する。その際、インスタンスは、大部分が同一のデータに基づいて稼動する。進行中のプログラムは、スケジューラを除いて、場合によっては割込みサービスルーチンISRによっても中断される。その際、各割込みサービスルーチンISRは、特定のイベントに割り当てられている。このイベントが起こる場合に、今正に駆動中のプログラムが中断され、付属する割込みサービスルーチンISRが実行される。各割込みサービスルーチンISRは識別子を有している。識別子は、割込みサービスルーチンが実行されるべき駆動モードを設定する。
パフォーマンス駆動モードPMと比較駆動モードVMとの間で切り替え可能な、複数の実行ユニットを有するシステムの場合、必要な駆動モード変更を確実に検知し、開始する必要がある。この工程自体にも計算時間または計算能力が掛かり、いかなる時点でも中断可能というわけではない。比較駆動モードVMへのモード変更が必要であることが、オペレーティングシステム・インスタンスによって確認された場合、切り替えは即時には実行不可能である。更なる別の実行ユニットまたはコアで優先度がより低いプログラムが実行されている場合に関しては、比較駆動モードVMへと切り替えるために、実行ユニットの各プログラムを退避させることが可能である。その際、残りの実行ユニットのプログラムの優先度の決定は、複数の実行ユニットを有するシステムで、全アクティブなプログラム、または割込みサービスルーチン、および、オペレーティングシステムのプログラム自体が事実上同時に実行されることによって、困難になる。これに対して、従来のシングルプロセッサシステムの場合、プログラムは、1つの実行ユニットにより順次実行される。
複数の実行ユニットを有するシステムの場合、オペレーティングシステム・インスタンス、例えばスケジューラのインスタンスがモード変更を促したり実行したりする一方で、他の実行ユニットで駆動中のオペレーティングシステム・インスタンスが、それまでの駆動モードのままであり続けるという危険が発生する。システムのモード変更のために、特に比較駆動モードVMへの変換の際に少なくとも2つの実行ユニットが必要であるため、該当する実行ユニットが、特定の時間の間ロックされる可能性がある。
ここで、簡単な例を挙げる。プログラム全体が、例えば、対応する優先度を有する4つのタスクT1、T2、T3、T4を含むとする。すなわち、T1は最も高い優先度「Prio3」を有し、T2は2番目に高い優先度「Prio2」を有し、T3は3番目に高い優先度が「Prio1」を有し、T4は最も低い優先度「Prio0」を有している。さらに、T1およびT2はパフォーマンス駆動モードPMで実行される必要がある一方、T3およびT4は比較駆動モードVMで実行される必要があるように、タスクT1〜T4はラベル付けされている。複数の実行ユニットを有するシステムは、例えば、2つの実行ユニットまたはCPUを有する。第1実行ユニットCPU1が最初にパフォーマンス駆動モードPMにおいて最も優先度の高いタスクT1を実行する場合に、他方の実行ユニットまたはCPUは、2番目に優先度の高いタスクT2を実行する。従って、タスクT1が終了次第、オペレーティングシステムBSが第1実行ユニットCPU1によって呼び出され、スケジューラが、どのタスクTを次に実行する必要があるかについて決定する。上述の例の場合、スケジューラは、次に優先度が高い「Prio1」を有するためタスクT3に決定する。しかし、このタスクT3は、このタスクT3が比較駆動モードVMで実行される必要があることを示す属性またはラベルを有する。従って、複数の実行ユニットを有するシステムは、比較駆動モードVMに切り替えられる必要がある。第2実行ユニットCPU2では、タスクT2が未だに駆動している。従って、スケジューラは、CPU2でタスクT2が終了するまで待機する。CPU2でタスクT2が終了次第、スケジューラまたはオペレーティングシステムBSは、比較駆動モードVMへと両実行ユニットを切り替え、タスクT3を開始する。この場合、衝突は発生しない。更なる別の例において、タスクT3よりもタスクT2の優先度が低い場合、例えば、タスクT2が「Prio1」であり、一方、タスクT3が「Prio2」である場合に、上述の仮定においては、オペレーティングシステムBSは、CPU1で実行されたタスクT1の終了後に、CPU2で未だ駆動中のタスクT2を即時に中断し、両実行ユニットでタスクT3を駆動させる。駆動システムBS自体は、実行ユニットにおいて実行される必要がある。上述の例において、オペレーティングシステムBSが、開放された第1実行ユニットCPU1で実行され、タスクT3を開始しようとする。このために、オペレーティングシステムは、実行ユニットCPU2で今正に駆動中のタスクT2がどの優先度を有するのかについて確認する必要がある。第1実行ユニットCPU1でのタスクT2とタスクT3との比較には、いずれにせよ、ある程度の時間が必要である。しかし、優先度の比較に掛かる期間または時間の間に、第2実行ユニットCPU2がタスクT2を終了し、自身でオペレーティングシステムまたはスケジューラを呼び出すケースが起こりうる。上述の例では、第2実行ユニットは、比較駆動モードVMで実行される必要がある残りのタスクT4を呼び出し、第1実行ユニットCPU1および第2実行ユニットCPU2の両方を必要とするタスクT3とタスクT4との間で、衝突が起こることが予想される。衝突の発生は、呼び出されたタスクTが比較駆動モードで実行される必要がある場合には、常に起こりうる。
従って、本発明の課題は、比較駆動モードへの切り替えの際に衝突が回避される、複数の実行ユニットを有するシステム、および複数の実行ユニットを有するシステムを切り替える方法を創出することにある。
本課題は、本発明によれば、特許請求の範囲に記載の請求項1に示される特徴を有する方法、および、特許請求の範囲に記載の請求項11に示される特徴を有する、複数の実行ユニットを有するシステムによって解決される。
本発明は、複数の実行ユニットを有するシステムを切り替える方法であって、システムは、少なくとも2つの実行ユニットを有しており、複数の実行ユニットが異なるプログラムを実行するパフォーマンス駆動モードPMから、複数の実行ユニットが同じプログラムを実行する比較駆動モードVMへとシステムを切り替える方法において、
−実行ユニットによってスケジューラを呼び出す工程であって、その際、呼び出されたスケジューラは、次に実行されるべきプログラムを決定する、実行ユニットによってスケジューラを呼び出す工程と、
−次に実行されるべきプログラムが比較駆動モードVMで実行される必要がある場合に、残りの複数の実行ユニットに、スケジューラを同様に呼び出すように促す工程と、
−最初に呼び出されたスケジューラにより決定された、実行されるべきプログラムが、比較駆動モードVMで実行される必要がある場合に、パフォーマンス駆動モードPMから比較駆動モードVMへと複数の実行ユニットを有するシステムを切り替える工程であって、その際、最後に呼び出されたスケジューラにより決定された、実行されるべきプログラムが、最も優先度が高いプログラムとして、全実行ユニットによって、複数の実行ユニットを有するシステムの比較モードVMで実行される工程と、
を含む、複数の実行ユニットを有するシステムを切り替える方法、を創出する。
本発明にかかる方法の好適な実施形態において、次に実行されるべきプログラムを決定するためにスケジューラを最初に呼び出す実行ユニットは、残りの全実行ユニットもスケジューラの呼び出しによって次に実行されるべきプログラムを決定するまで待機し、その後初めて、最後に呼び出されたスケジューラにより決定された、最も優先度が高いプログラムに相当するプログラムが、比較駆動モードVMで実行される必要があるかどうかについて検査される。
本発明にかかる方法の好適な実施形態において、最初に呼び出されたスケジューラにより決定されたプログラムが、比較駆動モードVMで実行される必要がない場合に、スケジューラを最初に呼び出した実行ユニットは、スケジューラを再呼び出しする。
本発明にかかる方法の好適な実施形態において、呼び出されたスケジューラが、次に実行されるべきプログラムとして、比較駆動モードVMではなくパフォーマンス駆動モードPMで実行される必要があるプログラムを決定する場合に、実行されるべきプログラムが、切り替えなしに直接的に実行される。
本発明にかかる方法の好適な実施形態において、次に実行されるべきプログラムを決定するためにスケジューラを呼び出す実行ユニットは、決定されたプログラムが比較駆動モードVMで実行される必要がある場合に、決定されたプログラムの優先度と、他の〔複数の〕実行ユニットで実行されている全プログラムの優先度とを比較する。
本発明にかかる方法の好適な実施形態において、他の実行ユニットで実行されているプログラムが、最初に呼び出されたスケジューラにより決定された、次に実行されるべきプログラムよりも優先度が高い場合に、スケジューラを最初に呼び出した実行ユニットは、アイドル駆動モード(IDLE)に移行し、残りの複数の命令ユニットがそれぞれ自身のプログラムを終了するまで待機する。
本発明にかかる方法の好適な実施形態において、次に実行されるべきプログラムを決定するためにスケジューラを呼び出す実行ユニットは、次に実行されるべきプログラムが比較駆動モードVMで実行される必要がある場合には、他の複数の実行ユニットに要請信号を送信することによって、他の複数の実行ユニットに、スケジューラを同様に呼び出すように促す。
本発明にかかる方法の好適な実施形態において、要請信号は割込み信号によって形成される。
本発明にかかる方法の好適な実施形態において、複数の命令ユニットはそれぞれ、プロセッサ、コプロセッサ、浮動小数点演算装置、演算論理装置、またはデジタル信号プロセッサによって形成される。
本発明にかかる方法の好適な実施形態において、実行ユニットは、実行されたプログラムの終了後にスケジューラを呼び出す。
さらに、本発明は、少なくとも2つの実行ユニットを有するシステムであって、システムは、複数の実行ユニットが異なるプログラムを実行するパフォーマンス駆動モードPMと、複数の実行ユニットが同じプログラムを実行する比較駆動モードVMとの間で切り替え可能であり、
−次に実行されるべきプログラムを決定するために実行ユニットによって呼び出されるスケジューラであって、その際、最初に呼び出されたスケジューラにより決定されたプログラムが比較駆動モードVMで実行される必要がある場合に、残りの複数の実行ユニットが、スケジューラを同様に呼び出すように促される、スケジューラと、
−最後に呼び出されたスケジューラにより決定された、実行されるべきプログラムが比較駆動モードVMで実行される必要がある場合に、パフォーマンス駆動モードPMから比較駆動モードVMへと複数の実行ユニットを有するシステムを切り替える切り替えユニットであって、その際、決定された、実行されるべきプログラムが、最も優先度が高いプログラムとして、全実行ユニットによって、複数の実行ユニットを有するシステムの切り替え後に比較駆動モードVMで実行される、切り替えユニットと、
を備える、少なくとも2つの実行ユニットを有するシステム、を創出する。
図1から分かるように、図1で示されるシステム1においては、2つの実行ユニット2A、2Bを有するデュアルコア・システムが関わっている。実行ユニット2A、2Bは、任意の演算ユニット、例えば、全マイクロプロセッサ、コプロセッサ、デジタル信号プロセッサDSP、浮動小数点演算装置FPU、または、演算論理装置ALUに相当しうる。2つの実行ユニットを有するシステム1の両実行ユニット2A、2Bは、切り替えユニット3に接続されている。さらに、複数の実行ユニットを有するシステムは、割込み制御部4を有する。割込み制御部4は、バスインタフェース5を介してシステムバス6へと接続されている。システムバス6は、自身がアドレスおよびデータ線7A、7Bを介して両実行ユニット2A、2Bへと接続されている。アドレスおよびデータ線7A、7Bは、システムバス6と共に、実行ユニット2A、2Bのバスインタフェースを形成する。システム1は、切り替えユニット3の他に、比較ユニット8を含んでいる。比較ユニット8は、実行ユニット2A、2Bによりデータ線7A、7Bを介して出力される信号を互いに比較する。図1に示される両実行ユニット2A、2Bを有するシステム1は、実行ユニット2A、2Bが異なるプログラムを実行するパフォーマンス駆動モードPMと、実行ユニット2A、2Bが同じプログラムを実行する比較駆動モードVMとの間で切り替え可能である。比較駆動モードVMでは、比較ユニット8は、実行ユニット2A、2Bの論理出力信号を比較する。信号の不一致が発生すると即時に、比較ユニット8はエラー信号を生成し、制御線9を介して出力する。実行ユニット2A、2Bは、アプリケーションプログラムの他に、オペレーティングシステムBSのプログラムも実行する。オペレーティングシステムBSの一部は、スケジューラによって形成される。スケジューラは、次に実行されるべきプログラムを選択し、実行のために、両コアまたは実行ユニット2A、2Bのうちの1つに割り当てる。スケジューラは、例えば、プログラムの終了後に、実行ユニットによって、次に実行されるべきプログラムを決定するために呼び出されうる。その際、本発明にかかるシステム1の場合、最初に呼び出されたスケジューラにより決定されたプログラムが、比較駆動モードVMで実行される必要がある限り、残りの実行ユニットも同様に、スケジューラを呼び出すように促される。最後に呼び出されたスケジューラにより決定された、実行されるべきプログラムが、比較駆動モードVMで実行される必要がある場合に、切り替えユニット3は、パフォーマンス駆動モードPMから比較駆動モードVMへと実行ユニット2A、2Bを切り替える。その際、この決定された、実行されるべきプログラムは、最も優先度が高いプログラムとして、比較駆動モードVMへのシステム1の切り替えの後に、全実行ユニット2A、2Bによって実行される。第1実行ユニット2Aが、スケジューラを呼び出した後に、比較駆動モードVMで実行されるべきタスクを最初に実行する必要がある場合に、オペレーティングシステム・スケジューラ、または実行ユニット2Aで駆動するオペレーティングシステム・スケジューラ・インスタンスは、全実行ユニットに対して、比較駆動モードVMでタスクまたはプログラムを起動したいことを信号で知らせる。これによって、残りの実行ユニットは、特定のアルゴリズムが関わるオペレーティングシステム・スケジューラを、自身で呼び出すように促される。その際、最初にスケジューラを呼び出した実行ユニットは待機する。
4つのタスクT1、T2、T3、T4に関する上述の簡単な例の場合、T1は優先度が最も高く(Prio3)、T2は2番目に優先度が高く(Prio2)、T3は3番目に優先度が高く(Prio1)、T4は優先度が最も低い(Prio0)。その際、T1、T2はパフォーマンス駆動モードPMで実行される必要があり、T3、T4は比較駆動モードVMで実行される必要がある。実行ユニット2Aは、タスクT1の終了後に、オペレーティングシステム・スケジューラを呼び出す。オペレーティングシステム・スケジューラは、実行ユニット2Bに、今正に駆動中のプログラム、または今正に駆動中のタスクT2を中断し、オペレーティングシステム・スケジューラを自身で呼び出すように促す。図1に示すように、実行ユニット2Aは、線10Aを介して、切り替えユニット3へと切り替え希望信号を伝送する。同じ方法で、第2実行ユニット2Bは、線10Bを介して、切り替えユニット3へと切り替え希望を信号で知らせることが可能である。切り替えユニット3は、必要な場合には、制御線11A、11Bを介して実行ユニット2A、2Bに切り替え信号を印加する。
図1に示される、複数の実行ユニットを有する本発明にかかるシステム1の実施形態の場合、システム1は、割込み制御部4を含んでいる。代替的な実施形態において、複数の割込み制御部4が設けられることが可能である。割込み制御部4は、例えば、ソフトウェアにより制御される割込み、すなわち内部割込みを起動できるようにプログラムされている。割込み制御部4は、線12A、12Bを介して、実行ユニット2A、2Bに別々に割込み要求を出力したり、両プロセッサ2A、2Bに同時に割込み要求を出力したりする。可能な実施形態において、割込み制御部4により管理される割込みが優先される。これは必ずしも必須ではない。比較駆動モードVMへのモード変更を信号で知らせるために、可能な実施形態において、優先度が最も低い割込みを利用することが可能である。発生する各ハードウェア割込みには、割込みサービスルーチンISRが割り当てられている。その際、割込みサービスルーチンISRは、割込みサービスルーチンISRが比較駆動モードVMで実行される必要があるか否かを示す識別子を有している。割込みサービスルーチンISRが比較駆動モードVMで実行される必要がない場合には、割込みサービスルーチンが実行されるべき実行ユニットが、目下比較駆動モードVMにある場合には、モード変更は行なわれない。
可能な実施形態において、割込みルーチンは、アプリケーションプログラムの実行よりも優先される。割込みサービスルーチンISRが比較駆動モードVMで実行される場合に、割込み制御部4が線5を介してシステムバス6から獲得する割込み要求が、線12A、12Bを介して両実行ユニット2A、2Bへと送信されるように、割込み制御部4はプログラムされる。オペレーティングシステムBSのプログラムコードを実行する実行ユニットまたはプロセッサ・コアでは、この実行ユニットまたはプロセッサ上で、割込み問い合わせ、または割込み要求を処理することは不可能である。ハードウェア割込みが発生した際には、以下の工程が実行される。すなわち、最初に、駆動モードを含めて目下のプロセッサの状態が防護または記憶される。引き続いて、付属する割込みサービスルーチンISRが実行される際の駆動コードが決定され、必要な場合には、比較駆動モードVMへの切り替えが行なわれる。その後、優先度がより高いすべての割込みができる。続いて、割り込みサービスルーチンISRが実行され、防護または記憶されたプロセッサ状態が再形成される。必要な場合には、引き続いてパフォーマンスモードPMへの切り替えが行なわれる。
図1に基づく、複数の実行ユニットを有する本発明にかかるシステム1の場合、タスクまたはプログラムのスケジューリングが以下のように行なわれる。すなわち、複数の実行ユニットを有するシステム1が比較駆動モードVMにある場合には、全実行ユニット2A、2Bが、同じプログラム、または同じタスクTを同時に実行する。何らかの理由によりスケジューラSCHがタスク変更のために呼び出される場合、例えば、実行ユニットがそのプログラムを終了したことを示す場合には、オペレーティングシステムBSの一部を形成するスケジューラSCHが、最も優先度が高いプログラムまたはタスクを決定し、プログラム識別子によって、パフォーマンス駆動モードPMまたは比較駆動モードVMへとシステム1を切り替える。
システム1がパフォーマンス駆動モードPMにある場合には、複数のスケジューラ・インスタンスが存在する。すなわち、第1実行ユニット2Aには、スケジューラ・インスタンスSCH−Aが存在し、第2実行ユニット2Bには、スケジューラ・インスタンスSCH−Bが存在する。
例えば、スケジューラ・インスタンスSCH−Bが、最も優先度が高い次のタスクTを決定し、決定されたプログラムまたは決定されたタスクTが、比較駆動モードVMでの実行を要求する場合には、スケジューリング・データ構造は、最初は変更されない。その代わりに、スケジューリング・インスタンスSCH−Aにより、プロセッサ2B上のプログラムまたはタスクTの優先度が決定される。このタスクTが次のタスクTよりも優先度が低い場合には、切り替え希望が発生していることが、割込みによって実行ユニット2Bに知らされる。このタスクTがタスクTよりも優先度が高い場合には、スケジューラSCH−Aは、アイドル駆動状態を形成するIDLEタスクを作動させる。報知の後、スケジューリング・インスタンスSCH−Aは、スケジューリング・インスタンスSCH−Bが完了するのを待つ(バリア)。実行ユニット2Aで割込みサービスルーチンISRが実行される際には、プロセッサ2Aで全割込みが実行した場合に初めて、切り替え希望・問い合わせの処理が開始される。実行ユニット2Aが、スケジューラ・インスタンスSCH−Aの切り替え希望に基づいてオペレーティングシステムBSを作動させる場合に、実行ユニット2Aによってもスケジューラ・インスタンスSCH−Bが呼び出される。実行ユニット2Bで駆動するスケジューラ・インスタンスSCH−Bも、タスクTが実行される必要があるという演算結果に達した場合には、スケジューリング・インスタンスSCH−Bは、実行ユニット2Aで駆動するスケジューリング・インスタンスSCH−Aを、バリアから開放する。
スケジューリング・インスタンスSCH−Bが、タスクTではなくタスクTがパフォーマンス駆動モードPMで実行される必要がある、すなわち、タスクTの優先度がタスクTの優先度よりも大きい、という演算結果に達した場合には、スケジューリング・インスタンスSCH−Aは同様にバリアから開放される。スケジューリング・インスタンスSCH−Bは、タスクTの実行を促し、スケジューリング・インスタンスSCH−Aは、優先度が最も高いタスクまたはプログラムを改めて決定する(再スケジュール)。
スケジューリング・インスタンスSCH−Bが、タスクTではなくタスクTが比較駆動モードVMで実行される必要がある、すなわち、タスクTの優先度がタスクTの優先度よりも大きい、という演算結果に達した場合には、スケジューリング・インスタンスSCHは同様にバリアから開放される。その後、スケジューリング・インスタンスSCH−A、SCH−Bは、両実行ユニットでのタスクTの実行を促す。
可能な実施形態において、スケジューリング・インスタンスSCH−Aによって、内部フラグまたはフラグも設定が可能である。このフラグは、切り替え希望を知らせる。実行ユニット2Bが同時にオペレーティングシステムBSのプログラムを実行する場合に、スケジューリング・インスタンスSCH−Aは、第2実行ユニット2BがオペレーティングシステムBSを中断し、割込みによって切り替え希望を獲得するまで待機する必要がある。第2実行ユニット2Bは、適切な箇所でフラグを問い合わせることが可能である。必要な場合には、オペレーティングシステムBSを中断することなく、スケジューラSCH−Bを呼び出したり、再スケジュールを実行したりすることが可能である。
従って、比較駆動モードVMへと切り替えるための本発明にかかる方法においては、スケジューラは、1つの実行ユニットだけではなく、残りの実行ユニットによっても呼び出される。最後に呼び出されたスケジューラSCHにより決定された、実行されるべきプログラムが、比較駆動モードVMで実行される必要がある場合に初めて、切り替え工程が行なわれる。最後に呼び出されたスケジューラにより決定された、実行されるべきこのプログラムは、最も優先度が高いプログラムとして、全実行ユニット2によって、システム1の比較駆動モードVMにおいて実行される。次に実行されるべきプログラムを決定するために最初にスケジューラを呼び出す実行ユニット2は、残りの全実行ユニット2もスケジューラの呼び出しによって次の実行されるべきプログラムを決定するまで、待機する。その後初めて、最後に呼び出されたスケジューラSCHによって決定された、最も優先度が高いプログラムに相当するプログラムが、比較駆動モードVMで実行される必要があるかどうかについて検査される。
最後に呼び出されたスケジューラSCHにより決定されたプログラムが、比較駆動モードVMで実行される必要がないケースが発生した場合には、スケジューラSCHを最初に呼び出した命令ユニットは、スケジューラSCHを再呼び出しする。このケースは、第1実行ユニット2によるスケジューラSCHの呼び出しと、最後の実行ユニット2によるスケジューラSCHの呼び出しとの間の期間に、タスクTの異なる優先順位付けを必要とするイベントが起きた場合に、発生しうる。
呼び出されたスケジューラSCHが、次に実行されるべきプログラムとして、比較駆動モードVMではなく、パフォーマンス駆動モードPMで実行されるべきプログラムを決定する場合に、実行されるべきプログラム、またはタスクTは、切り替えなしに直接的に実行される。
本発明にかかる方法の好適な実施形態において、他方の実行ユニット2で今正に実行されているプログラムが、最初に呼び出されたスケジューラにより決定された、次に実行されるべきプログラムよりも優先度が高い場合に、最初にスケジューラSCHを呼び出した実行ユニット2は、残りの実行ユニット2が自身のプログラムを終了するまで、アイドル駆動モード(IDLE)に移行する。
本発明にかかる方法の好適な実施形態において、次に実行されるべきプログラムが比較駆動モードVMで実行される必要がある場合に、次に実行されるべきプログラムを決定するために最初にスケジューラを呼び出す実行ユニット2は、他の実行ユニットに要求信号を送信することによって、他の実行ユニット2に、スケジューラを同様に呼び出すように促す。
図2Aは、本発明にかかる方法を解説するためのフローチャートを示している。図2Aに示されるフローチャートは、例えば、第1実行ユニット2A内での流れを示している。
例えば、実行ユニット2Aによって、プログラムまたはタスク、例えばタスクT1が終えられた場合に、スケジューラの呼び出しが行なわれる。工程S1AでのスケジューラSCHの呼び出しの後に、工程S2Aでは、次のプログラムまたは次のタスクTが、比較駆動モードVMまたはパフォーマンスモードPMで実行される必要があるかどうかについて決定される。上記の例の第2実行ユニット2BでタスクT2が駆動し、かつ、スケジューラSCHによって、優先度に対応して、次に実行されるべきタスクとして、比較駆動モードVMで実行されるべき優先度1のタスク3が選択される場合に、流れは、工程S3Aへと分岐する。反対に、次に実行されるべきプログラムがパフォーマンス駆動モードPMで実行される必要がある場合、プログラムは、工程S4Aで直接的に開始可能である。工程S3Aでは、次に実行されるべきタスクT3の優先度と、今正に他方の実行ユニット2Bで駆動中のプログラムの優先度とが比較される。これは、上記の例では優先度Prio2のタスクT2に相当する。他方の実行ユニット、すなわち実行ユニット2Bで駆動しているプログラムの優先度がより高い場合には、中断不可能である。この場合、実行ユニット2Aは、工程S5Aで、アイドル駆動モード(IDLE)に移行する。上記の例においては、タスクT3の優先度(Prio1)よりも駆動中のタスクT2の優先度(Prio2)が高いので、工程S5Aが実行される。反対に、次のタスクの優先度よりも他方の実行ユニット2Bのプログラムの優先度が低い場合には、工程S6Aで、切り替え希望が、割込みを介して実行ユニット2Aから実行ユニット2Bへと信号で知らされる。その際、割込みサービスルーチンISRが起動される。報知の後で、第1実行ユニット2Aは、工程S7Aにおいて、バリア状態に入る。バリアでは、実行ユニット2Aが実行ユニット2Bの信号を待つ。バリアは、ソフトウェア同期化データ構造(Software−Synchronisations−Datenkonstrukt)に相当し、他の実行ユニットが同じプログラム実行時点に達するまで実行ユニットまたはCPUは待機する。割込みサービスルーチンISRの起動後に、第2実行ユニット2Bは自身でオペレーティングシステム・スケジューラSCHを呼び出す。その際、図2Bに示す流れが実行される。実行ユニット2Bもバリア状態に入った場合には、両実行ユニット2A、2Bが同じ演算結果になったか、すなわち、両実行ユニット2A、2Bが、同じプログラムまたは同じタスクを次に実行しようとしているかについて、両実行ユニット2A、2Bによってほぼ並行して検査される。この検査は、比較駆動モードVMによるものではない。実行ユニット2Aがバリア状態になる工程は、図2では工程S7Aとして示されている。場合によっては、工程S8Aで、引き続いて割込みサービスルーチンISRが解除される。両実行ユニット2A、2Bが同じ演算結果になったかどうか、すなわち、同じプログラムまたは同じタスクを実行しようとしているのかについての検査は、工程S9Aで示されている。両実行ユニット2A、2Bによって、スケジューラSCHの各呼び出しの後で、同じプログラムまたは同じタスクTが決定された場合に、工程S10Aで、システム1が比較駆動モードVMに切り替えられ、引き続いて工程S4Aで、プログラムまたはタスクが両実行ユニット2A、2Bで実行または開始される。例えば、第2実行ユニット2Bも、スケジューラの呼び出しの後に、比較駆動モードVMで実行されるべきタスクT3を実行したいという演算結果の比較S9Aが明らかになった場合に、工程S10Aでの比較駆動モードVMへの切り替えの後に、このタスクT3が工程S4Aで開始される。反対に、他方の実行ユニット2Bが異なる演算結果を出すことが確認された場合には、工程S11Aで、実行ユニット2Bにより選択されたプログラム、または選択されたタスクTが、同様に比較駆動モードVMで実行される必要があるかどうかについて検査される。これに該当する〔実行ユニット2Bにより選択されたプログラム、または選択されたタスクTが、同様に比較駆動モードVMで実行される必要がある〕場合には、工程S10Aで、システム1が比較駆動モードVMへと切り替えられ、最後に呼び出されたスケジューラSCHにより決定されるタスク、すなわち、実行ユニット2Bにより決定されたタスクが、工程S4Aで開始される。工程S11Aで、実行ユニット2Bにより決定されたタスクTが、比較駆動モードVMではなく、パフォーマンス駆動モードPMで実行される必要があることが確認される場合には、実行ユニット2Aは、工程S1AでスケジューラSCHを再呼び出しする。
図2Bは、他方の実行ユニット2Bでの補足的な流れを示している。実行ユニット2Aによる、図2Aの工程S6Aにおける割込みサービスルーチンISRの起動の後に、実行ユニット2Bは、図2Bの工程S1Bにおいて、スケジューラSCHを自身で呼び出す。実行ユニット2Bは、対応する割込みサービスルーチンISRに入る。実行ユニット2Bは、最初に、工程S1BでスケジューラSCHを起動し、引き続いて工程S2Bで、バリア状態に入る。従って、プロセッサ2Aも引き続き駆動する。場合によっては、工程S3Bにおいて、割込み制御部4での割込みの解除が行なわれる。図2Bに示すように、工程S4Bでは、実行ユニット2Aおよび実行ユニット2Bが、同じタスクTまたは同じプログラムを決定したかどうかについて検査される。両実行ユニット2A、2Bが同じタスクTを決定した場合に、工程S5Bで比較駆動モードVMへと切り替えられ、引き続いて、工程S6BでタスクTが実行される。第2実行ユニット2Bが、実行のために、実行ユニット2Aとは異なるタスクを決定した場合には、工程は、工程S7Bへと分岐する。第2実行ユニット2Bにより実行されるタスクも比較駆動モードVMで実行される必要がある場合には、工程S5Bで比較駆動モードVMへの切り替えが行なわれ、最後に決定されたタスク、すなわち、実行ユニット2Bにより決定されたタスクが、工程S6Bで実行される。工程S7Bで、第2実行ユニット2Bにより決定されたタスクTが、比較駆動モードVMではなく、例えばパフォーマンス駆動モードPMで実行される必要があることが確認される場合には、比較駆動モードVMへの切り替えは行われず、このタスクは、工程S6Bで実行される。
図2A、2Bで示されるプログラムの流れは相補的である。例えば、第2実行ユニット2Aが、実行ユニット2Aによる切り替え希望の報知に関係なく、オペレーティングシステムBSに入る場合、このケースでは、第2実行ユニット2Bは、図2Aに示す流れを実行し、実行ユニット2Aは、図2Bに示す流れを実行する。
本発明にかかる方法は、どんな場合にも、比較駆動モードVMへの切り替えの際の実行ユニット2がロックされるのを予防する。本発明にかかる方法は、特に、2つまたは複数の実行ユニットを有するシステムに適している。システム1が例えば2つの実行ユニット2を有する場合に、本発明にかかる方法の場合、最後に呼び出されたスケジューリング・インスタンスにより決定されたタスクが目下のところ最も優先度が高く、結果として実行されるので、スケジューリングは2回行なわれる。その際、両スケジューリング・インスタンスは、流れに含まれるバリアに基づいて互いに同期している。
以下では、複数の実行ユニットを有する本発明にかかるシステム、および、複数の実行ユニットを有する本発明にかかるシステムを切り替えるための本発明にかかる方法の好適な実施形態が、本発明の基本的な特徴を解説するための添付の図を参照して記載される。
複数の実行ユニットを有する本発明にかかる方法の可能な実施形態を示す。 本発明にかかる切り替え方法を解説するフローチャートを示す。 本発明にかかる切り替え方法を解説する更なる別のフローチャートを示す。

Claims (11)

  1. 複数の実行ユニットを有するシステム(1)を切り替える方法であって、前記システム(1)は、少なくとも2つの実行ユニット(2)を有しており、前記複数の実行ユニット(2)が異なるプログラムを実行するパフォーマンス駆動モード(PM)から、前記複数の実行ユニット(2)が同じプログラムを実行する比較駆動モード(VM)へとシステムを切り替える方法において、
    (a)実行ユニット(2)によってスケジューラを呼び出す工程(S1A)であって、その際、呼び出されたスケジューラ(SCH)は、次に実行されるべきプログラムを決定する工程(S1A)と、
    (b)前記次に実行されるべきプログラムが前記比較駆動モード(VM)で実行される必要がある場合に、残りの〔複数の〕実行ユニット(2)に、前記スケジューラ(SCH)を同様に呼び出すように促す工程(S6A)と、
    (c)最後に呼び出されたスケジューラ(SCH)により決定された、実行されるべきプログラムが、前記比較駆動モード(VM)で実行される必要がある場合に、前記パフォーマンス駆動モード(PM)から前記比較駆動モード(VM)へと複数の実行ユニットを有する前記システム(1)を切り替える工程(S10A)であって、その際、前記最後に呼び出されたスケジューラ(SCH)により決定された、実行されるべきプログラムが、最も優先度が高いプログラムとして、全実行ユニット(2)によって、前記複数の実行ユニットを有するシステム(1)の前記比較モード(VM)で実行される工程(S10A)と、
    を含む、複数の実行ユニットを有するシステム(1)を切り替える方法。
  2. 次に実行されるべきプログラムを決定するために前記スケジューラ(SCH)を最初に呼び出す実行ユニット(2)は、残りの全実行ユニット(2)も前記スケジューラ(SCH)の呼び出しによって次に実行されるべきプログラムを決定するまで待機し(S7A)、その後初めて、最後に呼び出されたスケジューラ(SCH)により決定された、最も優先度が高いプログラムに相当するプログラムが、前記比較駆動モード(VM)で実行される必要があるかどうかについて検査される(S9A)、請求項1に記載の方法。
  3. 前記最後に呼び出されたスケジューラ(SCH)により決定されたプログラムが、前記比較駆動モード(VM)で実行される必要がないことが決定される場合に(S11A)、前記スケジューラ(SCH)を最初に呼び出した前記実行ユニット(2)は、前記スケジューラ(SCH)を再呼び出しする(S1A)、請求項2に記載の方法。
  4. 前記呼び出されたスケジューラ(SCH)が、次に実行されるべきプログラムとして、比較駆動モード(VM)ではなくパフォーマンス駆動モード(PM)で実行される必要があるプログラムを決定する場合に(S2A)、実行されるべきプログラムが、切り替えなしに直接的に実行される(S4A)、請求項3に記載の方法。
  5. 次に実行されるべきプログラムを決定するために前記スケジューラ(SCH)を呼び出す(S1A)実行ユニット(2)は、決定されたプログラムが比較駆動モード(VM)で実行される必要がある場合に、前記決定されたプログラムの優先度と、他の〔複数の〕実行ユニット(2)で実行されている全プログラムの優先度とを比較する(S3A)、請求項1に記載の方法。
  6. 他の実行ユニット(2)で実行されているプログラムが、前記最初に呼び出されたスケジューラ(SCH)により決定された、次に実行されるべきプログラムよりも優先度が高い場合に、前記スケジューラ(SCH)を最初に呼び出した前記実行ユニット(2)は、アイドル駆動モード(IDLE)に移行し(S5A)、残りの複数の命令ユニット(2)がそれぞれ自身のプログラムを終了するまで待機する、請求項5に記載の方法。
  7. 次に実行されるべきプログラムを決定するために前記スケジューラ(SCH)を最初に呼び出す前記実行ユニット(2)は、次に実行されるべきプログラムが比較駆動モード(VM)で実行される必要がある場合には、他の〔複数の〕実行ユニットに要請信号を送信することによって(S6A)、前記他の〔複数の〕実行ユニット(2)に、前記スケジューラを同様に呼び出すように促す、請求項6に記載の方法。
  8. 前記要請信号は割込み信号によって形成される、請求項7に記載の方法。
  9. 前記複数の命令ユニット(2)はそれぞれ、プロセッサ、コプロセッサ、浮動小数点演算装置(FPU)、演算論理装置(ALU)、またはデジタル信号プロセッサ(DSP)によって形成される、請求項1に記載の方法。
  10. 実行ユニット(2)は、実行されたプログラムの終了後に前記スケジューラ(SCH)を呼び出す、請求項1に記載の方法。
  11. 少なくとも2つの実行ユニット(2)を有するシステム(1)であって、前記システム(1)は、複数の実行ユニット(2)が異なるプログラムを実行するパフォーマンス駆動モード(PM)と、複数の実行ユニット(2)が同じプログラムを実行する比較駆動モード(VM)との間で切り替え可能であり、
    次に実行されるべきプログラムを決定するために実行ユニット(2)によって呼び出されるスケジューラ(SCH)であって、その際、最初に呼び出されたスケジューラ(SCH)により決定されたプログラムが前記比較駆動モード(VM)で実行される必要がある場合に、残りの複数の実行ユニット(2)が、前記スケジューラ(SCH)を同様に呼び出すように促される、スケジューラ(SCH)と、
    最後に呼び出されたスケジューラ(SCH)により決定された、実行されるべきプログラムが前記比較駆動モード(VM)で実行される必要がある場合に、前記パフォーマンス駆動モード(PM)から前記比較駆動モード(VM)へと前記システム(1)を切り替える切り替えユニット(3)であって、その際、決定された実行されるべきプログラムが、最も優先度が高いプログラムとして、全実行ユニット(2)によって、前記システム(1)の切り替え後に前記比較駆動モード(VM)で実行される、切り替えユニット(3)と、
    を備える、少なくとも2つの実行ユニット(2)を有するシステム(1)。
JP2009517291A 2006-10-10 2007-09-19 複数の実行ユニットを有するシステムを切り替える方法 Expired - Fee Related JP4908587B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102006048173A DE102006048173A1 (de) 2006-10-10 2006-10-10 Verfahren zum Umschalten eines Systems mit mehreren Ausführungseinheiten
DE102006048173.9 2006-10-10
PCT/EP2007/059900 WO2008043649A1 (de) 2006-10-10 2007-09-19 Verfahren zum umschalten eines systems mit mehreren ausführungseinheiten

Publications (2)

Publication Number Publication Date
JP2009541887A true JP2009541887A (ja) 2009-11-26
JP4908587B2 JP4908587B2 (ja) 2012-04-04

Family

ID=38925487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009517291A Expired - Fee Related JP4908587B2 (ja) 2006-10-10 2007-09-19 複数の実行ユニットを有するシステムを切り替える方法

Country Status (6)

Country Link
US (1) US20100281485A1 (ja)
EP (1) EP2084606B1 (ja)
JP (1) JP4908587B2 (ja)
CN (1) CN101523351A (ja)
DE (1) DE102006048173A1 (ja)
WO (1) WO2008043649A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101282139B1 (ko) 2006-09-11 2013-07-04 삼성전자주식회사 별도 버튼을 이용하여 성능모드 변경이 가능한컴퓨터시스템 및 그 제어방법
FR2955949A1 (fr) * 2010-01-29 2011-08-05 Peugeot Citroen Automobiles Sa Calculateur electronique de controle embarque dans un vehicule
CN103052924B (zh) * 2011-01-31 2014-09-24 丰田自动车株式会社 安全控制装置及安全控制方法
US9286105B1 (en) * 2015-03-16 2016-03-15 AO Kaspersky Lab System and method for facilitating joint operation of multiple hypervisors in a computer system
US9734006B2 (en) * 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system
DE102017206626A1 (de) 2016-12-19 2018-07-05 Robert Bosch Gmbh Verfahren und Vorrichtung zum Steuern von Prozessen
CN112416609A (zh) * 2021-01-22 2021-02-26 南京芯驰半导体科技有限公司 双核模式的模式配置方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54139446A (en) * 1978-04-21 1979-10-29 Toshiba Corp Process mode control unit
JPH0973436A (ja) * 1995-09-05 1997-03-18 Mitsubishi Electric Corp 多重化計算機における動作モード切替方式
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
WO2005003962A2 (de) * 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790397A (en) * 1996-09-17 1998-08-04 Marathon Technologies Corporation Fault resilient/fault tolerant computing
JP2004240555A (ja) * 2003-02-04 2004-08-26 Fujitsu Ltd バッテリ運用制御装置、バッテリ運用制御方法およびバッテリ運用制御プログラム
DE10332700A1 (de) 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54139446A (en) * 1978-04-21 1979-10-29 Toshiba Corp Process mode control unit
JPH0973436A (ja) * 1995-09-05 1997-03-18 Mitsubishi Electric Corp 多重化計算機における動作モード切替方式
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
WO2005003962A2 (de) * 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit
JP2007507015A (ja) * 2003-06-24 2007-03-22 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット

Also Published As

Publication number Publication date
EP2084606B1 (de) 2012-11-14
DE102006048173A1 (de) 2008-04-17
CN101523351A (zh) 2009-09-02
JP4908587B2 (ja) 2012-04-04
US20100281485A1 (en) 2010-11-04
EP2084606A1 (de) 2009-08-05
WO2008043649A1 (de) 2008-04-17

Similar Documents

Publication Publication Date Title
JP4908587B2 (ja) 複数の実行ユニットを有するシステムを切り替える方法
JP5195913B2 (ja) マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
WO2009133669A1 (ja) 仮想計算機制御装置、仮想計算機制御方法及び仮想計算機制御プログラム
EP2423808B1 (en) Arithmetic device
US7774585B2 (en) Interrupt and trap handling in an embedded multi-thread processor to avoid priority inversion and maintain real-time operation
US8756606B2 (en) Safety controller and safety control method in which time partitions are scheduled according to a scheduling pattern
JP4996605B2 (ja) コンピュータシステムの制御方法および制御装置
US8457766B2 (en) Safety controller and safety control method
US20120198464A1 (en) Safety controller and safety control method
JP2009541636A (ja) 内燃機関のエンジン制御部の機能を監視するための方法および装置
CN102741818A (zh) 故障诊断系统、用于车辆的电子控制单元、故障诊断方法
EP2793133B1 (en) Multi-core processor
US20080104602A1 (en) Task switching control method and computer system
CN113986500A (zh) 多任务系统中的任务确定性调度方法和任务诊断方法
US8423681B2 (en) Control apparatus for process input-output device
JP5906584B2 (ja) 制御装置及び制御方法
JP2008033577A (ja) マルチタスクスケジューリング機能搭載装置及びプログラム
WO2005013130A1 (ja) リアルタイム制御システム
US20100107169A1 (en) Periodical task execution apparatus, periodical task execution method, and storage medium
JP2008204011A (ja) マルチスレッドシステム、スレッド動作異常検知方法
JPH02266457A (ja) 処理の継続実行方法
JP7221125B2 (ja) 電子演算装置
JP5299681B2 (ja) プログラム検査方法
JP2005107757A (ja) プログラムの暴走検出方法およびプログラムの暴走検出装置
JP2008077388A (ja) マルチプロセッサ制御システム、方法、およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111102

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: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120112

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees