(57)【要約】プログラム（Ｐ１，Ｐ２，Ｐ３）を処理するための少なくとも２つの実施ユニット（ＡＬＵＡ，ＡＬＵＢ）を有するプロセッサユニット（１００，１０１）の少なくとも２つの駆動モード（ＳＭ，ＬＭ）間で切り替える方法および装置であって，少なくともプログラム（Ｐ１，Ｐ２，Ｐ３）に，少なくとも２つの駆動モード（ＳＭ，ＬＭ）の区別を可能とする，少なくとも１つの識別子（Ｋ３）が対応づけられている。駆動モード間の切替えは，識別子（Ｋ１〜Ｋ４，ＫＢ）に基づいて行われるので，プロセッサユニット（１００，１０１）は，プログラム（Ｐ１，Ｐ２，Ｐ３）を対応づけられた駆動モードにしたがって処理する。
2007508626.tif 000002
【特許請求の範囲】
【請求項１】
プログラム（Ｐ１，Ｐ２，Ｐ３）を処理するための少なくとも２つの実施ユニット（ＡＬＵＡ，ＡＬＵＢ）を有するプロセッサユニット（１００，１０１）の，少なくとも２つの駆動モード（ＳＭ，ＬＭ）間での切替方法において，
少なくとも前記プログラム（Ｐ１，Ｐ２，Ｐ３）には，少なくとも２つの駆動モード（ＳＭ，ＬＭ）の区別を可能とする，少なくとも１つの識別子（Ｋ２）が対応づけられており，
前記識別子（Ｋ１〜Ｋ４，ＫＢ）に基づいて駆動モード間で切替えが行われることによって，前記プロセッサユニット（１００，１０１）は，対応づけられた前記駆動モードにしたがって前記プログラム（Ｐ１，Ｐ２，Ｐ３）を処理することを特徴とする，少なくとも２つの駆動モード間での切替方法。
【請求項２】
前記プログラム（Ｐ１，Ｐ２，Ｐ３）は，課題プログラム（ＡＰ）を含んでおり，あるいはこれを形成し，
かつ個々の前記課題プログラム（ＡＰ）には，それぞれ識別子（Ｋ１）が対応づけられていることを特徴とする，請求項１に記載の切替方法。
【請求項３】
前記プログラム（Ｐ１，Ｐ２，Ｐ３）は，個々のプログラム部分（ＣＢ）からなり，あるいはこれらを含み，
かつ個々の前記プログラム部分（ＣＢ）には，それぞれ識別子（Ｋ３）が対応づけられていることを特徴とする，請求項１に記載の切替方法。
【請求項４】
前記プログラム（Ｐ１，Ｐ２，Ｐ３）は，個々のプログラム指令（ＰＢ）からなり，
かつ個々のプログラム指令（ＰＢ）には，それぞれ識別子（Ｋ４）が対応づけられていることを特徴とする，請求項１に記載の切替方法。
【請求項５】
前記プログラム（Ｐ１，Ｐ２，Ｐ３）は，前記プロセッサユニット（１００，１０１）の駆動システムに属し，あるいは駆動システムを表すことを特徴とする，請求項１に記載の切替方法。
【請求項６】
前記プログラム（Ｐ１，Ｐ２，Ｐ３）は，車両の駆動シーケンスを制御するために使用されることを特徴とする，請求項１に記載の切替方法。
【請求項７】
安全モード（ＳＭ）に相当する第１の駆動モードが設けられ，
前記安全モードにおいて，前記２つの実施ユニット（ＡＬＵＡ，ＡＬＵＢ）は同一のプログラム（ＡＰ，Ｐ２）を冗長に処理することを特徴とする，請求項１に記載の切替方法。
【請求項８】
前記プログラム（ＡＰ，Ｐ２）を処理することにより発生する状態または結果（ＲｅｓｕｌｔＡ，ＲｅｓｕｌｔＢ）が一致するか否か比較し（１４），一致しない場合にはエラーを認識することを特徴とする，請求項７に記載の切替方法。
【請求項９】
前記プログラム（ＡＰ，Ｐ２）は，同期して処理されることを特徴とする，請求項７に記載の切替方法。
【請求項１０】
パワーモード（ＬＭ）に相当する第２の駆動モードにおいて，前記各実施ユニット（ＡＬＵＡ，ＡＬＵＢ）は，異なる前記プログラム（Ｐ１，Ｐ２，Ｐ３）を処理することを特徴とする，請求項１に記載の切替方法。
【請求項１１】
前記識別子（Ｋ１，ＫＢ）は，少なくとも１つのビット（Ｋ１／Ｂ１）として形成されることを特徴とする，請求項１に記載の切替方法。
【請求項１２】
プログラム指令（ＰＢ１，ＰＢ２，ＰＢ３）が設けられ，
前記プログラム指令は，第１の駆動モードあるいは第２の駆動モードのうちいずれで処理すべきかを表示する識別子（ＫＢ）を発生させることを特徴とする，請求項１に記載の切替方法。
【請求項１３】
前記識別子（ＫＢ）は，所定のメモリ領域（ＳＳＢ）に書き込まれていることを特徴とする，請求項１に記載の切替方法。
【請求項１４】
前記識別子（ＫＢ）は，プロセッサユニットの指令セット内に設けられている前記指令（ＰＢ１，ＰＢ２）によって発生されることを特徴とする，請求項１２または１３に記載の切替方法。
【請求項１５】
前記識別子（ＫＢ）は，書込み指令（ＷＲ）によって発生されることを特徴とする，請求項１２〜１４のいずれかに記載の切替方法。
【請求項１６】
少なくとも２つの実施ユニット（ＡＬＵＡ，ＡＬＵＢ）によってプログラム（Ｐ１，Ｐ２，Ｐ３）を処理するためのプロセッサユニット（１００，１０１）の，少なくとも２つの駆動モード（ＬＭ，ＳＭ）間の切替えを行う切替装置において，
切替えを可能とする切替手段（８，９）が設けられ，
前記切替手段（８，９）は，少なくとも前記プログラム（Ｐ１，Ｐ２，Ｐ３）に，２つの駆動モード（ＬＭ，ＳＭ）の区別を可能とする，少なくとも１つの識別子（Ｋ１〜Ｋ４，ＫＢ）を対応づけ，
かつ前記切替手段（８，９）は，前記識別子に基づいて駆動モード間で切り替え，プロセッサユニットが対応づけられた駆動モードにしたがって前記プログラムを処理するように形成されていることを特徴とする，少なくとも２つの駆動モード間での切替装置。
【請求項１７】
少なくとも２つの実施ユニットとして，少なくとも二重に計算装置（ＡＬＵＡ，ＡＬＵＢ）が設けられていることを特徴とする請求項１６に記載の装置。
【請求項１８】
少なくとも２つの実施ユニット（ＡＬＵＡ，ＡＬＵＢ）によってプログラム（Ｐ１，Ｐ２，Ｐ３）を処理するためのプロセッサユニット（１００，１０１）において，
プロセッサユニットの少なくとも２つの駆動モード（ＬＭ，ＳＭ）間での切替えを可能とする切替手段（８，９）が設けられた前記プロセッサユニットであって，
前記切替手段（８，９）は，少なくとも前記プログラム（Ｐ１，Ｐ２，Ｐ３）に，２つの駆動モード（ＬＭ，ＳＭ）への区別を可能とする，少なくとも１つの識別子（Ｋ１〜Ｋ４，ＫＢ）を対応づけ，
かつ前記切替手段（８，９）は，前記識別子に基づいて駆動モード間で切り替え，かつプロセッサユニットが対応づけられた駆動モードにしたがってプログラムを処理するように形成されていることを特徴とする，プロセッサユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，独立請求項の上位概念に記載された，プロセッサユニットの少なくとも２つの駆動モード間で切り替える方法と装置およびプログラムを処理するための少なくとも２つの実施ユニットを有するプロセッサユニットに関する。
【背景技術】
【０００２】
少なくとも２つの内蔵された実施ユニットを有するこの種のプロセッサユニットは，デュアルコアアーキテクチャまたはマルチコアアーキテクチャとして知られている。この種のデュアルコアアーキテクチャまたはマルチコアアーキテクチャは，今日の従来技術に基づいて，主として２つの理由から提案される：
【０００３】
１つには，これによって，２つの実施ユニットまたはコアを半導体モジュール上の２つの計算ユニットと考え，取り扱うことによって，パワー上昇，すなわちパフォーマンス上昇させることができる。このコンフィグレーションにおいて，２つの実施ユニットまたはコアは，異なるプログラムあるいはタスクを処理する。これによりパワーが上昇するので，このコンフィグレーションは，パワーモードまたはパフォーマンスモードと称される。
【０００４】
スーパースカラーのプロセッサとしての使用の他に，デュアルコアアーキテクチャまたはマルチコアアーキテクチャを実現するための第２の理由は，２つの実施ユニットが重複して同一のプログラムを処理することによる，安全性の向上である。２つの実施ユニットの結果を比較し，一致について比較した場合には，エラーを認識することができる。以下において，このコンフィグレーションは，安全モードまたはセーフティモードと称する。
【０００５】
一般に，上述した２つのコンフィグレーションは，デュアルコアアーキテクチャ上またはマルチコアアーキテクチャ上に排他的に含まれている。すなわち，少なくとも２つの計算ユニットを有する計算機は，原則的に，パフォーマンスモードまたはセーフティモードのうち１つのモードのみにおいて駆動される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の課題は，少なくとも２つの駆動種類に関してこのようなデュアルコアアーキテクチャまたはマルチコアアーキテクチャの組み合わせによる駆動を可能にし，この場合に少なくとも２つの駆動モード間，特に安全モードとパワーモードの間での最適な切替ストラテジーを得ることである。
【発明の効果】
【０００７】
一方では，安全上の理由から，プログラムあるいはタスク，または課題プログラム，プログラム部分，コードブロックあるいは個々の指令を冗長に処理することが望ましい。しかし，他方では，コストの理由から，安全上重要でない機能を実施する場合には，完全に冗長なハードウェアを準備することは望ましくない。
【０００８】
この目標の相克は，本発明によれば，１つのプロセッサユニットにおいて少なくとも２つの駆動モード間の最適な切替えによって解決される。すなわち，本発明は，少なくとも２つの実施ユニットを有するプロセッサユニットの少なくとも２つの駆動モード間で切り替える方法および装置と，対応するプロセッサユニットに基づいている。この場合に，プロセッサユニットは，１つには，完全なコア，すなわち完全なＣＰＵとすることができるが，好ましい実施例においては，計算装置のみが二重にされる。この利点は，計算装置（ＡＬＵ）のみが二重にされて，ＣＰＵの他のコンポーネントは他のエラー検出機構により安全確保される場合に，紹介された回路は，付加的に，完全なデュアルコアアーキテクチャよりも少ないチップ面しか必要としないことである。
【０００９】
それにもかかわらず，本発明にかかる方法においては，ダブル−ＣＰＵまたはダブル−ＡＬＵの場合と同様に，安全モードにおける十分なエラー検出と，安全上重要でない計算の場合にはパワーモードにおいて著しいパワー向上を達成することができる。したがって，本発明は，プログラムを処理するための少なくとも２つの実施ユニットを有するプロセッサユニットの少なくとも２つの駆動モード間で切り替える方法および装置に基づいている。この場合，好ましくは，プログラムに，少なくとも２つの駆動モード，特に，安全モードとパワーモードとを区別する，少なくとも１つの識別子が対応づけられており，かつ識別子により２つの駆動モード間で切替えが行われる。これにより，プロセッサユニットは，対応づけられた駆動モードにしたがってプログラムを処理する。
【００１０】
この場合に，プログラムという概念は，複数のプログラムにわたり，かつ個々のプログラムに含まれ，あるいはプログラムによって形成される課題プログラムにわたって，完全にあるいは持分に応じて広がるプログラム部分，すなわち，コードブロックから，それぞれ識別子が対応づけられる個々のプログラム指令まで含んでいる。
【００１１】
この場合に，個々の駆動モード間で切り替えるために行われる識別子対応づけは，機能平面に，特に，車両における駆動シーケンスを制御するために使用される。他方で，好ましくは，プロセッサユニットの駆動システムに属し，あるいはこの駆動システムを表すプログラムまたは該当する課題プログラム，プログラム部分あるいはプログラム指令を，このような識別子によって該当する駆動モードに対応づけることができる。
【００１２】
好ましくは，プログラムを処理する場合に発生する状態または結果について，一致するか否かを比較し，ずれがある場合にはエラーを認識することができる。
【００１３】
この場合，特に，プログラムが同期して処理されると，効果的である。
【００１４】
好ましくは識別子が少なくとも１つのビットとして形成されており，この場合，このような識別子は，好ましくは，プログラム指令，特に，例えば書込み指令のようなプロセッサユニットの指令セット内に設けられている指令によって発生される。
【００１５】
この識別子は，一方で，該当するプログラム，プログラム部分，実施プログラムまたはプログラム指令に対応づけることができ，あるいは設けられた特殊なメモリ領域への書き込んでおくこと，あるいは書き込むことができる。
【００１６】
したがって，識別子に応じて，デュアルコアアーキテクチャまたは単に二重に計算装置を有するアーキテクチャ，すなわちダブルＡＬＵにおいて，２つの駆動モード，特にパワーモードと安全モードの間で最適な切替えを行うことができる。
【００１７】
また，他の利点と好ましい形態は，明細書と請求項の特徴から明らかにされる。
【実施例の説明】
【００１８】
以下，図面に示す図を用いて，本発明を詳細に説明する。
【００１９】
図面の図１と２では，他の記載がない限りにおいて同一または機能の等しい部材には，同一の参照符号が設けられている。本発明に基づくプログラム制御されるユニットおよび，マイクロコントローラコア（ＣＰＵ），メモリユニット，周辺ユニット等のようなコンポーネントは，全体をわかりやすくするために，図１と２には直接図示しない。もちろん，２つの計算装置ＡＬＵＡとＡＬＵＢは，完全なコア，すなわち本発明の枠内ではＣＰＵに相当するので，本発明は，完全なデュアルコアアーキテクチャのためにも使用することができる。もちろん，計算装置のみが二重にされて，ＣＰＵの他のコンポーネントは他のエラー発見機構により安全確保されることが好ましい。
【００２０】
図１と２において，参照符号１と２は，それぞれ実施ユニットとしての算術論理ユニット（ＡＬＵ）を示している。それぞれのＡＬＵ１，２は，２つの入力と１つの出力を有している。テスト駆動において，実施のために設けられているオペランドを直接バス３からＡＬＵ１，２の入力へ結合し，あるいは前もってそのために設けられている専用のオペランドレジスタ８，９に格納しておくことができる。これらのオペランドレジスタ８，９は，直接データバス３と結合されている。したがって，２つのＡＬＵ１，２は，同一のオペランドレジスタ８，９から供給を受ける。
【００２１】
さらに，それぞれのオペランドがバスを介してすでにＥＣＣコーディングを有しており，それがレジスタ領域８Ａ，９Ａに格納されるようにすることができる。すなわち，図１および図２の，ＥＣＣと記入されているすべての箇所において，データはＥＣＣコード（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）によって安全確保することができる。この種のエラー認識方法は多様であって，この場合の基本前提は，エラー認識コードまたはエラー補正コード，したがってシグネチャーによる安全確保である。最も簡単な場合においては，このシグネチャーは，例えばパリティビット等のシグネチャービットのみからなる。他方で，安全確保は，ベルガーコードまたはボーズラインコード等のような，より複雑なＥＤコード（Ｅｒｒｏｒ  Ｄｅｔｅｃｔｉｏｎ），あるいは例えばハミングコード等のような，より複雑なＥＣＣコードによっても実現することができ，それに応じたビット数によってより安全なエラー認識が可能となる。
【００２２】
しかしまた，アドレスの枠内でビットの所定の入力パターンに任意の長さの所望のコードパターンを対応づけるために，コードジェネレータとして，例えばジェネレータテーブル（固定配線あるいはソフトウェア）を使用することもできる。これにより，特に補正機能によって，データ安全性を保証することができる。それにもかかわらず，安全上重要なモード，したがって安全モードＳＭにおいては，２つの実施ユニット，すなわち，ここでは２つのＡＬＵ１および２内で，安全上重要なプログラムの冗長な処理が行われる。これにより，これらにおけるエラーが本発明にしたがって，一致するか否かの比較を行うことによって発見される。
【００２３】
安全上重要でない，または安全上危機的でないプログラムまたはタスク，プログラム部分またはコードブロックまたは指令は，パワーを上昇させるために２つの実施ユニット上で分けて計算され，これに伴って処理量とパワーとが向上する。これは，いわゆるパワーモードまたはパフォーマンスモードＬＭにおいて行われる。
【００２４】
それぞれのオペランドをＡＬＵ１，２へ結合する場合に，特別な値が正しいデータ入力へ印加されなければならない。例えば，同一の誤りのあるオペランドが２つのＡＬＵ１，２へ結合された場合には，ＡＬＵ１，２の出力においてエラーは認識できない。したがって，ＡＬＵの少なくとも一方である１または２が正しいデータ入力値を得ること，または２つのＡＬＵ１または２も異なるが，誤ったデータ入力値を得ることが保証されていなければならない。これは，ＡＬＵ１，２の少なくとも１つの入力値からチェックサム，したがってＥＣＣコードが上述したように形成されることによって保証される。
【００２５】
これらの付加的なデータレジスタ１０，１１からのＥＣＣコーディング１０Ａ，１１Ａは，専用に設けられている比較ユニット５，６内において，元のソースレジスタ８，９のＥＣＣコーディング８Ａ，９Ａと比較される。選択的に，レジスタ１０，１１からの入力データを，ソースレジスタ８，９からのデータと比較することもできる。ＥＣＣコーディング内，あるいはオペランドにおいて差異が生じた場合には，これがエラーと解釈されて，エラー信号が出力され，場合によっては表示され，かつ場合によっては補正される。この比較は，好ましくはＡＬＵ１，２内のオペランド処理の間に行われるので，この入力側のエラー認識とエラー補正は，ほぼパワー損失なしで行われる。
【００２６】
比較ユニット５，６のいずれかがエラーを認識した場合には，次のサイクルの内部で計算を繰り返すことができる。この場合，常に最後の計算のオペランドを確保して，エラーの場合にこれを迅速に提供できるようにするために，シャドウレジスタを使用することができる。このようなシャドウレジスタの準備は，もちろん，それぞれのオペランドレジスタ１０，１１にエラーが存在しないことによるイネーブル信号によって初めて新たに書き込まれる場合には，省略することができる。エラーの場合には，比較ユニット５，６はエラー信号を供給するので，オペランドレジスタ１０，１１には新たに書き込まれない。
【００２７】
ＡＬＵ１，２は，出力側にそれぞれ結果を出力する。ＡＬＵ１，２によって用意された結果データ，またはそのＥＣＣコーディングは，結果レジスタ１２，１３，１２Ａ，１３Ａに格納される。これらの結果データおよび／またはそのコーディングは，比較ユニット１４内で互いに比較される。エラーが存在しない場合には，イネーブル信号１６が発生される。このイネーブル信号１６は，イネーブル装置１５へ結合され，イネーブル装置は，結果データをバス４上へ書き込むように促される。その後，バス４を介してこの結果データを再び処理することができる。
【００２８】
イネーブル信号１６は，さらに，レジスタ８〜１１を再びクリアリングするために利用することができるので，次のオペランドをバス３から読み出して，ＡＬＵ１，２内で処理することができる。
【００２９】
なお，図１の配置によっては，結果は検査されない。ここでは単に結果データが比較ユニット１４内で互いに比較されるだけである。結果データのＥＣＣコーディングの検査は，図２の配置によって初めて可能となり，その配置においては，結果データもそのＥＣＣコーディングも比較ユニット１４によって互いに比較される。
【００３０】
図１および図２に示されるエラー認識配置によって，すべての過渡的エラー，恒久的エラーおよびランタイムエラーも認識される。ＡＬＵ１，２の内部のランタイムエラーは，結果が比較ユニット１２へ達せず，あるいは達するのが遅すぎて，部分比較を有する比較が行われない場合に認識される。エラー認識コードとエラー補正コードおよび最終結果の比較によってオペランドレジスタ８，９，１０，１１を安全確保することによって，それぞれのエラー場所とエラー時点とが正確に特定される。したがって，過渡的な障害に極めて迅速に反応することができる。
【００３１】
したがって，エラー特定するために，以下の可能性が生じる：
【００３２】
比較ユニット１４における比較の結果，差異が生じた場合には，ＡＬＵ１，２の内部のエラーであると推定することができる。
【００３３】
比較ユニット５，６のいずれかにおけるＥＣＣコーディングの比較の結果，差異が生じた場合には，バス３の上流側に接続されているコンポーネントのエラーのある信号を推定することができる。
【００３４】
比較ユニット１４におけるＥＣＣコーディングの比較において差異が生じた場合には，結果にエラーのあるコーディングを推定することができる。
【００３５】
上述した，冗長な処理とチェックが行われる安全モードと，別々のプログラム処理によってパワー上昇が達成されるパワーモードとの切替えのために，切替装置ＵＥ１７が用いられる。この切替装置１７によって，エレメント８，９と１，２が，第１の場合，すなわち安全モードＳＭにおいては冗長なプログラム処理，特に同期したプログラム処理が行われ，第２の駆動モード，パワーモードＬＭにおいては異なるプログラムのパラレル処理を行うことができるように，切り替えられる。このため，スイッチまたは切替手段が設けられている。スイッチまたは切替手段は，一方で，エレメント８，９または１，２内，あるいは切替装置１７内に位置づけることができ，または付加的にエレメント８，９，１，２または切替装置１７とは別に回路内に設けることができる。
【００３６】
モードを切り替えるために，プログラムまたは課題プログラムあるいはプログラム部分，すなわちコードブロックまたは指令を識別子によって識別することが行われる。この識別子によって，これらが安全上重要であるか，すなわち安全モードＳＭで処理されなければならないか，あるいはパワーモードＬＭによって到達可能なものであるか，を認識することができる。これは，指令内のビットによって行うことができ，あるいは特殊な指令によってそれに連続するシーケンスを特徴づけることができる。これについては，図５の様々な識別可能性を用いて再度詳細に説明する。
【００３７】
この場合，プログラムは，一方で，適用機能を有することができ，特に，例えば車両における駆動シーケンスを制御するために設けることができる。あるいはまた，切替えはプログラムに関して行われ，そのプログラムにおいて駆動システム平面の識別，例えば全駆動システムタスクの対応づけが行われる。
【００３８】
切替装置１７は，デコーディングする場合に，以降の計算が安全上重要であるか，すなわち安全モードで実施すべきか否かを認識する。安全モードで実施すべき場合には，データが両方の実施ユニット１，２へ引き渡される。そうでない場合，すなわちパワーモードで処理される場合には，一方の実施ユニットが用意されたデータを得て，同時に次の指示（それが同様に安全上重要でない場合）を第２の実施ユニットへ与えることができるので，プログラムはより高い処理量で処理される。
【００３９】
第１の場合において，例えば２つのユニット上で処理が同期して行われる場合，結果の算出処理は同じ長さ続く。したがって，安全モードにおいて同期処理が行われる場合には，結果は同時に準備できる。これらのデータは，出力において１２と１３に示すように再びコーディングを設けられて，データおよび／またはこれらのデータのコーディングが，図１と２に示すように，結果Ａと結果Ｂにおいて比較される。これらが一致した場合には，データは許可される；そうでない場合には，該当するエラーリアクションの１つが行われる。第２の場合，すなわちパワーモードＬＭにおいて，データがパラレルに処理される場合には，２つの計算装置の出力に設けられたコンパレータまたは比較器１４は駆動されず，結果Ａと結果Ｂとが順次レジスタバンクへ書き戻されて，スーパースカラープロセッサにおいてもそうであるように，順次出力されることもできる。
【００４０】
本発明に基づく切替えプロセスを，図３および図４において再度説明する。ここで，図３は，パワーモードから安全モードへの切替えを，図４は安全モードからパワーモードへの切替えを示している。
【００４１】
第２の駆動モード，ここではパワーモードまたはパフォーマンスモードＬＭから第１のモード，ここでは安全モードまたはセーフティモードＳＭへ達するために，識別子とそれに応じた切替えが必要である。図３において，これが再度示されている。ブロック３００において，実施ユニット１は第２の駆動モード，パワーモードにある。同様にブロック３１０において，第２の実施ユニット２もパワーモードにある。同様に，例えばデコーダモジュールとして形成され，またはデコーダモジュールを有する切替装置１７によって，エレメント８と９が制御され，または切り替えられる。
【００４２】
ブロック３２０または３２１において，それぞれの実施ユニット１または２のプログラムシーケンスに応じて少なくとも１つの識別子が検出され，その識別子によってブロック３３０において第１の駆動モード，安全モードＳＭへの２つの実施ユニットの切替えが行われる。これにより，ブロック８と９および実施ユニット１と２にわたる２つの分岐が再び重複して，特に識別子によって特徴づけられる安全上重要なプログラムに関して同期して進行するので，再び安全モードが存在する。
【００４３】
この場合，２つの実施ユニットを安全モードへ案内するために，パワーモードにおける一方のプログラムラン内，すなわち一方のレーン内に，切替えのための識別子が存在していれば十分である。この場合，場合によっては，両者が安全モードでさらに処理するためには，他方の実施ユニットのすでに開始されているプログラムコードの処理をさらに行われなければならない。他方で，すぐに安全モードへ移行して，開始されているプログラムを次のパワーモードにおいて中断箇所から始めてさらに処理することもできる。
【００４４】
第１の駆動モード，すなわち安全モードから第２の駆動モード，すなわちパワーモードへ達するために，図４に示すように，同様に識別子が使用される。ブロック２００において，２つの実施ユニット１と２およびそれに伴うブロック８と９，すなわちオペランド接続を有するレーンは，安全モード，すなわち第１の駆動モードにある。判断ブロック２１０において，切替えが存在するか，あるいは存在している識別子がパワーモードへの切替えを可能にしているかが調べられる。切替え不可の場合，すなわち識別子が存在せず，あるいは識別子がさらに安全モードを表示している場合には，再びブロック２００へ戻り，プログラムはさらに安全モードで処理される。
【００４５】
識別子が存在し，あるいはその識別子が切替えを表示している場合には，ブロック２２０において第２の駆動モード，すなわちパワーモードまたはパフォーマンスモードＬＭへの切替えが行われる。安全モードではパラレルに，すなわち冗長に同一のプログラムが処理されるので，ここでの切替えは，パワーモードにおける２つのレーンについて，すなわちブロック８とＡＬＵ１およびブロック９とＡＬＵ２について，識別子に基づく切替えが存在している場合にだけ行われる。プログラムの完全同期の処理，すなわち時間的に等しい処理が行われる場合には，これは初めから行われている。一方，プログラムの非同期の処理が行われる場合には，進んでいる処理ユニットが遅れている処理ユニットを待機しなければならないので，切替装置１７は，２つの識別子が存在し，または評価された場合に初めて切り替えられる。このような同期は，ブロック１２，１３および１４並びに１２ａと１３ａに基づく結果比較およびＥＣＣ−，あるいは結果比較のためにも，同時性によって強制されるか，または待機によって形成されなければならない。
【００４６】
このように，ブロック２３０において第１のレーン，すなわちブロック８と実施ユニット１が再びパワーモードになり，ブロック２３１においてブロック９と実施ユニット２を有する第２のレーンがパワーモードになる。これにより，本発明に基づく切替えが完了する。
【００４７】
課題にしたがって，２つの内蔵された実施ユニットを有するプロセッサユニットの，２つの駆動モード間での最適な切替えが本発明に基づいて示される。この場合，識別子は図５に示すように，種々の方法でプログラム部分またはデータ行部分５００内に設けられ，あるいは位置づけることができる。以下，図５のプログラム行の行について説明し，ここでは任意の組合せのプログラムおよびデータ行も可能であるとする。
【００４８】
すなわち，図５には，行Ｚ１〜Ｚ６のプログラムＰ１，行Ｚ７〜Ｚ１５のＰ２およびＺ１６〜Ｚ１９のＰ３が示されている。符号ＡＰは，例えばプログラムＰ１の一部としての課題プログラムを示しており，この場合，複数のプログラム，例えばＰ１とＰ２が一緒に１つの課題プログラムを形成することもできる。符号ＣＢは，コードブロック，すなわちプログラム部分を示し，このプログラム部分は，例えば２つのプログラムの行，ここではプログラムＰ２とＰ３の行Ｚ１４〜Ｚ１８を含んでいる。同様にこのコードブロック，すなわちプログラム部分は，１つのプログラムの一部のみであってもよい。
【００４９】
さらに，行Ｚ１９に基づく符号ＰＢ３は，プログラム指令を表している。行ＺＳ１とＺＳ２は，特殊なメモリ領域ＳＳＢを示しており，予め定められたメモリ領域としてこの種の識別子，ここではＫＢを含むことができる。その他，Ｋ１，Ｋ２，Ｋ３およびＫ４ならびにＫＢは，本発明に基づく方法の様々な可能性を考慮する，種々の識別子を示している：１つには，基本処理モードとして，すなわち安全モードＳＭのデフォルトモードとして設けることができる（同様にもちろんパワーモードも設けることは可能である）。識別子が存在している場合には，それに応じてパワーモードへ切り替えられる（あるいは逆に安全モードへ切り替えられる）。
【００５０】
他方で，本発明によれば，原則的に識別子が設けられていなければならず，識別子の，特にそのビット値の内容から該当するモードが推定されるようにすることもできる。この場合，例えば，バイナリ値１（または他の値，特に優性値）が安全モードＳＭに対応づけられ，バイナリ値０（または他の値，特に劣性値）がパワーモードＬＭに対応づけられる。優性と劣性という考えに関して，これは結果的に，エラーまたは故障の場合には，通常優性値とそれに伴って安全モードが調節されることをもたらす。
【００５１】
行Ｚ４には，識別子Ｋ１を有するバイナリ値Ｂ１，すなわちＫ１／Ｂ１が存在する。これは，例えば，プログラムＰ１内の行Ｚ４からＺ６の課題プログラムは，例えばプログラムＰ１が安全モードで処理されなければならないにもかかわらず，パワーモードで処理できることを意味している。識別子Ｋ１，Ｋ２およびＫ３から明らかなように，これらは異なる長さにすることができる。したがって，例えば，行Ｚ７の識別子Ｋ２の場合，識別子はＢ１〜Ｂ３の３ビットとなる。一方で，Ｋ２において，ビットＢ１により安全モードＳＭまたはパワーモードＬＭが決定され，例えばビットＢ２とＢ３は，このモード，例えば安全モードが有効なビット長さを示すので，プログラムＰ２全体またはその一部のみが安全モードで処理される。同様にコードブロック，すなわち，例えば全体課題を含まない，つまり課題プログラムを示さないプログラム部分（ここではＣＢで示される）を，ここではＫ３のような識別子によってモードに対応づけることができる。
【００５２】
この場合に，ここでは，Ｋ３のビットＢ１による駆動モード対応づけの他に，例えばＫ３のビットＢ２とＢ３によって開始行またはアドレスを，そしてＫ３のビットＢ４とＢ５によって最終行または終端アドレスを表示することができるので，当然に対応づけられた駆動モード内で特殊な領域が処理される。しかし，このような識別子対応づけは，Ｋ４に示す，行Ｚ１９内の単独の指令ＰＢ３において，あるいは各指令においても行うことができる。したがって，図に示すように，これらの識別子は完全なプログラムまたは課題プログラムＡＰまたはプログラム部分ＣＢ，あるいは個々のプログラム指令ＰＢ，ここではＰＢ３に対応づけることができ，それが切替装置１７により対応する切替えを作動させる。ブロック２１０，あるいはブロック３２０と３２１における照会によって，識別子Ｋ１〜Ｋ４またはＫＢの存在が検査され，あるいはその内容が切り替えられる。この場合，識別子は，ここに示すように，少なくとも１つのビットとして形成することができるが，一方で異なるビットモードの数に基づいて，他方で行の数，開始アドレスまたは終端アドレスのような付加情報に基づいて，複数のビットを有することもできる。
【００５３】
特殊な実施形態においては，第１の駆動モードで処理すべきか，あるいは第２の駆動モードで処理すべきかを示す識別子を初めて形成する，少なくとも１つのプログラム指令，ここではＰＢ１，ＰＢ２またはＰＢ３を設けることができる。この場合，識別子は，ここではＺＳ２内のＫＢのような，所定のメモリ領域ＳＳＢ内に書き込むことができる。領域ＳＳＢは，レジスタ内，ＣＰＵに内蔵されたメモリ内，また，そのための外部のメモリ内に設けることができる。この場合，識別子ＫＢを発生させる指令は，特殊指令，例えばＰＢ３を設けることができ，あるいはすでにプロセッサユニットの指令セット内に設けられている指令を用いることもできる。
【００５４】
したがって，特殊指令として，「識別子を発生させよ」という指令を実装することができ，あるいはプロセッサ指令セット内にすでに設けられている指令，特に，ここでＰＢ１とＰＢ２によって示されるような書込み指令を利用することができる。これにより，ＷＲ（ＫＢ：０）によって示される，Ｚ９内の書込み指令ＷＲがメモリ領域ＫＢにバイナリ値０を書き込み，かつそれによって後続のすべての行（識別子がＫＢ０である限りにおいて）が，例えば安全モードで処理される。その後同じ指令によって，ＰＢ２においてＺ１２内でＷＲ（ＫＢ：１）により識別子ＫＢのためのメモリ領域に値１が書き込まれる。したがって，この時点以後の行が，例えばパワーモードで処理可能となる。すなわち，識別子を発生させる単純な指令，特にシンプルな書込み指令ＷＲによって，例えば，規則的に照会される特殊なメモリ領域内に然るべき切替え識別子ＫＢを発生させることができる。
【００５５】
このように，２つの実施ユニットを有するプロセッサユニットについて，識別子に基づいて駆動モード切替えを実施する，本発明に基づく多数の可能性が示されている。これにより，本発明の上述した利点が得られる。
【図面の簡単な説明】
【００５６】
【図１】本発明に基づく切替えが実施可能な，二重に計算装置を有するプロセッサユニットを示す。
【図２】本発明に基づく切替えが実施可能な，二重に計算装置を有するプロセッサユニットを示す。
【図３】パワーモードから安全モードへの切替えを示す。
【図４】安全モードからパワーモードへの切替えを示す。
【図５】幾つかのコード行５００を用いて，プログラム，プログラム部分，課題プログラムまたは指令への識別子の対応づけを示す。
【図１】
2007508626.tif 000003
【図２】
2007508626.tif 000004
【図３】
2007508626.tif 000005
【図４】
2007508626.tif 000006
【図５】
2007508626.tif 000007
【国際調査報告】
2007508626.tif 000008
2007508626.tif 000009
2007508626.tif 000010
2007508626.tif 000011