JP2008518338A - 少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置 - Google Patents

少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置 Download PDF

Info

Publication number
JP2008518338A
JP2008518338A JP2007538398A JP2007538398A JP2008518338A JP 2008518338 A JP2008518338 A JP 2008518338A JP 2007538398 A JP2007538398 A JP 2007538398A JP 2007538398 A JP2007538398 A JP 2007538398A JP 2008518338 A JP2008518338 A JP 2008518338A
Authority
JP
Japan
Prior art keywords
mode
switching
unit
comparison
memory area
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
JP2007538398A
Other languages
English (en)
Other versions
JP5053854B2 (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 DE200410051937 external-priority patent/DE102004051937A1/de
Priority claimed from DE200410051992 external-priority patent/DE102004051992A1/de
Priority claimed from DE200410051952 external-priority patent/DE102004051952A1/de
Priority claimed from DE200410051950 external-priority patent/DE102004051950A1/de
Priority claimed from DE200410051964 external-priority patent/DE102004051964A1/de
Priority claimed from DE200510037220 external-priority patent/DE102005037220A1/de
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of JP2008518338A publication Critical patent/JP2008518338A/ja
Application granted granted Critical
Publication of JP5053854B2 publication Critical patent/JP5053854B2/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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
    • 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
    • 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/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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/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
    • 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
    • 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)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置であって、その場合に切替え手段が設けられており、その切替え手段は、これら実施ユニットが少なくとも2つの駆動モードの間で切り替るように形成されており、その場合に第1の駆動モードは比較モードに相当し、第2の駆動モードはパフォーマンスモードに相当する、前記方法および装置は、インターラプトコントローラが設けられており、さらに少なくとも3つのメモリ領域が設けられており、その場合にメモリ領域へのアクセスが、少なくとも1つの第1の実施ユニットに第1のメモリ領域が対応づけられ、少なくとも1つの第2の実施ユニットには第2のメモリ領域が対応づけられ、少なくとも1つの第3のメモリ領域が少なくとも2つの実施ユニットに対応づけることができるように、行われることを特徴としている。

Description

本発明は、少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置に関する。
アルファ粒子または宇宙線によって引き起こされる過渡的エラーが、集積された半導体回路にとってますます問題となって来ている。減少する構造幅、低下する電圧および高くなるクロック周波数によって、アルファ粒子または宇宙線によって引き起こされる電圧ピークが集積回路内の論理値を歪曲する確率が増大している。結果として、誤った計算結果がもたらされるおそれがある。従って、特に自動車内の、安全上重要なシステム内では、この種のエラーは確実に検出されなければならない。たとえば、自動車内のABSシステムのような、エレクトロニクスのエラー機能が確実に検出されなければならない安全上重要なシステムにおいては、この種のシステムの然るべき制御装置では、通常、エラーを認識のために冗長性が使用される。すなわち、たとえば、既知のABSシステムにおいては、それぞれ完全なマイクロコントローラが二重にされており、その場合にABS機能全体が冗長に計算されて、一致について検査される。結果の矛盾が発生した場合に、ABSシステムはオフにされる。
マイクロコントローラの重要なコンポーネントは、一方では、メモリモジュール(たとえばRAM、ROM、キャッシュ)、コアおよび入出力インターフェイス、いわゆる周辺機器(たとえばA/D変換器、CANインターフェイス)である。メモリ素子は検査コード(パリティまたはECC)によって効果的に監視することができ、周辺機器はしばしばアプリケーション固有にセンサ信号パスまたはアクター信号パスの一部として監視されるので、それ以上の冗長性の考えは、マイクロコントローラのコアをただ二重にすることである。
2つの内蔵されたコアを有するこの種のマイクロコントローラは、デュアルコアアーキテクチャとしても知られている。2つのコアは、同じプログラムセグメントを冗長かつクロック同期(ロックステップモード)で実施し、2つのコアの結果が比較され、一致を比較した場合に、エラーが認識される。デュアルコアシステムのこの設定は、比較モードとも称される。
デュアルコアアーキテクチャは、他の適用においてはパワーを向上させるため、従ってパフォーマンスを向上させるためにも使用される。2つのコアは、異なるプログラム、プログラムセグメントおよび指令を実施し、それによってパワーの向上が得られ、従ってデュアルコアシステムのこの設定は、パフォーマンスモードと称することもできる。このシステムは、対称のマルチプロセッサシステム(SMP)とも称される。
システムの拡張は、特殊なアドレスへのアクセスと特殊化されたハードウェア装置による、これら2つのモード間のソフトウェアによる切替えである。比較モードにおいては、コアの出力信号が互いに比較される。パフォーマンスモードにおいては、2つのコアは新芽トリックなマルチプロセッサシステム(SMP)として働き、異なるプログラム、プログラムセグメントまたは指令を実施する。
この種のシステムを使用する場合に、切り替える場合にインターラプト源の切替えも行われなければならないという問題が生じる。従って本発明の課題は、インターラプト源の最適な切替えを可能にする、方法と手段を提供することである。
好ましくは、少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法が使用され、その場合に切替え手段が含まれており、その切替え手段は、これら実施ユニットが少なくとも2つの駆動モード間で切り替るように、形成されており、その場合に第1の駆動モードは比較モードに相当し、第2の駆動モードはパフォーマンスモードに相当する、前記方法は、インターラプトコントローラが設けられており、かつさらに少なくとも3つのメモリ領域が設けられており、その場合にメモリ領域へのアクセスが、少なくとも1つの第1の実施ユニットに第1のメモリ領域が対応づけられ、少なくとも1つの第2のメモリ領域に第2のメモリ領域が対応づけられており、少なくとも1つの第3のメモリ領域が少なくとも2つの実施ユニットに対応づけ可能であるように行われることを特徴としている。
好ましくは、パフォーマンスモードにおいて各実施ユニットにそれぞれメモリ領域が対応づけられており、その場合にメモリ領域に正確に1つのインターラプトコントローラが対応づけられている、方法が使用される。
好ましくは、パフォーマンスモードにおいて各実施ユニットにそれぞれメモリ領域が対応づけられており、その場合にすべてのメモリ領域に正確に1つのインターラプトコントローラが対応づけられている、方法が使用される。
好ましくは、すべてのインターラプト源がインターラプトコントローラに対応づけられている、方法が使用される。
好ましくは、パフォーマンスモードにおいて、少なくとも1つの第1の実施ユニットに第1のメモリ領域が対応づけられ、少なくとも1つの第2の実施ユニットに第2のメモリ領域が対応づけられている方法が使用される。
好ましくは、比較モードにおいて、少なくとも1つの第3のメモリ領域が少なくとも2つの実施ユニットに対応づけられている方法が使用される。
好ましくは、パフォーマンスモードにおいて、各実施ユニットにメモリ領域が対応づけられている、対応づけのみがアクティブである方法が使用される。
好ましくは、比較モードにおいて、少なくとも2つの実施ユニットに少なくとも第3のメモリ領域が対応づけられている、対応づけのみがアクティブである方法が使用される。
好ましくは、各モードにおいて、対応づけの正確に1つの型のみが、各実施ユニットにアクティブな対応づけの1つによって対応づけられた正確に1つのメモリ領域を与えるように、アクティブである方法が使用される。
好ましくは、比較からパフォーマンスモードへ切り替える場合に、アクティブな対応付けが交替する方法が使用される。
好ましくは、少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える装置が使用され、その場合に切替え手段が含まれており、その切替え手段は、これら実施ユニットが少なくとも2つの駆動モードの間で切り替るように、形成されており、その場合に第1の駆動モードが比較モードに相当し、第2の駆動モードがパフォーマンスモードに相当する、前記装置は、インターラプトコントローラが含まれており、そのインターラプトコントローラに少なくとも3つのメモリ領域が対応づけられており、その場合に少なくとも1つの第1のメモリ領域が少なくとも1つの第1の実施ユニットに対応づけられ、第2のメモリ領域が少なくとも1つの第2の実施ユニットに対応づけられており、かつ少なくとも1つの第3のメモリ領域が少なくとも2つの実施ユニットに対応づけ可能であることを特徴としている。
好ましくは、パフォーマンスモードにおいて、各実施ユニットにそれぞれメモリ領域が対応づけられており、その場合に正確に1つのインターラプトコントローラが設けられている装置が使用される。
好ましくは、インターラプト源がインターラプトコントローラに対応づけられている装置が使用される。
好ましくは、パフォーマンスモードにおいて、少なくとも1つの第1の実施ユニットに第1のメモリ領域が対応づけられ、少なくとも1つの第2の実施ユニットに第2のメモリ領域が対応づけられている装置が使用される。
好ましくは、比較モードにおいて、少なくとも1つの第3のメモリ領域が少なくとも2つの実施ユニットに対応づけられている装置が使用される。
好ましくは、メモリ領域がインターラプトコントローラ内に配置されている装置が使用される。
好ましくは、パフォーマンスモードにおいて、各実施ユニットにメモリ領域が対応づけられている、対応づけのみがアクティブである装置が使用される。
好ましくは、パフォーマンスモードにおいて、各実施ユニットにメモリ領域が対応づけられている、対応づけのみがアクティブである装置が使用される。
好ましくは、比較モードにおいて、少なくとも2つの実施ユニットに少なくとも第3のメモリ領域が対応づけられている対応づけのみがアクティブである装置が使用される。
好ましくは、各モードにおいて、対応づけの正確に1つの型のみが、各実施ユニットにアクティブな対応づけの1つによって対応づけられた、正確に1つのメモリ領域を与えるようにアクティブである装置が使用される。
好ましくは、比較モードからパフォーマンスモードへ切り替える場合に、アクティブな対応づけの型が交替する装置が使用される。
好ましくは、比較モードからパフォーマンスモードへ切り替える場合に、アクティブな対応づけの交替がスイッチの操作によって行われる装置が使用される。
好ましくは、対応づけられたメモリ領域の記述が、各モード内で許されていない装置が使用される。
好ましくは、対応づけられたメモリ領域の記述が、対応づけがアクティブであるモードにおいてのみ許されている装置が使用される。
他の利点と好ましい形態が、請求項の特徴および明細書から明らかにされる。
以上説明したように本発明によれば、インターラプト源の最適な切替えを可能にする、方法と手段を提供することができる。
以下においては、プロセッサ、コア、CPU、FPU(Floating Point Unit)、DSP(Digitaler Signalprozessor)、コプロセッサあるいはALU(Arithmetic Logical Unit)も、実施ユニットと称することができる。
図1には、2つの実施ユニットG10a、G10b、比較ユニットG20、切替えユニットG50および切替え意図認識ユニットG40を有するマルチプロセッサシステムG60が示されている。
本発明は、少なくとも2つの実施ユニットG10a、G10b、比較ユニットG20、切替えユニットG50および切替え意図認識ユニットG40を有する、図1、図2、図3に示すマルチプロセッサシステムG60に関する。切替えユニットG50は、少なくとも2つのシステムインターフェイスG30a、G30bへの、少なくとも2つの出力を有している。これらのインターフェイスを介して、レジスタ、メモリまたは、デジタル出力、D/A変換器、通信コントローラのような周辺機器を駆動することができる。このマルチプロセッサシステムは、少なくとも2つの駆動モード、比較モード(VM)およびパフォーマンスモード(PM)で駆動することができる。
パフォーマンスモードにおいては、異なる実施ユニット内で異なる指令、プログラムセグメントまたはプログラムが並列に実施される。この駆動モードにおいては、比較ユニットG20は、非アクティブにされている。切替えユニットG50は、この駆動モードにおいては、各実施ユニットG10a、G10bがシステムインターフェイスG30a、G30bと接続されるように、構成されている。その場合に実施ユニットG10aがシステムインターフェイスG30aと、そして実施ユニットG10bがシステムインターフェイスG30bと接続されている。
比較モードにおいては、2つの実施ユニットG10a、G10b内で同一または同種の指令、プログラムセグメントまたはプログラムが処理される。これらの指令はクロック同期で処理される方が好ましいが、非同期の、あるいは定められたクロックオフセットを有する処理も考えられる。実施ユニットG10a、G10bの出力信号が、比較ユニットG20内で比較される。異なる場合には、エラーが認識されて、それに応じた措置を講じることができる。この措置は、エラー信号を作動させ、エラー処理を導入し、スイッチを操作し、あるいはこれらと他の考えられる措置との組み合わせであることができる。切替えユニットG50は、この変形例においては、1つの信号のみがシステムインターフェイスG30a、G30bと接続されるように、構成されている。他のコンフィグレーションにおいては、切替えユニットが比較され、従って同一の信号がシステムインターフェイスG30a、G30bと接続されることのみをもたらす。
切替え意図認識ユニットG40は、そのときアクティブなモードに関係なく、他のモードへの切り替え意図を検出する。
図2には、2つの実施ユニットG10a、G10b、比較ユニットG20と切替えユニットG50からなる、組み合わされた比較・切替えユニットG70および切替え意図認識ユニットG40を有するマルチプロセッサシステムG60が示されている。
上述した状況の実施形態において、切替えユニットG50と比較ユニットG20を、図2に示すように、共通の切替え・比較ユニット(UVE)G70にまとめることができる。その場合にこの共通のコンポーネントG70は、個別コンポーネントG50、G20の課題を引き受ける。図15、図16、図17、図18および図19に、UVEG70の実施変形例が示されている。
図3に示すような、他の実施形態においては、切替え意図認識ユニットG40、比較ユニットG20および切替えユニットG50を、共通のコンポーネントG80にまとめることができる。図には示されていない、他の実施形態においては、切替え意図認識ユニットG40と比較ユニットG20を共通のコンポーネントにまとめることができる。同様に、切替え意図認識ユニットG40を切替えユニットG50と共通のコンポーネントにまとめることが、考えられる。
以下の文章においては、異なる記載がない場合に、切替え意図認識ユニットG40と、組み合わされた切替え・比較ユニットG70が存在すると考える。
切替え・比較コンポーネントの一般的なケースが、2つより多い実施ニットを使用することについても、図20に示されている。考慮すべきn個の実施ユニットから、n個の信号N140、…、N14nが切替え・比較ユニットN100へ供給される。同ユニットは、これらの入力信号からn個までの出力信号N160、…、N16nを発生させることができる。最も簡単な場合、「純粋なパフォーマンスモード」において、すべての信号N14iが対応する出力信号N16iへ導かれる。逆の限界の場合、「純粋な比較モード」においては、すべての信号N140、…、N14nは、出力信号の正確に1つのN16iへ案内される。
この図において、どのようにして種々の考えられるモードが生じることができるか、が示されている。そのために、この図には、切替え論理N110の論理的なコンポーネントが含まれている。このコンポーネントは、専用のコンポーネントとして存在する必要はない。重要なことは、上述した機能がシステム内で実現されていることである。切替え論理N110は、まず、そもそもいくつの出力信号が存在するか、を検出する。さらに切替え論理は、どの入力信号がどの出力信号に寄与するか、を検出する。その場合に1つの入力信号は、正確に1つの出力信号に寄与することができる。従って数学的な形式で異なるように表現すると、切替え論理によって、集合{N140、…、N14n}の各エレメントに量{N160、…、N16n}のエレメントを対応づける関数が定められる。
その後、処理論理N120が、出力N16iの各々について、どのような形式で入力がこの出力信号に寄与するか、を決定する。このコンポーネントも、専用のコンポーネントとして設けられる必要はない。ここでも重要なことは、上述した機能がシステム内で実現されることである。例として種々の変形可能性を説明するために、普遍性を制限することなしに、出力N160が信号N141、…N14mによって発生される、と仮定する。m=1の場合には、これは、単純に信号のスルー接続に相当し、m=2の場合には、たとえば図13、図14の比較器内に記載されているように、信号N141、N142が比較される。この比較は、同期または非同期で実施することができ、ビットからビットへ、あるいは有意のビットで、あるいはまた許容帯域をもって、実施することができる。
m>=3の場合には、複数の可能性がある。
第1の可能性は、すべての信号を比較し、少なくとも2つの異なる値が存在する場合に、エラーを検出することにあり、そのエラーを選択的に信号で知らせることができる。
第2の可能性は、mからkの選択を行うことにある(k>m/2)。これは、比較器を使用することによって実現することができる。選択的に、信号の1つが異なっていると認識された場合に、エラー信号を発生させることができる。3つすべての信号が異なっている場合には、場合によってはそれとは異なる信号を発生させることができる。
第3の可能性は、これらの値をアルゴリズムへ供給することにある。これは、たとえば、平均値、中央値の形成、あるいはエラー許容のアルゴリズム(FTA)の使用であることができる。この種のFTAは、入力値の極値を捨て去り、残りの値にわたってある種の平均を行うことに基づいている。この平均は、残りの値の全量にわたって、あるいは好ましくはHW内において容易に形成すべき部分量にわたって行うことができる。この場合には、値を実際に比較することは、必ずしも必要ではない。平均値形成の場合には、加算と割り算のみを行えばよく、FTM、FTAまたはメディアンは、部分的な分類を必要とする。場合によっては、ここで極値が十分に大きい場合には、選択的にエラー信号を出力することもできる。
複数の信号を1つの信号に処理するための、上述したこれらの可能性は、短くするために、比較操作と称する。
従って処理論理の課題は、各出力信号について、−それに伴って付属の入力信号についても−比較操作の正確な形を定めることである。切替え論理N110(すなわち上述した機能)と処理論理(すなわち出力信号当たり、すなわち関数値当たりの比較操作の決定)の情報の組み合わせがモード情報であって、それがモードを決定する。この情報は、一般的な場合において、もちろん多値であり、すなわち1つの論理値を示すだけではない。すべての論理的に考えられるモードが、与えられている実装内で有意ではなく、好ましくは許されるモードの数が制限される。強調すべきことは、実施ユニットが2つだけの場合(1つの比較モードだけが生じる)、情報全体を1つの論理値だけに凝縮できることである。
パフォーマンスモードから比較モードへの切替えは、一般的な場合において、パフォーマンスモードにおいては異なる出力へマッピングされる実施ユニットが、比較モードにおいては同一の出力へマッピングされることによって、特徴づけられる。好ましくは、これは、実施ユニットの部分システムが存在し、その部分システムにおいてパフォーマンスモードでは、部分システム内で考慮されるすべての入力信号N14iが、直接対応する出力信号N16iへ接続され、比較モードでは、すべてが1つの出力へマッピングされることによって、特徴づけられる。代替的に、この種の切替えを、組み合わせを変化させることによって、実現することもできる。これは、一般的な場合において、本発明の与えられた形態において、許されるモードの量を1つのパフォーマンスモードと1つの比較モードに制限することはできるが、1つのパフォーマンスモードと1つの比較モードを問題にしないことによって、説明される。しかし常に、パフォーマンスモードから比較モードへの(かつその逆の)切替えを問題にすることができる。
これらのモードの間で、ソフトウェアを介して制御することにより、駆動を動的に切り替えることができる。その場合に切替えは、特殊な切替え機能、特殊なインストラクションシーケンス、明確に示されるインストラクションの実施を介して作動されるか、あるいはマルチプロセッサシステムの実施ユニットの少なくとも1つによる所定のアドレスへのアクセスによって作動される。
エラー回路論理N130は、たとえば比較器によって生成されたエラー信号を収集し、選択的に、これをたとえばスイッチを介して遮断することによって、出力N16iをパッシブに切り替えることができる。
しかし、以下の例は、大体において、多くのコンセプトをより簡単に表す、2つの実施ユニットの場合に向けられている。
モード間の切替えは、種々の方法によってコード化することができる。1つの可能な方法において、特殊な切替え指令が使用され、その切替え指令が切替え意図認識ユニットG40によって検出される。切替えをコード化する他の方法は、特殊なメモリ領域へのアクセスによって定義され、そのアクセスをここでも切替え意図認識ユニットG40が検出する。他の方法は、切替え意図認識ユニットG40内で、切替えを知らせる、外部の信号を評価することである。以下においては、プロセッサのすでにある指令セット内の利用されないビットコンビネーションを用いる方法が説明される。この方法の特別な利点は、すでにある開発環境(アッセンブラ、コンパイラ、リンカー、デバッガ)をさらに使用できることである。
図4には、2つの実施ユニットG210a、G210bと切替え・比較ユニットG260を有するマルチプロセッサシステムG200が示されている。比較モードとパフォーマンスモード(およびその逆)の間で切り替えるために、少なくとも2つの実施ユニットG210a、G210bの、アッセンブラ内で定義されないビットコンビネーションが利用される。この意味における定義されない、あるいは未定義のビットコンビネーションとは、指令セットの記述内で未定義またはイリーガルとして記述される、すべてのビットコンビネーションである。これは、たとえばイリーガルオペランド、イリーガルインストラクション、イリーガルオペレーションである。これら未定義のビットコンビネーションの一般的な特徴は、この種のビットコンビネーションを実施した場合に、ノーマルな実施ユニットはエラー信号を発生するか、定義されない行動を示すことである。従ってこれらのビットコンビネーションは、通常のプログラムのセマンティクスを表すために、必要とされない。
従ってソフトウェア開発のために、シングルプロセッサシステムのために存在するような、従来の開発環境を利用することができる。これは、たとえば、マクロ「SWITCH MODE TO PM」とマクロ「SWITCH MODE TO VM」を定義し、それをコード内の適切な箇所で上述した主旨において未定義のビットコンビネーション内へ挿入することによって、実現することができる。
その場合に、このコンビネーションの使用は、一般的な「SWITCH」マクロとして定義される。その場合にこれは、その時のモードに従ってそれぞれ他のモードへの切替えをもたらす。システム内に2つより多い異なるモードが存在している場合に、この方法を使用するためには、もっと多くのこの種のコンビネーションが存在していなければならず、その場合に好ましくは、切替えのためにモード当たり1つを使用することができる。
本発明によれば、切替え意図は、指令セット内の未定義のビットコンビネーションによってコード化される。これは、実施ユニットG210a、G210bの内部で通常の方法で処理されてはならない。この理由から、それに応じたビットコンビネーションを認識して、それを以降の処理のためにニュートラルなビットコンビネーションに入れ替える、付加的なパイプライン段階(REPLACE段階)G230a、G230bが提案される。そのために好ましくは、「NOP」(No Operation)指令が利用される。NOP指令は、実施ユニットの内部状態をインストラクションポインタに至るまで変化させないことを、特徴としている。その場合にREPLACE段G230a、G230bは、通常、第1段階、FETCH段階G220a、G220bの後ろかつ残りのパイプライン段階G240a、G240b、ここでは1つのユニットにまとめられている、アッセンブラ内では未定義のビットコンビネーションの前に挿入される。
本発明によれば、切替え意図を認識するユニットG40は、パイプラインユニットG215a、G215b内の特殊なパイプライン段階G230a、G230bとして実装され、それは、切り替えるための該当するビットコンビネーションが認識された場合に、処理モードの切替えが実施されることを別体の切替え・比較ユニットG260へ知らせる、付加的な信号G250a、G250bを発生させる。
REP段階G230a、G230bは、好ましくは、実施ユニットG210a、G201bのパイプライン段階G215a、G215b内のFET段階G220a、G220bと残りのパイプライン段階G240a、240bの間に配置されている。その場合にREP段階G230a、G230bは、然るべきビットコンビネーションを認識して、この場合にNOP指令を残りの段階G240a、G240bへ伝える。同時に、それぞれの信号G250a、G250bが能動化される。他のすべての場合においては、REP段階G230a、G230bはニュートラルに行動し、すなわち、他のすべての指令は変更されずに残りの段階G240a、G240bへ伝えられる。
図5には、特殊なパイプライン段階G230a、G230bの内部で特殊な未定義のビットコンビネーションをNOPまたは他のニュートラルなビットコンビネーションと交換する方法がフローチャートで示されている。FETCH段階G300内で、指令すなわちビットコンビネーションがメモリから取り出される。その後ブロックG310において、取り出したビットコンビネーションが、切替えをコード化する、特殊なビットコンビネーションに相当するか、が判断される。否定の場合には、次のステップG320において、ビットコンビネーションが変更されずに残りのパイプライン段階G340へさらに処理するために引き渡される。ステップG310において、切替えをコード化する特殊なビットコンビネーションが認識された場合には、ステップG330においてこれがNOPビットコンビネーションに代えられて、それがその後さらに処理するために他のパイプライン段階G340へ引き渡される。好ましい実施形態においては、ブロックG310、G320、G330は、本発明に基づくREPLACE段階G230a、G230bの機能性を示し、その場合にこれらは他の機能性を含むこともできる。
図6には、2つの実施ユニットH210a、H210bと切替え・比較ユニットH260を有するマルチプロセッサシステムH200が示されている。コンポーネントH220a、H220b、H240a、H240bは、G220a、G220b、G240a、G240bと同じ意味を有している。ここに特殊なパイプライン段階H230a、H230bで記載される、切替え意図認識ユニットG40の代替的な形態において、同ユニットは、切替えを知らせる信号H250a、H250bの他に、他の信号も有している。パフォーマンスモードから比較モードへ交替する場合に実施ユニットH210a、H210bを同期させることができるようにするために、実施ユニットH210a、H210bのパイプラインユニットH215a、H215bはそれぞれ信号入力H280a、H280bを有しており、その信号入力によって処理を停止させることができる。この信号は、切替え・比較ユニットH260によって、最初に切替え指令を認識し、従って信号H250a、H250bを能動化したパイプラインユニットH215aまたはH215bのためにセットされる。実施ユニットH210a、H210bの2つのパイプラインユニットH215a、H215bが切替え指令を認識して、ソフトウェアあるいは他のハードウェア措置によってその内部の状態を同期化した場合に初めて、この信号H280a、H280bが再び撤回される。比較モードからパフォーマンスモードへ交替する場合には、同期化が必要とされないので、H280a、H280bは不要である。
ここに記載された提案のための前提は、各実施ユニットがその個別のナンバーまたはユニットIDを求めることができる、ユニット(IDユニットと称される)または方法である。2つの実施ユニットを有するシステムにおいては、たとえば一方の実施ユニットは自らのためにナンバー0を、他方はナンバー1を求めることができる。2つより多い実施ユニットを有するシステムにおいては、ナンバーはそれに応じて与えられ、あるいは求められる。このIDは、比較モードとパフォーマンスモードを区別せず、実施ユニットを一義的に表す。IDユニットは、それぞれの実施ユニット内に含めることができ、たとえばプロセッサステータスレジスタ内にビットまたはビットコンビネーションとして、あるいは専用のレジスタとして、あるいはまた個々のビットとして、または実施ユニットに対して外部のユニットとして実装され、照会に応じて該当するIDを供給する。
実施ユニットが切替え意図に応じてパフォーマンスモードへの切替えを実施した後に、比較ユニットはもはやアクティブではないが、実施ユニットはまだ同一の指令を実施する。これは、プログラム内で実施作業が次のステップにおいて作業し、ないしは目下作業している箇所を示す、インストラクションポインタが、切替えに影響を受けないことによるものである。実施ユニットが次に異なるSWモジュールを実施することができるようにするためには、実施ユニットのプログラムシーケンスが分離されなければならない。従ってこの事実に従って、インストラクションポインタは、パフォーマンスモードにおいては通常様々な値を有する。というのは、それぞれ本発明に従って独立した指令、プログラムセグメントまたはプログラムが処理されるからである。プログラムフローの分離は、ここで説明する提案においては、それぞれの実施ユニットナンバーを求めることによって行われる。それぞれ実施ユニットがどのIDを有しているかに従って、実施ユニットは所定のソフトウェアモジュールを実施する。各実施ユニットは個別のナンバーまたはIDを有しているので、それによって関与する実施ユニットのプログラムフローを確実に分離することができる。
図7には、2つの実施ユニットを有するマルチプロセッサシステム内で比較モードからパフォーマンスモードへ交替する際にユニットIDを用いてプログラムフローをどのように分離することができるか、という方法がフローチャートで示されている。比較モードからパフォーマンスモードへの切替えG500を実施した後に、2つの実施ユニットによるユニットIDまたは実施ユニットナンバーの照会G510が行われる。その場合に本発明によれば、実施ユニット0は実施ユニットナンバー0を得て、実施ユニット1は実施ユニットナンバー1を得る。G510において、求められた実施ユニットナンバーとナンバー0との比較が行われる。それらが等しい場合には、ステップG520において、この比較について肯定された実施ユニットが、実施ユニット0のためのコードで進む。この比較について肯定されなかった実施ユニットは、G530においてナンバー1との比較を続行する。この比較が肯定された場合に、G540において実施ユニット1のためのコードで続行される。従ってこの比較が肯定されなかった場合には、それに応じた実施ユニットについて、0および1と等しくない実施ユニットナンバーが求められる。これは、エラーである場合を示し、G550へ進む。
図8には、3つの実施ユニットのための可能な方法が説明されている。H500で比較モードからパフォーマンスモードへの切替えを実施した後に、実施ユニットによりユニットIDまたは実施ユニットナンバーの照会H510が行われる。その場合に本発明によれば、たとえば、実施ユニット0は実施ユニットナンバー0を得て、実施ユニット1は実施ユニットナンバー1を得て、そして実施ユニット2は実施ユニットナンバー2を得る。H510において、求められた実施ユニットナンバーとナンバー0との比較が行われる。それらが等しい場合には、ステップH520において、この比較が肯定された実施ユニットが、実施ユニット0のためのコードを続行する。この比較が肯定されなかった実施ユニットは、H530においてナンバー1との比較を実施する。この比較が肯定された実施ユニット内では、H540において実施ユニット1のためのコードが実施される。この比較が肯定されなかった実施ユニットは、H535でナンバー2との比較を続行する。この比較が肯定された実施ユニットは、H536で実施ユニット2のためのコードを続行する。従って、この比較が肯定されない場合には、それに応じた実施ユニットについては、0、1および2に等しくない実施ユニットナンバーが求められる。これは、エラーである場合を示し、H550へ進む。ナンバーと比較する代りに、求められた実施ユニットナンバーを、直接ジャンプテーブルへのインデックスとして使用することもできる。
この説明に従って、この方法を3つより多い実施ユニットを有するマルチプロセッサシステムにも適用することができる。
パフォーマンスモードから比較モードへ切り替える場合には、複数の事柄に注意しなければならない。パフォーマンスモードから比較モードへ切り替える場合には、実施ユニットの内部の状態が切替え後に同種であることが保証されなければならず、そうでない場合には比較モードにおいて、異なるスタート状態が異なる出力をもたらす場合に、場合によってはエラーが認識されてしまう。これは、ハードウェアを介して、ソフトウェアを介して、ファームウェアを介して、あるいはこれら3つのすべての組み合わせにおいて、実施することができる。そのための前提は、比較モードへの切替え後に、すべての実施ユニットが同一または同種の指令、プログラムまたはプログラムセグメントを実施することである。以下において、比較モードが、同一の指令が処理されて、ビットにおいて正確な比較が実施されることによって特徴づけられる場合に適用することのできる、同期化方法を説明する。
図9には、パフォーマンスモードから比較モードへ切り替える場合に実施ユニットを同期させる方法がフローチャートで示されている。ステップG600において、好ましくはすべてのインターラプトが阻止される。これは、インターラプトコントローラが比較モードのためにそれに応じて再プログラミングされなければならないために重要であるだけではない。ソフトウェアによって実施ユニットの内部の状態も一致されなければならない。しかし比較モードへの切替えの準備の間にインターラプトが作動された場合には、もはや一致は容易には可能でなくなる。
ステップG610:2つの実施ユニットが別々のキャッシュを有している場合には、比較モードにおいてあるアドレスについて、一方の実施ユニットについてキャッシュヒットが生じ、他方の実施ユニットについてはキャッシュミスが生じるのを防止するために、切替え前にキャッシュの内容も一致されなければならない。これが、キャッシュハードウェアによって自動的に実施されない場合には、これは、たとえば、すべてのキャッシュラインを無効とマーキングすることによってもたらされる。1つまたは複数のキャッシュが完全に無効になるまでの間、待機しなければならない。これは、必要な場合には、プログラムコード内の待機ループによって保証される。これは、他の手段によって達成することも可能であって、重要なことは、このステップ後にキャッシュが同一の状態にあることである。
ステップG620において、実施ユニットの書込みバッファが空にされ、それによって切替え後に、さらにパフォーマンスモードからもたらされる、実施ユニットの能動化が行われないようにする。
ステップG630において、実施ユニットのパイプライン段階の状態が同期化される。そのために、たとえば切替えシーケンス/切替え指令の前に適当な数のNOP(No Operation)指令が実施される。NOP指令の数は、パイプライン段階の数に従って定められ、従ってそれぞれのアーキテクチャに依存する。どの指令がNOP指令として適しているかは、同様にアーキテクチャに依存している。その場合に実施ユニットがインストラクションキャッシュを有している場合には、この指令シーケンスがキャッシュラインの境界に整合されていること(アライメント)が、保証されなければならない。インストラクションキャッシュは、これらのNOPの実施前に無効としてマークされているので、これらのNOPは最初にキャッシュへロードされなければならない。この指令シーケンスがキャッシュライン境界で開始される場合には、切り替えるための指令が行われる前に、メモリ(たとえばRAM/ROM/フラッシュ)からキャッシュへのデータ転送が終了している。これも、NOPの必要な数を定める場合に考慮されなければならない。
ステップG640において、比較モードへ切り替えるための指令ステップが、実際に実施される。
ステップG650において、各実施ユニットのそれぞれのレジスタファイルの内容が一致される。そのために、レジスタには切替えの前または後に、同一の内容がロードされる。その場合に重要なことは、切替え後に実施ユニット内のレジスタの内容が、レジスタ内容が外部へ転送されて、それによって比較ユニットにより比較される前に、同一であることである。
ステップG660において、インターラプトコントローラが再プログラミングされるので、互いに接続されているすべての実施ユニットにおいて外部のインターラプト信号が同一のインターラプトを作動させる。
ステップG670において、インターラプトが再び許可される。
プログラムシーケンスによって、いつ比較モードへ切り替えられるべきかが一義的でない場合に、関与する実施ユニットは意図される切替えについて知らされなければならない。そのために好ましくは、それぞれの実施ユニットに属するインターラプトコントローラ内で、たとえばSWを介してインターラプトが開始される。その場合にインターラプト処理は、互いに接続するための上述したシーケンスの実施を促す。
図10には、パフォーマンスモードと比較モード(およびその逆)の間の切替えを表す、状態オートマトンが示されている。「パワーオン」またはリセット(ソフトウェアまたはハードウェア)によってもたらされる、システムスタートの際に、システムは遷移G800を介して状態G700へ遷移される。一般的に言えることは、システムは、リセットを作動させることができる、未定義の事象の後に、常に状態G700で作動し始めることである。リセットを作動させることができる事象の例は、外部の信号、電圧供給における問題、あるいはそれ以降の作業をもはや無意味なものにする、内部のエラー事象である。従って、パフォーマンスモードにおいて処理される、切替え・比較ユニットG70とそしてまたマルチプロセッサシステムG60の状態G700は、システムのデフォルト状態である。この種の未定義の状態をとる、すべての場合において、デフォルト状態G700が取られる。その場合に状態G700のこのデフォルト位置は、ハードウェア措置によって保証される。たとえば、システム状態ないし切替え・比較ユニットG60の状態は、レジスタ内、レジスタ内のビット内、レジスタ内のビットコンビネーションによって、あるいはフリップフロップによって、コード化することができる。
その場合にハードウェアを介して、リセットまたはパワーオン後に常に状態G700がとられることが保証される。これは、たとえばリセット信号または「パワーオン」信号がフリップフロップまたはレジスタのリセット入力またはセット入力へ案内されることによって保証される。
状態G700において、システムはパフォーマンスモードで作動する。従って実施ユニットG10a、G10bは、異なる指令、プログラムまたはプログラムセグメントを処理する。切替え意図は、たとえば、実施ユニットG10a、G10bが特殊な切替え指令を実施することによって、認識することができる。他の可能性は、特殊なメモリアドレスへのアクセスによって、内部の信号によって、あるいはまた外部の信号によって、認識することである。切替え意図が存在しない間、マルチプロセッサシステムG60とそれに伴って切替え・比較ユニットG70も状態G700に留まる。以下においては、この特殊なシステムにおいて切替え意図を特徴づけるような特徴を有する切替え条件の認識を、切替え意図と称する。
状態G700に留まることは、遷移G800を介して示される。実施ユニットG10aによって切替え意図が認識された場合に、遷移G820を介して切替え・比較ユニットG70が状態G710へ遷移される。従って状態G710は、実施ユニットG10aが切替え意図を認識して、実施ユニットG10bも同様に切替え意図を認識するまで待機する状況を示している。そうならない間、切替え・比較ユニットG70は状態G710に留まり、それが遷移G830で示されている。
遷移G840は、状態G710において実施ユニットG10bが同様に切替え意図を認識した場合に、行われる。従って切替え・比較ユニットG70は、状態G730をとる。この状態は、2つの実施ユニットG10a、G10bが切替え意図を認識した状況を示している。状態G730において、同期化方法が行われ、それによって2つの実施ユニットG10a、G10bが互いに対して同期され、それによってその後比較モードで作動することができる。このプロセスの間、切替え・比較ユニットG70は状態G730内に留まり、それが遷移G890で示されている。
状態G700において、まず実施ユニットG10bによって切替え意図が認識された場合には、遷移G860を介して状態G720へ切り替えられる。従って状態G720は、実施ユニットG10bが切替え意図を認識して、実施ユニットG10aが同様に切替え意図を認識するまで待機する状況を表している。これが起こらない間、切替え・比較ユニットG70は状態G720に留まり、それが遷移G870で示されている。遷移G880は、状態G720において実施ユニットG10aが同様に切替え意図を認識した場合に行われる。従って切替え・比較ユニットは、状態G730をとる。
状態G700において、2つの実施ユニットG10a、G10bが同時に切替え意図を認識した場合には、即座に状態G730へ遷移する。この場合が、遷移G850を表している。
切替え・比較ユニットG70が状態G730にある場合に、2つの実施ユニットG10a、G10bは切替え意図を認識している。この状態において、実施ユニットG10a、G10bの内部状態は、この同期化プロセスの終了後に比較モードで作動するために、同期化される。この同期化作業の終了後に、遷移G900が行われる。この遷移は、同期化の終了を表している。状態G740において、実施ユニットG10a、G10bは比較モードで作動する。同期化作業の終了は、実施ユニットG10a、G10b自体によって信号化することができる。これは、2つの実施ユニットG10a、G10bが、比較モードで作業する準備ができていることを、信号化した場合に遷移G900が行われることを意味している。終了は、固定的に調節された時間を介して信号化することもできる。これは、切替え・比較ユニットG70内で、状態G730にどのくらいの長さ留まるかが固定的にコード化されていることを意味している。この時間は、2つの実施ユニットG10a、G10bがその同期化作業を確実に終了しているように調節される。その場合に、この時間の経過後に、遷移G900が開始される。他の変形例においては、切替え・比較ユニットG70が実施ユニットG10a、G10bの状態を監視して、2つの実施ユニットG10a、G10bがその同期化作業を終了した場合に、自分で認識することができる。その場合に、認識後に、移行G900が導入される。
切替え意図が認識されない間、遷移G910で示すように、マルチプロセッサシステムG60は比較モードに留まる。状態G740において、切替え意図が認識された場合に、切替え・比較ユニットは遷移G920を介して状態G700へ遷移される。すでに説明したように、システムは状態G700において、パフォーマンスモードで作業する。その場合に、状態G740から状態G700へ遷移する際のプログラムフローの分離は、上述した方法で実施することができる。
図11には、2つの実施ユニットG410a、G410bと2つのインターラプトコントローラG420a、G420bおよびその中に含まれるインターラプトマスキングレジスタG430a、G430b並びに種々のインターラプト源G440aからG440nを有するマルチプロセッサシステムG400が示されている。さらに、特殊なインターラプトマスキングレジスタG460を有する切替え・比較ユニットG450が示されている。
好ましくは、各実施ユニットG410a、G410bは、パフォーマンスモードにおいて同時に2つのインターラプトを処理することができるようにするために、専用のインターラプトコントローラG420a、G420bを有している。これは特に、システムパフォーマンスにおいてインターラプト処理がボトルネックとなるようなシステムにおいて効果的である。その場合にインターラプト源G440aからG440nは、好ましくは2つのインターラプトコントローラG420a、G420bにそれぞれ等しく接続されている。この接続方法は、他の措置なしで2つの実施ユニットG410a、G410bにおいて同じインターラプトが作動されることをもたらす。パフォーマンスモードにおいては、インターラプトコントローラG420a、G420bは、該当するインターラプト源G440aからG440nがそれぞれ適用に応じて異なる実施ユニットG410a、G410bへ適切に分割されるように、プログラミングされる。これは、インターラプトマスキングレジスタG430a、G430bの適切なプログラミングによって行われる。マスキングレジスタは、各インターラプト源G440aからG440nのために、レジスタ内に1ビットを設けている。このビットがセットされている場合に、インターラプトは阻止され、従って接続されている実施ユニットG410a、G410bへは伝えられない。好ましくは、パフォーマンスモードにおいて、与えられているインターラプト源G440aからG440nが正確に1つの実施ユニットG410aまたはG410bによって処理される。好ましくは、これは、少なくともインターラプト源の幾つかについて当てはまる。それによって、インターラプトネスティング(第1のインターラプト処理が第2のインターラプト処理によって中断される)またはインターラプトペンディング(第2の処理は、第1の処理が終了するまで、保留される)が行われることなしに、複数のインターラプト源G440aからG440nを同時に処理することができる。
比較モードにおいては、インターラプトコントローラG420a、G420bがすべての実施ユニットG410a、G410bにおいて同時に同一のインターラプトを作動させることが、保証されなければならず、そうでない場合には比較モードにおいて、それに応じてエラーが認識されてしまう。これは、パフォーマンスモードから比較モードへ切り替える際の同期化相において、インターラプトマスキングレジスタG430a、G430bが同一であることが保証されなければならないことを意味している。この同期化が、図9のステップG660に記載されている。この同期化は、2つのインターラプトマスキングレジスタG430a、G430bが然るべく同一の値でプログラミングされることにより、ソフトウェアを介して実施することができる。切替えプロセスを促進するために、特殊なレジスタG460を使用することが提案される。ある実施形態においては、このレジスタG460は切替え・比較ユニットG460内に配置されているが、切替え意図認識G40内、組み合わされた切替え意図認識内、比較器内、切替えユニットG80内およびすべての組み合わせ内に含めることもできる。同様に、このレジスタをこれら3つのコンポーネントの外部の他の適切な箇所に配置することも、考えられる。レジスタG460は、比較モードにおいて有効になる、インターラプトマスキングを有している。切替え・比較ユニットG450は、切替え意図認識G40から、パフォーマンスモードから比較モードへ切り替えるための信号を受け取る。ステップG600においてインターラプトが阻止することができた後に、インターラプトコントローラG420a、G420bのインターラプトマスキングレジスタG430a、G430bが再プログラミングされる。これは、切替え信号が得られ、かつインターラプトコントローラG420a、G420bが遮断された後に、ハードウェアを介して切替え・比較ユニットG450によって残りの同期化ステップに対して並列に実施される。好ましくはインターラプトマスキングレジスタG430a、G430bは比較モードにおいて個々に再プログラミングされるのではなく、常に中央のレジスタG460が再プログラミングされる。これが、その後ハードウェアを介して同期されて2つのインターラプトマスキングレジスタG430a、G430bへ伝達される。ここでインターラプトマスキングレジスタについて説明された方法は、同様に、インターラプトコントローラ内に配置されているすべてのインターラプトステータスレジスタに移し替えることができる。もちろん、レジスタG460の代りに他のメモリ媒体を使用することも考えられ、そのメモリ媒体からできるだけ迅速にインターラプトマスキングレジスタG430a、G430bへ転送することができる。
図12には、2つの実施ユニットG1010a、G1010b、切替え・比較ユニットG1020および3つの異なるレジスタセットG1040a、G1040b、G1050を備えたインターラプトコントローラG1030を有するマルチプロセッサシステムG1000が示されている。上述した解決の代替案として、図12に示すような、特殊なインターラプトコントローラG1030が提案される。これは、2つの実施ユニットG1010a、G1010bと、比較モードとパフォーマンスモードとの間で切り替えることのできる切替え・比較ユニットG1010を有する例で示されている、マルチプロセッサシステムG1000内で使用される。その場合にパフォーマンスモードにおいては、レジスタセットG1040a、G1040bが使用される。この場合において、インターラプトコントローラG1030は、2つのインターラプトコントローラG420a、G420bと全く同様に作動する。この行動が、図11に示され、かつ説明されている。その場合にレジスタセットG1040aが実施ユニットG1010aに対応づけられ、レジスタセットG1040bは実施ユニットG1010bに対応づけられている。インターラプト源G1060aからG1060nは、マスキングを介して実施ユニットG1010a、G1010bへ適切に分配される。パフォーマンスモードから比較モードへ切り替える場合に、切替え・比較ユニットG1020は信号G1070を発生する。この信号がインターラプトコントローラG1030に、比較モードへ切り替えること、ないしはシステムがこの時点から比較モードで作動することを伝える。その後、インターラプトコントローラG1030は、レジスタセットG1050を使用する。それによって、2つの実施ユニットG1010a、G1010bにおいて同一のインターラプト信号が発生することが保証される。切替え・比較ユニットG1020が再び信号G1070を介してインターラプトコントローラG1030へ伝達する、比較モードからパフォーマンスモードへの切替えによって、再びレジスタセットG1040a、G1040bへ切り替えられる。それによって好ましくは、パフォーマンスモードにおいてはレジスタセットG1040a、G1040bへの書込みのみが許され、比較モードのために保留されているレジスタセットG1050への書込みはハードウェアを介して禁止されることによって、該当するレジスタセットの保護も達成することができる。同じことが他の方向においても可能であって、比較モードにおいてはレジスタセットG1050への書込みのみが許されており、レジスタセットG1040a、G1040bへの書込みは禁止される。
図13には、比較器M500、G20の最も簡単な形式が示されている。パフォーマンスモードと比較モードの間の切替えを行う、少なくとも2つの実施ユニットG10a、G10bを備えたマルチプロセッサシステムG60内の主要なコンポーネントは、比較器M500である。その比較器の最も簡単な形式が、図13に示されている。比較器M500は、2つの入力信号M510とM511を受け取ることができる。比較器は、それらを同一性について、ここに示す文脈においては、好ましくはビット単位の同一性の意味において、比較する。同一である場合には、入力信号M510、M511の値が出力信号M520へ出力され、エラー信号M530はアクティブにならず、すなわち「良好」状態が知らされる。比較器が非同一性を検出した場合には、エラー信号M530が能動化される。その場合に信号M520は、選択的に非能動化することができる。これは、エラーが該当するシステムから出て行かない("fault containment")、という利点を有している。すなわち、実施ユニットの外部にある他のコンポーネントが、潜在的にエラーのある信号によって損なわれない。しかし、信号M520を非能動化する必要のないシステムもある。これは、たとえば、システム平面上でフェイルサイレンス(Fail-silence)のみが要求される場合である。その場合に、エラー信号は、たとえば外部へ案内することができる。
この基本システムに基づいて、多数の実施形態が考えられる。まず、コンポーネントM500を、いわゆるTSCコンポーネント(totally self checking)として形成することができる。この場合においてエラー信号M530は、少なくとも2本の導線("dual
rail")上で外部へ案内され、内部のデザインおよびエラー発見措置によって、比較コンポーネントの各可能なエラー場合においてこの信号が正しく、あるいは認識可能に正しくなく存在することが、保証される。その場合にデュアルレール信号は、2本の導線を介してバイナリ信号を、好ましくはエラーのない場合において2本の導線が互いに反転されているように、提供する。本発明に基づくシステムの利用における好ましい変形例は、この種のTSC比較器を使用することである。
それに対して実施形態の第2のクラスは、2つの入力M510、M511(ないしM610、M611)がどの程度の同期性を持たなければならないかについて、区別することができる。可能な実施形態は、クロック単位の同期性を特徴としており、すなわちデータの比較はクロックで実施することができる。
簡単な変更は、入力の間の位相オフセットが固定されている場合に、該当する信号を半整数または整数のクロック周期だけ遅延させる、同期した遅延素子が使用されることによって、生じる。この種の位相オフセットは、コモンコーズエラー(common cause Fehler)、すなわち複数の処理ユニットに同時かつ同種に影響を与える可能性のあるエラー原因を回避するために役立つ。
従って図14は、他の実施形態を示している。コンポーネントと信号M600、M610、M611、M620、M630は、図13の対応するコンポーネントおよび信号M500、M510、M511、M520、M530と同一の意味を有している。従って図14においては、これらのコンポーネントの他に、時間的に早い入力を位相オフセットだけ遅延させる、コンポーネントM640が挿入されている。好ましくはこの遅延素子は、それを比較モードにおいてだけ使用するために、比較器内に収容されている。その代りに、あるいはそれに加えて、純粋なクロックオフセットまたは位相オフセットとしては現れない、この種の非同期性を同様に許容することができるようにするために、中間バッファM650、M651を入力チェーン内へ挿入することができる。好ましくはこれらの中間バッファは、FIFOメモリ(first-in, first out)として設計される。この種のメモリは、入力と出力とを有し、複数のメモリワードを記憶することができる。入ってくるメモリワードは、新しいメモリワードが到着した場合に、その位置をシフトされる。最後の位置(バッファの深さ)の後に、それが「メモリから」押し出される。この種のバッファが存在する場合には、バッファの最大の深さまで非同期性も許容することができる。この場合には、バッファがオーバーフローした場合にも、エラー信号が出力されなければならない。
さらに、比較器の実施形態において、信号M520(またはM620)がどのように生成されるかに従って区別することができる。好ましい実施形態は、入力信号M510、M511(ないしM610、M611)を出力へ送り、接続をスイッチによって中断可能に形成することである。この実施形態の特別な利点は、パフォーマンスモードと可能な種々の比較モードとの間で切り替えるために、同一のスイッチを使用できることである。代替的に、信号を比較器内部の中間バッファから生成することもできる。
実施形態の最後のクラスは、比較器に幾つの入力が存在しているか、そしてどのように比較器が反応すべきか、に従って区別することができる。入力が3つの場合に、多数決、3つの信号すべての比較あるいは2つの信号だけの比較を行うことができる。入力が4つ以上の場合には、それに応じた数の実施形態が考えられる。可能な実施形態の詳細な説明は、図20の説明に含まれている。
実施形態の正確な選択は、好ましくはシステム全体の種々の駆動モードと結合される。すなわち、複数の異なるパフォーマンスモードまたは比較モードが存在する場合に、これらが好ましくは比較器のそれに応じたモードと結合される。
本発明の幾つかの箇所において、比較器またはより一般的な評価/処理/分類素子を非作動あるいはパッシブにすることが必要であり、あるいは好ましい(以下においては簡単にするために、常に比較器と称する)。そのために多数の可能性がある。1つには、比較器に、比較器を能動化し、あるいは非能動化する信号を案内することができる。そのために比較器内に、それを実施することができる、付加的な論理が挿入される。第2の可能性は、比較器に比較すべきデータを供給しないことである。第3の可能性は、システム平面上で比較器のエラー信号を無視することである。さらに、エラー信号自体を遮断することができる。すべての可能性に共通なのは、システム内で、潜在的に比較される2つまたはそれより多いデータが異なっていることが、何の役割も果たさないことである。そうである場合に、比較器はパッシブであり、あるいは非能動化されたとみなされる。
以下において、比較器と組み合わされた切替え器、すなわち切替え・比較ユニットG70の実装を考える。この実装は、これが実施ユニットG10a、G10bと共にチップの内部に形成される場合に、特に効果的である。
コンポーネントである比較器と切替え器をまとめることによって、チップ内部に実装する場合に極めて小さいハードウェアオーバーヘッドしか生じない。従って実装の好ましい変形例は、これら2つのコンポーネントを1つのコンポーネントにまとめることである。これは、少なくとも入力信号(出力実施ユニット1、出力実施ユニット2)、少なくとも出力信号(出力1、出力2)、論理出力信号「出力全体」(物理的に出力1または出力2と一致することができる)および比較器を有するコンポーネントである。このコンポーネントは、モードを切り替え、パフォーマンスモードにおいてすべての信号を通過させ、比較モードにおいては複数の信号を比較して、場合によっては通過させる能力を有している。付加的に、さらに他の入力および出力信号も効果的である:検出されたエラーを知らせるエラー信号、このコンポーネントがあるモードを知らせるモード信号およびコンポーネントから、あるいはコンポーネントへの制御信号。
好ましい実施例において、2つまたはそれより多い実施ユニットがパフォーマンスモードにおいてマスターとしてプロセッサ内部のバスに接続されている。比較ユニットは非能動化されており、あるいはまた、考えられる比較モードの1つにおいて実施ユニットの行動が異なっている場合に発生するエラー信号がマスキングされている。これは、切替え・比較ユニットがソフトウェアにとって透明であることを意味している。考察される比較モードにおいて、比較すべき物理的な実施ユニットが論理的な実施ユニットとしてバスで処理され、すなわちマスターのみがバスに現れる。比較器のエラー信号は、能動化されている。そのために切替え・比較ユニットは、1つの実施ユニットを除いてすべての実施ユニットを、スイッチを介してプロセッサ内部のバスから分離し、1つの論理的な実施ユニットの入力を複製し、これを比較モードに関与するすべての実施ユニットに提供する。バスへ書き込む際に、出力が比較ユニット内で比較されて、等しい場合にはこのデータが設けられているアクセスを介してバスへ書き込まれる。
図15と図16には、好ましいコンポーネントM700(切替え・比較ユニットG70に相当)の原理的な行動が記載されている。簡単にするために、この図は、2つの実施ユニットについてだけ示されている。その場合に図15はコンポーネントのステータスを比較モードにおいて、図16はパフォーマンスモードにおいて示している。これらのモードにおける種々のスイッチ位置が、M700によって駆動M760により実現される。2つの実施ユニットM730、M731は、まず、パフォーマンスモードにおいて、図16に示すように、スイッチM750、M751が閉成されている場合に、データおよびアドレスバスM710へ書き込むことができる。万一、書込み競合が起きた場合は、バスプロトコルを介して、あるいは他の記入されていないコンポーネントによって解決されることが、前提である。比較モードにおいては、少なくとも論理的な視点から、行動が異なる。その場合に図15に示すように、スイッチM750、M751は開放されており、従って直接のアクセス可能性は中断されている。その場合に図16とは異なり、図15においては、もちろんスイッチM752、M753は閉成されている。実施ユニットM730、M731の信号M740、M741が、比較コンポーネントM720へ案内される。この比較コンポーネントは、少なくとも図13に示すように構成されているが、図14に示すように拡張を有することもできる。しかし、比較コンポーネントM720のエラー信号または他の信号の表示は、図15と図16内では省かれている。2つの信号が一致した場合には、スイッチM754が閉成されて、その後2つの一致する信号の1つがアドレス/データバスM710へ伝えられる。要するにそのためには、切替え・比較ユニットM700がスイッチM750−M754を調節できることが必要である。それぞれのスイッチ位置は、モードおよびエラー認識に依存している。これをもって、スイッチM754が常に閉鎖されており、かつエラー信号によって適切なシステムリアクションが発生される変形例も、これをもってカバーされる。
図17には、切替え・比較ユニットの変形例が図示されている。2つだけの実施ユニットG10a、G10bを有する簡単なシステムについてもすでに、切替え・比較ユニットの実装の多数の変形例が存在する。比較器内でバッファが使用されない場合に特に好ましい他の変形例が、図17に示されている。図15、図16におけるものと同様に、実施ユニットの信号M840、M841がある。実施ユニットは、この図には示されていない。本発明に基づくコンポーネントM800内には、コンポーネントのモードを設定するモード論理M810が設けられている。パフォーマンスモードにおいてモード論理がスイッチM831を閉成し、比較モードにおいてはそれを開放する。さらに、モード論理は比較器M820へモード信号を出力する。この比較器は、この実装においては常に比較するが、スイッチM830を駆動するために、比較の結果とモード信号とを利用する。パフォーマンスモードにおいては、スイッチは常に閉成されているが、比較モードにおいては、エラーが存在しない場合に常に閉成される。もちろん、一度エラーが検出された場合には、それに応じたリセットが来るまで、スイッチはさらに開放したままにすることができる。
図18には、切替え・比較ユニットの他の実施形態が示されている。この代替案は、より多くのスイッチを有するが、その代わりに比較器はパフォーマンスモードにおいてインアクティブであり、従ってより簡単に非同期を扱うことができる。ここでも実施ユニットの2つの信号M940、M941がある。ここでも実施ユニットは、この図では示されていない。本発明に基づくコンポーネントM900内に、コンポーネントのモードを設定するモード論理M910が設けられている。モード論理は、パフォーマンスモードにおいてスイッチM931を閉成し、スイッチM932、M933を開放する。それによってこのモードにおいては、比較コンポーネントM920へデータが供給されない。これが、非同期の場合により長いバッファ時間を許し、ないしは実装においてより少ないバッファ深さを許す。パフォーマンスモードにおいて、スイッチM930は常に閉成されている。比較モードにおいては、コンポーネントM910がスイッチM932、M933を閉成し、スイッチM931の開放によりバスへの直接的なアクセスを中断する。選択的に、モード論理M910が比較器M920にモードを伝えることができる。比較モードにおいて、エラーのない場合にスイッチM930は閉成されている。エラー場合において、比較コンポーネントM920は、スイッチM930の開放によってバスへの信号M940の伝達を遮断する。
上述した図面においては、モードまたはエラー信号を外部へ案内することが、容易に可能である。さらに、特に内部のモード状態を生成するために、他の信号がコンポーネントへ導くことが、問題なく可能である。
従って要約すると、これらのコンポーネントの好ましい実装は、出力信号をバス(たとえば、アドレス/データバス)へ書き込むことができる、複数の処理ユニットが設けられていることによって、特徴づけられる。重要なことは、コンポーネントが実施ユニットの出力信号の少なくとも2つを処理する(たとえば比較し、場合によっては評価し、あるいは分類する)ことができること、およびコンポーネントが、直接的なバスアクセスの少なくとも1つを遮断する、少なくとも1つのスイッチを調節できることである。これは特に、実施ユニットが計算機コアである場合に、有用である。さらに、調節可能なスイッチの状態が計算ユニットの駆動モードを特徴づけると、効果的である。
システム特性、特に可能な比較モードは、コンポーネントが信号をアドレス−データバス上へ与えることができる場合に、特に良好に変換される。好ましくは、これは実施ユニットの1つのものの出力信号の1つを通過接続することである。代替的に、これは、種々の実施ユニットの種々の出力信号の処理から生じることができる。
例えば、既に図17、図18についての説明において明らかにされたように、システム内で、かつ−それぞれコンポーネントへの分割に応じて−コンポーネントのいずれかにおいて、モード情報を識別することができる。このモード情報は、それぞれ実装後に、特に明確に部分コンポーネント内に存在することができる。好ましい実装において、この信号は、コンポーネントから導出して、システムの他の部分へ提供することもできる。
一般的な場合において、本発明に基づく行動を、図21において説明する。信号およびコンポーネントN100、N110、N120、N130、N140、N141、N142、N143、N14n、N160、N161、N162、N163、N16nは、図20におけるものと同一の意味を有している。さらにこの図には、モード信号N150とエラー信号N170が記入されている。選択的なエラー信号は、エラー信号を収集するエラー回路論理N130によって生成されて、個別エラー信号を直接伝えるか、あるいはその中に含まれるエラー情報を束ねる。モード信号M150は選択的であって、これらのコンポーネントの外部でそれを使用することが、多くの箇所で効果的である。切替え論理N110(すなわち図20の説明に記載された機能)と処理論理(すなわち出力信号当たり、すなわち関数値当たりの比較操作の決定)の情報の組み合わせがモード情報であって、これがモードを決定する。この情報は、一般な場合において、もちろん多値であり、すなわち1つの論理ビットを介しては表示できない。論理的に考えられるすべてのモードが、与えられた実装内で重要ではなく、好ましくは許されるモードの数を制限することができる。その場合にモード信号は、重要なモード情報を外部へもたらす。HW実装は、好ましくは、外部の可視のモード信号を構成できるように、表される。好ましくは同様に、処理論理と切替え論理も構成可能に形成することができる。好ましくはこれらの構成(コンフィグレーション)は、互いに合わせられている。代替的に、モード信号の変化のみを、あるいは補足的に、外部へ出力することができる。これは特に、ダブルコンフィグレーションにおいて利点を有する。
好ましくは、このモード信号は安全確保される。たとえば図17に示す実装に基づく、ダブルシステム内の実装が、図19に示されている。そこでは、信号M850が切替え・比較ユニットから導出される。この情報は、ダブルシステム内で、論理的に1ビットを介して表示可能である。その場合に安全確保は、好ましくは、デュアルレール信号を介して表すことができる。同様に、一般的な場合において信号を、選択的に反転される二重化を介して安全確保することができる。代替的にパリティを生成することができ、それは好ましくは内部で固有安全に生成され、あるいはCRC(cyclic redundancy check)またはECC(error correcting code)を使用することができる。
モード信号は、コンポーネントの外部で使用することができる。まず、駆動システムの自己監視に使用することができる。これは、SWの観点から、切替えに責任を有し、常に、システムがどのモードにあるか、そしてシステムがこのモードへ移行することも、知っていなければならない。従ってこの信号の検査を、安全確保に使用することができる。これは、まず、直接行うことができる。しかしまた代替的な可能性は、タイマーまたは他の「独立した」ユニットを介して駆動システムにおける照会をこの信号によって蓋然化することである。
一般に、この信号を選択的に、μC(または一般的な計算ユニット)の内部のデータシンク内で使用することもできる。たとえば、MPU(memory protection unit)を、所定のモードにおいてのみ所定のメモリアクセス(所定の実施ユニットによる)を許すようにプログラミングすることができる。その場合にMPUは、たとえば所定のプログラム部分について所定のアドレス空間へのアクセスを禁止することによって、データ/バスアドレスへの許可されたアクセスのみが実施されることを保証することができるユニットである。MPUにモード信号を供給し、このMPUを然るべく構成かつプログラミングし、このコンフィグレーションデータおよびモード信号を評価することによって、付加的な安全確保を行うことができる。場合によってはそれが、モード信号がすでに検査のための十分な情報である場合に、プログラミングを簡単にする。その場合には、μCの初期化時間のために準静的なプログラミングで十分である。同様なことが、周辺ユニットについても言える。ここでも、所定のモードにおいてだけ該当する周辺ユニットへのアクセスが許されるアプリケーションがある。周辺素子へモード信号を案内し、周辺素子をそれに応じて構成およびプログラミングし、コンフィグレーションデータとモード信号を評価することによって、付加的な安全確保を行うことができる。場合によってはそれが、モード信号がすでに検査のための十分な情報である場合に、プログラミングを簡単にする。その場合には、μCの初期化時間のために、準静的なプログラミングで十分である。同様に、この信号の評価を、インターラプトコントローラにおいても使用することができる。その場合にこの種の監視は、安全コンセプトの基本または重要な構成部分を形成する。適切な実施形態とSW構造化によって、考察されるアプリケーションにおける全エラークラスのための安全コンセプトを、このモード信号上に構築することが可能である。これは特に、適切な形式のモード信号が、上述したように、自己安全である場合に、効果的である。この場合において、考察されるコンポーネントが、モード信号と自らへのアクセスとの間の不一致を検出した場合に、エラー信号を送信し、あるいは、遮断パスを操作する能力を有する場合に、さらに効果的である。
他の主要な使用目的は、計算ユニットの外部でモード信号を評価することである。直接的な適用は、デクリメントするウォッチドッグにおける評価である。この種の「ウォッチドッグ」は、少なくとも1つの(カウンタ)レジスタからなり、それをマイクロプロセッサによって整数値にセットすることができる。このレジスタのセット後に、「ウォッチドッグ」が自立的に固定の周期でレジスタの値をデクリメントする。レジスタの値がゼロになり、あるいはオーバーフローが生じた場合に、「ウォッチドッグ」がエラー信号を生成する。エラー信号が生成されないようにする場合には、マイクロプロセッサはレジスタの値を正しい時期に再びリセットしなければならない。それによって(限界内で)、マイクロプロセッサがソフトウェアを正しく実施しているか、を検査することができる。マイクロプロセッサがソフトウェアをもはや正しく実施しない場合には、この場合において「ウォッチドッグ」ももはや正しく操作されず、従って「ウォッチドッグ」からエラー信号が生成された、と見なされる。ハードウェアとデータ構造の完全性は、比較モードにおいて確実に認識することができるが、そのためには、マイクロプロセッサが規則的に再びこの比較モードへ戻されることが保証されなければならない。従って、ここに記載された「ウォッチドッグ」の課題は、定められた期間内にもはやリセットされなかった場合にだけでなく、マイクロプロセッサが定められた期間内にもはや定められた比較モードへ戻されない場合にも、エラー信号を発生させることである。たとえば、「ウォッチドッグ」は、モード信号が計算ユニットの定められた比較モードを表示した場合にのみ、リセットすることができる。それによって、計算ユニットが規則的にこのモードへ戻されることが保証される。その代りに、あるいはそれに加えて、「ウォッチドッグ」のレジスタ内の値は、マイクロプロセッサにおいて所定のインターラプト信号が作動された場合に初めて、デクリメントされる。そのためには、μCの外部のインターラプト信号がウォッチドッグにも結合されなければならない。ウォッチドッグ内には、どのインターラプトがμCを定められた比較モードへ切り替えるかが記憶されている。ウォッチドッグは、この種のインターラプトが来るとすぐに、「引き上げられ」て、正しいモード信号の存在によってリセットされる。
極めて一般的に、特に安全コンセプトに適用する場合に、μC外部のソース内のモード信号を評価することが、有用である。本発明において説明されるような、計算機上のソフトウェアの正しい遂行の安全確保における重要な点は、種々の許されるモード間の正しい交替である。まず、交替可能性自体が検査されなければならず、好ましくはさらに正しい交替も検査される。上述したように、特殊なモードが規則的にとられるかどうかに注目することもできる。この種の方法は、モード信号自体が自己安全に形成されている場合には常に、特に効果的である。
1つの可能性は、モード信号をASICあるいは他のμCへ導くことである。これはタイマーと単純な論理を介してこの信号を用いて、少なくとも以下の点を検査することができる:
・計算ユニットが十分頻繁に(たとえば遅くとも1000μs毎に)1つまたは複数の定められたモードになるか?
・モードへ変化する場合に、常に所定の信号が出力されるか?
・計算ユニットが規則的にモードから出るか?
・モードの順序の所定の単純なパターンが有効か?
・一般的な時間パターンが有効か(たとえば、平均してモード1において<70%およびモード2において<50%)
・場合によっては付加的な信号の使用により補完される、モード信号の論理的、時間的特性の何らかの組み合わせ。
その場合に、図22に、さらに進んだ提案のための基礎構成が記載されている。この種のパートナーASICまたはμCと、本発明を使用する、考察される計算ユニットとの間で、特殊な質問−応答−プレイが実施される。N300は、この種のモード信号を送信することのできる計算ユニットである。これはたとえば、複数の実施ユニットと、このモード信号を生成することができる他のコンポーネントとを有するμCであることができる。たとえば、この他のコンポーネントは、図19〜図21に示すように実現することができる。N300は、この信号N310をパートナー(たとえば他の計算ユニット、他のμCまたはASIC)N330へ与える。このパートナーは、信号N320を介してN300へ質問をし、N300はN321を介してそれに応答しなければならない。この種の質問は、計算課題であることができ、その正しい結果がN321を介してN300から定められたタイムインターバル内に提供される。N330は、N300から独立して、この結果の正しさを検査することができる。たとえば、結果がN330内に記憶され、あるいはN330自体がそれを計算して解くことができる。正しくない値が検出された場合には、エラーが認識される。提案された質問−応答−通信の特殊性は、応答に対して並列にモード信号が観察されることである。好ましくは、質問はN330による応答のために、これが所定のモードをとらなければならないように、設定される。それによって、すべてのモード交替が機能し得ること、およびプログラムシーケンス内に設けられているモード交替も実施されることを、確実に検査することができる。これは、特にシステムの初期化においても、また駆動中においても、安全コンセプトの重要なモジュールとして用いることができる。
このアイデアの他の適用は、アクター駆動におけるモード信号の評価である。自動車領域における多くの適用において、今日では、いわゆるインテリジェントアクターへの傾向がある。これは、アクター操作コマンドを受信して、この操作コマンドが実施されるようにアクターを駆動するのに十分な、最小限のエレクトロニクス範囲を有するアクターである。
基本アイデアが図23に示されている。本発明を使用する計算ユニットN400が、(インテリジェントな)アクターまたはアクター駆動N430へ接続N420を介して操作指令を出力する。計算ユニットは、並行して接続N410を介してこのアクターにモード信号を与える。アクターN430は、モード信号を用いて、駆動が許されるかどうかを検査して、選択的に信号N440を介してエラーステータスを返す。駆動にエラーがある場合に、アクターはシステム内でクリティカルでないフェイルサイレンス状態をとる。
2つの実施ユニットG10a、G10b、比較ユニットG20、切替えユニットG50および切替え意図を認識するユニットG40を有するマルチプロセッサシステムG60を示している。 2つの実施ユニットG10a、G10b、比較ユニットG20と切替えユニットG50からなる、組み合わされた比較および切替えユニットG70および切替え意図を認識するユニットG40を有するマルチプロセッサシステムG60を示している。 2つの実施ユニットG10a、G10b、比較ユニットG20と切替えユニットG50からなる、組み合わされた比較および切替えユニットG80および切替え意図を認識するユニットG40を有するマルチプロセッサシステムG60を示している。 2つの実施ユニットG210a、G210b、切替え・比較ユニットG260を有するマルチプロセッサシステムG200を示している。 特殊なパイプライン段G230a、G230bの内部で特殊な未定義のビットコンビネーションをNOPまたは他のニュートラルなビットコンビネーションと交換する方法を説明するフローチャートである。 2つの実施ユニットH210a、H210bと切替え・比較ユニットH260を有するマルチプロセッサシステムH200を示している。 2つの実施ユニットを有するマルチプロセッサシステム内で、比較モードからパフォーマンスモードへ切り替える場合に、どのようにしてユニットIDを用いてプログラムフローを分離することができるか、を示す方法のフローチャートである。 3つの実施ユニットを有するマルチプロセッサシステム内で、比較モードからパフォーマンスモードへ切り替える場合に、どのようにしてユニットIDを用いてプログラムフローを分離することができるか、を示す方法のフローチャートである。 パフォーマンスモードから比較ユニットへ切り替える場合に実施ユニットを同期させる方法を示すフローチャートである。 パフォーマンスと比較モードの間の切替えを示す、状態自動機を示している。 2つの実施ユニットと2つのインターラプトコントローラG420a、G420bを有するマルチプロセッサシステムG400を、その中に含まれるインターラプトマスキングレジスタG430a、G430bおよび種々のインターラプト源G440aからG440nと共に示している。 2つの実施ユニット、切替え・比較ユニット並びに3つのレジスタセットを備えたインターラプトコントローラを有するマルチプロセッサシステムを示している。 比較器の最も単純な形式を示している。 位相オフセットを補償するためのユニットを有する比較器を示している。 比較モードにおける好ましいコンポーネントM700(切替え・比較ユニット)の原理的な行動を説明している。 パフォーマンスモードにおける好ましいコンポーネントM700(切替え・比較ユニット)の原理的な行動を説明している。 切替え・比較ユニットの実施形態を示している。 切替え・比較ユニットの他の実施形態を示している。 モード信号を発生させる、切替え・比較ユニットを示している。 切替え・比較ユニットの一般的な表示である。 一般的なモードと一般的なエラー信号を発生させる、切替え・比較ユニットの一般的な表示である。 外部のユニットとの質問応答通信を示している。 インテリジェントアクターを有する通信を示している。

Claims (24)

  1. 少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法であって、その場合に切替え手段が設けられており、前記切替え手段はこれら実施ユニットが少なくとも2つの駆動モード間で切り替るように形成されており、その場合に第1の駆動モードが比較モードに相当し、第2の駆動モードがパフォーマンスモードに相当する、前記方法において、
    インターラプトコントローラが設けられており、さらに少なくとも3つのメモリ領域が設けられており、その場合にメモリ領域へのアクセスは、少なくとも1つの第1の実施ユニットに第1のメモリ領域が対応づけられ、少なくとも1つの第2の実施ユニットに第2のメモリ領域が対応づけられ、少なくとも1つの第3のメモリ領域が少なくとも2つの実施ユニットに対応づけ可能であるように、行われることを特徴とする、少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法。
  2. パフォーマンスモードにおいて、各実施ユニットにそれぞれメモリ領域が対応づけられており、その場合にメモリ領域に正確に1つのインターラプトコントローラが対応づけられていることを特徴とする請求項1に記載の方法。
  3. パフォーマンスモードにおいて、各実施ユニットにそれぞれメモリ領域が対応づけられており、その場合にすべてのメモリ領域に正確に1つのインターラプトコントローラが対応づけられていることを特徴とする請求項1と2のいずれか1項に記載の方法。
  4. すべてのインターラプト源がインターラプトコントローラに対応づけられていることを特徴とする請求項1から3のいずれか1項に記載の方法。
  5. パフォーマンスモードにおいて、少なくとも1つの第1の実施ユニットに第1のメモリ領域が対応づけられ、少なくとも1つの第2の実施ユニットに第2のメモリ領域が対応づけられていることを特徴とする請求項1から4のいずれか1項に記載の方法。
  6. 比較モードにおいて、少なくとも1つの第3のメモリ領域が、少なくとも2つの実施ユニットに対応づけられていることを特徴とする請求項1から5のいずれか1項に記載の方法。
  7. パフォーマンスモードにおいて、各実施ユニットにメモリ領域が対応づけられる対応づけのみがアクティブであることを特徴とする請求項1から6のいずれか1項に記載の方法。
  8. 比較モードにおいて、少なくとも2つのメモリ領域に少なくとも第3のメモリ領域が対応づけられる対応づけのみがアクティブであることを特徴とする請求項1から7のいずれか1項に記載の方法。
  9. 各モードにおいて、対応づけの正確に1つの型のみが、各実施ユニットにアクティブな対応づけの1つによって対応づけられた正確に1つのメモリ領域を与えるようにアクティブであることを特徴とする請求項1から8のいずれか1項に記載の方法。
  10. 比較からパフォーマンスモードへ切り替える場合に、アクティブな対応づけの型が交替することを特徴とする請求項1から9のいずれか1項に記載の方法。
  11. 対応づけられたメモリ領域の記述が、各モードにおいて許されていないことを特徴とする請求項1から10のいずれか1項に記載の方法。
  12. 対応づけられたメモリ領域の記述が、対応づけがアクティブであるモードにおいてのみ、許されていることを特徴とする請求項1から11のいずれか1項に記載の方法。
  13. 少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える装置であって、その場合に切替え手段が設けられており、前記切替え手段は、これら実施ユニットが少なくとも2つの駆動モードの間で切り替るように形成されており、その場合に第1の駆動モードが比較モードに相当し、第2の駆動モードがパフォーマンスモードに相当する、前記装置において、
    インターラプトコントローラが含まれており、前記インターラプトコントローラに少なくとも3つのメモリ領域が対応づけられており、その場合に少なくとも1つの第1のメモリ領域が少なくとも1の第1の実施ユニットに対応づけられ、第2のメモリ領域が少なくとも1つの第2の実施ユニットに対応づけられており、少なくとも1つの第3のメモリ領域が少なくとも2つの実施ユニットに対応づけ可能であることを特徴とする、少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える装置。
  14. パフォーマンスモードにおいて、各実施ユニットにそれぞれメモリ領域が対応づけられており、その場合に正確に1つのインターラプトコントローラが設けられていることを特徴とする請求項13に記載の装置。
  15. すべてのインターラプト源がインターラプトコントローラに対応づけられていることを特徴とする請求項13または14に記載の方法。
  16. パフォーマンスモードにおいて、少なくとも1つの第1の実施ユニットに第1のメモリ領域が対応づけられており、かつ少なくとも1つの第2の実施ユニットに第2のメモリ領域が対応づけられていることを特徴とする請求項13から15のいずれかに記載の装置。
  17. 比較モードにおいて、少なくとも1つの第3のメモリ領域が、少なくとも2つの実施ユニットに対応づけられていることを特徴とする請求項13から16のいずれかに記載の装置。
  18. メモリ領域が、インターラプトコントローラ内に配置されていることを特徴とする請求項13から17のいずれかに記載の装置。
  19. パフォーマンスモードにおいて、各実施ユニットにメモリ領域が対応づけられている対応づけのみがアクティブであることを特徴とする請求項13から18のいずれかに記載の装置。
  20. パフォーマンスモードにおいて、各実施ユニットにメモリ領域が対応づけられている対応づけのみがアクティブであることを特徴とする請求項13から19のいずれかに記載の装置。
  21. 比較モードにおいて、少なくとも2つの実施ユニットに少なくとも第3のメモリ領域が対応づけられている対応づけのみがアクティブであることを特徴とする請求項13から20のいずれかに記載の装置。
  22. 各モードにおいて、対応づけの正確に1つの型のみが、各実施ユニットにアクティブな対応づけの1つによって対応づけられた正確に1つのメモリ領域を与えるように、アクティブであることを特徴とする請求項13から21のいずれかに記載の装置。
  23. 比較モードからパフォーマンスモードへ切り替える場合に、アクティブな対応づけの型が交替することを特徴とする請求項13から22のいずれかに記載の装置。
  24. 比較モードからパフォーマンスモードへ切り替える場合に、アクティブな対応づけの型の交替が、スイッチの操作によって行われることを特徴とする請求項12から23のいずれかに記載の装置。
JP2007538398A 2004-10-25 2005-10-25 少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置 Expired - Fee Related JP5053854B2 (ja)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
DE102004051950.1 2004-10-25
DE200410051937 DE102004051937A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Synchronisierung in einem Mehrprozessorsystem
DE102004051992.7 2004-10-25
DE102004051952.8 2004-10-25
DE200410051992 DE102004051992A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems
DE200410051952 DE102004051952A1 (de) 2004-10-25 2004-10-25 Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem
DE200410051950 DE102004051950A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem
DE102004051964.1 2004-10-25
DE102004051937.4 2004-10-25
DE200410051964 DE102004051964A1 (de) 2004-10-25 2004-10-25 Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem
DE200510037220 DE102005037220A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
DE102005037220.1 2005-08-08
PCT/EP2005/055500 WO2006045775A1 (de) 2004-10-25 2005-10-25 Verfahren und vorrichtung zur umschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten

Publications (2)

Publication Number Publication Date
JP2008518338A true JP2008518338A (ja) 2008-05-29
JP5053854B2 JP5053854B2 (ja) 2012-10-24

Family

ID=35507811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007538398A Expired - Fee Related JP5053854B2 (ja) 2004-10-25 2005-10-25 少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置

Country Status (6)

Country Link
US (1) US8090983B2 (ja)
EP (1) EP1820093B1 (ja)
JP (1) JP5053854B2 (ja)
KR (1) KR101052994B1 (ja)
CN (1) CN101048730A (ja)
WO (1) WO2006045775A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
EP3460632A1 (en) 2017-09-26 2019-03-27 Renesas Electronics Corporation Microcontroller and control method of the same

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE102005061394A1 (de) * 2005-12-22 2007-06-28 Robert Bosch Gmbh Fehlertolerantes Prozessorsystem
DE102006048169A1 (de) 2006-10-10 2008-04-17 Robert Bosch Gmbh Verfahren zur Überwachung einer Funktionsfähigkeit einer Steuerung
JP5796311B2 (ja) 2011-03-15 2015-10-21 オムロン株式会社 制御装置およびシステムプログラム
KR101867336B1 (ko) * 2011-07-11 2018-06-15 삼성전자주식회사 다중 프로세서를 지원하는 인터럽트 발생을 위한 장치 및 방법
US9111998B2 (en) 2012-04-04 2015-08-18 Samsung Electronics Co., Ltd Multi-level stack having multi-level contact and method
US9287162B2 (en) 2013-01-10 2016-03-15 Samsung Austin Semiconductor, L.P. Forming vias and trenches for self-aligned contacts in a semiconductor structure
DE102016215345A1 (de) * 2016-08-17 2018-02-22 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur redundanten Datenverarbeitung
US20230098640A1 (en) * 2021-09-26 2023-03-30 Ceremorphic, Inc. Core Processor and Redundant Branch Processor with Control Flow Attack Detection
EP4266175A1 (de) 2022-04-22 2023-10-25 Siemens Mobility GmbH Verfahren zum rechnergestützten betreiben einer speichereinheit und ausführen von applikationsprogrammen mit speicherüberprüfung auf speicherfehler

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61101868A (ja) * 1984-10-24 1986-05-20 Panafacom Ltd 二重化プロセツサにおける相互割込みマスク制御方式
JP2601359B2 (ja) * 1990-03-08 1997-04-16 松下電器産業株式会社 並行処理マイクロプロセッサ
JPH09114539A (ja) * 1994-12-22 1997-05-02 Texas Instr Inc <Ti> クロック制御回路、システムおよび方法
US20020073357A1 (en) * 2000-12-11 2002-06-13 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
JP2004157865A (ja) * 2002-11-07 2004-06-03 Sony Corp マルチプロセッサシステム
US20040123201A1 (en) * 2002-12-19 2004-06-24 Nguyen Hang T. On-die mechanism for high-reliability processor

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438720B1 (en) * 1995-06-07 2002-08-20 Texas Instruments Incorporated Host port interface
US5732209A (en) * 1995-11-29 1998-03-24 Exponential Technology, Inc. Self-testing multi-processor die with internal compare points
US5995750A (en) * 1997-12-16 1999-11-30 Micro Motion, Inc. Memory protection system for a multi-tasking system
US6349363B2 (en) * 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6438671B1 (en) * 1999-07-01 2002-08-20 International Business Machines Corporation Generating partition corresponding real address in partitioned mode supporting system
US20010042202A1 (en) * 2000-04-14 2001-11-15 Horvath Charles J. Dynamically extendible firewall
KR100437473B1 (ko) * 2001-03-02 2004-06-23 삼성에스디아이 주식회사 엘디디 구조를 갖는 씨모스 박막 트랜지스터 및 그의제조방법
US6990560B2 (en) * 2003-01-16 2006-01-24 International Business Machines Corporation Task synchronization mechanism and method
US7350005B2 (en) * 2003-05-23 2008-03-25 Arm Limited Handling interrupts in a system having multiple data processing units
JP4232987B2 (ja) * 2003-06-24 2009-03-04 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット
US7328370B2 (en) * 2003-09-12 2008-02-05 Rockwell Automation Technologies, Inc. Safety controller with simplified interface
US20050132364A1 (en) * 2003-12-16 2005-06-16 Vijay Tewari Method, apparatus and system for optimizing context switching between virtual machines
JP2005275629A (ja) * 2004-03-23 2005-10-06 Nec Corp マルチプロセッサシステム、及び、メモリアクセス方法
US7287185B2 (en) * 2004-04-06 2007-10-23 Hewlett-Packard Development Company, L.P. Architectural support for selective use of high-reliability mode in a computer system
US7831979B2 (en) * 2004-04-28 2010-11-09 Agere Systems Inc. Processor with instruction-based interrupt handling
JP2006119802A (ja) * 2004-10-20 2006-05-11 Hitachi Ltd マルチプロセッサシステム
US20060117133A1 (en) * 2004-11-30 2006-06-01 Crowdsystems Corp Processing system
US20060248287A1 (en) * 2005-04-29 2006-11-02 Ibm Corporation Methods and arrangements for reducing latency and snooping cost in non-uniform cache memory architectures
KR20070112950A (ko) * 2006-05-24 2007-11-28 삼성전자주식회사 멀티-포트 메모리 장치, 멀티-포트 메모리 장치를 포함하는멀티-프로세서 시스템, 및 멀티-프로세서 시스템의 데이터전달 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61101868A (ja) * 1984-10-24 1986-05-20 Panafacom Ltd 二重化プロセツサにおける相互割込みマスク制御方式
JP2601359B2 (ja) * 1990-03-08 1997-04-16 松下電器産業株式会社 並行処理マイクロプロセッサ
JPH09114539A (ja) * 1994-12-22 1997-05-02 Texas Instr Inc <Ti> クロック制御回路、システムおよび方法
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US20020073357A1 (en) * 2000-12-11 2002-06-13 International Business Machines Corporation Multiprocessor with pair-wise high reliability mode, and method therefore
JP2004157865A (ja) * 2002-11-07 2004-06-03 Sony Corp マルチプロセッサシステム
US20040123201A1 (en) * 2002-12-19 2004-06-24 Nguyen Hang T. On-die mechanism for high-reliability processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
US8458516B2 (en) 2009-02-23 2013-06-04 Renesas Electronics Corporation Processor system and operation mode switching method for processor system
EP3460632A1 (en) 2017-09-26 2019-03-27 Renesas Electronics Corporation Microcontroller and control method of the same
KR20190035480A (ko) 2017-09-26 2019-04-03 르네사스 일렉트로닉스 가부시키가이샤 마이크로 컨트롤러 및 마이크로 컨트롤러의 제어방법
US10915082B2 (en) 2017-09-26 2021-02-09 Renesas Electronics Corporation Microcontroller with error signal output circuit and control method of the same

Also Published As

Publication number Publication date
EP1820093A1 (de) 2007-08-22
US8090983B2 (en) 2012-01-03
KR101052994B1 (ko) 2011-07-29
CN101048730A (zh) 2007-10-03
KR20070083758A (ko) 2007-08-24
JP5053854B2 (ja) 2012-10-24
WO2006045775A1 (de) 2006-05-04
EP1820093B1 (de) 2018-08-15
US20090204740A1 (en) 2009-08-13

Similar Documents

Publication Publication Date Title
JP5053854B2 (ja) 少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置
JP2008518339A (ja) 少なくとも2つの実施ユニットを有する計算機において切り替える装置および方法
KR100994039B1 (ko) 복수의 컴포넌트를 구비한 컴퓨터 시스템에서 신호를생성하기 위한 방법 및 장치
JP2008518296A (ja) 少なくとも2つの実行ユニットを備えるコンピュータシステムで切換をする方法及び装置
CN100520730C (zh) 在具有至少两个执行单元的计算机系统中对程序代码的执行进行分离的方法和设备
KR20070062573A (ko) 적어도 2개의 실행 유닛을 구비한 컴퓨터 시스템의 전환장치 및 전환 방법
KR20070062577A (ko) 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템의신호를 평가하기 위한 방법 및 장치
KR101031181B1 (ko) 컴퓨터 시스템의 기능을 모니터링하기 위한 방법 및 장치
JP2000040038A (ja) コンピュ―タ・システムにおけるバス・エラ―処理
US11593241B2 (en) Processor with debug pipeline
KR20070085278A (ko) 적어도 2개의 실행 유닛을 구비한 컴퓨터 시스템의 전환방법 및 그 전환 장치
KR20070062576A (ko) 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서프로그램 코드로부터 처리를 분리하기 위한 방법 및 장치
JP2008518340A (ja) 少なくとも2つの実施ユニットを有する計算機システムにおいて切り替える方法および装置
US20080313384A1 (en) Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units
US20110208948A1 (en) Reading to and writing from peripherals with temporally separated redundant processor execution
KR20070083776A (ko) 적어도 하나의 외부 신호에 의한 멀티 프로세서 시스템의작동 모드 사이의 스위칭을 위한 방법 및 장치
CN101048746A (zh) 用于评价具有至少两个执行单元的计算机系统的信号的方法和设备
JP2009506408A (ja) 複数の実行ユニットを有する計算機システム内のプロセスを分析する方法および装置
RU2384877C2 (ru) Способ и устройство для генерирования сигнала в вычислительной системе, включающей в себя несколько компонентов

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101110

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5053854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

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

LAPS Cancellation because of no payment of annual fees