JP2008518308A - マルチプロセッサシステム内のデータを分配するための方法およびデータ分配ユニット - Google Patents
マルチプロセッサシステム内のデータを分配するための方法およびデータ分配ユニット Download PDFInfo
- Publication number
- JP2008518308A JP2008518308A JP2007537301A JP2007537301A JP2008518308A JP 2008518308 A JP2008518308 A JP 2008518308A JP 2007537301 A JP2007537301 A JP 2007537301A JP 2007537301 A JP2007537301 A JP 2007537301A JP 2008518308 A JP2008518308 A JP 2008518308A
- Authority
- JP
- Japan
- Prior art keywords
- data
- mode
- distribution unit
- data distribution
- switching
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000001514 detection method Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000001934 delay Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000012913 prioritisation Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 9
- 230000003111 delayed effect Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 5
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 2
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 1
- 241000287463 Phalacrocorax Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1695—Error detection or correction of the data by redundancy in hardware which are operating with time diversity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/845—Systems in which the redundancy can be transformed in increased performance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
少なくとも2つの計算ユニットを備えるシステム内で少なくとも1つのデータ源からデータを分配するためのユニットおよび方法であって、システムの少なくとも2つの動作モードを切替自在な切替手段が設けられており、かつ、データ分配およびデータ源の選択の少なくともいずれかが動作モードに依存する。
【選択図】図2
【選択図】図2
Description
特に自動車分野または工業製品分野、従って例えば機械分野およびオートメーション分野のような技術的適用では、安全上重要な適用のために、マイクロプロセッサベースまたは計算機ベースの開ループ制御および閉ループ制御システム(Steuerungs- und Regelungssystem)がますます多用されている。この場合にダブル計算機システムまたはダブルプロセッサシステム(デュアルコア)は、特に車両内の例えばアンチブロッキングシステム、電子安定化プログラム(ESP)、ドライブ−バイ−ワイヤもしくはステア−バイ−ワイヤおよびブレーキ−バイ−ワイヤ等のようなX−バイ−ワイヤ−システムにおいて、または他のネットワーク化されたシステム等において、安全上重要な適用のために今日普及している計算機システムである。将来の適用において高い安全性要求を満足させるために、特に、例えば計算機システムの半導体構造の小型化に際して生じる過渡的エラーに対処するために、強力なエラー認識機構およびエラー処理機構が必要とされる。この場合にコア自体、従ってプロセッサを保護することは比較的困難である。このための一つの解決策として、前述したように、エラー検出のためにダブル計算機システムまたはデュアルコアシステムが使用される。
少なくとも2つの統合された実行ユニットを備えるこの種のプロセッサユニットは、デュアルコアアーキテクチャまたはマルチコアアーキテクチャとして知られている。この種のデュアルコアアーキテクチャまたはマルチコアアーキテクチャは、現在の技術水準によれば、主として以下の2つの理由から提案される。
第1の理由は、2つの実行ユニットまたはコアが半導体モジュール上の2つの計算ユニットとみなされて取扱われることにより、出力向上、従ってパフォーマンス向上が実現されうる点にある。この設定では、2つの実行ユニットまたはコアは、異なるプログラムもしくはタスクを処理する。これによって出力向上が実現され、従ってこの設定は、出力モードまたはパフォーマンスモードと称される。
デュアルコアアーキテクチャまたはマルチコアアーキテクチャを実現する第2の理由は、2つの実行ユニットが冗長的に同一のプログラムを処理することによる安全性向上にある。2つの実行ユニットまたはCPU、従ってコアの処理結果が比較され、一致についての比較に際してエラーが認識されうる。以下では、この設定は、安全モードまたはセーフティモードまたはエラー認識モードとも称される。
よって、現在のところ、一方で、ハードウェアエラーを認識するために冗長的に機能するダブルプロセッサシステムまたはマルチプロセッサシステムがあり(デュアルコアまたはマスター−チェッカーシステムを参照)、他方で、そのプロセッサ上で異なるデータを処理するダブルプロセッサシステムまたはマルチプロセッサシステムがある。
ダブルプロセッサシステムまたはマルチプロセッサシステムにおいて、これら2つの動作モードを組合せる場合には(説明の便宜上、ここではダブルプロセッサシステムについてのみ説明するが、以下の発明はマルチプロセッサシステムについても全く同様に適用可能である。)、2つのプロセッサは、パフォーマンスモードでは異なるデータを取得する必要があり、エラー認識モードでは同一のデータを取得する必要がある。
本発明の課題は、少なくとも2つのプロセッサにモードに応じて指令/データを冗長的に、または異なる方法で提供し、特にパフォーマンスモードでメモリアクセス権を分配する、ユニットおよび方法を提供することにある。
この種のユニットは、今日までにまだ知られていない。この種のユニットは、ダブルプロセッサシステムの効果的な動作を可能にするために、安全およびパフォーマンスの2つのモードで動作を切替可能である。この場合、以下ではプロセッサについて説明するが、概念的にはコアもしくは計算ユニットも同様に含むものである。
よって、本発明は、少なくとも2つの計算ユニットを備えるシステム内で少なくとも1つのデータ源からデータを分配するためのユニットであって、その場合にシステムの少なくとも2つの動作モードを切替自在な切替手段(ModeSwitch)が設けられており、かつ、データ分配および/またはデータ源の選択が動作モードに依存するように形成されている。同様に、この種のユニットを備えるシステムが示される。
同様に、本発明は、少なくとも2つの計算ユニットを備えるシステム内で少なくとも1つのデータ源からデータを分配するための相応する方法であって、その場合にシステムの少なくとも2つの動作モードを切替自在な切替手段が設けられており、かつ、データ分配および/またはデータ源(特に指令メモリ、データメモリ、キャッシュ)の選択が動作モードに依存する。
この場合には、第1の動作モードが安全モードに相当し、その安全モードでは2つの計算ユニットが同一のプログラムおよび/またはデータを処理し、かつ比較手段が設けられており、その比較手段が同一のプログラムの処理に際して生じる状態の一致について比較する。
本発明に基づくユニットもしくは方法は、ダブルプロセッサシステムにおいて2つのモードの最適化された実装を可能にする。
2つのプロセッサがエラー認識モード(Fモード)で機能する場合には、2つのプロセッサが同一のデータ/指令を取得し、パフォーマンスモード(Pモード)で機能する場合には、各プロセッサがメモリにアクセスすることができる。そして、このユニットが、単一に備えられたメモリまたは周辺機器へのアクセスを管理する。
Fモードでは、ユニットは、プロセッサ(ここではマスター)のデータ/アドレスを引き継ぎ、メモリ、バス等のようなコンポーネントに伝達する。ここで、第2のプロセッサ(ここではスレーブ)が同じアクセスを行おうとする。データ分配ユニットは、これを第2のポートで受取るが、その照会を他のコンポーネントに伝達しない。データ分配ユニットは、マスターと同一のデータをスレーブに引き継ぎ、2つのプロセッサのデータを比較する。これらが異なっていれば、データ分配ユニット(ここではDVE)は、その旨をエラー信号によって通知する。よって、マスターのみがバス/メモリに対して作用し、スレーブが同一のデータを取得する(デュアルコアシステムの場合のような機能性)。
Pモードでは、2つのプロセッサが異なるプログラム部分を処理する。よって、メモリアクセスも異なる。よって、DVEは、プロセッサの要求を受けて、要求したプロセッサに結果の/要求されたデータを与える。2つのプロセッサが同時に同一のコンポーネントにアクセスしようとすると、一方のプロセッサは、他方が操作されるまで待機状態にされる。
2つのモードおよびそれに伴うデータ分配ユニットの異なる機能性の切替は、制御信号によって行われる。これは、2つのプロセッサの一方により、または外部で生成可能である。
切替が制御信号、特に少なくとも1つの計算ユニットの動作モードに関するモード信号によって作動および/または通知され、その場合に制御信号が、特に計算ユニットに関して外部で生成されるようにしてもよい。
さらに、切替が指令、特に許容されないアクション(IllOp)を記述する指令によって作動および/または通知されることが効果的であって、その場合に指令が切替手段、特にモード切替ユニットによって生成される。
2つの計算ユニットの入力データが、安全モード(Fモード)に相当する動作モードで一致について相互に比較され、および/または2つの計算ユニットの出力データも、安全モード(Fモード)に相当する動作モードで一致について相互に比較されるようにしてもよい。
分配するべきデータが、少なくとも1つの他のコンポーネント、特に計算ユニットに伝達され、その場合に分配するべきデータが伝達される前にエラー検出符号分だけ拡張されるようにしてもよい。同様に、入力データが、少なくとも1つの他のコンポーネント、特に計算ユニットに伝達され、その場合に入力データが伝達される前にエラー検出符号分だけ拡張される。同様に、出力データが、少なくとも1つの他のコンポーネントに伝達され、その場合に出力データが伝達される前にエラー検出符号分だけ拡張される。上記の場合には、エラー検出符号に基づいてエラーが検出された場合に、エラー信号が出力されるようにしてもよい。この場合にある実施形態では、エラー信号が安全モード(Fモード)でのみ出力される。
原則的に、パフォーマンスモードと安全モードとが区別され、パフォーマンスモードでは2つの計算ユニットのデータの優先順位付けが行われ、データが優先順位付けに応じて順次に受取られ、および/または次に与えられるようにしてもよい。
本発明によれば、遅延コンポーネントが設けられ、遅延コンポーネントは、各々の動作モードで2つの計算ユニットのクロックオフセットに応じて、先行するデータをクロックオフセット分だけ遅延させるようにしてもよい。
分配するべきデータをメモリから読出し、計算ユニットに分配するようにしてもよい。
この場合にデータ分配は、状態オートマトンによって制御され、その場合に計算ユニットの各々に2つの状態オートマトンが設けられるようにしてもよい。これらの状態オートマトンは、同期された状態オートマトンと同期されていない状態オートマトンとして形成されるようにしてもよい。
本発明によれば、かかる本発明に基づくユニットを備えるシステムが設けられており、その場合にさらに、ユニットに対して外部の監視回路が設けられており、監視回路は、動作モードの意図された切替が行われない場合に、エラーを認識するようにしてもよい。
ダブルプロセッサシステムが、Fモードではクロックオフセットを伴って、かつPモードではクロックオフセットなしで動作する場合には、DVEユニットは、スレーブのためのデータを然るべく遅延させ、または、エラー認識のためにスレーブの出力データと比較可能となるまでマスターの出力データを記憶する。
図1を用いて、クロックオフセットについて詳細に説明する。
図1は、第1の計算機100、特にマスター計算機と、第2の計算機101、特にスレーブ計算機とを備えるダブル計算機システムを示している。この場合にシステム全体は、予め設定可能なクロックもしくは予め設定可能なクロックサイクル(clock cycle)CLKで動作する。計算機100のクロック入力CLK1および計算機101のクロック入力CLK2を介して、システムにクロックが供給される。このダブル計算機システムでは、さらに、エラー認識のための特殊な特徴を有しており、すなわち、第1の計算機100と第2の計算機101とがタイムオフセット、特に予め設定可能なタイムオフセットもしくは予め設定可能なクロックオフセットを伴って機能する。この場合に、タイムオフセットのために任意の時間を各々に予め設定可能であり、かつクロックサイクルのオフセットに関する任意のクロックも各々に予め設定可能である。これは、クロックサイクル(clock cycle)の整数倍のオフセットであっても、または例示するように、例えば1.5クロックサイクルのオフセットであってもよく、ここでは、第1の計算機100が第2の計算機101よりも1.5クロックサイクル早く機能もしくは動作する。このオフセットによって、同一クロックエラー、いわゆるコモンモードエラーが、計算機またはプロセッサ、従ってデュアルコアシステムのコアに同様の障害を及ぼし、よって認識されないままとなることが回避可能となる。すなわち、この種の同一クロックエラーは、オフセットによってプログラムシーケンスの異なる時点で計算機に作用し、よって2つの計算機に関して異なる効果を及ぼし、それによってエラーが認識可能となる。クロックオフセットを伴わない同様のエラー効果は、場合によっては比較に際して認識不能となるが、これによって認識不能となることが回避される。タイムまたはクロックに関するオフセット(ここでは特に1.5クロックサイクル)をダブル計算機システムに導入するために、オフセットモジュール112〜115が実装される。
前述した同一クロックエラーを認識するために、このシステムは、例えば、予め設定されたタイムオフセットまたはクロックサイクルオフセット(ここでは特に1.5クロックサイクル)で機能するように設計されており、すなわち、一方の計算機、特に計算機100がコンポーネント、特に外部コンポーネント103、104に直接的に応答し、第2の計算機101がそれに対して正確に1.5クロックサイクルの遅延を伴って機能する。この場合に所望の1と半分、従って1.5クロックサイクルの遅延を発生させるために、計算機101のクロック入力CLK2に反転されたクロックが供給される。しかし、これによって、前述した計算機のアクセス、従ってそのデータもしくは指令もバスを介して前述したクロックサイクル(特にここでは1.5クロックサイクル)分だけ遅延される必要があり、そのために、前述したようなオフセットモジュールもしくは遅延モジュール112〜115が備えられている。2つの計算機またはプロセッサ100、101の他に、コンポーネント103、104が備えられており、それらは、バス線116A、116Bおよび116Cからなるバス116と、バス線117Aおよび117Bからなるバス117とを介して、2つの計算機100および101と接続されている。この場合にバス117は、指令バスであって、117Aが指令アドレスバス、117Bが指令部分(データ)バスを示している。アドレスバス117Aは、指令アドレス接続IA1(Instruction Address 1)を介して計算機100と、指令アドレス接続IA2(Instruction Address 2)を介して計算機101と各々に接続されている。指令自体は、指令部分バス117Bを介して伝達され、その指令部分バスが指令接続I1(Instruction 1)を介して計算機100と、指令接続I2(Instruction 2)を介して計算機101と接続されている。117Aおよび117Bで構成される指令バス117には、コンポーネント103、例えば指令メモリ、特に安全な指令メモリ等が中間接続されている。特に指令メモリとしてのコンポーネントも、この例ではクロックCLKで動作する。この他には、符号116でデータバスが示されており、これはデータアドレスバスまたはデータアドレス線116Aとデータバスまたはデータ線116Bとを有している。この場合に116A、従ってデータアドレス線は、データアドレス接続DA1(Data Address 1)を介して計算機100と、データアドレス接続DA2(Data Address 2)を介して計算機101と各々に接続されている。同様に、データバスまたはデータ線116Bは、データ接続DO1(Data Out 1)およびデータ接続DO2(Data Out 2)を介して計算機100および計算機101と各々に接続されている。さらに、データバス116には、データバス線116Cが含まれており、それはデータ接続DI1(Data In 1)およびデータ接続DI2(Data In 2)を介して計算機100および計算機101と各々に接続されている。線116A、116Bおよび116Cからなるデータバス116内には、コンポーネント104、例えばデータメモリ、特に安全なデータメモリ等が中間接続されている。コンポーネント104も、この例ではクロックCLKで動作する。
この場合にコンポーネント103、104は、データバスおよび/または指令バスを介してダブル計算機システムの計算機と接続されて、ダブル計算機システムのデータおよび/または指令を介してのアクセスに応じて、書込み操作および/または読取り操作に関してエラーを伴うデータおよび/または指令を入力されまたは出力しうる任意のコンポーネントを代表している。エラー回避のために、特にエラー識別子生成器105、106および107が備えられており、それらは、例えば、パリティビットのようなエラー識別子、または、例えばエラー訂正符号、従ってECC等のような他のエラー符号を生成する。この場合には、さらに、各々のエラー識別子、従って例えばパリティビットまたはECCのような他のエラー符号を検査するための適当なエラー識別子検査装置またはチェック装置108、109も備えられている。
ダブル計算機システムの冗長的な実行に関するデータおよび/または指令の比較は、図1に示すような比較器またはコンパレータ110、111で行われる。しかし、同期されていないダブルプロセッサシステムによって、もしくは同期されたダブルプロセッサシステムで同期化中のエラーによって、またはこの特殊例のように、エラー認識のために望まれるタイムオフセットもしくはクロックサイクルオフセット(特にここでは1.5クロックサイクル)によってもたらされる、タイムオフセット、特にクロックオフセットまたはクロックサイクルオフセットが計算機100と101との間に存在する場合には、このタイムオフセットまたはクロックオフセット内で、計算機、ここでは特に計算機100がコンポーネント、特に、例えばここでは特にメモリ103もしくは104のような外部コンポーネント、または他のノード(Teilnehmern)またはアクチュエータまたはセンサに関して、エラーを伴うデータおよび/または指令を書込みまたは読取る可能性がある。すなわち、計算機は、クロックオフセットによって、予め設定された読取りアクセスの代りに、誤って書込みアクセスを実行する場合もありうる。このような場合には、もちろん、特にいずれのデータおよび/または指令がまさに誤って変更されたかという明確な指示可能性なしに、システム全体にエラーが及ぼされ、それによってリカバリー問題も生じる。
この問題を解決するために、遅延ユニット102が図示のようにデータバスの線および/または指令バスに接続される。説明の便宜上から、データバスへの接続のみが示されている。指令バスに関しても、もちろん同様に可能であって、かつ考えられる。この遅延ユニット(Verzoegerunseinheit、Delay Unit)102は、アクセス、ここでは特にメモリアクセスを、可能とされるタイムオフセットまたはクロックオフセットが補償されるように遅延させ、特に、例えば比較器110、111を介したエラー認識に際しては、例えば、ダブル計算機システム内でエラー信号が生成され、従ってダブル計算機システム内でエラー認識が実行されるまでの間に亘って遅延させる。この場合には、例えば、書込み操作および読取り操作の遅延、書込み操作のみの遅延、または、余り望ましくはないが、読取り操作の遅延等のような種々の変形例が実装可能である。この場合に、エラーを伴う書込みを禁止するために、変更信号、特にエラー信号によって、遅延された書込み操作を読取り操作に変換可能である。
次に、図2を用いて、望ましくは、IllOPDetectによって切替意図を検出する装置(IllOP指令(IllOP=Illegal Operation)が切替のために用いられるため)、モード切替ユニット、Iram制御モジュールおよびDram制御モジュールで構成される、データ分配ユニット(DVE:Datenverteilungseinheit)に関する実装例を説明する。
IllOpDetect:2つのモード間の切替が切替検出(Switch-Detect)ユニットによって認識される。このユニットは、指令バス上でキャッシュとプロセッサとの間に配置されて、指令IllOpがプロセッサにロードされるかを確認する。指令が検出されると、このイベントがモード切替(Mode Switch)ユニットに報告される。切替検出ユニットは、プロセッサの各々に個別に備えられている。切替検出ユニットは、エラー許容するように形成される必要はない。というのは、このユニットは二重化されており、よって冗長的に備えられているからである。他方で、このユニットがエラー許容するように、よって単一での実施も考えられるが、冗長的な実施の方が望ましい。
ModeSwitch:モード間の切替は、切替検出ユニットによってトリガーされる。ロックモードからスプリットモードへの切替に際して、2つの切替検出ユニットが切替を検出する。というのは、ロックモードでは、2つのプロセッサが同一のプログラムコードを処理するからである。プロセッサ1の切替検出ユニットは、この切替をプロセッサ2の切替検出ユニットより1.5クロック早く認識する。モード切替ユニットは、待機信号を用いてプロセッサ1を2クロックのみ停止させる。プロセッサ2は、1.5クロック遅れて同様に停止されるが、0.5クロックのみ停止され、よってシステムクロックに同期化される。次に、状態信号が他のコンポーネントのためにスプリットに切替えられ、2つのプロセッサはさらに機能を続ける。よって、2つのプロセッサが異なるタスクを実行するために、それらはプログラムコード中で互いに分離される必要がある。これは、スプリットモードへの切替直後にプロセッサIDに対する読取りアクセスがなされることで行われる。この読取られたプロセッサIDは、2つのプロセッサの各々に関して異なっている。目標プロセッサIDが比較されると、次に、条件付分岐指令によって、該当するプロセッサが他のプログラム箇所に分岐されうる。スプリットモードからロックモードへの切替に際しては、1つのプロセッサもしくは2つのプロセッサの一方がまず切替に気づく。このプロセッサが、切替指令を含むプログラムコードを実行する。これが、切替検出ユニットによって確認されて、それがモード切替ユニットに通知される。モード切替ユニットが、該当するプロセッサを停止させて、第2のプロセッサにインターラプトによって同期化の意図を通知する。第2のプロセッサは、インターラプトを受けて、タスクを終了させるためのソフトウェアルーチンを実行可能である。そして、このプロセッサが同様に、切替指令があるプログラム箇所に分岐する。この切替検出ユニットが、同様にモード切替の意図をモード切替ユニットに通知する。次のシステムクロックの上昇端(steigenden Systemtaktflanke)で、プロセッサ1に対する待機信号が非能動化されて、1.5クロック遅れてプロセッサ2に対する待機信号が同様に非能動化される。そして、両者は再び1.5クロックのクロックオフセットを伴って同期して機能する。
システムがロックモードにある場合には、2つの切替検出ユニットは、スプリットモードへの切替を意図していることをモード切替ユニットに通知する必要がある。切替意図が一方のユニットのみから行われると、比較ユニットによりエラーが認識される。というのは、このユニットは、2つのプロセッサの他方より、停止されているプロセッサとは一致しないデータをさらに供給されているからである。
2つのプロセッサがスプリットモードにあり、かつ一方がロックモードに切替わらなければ、それが外部のウォッチドッグによって認識可能である。各プロセッサに関するトリガー信号により、ウォッチドッグは、待っているプロセッサからもはや報告がなされないことに気づく。プロセッサシステムのために1つのウォッチドッグ信号のみが存在する場合には、ウォッチドッグはロックモードでのみトリガーを許可される。よって、ウォッチドッグは、モード切替が行われなかったことを認識する。モード信号は、デュアルレール信号として存在する。この場合に”10”がロックモードを、”01”がスプリットモードを表す。”00”および”11”では、エラーが発生している。
IramControl:2つのプロセッサの指令メモリへのアクセスは、Iram制御を介して制御される。Iram制御は、安全に設計される必要がある。というのは、Iram制御が単一障害点(Single Point of Failure)となるからである。Iram制御は、プロセッサの各々について、クロック同期のiram1clkresetと非同期のreadiram1との2つの状態オートマトンからなる。安全上重要なモードでは、2つのプロセッサの状態オートマトンが相互に監視し合い、パフォーマンスモードでは別々に機能する。
2つのプロセッサのキャッシュのリロードは、同期のiramclkresetと非同期のreadiramとの2つの状態オートマトンによって制御される。これら2つの状態オートマトンによって、スプリットモードでのメモリアクセスも分配される。この場合にプロセッサ1は、より高い優先順位を有する。プロセッサ1によるメインメモリへのアクセスの後に、2つのプロセッサが再びメインメモリにアクセスしようとすると、プロセッサ2がメモリアクセスの許可を割当てられる。これら2つの状態オートマトンは、プロセッサの各々について実装されている。ロックモードでは、発生したエラーを認識可能とするために、オートマトンの出力信号が比較される。
ロックモードでキャッシュ2を更新するためのデータは、Iram制御ユニット内で1.5クロック遅延される。
Sys制御のレジスタ0のビット5には、いずれのコアが問題であるかが符号化される。コア1であればビット値0であり、コア2であればビット値1である。このレジスタは、アドレス65528を伴うメモリ領域に反映されている。
コア2によるメモリアクセスに際して、まず、計算機がいずれのモードにあるかが調べられる。計算機がロックモードにあれば、そのメモリアクセスが抑制される。この信号は、安全上重要であるためコモンレール信号として存在する。
プロセッサ1のプログラムカウンタは、ロックモードでプロセッサ2のプログラムカウンタと比較可能となるように1.5クロック遅延される。
スプリットモードでは、2つのプロセッサのキャッシュは、異なるようにリロードされうる。ロックモードへの切替に際して、2つのキャッシュは互いに干渉し合わない。よって、2つのプロセッサは、互いに分離して進行され、よって比較器がエラーを通知する。これを回避するために、Iram制御内にフラグテーブルが構築されている。この中に、キャッシュ行(Cachezeile)がロックモードまたはスプリットモードのいずれで書込まれたかが登録される。ロックモードでは、キャッシュ行に該当する登録がキャッシュ行リロードに際して0に設定され、スプリットモードでは、一方のキャッシュのみによりキャッシュ行がキャッシュ更新される場合でも、1に設定される。プロセッサがロックモードでメモリアクセスを実行する場合には、このキャッシュ行がロックモードで更新されたか、すなわち2つのキャッシュ内で同一であるかが調べられる。スプリットモードでは、プロセッサは、フラグベクトルの状態にかかわらずに、常にキャッシュ行にアクセス可能である。このテーブルは、一度のみ存在すればよい。というのは、エラーに際しては、2つのプロセッサが互いに分離して進行され、よってこのエラーが比較器で確実に認識されるからである。中央のテーブルへのアクセス時間が比較的長いので、このテーブルが各キャッシュにコピーされてもよい。
DramControl:このコンポーネントでは、アドレス信号、データ信号およびメモリ制御信号のために、プロセッサの各々によりパリティが形成される。
2つのプロセッサについて、メモリを遮断するためのプロセスがある。このプロセスは、安全に実装されている必要はない。というのは、ロックモードでは、エラーを伴うメモリアクセスが比較器によって認識され、スプリットモードでは、安全上重要なアプリケーションが実行されないからである。ここでは、一方のプロセッサが他方のプロセッサのためにメモリを遮断しようとしているかが調べられる。データメモリの遮断は、メモリアドレス$FBFF$=64511へのアクセスによって行われる。この信号は、呼出しの時点でプロセッサに待機指令が印加されている場合でも、正確に1クロックの長さで印加される必要がある。データメモリアクセスを管理するための状態オートマトンは、以下の2つのメイン状態からなる。
−プロセッサ状態Lock:2つのプロセッサがロックモードで機能する。すなわち、データメモリロッキングの機能が必要とされない。プロセッサ1がメモリアクセスを調整する。
−プロセッサ状態Split:データメモリに対するアクセス競合の解決が必要であって、メモリ遮断を行う必要性がある。
−プロセッサ状態Lock:2つのプロセッサがロックモードで機能する。すなわち、データメモリロッキングの機能が必要とされない。プロセッサ1がメモリアクセスを調整する。
−プロセッサ状態Split:データメモリに対するアクセス競合の解決が必要であって、メモリ遮断を行う必要性がある。
スプリットモードでの状態は、さらに、アクセス競合を解決し、かつ各々の他方のプロセッサのためにデータメモリを遮断可能な以下の7つの状態に区分される。2つのプロセッサにより同時に1つのアクセスが意図される場合には、記載された順序が同時に優先順位を表している。
−Core1/_Lock:プロセッサ1がデータメモリを遮断している。この状態では、プロセッサ2がメモリにアクセスしようとすると、プロセッサ1がデータメモリを解放するまで、プロセッサ2は待機信号によって停止される。
−Core2/_Lock:前述と同じ状態で、プロセッサ2がデータメモリを遮断しており、プロセッサ1はデータメモリ操作に際して停止される。
−lock1/_wait:データメモリは、プロセッサ2と同様にプロセッサ1が自らのために予約しようとした際に、プロセッサ2によって遮断されている。よって、プロセッサ1は、次のメモリ遮断を予約する。
−nex:プロセッサ2について同様。データメモリは、プロセッサ1による遮断の試みの間に亘って遮断されている。プロセッサ2は、メモリの予約を受け付けられた。遮断を伴わない通常のメモリアクセスに際しては、ここでは、その前にプロセッサ1の順番であった場合に、プロセッサ2がプロセッサ1より前にアクセス可能である。
−プロセッサ1によるメモリアクセス:この場合にはメモリが遮断されていない。プロセッサ1は、データメモリへのアクセスを許可される。プロセッサ1は、メモリを遮断しようとする場合には、この状態で行う。
−プロセッサ2によるメモリアクセス:同クロック内でプロセッサ1はメモリにアクセスしようとせず、よってメモリはプロセッサ2のために解放されている。
−いずれのプロセッサも、データメモリにアクセスしようとしない。
−Core2/_Lock:前述と同じ状態で、プロセッサ2がデータメモリを遮断しており、プロセッサ1はデータメモリ操作に際して停止される。
−lock1/_wait:データメモリは、プロセッサ2と同様にプロセッサ1が自らのために予約しようとした際に、プロセッサ2によって遮断されている。よって、プロセッサ1は、次のメモリ遮断を予約する。
−nex:プロセッサ2について同様。データメモリは、プロセッサ1による遮断の試みの間に亘って遮断されている。プロセッサ2は、メモリの予約を受け付けられた。遮断を伴わない通常のメモリアクセスに際しては、ここでは、その前にプロセッサ1の順番であった場合に、プロセッサ2がプロセッサ1より前にアクセス可能である。
−プロセッサ1によるメモリアクセス:この場合にはメモリが遮断されていない。プロセッサ1は、データメモリへのアクセスを許可される。プロセッサ1は、メモリを遮断しようとする場合には、この状態で行う。
−プロセッサ2によるメモリアクセス:同クロック内でプロセッサ1はメモリにアクセスしようとせず、よってメモリはプロセッサ2のために解放されている。
−いずれのプロセッサも、データメモリにアクセスしようとしない。
DVEは、前述したように、切替意図の検出器(IllOPDetect)、モード切替ユニット、Iram制御およびDram制御から構成される。
本発明の本質は、前述したように、データ分配ユニットDVEの一般的な機能性にある(各々のモードに応じた、異なるデータ分配および動作モードの選択)。
しかし、これらの他に、図示されているDVEの特殊な実装もまた、冒頭で挙げた種類の課題を解決するものである。
Claims (27)
- 少なくとも2つの計算ユニットを備えるシステム内で少なくとも1つのデータ源からデータを分配するための方法であって、前記システムの少なくとも2つの動作モードを切替自在な切替手段が設けられており、かつ、前記データ分配および前記データ源の選択の少なくともいずれかが前記動作モードに依存することを特徴とする、データを分配するための方法。
- 前記切替が制御信号、特に少なくとも1つの前記計算ユニットの前記動作モードに関するモード信号によって作動および/または通知されることを特徴とする、請求項1に記載の方法。
- 前記制御信号が前記計算ユニットの外部で生成されることを特徴とする、請求項2に記載の方法。
- 前記切替が指令、特に許容されない動作(IllOP)を記述する指令によって作動および/または通知されることを特徴とする、請求項1に記載の方法。
- 前記指令が、前記切替手段、特にモード切替ユニットによって生成されることを特徴とする、請求項4に記載の方法。
- 安全モード(Fモード)に相当する動作モードでは、前記2つの計算ユニットの入力データが一致について相互に比較されることを特徴とする、請求項1に記載の方法。
- 安全モード(Fモード)に相当する動作モードでは、前記2つの計算ユニットの出力データが一致について相互に比較されることを特徴とする、請求項1に記載の方法。
- 前記分配するべきデータが、少なくとも1つの他のコンポーネント、特に計算ユニットに伝達され、その場合には前記分配するべきデータが伝達される前にエラー検出符号により増加されることを特徴とする、請求項1に記載の方法。
- 前記入力データが、少なくとも1つの他のコンポーネント、特に計算ユニットに伝達され、その場合には前記入力データが伝達される前にエラー検出符号により増加されることを特徴とする、請求項6に記載の方法。
- 前記出力データが、少なくとも1つの他のコンポーネントに伝達され、その場合には前記出力データが伝達される前にエラー検出符号により増加されることを特徴とする、請求項7に記載の方法。
- 一致しない場合に、エラー信号が出力されることを特徴とする、請求項6または7に記載の方法。
- 前記エラー検出符号に基づいてエラーが検出された場合に、エラー信号が出力されることを特徴とする、請求項8〜10のいずれかに記載の方法。
- 前記エラー信号が安全モード(Fモード)でのみ出力されることを特徴とする、請求項11または12に記載の方法。
- パフォーマンスモードと安全モードとが区別され、パフォーマンスモードでは前記2つの計算ユニットのデータの優先順位づけが行われ、データが前記優先順位付けに応じて順次に受取られ、および/または次に与えられることを特徴とする、請求項1に記載の方法。
- 少なくとも2つの計算ユニットを備えるシステム内で少なくとも1つのデータ源からデータを分配するためのユニットであって、前記システムの少なくとも2つの動作モードを切替自在な切替手段が設けられており、かつ、前記データ分配および前記データ源の選択の少なくともいずれかが前記動作モードに依存するように形成されていることを特徴とする、データ分配ユニット。
- 第1の動作モードが安全モードに相当し、安全モードでは前記2つの計算ユニットが同一のプログラムを処理し、かつ比較手段が設けられており、比較手段が前記同一のプログラムの処理に際して発生した状態の一致について比較することを特徴とする、請求項15に記載のデータ分配ユニット。
- 安全モード(Fモード)に相当する動作モードで前記2つの計算ユニットの入力データが一致について相互に比較されるように、形成されていることを特徴とする、請求項15に記載のデータ分配ユニット。
- 安全モード(Fモード)に相当する動作モードで前記2つの計算ユニットの出力データが一致について相互に比較されるように、形成されていることを特徴とする、請求項15に記載のデータ分配ユニット。
- 前記分配するべきデータが、少なくとも1つの他のコンポーネント、特に計算装置に伝達され、その場合に前記分配するべきデータが伝達される前にエラー検出符号により増加されるように、形成されていることを特徴とする、請求項15、17および18のいずれかに記載のデータ分配ユニット。
- パフォーマンスモードでは前記2つの計算ユニットのデータの優先順位づけを行い、データを前記優先順位付けに応じて順次に受取り、および/または次に与えるように、形成されていることを特徴とする、請求項15に記載のデータ分配ユニット。
- 遅延コンポーネントが設けられており、前記遅延コンポーネントは、各々の前記動作モードで前記2つの計算ユニットのクロックオフセットに応じて、先行するデータを前記クロックオフセット分だけ遅延させることを特徴とする、請求項15に記載のデータ分配ユニット。
- 前記分配するべきデータをメモリから読出し、前記計算ユニットに分配するように、形成されていることを特徴とする、請求項15に記載のデータ分配するユニット。
- 前記データ分配が状態オートマトンによって制御されるように、形成されていることを特徴とする、請求項15に記載のデータ分配ユニット。
- 計算ユニットの各々に2つの前記状態オートマトンが設けられるように、形成されていることを特徴とする、請求項23に記載のデータ分配するユニット。
- 同期された前記状態オートマトンと同期されていない前記状態オートマトンとが設けられるように、形成されていることを特徴とする、請求項23に記載のデータ分配ユニット。
- 請求項15〜25のいずれかに記載のデータを分配するためのユニットを備えるシステム。
- 前記ユニットに対して外部の監視回路が設けられており、前記監視回路は、前記動作モードの意図された切替が行われない場合に、エラーを認識することを特徴とする、請求項26に記載のシステム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410051950 DE102004051950A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Taktumschaltung bei einem Mehrprozessorsystem |
DE200410051952 DE102004051952A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem |
DE200410051964 DE102004051964A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem |
DE200410051992 DE102004051992A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Verzögerung von Zugriffen auf Daten und/oder Befehle eines Mehrprozessorsystems |
DE200410051937 DE102004051937A1 (de) | 2004-10-25 | 2004-10-25 | Verfahren und Vorrichtung zur Synchronisierung in einem Mehrprozessorsystem |
PCT/EP2005/055532 WO2006045798A1 (de) | 2004-10-25 | 2005-10-25 | Verfahren und vorrichtung zur datenverteilung aus wenigstens einer datenquelle in einem mehrprozessorsystem |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008518308A true JP2008518308A (ja) | 2008-05-29 |
Family
ID=35677569
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007537302A Expired - Fee Related JP4532561B2 (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステムにおける同期化のための方法および装置 |
JP2007537303A Pending JP2008518310A (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステム内のメモリユニットを監視する方法および装置 |
JP2007537305A Pending JP2008518312A (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステムのデータおよび/または指令へのアクセスを遅延させる方法および装置 |
JP2007537304A Pending JP2008518311A (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステムにおいてクロックを切り替えるクロック切り替え方法、クロックを切り替えるユニットおよびクロックを切り替えるユニットを有するシステム |
JP2007537301A Pending JP2008518308A (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステム内のデータを分配するための方法およびデータ分配ユニット |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007537302A Expired - Fee Related JP4532561B2 (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステムにおける同期化のための方法および装置 |
JP2007537303A Pending JP2008518310A (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステム内のメモリユニットを監視する方法および装置 |
JP2007537305A Pending JP2008518312A (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステムのデータおよび/または指令へのアクセスを遅延させる方法および装置 |
JP2007537304A Pending JP2008518311A (ja) | 2004-10-25 | 2005-10-25 | マルチプロセッサシステムにおいてクロックを切り替えるクロック切り替え方法、クロックを切り替えるユニットおよびクロックを切り替えるユニットを有するシステム |
Country Status (8)
Country | Link |
---|---|
US (4) | US20090164826A1 (ja) |
EP (5) | EP1807761A1 (ja) |
JP (5) | JP4532561B2 (ja) |
KR (4) | KR20070083772A (ja) |
AT (2) | ATE409327T1 (ja) |
DE (2) | DE502005005490D1 (ja) |
RU (1) | RU2007119316A (ja) |
WO (5) | WO2006045798A1 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882379B2 (en) * | 2006-09-22 | 2011-02-01 | Sony Computer Entertainment Inc. | Power consumption reduction in a multiprocessor system |
US20080244305A1 (en) * | 2007-03-30 | 2008-10-02 | Texas Instruments Deutschland, Gmbh | Delayed lock-step cpu compare |
DE102007063291A1 (de) * | 2007-12-27 | 2009-07-02 | Robert Bosch Gmbh | Sicherheitssteuerung |
JP4633134B2 (ja) | 2008-03-27 | 2011-02-16 | ルネサスエレクトロニクス株式会社 | マイクロコントローラ、制御システム及びマイクロコントローラの設計方法 |
US7941698B1 (en) * | 2008-04-30 | 2011-05-10 | Hewlett-Packard Development Company, L.P. | Selective availability in processor systems |
JP2010198131A (ja) * | 2009-02-23 | 2010-09-09 | Renesas Electronics Corp | プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法 |
US8275977B2 (en) * | 2009-04-08 | 2012-09-25 | Freescale Semiconductor, Inc. | Debug signaling in a multiple processor data processing system |
US8295287B2 (en) * | 2010-01-27 | 2012-10-23 | National Instruments Corporation | Network traffic shaping for reducing bus jitter on a real time controller |
US8954714B2 (en) * | 2010-02-01 | 2015-02-10 | Altera Corporation | Processor with cycle offsets and delay lines to allow scheduling of instructions through time |
US9052887B2 (en) | 2010-02-16 | 2015-06-09 | Freescale Semiconductor, Inc. | Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode |
KR101664108B1 (ko) | 2010-04-13 | 2016-10-11 | 삼성전자주식회사 | 멀티 코어의 동기화를 효율적으로 처리하기 위한 하드웨어 가속 장치 및 방법 |
JP5718600B2 (ja) * | 2010-09-10 | 2015-05-13 | 日本電気通信システム株式会社 | 情報処理システム、および、情報処理方法 |
US8683251B2 (en) | 2010-10-15 | 2014-03-25 | International Business Machines Corporation | Determining redundancy of power feeds connecting a server to a power supply |
JP5796311B2 (ja) * | 2011-03-15 | 2015-10-21 | オムロン株式会社 | 制御装置およびシステムプログラム |
EP2701073B1 (en) | 2011-04-18 | 2018-01-24 | Fujitsu Limited | Thread processing method and thread processing system |
US9086977B2 (en) * | 2011-04-19 | 2015-07-21 | Freescale Semiconductor, Inc. | Cache memory with dynamic lockstep support |
US9842014B2 (en) | 2012-11-22 | 2017-12-12 | Nxp Usa, Inc. | Data processing device, method of execution error detection and integrated circuit |
US9429981B2 (en) * | 2013-03-05 | 2016-08-30 | St-Ericsson Sa | CPU current ripple and OCV effect mitigation |
US9823983B2 (en) | 2014-09-25 | 2017-11-21 | Nxp Usa, Inc. | Electronic fault detection unit |
WO2016087175A1 (de) * | 2014-12-01 | 2016-06-09 | Continental Teves Ag & Co. Ohg | Rechensystem für ein kraftfahrzeugsystem |
JP6516097B2 (ja) * | 2015-06-11 | 2019-05-22 | 大日本印刷株式会社 | 演算装置、icカード、演算方法、及び演算処理プログラム |
JP2019061392A (ja) | 2017-09-26 | 2019-04-18 | ルネサスエレクトロニクス株式会社 | マイクロコントローラ及びマイクロコントローラの制御方法 |
US10642826B1 (en) | 2018-08-30 | 2020-05-05 | Gravic, Inc. | Mixed-mode method for combining active/active and validation architectures utilizing a check integrity module |
US11269799B2 (en) * | 2019-05-03 | 2022-03-08 | Arm Limited | Cluster of processing elements having split mode and lock mode |
US11899547B2 (en) * | 2021-11-30 | 2024-02-13 | Mellanox Technologies, Ltd. | Transaction based fault tolerant computing system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038584A (en) * | 1989-11-17 | 2000-03-14 | Texas Instruments Incorporated | Synchronized MIMD multi-processing system and method of operation |
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 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1269827B (de) * | 1965-09-09 | 1968-06-06 | Siemens Ag | Verfahren und Zusatzeinrichtung zur Synchronisierung von parallel arbeitenden Datenverarbeitungsanlagen |
US3783250A (en) * | 1972-02-25 | 1974-01-01 | Nasa | Adaptive voting computer system |
US4823256A (en) * | 1984-06-22 | 1989-04-18 | American Telephone And Telegraph Company, At&T Bell Laboratories | Reconfigurable dual processor system |
AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
US5226152A (en) * | 1990-12-07 | 1993-07-06 | Motorola, Inc. | Functional lockstep arrangement for redundant processors |
DE4104114C2 (de) * | 1991-02-11 | 2000-06-08 | Siemens Ag | Redundantes Datenverarbeitungssystem |
JPH05128080A (ja) * | 1991-10-14 | 1993-05-25 | Mitsubishi Electric Corp | 情報処理装置 |
US5751932A (en) * | 1992-12-17 | 1998-05-12 | Tandem Computers Incorporated | Fail-fast, fail-functional, fault-tolerant multiprocessor system |
JPH07121483A (ja) | 1993-10-28 | 1995-05-12 | Nec Eng Ltd | 共有メモリアクセス制御回路 |
US5758132A (en) | 1995-03-29 | 1998-05-26 | Telefonaktiebolaget Lm Ericsson | Clock control system and method using circuitry operating at lower clock frequency for selecting and synchronizing the switching of higher frequency clock signals |
CA2178440A1 (en) | 1995-06-07 | 1996-12-08 | Robert W. Horst | Fail-fast, fail-functional, fault-tolerant multiprocessor system |
JPH096733A (ja) * | 1995-06-14 | 1997-01-10 | Toshiba Corp | 並列信号処理装置 |
JPH0973436A (ja) * | 1995-09-05 | 1997-03-18 | Mitsubishi Electric Corp | 多重化計算機における動作モード切替方式 |
US5732209A (en) * | 1995-11-29 | 1998-03-24 | Exponential Technology, Inc. | Self-testing multi-processor die with internal compare points |
US5809522A (en) * | 1995-12-18 | 1998-09-15 | Advanced Micro Devices, Inc. | Microprocessor system with process identification tag entries to reduce cache flushing after a context switch |
FR2748136B1 (fr) * | 1996-04-30 | 1998-07-31 | Sextant Avionique | Module electronique avec architecture redondante pour controle d'integrite du fonctionnement |
GB2317032A (en) * | 1996-09-07 | 1998-03-11 | Motorola Gmbh | Microprocessor fail-safe system |
GB9704542D0 (en) * | 1997-03-05 | 1997-04-23 | Sgs Thomson Microelectronics | A cache coherency mechanism |
EP0978784A1 (en) * | 1998-08-04 | 2000-02-09 | Motorola, Inc. | Method for coding computer programs and method for debugging coded computer programs |
GB2340627B (en) * | 1998-08-13 | 2000-10-04 | Plessey Telecomm | Data processing system |
JP2000200255A (ja) | 1999-01-07 | 2000-07-18 | Hitachi Ltd | プロセッサ間の同期化方法及び同期回路 |
WO2000079405A1 (fr) * | 1999-06-21 | 2000-12-28 | Hitachi, Ltd. | Processeur de donnees |
US6640313B1 (en) * | 1999-12-21 | 2003-10-28 | Intel Corporation | Microprocessor with high-reliability operating mode |
DE10136335B4 (de) * | 2001-07-26 | 2007-03-22 | Infineon Technologies Ag | Prozessor mit mehreren Rechenwerken |
US6947047B1 (en) * | 2001-09-20 | 2005-09-20 | Nvidia Corporation | Method and system for programmable pipelined graphics processing with branching instructions |
US20040076189A1 (en) * | 2002-10-17 | 2004-04-22 | International Business Machines Corporation | Multiphase clocking method and apparatus |
US7055060B2 (en) * | 2002-12-19 | 2006-05-30 | Intel Corporation | On-die mechanism for high-reliability processor |
JP2004234144A (ja) * | 2003-01-29 | 2004-08-19 | Hitachi Ltd | プロセッサの動作比較装置および動作比較方法 |
US20070277023A1 (en) * | 2003-06-24 | 2007-11-29 | Reinhard Weiberle | Method For Switching Over Between At Least Two Operating Modes Of A Processor Unit, As Well Corresponding Processor Unit |
US7134031B2 (en) * | 2003-08-04 | 2006-11-07 | Arm Limited | Performance control within a multi-processor system |
DE10349581A1 (de) * | 2003-10-24 | 2005-05-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit |
-
2005
- 2005-10-25 KR KR1020077009253A patent/KR20070083772A/ko active IP Right Grant
- 2005-10-25 US US11/666,413 patent/US20090164826A1/en not_active Abandoned
- 2005-10-25 AT AT05801543T patent/ATE409327T1/de not_active IP Right Cessation
- 2005-10-25 WO PCT/EP2005/055532 patent/WO2006045798A1/de active Application Filing
- 2005-10-25 WO PCT/EP2005/055538 patent/WO2006045801A2/de active IP Right Grant
- 2005-10-25 JP JP2007537302A patent/JP4532561B2/ja not_active Expired - Fee Related
- 2005-10-25 US US11/666,406 patent/US20080163035A1/en not_active Abandoned
- 2005-10-25 EP EP05801268A patent/EP1807761A1/de not_active Ceased
- 2005-10-25 KR KR1020077009250A patent/KR20070083771A/ko not_active Application Discontinuation
- 2005-10-25 US US11/666,407 patent/US20080126718A1/en not_active Abandoned
- 2005-10-25 EP EP05811107A patent/EP1820102A2/de not_active Withdrawn
- 2005-10-25 KR KR1020077009251A patent/KR20070062579A/ko not_active Application Discontinuation
- 2005-10-25 WO PCT/EP2005/055537 patent/WO2006045800A1/de active Application Filing
- 2005-10-25 JP JP2007537303A patent/JP2008518310A/ja active Pending
- 2005-10-25 RU RU2007119316/09A patent/RU2007119316A/ru not_active Application Discontinuation
- 2005-10-25 JP JP2007537305A patent/JP2008518312A/ja active Pending
- 2005-10-25 WO PCT/EP2005/055539 patent/WO2006045802A2/de active Application Filing
- 2005-10-25 WO PCT/EP2005/055542 patent/WO2006045804A1/de active Application Filing
- 2005-10-25 EP EP05811008A patent/EP1812861A1/de not_active Ceased
- 2005-10-25 US US11/666,405 patent/US7853819B2/en active Active
- 2005-10-25 DE DE502005005490T patent/DE502005005490D1/de active Active
- 2005-10-25 EP EP05801543A patent/EP1807763B1/de not_active Not-in-force
- 2005-10-25 JP JP2007537304A patent/JP2008518311A/ja active Pending
- 2005-10-25 KR KR1020077009252A patent/KR20070067168A/ko not_active Application Discontinuation
- 2005-10-25 EP EP05797084A patent/EP1810145B1/de active Active
- 2005-10-25 JP JP2007537301A patent/JP2008518308A/ja active Pending
- 2005-10-25 DE DE502005005284T patent/DE502005005284D1/de active Active
- 2005-10-25 AT AT05797084T patent/ATE407398T1/de not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038584A (en) * | 1989-11-17 | 2000-03-14 | Texas Instruments Incorporated | Synchronized MIMD multi-processing system and method of operation |
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 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4532561B2 (ja) | マルチプロセッサシステムにおける同期化のための方法および装置 | |
JP5199088B2 (ja) | 少なくとも2つの命令実行部および1つの比較ユニットを備えたコンピュータシステムを制御する方法および装置 | |
US9052887B2 (en) | Fault tolerance of data processing steps operating in either a parallel operation mode or a non-synchronous redundant operation mode | |
US7669079B2 (en) | Method and device for switching over in a computer system having at least two execution units | |
US20090044044A1 (en) | Device and method for correcting errors in a system having at least two execution units having registers | |
US20130268798A1 (en) | Microprocessor System Having Fault-Tolerant Architecture | |
CA2549540C (en) | A task management control apparatus and method | |
US20090044048A1 (en) | Method and device for generating a signal in a computer system having a plurality of components | |
US8090983B2 (en) | Method and device for performing switchover operations in a computer system having at least two execution units | |
JP2006164277A (ja) | プロセッサにおけるエラー除去装置および方法,プロセッサ | |
US20080263340A1 (en) | Method and Device for Analyzing a Signal from a Computer System Having at Least Two Execution Units | |
JP2022534418A (ja) | エラーリカバリ方法及び装置 | |
US20090119540A1 (en) | Device and method for performing switchover operations in a computer system having at least two execution units | |
US20080288758A1 (en) | Method and Device for Switching Over in a Computer System Having at Least Two Execution Units | |
US20080313384A1 (en) | Method and Device for Separating the Processing of Program Code in a Computer System Having at Least Two Execution Units | |
US6799285B2 (en) | Self-checking multi-threaded processor | |
US20070294559A1 (en) | Method and Device for Delaying Access to Data and/or Instructions of a Multiprocessor System | |
KR20050121729A (ko) | 프로그램 제어식 유닛 및 방법 | |
US20090024908A1 (en) | Method for error registration and corresponding register | |
JP3746957B2 (ja) | 論理分割システムの制御方法 | |
CA2619742C (en) | An input/output control apparatus for performing high reliability computations | |
El Salloum et al. | Recovery mechanisms for dual core architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091117 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100413 |