降低时钟同步双模冗余系统中的不可纠正错误率的制作方法

文档序号:6567810阅读:251来源:国知局
专利名称:降低时钟同步双模冗余系统中的不可纠正错误率的制作方法
技术领域
本发明涉及数据处理领域,尤其涉及在数据处理装置中抑制错误 的领域。
背景技术
随着集成电路制造技术的改进不断使微处理器和其他数据处理 装置具有更小的尺寸和更低的工作电压,这些设备的制造商和用户变得更加关心软错误现象。当a粒子和高能中子碰撞集成电路并改变存 储在电路节点上的电荷时,产生软错误。如果电荷改变足够大,则节 点上的电压可能从表示一种逻辑状态的电平改变为表示一种不同的 逻辑状态的电平,在这种情况下,存储在该节点上的信息被破坏。通 常,软错误率随着电路尺寸的减小而增加,这是因为当电路密度增加 时碰撞粒子击中电压节点的可能性增加。同样,随着工作电压减小, 表示不同逻辑状态的电压电平之间的差值减小,因此改变电路节点上 的逻辑状态需要更少的能量,并且产生更多的软错误。阻挡导致软错误的粒子是极其困难的,因此数据处理装置常常包 括用于检测并且有时用于纠正软错误的技术。这些错误抑制技术包括 双模冗余("DMR")和三模冗余("TMR")。利用DMR,两个相同 的处理器或处理器内核以时钟同步Oockst印)的方式执行相同的程 序,并且对它们的结果进行比较。禾拥TMR,以时钟同步的方式运 行三个相同的处理器。使用DMR或TMR可以检测任何一个处理器中的错误,这是因 为错误将导致结果出现差异,TMR提供了如下优点,即可以通过假 定三个处理器当中的两个处理器的匹配结果是正确的结果来实现从 错误中的恢复。
通过在将所有结果提交给寄存器或者所有结果被允许影响系统的架构状态(architectural state)之前校验所有的结果,DMR系统中 的恢复也是可行的。然后,如果检测到错误,则通过重新执行自最后 一个检查点以来的所有指令,可以实现恢复。然而,由于延迟时间或 其他设计限制,这种方法并不实用。另一种方法是加入回退机制,如 果检测到错误,其允许恢复原来的架构状态。由于设计的复杂性,这 种方法也不实用,并且可能存在以下问题,由于发生非确定性事件, 例如异步中断或不等幂的输出操作的重新执行,而使从先前状态重新 执行的结果可能与原始结果不同。另外,因为DMR和TMR的实现需要会受软错误影响的附加电 路,并且因为它们可以检测到不然会变为未被检测到的但又不会引起 系统故障的错误,所以DMR和TMR实际上可能增加错误率。例如, 用于进行预测的结构中的错误可能导致不正确的预测,其中所述结构 用于预测应该推测性地执行程序的哪个分支,但是当最终评定分支条 件时,处理器将自动恢复。


借助实例说明本发明,但不限于附图。图1示出本发明在多核处理器中的实施例;图2示出使用微校验指纹逻辑(microcheck fingerprint logic)来 降低内核间带宽(cross-core bandwidth)的本发明的实施例;图3示出本发明在用于降低时钟同步双模冗余系统中的不可纠 正错误率的方法中的实施例;图4示出本发明在用于降低时钟同步双模冗余系统中的不可纠 正错误率的方法中的另一实施例;图5示出本发明在用于降低时钟同步双模冗余系统中的不可纠 正错误率的方法中的另一实施例;图6示出本发明在时钟同步双模冗余系统中的实施例。
具体实施例方式
以下说明用于降低时钟同步双模冗余系统中的不可纠正错误率 的装置和方法的实施例。在以下说明中,为了对本发明有更加全面的 理解,阐明了许多具体的细节,例如部件和系统结构。然而,本领域 技术人员应该理解的是,可以在没有这些具体细节的情况下实施本发 明。另外,没有对一些公知的结构、电路、技术等进行详细的说明, 以避免不必要地使本发明含混不清。DMR可以用于提供错误检测和纠正。然而,通过检测到不会引 起系统故障的错误,DMR也可能增加错误率。本发明的实施例可以 通过使用微校验器检测这种"假"错误以便将它们忽略,来降低DMR 系统中的错误率。其他实施例可以通过如下方式来降低DMR系统中 的错误率将微校验器用于特定结构,例如高速缓存,为其重新产生 值并将该值与原始值进行比较以确定两个处理器中的哪一个应该与 另一个处理器的状态同步,由此避免完全回退机制的成本。本发明的 这些实施例是可取的,其提供了DMR的一些益处(例如,错误检测 和纠正能力),同时减少了一些缺点(例如,假错误、完全恢复能力 的成本)。而且,本发明的实施例是可取的,其避免了用奇偶校验或纠错码 机制保护特定的结构,所述机制可能很昂贵,并且对于不能破坏架构 状态的结构也可能是不必要的。根据本发明的实施例,将这些结构连 接到微校验器可以在不需要通过奇偶校验或其他方式确定两个DMR 内核中的哪一个出现了错误的情况下,提供从错误中恢复的能力。图1示出本发明在多核处理器100中的实施例。通常,多核处理 器是包括一个以上执行内核的单个集成电路。执行内核包括用于执行 指令的逻辑。除执行内核之外,多核处理器可以包括在本发明范围内 的专用或共享资源的任何组合。专用资源可以是专用于单内核的资 源,例如专用的一级高速缓存,或者可以是专用于内核的任何子集的 资源。共享资源可以是由所有内核共享的资源,例如支持多核处理器 和另一部件之间的接口的共享外部总线单元或共享的二级高速缓存, 或者可以是由内核的任何子集共享的资源。本发明还在多核处理器之 外的装置中实现,例如在具有至少两个处理器的多处理器系统中实
现,其中每个所述处理器具有至少一个内核。处理器100包括内核IIO和内核120。内核110和120可以基于 各种不同类型的处理器中的任何一种的设计,例如Pentium⑧处理器 系列、Itanium⑧处理器系列、或来自Intel公司的其他处理器系列中 的处理器,或者来自另一公司的另一处理器。处理器100还包括全局 校验器130和微校验器140。根据任何公知的用于检测DMR系统中的时钟同步故障的技术, 例如利用比较器电路,全局校验器130将来自内核110的输出与来自 内核120的输出进行比较。例如,当内核110和120同步运行具有相 同输入的相同程序副本时,可以对内核110和120的输出进行比较。内核IIO包括结构111,其可以是任何电路、逻辑、功能块、模 块、单元或其他结构,所述其他结构当内核110和120以时钟同步的 方式操作时产生或保持与来自包括在内核120中的相应结构121的相 应值相匹配的值。在一个实施例中,结构111和121可以是不能改变处理器100或 包括处理器100的系统的架构状态的结构。例如,结构111和121可 以是预测结构,例如条件分支预测器、跳转预测器、返回地址预测器、 或存储器相关性(memory dependence)预测器。在另一实施例中,结构1U和121可以是其内容在包括处理器100 的系统中的其他处被复制、或被重新产生的结构。例如,结构lll和 121可以是高速缓存结构,其中每个未修改的高速缓存线或项是可以 通过从系统中的更高级高速缓存或其他存储器中重新加载高速缓存 线或项来重新产生的值。微校验器140将来自结构111的值与来自结构121的相应值相比 较。在不同的实施例中,所比较的值可以根据结构111和112的性质 而不同,并且例如可以是指示是应该进行条件分支还是应该发生跳转 的单个比特、多比特预测返回地址、或多比特高速缓存线或项。因此, 微校验器140的性质在不同的实施例中可以不同,并且可以根据任何 公知的技术,例如利用专用电路或门电路或比较器电路,来进行比较。在一个实施例中,可以将微校验器140配置为保留其比较结果至 少直到时钟同步的程序执行已经到达这样一个点为止,即在该点全局校验器130所检测到的时钟同步故障不能被归因于在微校验器140所 比较的值之间的不匹配。例如,如果微校验器是组合逻辑,并且所比 较的值保持静态至少直到到达每个时钟同步故障检测点为止,则可以 在没有任何特殊存储元件的情况下实现微校验器140的这种配置,或 者可以利用寄存器或其他存储微校验器140的结果的存储元件来实 现微校验器140的这种配置。在其他实施例中,不需要将微校验器配 置为保留其比较结果。处理器100还包括故障逻辑150。故障逻辑150可以是任何硬件、 微代码、可编程逻辑、处理器抽象层、固件、软件、或其他命令处理 器100对全局校验器130检测到时钟同步故障进行响应的逻辑。在全 局校验器130检测到时钟同步故障时,如果微校验器140已经检测到 来自结构111的值和来自结构121的相应值之间的不匹配,则故障逻 辑150使内核110和内核120如下所述那样被重新同步。然而,如果 微校验器140没有检测到来自结构111的值和来自结构121的相应值 之间的不匹配,则根据任何公知的指示系统故障的方法,例如报告故 障码和中断操作,故障逻辑150指示检测到不可纠正的错误。尽管图1仅仅示出内核110中的结构111和内核120中的结构121 向微校验器40提供输入,但是在本发明的范围内可以使用任何数量 的结构和微校验器。例如,图2示出使用每个内核多个结构、单个微 校验器和用于降低内核间带宽的指纹逻辑的本发明的实施例。在图2中,处理器200包括内核210和220、全局校验器230、 微校验器240以及故障逻辑250。内核210包括结构211、 213和215, 并且处理器内核220包括结构221、 223和225。结构211包括根据来自结构213和215的值产生指纹的指纹逻辑 212,其中结构213和215可以是如以上相对于图1中的结构111所 述的任何结构。同样,结构221包括根据与指纹逻辑212所用的方法 相同的方法、基于来自结构223和225的值产生指纹的指纹逻辑222。指纹逻辑212和指纹逻辑222可以利用任何公知的将两个或多个 值组合成单个值的方法(例如,使用循环冗余校验器产生校验和)来
实现。可以使用指纹逻辑212和指纹逻辑222,以便微校验器240可 以检测结构213与223以及结构215与225之间的不匹配,而不是对 于结构213和223使用一个微校验器,对于结构215和225使用另一 个微校验器。指纹逻辑212和指纹逻辑222还可以用于降低内核间带宽。例如, 指纹逻辑212可以用于组合来自结构213和215的值,从而使指纹逻 辑212的输出中的比特的数量小于这两个值中的比特的总数量。尽管 在一些实施例中,希望指纹逻辑212对于每一输入组合输出唯一的 值,但是在其他实施例中,希望在与减少连接到微校验器240的每一 输入的比特数量的交换中接受来自微校验器240的小于100%的准确 度。微校验器240的小于100%的准确度是可以接受的,这是因为微 校验器240未能检测到可纠正的时钟同步故障将被解释为不可纠正 的时钟同步故障,而不是被解释为可以导致系统破坏的正确时钟同步 操作。图3示出本发明在用于降低包括图1的处理器100的时钟同步双 模冗余系统中的不可纠正错误率的方法300中的实施例,其中结构 111和121是不能改变架构状态的结构,例如预测结构。在方框310中,内核110和120以时钟同步的方式进行操作。在 方框311中,结构lll产生第一值,而结构121产生第二值。第一值 可以与第二值匹配,也可以与第二值不匹配。在方框320中,微校验 器140将来自结构111和121的值相比较。在方框330中,存储在方 框320中的比较结果。在方框331中,内核110基于结构111所产生的值执行第一指令, 而内核120基于结构121所产生的值执行第二指令。第一和第二指令 可以是相同的指令,也可以是不同的指令。通过指示条件分支预测、 跳转预测、返回地址预测、存储器相关性预测、或者任何其他不能改 变架构状态的预测或结果,第--和第二值可以用作用于确定执行什么 指令的基础。方法300从方框331直接前进到方框340,或在内核110和120 执行了任何数量的附加指令之后前进到方框340。 在方框340,全局校验器130将来自内核110禾B 120的输出相比 较。如果输出相匹配,则在方框310中内核UO和120的时钟同步操 作继续进行,不管存储在方框330中的结果如何,都不受任何错误纠 正、恢复或通知技术(notificationtechnique)的影响。然而,如果在 方框340中全局校验器140检测到时钟同步故障,则方法300前进到 方框350。如果存储在方框330中的结果指示来自结构111的值与来自结构 121的值相匹配,则方法300从方框350前进到方框360。在方框360 中,例如通过报告故障码并中断系统,故障逻辑150指示检测到不可 纠正的错误。如果存储在方框330中的结果指示在来自结构111和121的值之 间不匹配,则方法300从方框350前进到方框370。在方框370中, 故障逻辑150导致内核110和120的重新同步。可以通过改变内核 110的架构状态以与内核120的架构状态相匹配,或反之亦然,来实 现该重新同步。然后,方法300返回到方框310。图4示出本发明在用于降低包括图1的处理器100的时钟同步双 模冗余系统中的不可纠正错误率的方法400中的实施例,其中结构 111和121是其内容在系统中的其他处被复制或可以被重新产生的结 构,例如高速缓存。在方框410中,内核110和120以时钟同步的方式进行操作。在 方框411中,导致对结构111中的未修改的高速缓存线进行加载的指 令由内核110执行,并且导致对结构121中的未修改的高速缓存线进 行加载的指令产生第二值。方法400从方框411直接前进到方框420, 或在内核IIO和120执行了任何数量的附加指令之后前进到方框420。在方框420中,微校验器140将来自结构111的值(例如,在方 框411中被加载的高速缓存线)与来自结构121的值(例如,在方框 411中被加载的高速缓存线)相比较。在方框430中,存储方框420 中的比较结果。方法400从方框430直接前进到方框440,或在内核110和120 执行了任何数量的附加指令之后前进到方框440。
在方框440中,全局校验器130将来自内核110和120的输出相 比较。如果输出相匹配,则在方框410中内核110和120的时钟同步 操作继续进行,不管存储在方框430中的结果如何,都不受任何错误 纠正、恢复或通知技术的影响。然而,如果在方框440中全局校验器 140检测到时钟同步故障,则方法400前进到方框450。如果存储在方框430中的结果指示来自结构111的值与来自结构 121的值相匹配,则方法400从方框450前进到框460。在方框460 中,例如通过报告故障码且中断系统,故障逻辑150指示检测到不可 纠正的错误。如果存储在方框430中的结果指示在来自结果111和121的值之 间不匹配,则方法400从方框450前进到方框470。在方框470到473 中,故障逻辑150导致内核110和120的重新同步。在方框470中,例如通过重新加载在方框411中加载的高速缓存 线,在系统中的其他处发现,或者不然重新产生来自结构111和121 的值。所重新产生的一个值(例如,如果从该值在系统中被复制的地 方获得其单个副本)或多个值(例如,如果从该值在系统中被复制的地方获得每一结构该值的副本)可以被加载到一个寄存器或多个寄存 器中,或者其它的一个或多个位置,其提供用来与来自结构111和 121的值进行比较。或者,可以将来自结构111和121的值移至寄存 器、或其它提供用来与所重新产生的一个或多个值进行比较的位置, 例如通过重新执行在方框411中执行的指令可以获得所述重新产生 的一个或多个值。在方框471中,将所重新产生的一个或多个值与来自结构111和 121的值相比较。如果所重新产生的值与来自结构111的值相匹配, 则在方框472中,例如通过改变内核120的架构状态以与内核110的 架构状态相匹配,使内核120与内核110同步。如果所重新产生的值 与来自结构121的值相匹配,则在方框473中,例如通过改变内核 110的架构状态以与内核120的架构状态相匹配,使内核110与内核 120相匹配。方法400从方裙472和473返回到方框410。图5示出本发明在用于降低包括图2的处理器200的时钟同步双
模冗余系统中的不可纠正错误率的方法500中的实施例。在方框510中,内核210和220以时钟同步的方式进行操作。在 方框511中,结构213产生值,并且结构223产生值。来自结构213 的值可以与来自结构223的值相匹配,也可以与来自结构223的值不 匹配。在方框512中,结构215产生值,并且结构225产生值。来自 结构215的值可以与来自结构225的值相匹配,也可以与来自结构 225的值不匹配。在方框513中,结构211基于来自结构213和215的值产生指纹 值,并且结构221基于来自结构223和225的值产生指纹值。可以根 据任何公知的用于组合值的技术(例如,使用循环冗余校验器产生校 验和)来产生指纹值。在方框520中,微校验器240将来自结构211和221的指纹值相 比较。在方框530中,存储方框520中的比较结果。在方框540中,全局校验器230将来自内核210和220的输出相 比较。如果输出相匹配,在方框510中内核210和220的时钟同步操 作继续进行,不管存储在方框530中的结果如何,都不受任何错误纠 正、恢复、或通知技术的影响。然而,如果在方框540中全局校验器 240检测到时钟同步故障,则方法500前进到方框550。如果存储在方框530中的结果指示来自结构211的指纹值与来自 结构221的指纹值相匹配,则方法500从方框550前进到方框560。 在方框560中,例如通过报告故障码且中断系统,故障逻辑250指示 检测到不可纠正的错误。如果存储在方框530中的结果指示在来自结构211和221的值之 间不匹配,则方法500从方框550前进到方框570。在方框570中, 故障逻辑250导致内核210和220的重新同步。可以通过改变内核 210的架构状态以与内核220的架构状态相匹配,或反之亦然,来实 现该重新同步。然后,方法500返回到方框510。在本发明的范围内,可以以不同的顺序执行图3、 4和5所示的 方法,可以省略所示的步骤,加入额外的步骤,或者将记录、组合、 省略或额外的步骤组合。例如,如果微校验器的输出保持为静态直到
分别执行方框350、 450或550 (检査微校验器的比较结果)为止, 则可以省略方框330、 430或530 (存储微校验器的比较结果)。其中可以省略方框330 (存储微校验器的比较结果)的方法的其 他实例是其中不需要保留微校验器输出的本发明的实施例。在一个这 样的实施例中,方法可以从方框320的微校验器比较前进到基于微校 验器比较的方框350的判定(或者,可以将方框320和350合并)。 在该实施例中,如果微校验器检测到不匹配(在320或350中),则 处理器现有的分支误预测恢复机制可以用于除掉推测状态,由此在方 框370中将内核同步到非推测状态。如果微校验器没有检测到不匹 配,则该实施例的方法可以前进到方框331,以基于预测执行指令, 然后前进到方框340,以便全局校验器为时钟同步故障进行检测,然 后,如果检测到时钟同步故障,则前进到方框360,以指示不可恢复 的错误。图6示出本发明在时钟同步双模冗余系统600中的实施例。系统 600包括多内核处理器610和系统存储器620。处理器610可以是如 以上对于图1和2所述的任何处理器。系统存储器620可以是任何类 型的存储器,例如基于半导体的静态或动态随机存取存储器、基于半 导体的闪存或只读存储器、或者磁盘或光盘存储器。可以以任何布置, 利用任何组合总线或者直接或点对点连接,并且通过任何其他部件使 处理器610和系统存储器620彼此耦合。系统600也可以包括任何总 线(例如外围总线)或部件(例如输入/输出设备),在图6中未示出。在系统600中,系统存储器620可以用于存储可以加载到诸如上 述结构lll、 121、 213、 215、 223和225的结构的值。因此,系统存 储器620可以是根据本发明的方法实施例的复制或重新产生的值的 来源,例如,如图4的方框470所示。可以在从生成到模拟到制造的各个阶段设计处理器100、处理器 200或者根据本发明的实施例设计的任何其他部件或部件的一部分。 表示设计的数据可以以多种方式表示设计。首先,如在模拟中所使用 的那样,可以使用硬件描述语言或另一功能描述语言表示硬件。另外 或可选择地,在设计过程的某些阶段可以产生具有逻辑和/或晶体管
门电路的电路级模型。此外,在某些阶段,大部分设计达到可以利用 表示各个器件的物理布局的数据对它们进行建模的级别。在使用常规的半导体制造技术的情况下,表示器件布局模型的数据可以是指定在 用于掩模的不同掩模层上各种特征是存在或还是不存在的数据,所述 掩模用于制造集成电路。在设计的任何表示中,可以将数据存储在任何形式的机器可读介 质中。调制的或者以其他方式产生的用以传送这种信息的光波或电 波、存储器、或者磁或光存储介质,例如盘片,可以是机器可读介质。 这些介质中的任何一种可以"承载"或"指示"设计、或在本发明的 实施例中使用的其他信息,例如在错误恢复例程中的指令。当传送指 示或承载信息的电载波时,到执行电信号的复制、缓冲、或重发的程 度,进行新的复制。因此,通信供应商或网络供应商的行为可以是对 体现本发明的技术的对象(例如,载波)进行复制的行为。因此,公开了用于降低时钟同步双模冗余系统中的不可纠正错误 率的装置和方法。尽管对特定实施例进行了说明并且在附图中示出了 所述特定实施例,但是应该理解的是,这些实施例仅仅是说明性的而 不是限制本发明的宽广范围,并且本发明不限于所示和所述的具体结 构和布置,因为对于本领域技术人员而言,在研究本公开文本时可以 想到多种其他修改。在诸如发展迅速且不容易预见更大的进步的技术 领域中,由于实il技术进步而得到帮助,使得可以在不脱离本公开的 原则或所附权利要求的范围的情况下,轻易地修改所公开的实施例的 布置和细节。
权利要求
1、一种装置,包括包括第一结构的第一内核;包括第二结构的第二内核;微校验器,用于检测来自所述第一结构的第一值是否与来自所述第二结构的第二值相匹配;全局校验器,用于检测所述第一内核与所述第二内核之间的时钟同步故障;以及故障逻辑,用于如果所述全局校验器检测到所述时钟同步故障且所述微校验器检测到所述第一值与所述第二值之间的不匹配,则使所述第一内核和所述第二内核重新同步。
2、 根据权利要求1所述的装置,其中所述微校验器包括用于将 所述第一值与所述第二值相比较的比较器。
3、 根据权利要求1所述的装置,其中所述全局校验器包括用于 将所述第一内核的第一输出与所述第二内核的第二输出相比较的比 较器。
4、 根据权利要求1所述的装置,其中所述故障逻辑还用于如果 所述全局校验器检测到所述时钟同步故障且所述微校验器检测到所 述第一值与所述第二值相匹配,则指示检测到不可纠正的错误。
5、 根据权利要求1所述的装置,其中-所述第一内核还包括第三结构和第四结构; 所述第二内核还包括第五结构和第六结构; 所述第一结构包括第一指纹逻辑,以基于来自所述第三结构的第三值和来自所述第四结构的第四值产生所述第一值;并且所述第二结构包括第二指纹逻辑,以基于来自所述第五结构的第 五值和来自所述第六结构的第六值产生所述第二值。
6、 根据权利要求1所述的装置,其中 所述第一内核的架构状态与所述第一值无关;并且 所述第二内核的架构状态与所述第二值无关。
7、 根据权利要求6所述的装置,其中 所述第一结构是第一预测结构;并且 所述第二结构是第二预测结构。
8、根据权利要求1所述的装置,其中所述故障逻辑还用于如果 所述全局校验器检测到所述时钟同步故障且所述微校验器检测到所 述不匹配,则使所述第一值和所述第二值被重新产生。
9、根据权利要求8所述的装置,其中: 所述第一结构是第一高速缓存; 所述第一结果是第一高速缓存项; 所述第二结构是第二高速缓存;以及 所述第二结果是第二高速缓存项。
10、根据权利要求9所述的装置,其中所述故障逻辑还用于如果 所述全局校验器检测到所述时钟同步故障且所述微校验器检测到所 述不匹配,则使所述第一高速缓存项和所述第二高速缓存项被重新加 载。
11、 一种方法,包括校验来自第一内核中的第一结构的第--值是否与来自第二内核中的第二结构的第二值相匹配;检测所述第一内核与所述第二内核之间的时钟同步故障;以及 如果检测到所述第一值与所述第二值之间的不匹配,则使所述第 一内核和所述第二内核重新同步。
12、 根据权利要求11所述的方法,还包括如果所述第一值与所 述第二值相匹配,则指示检测到不可纠正的错误。
13、 根据权利要求12所述的方法,还包括基于来自所述第一内核中的第三结构的第三值和来自所述第一内核中的第四结构的第四值产生所述第一值;以及基于来自所述第二内核中的第五结构的第五值和来自所述第二 内核中的第六结构的第六值产生所述第二值。
14、 根据权利要求13所述的方法,其中产生所述第一值包括基于所述第三值和所述第四值产生校验和;并且产生所述第二值包括基于所述第五值和所述第六值产生校验和。
15、 根据权利要求11所述的方法,还包括预测第一指令是否将由所述第一 内核基于所述第一值来执行;以及预测第二指令是否将由所述第二内核基于所述第二值来执行。
16、 根据权利要求11所述的方法,还包括如果检测到所述不匹 配,则重新产生所述第一值和所述第二值。
17、 根据权利要求16所述的方法,还包括 将所述第一值与所重新产生的第一值相比较; 将所述第二值与所重新产生的第二值相比较; 如果所述第二值与所重新产生的第二值相匹配,则使所述第一内核与所述第二内核同步;以及如果所述第一值与所重新产生的第一值相匹配,则使所述第二内核与所述第一内核同步。
18、 根据权利要求16所述的方法,其中所述第一结构是第一高 速缓存,所述第一值是第一高速缓存项,所述第二结构是第二高速缓 存,并且所述第二值是第二高速缓存项,其中重新产生所述第一值和 所述第二值包括重新加载所述第一高速缓存项和所述第二高速缓存 项。
19、 一种系统,包括 动态随机存取存储器; 包括第一结构的第一内核; 包括第二结构的第二内核;微校验器,用于检测来自所述第一结构的第一值是否与来自所述 第二结构的第二值相匹配;全局校验器,用于检测所述第一内核与所述第二内核之间的时钟 同步故障;以及故障逻辑,用于如果所述全局校验器检测到所述时钟同步故障且所述微校验器检测到所述第一值和所述第二值之间的不匹配,则使所 述第一内核与所述第二内核重新同步。
全文摘要
公开了用于降低时钟同步双模冗余系统中的不可纠正错误率的装置和方法的实施例。在一个实施例中,该装置包括两个处理器内核、微校验器、全局校验器以及故障逻辑。微校验器用于检测来自一个内核中的结构的值是否与来自另一内核中的相应结构的值相匹配。全局校验器用于检测两个内核之间的时钟同步故障。故障逻辑用于如果存在时钟同步故障,而校验器检测到不匹配,则使这两个内核重新同步。
文档编号G06F11/16GK101213522SQ200680021365
公开日2008年7月2日 申请日期2006年6月29日 优先权日2005年6月30日
发明者A·比斯瓦斯, J·S·埃默尔, P·B·拉库纳斯, S·E·拉希, S·S·慕克吉 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1