JP2008515064A - 冗長マルチスレッド環境でのチェッカ命令の実行 - Google Patents

冗長マルチスレッド環境でのチェッカ命令の実行 Download PDF

Info

Publication number
JP2008515064A
JP2008515064A JP2007533793A JP2007533793A JP2008515064A JP 2008515064 A JP2008515064 A JP 2008515064A JP 2007533793 A JP2007533793 A JP 2007533793A JP 2007533793 A JP2007533793 A JP 2007533793A JP 2008515064 A JP2008515064 A JP 2008515064A
Authority
JP
Japan
Prior art keywords
instruction
checker
thread
trailing
leading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007533793A
Other languages
English (en)
Other versions
JP4691105B2 (ja
JP2008515064A5 (ja
Inventor
マッカジー、シャブヘンドゥ
エメル、ジョエル
ラインハルト、スティーブン
ウィーバー、クリストファー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2008515064A publication Critical patent/JP2008515064A/ja
Publication of JP2008515064A5 publication Critical patent/JP2008515064A5/ja
Application granted granted Critical
Publication of JP4691105B2 publication Critical patent/JP4691105B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1492Generic software techniques for error detection or fault masking by run-time replication performed by the application software
    • G06F11/1494N-modular type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

冗長マルチスレッド環境でのチェッカ命令の方法及び装置が記載される。一実施形態では、RMTが要求すると、プロセッサはチェッカ命令を先端スレッド及び後端スレッドの両方において発することができる。チェッカ命令は、各パイプラインの終わりにあるバッファに達するまで、各スレッドの個々のパイプラインを独立して移行することができる。次いで、チェッカ命令をコミットする前に、チェッカ命令が相手方を探し、命令の比較を行う。チェッカ命令が一致する場合、チェッカ命令はコミットしてリタイアし、その他の場合にはエラーが宣言される。
【選択図】なし

Description

現在の冗長実行システムは一般に、自己検査式であり且つハードウェアで実装されるチェッカ回路を採用している。チェッカ回路に類似するのは、2つのスレッド(たとえば、ストアアドレス及びデータ)からの結果を比較する比較命令である。両方のスレッドで比較命令を複製し、複製を介して自己検査の効果を得ることが可能であり得る。
不都合なことに、比較命令を複製することにより、アーキテクチャは冗長マルチスレッド(RMT)の性能利点を失うことになる。RMTの性能利点は、先端スレッドが後端スレッドのキャッシュミス及び分岐予測をプリフェッチできるように十分に離れた先端スレッド及び後端スレッドを有することから生じる。比較命令が複製される場合、キューの追加が必要なだけでなく(より高いオーバーヘッドを招く)、アーキテクチャは、両方向で求められる同期により2つのスレッドを十分離れた状態で保持することができなくなり得る。したがって、必要なのは、RMTの性能利点を犠牲にすることなくより低い故障率を実現できる命令である。
本発明の各種特徴が、同様の参照番号が概して全図面を通して同じパーツを指す添付図面に示す好ましい実施形態の以下の説明から明らかになろう。図面は必ずしも一定の縮尺で描かれておらず、それに代えて本発明の原理を示すことに重点が置かれている。
以下の説明では、限定ではなく説明のために、特定の構造、アーキテクチャ、インタフェース、技法等の特定の詳細を記して、本発明の各種態様の完全な理解を提供する。しかし、本発明の各種態様を他の例ではこれら特定の詳細から離れて実施可能なことが、本開示の恩恵を受ける当業者には明白であろう。特定の場合では、本発明の説明を不必要な詳細で曖昧にしないように、既知の装置、回路、及び方法についての説明を省いている。
冗長マルチスレッド環境でのチェッカ命令の方法及び装置について記載する。以下の説明では、説明のために、多くの特定の詳細を記して本発明の完全な理解を提供する。しかし、本発明をこれら特定の詳細なしで実施可能なことが当業者には明白であろう。
図1は、冗長マルチスレッドアーキテクチャの一実施形態のブロック図である。冗長マルチスレッドアーキテクチャでは、故障は、プログラムの2つのコピーを別個のスレッドとして実行することによって検出することができる。
各スレッドには同一の入力が提供され、出力が比較されて、エラーが発生したか否かが判断される。冗長マルチスレッドは、本明細書では「複製範囲(sphere of replication)」と呼ぶ概念に関連して説明することができる。複製範囲とは、論理的又は物理的な冗長動作の境界である。
複製範囲100内の構成要素(たとえば、先端スレッド105を実行しているプロセッサ及び後端スレッド110を実行しているプロセッサ)が冗長実行の対象である。これとは対照的に、複製範囲100外の構成要素(たとえば、メモリ115)は冗長実行の対象ではない。故障保護は他の技法、たとえばメモリ115の誤り修正符号によって提供される。他の装置は複製範囲100外であってもよく、且つ/又は他の技法を使用して故障保護を複製範囲100外の装置に提供することができる。
複製範囲100に入るデータは、データを複製し且つデータのコピーを先端スレッド105及び後端スレッド110に送る入力複製エージェント120を通して入る。同様に、複製範囲100を出るデータは、データを比較し且つエラーが発生したか否かを判断する出力比較エージェント125を通って出る。複製範囲100の境界の変更は、性能とハードウェア量との間のトレードオフである。たとえば、メモリ115を複製すると、ストア命令の出力比較を避けることによりメモリへのより高速でのアクセスが可能になるが、システムでのメモリ量を2倍にすることによってシステムコストが増大する。
本発明の一実施形態は、RMTのソフトウェア実装でのチェッカ回路を検査するメカニズムを提案する。RMTはコミットされた命令の出力を比較する(命令毎の比較を必要とする)ため、これはソフトウェアで実装することもできる。RMTのソフトウェア実装があらゆる命令を比較する場合、相当なオーバーヘッドが発生する。しかしそれに代えて、RMTは、ストア命令のみの比較及びロード命令のみの複製を可能にし、これはRMT実装のソフトウェアオーバーヘッドを大幅に低減することができる。
図2は、チェッカ命令を生成する一方法を示す。まず、大半のコンピュータでのようにコンパイラが命令を生成する。コンパイラから、コンピュータはここで、一連のストア命令であり得るがこれに限定されないバイナリプログラムを有する(200)。次に、バイナリトランスレータがバイナリプログラム中の各ストア命令の前にチェッカ命令を挿入することができる(205)。バイナリトランスレータは当該技術分野において既知の任意のバイナリトランスレータであってもよい。バイナリプログラムの変換後、システムは先端スレッド及び後端スレッドの両方にバイナリプログラムを作成する。先端スレッドのバイナリプログラムは、チェッカ命令をストア命令に追加する(210)。後端スレッドのバイナリプログラムは、ストア命令を先端スレッドのピアチェッカ命令で置き換える(215)。
図3は、チェッカ命令の一実施態様を示す。RMTが比較を要求すると、プロセッサはチェッカ命令を先端スレッド及び後端スレッドの両方において発することができる(300)。各チェッカ命令は各スレッドから64ビット量を伝達することができる。チェッカ命令は、各パイプラインの終わりにあるバッファに達するまで各スレッドの個々のパイプラインを独立して移行することができる(305)。チェッカ命令は、ピアチェッカ命令をバッファで待つ(310)。これら2つのチェッカ命令は次いで、伝達している64ビット量の比較を行うことができる(315)。一致しない場合、両方がエラーを報告することができる。一致する場合、プロセッサにチェッカ命令をコミットさせることができる(320)。パイプラインは、CMP中の異なるプロセッサからであっても、又はSMTプロセッサと同じマルチスレッドプロセッサからであってもよい。
この実施態様では、チェッカ命令は、命令キューからの処理命令からの先端命令を中断しない。むしろ、リタイアポインタのみを、後端スレッドからの対応するチェッカ命令が現れるまで中断するだけである。また、環境がRMT環境ではない場合、チェッカ命令はNOPとして扱われることができる。
図4は、2つのパイプラインを通って流れるチェッカ命令の一例のブロック図である。ストア命令R1→[R2]が、レジスタR1中の値をレジスタR2中のアドレスによってポイントされるメモリロケーションに記憶するものと仮定する。このストア命令は、チェッカ命令と共に先端スレッド及び後端スレッドの両方で複製することができる。先端スレッドのストア命令は、チェッカ命令及びストア命令の両方を以下に示すように含むことができる。
Checkerinst R1
Checkerinst R2
Store: R1→[R2]
したがって、先端スレッドは、パイプライン400を移行する時にストア命令とともにチェッカ命令を含むことができる。
後端スレッドのストア命令は、以下に示すようにチェッカ命令のみを含むことができる。
Checkerinst R1
Checkerinst R2
したがって、後端スレッドはパイプライン405を通って移行するストア命令を有さない。
パイプライン400中の先端スレッドからのcheckerinst R1は、バッファ410においてピアチェッカ命令を待つ。パイプライン405中の後端スレッドからのcheckerinst R1は、バッファ415においてピアチェッカ命令を待つ。チェッカ命令は常にその相手方すなわちピアを探すか、又は待つ。ミラースレッドがある場合、チェッカ命令はバッファ410、405においてそのスレッドを探すか、又は待ち、ミラースレッドがそこにあることを確認してから、チェッカ命令を比較する。
先端スレッドからのcheckerinst R1及び後端スレッドからのcheckerinst R1は、コミット順によりペアになることができ、レジスタ指示子とR1の値を比較して、レジスタがいずれのエラーも有さなかったことを保証する。エラーが見つからない場合、チェッカ命令はコミットされる(420)。チェッカ命令がコミットされると、R1の値が記憶される。R1の値は、コミットポイントを通ってから記憶される。したがって、システムは、従来のように検査をストア毎に行うのではなくすべてのストアを同時に検査することができる。
図5は、マルチスレッドプロセッサ用の環境を提供することができるシステムのブロック図である。図5に示すシステムは或る範囲のシステムを表すことを意図される。代替のシステムは、より多数、より少数、且つ/又は異なる構成要素を備えることができる。
システム500は、情報を伝達するバス510又は他の通信装置、及びバス510に結合されて情報を処理するプロセッサ(複数可)520を備える。システム500は、メモリコントローラ530を介してバス510に結合されて、情報及びプロセッサ(複数可)520が実行する命令を記憶するランダムアクセスメモリ(RAM)又は他のダイナミックメモリ並びにスタティックメモリ、たとえばハードディスク又は他の記憶装置535(メモリと呼ぶ)をさらに備える。メモリ535はまた、プロセッサ(複数可)520による命令の実行中に一時変数又は他の中間情報を記憶するためにも使用することができる。メモリコントローラ530は、1つ又は複数の種類のメモリ及び/又は関連するメモリ装置を制御する1つ又は複数の構成要素を備えることができる。システム500は、バス510に結合されてプロセッサ(複数可)520のためにスタティックな情報及び命令を記憶する読み取り専用メモリ(ROM)及び/又は他のスタティック記憶装置540も備える。
システム500はまた、バス510を介して入/出力(I/O)インタフェース550にも結合することができる。I/Oインタフェース550はI/O装置555へのインタフェースを提供し、I/O装置555はたとえば、コンピュータユーザに情報を表示する陰極線管(CRT)又は液晶ディスプレイ(LCD)、英数字及び他のキーを含む英数字入力装置、並びに/或いはマウス、トラックボール、又はカーソル方向キー等のカーソル制御装置を含むことができる。システム500は、ローカルエリアネットワーク等のネットワークへのアクセスを有無線で提供するネットワークインタフェース560をさらに備える。
命令は、メモリ535に磁気ディスク、読み取り専用メモリ(ROM)集積回路、CD−ROM、DVD等の記憶装置から、有無線のリモート接続(たとえば、ネットワークインタフェース860を介してネットワーク経由で)等を介して提供される。
これより図6を参照すると、システム600は概して、プロセッサ、メモリ、及び入/出力装置が複数のポイントツーポイントインタフェースによって相互接続されるシステムを示す。システム600はいくつかのプロセッサも備えることができ、明瞭にするために、そのうちの2つプロセッサ605、610のみを示す。プロセッサ605、610はそれぞれ、ローカルメモリコントローラハブ(MCH)615、620を備えてメモリ625、630と接続することができる。プロセッサ605、610は、ポイントツーポイントインタフェース回路640、645を使用して、ポイントツーポイントインタフェース635を介してデータを交換することができる。プロセッサ605、610はそれぞれ、ポイントツーポイントインタフェース回路665、670、675、680を使用して、個々のポイントツーポイントインタフェース655、660を介してチップセット650とデータを交換することができる。チップセット650はまた、高性能グラフィックスインタフェース690を介して高性能グラフィックス回路685とデータを交換することもできる。
チップセット650は、バスインタフェース695を介してバス616とデータを交換することができる。いずれのシステムでも、いくつかの実施形態では低性能グラフィックスコントローラ、ビデオコントローラ、及びネットワーキングコントローラを含む様々な入/出力I/O装置614がバス616上にあり得る。いくつかの実施形態では、別のバスブリッジ618を使用して、バス616とバス620との間でデータを交換できるようにすることができる。いくつかの実施形態では、バス620は、小型コンピュータシステムインタフェース(SCSI)バス、統合ドライブエレクトロニクス(IDE)バス、又はユニバーサルシリアルバス(USB)バスであることができる。追加のI/O装置をバス620に接続することができる。これらは、キーボード、マウスを含むカーソル制御装置622、オーディオI/O624、モデム及びネットワークインタフェースを含む通信装置626、及びデータ記憶装置628を含むことができる。ソフトウェアコード630は、データ記憶装置628に記憶することができる。いくつかの実施形態では、データ記憶装置628は、固定磁気ディスク、フロッピーディスクドライブ、光学ディスクドライブ、光磁気ディスクドライブ、磁気テープ、又はフラッシュメモリを含む不揮発性メモリであることができる。
本明細書全体を通して、「命令」という語は、命令、マクロ命令、命令バンドル、又はプロセッサ動作を符号化するために使用される任意の数の他のメカニズムを全体的に指すために使用される。
以下の説明では、限定ではなく説明のために、特定の構造、アーキテクチャ、インタフェース、技法等の特定の詳細を記して、本発明の各種態様の完全な理解を提供する。しかし、本発明の各種態様を他の例ではこれら特定の詳細から離れて実施可能なことが、本開示の恩恵を受ける当業者には明白であろう。特定の場合では、本発明の説明を不必要な詳細で曖昧にしないように、既知の装置、回路、及び方法についての説明を省いている。
マルチスレッドアーキテクチャの一実施形態のブロック図である。 チェッカ命令を生成する一方法を示すフローチャートである。 いずれかのスレッドでのチェッカ命令の一実施態様を示すフローチャートである。 チェッカ命令の一実施形態のブロック図である。 マルチスレッドプロセッサの環境を提供することができるシステムのブロック図である。 マルチスレッドプロセッサの環境を提供することができる代替のシステムのブロック図である。

Claims (31)

  1. 先端スレッド及び後端スレッドにおいてチェッカ命令を生成すること、
    前記先端スレッド及び前記後端スレッドからピアチェッカ命令を待つこと、及び
    前記先端スレッド及び前記後端スレッドからの前記ピアチェッカ命令を比較すること
    を含む方法。
  2. 前記先端スレッドは前記チェッカ命令及び選択された命令を含み、前記後端スレッドは該チェッカ命令を含む、請求項1に記載の方法。
  3. 前記先端スレッドにおいてチェッカ命令を生成することは、前記選択された命令の前に前記チェッカ命令を挿入することをさらに含む、請求項2に記載の方法。
  4. 前記チェッカ命令は前記先端スレッド及び前記後端スレッドの対応するパイプラインを通って移行する、請求項1に記載の方法。
  5. チェッカ命令を生成することをさらに含む、請求項1に記載の方法。
  6. 前記チェッカ命令をコミットすることをさらに含む、請求項2に記載の方法。
  7. 前記先端スレッド及び前記後端スレッドからの前記対応するチェッカ命令の比較が一致する場合、前記先端スレッドの前記選択された命令を記憶することをさらに含む、請求項6に記載の方法。
  8. 前記先端スレッド及び前記後端スレッドは単一のプロセッサによって実行される、請求項1に記載の方法。
  9. 前記先端スレッド及び前記後端スレッドは複数のプロセッサによって実行される、請求項1に記載の方法。
  10. 先端命令スレッドを実行する先端スレッド回路と、
    後端命令スレッドを実行する後端スレッド回路と、
    前記先端スレッド及び前記後端スレッドからの対応するチェッカ命令をコミットするコミットユニットと
    を備える装置。
  11. 前記先端命令スレッドはチェッカ命令及び選択された命令を含む、請求項10に記載の装置。
  12. 前記後端命令スレッドはチェッカ命令を含む、請求項11に記載の装置。
  13. 前記先端スレッド回路及び前記後端スレッド回路はパイプラインを含む、請求項10に記載の装置。
  14. 前記先端スレッド及び前記後端スレッドは単一のプロセッサによって実行される、請求項13に記載の装置。
  15. 前記先端スレッド及び前記後端スレッドは複数のプロセッサによって実行される、請求項13に記載の装置。
  16. 前記先端スレッド回路及び前記後端スレッド回路に結合されるバッファをさらに備える、請求項12に記載の装置。
  17. 前記先端スレッドの前記チェッカ命令及び前記後端スレッドの前記チェッカ命令は、前記バッファにおいて対応するチェッカ命令を待つ、請求項16に記載の装置。
  18. 前記選択された命令は、前記対応するチェッカ命令が一致する場合に記憶される、請求項2に記載の装置。
  19. 前記コミットユニットは、前記対応するチェッカ命令が一致しない場合にエラーを生成する、請求項2に記載の装置。
  20. 前記チェッカ命令は、バイナリトランスレータにより前記選択された命令の前に配置される、請求項11に記載の装置。
  21. 前記選択された命令はストア命令である、請求項11に記載の装置。
  22. 第1のプロセッサであって、
    チェッカ命令の先端スレッドを実行する先端スレッド回路、
    前記チェッカ命令の後端スレッドを実行する後端スレッド回路、及び
    前記先端スレッド及び前記後端スレッドからの対応するチェッカ命令をリタイアさせるリタイアユニット
    を備える第1のプロセッサと、
    第2のプロセッサへの第1のインタフェースと、
    入/出力装置への第2のインタフェースと、
    該第2のインタフェースに結合されるオーディオ入出力装置と
    を備えるシステム。
  23. 前記先端命令スレッドはチェッカ命令及び選択された命令を含む、請求項22に記載のシステム。
  24. 前記後端命令スレッドはチェッカ命令を含む、請求項23に記載のシステム。
  25. 前記先端スレッド回路及び前記後端スレッド回路はパイプラインを含む、請求項22に記載のシステム。
  26. 前記選択された命令は、前記先端スレッド及び前記後端スレッドからの前記対応するチェッカ命令が一致する場合に記憶される、請求項24に記載のシステム。
  27. 前記先端スレッド回路及び前記後端スレッド回路に結合されるバッファをさらに備える、請求項26に記載のシステム。
  28. 前記リタイアユニットは、前記対応するチェッカ命令が一致しない場合にエラーを生成する、請求項26に記載のシステム。
  29. 前記チェッカ命令は、バイナリトランスレータにより前記選択された命令の前に配置される、請求項23に記載のシステム。
  30. 前記選択された命令はストア命令である、請求項23に記載のシステム。
  31. 前記第1のインタフェース及び前記第2のインタフェースはポイントツーポイントインタフェースである、請求項22に記載のシステム。
JP2007533793A 2004-09-29 2005-09-29 冗長マルチスレッド環境でのチェッカ命令の実行 Expired - Fee Related JP4691105B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/953,887 2004-09-29
US10/953,887 US7353365B2 (en) 2004-09-29 2004-09-29 Implementing check instructions in each thread within a redundant multithreading environments
PCT/US2005/035375 WO2006039595A2 (en) 2004-09-29 2005-09-29 Executing checker instructions in redundant multithreading environments

Publications (3)

Publication Number Publication Date
JP2008515064A true JP2008515064A (ja) 2008-05-08
JP2008515064A5 JP2008515064A5 (ja) 2011-03-03
JP4691105B2 JP4691105B2 (ja) 2011-06-01

Family

ID=36001038

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007533793A Expired - Fee Related JP4691105B2 (ja) 2004-09-29 2005-09-29 冗長マルチスレッド環境でのチェッカ命令の実行

Country Status (7)

Country Link
US (1) US7353365B2 (ja)
JP (1) JP4691105B2 (ja)
CN (1) CN101031887B (ja)
DE (1) DE112005002370T5 (ja)
GB (1) GB2430520B (ja)
TW (1) TWI317063B (ja)
WO (1) WO2006039595A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208662A (ja) * 2011-03-29 2012-10-25 Toyota Motor Corp マルチスレッド・プロセッサ

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581152B2 (en) * 2004-12-22 2009-08-25 Intel Corporation Fault free store data path for software implementation of redundant multithreading environments
US7321989B2 (en) * 2005-01-05 2008-01-22 The Aerospace Corporation Simultaneously multithreaded processing and single event failure detection method
US7818744B2 (en) * 2005-12-30 2010-10-19 Intel Corporation Apparatus and method for redundant software thread computation
GB0602641D0 (en) * 2006-02-09 2006-03-22 Eads Defence And Security Syst High speed data processing system
US7444544B2 (en) * 2006-07-14 2008-10-28 International Business Machines Corporation Write filter cache method and apparatus for protecting the microprocessor core from soft errors
US9594648B2 (en) * 2008-12-30 2017-03-14 Intel Corporation Controlling non-redundant execution in a redundant multithreading (RMT) processor
US9081688B2 (en) * 2008-12-30 2015-07-14 Intel Corporation Obtaining data for redundant multithreading (RMT) execution
CN101551764B (zh) * 2009-02-27 2010-11-10 北京时代民芯科技有限公司 基于同步冗余线程与编码技术的抗单粒子效应***及方法
EP2537091A4 (en) * 2010-02-16 2014-08-06 Freescale Semiconductor Inc DATA PROCESSING METHOD, DATA PROCESSOR, AND APPARATUS COMPRISING DATA PROCESSOR
US9361104B2 (en) * 2010-08-13 2016-06-07 Freescale Semiconductor, Inc. Systems and methods for determining instruction execution error by comparing an operand of a reference instruction to a result of a subsequent cross-check instruction
WO2014080245A1 (en) 2012-11-22 2014-05-30 Freescale Semiconductor, Inc. Data processing device, method of execution error detection and integrated circuit
AT515341B1 (de) * 2014-01-23 2015-12-15 Bernecker & Rainer Ind Elektronik Gmbh Verfahren zur Überprüfung der Abarbeitung von Software
US9823983B2 (en) 2014-09-25 2017-11-21 Nxp Usa, Inc. Electronic fault detection unit
US10013240B2 (en) 2016-06-21 2018-07-03 Advanced Micro Devices, Inc. Fingerprinting of redundant threads using compiler-inserted transformation code
US10042687B2 (en) * 2016-08-08 2018-08-07 Advanced Micro Devices, Inc. Paired value comparison for redundant multi-threading operations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115661A (ja) * 1997-06-26 1999-01-22 Toshiba Corp Cpuの自己診断方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625195A1 (de) * 1996-06-24 1998-01-02 Siemens Ag Synchronisationsverfahren
US6463579B1 (en) * 1999-02-17 2002-10-08 Intel Corporation System and method for generating recovery code
US6640313B1 (en) * 1999-12-21 2003-10-28 Intel Corporation Microprocessor with high-reliability operating mode
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
US6854051B2 (en) * 2000-04-19 2005-02-08 Hewlett-Packard Development Company, L.P. Cycle count replication in a simultaneous and redundantly threaded processor
US6854075B2 (en) * 2000-04-19 2005-02-08 Hewlett-Packard Development Company, L.P. Simultaneous and redundantly threaded processor store instruction comparator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115661A (ja) * 1997-06-26 1999-01-22 Toshiba Corp Cpuの自己診断方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208662A (ja) * 2011-03-29 2012-10-25 Toyota Motor Corp マルチスレッド・プロセッサ

Also Published As

Publication number Publication date
TW200634504A (en) 2006-10-01
JP4691105B2 (ja) 2011-06-01
GB0700979D0 (en) 2007-02-28
GB2430520B (en) 2008-10-22
TWI317063B (en) 2009-11-11
GB2430520A (en) 2007-03-28
WO2006039595A2 (en) 2006-04-13
US7353365B2 (en) 2008-04-01
US20060095821A1 (en) 2006-05-04
CN101031887A (zh) 2007-09-05
DE112005002370T5 (de) 2007-09-20
CN101031887B (zh) 2010-05-26
WO2006039595A3 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
JP4691105B2 (ja) 冗長マルチスレッド環境でのチェッカ命令の実行
JP5860450B2 (ja) ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張
KR101546033B1 (ko) Smt 기계에서 비교 및 전달 명령어를 사용한 안정적 실행
CN111164578B (zh) 核内锁步模式的错误恢复
CN106575218B (zh) 持久性存储屏障处理器、方法、***和指令
US8180977B2 (en) Transactional memory in out-of-order processors
JP4829541B2 (ja) マルチレベル・レジスタ・ファイルを有するディジタル・データ処理装置
TWI740844B (zh) 用於資料處理的方法、設備、及電腦程式
TWI461912B (zh) 用於交易式記憶體系統中之硬體屬性之記憶體模式
US9081688B2 (en) Obtaining data for redundant multithreading (RMT) execution
JP2005149496A (ja) 交替スレッドを使用するプロセッサのエラー検出方法およびシステム
US9323527B2 (en) Performance of emerging applications in a virtualized environment using transient instruction streams
CN106663471B (zh) 用于反向存储器备份的方法和装置
US8601242B2 (en) Adaptive optimized compare-exchange operation
US10095542B2 (en) Cooperative thread array granularity context switch during trap handling
JP4531060B2 (ja) 投機的メモリサポートを利用した冗長なマルチスレッディングシステムにおける故障検出のための外部メモリの更新管理
US9594648B2 (en) Controlling non-redundant execution in a redundant multithreading (RMT) processor
TW201915761A (zh) 在例外遮罩更新指令之後允許未中止的交易處理
Haas et al. Fault-tolerant execution on cots multi-core processors with hardware transactional memory support
US20220413870A1 (en) Technology For Optimizing Memory-To-Register Operations
US7581152B2 (en) Fault free store data path for software implementation of redundant multithreading environments
US6898738B2 (en) High integrity cache directory
TWI485621B (zh) 用於選擇性執行確定指令的方法、裝置及系統
KR20240038497A (ko) 프로세서 및 프로세서에서의 소프트 에러 검출 방법
JPH05233288A (ja) 情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090717

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101005

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101013

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101112

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101203

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101210

A524 Written submission of copy of amendment under section 19 (pct)

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20110105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110218

R150 Certificate of patent or registration of utility model

Ref document number: 4691105

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees