JP4232987B2 - プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット - Google Patents

プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット Download PDF

Info

Publication number
JP4232987B2
JP4232987B2 JP2006515276A JP2006515276A JP4232987B2 JP 4232987 B2 JP4232987 B2 JP 4232987B2 JP 2006515276 A JP2006515276 A JP 2006515276A JP 2006515276 A JP2006515276 A JP 2006515276A JP 4232987 B2 JP4232987 B2 JP 4232987B2
Authority
JP
Japan
Prior art keywords
mode
execution units
processor unit
memory area
safety
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.)
Expired - Fee Related
Application number
JP2006515276A
Other languages
English (en)
Other versions
JP2007507015A (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
Priority claimed from DE10332700A external-priority patent/DE10332700A1/de
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2007507015A publication Critical patent/JP2007507015A/ja
Application granted granted Critical
Publication of JP4232987B2 publication Critical patent/JP4232987B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

従来技術
本発明は,独立請求項である上位概念に記載された,プロセッサユニットの少なくとも2つの動作モードを切替る方法,および少なくとも2つの内蔵された実行ユニットを有する,対応するプロセッサユニットに関する。
少なくとも2つの内蔵された実行ユニットを有するかかるプロセッサユニットは,デュアルコアまたはマルチコアアーキテクチャとしても知られている。かかるデュアルコアまたはマルチコアアーキテクチャは,今日の技術水準より主として以下の2つの理由から提案される。
第1の理由としては,2つの実行ユニットまたはコアが1つの半導体モジュール上で2つの演算ユニットとしてみなされて取扱われることにより,性能向上,すなわちパフォーマンス向上が実現される。このコンフィグレーションでは,2つの実行ユニットまたはコアが異なるプログラムないしタスクを処理する。これによって性能向上が実現されるため,このコンフィグレーションは,性能モードまたはパフォーマンスモードと称される。
第2の理由としては,デュアルコアまたはマルチコアアーキテクチャを実現することは,2つの実行ユニットが同一のプログラムを冗長的に処理し,安全性向上につながる。2つの実行ユニットまたはCPU,すなわちコアの処理結果が比較され,一致の比較でエラーが検出されうる。以下では,このコンフィグレーションは,安全モードまたはセーフティモードと称される。
一般に,上述した2つのコンフィグレーションは,デュアルコアまたはマルチコアアーキテクチャで排他的に含まれ,すなわち少なくとも2つの実行ユニットを有する演算器は,原則的に一方のモード,パフォーマンスモードまたはセーフティモードでのみ作動する。
本発明の課題は,かかるデュアルコアまたはマルチコアプロセッサユニットの少なくとも2つの動作モードに関して組合された動作を可能にし,その場合,特に安全性向上のための安全モードと性能向上のための性能モードとの最適な切替え方法を実現することである。
発明の利点
一方では安全上の理由から,プログラムないしタスクの冗長的な実行が望まれ,他方ではコスト上の理由から,安全性を要求されない機能の実行では冗長的なハードウェア構成は望まれない。この二律背反する課題は,本発明に基づく,少なくとも2つの動作モードの最適な切替え,およびプロセッサユニットによって解消される。
すなわち,本発明は,少なくとも2つの実行ユニットを有するプロセッサユニットの少なくとも2つの動作モードを切替える方法,および対応するプロセッサユニットに関する。
第1の動作モードから第2の動作モードへの切替えは,所定の切替えトリガとして作用するメモリアドレスがアクセスされることによって実現されることが望ましい。すなわち,切替え手段(モードセレクタ)または比較手段のようなハードウェアコンポーネント,ならびに,安全モードで冗長的に実行される,安全性を要求されるプログラムと,性能モードで互いに独立して2つの実行ユニット上で実行される,安全性を要求されないプログラムとを動作中に最適に切替えうる方法が紹介される。
この場合,第1の動作モードでは,同一のプログラムが少なくとも2つの実行ユニットによって同期して処理され,設けられた比較手段によって,同一のプログラムの処理で生じた実行ユニットの状態が一致するか検査される。これに関して相違がある場合,エラー表示から非常時動作を介してエラーを有するユニットをオフするに至るまでの様々なエラー応答が考えられる。
特別な実施形態では,安全モードが第1の動作モードに,性能モードが第2の動作モードに相当する。この場合,第2の動作モードから第1の動作モードへの切替えは,望ましくは割込み要求によって行われ,特に割込み手段によって作動され,その場合,割込み要求は,一方では時間条件によって,また他方では2つの実行ユニットの少なくとも一方の所定の状態または所定のイベントの発生に相当する状態条件によっても作動可能である。
少なくとも3つの区分されたメモリ領域への特別な区分が行われ,その場合,実行ユニットは,各々の動作モードに応じて第1のメモリ領域または第2のメモリ領域に対するアクセスを有し,もしくはそれらに接続されることが望ましい。この場合,特別な実施形態では,少なくとも2つの実行ユニットの各々は,プロセッサユニットの各々の第1のメモリ領域に対応付けられ,第1の動作モード,すなわち特に安全モードでそのメモリ領域に接続(in Verbindung stehen)され,もしくはそれに対するアクセスを有することが望ましい。第2の動作モードでは,2つの実行ユニットは,2つの実行ユニットに対応付けられる第2のメモリ領域に対するアクセスのみを有し,もしくはそれに接続(in Verbindung stehen)される。
監視手段,特に切替え手段自体は,各々の動作モードにおいて,適切なメモリ領域に対してのみアクセスがなされ,もしくはメモリ領域に対する適切な接続(in Verbindung stehen)がなされることを監視するように形成されることが望ましい。すなわち,第2の動作モードでは,評価手段(実行ユニット)が第2のメモリ領域に対してのみアクセスし,第1のメモリ領域に対してアクセスしない,一方の第1の動作モードでは,各々の第1のメモリ領域に対するアクセスのみが行われ,第2のメモリ領域に対するアクセスが行われない,それらが上述した監視手段によって検査され,場合によってはエラー報告,非常時動作またはオフのような適切なエラー応答が承認される。
この場合,上述した3つのメモリ領域の各々,すなわち少なくとも2つの第1のメモリ領域および1つの第2のメモリ領域が別個のメモリモジュールに設けられるため,プロセッサユニット上には少なくとも3つのメモリモジュールが設けられる。この場合,安全性を要求されるプログラムが各々の第1のメモリ領域に,安全性を要求されないプログラムが第2のメモリ領域に配置されることが望ましく,その場合,切替えに関する上述したトリガ機能を有する所定のメモリアドレスが第1のメモリ領域に含まれることが望ましい。
第1の動作モードで実行ユニットの状態を比較するために,プロセッサユニット上に明確な比較手段が設けられ,その比較手段は,第1の動作モードでのみ機能し,第2の動作モードに移行すると機能しないため,冗長的でない安全性を要求されない動作では,比較およびそれに伴い場合によって引き起こされるエラー応答が行われないという他の利点が得られる。
他の利点および望ましい実施形態は,請求項に記載された特徴ならびに明細書および図面の内容から明らかにされる。
本発明は,以下の図面に示す図を用いて詳細に説明される。
実施例の説明
特にエンジン制御,ブレーキ制御またはステアリングおよびトランスミッション等のような自動車制御分野の制御アプリケーション,さらに,オートメーション化または工作機械分野の工業アプリケーションでは,一般に,エラーの発生を検出するために,安全上の理由から冗長的な実行が要求されるソフトウェアタスクまたはプログラムがある。かかる安全性を要求されるアプリケーションは,しかし,これらの安全性を要求されるプログラムの他に,エラーを有しても許容されるソフトウェア構成要素またはプログラムを含む。なぜなら,これらは,安全性を要求される機能自体をもたらすためには必要とされず,もしくはそれに従事しておらず,付加的な機能,特にコンフォート機能のみをもたらすためである。安全上の理由からは冗長的な実行が望まれ,コスト上の理由からは冗長的なハードウェア構成は望まれない。本発明によれば,この問題は,すでに発明の利点の項で記載され,以下で詳細に説明するように,プロセッサユニットの少なくとも2つの動作モードを最適に切替えることにより解消される。
したがって,以下では,安全性を要求されるシステム,例えばブレーキ,ステアリング,トランスミッションまたはエンジンのような車載システムに対する本発明の適用を示す。この場合,本発明に基づくシステムのプロセッサユニットは,図1に示すデュアルコアアーキテクチャ,すなわち少なくとも2つの実行ユニット101および102(CPU1およびCPU2)を有するプロセッサユニット100である。2つの実行ユニット101,102,すなわちこの例ではCPU1およびCPU2には,各々にRAM1およびRAM2とも称される作業メモリ110ないし111が対応付けられる。2つの実行ユニット101および102は,比較手段,比較器170に接続される。各実行ユニットは,さらに,切替え手段,モードセレクタ130ないし131との接続を有し,比較モジュール,比較手段170もモードセレクタとの接続を有する。各々のバス140ないし141を介して,各々の揮発性の作業メモリ110ないし111,および切替え手段130および131は,各々の第1のメモリ手段150ないし151,および第2のメモリ手段180に接続される。
この実施例では,安全性を要求されるプログラムまたはタスク用,および安全性を要求されないプログラムまたはタスク用の,2つの動作システムが用いられる。安全性を要求されるプログラム用の動作システムとしては例えばOSEKtime OS,安全性を要求されないタスク用の動作システムとしては例えばOSEK OSが用いられる。
アプリケーションソフトウェアは,すでに上述したように,安全性を要求されるプログラムと安全性を要求されないプログラムとに分けられる。安全性を要求されないとして分類される全てのプログラムまたはタスクは,うまく機能せず,エラーを有して機能し,または全く機能しなくても許容される。これにより,システム全体ないし環境を危険にさらすことはありえない。システム全体の確実な動作は,安全性を要求されるとして分類されるプログラムないしタスクのみで可能である。もちろん,動作が安全性を要求されるタスクないしプログラムのみで実行される場合,機能全体の品質を許容される所定の範囲内で損ねる結果となる可能性はある。
安全性に関連する,すなわち安全性を要求されるタスクまたはプログラムは,2つの実行ユニット101および102,すなわち2つのCPU,CPU1およびCPU2上で冗長的に実行される。この場合,このプログラムは,第1の動作システム,ここではOSEKtime OSの制御下で処理される。このため,図1に示す不揮発性のメモリ領域150ないし151は,2つの部分に重複され,2つの実行ユニットに対して2つの第1のメモリ領域150および151が存在する。これら第1のメモリ領域には,安全性を要求されるプログラムないしタスクが重複して,すなわち冗長的に存在する。すなわち,安全性を要求される各タスクは,一方でメモリ領域150,他方でメモリ領域151に配置される。
この場合,特に第1の動作システム自体は,安全性を要求されるとして分類され,よって同様に2つのメモリ領域に配置される。すなわち,この例では,動作システムOSEKtime OSは,一方でメモリ領域105,他方でメモリ領域151に各々に配置される。この場合,2つの第1のメモリ領域は,特別な実施では,各々に専用の不揮発性のメモリモジュールROM1ないしROM2として設けられ,ROM,PROM,EPROM,EEPROM,Flash-EPROM等として設けられうる。
この場合,安全性を要求されるプログラムまたはタスクの重複配置は,必ずしも必要とされない。これは,ECCコード(Error Code and Correction)を用いることによっても安全性が確保されうるためである。メモリでエラー検出するかかる方法は多様であり,その場合,基本要件は,エラー検出ないしエラー訂正コード,すなわち符号による安全性の確保である。最も単純な場合,この符号は,符号ビット,例えばパリティビットのみで構成されうる。他方で,安全性の確保は,適切なビット数によって確実なエラー検出を可能とするために,BergerコードまたはBose-Linコード等のような複雑なEDコード(Error
Detection)によっても,あるいは例えばハミングコードのような複雑なECCコードによっても実現されうる。
しかし,また,アドレスの範囲内で所定のビット入力パターンに任意長の所望のコードパターンを対応付けるために,コード生成器として例えば生成テーブル(配線またはソフトウェア内)が用いられうる。
よって,特に訂正機能によってメモリ内のデータ安全性が保証され,重複配置が回避されうる。この場合,2つの実行ユニットでは安全性を要求されるプログラムの冗長的な処理が行われ,それにより,コア,すなわち実行ユニットでのエラーが本発明に基づく一致の比較によって明らかにされるにもかかわらず,図1に示される本発明の場合に反して1つの第1のメモリ領域のみが必要とされる。
安全性に関連しない,すなわち安全性を要求されないプログラムまたはタスクは,性能向上のために2つの実行ユニット,すなわちCPU上で分散して実行され,各々のサブ動作システム,すなわちここではOSEKサブシステムの制御下で実行される。よって,特に2つの実行ユニットの各々で独立した動作システム,ここでは独立したOSEKシステムが作動する。安全性を要求されないプログラムないしタスクが配置される第2のメモリ領域180は,単一で存在する。これは,2つの実行ユニット101ないし102によって共用され,もしくは両者によってアクセスされる。
この第2のメモリ領域も,特別な実施形態では,専用の不揮発性のメモリモジュールROM3として設けられ,ROM,PROM,EPROM,EEPROM,Flash-EPROM等として設けられうる。
この場合,メモリ領域,すなわち第1および第2のメモリ領域は,複数の第1のメモリ領域ないし1つの第1のメモリ領域(ECC安全性の確保の場合)が例えば0〜Xのアドレスに関連付けられ,第2のメモリ領域が同様にX+1〜Yのアドレスに関連付けられるように形成されうる。以下では,重複配置された第1のメモリ領域が示され,その場合,上述したように安全性の確保された単一の第1のメモリ領域のみの使用もありうる。この場合,すでに説明したように,第1のメモリ領域は,アドレス0〜Xで重複して各々の第1のメモリ領域に存在する。この場合,各々の第1のメモリ領域は,1つの実行ユニットに具体的に対応付けられる。
第1の動作モード,この例の安全モードでは,安全性を要求されるプログラムないしタスクは,2つの実行ユニット,すなわち2つのCPU101および102上で冗長的に,そして特に同期して作動する。比較手段,比較器170では,各々のCPU状態が互いに比較される。この場合,時間的な余裕がある,すなわち随時に比較できる所定の状態は,それが一次的に記憶され,例えば識別子によって一義的に対応付けられて比較されうる限り,所定のプログラム段階に対応付けられてもよい。しかし,望ましい状況では,安全性を要求されるプログラムないしタスクが冗長的のみならず,同期して処理されるため,実行ユニットの各々の状態の比較は,動作中に直ぐに実行されうる。この場合,新たなコマンドおよび/またはデータは,各々に対応付けられた第1のメモリ領域150ないし151から適切にロードされて処理される。比較器170では,CPU状態の一致が検査され,その場合,一致すべき状態が相違することでエラーが検出される。エラー応答として,一方では,プロセッサユニットが内蔵された各々のシステムに関するエラー表示が可能であり,他方では,非常時動作,すなわちプロセッサユニットを内蔵したシステムが,例えば特別に準備されたプログラムおよび/またはデータを有し,安全性の確保された非常時動作で作動するようなエラー応答が可能である。この場合,高度なエラー評価,例えばm−nテスト(n- aus m-Test)でも可能であり,その場合,nおよびmがn≧2およびm>n>m/2の自然数であり,またはk−1コード(1- aus k-Code)でも可能であり,その場合,kがk>1の自然数である。例えば,かかるテストによって実行ユニットが一義的にエラーを有するとして検出されれば,他のエラー応答として,その実行ユニットをオフにして残りのユニットの非常時動作を行い,もしくはエラーを有する実行ユニットの非常時動作への切替えもできる。
セーフティモード,すなわち安全モードまたは一般的な第1の動作モードでは,実行ユニットのアクセスは,第1のメモリ領域のアドレスないしデータに対してのみ許可される。すなわち,各々の実行ユニットは,第1の動作モードでは,特に対応付けられる第1のメモリ領域に対するアクセスのみが許可される。これは,監視手段,特に切替え手段もしくはモードセレクタ130ないし131,またはモードセレクタ130および131の監視手段によって検査される。エラーが発生すれば,比較可能なエラー応答は,上述したのと同様に,CPU状態の一致に係る比較エラーに対して考えられ,かつ定められうる(vorsehbar)。すなわち,または,切替え手段,すなわちここではモードセレクタ130ないし131は,第1の動作モードの場合,バス140ないし141を介して各々に付属する第1のメモリ領域150ないし151との接続を確立し,もしくは然るべきアクセス侵害を監視する。
この実施例の第2の動作モードでは,安全性を要求されないプログラムないしタスクが処理される。2つの実行ユニット,すなわちCPU1および2(101,102)上では,安全性を要求されない様々なプログラムが作動する。これには,例えば第2の動作モード用の動作システム自体,すなわちOSEKサブシステムも属する。2つの実行ユニットまたはCPUは,よって,不揮発性の第2のメモリ領域を共有し,上述したように形成されうる。もちろん,各CPUは,専用の揮発性の作業メモリ領域RAM1およびRAM2,110ないし111に対応付けられる。これにより,かかる安全性を要求されないプログラムが重複して実行されない,またはすべて重複して実行されるとは限らないため,少なくとも理論上では,2つの実行ユニットがリソース解放の待機によって互いにブロッキングしあう可能性がある。これは,タスクないしプログラムを,例えばスケジュールに応じて実行ユニット101および102に適切に分散することにより対処される。この場合,例えば交互アクセスまたは各々のプログラムに応じてプライオリティ付けされたアクセス等のような,他の対処も可能である。この第2の動作モード,この実施例に基づく性能モードでは,第1のメモリ領域のアドレスに対するアクセスは許可されない。
ここでも,検査が検査手段,特に切替え手段,モードセレクタによって行われ,あるいはまた,検査手段がモードセレクタに別途に設けられる。第2の動作モードでエラーを有するアクセスが検出されると,ここでも適切なエラー応答がとられうる。この場合,一方で,第1の動作モードに応じたエラー応答が考えられ,かつ定められうる(vorgebbar)。これは,エラーを有するアクセスでは場合によって,安全性を要求されるメモリ領域がアクセスされることがあるため,特に合理的である。
他方では,これは,第2のメモリ領域との接続が第2の動作モードでのみ形成され,かつ第1のメモリ領域との接続がこの動作モードで切断され,あるいは,第1のメモリ領域に対するアクセスが他の方法で妨げられ,かつ第2のメモリ領域に対するアクセスのみが許可されることにより,実現可能である。
動作モード間の切替えは,図2および図3で詳細に再び説明される。
第1の動作モード,すなわちここでは安全モードまたはセーフティモードから第2の動作モード,すなわちここでは性能モードまたはパフォーマンスモードに到達するため,所定のないし割当てられたアドレスに対するアクセスが必要であり,それによって第2の動作モードへの変更が行われる。この場合,この割当てられたアドレスは,第1のメモリ領域でのプログラム処理で発生し,もしくは外部から適切に与えられる。すなわち,第1の動作モードまたは安全モードでは,第1のメモリ領域のアドレスないしプログラムに対するアクセスのみが許可されうる。この安全モードで,他のアドレス,例えば第2のメモリ領域のアドレスに対するアクセスがなされた場合,上述したように対応可能なエラー応答を有するエラーが生じる。図2では,これが再び明確にされている。ブロック200では,2つの実行ユニット101および102は,第1の動作モード,すなわち安全モードにある。照会ブロック210では,次のコマンドのアドレスが適切に割当てられた切替えアドレスのトリガアドレスと一致するか検査される。一致しない場合,2つの処理ユニットは,引き続き第1の動作モードにあり,よって,第1のメモリ領域150,151に対して各々にアクセスする。もちろん,次のコマンドおよび/またはデータのアドレスがトリガアドレスに一致する場合,ブロック220では,第2の動作モード,性能モードまたはパフォーマンスモードへの切替えないし変更が行われる。この場合,各々の実行ユニットは,さらに,第2のメモリ領域のアドレスを得て,そのアドレスで第2の動作モードでの処理が続行される。
この場合,比較ユニットないし比較手段170は,オフにされ,すなわち機能しない(disabled)。よって,ブロック230では第1の実行ユニット101が第2の動作モードにあり,ブロック231では第2の実行ユニット102が同様に第2の動作モード,パフォーマンスモードにある。すなわち,安全モード,セーフティモードからパフォーマンスモードに到達する唯一の可能性は,この具体例では,例えばOSEKtime動作システムのttidleタスク,もしくはその中に含まれるトリガアドレスとして割当てられたアドレス,特にそのプログラム要素ないしこのタスクの開始アドレスのような,特殊なOSEKtimeタスクTTrigerの呼出しである。特に,2つの実行ユニットが同期して作動する場合,この呼出しは2つのCPU内で必ず同時に発生する。まさにttidleのようなTTrigerタスクは,その場合,第2のメモリ領域180にある,例えばOSEKスケジューラの呼出しである。
例えば,切替え装置,すなわちモードセレクタ130,131では,性能モードに変更するために,この該当するアドレスがトリガアドレスとして格納される。これは,ブロック210で説明したように,切替え手段,まさにモードセレクタで検査される。よって,以降のアドレスアクセスは,安全モードへの新たな変更までは,かろうじてROM領域180,すなわち不揮発性の第2のメモリ領域に対してのみ許可される。
図3では,性能モード,すなわちパフォーマンスモードから,特に第1の動作モード,安全モードまたはセーフティモードに戻る切替えないし変更が示される。ブロック300では,実行ユニット101,すなわちCPU1は,第2の動作モード,パフォーマンスモードにある。同様にブロック310では,第2の実行ユニット102は,まさにこの性能モード,この実施例の第2の動作モードにある。ブロック320ないし321では,各実行ユニットのために割込み要求,割込みが作動され,それによってブロック330では,2つの実行ユニット101および102が第1の動作モード,安全モードに切替えられる。この場合,比較器170の比較手段が再びオンにされ,その後ブロック340では,2つの実行ユニットは,再び安全モード,第1の動作モードで作動する。この場合,割込み要求は,1つには,時間条件,すなわちタイマ割込みによって作動され,もしくは状態ないしイベント条件によって作動されうる。これは,性能モードから安全モードに変更するために,第1の動作システムOSEKtimeの割込み要求が生成されることを意味する。OSEK動作システムより高いプライオリティを有するOSEKtime動作システムのこのタイマ割込みは,2つのCPU上に同一にプログラミングされ,2つのCPU上では同一のOSEKtimeシステムが作動する。特に同期して作動するOSEKtimeシステムでは,割込み,すなわち割込み要求は,2つのCPUで同時に生じる。説明したように,これにより,OSEKtimeスケジューラ割込みは,非常に高い,特に最高のプライオリティを有する。2つの割込み要求は,同期してそれに対応して同時に実行される。すでに説明したように,この割込み要求の実行により,比較手段170もまた同様に再び機能し,すなわち第1の動作状態,安全モードに切替えられて,実行ユニットは特に新たに冗長的に作動する。
すでに上述したタイマ割込み以外に,上述した第2の動作モードから第1の動作モードへの動作モード切替えを実現するために,状態割込みまたはイベント割込みも用いられうる。この場合,実行ユニットの所定の状態は,例えば高いプライオリティの割込みを作動させることができ,その場合,その割込みは2つの実行ユニットに対して有効となる。これは,例えば,第2のCPUに対しても有効なかかる高いプライオリティの割込み要求を作動させるCPU内の,ROM180でのプログラム処理によって生成される状態とされうる。同様にイベント,特に外部からプロセッサユニットに与えられるイベントは,かかる割込みおよびそれに伴う動作モードの変更を作動させうる。タイマ割込みを有する第1の形が望ましいが,上述したような状態またはイベント割込みも同様に考えられ,それとともに明らかにされる。
これにより,課題に対する,本発明に基づく,2つの内蔵された実行ユニットを有するプロセッサユニットの2つの動作モードの最適な切替えが示され,その場合,具体的な実施例は,本発明に基づく対象の基本概念に関して限定的に作用するものではない。
本発明に基づく,少なくとも2つの実行ユニットを有するプロセッサユニットおよびハードウェアコンポーネントを示す。 安全モードから性能モードへの切替えを示す。 性能モードから安全モードへの切替えを示す。
符号の説明
100 プロセッサユニット
101,102 実行ユニット(CPU)
110,111 作業メモリ(RAM)
130,131 モードセレクタ
140,141 バス
150,151 第1のメモリ手段(ROM)
170 比較器(比較モジュール)
180 第2のメモリ手段(ROM)

Claims (28)

  1. 少なくとも2つの実行ユニットを有するプロセッサユニットであって,切替え手段が含まれ,前記切替え手段によって前記プロセッサユニットの少なくとも2つの動作モードが切替えられる前記プロセッサユニットにおいて:
    前記切替え手段は,前記プロセッサユニットによって所定のメモリアドレスがアクセスされることにより,第1の動作モードから第2の動作モードへの変更が作動されるように形成されることを特徴とする,少なくとも2つの実行ユニットを有するプロセッサユニット。
  2. 前記第1の動作モードが安全モードに相当し,前記安全モードでは,前記2つの実行ユニットが同一のプログラムを処理し,かつ比較手段が設けられ,前記比較手段は,前記同一のプログラムの処理で生じる前記2つの実行ユニットの状態が一致するかを比較することを特徴とする,請求項1に記載のプロセッサユニット。
  3. 前記2つの実行ユニットは,第1の動作モードでは前記同一のプログラムを同期して処理するように形成されることを特徴とする,請求項2に記載のプロセッサユニット。
  4. 少なくとも3つの区分されたメモリ領域を有し,前記第1の動作モードでは,各々の実行ユニットが各々の実行ユニットに割当てられる第1のメモリ領域に各々に接続されることを特徴とする,請求項1に記載のプロセッサユニット。
  5. 少なくとも2つの区分されたメモリ領域を有し,前記第2の動作モードでは,2つの実行ユニットが2つの実行ユニットに割当てられる1つの第2のメモリ領域にのみ接続されることを特徴とする,請求項1に記載のプロセッサユニット。
  6. アクセスされるべき前記所定のメモリアドレスが,前記第2のメモリ領域に配置されることを特徴とする,請求項1および5に記載のプロセッサユニット。
  7. 少なくとも2つの区分されたメモリ領域を有し,前記第1の動作モードでは,2つの実行ユニットが2つの実行ユニットに割当てられる第1のメモリ領域にのみ接続されることを特徴とする,請求項1に記載のプロセッサユニット。
  8. 前記所定のメモリアドレスが第1のメモリ領域内のトリガアドレスであり,アクセスされるべき次のアドレスが第2のメモリ領域に含まれることを特徴とする,請求項1および7に記載のプロセッサユニット。
  9. 記切替え手段は,第2の動作モードでは,前記2つの実行ユニットが第2のメモリ領域にのみ接続されることを監視するための監視手段として機能することを特徴とする,請求項1および5に記載のプロセッサユニット。
  10. 記切替え手段は,第1の動作モードでは,前記2つの実行ユニットが前記第1のメモリ領域にのみ各々に接続されることを監視するための監視手段として機能することを特徴とする,請求項1および4に記載のプロセッサユニット。
  11. 各々の前記メモリ領域が区分されたメモリモジュールに設けられることを特徴とする,請求項4または5に記載のプロセッサユニット。
  12. 前記比較手段は,性能モードに相当する前記第2の動作モードに移行すると機能せず,第1の動作モードでのみ前記2つの実行ユニットの状態の比較を行うことを特徴とする,請求項2に記載のプロセッサユニット。
  13. 記第1の動作モードへの復帰を可能にするように,割込み要求が生成されることを特徴とする,請求項1に記載のプロセッサユニット。
  14. 前記割込み要求が時間条件によって作動されることを特徴とする,請求項13に記載のプロセッサユニット。
  15. 前記割込み要求が状態条件によって作動されることを特徴とする,請求項13に記載のプロセッサユニット。
  16. 少なくとも2つの実行ユニットを有するプロセッサユニットの少なくとも2つの動作モードを切替える方法であって:
    第1の動作モードから第2の動作モードへの変更は,前記プロセッサユニットによって所定のメモリアドレスがアクセスされることによって作動されることを特徴とする,少なくとも2つの動作モードを切替える方法。
  17. 前記実行ユニットが第1の動作モードでは同一のプログラムを同期して処理することを特徴とする,請求項16に記載の方法。
  18. 2つの動作モードで異なるプログラムが処理され,第1の動作モードでは安全上重要なプログラムが2つの実行ユニットによって冗長的に処理され,第2の動作モードでは前記安全上重要なプログラム以外のプログラムが処理されることを特徴とする,請求項16に記載の方法。
  19. 前記安全上重要なプログラムが前記2つの実行ユニットに各々に割当てられる第1のメモリ領域に冗長的に配置されることを特徴とする,請求項18に記載の方法。
  20. 前記安全上重要であるプログラム以外のプログラムが1つの第2のメモリ領域に配置され,2つの実行ユニットが第2の動作モードでは第2のメモリ領域にのみアクセスすることを特徴とする,請求項18に記載の方法。
  21. 第1の動作モードでは,安全上重要なプログラムが前記2つの実行ユニットにより冗長的に処理され,前記処理によって発生する,前記2つの実行ユニットの状態の一致が比較されることを特徴とする,請求項16に記載の方法。
  22. 前記第1の動作モードでは,各々の実行ユニットに各々に割当てられる第1のメモリ領域のみが前記実行ユニットによってアクセスされることを特徴とする,請求項16に記載の方法。
  23. 少なくとも2つの区分されたメモリ領域を有し,前記第1の動作モードでは2つの実行ユニットが2つの実行ユニットに割当てられる第1のメモリ領域にのみアクセスすることを特徴とする,請求項16に記載の方法。
  24. 前記所定のメモリアドレスが第1のメモリ領域内のトリガアドレスであり,アクセスされるべき次のアドレスが第2のメモリ領域に含まれることを特徴とする,請求項16および23に記載の方法。
  25. 前記第2の動作モードでは,2つの実行ユニットに割当てられる第2のメモリ領域のみが2つの実行ユニットによってアクセスされることを特徴とする,請求項16に記載の方法。
  26. 前記2つの実行ユニットが第2の動作モードでは前記第2のメモリ領域にのみアクセスするように監視されることを特徴とする,請求項16および25に記載の方法。
  27. 前記2つの実行ユニットが第1の動作モードでは前記第1のメモリ領域にのみアクセスするように監視されることを特徴とする,請求項16および22または23に記載の方法。
  28. 前記第2の動作モードから前記第1の動作モードへの切替えが割込み要求によって行われ,前記割込み要求が時間条件または状態条件によって作動されることを特徴とする,請求項16に記載の方法。
JP2006515276A 2003-06-24 2004-06-22 プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット Expired - Fee Related JP4232987B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10328208 2003-06-24
DE10332700A DE10332700A1 (de) 2003-06-24 2003-07-18 Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit
PCT/DE2004/001299 WO2005003962A2 (de) 2003-06-24 2004-06-22 Verfahren zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit sowie entsprechende prozessoreinheit

Publications (2)

Publication Number Publication Date
JP2007507015A JP2007507015A (ja) 2007-03-22
JP4232987B2 true JP4232987B2 (ja) 2009-03-04

Family

ID=33566007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006515276A Expired - Fee Related JP4232987B2 (ja) 2003-06-24 2004-06-22 プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット

Country Status (7)

Country Link
US (1) US20070277023A1 (ja)
EP (1) EP1639454A2 (ja)
JP (1) JP4232987B2 (ja)
KR (1) KR20060026884A (ja)
BR (1) BRPI0411824A (ja)
RU (1) RU2006101719A (ja)
WO (1) WO2005003962A2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10349581A1 (de) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit
DE102005037213A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal
KR101052994B1 (ko) * 2004-10-25 2011-07-29 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서전환을 위한 방법 및 장치
US20080163035A1 (en) * 2004-10-25 2008-07-03 Robert Bosch Gmbh Method for Data Distribution and Data Distribution Unit in a Multiprocessor System
US20070011513A1 (en) * 2005-06-13 2007-01-11 Intel Corporation Selective activation of error mitigation based on bit level error count
DE102005037217A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zum Vergleich von Daten bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
DE102005037244A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und mit wenigstens zwei Gruppen von internen Zuständen
DE102005037230A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
DE102005037248A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigsterns zwei Ausführungseinheiten
DE102005037226A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Festlegung eines Startzustandes bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten durch markieren von Registern
DE102005037215A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle
DE102005037233A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Datenverarbeitung
DE102005055067A1 (de) * 2005-11-18 2007-05-24 Robert Bosch Gmbh Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System
JP4784827B2 (ja) * 2006-06-06 2011-10-05 学校法人早稲田大学 ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ
DE102006048174A1 (de) 2006-10-10 2008-04-17 Robert Bosch Gmbh Einspritzsystem und Verfahren zum Betreiben eines Einspritzsystems
DE102006048172A1 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Elektronisches System
DE102006048173A1 (de) * 2006-10-10 2008-04-17 Robert Bosch Gmbh Verfahren zum Umschalten eines Systems mit mehreren Ausführungseinheiten
US7941698B1 (en) * 2008-04-30 2011-05-10 Hewlett-Packard Development Company, L.P. Selective availability in processor systems
DE102008062594A1 (de) * 2008-12-16 2010-07-01 Diehl Aerospace Gmbh Mehrkanal-Kontrollermodul
US9594648B2 (en) * 2008-12-30 2017-03-14 Intel Corporation Controlling non-redundant execution in a redundant multithreading (RMT) processor
US9081688B2 (en) * 2008-12-30 2015-07-14 Intel Corporation Obtaining data for redundant multithreading (RMT) execution
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
US8375250B2 (en) * 2009-03-04 2013-02-12 Infineon Technologies Ag System and method for testing a module
WO2011101707A1 (en) * 2010-02-16 2011-08-25 Freescale Semiconductor, Inc. Data processing method, data processor and apparatus including a data processor
US9405637B2 (en) 2011-01-18 2016-08-02 Texas Instruments Incorporated Locking/unlocking CPUs to operate in safety mode or performance mode without rebooting
WO2012144043A1 (ja) * 2011-04-21 2012-10-26 ルネサスエレクトロニクス株式会社 半導体集積回路とその動作方法
US9842014B2 (en) 2012-11-22 2017-12-12 Nxp Usa, Inc. Data processing device, method of execution error detection and integrated circuit
DE102013218814A1 (de) 2013-09-19 2015-03-19 Siemens Aktiengesellschaft Verfahren zum Betreiben eines sicherheitskritischen Systems
JP6090094B2 (ja) * 2013-10-02 2017-03-08 トヨタ自動車株式会社 情報処理装置
US9760446B2 (en) * 2014-06-11 2017-09-12 Micron Technology, Inc. Conveying value of implementing an integrated data management and protection system
US9823983B2 (en) 2014-09-25 2017-11-21 Nxp Usa, Inc. Electronic fault detection unit
US9858201B2 (en) 2015-02-20 2018-01-02 Qualcomm Incorporated Selective translation lookaside buffer search and page fault
US9658793B2 (en) * 2015-02-20 2017-05-23 Qualcomm Incorporated Adaptive mode translation lookaside buffer search and access fault
JP6378119B2 (ja) * 2015-03-16 2018-08-22 日立建機株式会社 制御コントローラ、ステアバイワイヤシステムおよび機械
US10063569B2 (en) * 2015-03-24 2018-08-28 Intel Corporation Custom protection against side channel attacks
US10002056B2 (en) * 2015-09-15 2018-06-19 Texas Instruments Incorporated Integrated circuit chip with cores asymmetrically oriented with respect to each other
US9734006B2 (en) * 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system
RU2623883C1 (ru) * 2016-02-18 2017-06-29 Акционерное общество "Лаборатория Касперского" Способ выполнения инструкций в системной памяти
RU2634172C1 (ru) * 2016-06-02 2017-10-24 Акционерное общество "Лаборатория Касперского" Способ передачи управления между адресными пространствами
JP6356736B2 (ja) * 2016-06-29 2018-07-11 ファナック株式会社 コントローラシステムおよび制御方法
WO2019014475A2 (en) * 2017-07-13 2019-01-17 Eaton Intelligent Power Limited ELECTROMECHANICAL CONTROL DEVICE
GB2579590B (en) 2018-12-04 2021-10-13 Imagination Tech Ltd Workload repetition redundancy
GB2579591B (en) 2018-12-04 2022-10-26 Imagination Tech Ltd Buffer checker
EP4078434A2 (de) * 2019-12-20 2022-10-26 ZF Friedrichshafen AG Steuergerät für ein fahrerassistenzsystem und fahrerassistenzsystem
US20240118901A1 (en) * 2022-10-07 2024-04-11 Xilinx, Inc. Switching between redundant and non-redundant modes of software execution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
DE19713192C2 (de) * 1997-03-27 2000-02-24 Rheinmetall Ind Ag Trägerfahrzeug für eine Rohrwaffe mit einer Abstützvorrichtung
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6772368B2 (en) * 2000-12-11 2004-08-03 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
DE10136335B4 (de) * 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken

Also Published As

Publication number Publication date
EP1639454A2 (de) 2006-03-29
KR20060026884A (ko) 2006-03-24
JP2007507015A (ja) 2007-03-22
US20070277023A1 (en) 2007-11-29
WO2005003962A3 (de) 2006-01-26
BRPI0411824A (pt) 2006-08-08
RU2006101719A (ru) 2007-07-27
WO2005003962A2 (de) 2005-01-13

Similar Documents

Publication Publication Date Title
JP4232987B2 (ja) プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット
US8549352B2 (en) Integrated microprocessor system for safety-critical control systems including a main program and a monitoring program stored in a memory device
US8935569B2 (en) Control computer system, method for controlling a control computer system, and use of a control computer system
CN103262045B (zh) 具有容错架构的微处理器系统
CN107526290B (zh) 用于运行控制器的方法
US6470430B1 (en) Partitioning and monitoring of software-controlled system
JP2010285001A (ja) 電子制御システム、機能代行方法
CN101216793A (zh) 一种多处理器系统故障恢复的方法及装置
EP3022653B1 (en) Fault detection apparatus and method
CN1842763A (zh) 在处理器单元的至少两种运行模式之间切换的方法以及相应的处理器单元
JP2009541636A (ja) 内燃機関のエンジン制御部の機能を監視するための方法および装置
JP5308629B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法
US20080133975A1 (en) Method for Running a Computer Program on a Computer System
CN107179980B (zh) 用于监视计算系统的方法和相应的计算系统
US9128838B2 (en) System and method of high integrity DMA operation
JP5699896B2 (ja) 情報処理装置、異常判定方法
JP4829821B2 (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおける復旧方法
CN108700861B (zh) 用于运行用于机动车的控制设备的方法
JP2001306348A (ja) 冗長系情報処理システム
JP6349444B2 (ja) 車両用制御装置
JP6524989B2 (ja) 演算器の動作保証方法
JP7310521B2 (ja) マイクロコンピュータ
JP2024085627A (ja) コンピュータシステム、異常対処方法
JP2013164873A (ja) マルチプロセッサシステム
JP7504222B2 (ja) 車載用制御システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080902

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

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

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees