JP2006510117A - 高信頼性プロセッサ用オンダイ機構 - Google Patents

高信頼性プロセッサ用オンダイ機構 Download PDF

Info

Publication number
JP2006510117A
JP2006510117A JP2004564986A JP2004564986A JP2006510117A JP 2006510117 A JP2006510117 A JP 2006510117A JP 2004564986 A JP2004564986 A JP 2004564986A JP 2004564986 A JP2004564986 A JP 2004564986A JP 2006510117 A JP2006510117 A JP 2006510117A
Authority
JP
Japan
Prior art keywords
execution
core
frc
error
mode
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
Application number
JP2004564986A
Other languages
English (en)
Inventor
グエン,ハン
トゥ,スティーヴン
ホンチャリック,アレグサンダー
ジャミル,スジャート
Original Assignee
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2006510117A publication Critical patent/JP2006510117A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • 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

Abstract

プロセッサは、冗長的な(FRC)モードにおいて動作する第一及び第二の実行コアと、該第一及び第二の実行コアからの結果を比較するためのFRCチェック装置と、該第一及び第二コアにおける修復可能なエラーを検出するためのエラーチェック装置とを有する。エラー検出器は、修復可能なエラーの検出に応じて、FRCチェッカーを利用可能とする。プロセッサのマルチモード実施例が、FRCモードに加えてマルチコアモードを実行する。仲裁装置は、マルチコアモードにおいて第一及び第二の実行コアによって共有される資源へのアクセスを規制する。FRCチェッカーは、マルチモード実施例において仲裁装置に近傍に位置づけられる。

Description

本発明は、マイクロプロセッサに関係し、特に、FRC有効プロセッサにおいてエラーを扱う機構に関する。
サーバ、及び、他ハイエンドコンピューティング及び通信システムは、高レベルの信頼性と有効性を提供するために設計されている。ソフトエラーは、これら特性の両方に大きな挑戦をもたらしている。ソフトエラーは、高エネルギー粒子間、例えば、アルファ粒子間、そして電荷蓄積ノード間の衝突から生じる。それらは、大量の電荷蓄積ノードを含むキャッシュ、TLBなどのストレージアレイに普及している。それらは、また、ランダム状態要素及びロジック内に発生する。ソフトエラーの発生率は、デバイスデザインの減少及びデバイス密度の増加として増加しそうである。
例えば、検出されない、データの汚染(SDC)のように無言となる以前に、高信頼システムはソフトエラーを検出し、管理するために保護物を含んでいる。しかしながら、正常な動作からシステムを遠ざける高信頼性動作をサポートする広範囲のエラー検出/対処機構のために、システムの有効性が低減している。例えば、1つのそのような機構は、エラーが検出されると、最後に知られている有効な状態にシステムをリセットする。システムは、リセット動作に拘束されている間は、割り当てられたタスクを実行することができなくなる。
ソフトエラーを検出する1つの既知の機構は、ファンクショナル・リダンダンシ・チェック(FRC)である。FRC用に有効とされる1つのプロセッサは、同一の指示コードが実行される反復した指示実行コアを有してもよい。特定の実施例によって、各反復した実行コアは、基本的な(整数実行単位(整数値、浮動小数点、ロード/ストア等)に加えて、1つ以上のキャッシュと、レジスターファイルと、支援資源とを含んでいるかもしれない。FRCハードウェアは、各コアによって生成される結果を比較し、矛盾が検出されると、FRCシステムは制御をエラーハンドリングルーチンへ渡す。異なる実行コアからの結果が比較される点がシステムのためのFRC境界を示す。エラーは、FRC境界にて検出されなかったエラーは、SDCを引き起こす。
FRCエラーが実行コアが結果に同意しないことのみを示すため、FRCエラーは伝出可能であるが修復可能ではない。上記したように、FRCエラーハンドリングルーチンは、一般的に、信頼できるデータの最後の既知のポイントへシステムをリセットする。このリセット機構は、比較的時間がかかる。そのことがシステムを通常な動作から遠ざけ、システムの有効性を減じることとなる。
FRCは、ソフトエラーを対処する唯一の機構であり、ランダムロジック及びランダム状態要素に対して、主要な機構である。アレイ構造は異なる状況を提示する。アレイ構造は、一般的に、データの特性を試験することによってソフトエラーを検出するパリティ及び/又はECCハードウェアを有している。多くの場合、システムは、比較的高速なハードウェア又はソフトウェア機構を用いてデータの汚染によって作成さ多エラーを訂正することができる。しかしながら、FRC有効なプロセッサのために、ロック工程から実行コアを外すため、そのようなエラーがFRCエラーとして明らかにされやすい。そうでなければ、リセット機構を介してこれらに対処する修正可能なエラーはシステムの有効性を低減する。
本発明は、FRC有効なプロセッサにおいて、修復可能及び修復不可能なエラーハンドリング機構を効果的に組み合わせる機構を扱う。
本発明は、同胞の要素は同様の符号によって示される以下の図面を参照して理解されるであろう。これら図面は、本発明の選択された実施例を例示するために提供され、本発明の範囲を制限することを意図するものではない。
[詳細な説明]
以下議論が本発明の理解を通して多数の特定の詳細に示される。しかしながら、この開示の恩恵を持つ当業者らがこれら特定の詳細無しに実施するかもしれない。加えて、種々の既知の方法、手順、構成部品、そして回路は、本発明の特長に着目するために、詳細には記述されていない。例えば、本発明の形態は、二重コア処理を用いて例示されるが、当業者らは2つ以上のコアがリセット及び修復機構の適切な変更をもって使用されることを認識するであろう。
図1は、本発明に係るFRC有効なプロセッサ110の一実施例を示すブロック図である。プロセッサ110は、第一及び第二実行コア120(a)、120(b)(総称して、実行コア120)と、FRCチェッカー130と、エラー検出器140と、修復モジュール150と、リセットモジュール160と、共有資源170とを含む。説明のために、修復モジュール150とリセットモジュール160とは、プロセッサ110の部分として示される。これらモジュールは、ハードウェア、ファームウェア、或いはソフトウェアとして全体又は一部に実装され、また、プロセッサ金型上又は外に位置づけられてもよい。同様に、共有資源170は、1つ以上の異なる金型上にある構成部品に加えてプロセッサ金型上にある構成部品を含んでもよい。
各実行コア120は、FRCチェッカー130とエラー検出器140と夫々に送り込むデータパイプライン124とエラーパイプライン128とを含む。データパイプライン124は、プロセッサ110を介してFRCチェッカー130へと移動する際に、種々のデータタイプ上で動作するロジックを示している。データパイプライン124によって処理されるデータは、コード実行中にプロセッサ110を介して生成される及び行われる結果オペランド、状態フラグ、アドレス、インストラクション等を含んでもよい。エラーパイプライン128は、データ内のエラーを検出するため、また、適切な信号をエラー検出器140に提供するために種々のタイプのデータ上で動作するロジックを示す。例えば、信号は、プロセッサ110の種々のストレージアレイ(図示せず)から取り出されたデータのパリティ又はECCを示す1つ以上のビット(フラグ)であってもよい。これらアレイ内のソフトエラーは、不正なデータがアクセスされた時にパリティ又はECCエラーフラグとして出現するかもしれない。
エラーがいずれかのコア120からエラー検出器140に到達すると、修復モード150は、修復ルーチンを実行するために起動される。修復は、ハードウェア、ソフトウェア、ファームウェア、或いはこれらの組み合わせによって比較的に低い遅延で実行される。例えば、同時(又は略同時)に両方の実行コア120内でデータが壊れている可能性が非常に小さい場合がある。この場合は、プロセッサ110にデータを完全な状態で修復することが可能なデータの壊れていないコピーのままとする。しかしながら、修復モジュール150が起動される前に、一つの実行コアからのその不正なデータと、他実行からのデータの不正なバージョンがFRCチェッカー130に到達することを許された場合、FRCエラーが誘発されるであろう。FRCエラーは修復可能でないため、潜在的なパリティ/ECCエラーが検出される以前にFRCチェッカー130がFRCエラーに信号送信すると、リセットモジュール160はシステムをリセットする。
FRCエラーの全てが潜在的なパリティ/ECC又は他訂正可能なソフトエラーに起因しているわけではない。FRCチェッカーが不正データがFRC境界104に到達したときに生じるFRCエラーを示す場合より、エラー検出器140が潜在的なソフトエラーを示す方が速いからである。上述したように、リセット処理は修復処理より著しく長い遅延となり、エラーが修復モジュール150によって訂正されれば避けられることである。加えて、修復が一時的な性能損失を招くのみであるのに対して、リセットは通常全システムをダウンさせる。この理由によって、実行コア120はもはやロック工程ではないため、エラー検出器140がいずれかのエラーパイプライン128内にエラーを検出すると、FRCチェッカー130は一時的に利用不可能となる。
実行コア120は、通常のFRCモード中にロック工程で動作するが、データパイプライン124及びエラーパイプライン128は、比較的独立して動作してもよい。例えば、ECCハードウェアは比較的複雑であり、よって、特に2ビットエラーに対して比較的遅い。エラーのような信号送信するフラグは、関連付けられているデータがFRCチェッカー130に到達する前、後、或いは同時に、エラー検出器140へ到達するかもしれない。この柔軟性が一般的に有益である。例えば、そのエラー状態が決定される前に、投機的にデータが使用されることを許す。ソフトエラーが比較的まれであり、エラーパイプライン128が一般的にデータパイプライン124と同じ速さであるため、この柔軟性が純肯定的である。エラーフラグが、不正データに起因する不一致上で動作する前に、FRCチェッカー130を使用不可とするために間に合わせてエラー検出器140に到着する限りにおいて、比較的低い遅延修復ルーチンが保障される。
上述したように、プロセッサ110は修復可能及び修復不可能なエラー機構との間の競争を緩和するために方策を実行してもよい。例えば、簡素化された信号送出機構は、非FRCエラーの事象において、FRCチェッカー130の利用不可とすることを急がせるために、FRCモードにおいて使用されてもよい。加えて、遅れて到着する修復可能なエラー信号がリセット要求を未然に防ぐ場合に、FRCエラーはリセット前の間隔分遅延されてもよい。
本発明の一実施例について、プロセッサ110は、高信頼性(例えば、FRC)又は高性能(例えば、マルチコア)モードにて動作可能である。動作モードは、例えば、プロセッサ110を含むコンピューティングシステムがブート又はリセットされたときに、選択されてもよい。FRCモードにおいて、実行コア120(a)及び120(b)は一つの論理プロセッサとしてオペレーティングシステムに出現してもよい。実行コア120(a)及び(b)は同じコードシーケンスを処理し、生成された結果はFRCチェッカー130によって比較される。結果が一致すれば、そのコードシーケンスに対応するマシン状態が更新される。
FRCモードにおいて、実行コア120の一つがマスターとして指定されてもよい。マスターは、実行コア120によって共有される資源の更新を担う実行コアを参照する。他実行コア120は、スレーブとして指定されていてもよい。スレーブは、マスターのそれらに対してチェックされるべき同じコードシーケンスから結果を生成することを担う。エラーがマスター又はスレーブのいずれかで発生するかもしれないため、本発明の実施例では、マスター/スレーブ指定を動的に変更可能とする。上述したように、これは、修復可能なエラーがマスターとして現在指定されている実行コアにおいて検出されると、修復を実行するためにマスター指定をスレーブに引き継がせることを許している。
マルチコードモードにおいて、実行コア120(a)及び120(b)は、一つのプロセッサ金型上に2つの異なる論理プロセッサとしてオペレーティングシステムに出現してもよい。このモードにおいて、実行コア120(a)及び120(b)は、異なるコードシーケンスを処理し、夫々は処理しているコードシーケンスに関連付けられるマシン状態を更新する。論理プロセッサのマシン状態の部分は、対応する実行コアに関連付けられるキャッシュ及び/又はレジスタに格納されてもよい。プロセッサ金型上のいくつかのポイントにて、実行コア120(a)及び120(b)からの結果は、例えば、ストレージ(キャッシュ)又はプロセッサ金型(バス)の伝送オフに対して共有資源への経路が決定される。この実施例のために、追加のロジックが実行コア120(a)及び120(b)によって共有資源170へのアクセスを仲介するために提供される。一般に、マルチコアモードは、プロセッサの実行コアが別に制御されることを許す。
図2は、複数モード、例えば、FRCモード及びマルチコアモードにて動作可能なプロセッサ110の一実施例を示すブロック図である。上述した実施例に対して、プロセッサ110がマルチコアモードにて動作するとき、仲裁装置180が、実行コア120(a)及び120(b)によって共有資源170へのトランザクションを管理するために提供される。仲裁装置180は、FRCモード動作のためのFRC境界に接近しているマルチコアモード動作のための仲裁を行うFRC装置130と関連付けられる。マルチコアモードにおいて、実行コア120、例えば、トランザクション要求信号からの信号は、共有資源170にアクセスを管理する仲裁装置180によって処理されてもよい。FRCモードにおいて、実行コア120からの信号は、いずれかの実行コアにおいてソフトエラーを検出するためにそれらを比較するFRCチェッカー130によって処理されてもよい。FRCチェッカー130及び仲裁装置180を近接して設置することは、2つの実行コアからの信号が区別可能のままであるロジックの、全てでなければ、大部分を包含するためにFRC境界を延長する。また、それは、FRC及びマルチコアモードにてプロセッサ110を支持するために必要な配線を少なくする。
この方法においてFRC境界の延長は、FRCチェッカー130への信号を伝播するために必要な時間を増大する。この増大した「飛行所要時間」は、エラー修復のための機会を増幅している、パリティ又はECCエラーが検出器140へ到達するための時間をより長く提供する。上述したように、エラー検出器140によって引き起こされた修復ルーチンは、FRCチェッカー130によって引き起こされたリセットルーチンより大きな利用可能なシステムを提供する。よって、検出可能なエラーが識別されるであろう間に、FRC境界を延長することは、実行コア120に対して重複されるロジックの量と飛行所要時間の両方を増大する。前者は、リセットマシンを介しているにおも係わらず、FRC保護を増大する。後者は、パリティ、ECC、或いはコア特有の保護を介して識別可能なエラーがリセットよりむしろ修復を介して扱われる確からしさを増大する。
図3Aは、本発明に係るコンピューティングシステム300の一実施例を示すブロック図である。システム300の開示された実施例は、プロセッサ310と、チップセット370と、主メモリ380と、不揮発性メモリ390と、周辺装置398sとを含む。システム300の開示された実施例に対して、プロセッサ310は、FRCモード内又はマルチコアモード内にて動作されるようにしてもよい。モードは、例えば、コンピューティングシステム300がブート又はリセットしたときに選択されてもよい。チップセット370は、プロセッサ310と、主メモリ380と、不揮発性メモリ390と、周辺装置398との間の通信を管理する。
プロセッサ310は第一及び第二の実行コア320(a)及び320(b)を夫々(総称して、実行コア320)含む。各実行コアは、実行資源324と、バスクラスタ328とを含む。実行資源324は、例えば、データ(例えば、インストラクション、オペランド、アドレス)を供給するために、レジスターファイルとキャッシュに加えて、1つ以上の整数値、浮動小数点、ロード/ストア、そして分岐実行装置とを含んでもよい。バスクラスタ328は、共有キャッシュ340内で見逃したかもしれないトランザクションのために、フロントサイドバス360に加えて、実行コア320(a)及び320(b)によって共有されるキャッシュ340へのトランザクションを管理するためのロジックを示す。図1及び2のエラーパイプラインに対応する資源は、実行資源324及び/又はバスクラスタ328に関連付けられていてもよい。
インターフェース装置(IFU)330(a)、330(b)(総称して、IFU330)は、実行コア320と共有資源、キャッシュ340とFSB360の間の境界を示す。IFU330の開示される実施例は、FRC装置332と、仲裁装置334を含む。上記のように、FRC装置332と仲裁装置334とは実行コア320から信号を受信し、互いに隣接してそれらを配置することがプロセッサ金型上の配線をかなり節約することとなる。また、実行コア320(a)及び320(b)にて検出可能なエラーに対して監視するための構成部品を含むエラー装置336(a)と336(b)とが図3Aに示される。
FRCモードのために、FRC装置332は、キャッシュ340及びFSB360のような共有資源へのトランザクションに対して実行コア320からの信号を比較する。FRC装置332は、よって、プロセッサ310のFRC境界の部分を形成する。マルチコアモードのために、仲裁装置334は、実行コア320からの信号を監視し、仲裁アルゴリズムに従ってその関連する共有資源へアクセスを与える。仲裁装置334によって実行される仲裁アルゴリズムは、例えば、ラウンドロビンスキーマ、優先順位ベーススキーマ、或いは、同様の仲裁アルゴリズムであってもよい。FRCとマルチコアモードの両方のために、エラー装置336は、修復可能なエラーに対して実行コア320からの信号を監視してもよい。
修復モジュール150及びリセットモジュール160(図2)の部分は、プロセッサ310又はシステム300内のどこか位置していてもよい。一実施例のために、修復ルーチン392とリセットルーチン394とは、不揮発性メモリ390において格納されてもよく、これらルーチンのイメージは、実行するためには主メモリ380にロードされる。この実施例のために、修復モジュール150とリセットモジュール160とは、修復ルーチン392とリセットルーチン394の夫々(又は、主メモリ380内のそれらイメージ)へのポインタを含んでもよい。
システム300の開示された実施例は、また、実行コア320(a)及び320(b)夫々のために割り込みを処理するために、割込制御部370(a)及び370(b)(総称して、割込制御部370)を含む。各割込制御部370は、割込制御部370が動作してもよい異なるクロックドメインを収容するために、第一及び第二の構成部品374及び378を夫々持って示される。例えば、FSB360が、一般的に、プロセッサ310とは異なる周波数で動作する。その結果、FSB360と直接対話するプロセッサ310の構成部品は、一般的に、プロセッサ310上の領域364として指定されるクロックドメインで動作する。
割込制御部370の開示された実施例は、また、XOR372の形式にてFRC境界同様の構成部品を含み、XOR372は、実行コア320(a)及び320(b)から構成部品374(a)及び374(b)の出力信号、例えば、割込応答との間に不一致を検出すると、FRCエラーを信号送出する。しかしながら、割込制御部370へのエラー仲裁は、FSBクロックドメイン364の構成部品378(a)及び378(b)内のソフトエラーから、以前発生するかもしれない。これらエラーが、実行コア320(a)及び320(b)の続く動作間に持ち込まれる矛盾によって検出されてもよい。
システム300の開示された実施例に対して、共通スヌープブロック362が、実行コア320(a)及び320(b)への、また、からのスヌープトランザクションを処理する。XOR366は、実行コア320(a)、320(b)からのスヌープ応答のFRCチェッキングを提供し、不一致が検出されれば、エラーを信号送出する。XOR372及び366は、プロセッサ310がマルチコアモードにて動作してれば、利用不可とされてもよい。
図3Bは、コンピューティングシステム300の構成部品への修復可能なエラー状態をブロードキャストするための装置344の一実施例を示すブロック図である。例えば、エラー装置336(a)及び336(b)は、実行コア320(a)及び320(b)夫々の種々のアレイ(レジスタ、キャッシュ、バッファ等)のためのECC又はパリティエラー検出ロジック、及び/又は、これらエラーに対処するための例外ロジックを示す。ORゲート338は実行コア320からのエラー信号を監視し、それらエラー信号がアサートされれば、FRC装置332を利用不可とするために信号をアサートする。エラー信号は、Itanium(登録商標)プロセッサ用に定義されたマシンチェックアボート(MCA)のような高レベル割込みであってもよい。また、ORゲート338の出力は、修復機構が開始されることをエラーフリー実行コアへ示すために実行コア320へ戻される。第二ORゲート339が共有資源から実行コア320へのエラー信号を転送するために提供される。
エラー信号がFRC装置332を使用不可能とすると、不正データは、FRCエラーを引き起こし、さもなければ、修復可能なエラーが修復不可能な、例えば、FRC、エラーとして扱われる。つまり、システムは短い修復動作よりむしろリセット動作を介して進める。システムの特定の実施に基づいて、エラー信号と(修復可能なエラーによって作成された)実行コアからの不一致なデータ信号との間の競争が接近している場合が多くある。この理由より、装置344は、少なくともFRCモードにおいて、エラー信号の伝搬を加速するための機構を有する。
一実施例のために、装置334は、FRC及び高性能モードの両方において動作するMCAのような高レベルの割込みをサポートする。高性能モードにおいて、例えば、実行コアの前部又はL2キャッシュにおけるエラー信号がパイプラインストールへの対象である。ストールを引き起こした事象がエラー信号を無意味とするかもしれないため、これは不必要なMCAがなされることがないことを確証する。FRCモードにおいて、エラー信号はこれらストールを回避する。FRCにおいて、FRCにおいてストールを回避することは、いくつかの不必要なエラー信号の処理をもたらすが、(FRCでない)エラー信号がFRC装置332を利用不可能とする以前にFRCエラーが引き起こされる可能性を現象する。図7と共に議論されるように、プロセッサ110の実施例は、また、エラー信号と不正データを反映したコア信号との間の競争を緩和するためのハードウェア機構を有するようにしてもよい。
図4は、FRCモードにおいてプロセッサ310をサポートするためのFRC構成要素を含むコンピューティングシステム310の一実施例のためにデータ経路を示す図である。開示された実施例に対して、キャッシュ340と、FSB360と、実行コア320とが、一連のバッファを介して接続されている。例えば、ライトアウトバッファ(WOB)410は、キャッシュ340から主メモリ380へと立ち退かせたデータをステージし、スヌープデータバッファ(SDB)420は、実行コア320又はキャッシュ340から、これら構造(実行コア320は共有キャッシュ340に加えてキャッシュの1つ以上のレベルがあってもよい)におけるスヌープヒットに対応するFSB360へとスヌープデータを提供する。
ライトラインバッファ(WLB)430(a)、430(b)の対は、実行コア230(a)、320(b)夫々からキャッシュ340又はFSB360へとデータをステージし、リードラインバッファ440(a)、440(b)の対は、FSB360からキャッシュ340又は実行コア320へとデータをステージする。合体バッファ(CB)450(a)、450(b)は、メモリ380へと書き込むべきデータを収集し、周期的にFSB360へと転送する。例えば、メモリの同一ラインへのマルチデータ書き込みは、FSB360上の書き込みトランザクションを引き起こす前にCB450内に収集されるようにしてもよい。
開示される実施例に対して、プロセッサ310がFRCモード内で動作されるとき、これらバッファに関連付けられるロジックがRFCチェック及びデータルーチ機能を提供する。例えば、ロジックブロック454は、CB450(a)、450(b)内のデータに対するMUX及びXOR機能を示す。プロセッサ310がFRCモード内で動作しているならば、XOR機能は、FRCチェックを提供する。プロセッサがマルチコアモード内で動作しているならば、MUX機能は、データルーチンを提供する。ロジックブロック434及び444は、WSB430(a)、430(b)及びRLB440(a)、440(b)内夫々のデータに対して同様の機能を提供する。MUX460、470、そして480は、ことなる情報源からキャッシュ340、FSB360、そして実行コア320へとデータの経路を決定する。
上記したように、FRC境界内で検出されたエラーに対する修復機構は、ハードウェア、ソフトウェア、ファームウェアモジュールの種々の組み合わせによって取り扱われてもよい。修復機構の一実施例は、プロセッサに密接に関連付けられているコードを用いる。例えば、Intel(登録商標)のItanium(登録商標)プロセッサファミリが、他のコンピューティングシステムへプロセッサの抽象化を提供するプロセッサ抽象化レイヤ(PAL)と呼ばれるファームウェアのレイヤを用いる。PAL内で修復を実行することは、システム抽象化レイヤ(SAL)、例えば、BIOS及びオペレーティングシステムのようシステムレベルコードから修復プロセスを隠すことである。修復機構のPALベース実施は、オペレーティングシステムによって実施されるタイムアウト期間を引き起こすことを十分に早急に回避完了することを可能とすべきである。修復機構は、システムレベルコード、例えば、SAL/BIOS又はオペレーティングシステムコードのシステムレベルコードを用いて実行されてもよい。後者の実施は、PALベース実施として同一時間抑制の対象とはならなくともよい。特に断りのない限り、以下に議論される修復機構は、先の情報源のいずれにも関連付けられるコードを用いて実施されてもよい。
図5は、FRCリセットを引き起こす前に実行コアの一つ内で検出されたエラーから修復する機構を示すフローチャートである。実行コアの一つ内で検出されたパリティ、ECC又は他エラーに応じて、修復ルーチンの開始を示すために信号がブロードキャストされる510。エラーがFRCリセットを引き起こす前に検出される限りにおいて、不正データは、修復のために利用可能な他の実行コアのマシン状態データをそのままにしている実行コアの一つにローカライズされることが可能である。従って、良好なコアのマシン状態が保存される520。修復のためにプロセッサを用意するために、両方のコアが特定した条件に初期化され530、保存されたマシン状態は、初期化されたコアへ戻される540。従って、FRCモードが変換され550、プロセッサが割込みコードを返す560。
本発明の一実施例に対して、実行コア120の一つは、マスターコアとして指定され、他は、プロセッサ110がFRCモード内で動作しているときにスレーブコアとして指定されている。この実施例に対して、マスター及びスレーブコアによって生成された信号は、リセットが必要であるか否かを判断するためにFRC境界にて比較される。FRCリセットが保障されないならば、マスターコアから生成された信号は、共有資源170へと転送され、スレーブコアによって生成された信号は落とされる。この実施例に対して、実行コア120のステータスレジスタ内のビットは、マスター又はスレーブとしてそのステータスを指定するために使用されてもよい。例えば、そのビットは、システムがブート又はリセとしたときに設定されてもよい。より詳細に以下に議論されうるように、実行のマスター/スレーブステータスは、また、いずれかのコア内のエラーに対して修復を許すために動的に変更可能とされてもよい。FRC境界内にて検出されたエラー、例えば、修復エラーに対して、マスター及びスレーブコアの作用は、エラーを生成したコアに応じて異なっていてもよい。
図6は、スレーブ実行コアとして指定されている実行コア内で検出されたエラーから修復するための機構600の一実施例を示すフローチャートである。スレーブ実行コアの動作は左に示され、マスター実行コアの動作は右に示される。
スレーブ実行コアがエラー(パリティ、ECC等)を検出すると610、ルーチン600は初期化される。スレーブコアは、コンピューティングシステムの他の構成要素へのエラー条件を信号送出するために割込みを発生する620。PAL又は比較可能なプロセッサレベルコードによって実行されるルーチン600の実施例に対して、割込み信号のブロードキャストは、マスター実行コアのようなプロセッサチップ内の構成要素に限定されてもよい。エラーを信号送出することに加えて、スレーブ実行コアは、FRC装置を無効とし630、その動作を一時停止させる。FRC装置を無効にすることが、FRC境界に到達したときにエラーがFRCリセットを引き起こすことを防止し、スレーブコア内の一時停止している動作が修復処理を乱すことを防止する。
割込みに応じて624、マスター実行コアは、その状態データがいくつかのエラーを含んでいるか否かを判断する640。例えば、各実行コアは、エラーが検出されればセットされるステータスビットを有するようにしてもよい。マスター実行コアが、またエラーを生成したか否かを判断するためのこのビットをチェックしてもよい。ソフトエラーが殆ど同時に両方の実行コア内で発生するといった非常にまれな場合を除いて、マスターコアは、クリーンである可能性が高い。クリーンでなければ640、修復を実行するための不正となっていないプロセッサ状態がない。この場合、マスターコアは、スレーブコアへリセット状態を信号送出し642、コンピューティングシステムは、例えば、FRCレベルのフルリセットを実行する。
マスターコアのための状態データが壊れてないならば、マスターコアスレーブは、そのマシン状態を保存し660、そのパイプライン内のキュー及びバッファを一気に消去する664。例えば、マスターコアは、そのデータの内容を保存し、メモリの保護領域のためにレジスタ及び低レベルキャッシュを制御してもよい。マスターコアは、また、スレーブコアへ制限されたリセットを信号送出し668、特定の状態に資源を設定676、例えば、そのパイプラインを初期化する。スレーブコアは、コアの状態に同期して、制限されたリセットを検出し670、そのパイプラインを初期化する674。
よって、コアが同期したことによって、FRCモードは、再起動する680。これは、例えば、そのステータス/制御レジスタ内の適切な状態ビットを設定する、各コアにハンドラールーチンを実行させることによって達成されうる。保存された状態は、両方の実行コアに戻され684、制御は割り込まれたコードシーケンスに返される690。
メソッド600は、エラーがスレーブコアとして現在指定されている実行コア内で検出される場合のために修復機構の実施例を示す。一実施例のために、スレーブコアは、共有資源を「制御」しない実行コアである。例えば、FRCモードにて、スレーブ実行コアからの信号がFRC境界でマスター実行コアからのそれらとの比較の後に落とされる。FRCエラーが検出されない場合、マスターコアからの信号は、FRC境界外の共有資源を制御するために使用される。
スレーブコアよりむしろマスターコアにエラーが起因しているならば、修復は、実行コアのマスター/スレーブ指定を変更することによって取り扱われてもよい。例えば、マスター/スレーブ指定が各実行コアに関連付けられるステータスレジスタ内のビットの状態によって指定されてもよい。このステータスビットがマスター状態内にあるための実行コアは、修復ルーチン600、例えば、動作660の状態セーブ動作を実行するために使用される共有資源を制御する。
修復ルーチンの一実施例のために、エラーが起因している実行コアがそのマスター/スレーブステータスビットをチェックしてもよい。ステータスビットがスレーブであることを示すならば、メソッド600は、記述されたように実行されてもよい。ステータスビットがマスターを示すならば、そのステータスがマスターへ変更するためにスレーブに信号送出し、それ自身のステータスをスレーブに変更し、動作を一時的に停止する。
図7は、修復可能及び修復不可能なエラーハンドリング間の競争条件を緩和するFRCチェッカー730の一実施例を例示するブロック図である。FRCチェッカー730の開示された実施例は、比較装置734と、キュー736と、タイマー装置738とを有する。キュー736は実行コア(a)からデータを受信し、比較装置734はコアA及びBからのデータを比較して、比較結果が一致するか否かを示すステータスフラグを設定する。データが一致すれば、ステータスフラグがその一致を示すために設定される。
データが一致しなければ、ステータスフラグは不一致を示すために設定され、タイマー装置738は、カウントダウン間隔を開始する。エラー検出器140がタイムアウト間隔が終了する前にエラーフラグを受信すれば、FRCチェッカー730を利用不可とし、修復装置150に修復ルーチンを実行させる。
よって、マルチコアプロセッサにおいて修復可能及び修復不可能なエラーを取り扱うための機構を開示してきた。1つ以上のチェッカー装置が修復不可能なエラーを検出するためにコアからの信号を比較する場合において、複数コアがFRCモード内で動作されてもよい。加えて、各コアが修復可能なエラーを検出するためにエラー装置を含む。修復可能なエラーが検出されれば、チェッカー装置は利用不可となり、修復ルーチンが実行される。マルチコアプロセッサのマルチコアモード実施例は、共有資源へのアクセスを制御するためにチェッカーに近接する仲裁装置を有する。共有資源へのFRC境界の近傍は、FRC境界によって保護されたロジックを増大させ、マルチコアモード実施に必要な配線を減少させる。
本発明の実施例は、FRC有効でないシステムにおいて検出されないエラー全てを仮想的に検出し、一般的に他のFRC有効とされるプロセッサでのリセットを介して取り扱われるものを含む仮想的に全ての検出可能なエラーの修復をサポートする。
開示される実施例は、本発明の種々の特長を例示するために提供されている。開示の恩恵を受けるプロセッサ設計の当業者は、添付されるクレームの精神及び範囲内において、開示される実施例の変更及び改良を認識するであろう。
図1は、二重実行コアとFRC検出及びハンドリングロジックとを含むプロセッサのブロック図である。 図2は、複数モードにて動作可能な図1のプロセッサの一実施例のブロック図である。 図3Aは、図2の複数モードを実装するコンピューティングシステムの実施例のブロック図である。 図3Bは、図3Aのコンピューティングシステムにおいて修復可能なエラーの信号を発する機構のブロック図である。 図4は、図3Aのコンピューティングシステムのデータパスを示すブロック図である。 図5は、実行コアにおいてソフトエラーから修復する機構の一実施例を示すフローチャートである。 図6は、複数実行コアプロセッサにおけるソフトエラーから修復する機構の一実施例を示すフローチャートである。 図7は、修復可能及び修復不可能なエラー機構の間で競合条件を緩和するFRCチェッカーの一実施例を示すブロック図である。

Claims (30)

  1. FRCモードにて動作するための第一及び第二の実行コアと、
    前記第一及び第二の実行コアの少なくとも1つからトランザクションを処理するための資源と、
    前記第一及び第二の実行コアによって前記資源へのアクセスを規制するための装置であって、前記第一及び第二の実行コアからのトランザクション信号を比較し、比較が不一致を示すならばエラーを信号送出するためのFRCチェック装置を有するインターフェース制御装置とを有するプロセッサ。
  2. 前記第一及び第二の実行コアにおいてエラーを検出し、エラーの検出に対応する前記FRCチェッカーを利用不可とするためのエラー検出器を更に有する請求項1記載のプロセッサ。
  3. エラー検出器は、前記第一及び第二の実行コア夫々においてエラーを検出するための第一及び第二エラー検出器を有する請求項2記載のプロセッサ。
  4. 前記第一のエラー検出器は、前記FRCチェック装置を利用可能とし、前記第二の実行コアを用いて修復処理手順を開始するための、前記第一の実行コアにおけるエラーに対応して、エラー信号を引き起こす請求項3記載のプロセッサ。
  5. 前記第二の実行コアはFRCスレーブとして指定され、前記エラー信号に対応して、FRCマスターとして再指定される請求項4記載のプロセッサ。
  6. 前記第二の実行コアは、メモリ位置にマシン状態データを保存して、リセットシーケンスを実行する請求項5記載のプロセッサ。
  7. 前記第一及び第二の実行コアは、また、マルチコアモードにて動作してもよいし、前記インターフェース制御装置は、マルチコアモードにて動作していれば、前記実行コアによって前記共有資源へのアクセスを規制するための仲裁装置を更に有する請求項2記載のプロセッサ。
  8. 前記共有資源は、マルチコアモードにて前記第一及び第二のコアの両方からのトランザクションを処理してもよく、また、FRCモードにて前記第一及び第二のコアの一つのみからのトランザクションを処理してもよいキャッシュを有する請求項7記載のプロセッサ。
  9. エラーを検出することに対応して、エラー検出器は、前記プロセッサがマルチコアモードであれば割込みを引き起こし、前記プロセッサがFRCモードであれば加速された割込みを引き起こす請求項7記載のプロセッサ。
  10. 前記加速された割込みは、マルチコアモードにおける前記割込みが通過した実行コアの部分を回避する請求項9記載のプロセッサ。
  11. 修復ルーチンを格納するための第一のメモリ位置と、
    リセットルーチンを格納するための第二のメモリ位置と、
    FRCモードにおいて動作可能な第一及び第二の実行コアと、
    前記第一及び第二の実行コアの一つにおけるエラーの検出に応じて、前記修復ルーチンを開始するためのエラー装置と、
    前記第一及び第二の実行コアからの信号間の一致の検出に応じて前記リセットルーチンを開始するためのFRCチェッカーとを有するシステム。
  12. 前記エラー装置が、前記第一及び第二の実行コアの一つにおけるエラーの検出に応じて、前記FRCチェッカーを利用不可とする請求項11記載のシステム。
  13. マルチコアモード又は前記FRCモードのいずれかにおいて前記第一及び第二の実行コアを開始するための前記第一及び第二の実行コアによって実行可能な指示を有する請求項12記載のシステム。
  14. 前記第一及び第二の実行コアがマルチコアモードにて開始されているならば、前記第一及び第二の実行コアによって共有されるためのキャッシュを更に有する請求項13記載のシステム。
  15. マルチコアモードにおいて前記第一及び第二の実行コアによる前記キャッシュへのアクセスを管理するための仲裁装置を有する請求項14記載のシステム。
  16. 前記FRCチェッカーは、FRCモードにおいて前記第一及び第二の実行コアから仲裁装置へのトランザクション信号を監視し、該トランザクション信号における不一致に応じて、前記リセットルーチンを開始する請求項15記載のシステム。
  17. 前記第一及び第二の実行コアは、FRCモードにてマスター及びスレーブ夫々として動作する請求項11記載のシステム。
  18. 前記第一の実行コアにおけるエラーに応じて、前記第一の実行コアは利用不可となり、前記第二の実行コアは前記マスターとして動作する請求項17記載のシステム。
  19. 前記第一及び第二の実行コアは、マルチコアモード又はFRCモードにおいて初期化されてもよい請求項11記載のシステム。
  20. 前記エラー装置は、前記実行コアの一つにおけるエラーに応じて、前記第一及び第二の実行コアへの割込みを引き起こす請求項19記載のシステム。
  21. 前記実行コアがFRCモードであれば、前記割込みは加速された割込みである請求項20記載のシステム。
  22. 前記加速された割込みは、前記実行コアの部分を回避する請求項21記載のシステム。
  23. FRCモードにおいて第一及び第二の実行コアを動作すること、
    エラーに対して前記第一及び第二の実行コアのデータを監視すること、
    前記第一及び第二の実行コアによって生成される信号を比較すること、
    前記第一又は第二の実行コアにおけるエラーに応じて、修復ルーチンを実行すること、
    前記第一及び第二の実行コアによって生成される信号間の不一致に応じて、リセットルーチンを実行することを有する方法。
  24. 前記第一又は第二の実行コアにおけるエラーに応じて信号比較を一時停止する請求項23記載の方法。
  25. 前記不一致に応じてリセットルーチンを実行することは、
    前記不一致に応じて遅延間隔を引き起こすこと、
    前記遅延間隔が終了する前に前記実行コアにおいてエラーの無いことが監視されたならば、前記リセットルーチンを実行することを更に有する請求項24記載の方法。
  26. 前記遅延間隔が終了する前にエラーが前記実行コアの1つにおいて検出されたならば、前記修復ルーチンを実行することを更に有する請求項25記載の方法。
  27. FRCモードにおいて前記第一及び第二の実行コアを動作することは、リセット信号に応じて、前記FRCモード又はマルチコアモードにおいて前記第一及び第二のコアを動作することを有する請求項23記載の方法。
  28. 前記修復ルーチンを実行することは、
    前記コアがマルチコアモードにおいて動作しているならば、割込みによって信号送出されたエラーに応じて前記修復ルーチンを実行すること、
    前記コアがFRCモードにおいて動作しているならば、加速された割込みによって信号送出されたエラーに応じて、前記修復ルーチンを実行することを有する請求項27記載の方法。
  29. FRCモードにおける前記第一及び第二の実行コアを動作することは、マスター及びスレーブ実行コアとして前記第一及び第二の実行コアを夫々指定することを更に有する請求項23記載の方法。
  30. 前記修復ルーチンを実行することは、前記第一の実行コアにおけるエラーに応じて、前記第一の実行コアを指定して、マスターとして前記第二の実行コアを指定することを更に有する請求項23記載の方法。
JP2004564986A 2002-12-19 2003-11-13 高信頼性プロセッサ用オンダイ機構 Pending JP2006510117A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/324,957 US7055060B2 (en) 2002-12-19 2002-12-19 On-die mechanism for high-reliability processor
PCT/US2003/036345 WO2004061666A2 (en) 2002-12-19 2003-11-13 On-die mechanism for high-reliability processor

Publications (1)

Publication Number Publication Date
JP2006510117A true JP2006510117A (ja) 2006-03-23

Family

ID=32593612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004564986A Pending JP2006510117A (ja) 2002-12-19 2003-11-13 高信頼性プロセッサ用オンダイ機構

Country Status (10)

Country Link
US (1) US7055060B2 (ja)
EP (1) EP1573544B1 (ja)
JP (1) JP2006510117A (ja)
CN (1) CN100375050C (ja)
AT (1) ATE461484T1 (ja)
AU (1) AU2003287729A1 (ja)
DE (1) DE60331771D1 (ja)
HK (1) HK1079316A1 (ja)
TW (1) TWI236620B (ja)
WO (1) WO2004061666A2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008120352A1 (ja) * 2007-03-29 2008-10-09 Fujitsu Limited 情報処理装置、エラー処理方法
JP2008262557A (ja) * 2008-03-31 2008-10-30 Hitachi Ltd 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP2011081544A (ja) * 2009-10-06 2011-04-21 Nec Corp Cpu再リセットを伴うcpu再初期化時におけるタイムアウト防止方法、その装置及びそのプログラム
JP5299281B2 (ja) * 2007-09-25 2013-09-25 富士通株式会社 情報処理装置及び制御方法
US10665354B2 (en) 2012-05-21 2020-05-26 Smr Inventec, Llc Loss-of-coolant accident reactor cooling system
US11901088B2 (en) 2012-05-04 2024-02-13 Smr Inventec, Llc Method of heating primary coolant outside of primary coolant loop during a reactor startup operation
US11935663B2 (en) 2012-05-21 2024-03-19 Smr Inventec, Llc Control rod drive system for nuclear reactor

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260950A (en) * 1991-09-17 1993-11-09 Ncr Corporation Boundary-scan input circuit for a reset pin
US6625756B1 (en) * 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
US7139947B2 (en) * 2000-12-22 2006-11-21 Intel Corporation Test access port
US7194671B2 (en) 2001-12-31 2007-03-20 Intel Corporation Mechanism handling race conditions in FRC-enabled processors
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
DE10349580A1 (de) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Verfahren und Vorrichtung zur Operandenverarbeitung in einer Prozessoreinheit
US20050114735A1 (en) * 2003-11-20 2005-05-26 Smith Zachary S. Systems and methods for verifying core determinacy
US20050132239A1 (en) * 2003-12-16 2005-06-16 Athas William C. Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution
US7296181B2 (en) * 2004-04-06 2007-11-13 Hewlett-Packard Development Company, L.P. Lockstep error signaling
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
US7237144B2 (en) * 2004-04-06 2007-06-26 Hewlett-Packard Development Company, L.P. Off-chip lockstep checking
US7685354B1 (en) 2004-06-30 2010-03-23 Sun Microsystems, Inc. Multiple-core processor with flexible mapping of processor cores to cache banks
US7873776B2 (en) * 2004-06-30 2011-01-18 Oracle America, Inc. Multiple-core processor with support for multiple virtual processors
US8090983B2 (en) * 2004-10-25 2012-01-03 Robert Bosch Gmbh Method and device for performing switchover operations in a computer system having at least two execution units
ATE421120T1 (de) * 2004-10-25 2009-01-15 Bosch Gmbh Robert Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
DE102005037213A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung zwischen Betriebsmodi eines Multiprozessorsystems durch wenigstens ein externes Signal
JP2008518308A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング マルチプロセッサシステム内のデータを分配するための方法およびデータ分配ユニット
KR20070083759A (ko) * 2004-10-25 2007-08-24 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 포함하는 컴퓨터 시스템에서모드 전환을 위한 방법 및 장치
US20060112226A1 (en) * 2004-11-19 2006-05-25 Hady Frank T Heterogeneous processors sharing a common cache
JP2006178636A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
JP3897046B2 (ja) * 2005-01-28 2007-03-22 横河電機株式会社 情報処理装置および情報処理方法
US7467325B2 (en) * 2005-02-10 2008-12-16 International Business Machines Corporation Processor instruction retry recovery
US20060184771A1 (en) * 2005-02-11 2006-08-17 International Business Machines Mini-refresh processor recovery as bug workaround method using existing recovery hardware
US8732368B1 (en) * 2005-02-17 2014-05-20 Hewlett-Packard Development Company, L.P. Control system for resource selection between or among conjoined-cores
JP4555713B2 (ja) * 2005-03-17 2010-10-06 富士通株式会社 エラー通知方法及び情報処理装置
US7747932B2 (en) * 2005-06-30 2010-06-29 Intel Corporation Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system
DE102005037247A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten
DE102005037246A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und einer Vergleichseinheit
DE102005037234A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Ausführungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle
DE102005037233A1 (de) * 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Datenverarbeitung
US7502957B2 (en) * 2005-09-09 2009-03-10 International Business Machines Corporation Method and system to execute recovery in non-homogeneous multi processor environments
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
WO2007099181A1 (es) * 2006-02-28 2007-09-07 Intel Corporation Mejora de la fiabilidad de un procesador de muchos nucleos
US7774590B2 (en) * 2006-03-23 2010-08-10 Intel Corporation Resiliently retaining state information of a many-core processor
US7802073B1 (en) * 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
JP2007328461A (ja) * 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
WO2008047179A1 (en) * 2006-10-20 2008-04-24 Freescale Semiconductor, Inc. Device having redundant core and a method for providing core redundancy
CN101236515B (zh) * 2007-01-31 2010-05-19 迈普通信技术股份有限公司 多核系统单核异常的恢复方法
DE102007009909B4 (de) * 2007-02-28 2016-09-08 Globalfoundries Inc. Verfahren zum Validieren einer atomaren Transaktion in einer Multikernmikroprozessorumgebung
US9207661B2 (en) 2007-07-20 2015-12-08 GM Global Technology Operations LLC Dual core architecture of a control module of an engine
US8281308B1 (en) 2007-07-23 2012-10-02 Oracle America, Inc. Virtual core remapping based on temperature
CN101136729B (zh) * 2007-09-20 2011-08-03 华为技术有限公司 一种实现高可用性的方法、系统和装置
KR100958303B1 (ko) * 2007-12-12 2010-05-19 한국전자통신연구원 멀티코어 시스템 환경에서 내부 코어 간 통신채널을 이용한 모듈 디바이스의 동적 적재 및 실행을 통한 부하 균등화 시스템 및 방법
US7996663B2 (en) * 2007-12-27 2011-08-09 Intel Corporation Saving and restoring architectural state for processor cores
GB2458260A (en) * 2008-02-26 2009-09-16 Advanced Risc Mach Ltd Selectively disabling error repair circuitry in an integrated circuit
US8015390B1 (en) * 2008-03-19 2011-09-06 Rockwell Collins, Inc. Dissimilar processor synchronization in fly-by-wire high integrity computing platforms and displays
US7941699B2 (en) * 2008-03-24 2011-05-10 Intel Corporation Determining a set of processor cores to boot
US8037350B1 (en) * 2008-04-30 2011-10-11 Hewlett-Packard Development Company, L.P. Altering a degree of redundancy used during execution of an application
JP5344936B2 (ja) * 2009-01-07 2013-11-20 株式会社日立製作所 制御装置
JP2010282296A (ja) * 2009-06-02 2010-12-16 Sanyo Electric Co Ltd データチェック回路
US20110191602A1 (en) * 2010-01-29 2011-08-04 Bearden David R Processor with selectable longevity
EP2367129A1 (en) 2010-03-19 2011-09-21 Nagravision S.A. Method for checking data consistency in a system on chip
WO2011117987A1 (ja) 2010-03-24 2011-09-29 富士通株式会社 マルチコアシステムおよび起動方法
CN101807076B (zh) * 2010-05-26 2011-11-09 哈尔滨工业大学 基于profibus现场总线的具有协同热备份功能的双模冗余容错高可靠控制系统
US8412980B2 (en) * 2010-06-04 2013-04-02 International Business Machines Corporation Fault tolerant stability critical execution checking using redundant execution pipelines
US8522076B2 (en) * 2010-06-23 2013-08-27 International Business Machines Corporation Error detection and recovery in a shared pipeline
US9063730B2 (en) 2010-12-20 2015-06-23 Intel Corporation Performing variation-aware profiling and dynamic core allocation for a many-core processor
EP2525292A1 (en) * 2011-05-20 2012-11-21 ABB Technology AG System and method for using redundancy of controller operation
US9098561B2 (en) 2011-08-30 2015-08-04 Intel Corporation Determining an effective stress level on a processor
WO2013095470A1 (en) * 2011-12-21 2013-06-27 Intel Corporation Error framework for a microprocessor and system
CN102591763B (zh) * 2011-12-31 2015-03-04 龙芯中科技术有限公司 一种基于确定性重放的处理器整体故障检测系统与方法
US9146835B2 (en) * 2012-01-05 2015-09-29 International Business Machines Corporation Methods and systems with delayed execution of multiple processors
US9058419B2 (en) 2012-03-14 2015-06-16 GM Global Technology Operations LLC System and method for verifying the integrity of a safety-critical vehicle control system
US20150205271A1 (en) * 2012-07-17 2015-07-23 Siemens Aktiengesellschaft Automated reconfiguration of a discrete event control loop
US9317389B2 (en) 2013-06-28 2016-04-19 Intel Corporation Apparatus and method for controlling the reliability stress rate on a processor
US10203958B2 (en) * 2013-07-15 2019-02-12 Texas Instruments Incorporated Streaming engine with stream metadata saving for context switching
IN2013CH04831A (ja) 2013-10-28 2015-08-07 Empire Technology Dev Llc
US9904339B2 (en) 2014-09-10 2018-02-27 Intel Corporation Providing lifetime statistical information for a processor
US9785446B2 (en) * 2014-12-10 2017-10-10 Dell Products L.P. Efficient boot from a connected device
US9704598B2 (en) 2014-12-27 2017-07-11 Intel Corporation Use of in-field programmable fuses in the PCH dye
US9842036B2 (en) * 2015-02-04 2017-12-12 Apple Inc. Methods and apparatus for controlled recovery of error information between independently operable processors
US10002056B2 (en) 2015-09-15 2018-06-19 Texas Instruments Incorporated Integrated circuit chip with cores asymmetrically oriented with respect to each other
US10740167B2 (en) * 2016-12-07 2020-08-11 Electronics And Telecommunications Research Institute Multi-core processor and cache management method thereof
US10429919B2 (en) 2017-06-28 2019-10-01 Intel Corporation System, apparatus and method for loose lock-step redundancy power management
US10466702B1 (en) * 2018-02-14 2019-11-05 Rockwell Collins, Inc. Dual independent autonomous agent architecture for aircraft
US10831578B2 (en) * 2018-09-28 2020-11-10 Nxp Usa, Inc. Fault detection circuit with progress register and status register
US11841776B2 (en) * 2019-06-12 2023-12-12 Intel Corporation Single chip multi-die architecture having safety-compliant cross-monitoring capability
CN110806899B (zh) * 2019-11-01 2021-08-24 西安微电子技术研究所 一种基于指令扩展的流水线紧耦合加速器接口结构
CN111104243B (zh) * 2019-12-26 2021-05-28 江南大学 一种低延迟的双模lockstep容软错误处理器系统
US11892505B1 (en) * 2022-09-15 2024-02-06 Stmicroelectronics International N.V. Debug and trace circuit in lockstep architectures, associated method, processing system, and apparatus

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701972A (en) * 1969-12-16 1972-10-31 Computer Retrieval Systems Inc Data processing system
FR2182259A5 (ja) * 1972-04-24 1973-12-07 Cii
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
JPH01307815A (ja) * 1988-06-07 1989-12-12 Mitsubishi Electric Corp 情報処理装置のリセット方式
DE3886529T2 (de) * 1988-08-27 1994-06-30 Ibm Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung.
US5260950A (en) * 1991-09-17 1993-11-09 Ncr Corporation Boundary-scan input circuit for a reset pin
US5758058A (en) * 1993-03-31 1998-05-26 Intel Corporation Apparatus and method for initializing a master/checker fault detecting microprocessor
US6061599A (en) * 1994-03-01 2000-05-09 Intel Corporation Auto-configuration support for multiple processor-ready pair or FRC-master/checker pair
FR2721122B1 (fr) * 1994-06-14 1996-07-12 Commissariat Energie Atomique Unité de calcul à pluralité de calculateurs redondants.
US5802132A (en) * 1995-12-29 1998-09-01 Intel Corporation Apparatus for generating bus clock signals with a 1/N characteristic in a 2/N mode clocking scheme
US5915082A (en) * 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
US5862373A (en) * 1996-09-06 1999-01-19 Intel Corporation Pad cells for a 2/N mode clocking scheme
US5935266A (en) * 1996-11-15 1999-08-10 Lucent Technologies Inc. Method for powering-up a microprocessor under debugger control
EP0884598A1 (en) * 1997-06-13 1998-12-16 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Integrated circuit with serial test interface and logic for loading a functional register using said interface
US6625756B1 (en) * 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
US6708304B1 (en) * 1998-04-03 2004-03-16 Renesas Technology Corporation Semiconductor device
US6173351B1 (en) * 1998-06-15 2001-01-09 Sun Microsystems, Inc. Multi-processor system bridge
US6357024B1 (en) * 1998-08-12 2002-03-12 Advanced Micro Devices, Inc. Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals
US6393582B1 (en) * 1998-12-10 2002-05-21 Compaq Computer Corporation Error self-checking and recovery using lock-step processor pair architecture
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US6625749B1 (en) 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008120352A1 (ja) * 2007-03-29 2008-10-09 Fujitsu Limited 情報処理装置、エラー処理方法
US8078920B2 (en) 2007-03-29 2011-12-13 Fujitsu Limited Information processing device and error processing method
JP5299281B2 (ja) * 2007-09-25 2013-09-25 富士通株式会社 情報処理装置及び制御方法
JP2008262557A (ja) * 2008-03-31 2008-10-30 Hitachi Ltd 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP2011081544A (ja) * 2009-10-06 2011-04-21 Nec Corp Cpu再リセットを伴うcpu再初期化時におけるタイムアウト防止方法、その装置及びそのプログラム
US11901088B2 (en) 2012-05-04 2024-02-13 Smr Inventec, Llc Method of heating primary coolant outside of primary coolant loop during a reactor startup operation
US10665354B2 (en) 2012-05-21 2020-05-26 Smr Inventec, Llc Loss-of-coolant accident reactor cooling system
US11935663B2 (en) 2012-05-21 2024-03-19 Smr Inventec, Llc Control rod drive system for nuclear reactor

Also Published As

Publication number Publication date
HK1079316A1 (en) 2006-03-31
ATE461484T1 (de) 2010-04-15
WO2004061666A3 (en) 2005-06-23
EP1573544A2 (en) 2005-09-14
TW200416595A (en) 2004-09-01
US20040123201A1 (en) 2004-06-24
US7055060B2 (en) 2006-05-30
TWI236620B (en) 2005-07-21
CN1729456A (zh) 2006-02-01
DE60331771D1 (de) 2010-04-29
CN100375050C (zh) 2008-03-12
AU2003287729A1 (en) 2004-07-29
WO2004061666A2 (en) 2004-07-22
AU2003287729A8 (en) 2004-07-29
EP1573544B1 (en) 2010-03-17

Similar Documents

Publication Publication Date Title
JP2006510117A (ja) 高信頼性プロセッサ用オンダイ機構
US6625756B1 (en) Replay mechanism for soft error recovery
KR102288558B1 (ko) 데이터 처리장치의 메모리 내장 자체 테스트
US6615366B1 (en) Microprocessor with dual execution core operable in high reliability mode
US6792525B2 (en) Input replicator for interrupts in a simultaneous and redundantly threaded processor
EP0706128B1 (en) Fast comparison method and apparatus for errors corrected cache tags
US6598122B2 (en) Active load address buffer
US6640313B1 (en) Microprocessor with high-reliability operating mode
JP3098489B2 (ja) 割り込み処理装置
US7734949B2 (en) Information error recovery apparatus and methods
JPH0239254A (ja) データ処理システム及びそのキヤツシユ記憶システム
US10572179B2 (en) Speculatively performing memory move requests with respect to a barrier
US10067713B2 (en) Efficient enforcement of barriers with respect to memory move sequences
US10140052B2 (en) Memory access in a data processing system utilizing copy and paste instructions
US10817369B2 (en) Apparatus and method for increasing resilience to faults
JP2003511756A (ja) コンピュータにおいて故障分離および診断を改善する機構
US10241945B2 (en) Memory move supporting speculative acquisition of source and destination data granules including copy-type and paste-type instructions
US20180052688A1 (en) Memory move instruction sequence targeting an accelerator switchboard
CN111149094A (zh) 处理缓冲器中的错误
US8069309B1 (en) Servicing memory in response to system failure
US7194671B2 (en) Mechanism handling race conditions in FRC-enabled processors
CN111104243A (zh) 一种低延迟的双模lockstep容软错误处理器系统
JP2010231619A (ja) 情報処理装置
US10289332B2 (en) Apparatus and method for increasing resilience to faults
JPH0245845A (ja) データ処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071010

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080718

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090316