CN100375050C - 高可靠性处理器的片上机制 - Google Patents
高可靠性处理器的片上机制 Download PDFInfo
- Publication number
- CN100375050C CN100375050C CNB2003801066576A CN200380106657A CN100375050C CN 100375050 C CN100375050 C CN 100375050C CN B2003801066576 A CNB2003801066576 A CN B2003801066576A CN 200380106657 A CN200380106657 A CN 200380106657A CN 100375050 C CN100375050 C CN 100375050C
- Authority
- CN
- China
- Prior art keywords
- core
- frc
- processor
- cores
- mistake
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1654—Error 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
-
- 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
Abstract
一种处理器包括:在冗余(FRC)模式下工作的第一和第二执行核心;FRC检验单元,用于比较来自第一和第二执行核心的结果;和错误检验单元,用于检测第一和第二核心中的可恢复错误。所述错误检测器响应于可恢复错误的检测来使FRC检验器无效。处理器的多模式的实施例除FRC模式之外还实现了多核心模式。仲裁单元在多核心模式下调节对第一和第二执行核心所共享的资源的存取。在多模式的实施例中,所述FRC检验器位于邻近仲裁单元的地方。
Description
发明背景
技术领域
本发明涉及微处理器,具体来讲涉及用于处理启用FRC的处理器中的错误的机制。
背景技术
服务器及其它高端计算和通信系统被设计成能提供高水平的可靠性和可用性。软错误对这些属性中的所有属性都提出了一个主要的难题。软错误是由高能粒子(例如,α粒子)之间的碰撞以及存储节点的电荷而引起的。它们一般是在诸如高速缓存、TLB等等之类的存储阵列中,所述存储阵列包括大量的存储节点的电荷。它们还以随机状态的元件和逻辑出现。软错误的出现率(软错误率或SER)可能会随着设备几何尺寸缩小和设备密度增加而升高。
高度可靠的系统包含保护措施以便在软错误导致信号不通(silent)(例如,漏检、数据损坏(SDC))之前检测并管理软错误。然而,若到了支持高可靠性工作的错误检测/处理机制使系统远离其正常工作的程度,则会降低所述系统的可用性。例如,如果检测到错误,则一个这样的机制就将系统重置到其最近已知的有效状态。所述系统当它忙于重置操作时不可用来执行其指定的任务。
一个众所周知的用于检测软错误的机制就是:功能性冗余检查(FRC)。针对FRC启用的单个处理器可以包括复制的指令执行核心,在所述指令执行核心上运行相同的指令码。依据特定的实施例,每个复制的执行核心除基本的执行单元(整数、浮点、加载存储等等)之外还可以包括一个或多个高速缓存、寄存器堆和支持资源。FRC硬件比较每个核心产生的结果,并且如果检测到差异的话,则所述FRC系统就把控制权传递给错误处理例程。在其上比较来自不同执行核心的结果的点表示系统的FRC边界。在FRC边界上未检测到的错误可能会导致SDC。
由于FRC错误仅仅表示执行核心在结果上不一致,因而FRC错误是可检测的而不是可恢复的。如上所述,所述FRC错误处理例程通常将系统重置到可靠数据的最后一个已知点。这个重置机制是相对费时的。它使系统远离其正常工作,从而降低了系统可用性。
FRC仅仅是一种用于处理软错误的机制,而对于随机逻辑和随机状态的元件而言,它是初级的机制。阵列结构显现了不同的画面。阵列结构典型地包括奇偶校验和/或ECC硬件,所述奇偶校验和/或ECC硬件通过检查数据的属性来检测软错误。在很多情况下,所述系统能够利用相对快速的硬件或软件机制来纠正数据损坏所产生的错误。然而,对于启用FRC的处理器而言,这类错误很可能被表明成FRC错误,因为它们占用了锁步(lock-step)以外的执行核心。通过重置机制来处理这些另外的可恢复错误降低了系统可用性。
本发明致力解决用于有效地在启用FRC的处理器中组合可恢复的和无法恢复的错误处理机制的机制。
附图简要说明
参照下列附图理解本发明,在附图中相似的元件是用相同的数字标记的。提供这些附图以举例说明本发明的选定实施例,而不是用于限定本发明的范围。
图1是包括双执行核心和FRC检测和处理逻辑的处理器的框图;
图2是图1的处理器的实施例的框图,所述处理器能在多种模式下进行工作;
图3A是实现图2的多模式处理器的计算系统的一个实施例的框图;
图3B是用于发信号通知图3A的计算系统中的可恢复错误的机制的框图;
图4是表示图3A的计算系统的数据路径的框图;
图5是表示用于从执行核心中的软错误恢复的机制的一个实施例的流程图;
图6是表示用于从多执行核心处理器中的软错误恢复的机制的一个实施例的流程图;
图7是表示减轻可恢复的和无法恢复的错误机制之间的竞赛状况的FRC检验器的一个实施例的框图。
发明详述
下列论述阐述了许多的具体细节以便于对本发明的彻底理解。然而,得益于本公开的利益的本领域的普通技术人员将会认识到:本发明可以在没有这些具体细节的情况下加以实施。另外,为了把注意力集中在本发明的特征上,没有详细描述各种众所周知的方法、程序、组件和电路。例如,本发明利用双核心处理器来举例说明的多个方面,但是本领域的技术人员将会认识到:可以按照对重置和恢复机制的适当修改来使用两个核心以上的核心。
图1是依照本发明的表示启用FRC的处理器110的一个实施例的框图。处理器110包括:第一和第二执行核心120(a)、120(b)(一般是,执行核心120)、FRC检验器130、错误检测器140、恢复模块150、重置模块160和共享资源170。用虚线104表示FRC边界的一部分。为了说明起见,恢复模块150和重置模块160都示作为处理器110的一部分。这些模块可以完全或部分地作为硬件、固件或软件来实现,并且位于处理器小片之上或之外。同样,共享资源170可以包括位于处理器小片上的组件以及位于一个或多个不同的小片上的组件。
每个执行核心120都包括:分别进入FRC检验器130和错误检测器140的数据流水线124和错误流水线128。数据流水线124表示对各种类型的数据进行操作的逻辑,因为它是经处理器110朝FRC检验器130移动的。数据流水线124所处理的数据可以包括:在代码执行期间通过处理器110产生和分级的结果操作数、状态标志、地址、指令等等。错误流水线128表示对各种类型的数据进行操作以检测数据中的错误并向错误检测器140提供适当信号的逻辑。例如,所述信号可以是表示从处理器110的各种存储阵列(未示出)中检索出的数据的奇偶校验或ECC状态的一个或多个位(标志)。当遭破坏的数据被存取时,这些阵列中的软错误可以表现为奇偶校验或ECC错误标志。
如果错误从任一核心120到达错误检测器140,则就激活恢复模块150以执行恢复例程。可以以相对低的等待时间来通过硬件、软件、固件或这些硬件、软件和固件的某种组合来实现恢复。例如,存在极小的可能性就是:数据是在相同的(或几乎相同的)时间上、在两个执行核心120中遭破坏的。这留下可用数据的未遭破坏的复本以恢复到处理器110的数据完整性。然而,如果在激活恢复模块150之前允许来自一个执行核心的遭破坏的数据和来自其它执行心的未遭破坏的数据版本到达FRC检验器130,则将触发FRC错误。由于FRC错误是不可恢复的,因此如果FRC检验器130在已检测到下层的奇偶校验/ECC错误之前发信号通知FRC错误,则重置模块160就会重置系统。
并非所有的FRC错误对于下层的奇偶校验/ECC或其它可纠正的软错误而言都是可追踪的。对于那些而言,错误检测器140寻址下层的软错误比当遭破坏的数据到达FRC边界104时的FRC检验器寻址FRC错误更快。如上所述,重置过程具有比恢复过程明显更长的等待时间,并且如果能够通过恢复模块150来纠正所述错误的话,则将会避免这种情况的发生。另外,重置通常引起整个系统瘫痪,而恢复仅仅导致临时的性能损失。为此,由于执行核心120不再在锁步中,因此如果错误检测器140检测到任一条错误流水线128中的错误,则就暂时地FRC检验器130无效。
执行核心120在正常的FRC模式期间在锁步中工作,但数据流水线124和错误流水线128可以相对独立地进行工作。例如,ECC硬件是相对复杂的,因此是相对慢的,特别是对于2位的错误而言更是如此。发信号通知这样一个错误的标志可以在与之相关联的数据到达FRC检验器130之前、之后和同时到达错误检测器140。这种灵活性通常是有利的。例如,它允许数据在它的错误状态得到确定之前被投机性地使用。由于软错误是相对比较罕见的,而错误流水线128通常同数据流水线124一样快,因此这种灵活性是纯积极的。只要错误标记及时地到达错误检测器140以便在FRC检验器130对因遭破坏的数据而造成的失配起作用之前使该FRC检验器无效,恢复例程就占用相对低的等待时间。
正如下面论述的那样,处理器110可以实施减轻可恢复的错误机制和无法恢复的错误机制之间的竞赛的策略。例如,可以在FRC模式下使用流线化的发信号机制,以便万一发生非FRC错误时加速FRC检验器130的无效。另外,假如最近到达的可恢复错误信号消除了对重置的需要,则可以在重置之前先使FRC错误延迟一段时间间隔。
对于本发明的一个实施例而言,处理器110能够在高可靠性(例如,FRC)模式或高性能(例如,多核心)模式下进行工作。例如,当引导或重置包括处理器110的计算系统时,可以选择操作模式。在FRC模式下,执行核心120(a)和120(b)可能对于操作系统而言看起来是单个逻辑处理器。执行核心120(a)和120(b)处理相同的代码序列,并且由FRC检验器130来比较所产生的结果。如果结果一致,则更新与代码序列相对应的机器状态。
在FRC模式下,可以把执行核心120之一指定为主执行核心。所述主执行核心是指负责更新执行核心120所共享的资源的执行核心。可以把其它执行核心120指定为从执行核心。所述从执行核心负责从将要相对于那些主执行核心检验的相同代码序列中得出结果。由于在主执行核心或从执行核心中可能会发生错误,因此本发明的实施例允许主/从执行核心指定被动态地改变。正如下面论述的那样,如果在目前指定作为主执行核心的执行核心中检测到可恢复错误,则这允许从执行核心能够接替主执行核心指定以执行恢复。
在多核心模式下,执行核心120(a)和120(b)可能对于操作系统而言看起来像单个处理器小片上的两个不同的逻辑处理器。在这种模式下,执行核心120(a)和120(b)处理不同的代码序列,并且每一个执行核心都更新与它处理的代码序列相关联的机器状态。可以把逻辑处理器的部分机器状态存储在与对应的执行核心相关联的高速缓存和/或寄存器中。在处理器小片上的某些点上,将来自执行核心120(a)和120(b)的结果路由至共享资源170,以供例如在处理器小片(总线)以外进行存储(高速缓存)或传输。对于这个实施例而言,提供附加的逻辑以调解执行核心120(a)和120(b)对共享资源170的存取。一般而言,多核心模式允许处理器的执行核心被独立地控制权。
图2是表示能在多种模式(例如,FRC模式和多核心模式)下工作的处理器110的实施例的框图。对于所公开的实施例而言,当处理器110在多核心模式下工作时,提供仲裁单元180来管理到执行核心120(a)和120(b)的共享资源170的事务。仲裁单元180是与FRC单元130相关联的,它将多核心模式工作的仲裁点置于邻近FRC模式工作的FRC边界的地方。在多核心模式下,可以由仲裁单元180对来自执行核心120的信号(例如,事务请求信号)进行处理,所述仲裁单元管理对共享资源(170)的存取。在FRC模式下,可以由FRC检验器130处理来自执行核心120的信号,所述FRC检验器130将它们进行比较以检测任一执行核心中的软错误。紧密接近地定位FRC检验器130和仲裁单元180扩大了FRC边界以包含大部分的逻辑(不一定都包含),对于所述大部分的逻辑而言来自两个执行核心的信号仍然是有差别的。在FRC和多核心模式下还减少了支持处理器110所必需的导线。
以这种方式扩大FRC边界自然地增加了向FRC检验器130传送信号需要的时间。这种增加的“飞行时间(flight time)”为奇偶校验或ECC错误到达检测器140提供了更多的时间,从而提升了错误恢复的机会。如上所述,错误检测器140所触发的恢复例程提供了比FRC检验器130所触发的重置例程更高的系统可用性。扩大FRC边界由此增加了为执行核心120复制的逻辑的数量,还增加了其间可以识别可检测到的错误的飞行时间。虽然通过重置机制,但前者增强了FRC保护。后者增加了通过恢复而非重置来对可通过奇偶校验、ECC或类似的核心特定的保护而识别出的错误进行处理的可能性。
图3A是表示依照本发明的计算系统300的一个实施例的框图。所公开的系统300的实施例包括:处理器310、芯片组370、主存储器380、非易失性存储器390和外围设备398。对于所公开的系统300的实施例而言,可以在FRC模式或多核心模式下操作处理器310。例如当引导或重置计算系统300时,可以选择所述模式。芯片组370管理处理器310、主存储器380、非易失性存储器390和外围设备398之间的通信。
处理器310分别包括第一和第二执行核心320(a)和320(b)(一般地,执行核心320)。每一个执行核心都包括执行资源324和总线簇328。执行资源324例如可以包括:一个或多个整数、浮点、加载/存储和分支执行单元以及寄存器堆和高速缓存,以给它们提供数据(例如,指令、操作数、地址)。总线簇328表示用于管理到执行核心320(a)和320(b)所共享的高速缓存340的事务以及到前侧总线360的事务的逻辑,针对那些事务该前侧总线360(?)可能会在共享的高速缓存340中丢失。与图1和2的错误流水线相对应的资源可能是与执行资源324和/或总线簇328相关联的。
接口单元(IFU)330(a)、330(b)(一般地,IFU 330)表示执行核心320和共享资源、高速缓存340和FSB 360之间的边界。所公开的IFU 330的实施例包括:FRC单元332和仲裁单元334。如上所述,FRC单元332和仲裁单元334从执行核心320那里接收信号,并且将它们定位在彼此邻近的位置上导致处理器小片上的导线的显著节省。在图3A中还示出的是:错误单元336(a)和336(b),其包括监视执行核心320(a)和320(b)中的可检测到的错误的组件。
对于FRC模式而言,FRC单元332为到像高速缓存340和FSB 360这样的共享资源的事务而比较来自执行核心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的实施例还包括中断控制器370(a)和370(b)(一般地,中断控制器370),用于分别处理执行核心320(a)和320(b)的中断。示出了每一个中断控制器370都分别具有第一和第二组件374和378,以适应中断控制器370可以按之工作的不同时钟域。例如,FSB 360典型地以与处理器310不同的频率工作。因此,直接与FSB 360进行交互的处理器310的组件典型地按其时钟域进行工作,所述时钟域表示为处理器310上的区域364。
所公开的中断控制器370的实施例还包括XOR 372形式的类似FRC边界的组件。如果XOR 372检测到来自执行核心320(a)和320(b)的组件374(a)和374(b)的输出信号(例如,中断响应)之间的失配,则该XOR 372就会发信号通知FRC错误。然而,可归因于中断控制器370的错误仍然可能源自于FSB时钟域364中的组件378(a)、378(b)中的软错误。这些错误可以通过执行核心320(a)和320(b)的后续操作之间的它们引入的差异得以检测出来。
对于所公开的系统300的实施例而言,常见的监听块362处理往返于执行核心320(a)和320(b)的监听事务。XOR 366提供对来自执行核心320(a)、320(b)的监听响应的FRC检验,并且如果检测到失配则发信号通知错误。如果处理器310是在多核心模式下工作的,则可以使XOR 372和366无效。
图3B是表示用于向计算系统300的组件广播可恢复的错误状况的设备344的一个实施例的框图。例如,错误单元336(a)和336(b)可以分别表示针对执行核心320(a)和320(b)的各种阵列(寄存器、高速缓存、缓冲器等等)的ECC或奇偶错误检测逻辑和/或用于处理这些错误的异常逻辑。或门338监视来自于执行核心320的错误信号,并且如果声明了任一错误信号则声明信号以使FRC单元332无效。所述错误信号可以是高级中断、比如为Itanium处理器定义的机器检查取消(MCA)。此外还将或门338的输出反馈到执行核心320以向无误差执行核心表明将要启动恢复机制。提供第二或门339以便从所述共享资源向执行核心320传送错误信号。
如果错误信号未使FRC单元332无效,则遭破坏的数据就触发FRC错误,并且把另外的可恢复错误当作为不可恢复的错误(例如,FRC错误)。也就是说,所述系统经历了重置操作而非较短的恢复操作。取决于所述系统的特定实施方式,可能有许多种情况,其中结束了来自执行核心的错误信号和失配数据信号之间对FRC单元332的(由可恢复错误所产生的)竞赛。为此,设备344可以包括一个用以至少在FRC模式下加速错误信号传送的机制。
对于一个实施例而言,设备334支持诸如在FRC和高性能模式这两种模式下工作的MCA的高级中断。在高性能模式下,错误信号例如在执行核心的前端中或在L2高速缓存中经历流水线停顿。这确保了不会占用不必要的MCA,因为触发所述停顿的事件可能使错误信号未解决(moot)。在FRC模式下,错误信号绕过这些停顿。绕过FRC中的停顿可能导致某些不必要错误信号的处理,但是它同时也降低了在(非FRC)错误信号使FRC单元332无效之前触发FRC错误的可能性。正如结合图7论述的那样,处理器110的实施例还可以包括:用于减轻错误信号和反映遭破坏的数据的核心信号之间的竞赛的硬件机制。
图4是表示用于计算系统310的一个实施例的数据路径的框图,所述计算系统包括FRC组件以在FRC模式下支持处理器310。对于所公开的实施例而言,高速缓存340、FSB 360和执行核心320是经由一系列缓冲器耦合起来的。例如,写输出缓冲器(WOB)410将从高速缓存340中驱逐出的数据分级到主存储器380,并且监听数据缓冲器(SDB)420响应于执行核心320或高速缓存340当中的监听命中,把来自这些结构的监听数据提供给FSB 360(执行核心320除共享高速缓存340之外还可能每一个都具有一层或多层高速缓存)。
一对写线缓冲器(WLB)430(a)、430(b)分别将来自执行核心320(a)、320(b)的数据分级到高速缓存340或FSB 360,并且一对读线缓冲器440(a)、440(b)将来自FSB 360的数据分级到高速缓存340或执行核心320。聚结缓冲器(CB)450(a)、450(b)把将要写入存储器380的数据集合起来并周期性地将其转发到FSB 360。例如,可以在触发FSB 360上的写事务之前,在CB 450中把写到存储器的同一行中的多个数据集中起来。
对于所公开的实施例而言,当处理器310在FRC模式下工作时,与这些缓冲器相关联的逻辑提供FRC检验和数据路由选择功能。例如,逻辑块454表示CB 450(a)、450(b)中的数据的MUX和XOR功能。如果处理器310是在FRC模式下工作的,则所述XOR功能就提供FRC检查。如果处理器是在多核心模式下工作的,则所述MUX功能就提供数据路由选择。逻辑块434和444分别提供WLB 430(a)、430(b)和RLB 440(a)、440(b)中的数据的类似功能。MUX 460、470和480将来自不同源的数据路由到高速缓存340、FSB 360和执行核心320。
如上所述,针对在FRC边界内检测到的错误的恢复机制可以通过硬件、软件和固件模块的各种组合来处理。恢复机制的一个实施例采用了与处理器密切相关联的代码。例如,英特尔公司的Itanium处理器系列采用了称为处理器提取层(PAL)的固件层,所述处理器提取层给其余的计算系统提供了处理器的提取。在PAL中实施恢复隐藏了来自系统级代码的恢复过程、比如系统提取层(SAL)(例如BIOS)和操作系统。基于PAL的恢复机制实施方式将能足够快地避免触发操作系统所强制的超时周期。恢复机制还可以利用系统级代码(例如,SAL/BIOS)或操作系统代码来实现。后一种实施方式可以不必受到与基于PAL的实施方式相同的时间限制的支配。除非另作说明,否则下面论述的恢复机制都可以利用与任何上述源相关联的代码加以实施。
图5是表示用于在错误触发FRC重置之前从其中一个执行核心中检测到的错误恢复的机制的流程图。响应于在其中一个执行核心中检测到的奇偶校验、ECC或其它错误,广播信号以表明恢复例程的启动(510)。只要在错误触发FRC重置之前检测到该错误,那么就能够将遭破坏的数据定位到其中一个执行核心上,从而留下可用于恢复的其它执行核心的机器状态数据。所以,保存好核心的机器状态(520)。为了准备处理器以供恢复,将两个核心初始化成指定的状况(530),并且将已保存的机器状态恢复540到被初始化的核心。继而,恢复FRC模式(550)并且处理器返回到中断码(560)。
对于本发明的实施例而言,当处理器110是在FRC模式下工作时,可以把其中一个执行核心120指定为主核心,而把其它的指定为从核心。对于这个实施例而言,在FRC边界上比较主核心和从核心所产生的信号,以判断重置是否是必需的。如果没有批准FRC重置,则就把主核心所产生的信号传送给共享资源170,并且丢弃从核心所产生的信号。对于这个实施例而言,每一个执行核心120的状态寄存器中的位都可以用来表示它作为主核心或从核心的状态。例如当引导或重置系统时,可以设置所述位。正如在下面更加详细地论述的那样,也可以动态地改变执行的主/从状态以允许恢复任一核心中的错误。对于在FRC边界内检测到的错误而言(例如,可恢复错误),主和从核心的动作可能依哪个核心产生所述错误而有所不同。
图6是表示用于从执行核心中检测到的错误的恢复的机制600的一个实施例的流程图,所述执行核心被指定为从执行核心。在左边显示了从执行核心的操作,在右边显示了主执行核心的操作。
如果从执行核心检测到错误(奇偶校验、ECC等等)(610),则启动例程600。从核心触发中断以向计算系统的其它组件发信号通知错误状况(620)。对于PAL或类似的处理器级代码所实现的例程600的实施例而言,中断信号的广播可以限于处理器芯片内的组件、比如主执行核心。除发信号通知错误之外,所述从执行核心使FRC单元无效并暂停它的活动(630)。使FRC单元无效防止了错误在到达FRC边界时触发FRC重置,而暂停从核心中的活动防止它干扰恢复过程。
作为对中断的响应(624),主执行核心确定它的状态数据是否包含任何的错误(640)。例如,每一个执行核心都可以包含状态位,如果检测到错误的话就设置该状态位。所述主执行核心可以检验这个位以确定它是否也已经产生了错误。除如下的极为罕见的情况之外,在该情况下软错误几乎同时地发生在两个执行核心中,主核心很可能将被清除(clean)。如果未被清除(640),则就不存在用以实施恢复的未遭破坏的处理器状态。在这种情况下,所述主核心向从核心发信号通知重置状况(642),并且计算系统执行完全的重置(例如,FRC级重置)(644)。
如果针对主核心的状态数据未遭破坏,那么主核心保存它的机器状态(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以执行恢复例程。
由此,已经公开了一种用于处理多核心处理器中的可恢复的和无法恢复的错误的机制。所述多个核心可以在FRC模式下进行工作,在这种情况下,一个或多个检验器单元比较来所述核心的信号以检测无法恢复的错误。另外,每个核心都包含错误单元以检测可恢复的错误。如果检测到可恢复的错误,则使检验器单元无效并且执行恢复例程。多核心处理器的多核心模式实施例可以包含邻近于检验器的仲裁单元,以控制对共享资源的存取。对共享资源的FRC边界的接近性增多了受FRC边界保护的逻辑,并减少了多核心模式实施方式所必需的导线。
本发明的实施例实际上检测到在非启用FRC的系统中漏检的所有错误,并且它们支持实际上所有可检测的错误的恢复,包括那些实际上通过在其它启用FRC的处理器中进行重置所处理的可检测的错误。
已经提供了所公开的实施例以举例说明本发明的各种特征。持有本公开的利益的处理器设计领域的技术人员将会认识到:所公开的实施例的变形和修改仍然落入所附权利要求的精神和范围内。
Claims (16)
1.一种处理器,其包括:
在FRC模式下工作的第一和第二执行核心,其中第一和第二执行核心还可以在多核心模式下工作;
用于处理来自第一和第二执行核心中的至少一个的事务的资源;
接口控制单元,用于调节第一和第二执行核心对资源的存取,所述接口控制单元包括FRC检验单元,用于比较来自第一和第二执行核心的事务信号并且如果所述比较结果表明失配则发信号通知错误,并且所述接口控制单元还包括仲裁单元,用于如果执行核心在多核心模式下工作则调节执行核心对资源的存取;和
错误检测器,用于分别检测第一和第二执行核心中的错误并且用于响应于对错误的检测而使FRC检验单元无效。
2.如权利要求1所述的处理器,其中所述错误检测器包括第一和第二错误检验器,用于分别检测第一和第二执行核心中的错误。
3.如权利要求2所述的处理器,其中第一错误检测器响应于第一执行核心中的错误而触发错误信号,以便使FRC检验单元无效并且利用第二执行核心启动恢复过程。
4.如权利要求3所述的处理器,其中把第二执行核心指定为FRC从执行核心,并且响应于错误信号将其重新指定为FRC主执行核心。
5.如权利要求4所述的处理器,其中第二执行核心将它的机器状态数据保存到存储单元,并且执行重置序列。
6.如权利要求1所述的处理器,其中所述资源包括高速缓存,其可以在多核心模式下处理来自第一和第二核心两者的事务,并且可以在FRC模式下处理仅来自第一和第二核心的其中一个的事务。
7.如权利要求1所述的处理器,其中,响应于对错误的检测,如果所述处理器处于多核心模式则所述错误检测器触发中断,而如果所述处理器处于FRC模式则触发加速的中断。
8.如权利要求7所述的处理器,其中所述加速的中断在多核心模式下旁路通过中断而反转的执行核心的部分。
9.一种系统,其包括:
第一存储单元,用于存储恢复例程;
第二存储单元,用于存储重置例程;
能在FRC模式下进行工作的第一和第二执行核心;
错误单元,用于响应于对第一和第二执行核心的其中一个中的错误的检测而启动恢复例程,其中错误单元响应于对第一和第二执行核心的其中一个中的错误的检测而使FRC检验单元无效;和
FRC检验器,用于响应于对来自第一和第二执行核心的信号之间的失配的检测而启动重置例程,其中重置例程包括由第一和第二执行核心可执行的指令,用于在多核心模式或FRC模式下初始化第一和第二执行核心;
高速缓存,用于如果在多核心模式下初始化第一和第二执行核心,则将由第一和第二执行核心共享;
仲裁单元,用于在多核心模式下管理第一和第二执行核心对高速缓存的存取。
10.如权利要求9所述的系统,其中所述FRC检验器在FRC模式下监视从第一和第二执行核心到仲裁单元的事务信号,并响应于事务信号中的失配而启动重置例程。
11.如权利要求9所述的系统,其中第一和第二执行核心在FRC模式下分别作为主和从执行核心进行工作。
12.如权利要求11所述的系统,其中响应于第一执行核心中的错误,使第一执行核心无效并且第二执行核心作为主执行核心进行工作。
13.如权利要求9所述的系统,其中可以在多核心模式或FRC模式下初始化第一和第二执行核心。
14.如权利要求13所述的系统,其中所述错误单元响应于执行核心的其中一个中的错误,对第一和第二执行核心触发中断。
15.如权利要求14所述的系统,其中如果执行核心处于FRC模式,则所述中断是加速的中断。
16.如权利要求15所述的系统,其中所述加速的中断旁路执行核心的一部分。
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 |
US10/324,957 | 2002-12-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1729456A CN1729456A (zh) | 2006-02-01 |
CN100375050C true CN100375050C (zh) | 2008-03-12 |
Family
ID=32593612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003801066576A Expired - Fee Related CN100375050C (zh) | 2002-12-19 | 2003-11-13 | 高可靠性处理器的片上机制 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7055060B2 (zh) |
EP (1) | EP1573544B1 (zh) |
JP (1) | JP2006510117A (zh) |
CN (1) | CN100375050C (zh) |
AT (1) | ATE461484T1 (zh) |
AU (1) | AU2003287729A1 (zh) |
DE (1) | DE60331771D1 (zh) |
HK (1) | HK1079316A1 (zh) |
TW (1) | TWI236620B (zh) |
WO (1) | WO2004061666A2 (zh) |
Families Citing this family (87)
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 |
US7853819B2 (en) * | 2004-10-25 | 2010-12-14 | Robert Bosch Gmbh | Method and device for clock changeover in a multi-processor system |
EP1820093B1 (de) * | 2004-10-25 | 2018-08-15 | Robert Bosch Gmbh | Verfahren und einrichtung zum umschalten in einem computersystem mit mindestens zwei ausführungseinheiten |
DE502005005286D1 (de) * | 2004-10-25 | 2008-10-16 | Bosch Gmbh Robert | Vorrichtung und verfahren zur modusumschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten |
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 |
KR101017444B1 (ko) * | 2004-10-25 | 2011-02-25 | 로베르트 보쉬 게엠베하 | 적어도 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 |
DE102005037233A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Datenverarbeitung |
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 |
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 |
US8074110B2 (en) * | 2006-02-28 | 2011-12-06 | Intel Corporation | Enhancing reliability of a many-core processor |
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 | 非対称マルチプロセッサ |
US20100325481A1 (en) * | 2006-10-20 | 2010-12-23 | 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 |
ATE537502T1 (de) * | 2007-03-29 | 2011-12-15 | Fujitsu Ltd | Informationsverarbeitungsvorrichtung und fehlerverarbeitungsverfahren |
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 | 华为技术有限公司 | 一种实现高可用性的方法、系统和装置 |
CN103443774A (zh) * | 2007-09-25 | 2013-12-11 | 富士通株式会社 | 信息处理装置和控制方法 |
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 |
JP4876093B2 (ja) * | 2008-03-31 | 2012-02-15 | 株式会社日立製作所 | 制御装置のタスク管理装置、及び、制御装置のタスク管理方法 |
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 | データチェック回路 |
JP4911372B2 (ja) * | 2009-10-06 | 2012-04-04 | 日本電気株式会社 | Cpu再リセットを伴うcpu再初期化時におけるタイムアウト防止方法、その装置及びそのプログラム |
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 |
CN102812440B (zh) | 2010-03-24 | 2016-05-04 | 富士通株式会社 | 多核系统以及起动方法 |
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 |
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 |
US10096389B2 (en) | 2012-05-21 | 2018-10-09 | 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 |
EP2864845B1 (de) * | 2012-07-17 | 2016-09-07 | Siemens Aktiengesellschaft | Automatisierte rekonfiguration eines ereignisdiskreten regelkreises |
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 (zh) * | 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 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4012717A (en) * | 1972-04-24 | 1977-03-15 | Compagnie Internationale Pour L'informatique | Bi-processor data handling system including automatic control of exchanges with external equipment and automatically activated maintenance operation |
US5689632A (en) * | 1994-06-14 | 1997-11-18 | Commissariat A L'energie Atomique | Computing unit having a plurality of redundant computers |
US5915082A (en) * | 1996-06-07 | 1999-06-22 | Lockheed Martin Corporation | Error detection and fault isolation for lockstep processor systems |
US6173351B1 (en) * | 1998-06-15 | 2001-01-09 | Sun Microsystems, Inc. | Multi-processor system bridge |
WO2001046806A1 (en) * | 1999-12-21 | 2001-06-28 | Intel Corporation | Firmware mechanism for correcting soft errors |
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 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3701972A (en) | 1969-12-16 | 1972-10-31 | Computer Retrieval Systems Inc | Data processing system |
US4325120A (en) | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
JPH01307815A (ja) | 1988-06-07 | 1989-12-12 | Mitsubishi Electric Corp | 情報処理装置のリセット方式 |
EP0356538B1 (en) | 1988-08-27 | 1993-12-22 | International Business Machines Corporation | Arrangement in data processing system for system initialization and reset |
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 |
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 |
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 |
JP3917817B2 (ja) | 1998-04-03 | 2007-05-23 | 株式会社ルネサステクノロジ | 半導体装置 |
US6615366B1 (en) * | 1999-12-21 | 2003-09-02 | Intel Corporation | Microprocessor with dual execution core operable in high reliability mode |
US6640313B1 (en) | 1999-12-21 | 2003-10-28 | Intel Corporation | Microprocessor with high-reliability operating mode |
-
2002
- 2002-12-19 US US10/324,957 patent/US7055060B2/en not_active Expired - Fee Related
-
2003
- 2003-11-13 WO PCT/US2003/036345 patent/WO2004061666A2/en active Application Filing
- 2003-11-13 CN CNB2003801066576A patent/CN100375050C/zh not_active Expired - Fee Related
- 2003-11-13 AU AU2003287729A patent/AU2003287729A1/en not_active Abandoned
- 2003-11-13 EP EP03781936A patent/EP1573544B1/en not_active Expired - Lifetime
- 2003-11-13 AT AT03781936T patent/ATE461484T1/de not_active IP Right Cessation
- 2003-11-13 DE DE60331771T patent/DE60331771D1/de not_active Expired - Lifetime
- 2003-11-13 JP JP2004564986A patent/JP2006510117A/ja active Pending
- 2003-11-14 TW TW092132000A patent/TWI236620B/zh not_active IP Right Cessation
-
2006
- 2006-02-14 HK HK06101867.2A patent/HK1079316A1/xx not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4012717A (en) * | 1972-04-24 | 1977-03-15 | Compagnie Internationale Pour L'informatique | Bi-processor data handling system including automatic control of exchanges with external equipment and automatically activated maintenance operation |
US5689632A (en) * | 1994-06-14 | 1997-11-18 | Commissariat A L'energie Atomique | Computing unit having a plurality of redundant computers |
US5915082A (en) * | 1996-06-07 | 1999-06-22 | Lockheed Martin Corporation | Error detection and fault isolation for lockstep processor systems |
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 |
WO2001046806A1 (en) * | 1999-12-21 | 2001-06-28 | Intel Corporation | Firmware mechanism for correcting soft errors |
Also Published As
Publication number | Publication date |
---|---|
JP2006510117A (ja) | 2006-03-23 |
TWI236620B (en) | 2005-07-21 |
WO2004061666A3 (en) | 2005-06-23 |
US7055060B2 (en) | 2006-05-30 |
AU2003287729A1 (en) | 2004-07-29 |
EP1573544A2 (en) | 2005-09-14 |
CN1729456A (zh) | 2006-02-01 |
WO2004061666A2 (en) | 2004-07-22 |
HK1079316A1 (en) | 2006-03-31 |
TW200416595A (en) | 2004-09-01 |
DE60331771D1 (de) | 2010-04-29 |
ATE461484T1 (de) | 2010-04-15 |
US20040123201A1 (en) | 2004-06-24 |
AU2003287729A8 (en) | 2004-07-29 |
EP1573544B1 (en) | 2010-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100375050C (zh) | 高可靠性处理器的片上机制 | |
US7613948B2 (en) | Cache coherency during resynchronization of self-correcting computer | |
US8234521B2 (en) | Systems and methods for maintaining lock step operation | |
CA1311849C (en) | Fault tolerant computer system with fault isolation and repair | |
US5249187A (en) | Dual rail processors with error checking on I/O reads | |
US4907228A (en) | Dual-rail processor with error checking at single rail interfaces | |
US8205136B2 (en) | Fault tolerant encoding of directory states for stuck bits | |
JPH01258057A (ja) | 複数のプロセッサを同期する装置 | |
TW366447B (en) | Fault tolerant computer system | |
CN101539875A (zh) | 纠正软错误的固件机制 | |
JPH056308A (ja) | キヤツシユ・コントローラ並びにフオールト・トレラント・コンピユータ及びそのデータ転送方式 | |
US20040216003A1 (en) | Mechanism for FRU fault isolation in distributed nodal environment | |
JP3301992B2 (ja) | 電源故障対策を備えたコンピュータシステム及びその動作方法 | |
CN111104243B (zh) | 一种低延迟的双模lockstep容软错误处理器系统 | |
EP1380950B1 (en) | Fault tolerant information processing apparatus | |
US7216252B1 (en) | Method and apparatus for machine check abort handling in a multiprocessing system | |
US7194671B2 (en) | Mechanism handling race conditions in FRC-enabled processors | |
US7689891B2 (en) | Method and system for handling stuck bits in cache directories | |
JP2968484B2 (ja) | マルチプロセッサ計算機及びマルチプロセッサ計算機における障害復旧方法 | |
JPH06195235A (ja) | 制御装置およびプロセッサ | |
KR19990057809A (ko) | 오류 방지 시스템 | |
JPH05265790A (ja) | マイクロプロセッサ装置 | |
Singh et al. | Fault Tolerance | |
JPH06259270A (ja) | プロセッサ異常判定回路 | |
JPH07111684B2 (ja) | 論理装置のエラー回復方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080312 Termination date: 20131113 |