JP2008515064A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2008515064A5 JP2008515064A5 JP2007533793A JP2007533793A JP2008515064A5 JP 2008515064 A5 JP2008515064 A5 JP 2008515064A5 JP 2007533793 A JP2007533793 A JP 2007533793A JP 2007533793 A JP2007533793 A JP 2007533793A JP 2008515064 A5 JP2008515064 A5 JP 2008515064A5
- Authority
- JP
- Japan
- Prior art keywords
- thread
- instruction
- checker
- tracking
- circuit
- 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
Links
- 230000000875 corresponding Effects 0.000 claims 17
Claims (28)
- コンピュータが、互いに離れて実行される先行スレッドおよび追跡スレッド内に、それぞれのスレッドからの出力値を指定するチェッカ命令を生成し、前記先行スレッド内に、前記出力値を指定する選択された命令を残して前記チェッカ命令を追加し、前記追跡スレッド内の前記選択された命令を前記生成した前記チェッカ命令で置き換える段階と、
前記コンピュータが、前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令を待つ段階と、
前記コンピュータが、前記先行スレッドおよび前記追跡スレッドからの前記対応するチェッカ命令を比較する段階と
を備える方法。 - 前記先行スレッド内に前記チェッカ命令を追加する場合に、前記選択された命令の前に前記チェッカ命令を挿入する
請求項1に記載の方法。 - 前記チェッカ命令は前記先行スレッドおよび前記追跡スレッドの対応するパイプラインでパイプライン処理される
請求項1または2に記載の方法。 - 前記コンピュータが、前記先行スレッドおよび前記追跡スレッドからの前記対応するチェッカ命令の比較が一致した場合に、前記チェッカ命令をコミットする段階
をさらに備える請求項1から3のいずれか一項に記載の方法。 - 前記コンピュータが、前記先行スレッドおよび前記追跡スレッドからの前記対応するチェッカ命令の比較が一致した場合に、前記先行スレッドの前記選択された命令に含まれる前記出力値を記憶する段階
をさらに備える請求項4に記載の方法。 - 前記先行スレッドおよび前記追跡スレッドは、単一のプロセッサによって実行される
請求項1から5のいずれか一項に記載の方法。 - 前記先行スレッドおよび前記追跡スレッドは、複数のプロセッサによって実行される
請求項1から5のいずれか一項に記載の方法。 - 前記コンピュータは、前記チェッカ命令によって、前記先行スレッドの命令をホールドすることなく、前記追跡スレッドの前記対応するチェッカ命令が現れるまでリタイアポインタをホールドする
請求項1から7のいずれか一項に記載の方法。 - スレッドからの出力値を指定するチェッカ命令が当該出力値を指定する選択された命令を残してスレッド内に追加された先行スレッドを実行する回路である先行スレッド回路と、
スレッドからの出力値を指定するチェッカ命令でスレッド内の前記選択された命令が置き換えられた追跡スレッドを実行する回路である追跡スレッド回路と、
互いに離れて実行される前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令を比較して、前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令をコミットするコミットユニットと
を備える装置。 - 前記先行スレッド回路および前記追跡スレッド回路はパイプラインを有する
請求項9に記載の装置。 - 前記先行スレッドおよび前記追跡スレッドは、単一のプロセッサによって実行される
請求項9または10に記載の装置。 - 前記先行スレッドおよび前記追跡スレッドは、複数のプロセッサによって実行される
請求項9または10に記載の装置。 - 前記先行スレッド回路および前記追跡スレッド回路に結合されるバッファ
をさらに備える請求項9から12のいずれか一項に記載の装置。 - 前記先行スレッドの前記チェッカ命令および前記追跡スレッドの前記チェッカ命令は、前記バッファにおいて対応するチェッカ命令を待つ
請求項13に記載の装置。 - 前記選択された命令が指定する出力値は、前記先行スレッドおよび前記追跡スレッドのそれぞれの前記対応するチェッカ命令の比較が一致する場合に記憶される
請求項9から14のいずれか一項に記載の装置。 - 前記コミットユニットは、前記対応するチェッカ命令が一致しない場合にエラーを生成する
請求項9から15のいずれか一項に記載の装置。 - 前記先行スレッドにおいて、前記チェッカ命令は前記選択された命令の前にバイナリトランスレータにより配置される
請求項9から16のいずれか一項に記載の装置。 - 前記選択された命令はストア命令である
請求項9から17のいずれか一項に記載の装置。 - 前記チェッカ命令は、前記先行スレッドの命令をホールドすることなく、前記追跡スレッドの前記対応するチェッカ命令が現れるまでリタイアポインタをホールドする
請求項9から18のいずれか一項に記載の装置。 - 第1プロセッサと、
第2プロセッサへの第1インタフェースと、
入/出力装置への第2インタフェースと、
前記第2インタフェースに結合されるオーディオ入出力装置と
を備え、
前記第1プロセッサは、
スレッドからの出力値を指定するチェッカ命令が当該出力値を指定する選択された命令を残してスレッド内に追加された先行スレッドを実行する回路である先行スレッド回路と、
スレッドからの出力値を指定するチェッカ命令で、スレッド内の前記選択された命令が置き換えられた追跡スレッドを実行する回路である追跡スレッド回路と、
互いに離れて実行される前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令を比較して、前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令をリタイアさせるリタイアユニットと
を有するシステム。 - 前記先行スレッド回路および前記追跡スレッド回路はパイプラインを含む
請求項20に記載のシステム。 - 前記選択された命令が指定する出力値は、前記先行スレッドおよび前記追跡スレッドのそれぞれの前記対応するチェッカ命令の比較が一致する場合に記憶される
請求項20または21に記載のシステム。 - 前記先行スレッド回路および前記追跡スレッド回路に結合されるバッファ
をさらに備える請求項20から22のいずれか一項に記載のシステム。 - 前記リタイアユニットは、前記対応するチェッカ命令が一致しない場合にエラーを生成する
請求項20から23のいずれか一項に記載のシステム。 - 前記先行スレッド内において、前記チェッカ命令は前記選択された命令の前にバイナリトランスレータにより配置される
請求項20から24のいずれか一項に記載のシステム。 - 前記選択された命令はストア命令である
請求項20から25のいずれか一項に記載のシステム。 - 前記第1インタフェースおよび前記第2インタフェースはポイントツーポイントインタフェースである
請求項20から26のいずれか一項に記載のシステム。 - 前記チェッカ命令は、前記先行スレッドの命令をホールドすることなく、前記追跡スレッドの前記対応するチェッカ命令が現れるまでリタイアポインタをホールドする
請求項20から27のいずれか一項に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/953,887 US7353365B2 (en) | 2004-09-29 | 2004-09-29 | Implementing check instructions in each thread within a redundant multithreading environments |
US10/953,887 | 2004-09-29 | ||
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 JP2008515064A (ja) | 2008-05-08 |
JP2008515064A5 true 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) |
Families Citing this family (16)
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 |
US9081688B2 (en) * | 2008-12-30 | 2015-07-14 | Intel Corporation | Obtaining data for redundant multithreading (RMT) execution |
US9594648B2 (en) * | 2008-12-30 | 2017-03-14 | Intel Corporation | Controlling non-redundant execution in a redundant multithreading (RMT) processor |
CN101551764B (zh) * | 2009-02-27 | 2010-11-10 | 北京时代民芯科技有限公司 | 基于同步冗余线程与编码技术的抗单粒子效应系统及方法 |
WO2011101707A1 (en) * | 2010-02-16 | 2011-08-25 | Freescale Semiconductor, Inc. | Data processing method, data processor and apparatus including a 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 |
JP2012208662A (ja) * | 2011-03-29 | 2012-10-25 | Toyota Motor Corp | マルチスレッド・プロセッサ |
US9842014B2 (en) | 2012-11-22 | 2017-12-12 | Nxp Usa, 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 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19625195A1 (de) * | 1996-06-24 | 1998-01-02 | Siemens Ag | Synchronisationsverfahren |
JPH1115661A (ja) * | 1997-06-26 | 1999-01-22 | Toshiba Corp | Cpuの自己診断方法 |
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 |
US6854075B2 (en) * | 2000-04-19 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | Simultaneous and redundantly threaded processor store instruction comparator |
US6854051B2 (en) * | 2000-04-19 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | Cycle count replication in a simultaneous and redundantly threaded processor |
-
2004
- 2004-09-29 US US10/953,887 patent/US7353365B2/en not_active Expired - Fee Related
-
2005
- 2005-09-29 TW TW094133998A patent/TWI317063B/zh not_active IP Right Cessation
- 2005-09-29 CN CN200580033073XA patent/CN101031887B/zh not_active Expired - Fee Related
- 2005-09-29 WO PCT/US2005/035375 patent/WO2006039595A2/en active Application Filing
- 2005-09-29 DE DE112005002370T patent/DE112005002370T5/de not_active Withdrawn
- 2005-09-29 GB GB0700979A patent/GB2430520B/en not_active Expired - Fee Related
- 2005-09-29 JP JP2007533793A patent/JP4691105B2/ja not_active Expired - Fee Related
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008515064A5 (ja) | ||
US9965274B2 (en) | Computer processor employing bypass network using result tags for routing result operands | |
US20180232237A1 (en) | Method and apparatus for efficient scheduling for asymmetrical execution units | |
US11379234B2 (en) | Store-to-load forwarding | |
US9250901B2 (en) | Execution context swap between heterogeneous functional hardware units | |
US8904153B2 (en) | Vector loads with multiple vector elements from a same cache line in a scattered load operation | |
US8386754B2 (en) | Renaming wide register source operand with plural short register source operands for select instructions to detect dependency fast with existing mechanism | |
JP5799465B2 (ja) | ループバッファ学習 | |
US9292291B2 (en) | Instruction merging optimization | |
KR101594502B1 (ko) | 바이패스 멀티플 인스턴스화 테이블을 갖는 이동 제거 시스템 및 방법 | |
US20120060016A1 (en) | Vector Loads from Scattered Memory Locations | |
JP5273982B2 (ja) | データ処理システム内のレジスタリネーミング | |
US9904554B2 (en) | Checkpoints for a simultaneous multithreading processor | |
US10049043B2 (en) | Flushing control within a multi-threaded processor | |
TW201037517A (en) | Memory model for hardware attributes within a transactional memory system | |
US9361113B2 (en) | Simultaneous finish of stores and dependent loads | |
WO2015017129A4 (en) | Multi-threaded gpu pipeline | |
CN105094747B (zh) | 基于smt的中央处理单元以及用于检测指令的数据相关性的装置 | |
KR101952209B1 (ko) | 벡터 레지스터 파일의 동적 재명명 기반의 레지스터 재구성 | |
TW201606645A (zh) | 在處理器管線中管理指令順序 | |
CN104516726A (zh) | 一种指令处理的方法及装置 | |
CA2657168A1 (en) | Efficient interrupt return address save mechanism | |
US9063855B2 (en) | Fault handling at a transaction level by employing a token and a source-to-destination paradigm in a processor-based system | |
US9442735B1 (en) | Method and apparatus for processing speculative, out-of-order memory access instructions | |
CN107003855B (zh) | 带进位的原子加法指令 |