JP2008515064A5 - - Google Patents

Download PDF

Info

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
Application number
JP2007533793A
Other languages
English (en)
Other versions
JP4691105B2 (ja
JP2008515064A (ja
Filing date
Publication date
Priority claimed from US10/953,887 external-priority patent/US7353365B2/en
Application filed filed Critical
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

Claims (28)

  1. コンピュータが、互いに離れて実行される先行スレッドおよび追跡スレッドそれぞれのスレッドからの出力値を指定するチェッカ命令を生成し、前記先行スレッドに、前記出力値を指定する選択された命令を残して前記チェッカ命令を追加し、前記追跡スレッド内の前記選択された命令を前記生成した前記チェッカ命令で置き換える段階と、
    前記コンピュータが、前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令を待つ段階と、
    前記コンピュータが、前記先行スレッドおよび前記追跡スレッドからの前記対応するチェッカ命令を比較する段階と
    を備える方法。
  2. 前記先行スレッド内に前記チェッカ命令を追加する場合に、前記選択された命令の前に前記チェッカ命令を挿入する
    請求項1に記載の方法。
  3. 前記チェッカ命令は前記先行スレッドおよび前記追跡スレッドの対応するパイプラインでパイプライン処理される
    請求項1または2に記載の方法。
  4. 前記コンピュータが、前記先行スレッドおよび前記追跡スレッドからの前記対応するチェッカ命令の比較が一致した場合に、前記チェッカ命令をコミットする段階
    をさらに備える請求項1から3のいずれか一項に記載の方法。
  5. 前記コンピュータが、前記先行スレッドおよび前記追跡スレッドからの前記対応するチェッカ命令の比較が一致した場合に、前記先行スレッドの前記選択された命令に含まれる前記出力値を記憶する段階
    をさらに備える請求項4に記載の方法。
  6. 前記先行スレッドおよび前記追跡スレッドは、単一のプロセッサによって実行される
    請求項1から5のいずれか一項に記載の方法。
  7. 前記先行スレッドおよび前記追跡スレッドは、複数のプロセッサによって実行される
    請求項1から5のいずれか一項に記載の方法。
  8. 前記コンピュータは、前記チェッカ命令によって、前記先行スレッドの命令をホールドすることなく、前記追跡スレッドの前記対応するチェッカ命令が現れるまでリタイアポインタをホールドする
    請求項1から7のいずれか一項に記載の方法。
  9. スレッドからの出力値を指定するチェッカ命令が当該出力値を指定する選択された命令を残してスレッド内に追加された先行スレッドを実行する回路である先行スレッド回路と、
    スレッドからの出力値を指定するチェッカ命令でスレッド内の前記選択された命令が置き換えられた追跡スレッドを実行する回路である追跡スレッド回路と、
    互いに離れて実行される前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令を比較して、前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令をコミットするコミットユニットと
    を備える装置。
  10. 前記先行スレッド回路および前記追跡スレッド回路はパイプラインを有する
    請求項9に記載の装置。
  11. 前記先行スレッドおよび前記追跡スレッドは、単一のプロセッサによって実行される
    請求項9または10に記載の装置。
  12. 前記先行スレッドおよび前記追跡スレッドは、複数のプロセッサによって実行される
    請求項9または10に記載の装置。
  13. 前記先行スレッド回路および前記追跡スレッド回路に結合されるバッファ
    をさらに備える請求項9から12のいずれか一項に記載の装置。
  14. 前記先行スレッドの前記チェッカ命令および前記追跡スレッドの前記チェッカ命令は、前記バッファにおいて対応するチェッカ命令を待つ
    請求項13に記載の装置。
  15. 前記選択された命令が指定する出力値は、前記先行スレッドおよび前記追跡スレッドのそれぞれの前記対応するチェッカ命令の比較が一致する場合に記憶される
    請求項9から14のいずれか一項に記載の装置。
  16. 前記コミットユニットは、前記対応するチェッカ命令が一致しない場合にエラーを生成する
    請求項9から15のいずれか一項に記載の装置。
  17. 前記先行スレッドにおいて、前記チェッカ命令は前記選択された命令の前にバイナリトランスレータにより配置される
    請求項9から16のいずれか一項に記載の装置。
  18. 前記選択された命令はストア命令である
    請求項9から17のいずれか一項に記載の装置。
  19. 前記チェッカ命令は、前記先行スレッドの命令をホールドすることなく、前記追跡スレッドの前記対応するチェッカ命令が現れるまでリタイアポインタをホールドする
    請求項9から18のいずれか一項に記載の装置。
  20. 第1プロセッサと、
    第2プロセッサへの第1インタフェースと、
    入/出力装置への第2インタフェースと、
    前記第2インタフェースに結合されるオーディオ入出力装置と
    を備え、
    前記第1プロセッサは、
    スレッドからの出力値を指定するチェッカ命令が当該出力値を指定する選択された命令を残してスレッド内に追加された先行スレッドを実行する回路である先行スレッド回路と、
    スレッドからの出力値を指定するチェッカ命令で、スレッド内の前記選択された命令が置き換えられた追跡スレッドを実行する回路である追跡スレッド回路と、
    互いに離れて実行される前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令を比較して、前記先行スレッドおよび前記追跡スレッドからの対応するチェッカ命令をリタイアさせるリタイアユニットと
    を有するシステム。
  21. 前記先行スレッド回路および前記追跡スレッド回路はパイプラインを含む
    請求項20に記載のシステム。
  22. 前記選択された命令が指定する出力値は、前記先行スレッドおよび前記追跡スレッドのそれぞれの前記対応するチェッカ命令の比較が一致する場合に記憶される
    請求項20または21に記載のシステム。
  23. 前記先行スレッド回路および前記追跡スレッド回路に結合されるバッファ
    をさらに備える請求項20から22のいずれか一項に記載のシステム。
  24. 前記リタイアユニットは、前記対応するチェッカ命令が一致しない場合にエラーを生成する
    請求項20から23のいずれか一項に記載のシステム。
  25. 前記先行スレッドにおいて、前記チェッカ命令は前記選択された命令の前にバイナリトランスレータにより配置される
    請求項20から24のいずれか一項に記載のシステム。
  26. 前記選択された命令はストア命令である
    請求項20から25のいずれか一項に記載のシステム。
  27. 前記第1インタフェースおよび前記第2インタフェースはポイントツーポイントインタフェースである
    請求項20から26のいずれか一項に記載のシステム。
  28. 前記チェッカ命令は、前記先行スレッドの命令をホールドすることなく、前記追跡スレッドの前記対応するチェッカ命令が現れるまでリタイアポインタをホールドする
    請求項20から27のいずれか一項に記載のシステム。
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 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)

* 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
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)

* 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
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

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) 带进位的原子加法指令