集成电路处理级中的差错恢复的制作方法

文档序号:6553834阅读:203来源:国知局

专利名称::集成电路处理级中的差错恢复的制作方法
技术领域
:本发明涉及集成电^各领域。更具体地说,本发明涉及检测在集成电路处理级中的操作差错并从这类差错中恢复。
背景技术
:提供串联连接处理级(例如流水线电路)的集成电路的方法是众所周知的。每个处理级包括处理逻辑和锁存器,其中,锁存器用于存储各级的输出值以提供给后续处理级作为输入。处理逻辑用于完成它的处理操作所用的时间取决于集成电路操作时的速度。处理逻辑可以操作的最快速率受限于最慢的处理逻辑级。为了能够尽可能快地处理数据,电路的处理级以尽可能快的速率被驱动,直至最慢的处理级跟不上为止。然而,在集成电路的功耗相对于提高处理速率更为重要的情况下,减小集成电路的工作电压以减小功耗直至最慢的处理级速度跟不上为止。在电压电平减小至最慢的处理级速度跟不上的情况下,以及在工作频率增加到最'f曼的处理级不能再执行它的处理的情况下,都会产生出现不利于计算的转发进度(forward-progress)的处理差错的危险。众所周知,考虑到集成电路的特性,包括一批器件中的不同集成电路之间的制造上的差异,工作环境条件,例如,典型的温度范围、被处理的信号的数据依赖性等等,可以通过将集成电路设置在足够高于最低电压电平的工作电压上和足够低于最大要求工作频率的处理频率上工作来避免这类处理差错的发生。常用的方法是根据最坏的情况来小心地限制最大的工作频率和最小的工作电压。美国专利公开文献No.US2004-0199821披露了通过动态地控制至少一个性能控制参数(例如,频率、工作电压或者温度)来设置集成电路操作以维持操作中的差错的非零概率差错的系统。通过使用俘获比集成电路中的柏关处理级的主要锁存器要迟的时间点上的数据的延迟锁存器,尽管存在着时间差错,该系统使得能够计算转发进度。被延迟锁存器所俘获的数据数值可以在差错检测中使用,用于取代在处理级输出稳定之前的时间点上主要锁存器所俘获的值。通过有意地以非零差错概率操作集成电路差错,单个集成电路能够达到特殊处理应用所需要的最快的可能处理速度或者最低的可能功耗。然而,通过为处理级的各个主要锁存器提供延迟锁存器来改进处理电路的需求在一定环境下可能是硬性的。例如,如果操作差错不是限制在中央处理单元(CPU)的数据路径上,而是发生在控制逻辑自身上或者在集成电路的其它一些关键路径上,那么集成电路就需要增加相当多的延迟锁存器,以便于实现差错检测和恢复。此外,在US-2004-0199821的实施例中,使用了现有的流水线时序逻辑通过从延迟的锁存器中读取数据数值来实现差错恢复,但它可能难以确保流水线时序逻辑自身不受操作差错的影响,或者直接由于控制逻辑自身中的关键路径或者间接通过从数据路径反馈亚稳的数值到控制逻辑。于是,就需要能够改善集成电路特性并且不需要大量改动现有集成电路设计的技术,使之提供差错恢复的操作。
发明内容本发明的一个方面是提供了一种适用于数据处理装置的集成电路,所述集成电路可进行数据处理并包括差错检测电路,用于监视在所述集成电路中的数字信号数值并且检测在预定时间窗口中的所述信号数值的转变,所述变化表示了所述集成电路在操作中的差错;存储单元,用于存储所述数据处理装置的恢复状态,所述恢复状态包括对应于所述集成电路编程器(programmer's)模式的结构状态变量中(architecturalstatevariables)的至少一个子集;差错恢复电路,用于响应所述差错检测电路并且能够使得所述集成电路使用所述存储恢复状态从所述操作差错中恢复;操作参数控制器,用于控制所述集成电路的一个或多个性能控制操作参数;其中,所述操作参数控制器根据由所述差错检测电路所检测到的差错中的一项或多项特性来动态控制所述一项或多项性能控制参数中的至少一项,从而维持操作中的非零概率的差错,所述差错恢复电路用于使得所述集成电路能够从操作中的所述差错中恢复,以便于所述集成电路的数据处理是连续的。本项技术意识到可以直接监测处理级的操作从而发现在何种限制条件下出现故障。当出现实际故障时,可以恢复集成电路至可以安全地重新开始处理的先前的操作恢复状态从而进行差错恢复。本项技术意识到差错可以在不需要从各个处理级中俘获延迟的数值或者在操作中出现差错时不需要重新向处理逻辑装载正确数值的条件下进行差错检测。本项技术能够对集成电路进行相对容易的改进,从而将差错检测和恢复可以应用于包括CPU数据路径和控制逻辑在内的集成电路中的任何关4t路径。存储单元(它可以是分布在整个集成电路中的多个存储元件)所存储的恢复状态可以包括对应于编程器模式的结构状态变量中的至少一个子集,例如,寄存器数值、标志数值和处理模式。然而,在一个实施例中,恢复状态包括微结构状态变量中的至少一个子集,该子集可以不是编程器模式中的一部分,例如,关于高速緩存中所存储的变量的信息。该结构在集成电路的差错恢复功能方面提供了灵活性,因为在操作中的不同差错将需要不同的恢复状态子集,以便于将集成电路转换到能够可靠地执行计算的转发进度的状态。应该意识到的是,操作中的某些差错与操作中的其它差错相比,其影响将涉及到更多的状态变量和不同类型的状态变量。应该意识到的是,差错检测电路可以采用多种不同的方法来检测操作中的差错。然而,在一个实施例中,差错检测电路安排成通过计算在第一采样时间的输入信号数值和在后续第二采样时间的相同信号之间的差值来检测在数据数值中的转变。于是,在如果电路可靠地操作就期望输出没有差值时,在时间周期内的信号数值中的任何差值都能够差错明确地检测差错。在另一实施例中,差错检测电路安排成通过检测在预定时间窗口中的信号数值状态的任何变化来检测在数据信号中的转变。这明显不同于涉及两个明显区别的采样点的实施例,其检测的是别的方式检测不到的两个采样点之间的信号值内的假信号(glitch)。于是,信号数值转变的检测是有效的连续的而不是离散的。在一个实施例中,差错检测电路用于检测在集成电路的相关处理电路元件的输出信号中的差错,从而建立在处理级和差错产生之间的有效相关性。在另一可选结构中,才企测电路可以在多个处理级之间共享。在一个实施例中,集成电路包括差错检测电路,该差错检测电路具有一个亚稳定的窗口,该窗口与相关处理电路元件(例如,主触发器)的建立窗口互斥。这使得即使在主触发器的建立窗口中输入数据转变时,也能够进行操作中的差错检测。将差错检测电路的亚稳定窗口安排成与处理级相关的主要锁存器的建立窗口不相重叠,就不再需要提供非常能耗的亚稳定检测电路并且能够在处理级的主要锁存器的建立窗口和在时钟信号的保持窗口(即,时钟信号的正相位)内检测到数据信号中的转变。应该意识到的是,集成电路可能是非流水线集成电路,但是在一个实裨例中,集成电路是一个包括了多个串联连接的处理级的流水线集成电路。尽管与差错检测电路相关的特殊处理电路元件差错可以是能够存储处理数值的任何电路元件,例如,锁存检测;故大器,在一个实施例中,处理电路元件是用于传递在多个流水线级的各个相连级之间的数据的锁存器。锁存器是一种筒单的电路元件并且差错检测电路与锁存器的联系提供了一种便于实现的有效差错检测的方法。在一个实施例中,差错检测电路包括至少一个延迟元件,并将其安排成延迟输入数字信号使之能够检测到在处理电路元件的建立时间周期内所发生的转变。这就避免了在主要处理电路元件的建立时间周期内发生数据转变时错过操作中的差错的可能性,因为在这种情况下处理元件的逻辑状态将是不确定的。延迟数字信号的作用是校准输入至差错检测电路的数据转变,使得差错检测电路的采样窗口与主要处理元件的建立窗口相重叠,使得主要处理元件的建立窗口中的信号转变可以作为差错在差错检测电路被可靠地检测出。应该意识到的是,差错检测电路可以具有许多不同的形式,但在一个实施例中,差错检测电路包括O-1转变的检测器和1-o转变的检测器中的至少一个。这些转变检测器可以是明显不同的检测器或者可以是一个用于检测两个方向转变的单个电路。尽管通过排空(flushing)错误数值的流水线并且从所存储的重新可使用的状态存储中直接恢复原先的状态就可以使集成电路从操作中的差错中恢复,但在一个实施例中,差错恢复电路包括至少一个稳定流水线级,用于在提交(commitment)输出数值作为集成电路存储的状态变量之前验证在流水线集成电路中的多个流水线级的输出数值。稳定流水线级允许有足够的时间来确定是否已经在流水线级的输出数值产生中出现差错,并且这样能够减小提交的状态变量不可靠的概率。尽管在差错恢复电路中包含至少一个稳定流水线级会涉及在承担(committal)计算流水线数值过程中的延迟,但在一个实施例中,集成电路包括数据转发(forwarding)电路,用于直接从多个流水线级中的一个特别的流水线向多个流水线级中的另一个不同级提供该特别的流水线所计算的数值,以作为输入数值使用。这就减小了在写入之后读取的风险的影响,这种风险可能是由于提供额外稳定流水线级所引起的。该转发电路能够在将预先处理级所计算的数值写入到寄存器之前将该数值被提供给当前流水线中的后续的处理级。这就防止了后续处理级使用不正确的输入数值。应该意识到的是,存储单元可以是任何类型的存储器,例如堆栈(stack.)存储器,但是在一个实施例中,存储单元包括寄存器组。尽管寄存器组可以用于在确认这些状态变量没有差错之前存储这些状态变量,但在一个实施例中,寄存器组可以用于仅仅只存储确认的状态变量,所确认的状态变量被瑜认为没有时间违例(时间冲突)。于是,在寄存器组中所存储的状态变量都是可靠的状态变量并且可以在集成电路的操作中用于从后续所检测到的差错中恢复过来。应该意识到的是,集成电路还可以包括包括单个寄存器组的单个存储单元。然而,在一个实施例中,除了用于存储其值被确认为正确(稳定)的数值的状态变量的确认的寄存器组之外,集成电路还包括推测寄存器组,用于存储推测的状态变量且这些状态变量的数值并没有被确认为没有时间违例。这就能够使得差错恢复部分可以与主要处理并行进行。于是:仅仅只在检测到集成电路操作中的差错的情况下才使用确认寄存器组中的数值。每一次,推测寄存器組都存储着比在确认的寄存器组申当前存储着的状态变量更高级的处理级的状态变量。在存在差错的时候,差错恢复电路可用于将确认的寄存器组中的对应的一些确认的状态变量来取代在推测寄存器组中的推测状态变量中的一个子集,从而使得处理能够回到到预先一级,在这一级上,所检测到的操作中的差错还没有影响到任何状态变量。尽管产生处理差错,这确保了计算的转发进度差错。应该意识到的是,操作参数控制器可以用于根据集成电路操作中的差错检测来调整性能控制参数。参数调整可以响应差错检测而及时进行。例如,可以降低工作频率或者可以增加工作电压,以便于确保减小操作中出现差错的概率。这些调整可以至少都是临时的。然而,在本发明的一个实施例中,由操作参数控制器调整操作参数的响应被抑制,使得在检测到至少一个操作中的差错之后以及在调整一个或多个性能控制参数之前存在着时间延迟。这就允许集成电路能够评估增加的差错比率持续的可能性,因为这种增加不是系统性的且通过筒单的重新执行处理操作的相关次序就可以在不调整操作参数的条件下就可以解决。然而,进行一个或多个操作参数的临时性调整可以避免死锁。根据本发明的第二方面,提供了一种控制集成电路进行数据处理的方法,该方法包括下列步骤监测在所述集成电路中的数字信号数值并且检测在预定时间窗口中的所述信号数值的转变,所述转变表示所述集成电路的操作中的差错;存储所述数据处理装置的恢复状态,所述恢复状态包括对应于所述集成电路的编程器模式的结构状态变量中的至少一个子集;使用所述存储的可恢复状态,根据所述检测到的操作中的差错,使得所述集成电路能够从所述操作中的差错中恢复;控制所述集成电路的一项或多项性能控制操作参数;其中,所述控制步骤包括根据在所述监测和检测步骤中所检测到的一项或多项差错特征来动态地控制所述一项或多项性能控制参数中的至少一项,以便于保持操作中的差错的非零比率,根据所述检测到的所述操作中的差错使用所述存储的可恢复状态来使得所述集成电路从操作中的所述差错中恢复,以便于所述集成电路连续处理数据。本发明的上述和其它目的、性能和优点都将从以下结合附图的示例性实施例详细描述的阅读中变得更加清晰。图1图示说明了应用本发明的集成电路的多处理级的一个示例;图2图示说明了使用确认寄存器组和推测寄存器组一起进行差错恢复的流水线;图3A图示说明了使用在单个寄存器组中存储的状态变量进行差错恢复的流水线结构;图3B图示说明了图3A所示的电路如何从检测到的差错中恢复的流程图3C图示说明了操作参数调整处理的流程图4图示说明了根据本发明的转变检测D型触发器。图5图示说明了如何在图4所示的主触发器的建立窗口中进行对数据转变检测的检测的功能时序图6A至6G图示说明了图4所示电路进行从逻辑电平1转变到逻辑电平0的的检测时的功能时序图7A至7G图示说明了图4所示电路进行从逻辑电平0转变到逻辑电平1的检测时的功能时序图8A和8B图示说明了如何使图4所示的主触发器的亚稳定窗口和转变检测器是如何不重叠的;以及,图9图示说明了得自转变检测器的差错信号的差错同步。具体实施例方式图1图示说明了集成电路中的一部分,这可以是在处理器内核(例如,由英国剑桥的ARM有限公司所设计的ARM处理器内核)中的同步流水线的一部分。同步流水线由多个处理级所形成,第一级包括逻辑模块3010以及采用触发器形式的随后的锁存器3020。逻辑模块3010的输出提供给转变检测器3030,它可用于检测在逻辑信号数值中的转变,这种转变发生在预定的时间窗口中并且表示集成电路在操作中的差错。如果适用于集成电路的操作参数使得逻辑模块3010不能在触发器3020俘获到它的数值之前完成其处理捧作,就有可能出现这种操作中的差错。集成电路的操作参数包括时钟3031所提供的时钟信号频率、提供给集成电路的工作电压、基底的偏置电压(bodybiasvoltage)、温度等等。特别是,如果工作频率设置得高,使得最慢的处理数据级不能够保持并行工作,或者如果降低集成电路的工作电压直至功耗减小到最慢的处理级不能够跟得上,则系统性处理差错就会发生。集成电路的后续各处理级都相似地包括连接着转变检测器的逻辑模块以及俘获相关的逻辑模块的输出数值的触发器。如图1所示,图示iJ6明了三级处理并且还有三个对应的转变检测器3030、3032和3034。这些转变检测器的输出各自提供给一个OR门3040。OR门3040的高电平输出表示在至少一个相关的逻辑模块中已经出现了处理差错。这一差错表示是作为OR门3040输出被提供,并且作为差错恢复逻辑模块3050的输入,其响应各个转变检测器并且可用于使得集成电路从操作差错中恢复。从操作差错中恢复是通过使用所存储的状态信息3060依赖于差错恢复逻辑3050来实现的。该存储的状态信息3060允许集成电路通过使得>(人重新开始计算返回到预先的处理状态从而从操作差错中恢复。该状态信息可以包括结构状态变量和微结构状态变量。结构状态变量对应于在集成电路编程器模式中所指定的这些变量,例如,寄存器数值、指令标志、程序计数器数值等等。微结构状态变量的一个例子是高速緩存的内容。例如,对于带标志设置的ADD指令而言,指令ADDSR0R0R1的执行将涉及到状态变量RO、与标志设置操作有关的标志以及与该指令有关的程序计数器数值的存储。状态变量的其它示例是处理器的特殊操作模式,例如,特权模式或者用户模式。差错恢复逻辑3050使得在集成电路的操作中存在着差错的状态下能够进行计算的转发进度。这是通过使用转变检测器3030、3032和3024检测定时差错以及使用差错恢复逻辑3050从使用所存储的状态信息3060所检测到的差错中恢复来实现。用于差错恢复的所存储的状态信息3060是被确认为不再受操作中的差错影响的数值和最新存储于寄存器中的数值。这类存储的数值对应于在进行操作中的差错检测之前的集成电路的结构状态。图2图示说明了根据本技术的一个示例的结构,该技术除了使用了推测寄存器组之外还使用了确认寄存器组,以便于从操作差错中恢复。该结构包括主要处理流水线3100;推测寄存器组3110;多个稳定的流水线级3120;关键状态緩冲器3122;确认状态緩冲器3124;确认寄存器组3130;转变检测器阵列3142-1至3142-4;OR逻辑门3150;差错检测逻辑3160;流水线排空逻辑3170;确认状态恢复逻辑3180;以及程序计算器复位逻辑3190。主要处理流水线3100包括四个截然不同的流水线级,第一执行级n,第二执行级n-l,第三执行级n-2和回写级n-3。来自处理流水线级的输出将通过锁存器(例如,图1所示的触发器3020)至后续流水线级。回写流水线级n-3的输出通过信号路径3101和3103提供给推测寄存器组3110,信号路径3101和3103各自通向推测寄存器组3110的两个写入端口SWO和SW1。在图2所示的特殊结构中,主要流水线的回写级对应于处理级n-3,并因此在该结构中,存储于推测寄存器组3110中的最后状态对应于处理级n-4。来自第一执行级n的输出输出至转变检测器3142-1;来自第二执行级n-l的输出输出至转变检测器3142-2;来自主要流水线的第三执行级n-2的输出输出至转变检测器3142-3;以及来自主要流水线3100的回写级WB的最后输出输出至转变检测器3142-4。这些转变检测器3142-1至3142-4各个都能表示处理电路的操作中的差错。所有四个转变检测器的输出被提供了给OR逻辑门3150的输入,其输出提供给差错检测逻辑3160。于是,如果四个主要流水线级n、n-l、n-2或n-3中的任意一个中检测到任何转变,则OR逻辑门将会输出一个表示操作中的差错的数值。差错检测逻辑3160响应OR逻辑门3150的输出,初始化由流水线排空逻辑3170、确认状态恢复3180逻辑以及程序计数器复位3190逻辑所执行的差错恢复处理,使得检测到的操作中的差错不会影响存储于确认寄存器组3130中的任何数值。于是,响应操作中所检测到的差错,流水线排空逻辑3170初始化流水线排空,使之清除具有任何潜在的差错数值的流水线。流水线排空逻辑3170既连接着关键状态緩冲器3122又连接着稳定流水线级3120。在检测到操作差错的情况下,除了在流水线3120中的稳定级中的数值,以及当前存储于关键状态緩沖器3022中,还没有存储于确认寄存器组3130中的所有数值,还有在主要流水线中的所有数值都被排空。一旦流水线一皮排空,则确认状态恢复逻辑3180就初始化一系列处理操作,通过这样数据处理装置就返回至原先的状态,在该原先状态中,刚刚执行了其数值最近被存储于确认寄存器组3130中的指令。从这一指令开始的重新执行是在程序计数器复位逻辑3190已经将程序计数器从当前指令复位到其后的指令,该指令的值最近被存储于确认寄存器组3130中。正常的处理操作包括多个指令的执行,其中各个指令可以包括许多不同类型结构状态变量的更新。例如,单个给定指令的执行可能要求更新一个或多个通用寄存器、标志、程序状态寄存器或程序计数器。然而,存储这些更新变量的物理元件不一定要在一个和相同时钟周期中更新,即使它们涉及相同的给定指令。例如,在ARMRTM指令集中,存入(load)指令是不能改变标志的,因此就有可能在将更新内容存储于通用寄存器的处理周期之前的处理周期内将更新内容存储于标志。值得注意的是,直到知道下载指令还没有产生与存储器级有关的异常(例如,准许故障)才能更新通用寄存器。应该意识到的是,操作中的差错有可能在任何处理周期中产生。于是,在图2所示的结构中,就必须确保对确认寄存器组3130的更新是与确保有可能使用指令重新执行来恢复是"同步,,的。这只要结构状态变量的一些关键子集已经存储于确认寄存器组3130就可实现。为了确保结构状态变量的所有关键子集都能使得重新执行,提供图2所示的关键状态緩冲器3122以保持与给定指令有关的更新数值,直至知道与特殊指令有关的关键状态更新的所有数值都有效并且所有的非关键状态更新都已经存储于确认寄存器组3130或已经存在于确认状态緩冲器3124中。只有当与给定指令有关的所有数值都是有效的的话,关键变量与存储于确认寄存器组3130的指令有关。确认寄存器组3130具有两个写入端口且分别表示为CWO和CWl,同样,推测寄存器组也有两个写入端口SWO和SW1。值得注意的是,与给定指令有关的数值被实际物理更新到确认寄存器组是不会立即发生的。以这种情况为例,如果由于寄存器组具有有限的写入端口(在该情况下是两个写入端口)需要比可以在单个处理周期内执行更关键的状态更新。关键状态缓冲器的输出在提供给确认寄存器组3130之前提供给确认状态緩冲器3124。确认状态緩冲器3124是一个适用于确认寄存器组3130的简单写入缓冲器。提供确认状态缓沖器3124以避免在多于两个确认数值需要在一个给定处理周期内写入到确认寄存器组3130的情况下整个流水线的失速(stall)。稳定流水线级3120的输出提供给关键状态緩冲器3122和确认状态緩冲器3124。稳定流水线级3120允许在差错数值存储于确认寄存器组3130之前差错检测逻辑3160可有足够的时间来检测在主要流水线中的操作中的差错。考虑转变检测器3142-3指示在对应于指令n-2的主要流水线的第三执行级中发生差错的情况。在这种情况下,程序计数器复位逻辑3190就会将程序计数器从指令n复位到指令n-5,因为集成电路的最后确认状态对应于指令n-6。对应于指令n-6的确认状态是通过将与指令n-6有关的状态变量的关键子集的相关数据从确认寄存器组3130经过数据路径3111复制到推测寄存器组3110来恢复的。随后,处理操作的执行从级n-5向前进行,使得集成电路的操作中的差错不会影响计算的结果。将被存储于确认寄存器组3130的最后处理状态是处理级n-6的状态信息。存储于确认寄存器组3130中的状态变量所具有的故障之间的平均时间要比存储于推测寄存器组3110中的状态变量大(并因此出现差错的概率小挺多)。因此,来自确认寄存器组3130的状态变量用于当检测到操作中的差错时通过恢复最后的确认状态n-6来实现从检测到的主要流水线3100中操作中的差错中恢复。于是,该系统就能够通过使用集成电路的最后确认状态来实现从操作差错中的恢复。值得注意的是,图2所示的结构是一种筒化的结构,只是用于图示说明的目的。在根据本技术的其它结构中,在指令和流水线级之间没有——对应的对应关系,因为单个指令可能横跨几个流水线级。因此,在这类可选择^J结构中,对应于指令(该指令的关键变量最后存储于确认寄存器组3130)的程序计数器不是简单地从当前的程序计数器和流水线长度所引获得的。相反,对应于最后成功执行指令的程序计数器是从单独的具有程序计数器值的流氷线中获得的,该流水线屏蔽(shadow)了主要执行流水线。图3A图示说明了根据包括跟随着主要流水线端点的多个稳定流水线级的本技术的一种结构。该结构包括多个流水线级3210,还包括两个稳定级3220和3222在流水线的端点;转变检测阵列3230-1至3230-4;OR门3240;操作参数控制器3242;差错检测逻辑3250;流水线排空逻辑3260;确认状态恢复逻辑3262;程序计数器复位逻辑3270;解码流水线级3280;评分卡文件(scorecardfile)3282;转发(forwarding)逻辑3290;关4建状态》爰冲器3292;确认的状态缓冲器3294和确认寄存器组3296。正如图2所示的实施例,流水线3210包括三个对应于指令n,n-l,n-2和n-3的执行级。紧跟着该流水线端点的是两个分别对应于两个指令(n-4:)和(n-5)的稳定级3220和3222。以这种方式直接紧跟着主要流水线端点的额外稳定级会引起向寄存器组的输出稍微延迟些,但是这些额外的稳定级可以在数据输出到寄存器组3296之前给集成电路提供检测差错发生的机会。速就意味着差错检测处理将在流水线的输出提供给寄存器组3296之前完成。主要流水线的各个处理级的输出又提供给转变检测器3200-1至3200-4,并依次将它们的输出提供给OR门3240。在检测到差错的情况下,差错恢复通过差错检测逻辑3250使用流水线排空逻辑3260、确认状态恢复逻辑3262和程序计数器复位逻辑3270来初始化,类似于参照图2的上述描述。操作中的差错发生也告知操作参数控制器3242,该操作参数控制器3242能够根据所检测到的操作差错的一个或多个特性来调整时钟频率、工作电压、基底偏置电压或者温度中的至少一个,从而以提高整体效率的方式来保持一个有限的非零差错note。正如参照图3所提及的那样,应该意识到的是,在其它实施例中,在流水线级和指令之间并不是——对应的。在两个稳定级分别对应于指令号(n-4)和(n-5)的实例中,,这就意味着在寄存器组中的最后提交的状态变量(lastedcommittedstatevariables)对应于指令号(n-6)。于是,例如,在流水线级(n-1)出现差错的情况下.,转变检测器3230-2被触发,并依次触发OR门3240的高输出。恢复序列(sequence)被初始化且流水线被排空,从而消除差错对任何流水线数值的影响。程序计数器被逻辑3270从指令n复位到指令(n-5),从而使能计算的转发进度。由于额外的稳定级3220和3222导致在流水线中的指令执行中一些延迟,所以应该提供将一个流水线级的输出连接到对应于最后执行指令的先前流水线级的输入的转发逻辑3290。在这种情况下,流水线级(n-2)的输出作为输入馈入与指令n执行有关的流水线级。从流水线级(n-5)、(n-4)、(n-3)和(n-l)以及从关键状态缓沖器3292和确认状态緩冲器3294也提供了转发逻辑(未显示)。这就可以在适合的地方将来自后流水线级还没有存储于寄存器组3292的非提交的数值可以作为输入提供给后续处理指令。集成电路的评分卡文件3282,可用于注意将哪条指令写入到哪一个寄存器号。该评分卡文件3282是由流水线中的先前级,特别是流水线3210的解码级3280来写入的。该评分卡3282仅仅只需要注意将哪一个指令写入到哪一个寄存器,而不需要注意哪一个指令从哪一个寄存器中读取,因为只有指令的写入有可能影响各流水线级的输入数值。例如,如果在级(n-2)上的指令写入到寄存器R3并且在指令(n-2)的输出已经被提交至寄存器组之前,在流水线级n上执行的后续指令从寄存器R3中读取作为输入,则一定要提供对应于所要写入到寄存器R3的数值的输出,作为对应于指令n的流水线级的输入。值得注意的是,在图2和图3所示的结构中,最后确认状态的差错检测、流水线排空、程序计数器复位和恢复级都可以多种不同的次序来执行,并且本技术并没有将这些逻辑模块限制于这些附图所图示说明的特殊次序。在图3A所示的结构中,如果差错发生在处理级(n-l),则集成电路的状态变量将恢复到对应于提交至寄存器组3296的最后指令的数值。在存储用于从差错中恢复的状态变量,考虑指令的依赖性以便于确定什么状态的更新是关键。这有助于确定需要在写入的次序使寄存器组保持一致的状态,这样如果出现差错就有可能恢复。于是,通过从寄存器组恢复数值恢复的状态变量将根据特定的差错而改变。将状态变量存储于寄存器组的方式和次序有助于用于差错恢复电路的结构和/或微结构状态变量的的特定子集的识别,用于从操作中的差错中恢复。图3B图示说明了由图2和图3A所示电路4丸行的差错检测和恢复中所包含的操作次序。在级3297,处理电路开始与下一处理周期有关的处理,并且随后在级3298,确定是否已经产生操作中的差错。如果在级3298,各个转变检测器都没有检测到任何操作中的差错,通过在级3297处理后续周期来继续处理。然而,如果已经检测到操作中的差错,则处理就转入级3299,整个流水线排空没有确认的状态变量。在另一可选结构中,仅仅只需要排空在流水线中当前存储的数值的子集。随后,继续处理至级3300,在该级,程序计数器复位到跟随着最后确认指令的指令。这发起指令的重新执行来消除操作中的差错的任何影响。在级3301,确认在级3300复位的程序计数器数值是否等于最后复位的程序计数器数值。这一级的处理用于检测在计算中的死锁,这样给定指令重复执行导致操作中的差错。如果在级3301当前程序计数器数值被确定不等于最后复位的程序计数器数值,这样处理就直接转入级3303,在该级,存储程序计数器数值,用于以后死锁的检测。然而,如果在级3301确定程序计数器数值等于最后复位的程序计数器数值,这就指示是死锁。因此,处理就转入级3302,在该级,铜整一个或者多个处理器的操作参数,从而防止任何死锁的继续。在这一特殊的结构中,操作参数的调整包括暂时降低时钟速率。然而,应该意识到的是,在另一可选结构中,可以调整电压来实现相同的效果。一旦在级3302时钟速率被暂时降低,则处理就转入级3303,在该级,存储程序计数器数值,用于以后死锁的检测。随后,处理就返回级3397,开始执行下一处理周期。尽管在根据图3B所示的结构中,死锁;波积极地检测到并且根据死锁来暂时改变操作参数,但是在另一可选结构中,根据每一个差错检测,例如,降低时钟速率来暂时改变操作参数。在这种情况下,就不再需要积极检测死锁。图3C图示说明了根据本技术的操作参数调整处理的流程图。操作参数调整处理是与图3B所示的差错检测和恢复处理分开的处理。图3C所图示逸明的操作参数调整处理是一个三级处理,它在级3304开始,采样与处理操作有关的差错比率。随后,在级3305确定差错比率是否在可以接受的范围之内,并且如杲是,就不对操作参数进行任何调整,但继续采样差错比率。然而>如果确定差错比率不在可以接受的范围之内,则处理就转入下一级3306,从而调整操作参数。如果操作参数的这种调整不能使采样差错比率返回到可以接受的范围内,则根据需要继续进一步调整。图3C所示的操作参数修正处理可以完全是在硬件中进行,或者使用硬件和软件的组合方式来进行,其中差错比率信息记录在硬件寄存器中或者在存储器中。这种差错H:率信息随后用软件读取,使用软件可编程寄存器来修改操作参数。图4图示说明了根据本技术的转变检测D型触发器。该结构包括标准的主从上升沿触发的触发器3310和转变检测器电路3350。触发器3310对应于图1所示的连接着流水线级的触发器3020。在另一可选结构中,触发器可以由任何电路元件来替代,只要其能够存储信号数值即可,而与触发和其它要求无关。图4所示电路结构的处理是由时钟信号CLK来驱动的,时钟信号nCLK对应于已经经过一个单个反相器元件之后的时钟信号,而时钟信号个反相器I1,I212和13的结构提供给主触发器并且也提供给转变检测器3350。三个反相器组合所引起的延迟等于主触发器的建立时间。建立时间是触发器的特性并且是表示该触发器电路稳定在确定的逻辑数值所需要的时间。在转变检测器3350中,输入信号提供给一组四个反相器14、15、16和17。反相器阵列不同点的输出提供给晶体管阵列,该晶体管阵列包括晶体管Nl、N2、N3、N4、N5和N6。晶体管Nl是被源于对应于反相器14的输入的信号的输出驱动;晶体管N2是被反相器l6的输出驱动;晶体管N3是被反相器14的输出驱动;以及晶体管N4是被反相器l7的输出驱动。晶体管N5仅仅只在时钟信号为高时才导通。晶体管N6与动态节点ERR—DYN连接。ERR_DYN节点被紧接着的反相器18和19有力地保护,以防止噪声所引起的放电,并且通过反相器110从电路输出差错输出信号。来自各个单个的差错检测电路的差错信号被提供给控制状态机(未显示),它响应差错信号来输出全局差错复位信号Err一reset。为了下一个差错事件,该信号对ERR_DYN节点进行预充电。这一有条件的预充电方案显著地减小了与时钟3032相连引脚上的容负载并且提供了一个低功率开销(overhead)的设计。它也避免了额外的锁存器元件的需要,否则就需要它来保持在预充电期间的差错信号的状态。当输入数据在主触发器3310的建立时间窗口中转变或者在紧跟着图5所示采样边沿的时钟相位中转变,图4所示的电路结构能够标示出集成电路操作中的差错。在建立窗口或者随后的时钟相位中的数据转变都指示了新的转变输入。图4所示的转变检测器的另一种可选方式是使用延迟的锁存器,以晚于触发器3020的执行俘获处理逻辑的输出。在延迟数值和存储于触发器3020的非延迟数值之间的比较结果可以用于确定差错的发生。该差错检测系统已经在美国专利申请No.US2004-0199821中进行了描述。该系统包括通过计算在第一和第二采样时间(后续采样时间)的信号数值之间的差值来检测转'变.。然而,图4所示的转变检测器3350被安排为检测在预定时间窗口内的信号状态的任何转变。图5图示说明了在主触发器3310的建立周期内所发生的数据转变的功能时序图。如图5最上部分示出了主触发器的建立时间TsETUP一FF与时钟边沿的关系,并且可以看到建立时间紧先于时钟边沿。时钟边沿保持为正的时间由时间周期Tpos所表示。因此,可以看到,在这种情况下,在主触发器的建立周期发生输入数据的转变。然而,因为图4所示的延迟元件I!、12和13(在输入数据输入到转变检测器3350之前必须通过这些延迟元件),在数据中转变就会延迟一些时间,使得这些转变发生在时间Tpos内,但是在周期TSETUP_FF以外。数据轮廓(dataprofile)DATA—DEL3对应于在转变检测器3350中的第一个反相器Lf的输入。该数据轮廓与输入数据的转变轮廓是反相的,因为它已经通过了奇数个反相器I1,I2和I3。图6图示说明了指示图4所示的电路是如何在检测从逻辑状态1转变到逻辑状态0的数据转变中起作用的功能时序图。图4所示的电路检测晶体管Nl、N2和N3都导通时的转变。正如图6A所示,时钟信号在时间T^从低变为高并且在时间Tc2再从高的状态变为低的状态。图6B显示了在时间TD从高到低的数据转变,这是在时钟信号为高的时间周期内产生的。图6C显示了图4所示的信号DATA—DEL3的轮廓,这是反相器13的输出并且控制晶体管N1。该信号在时间TB从低变为高,这一时间稍微迟于数据转变时间Td。图6D显示了数据信号DATA—DEL4的数据轮廓,它控制晶体管N3。该数据信号在又迟后于丁13的时间,即,时间TI4,从高变为低。图6E显示了数据信号DATA—DEL5的数据轮廓,这是延迟元件14的输出并且不作为输入提供给晶体管阵列中的任何晶体管。图6F显示了数据信号DATA一DEL6的轮廓,用于控制N2晶体管输入并且在迟后于时间丁14的时间U人高变为低。最后,图6G显示了DATA_DEL7的轮廓,它用于控制晶体管N4的输入并且在时间Tn从低变为高,该时间又比时间Tm滞后些。晶体管N1在时间丁13之前是截止的而在该时间之后是导通的。晶体管N3在时间丁14之前是导通的而在该时间之后是截止的。晶体管N2在时间丁16之前是导通的而在该时间之后是截止的,并且晶体管N4在时间丁17之前是截止的而在该时间之后是导通的。因'此,可以看到,存在着晶体管N1和N2两者同时切换在导通的时间窗口,但是在该功能时序图中,没有晶体管N3和N4两者同时切换在导通的时间窗口。在从T=0开始和在丁13结束的时间窗口中,晶体管Nl和N4切换在截止,而晶体管N2和N3则切换在导通,因为在该时间窗口内控制Nl的信号和控制N3的信号都为高。在TI3和TI4的时间窗口中,晶体管Nl、N2和N3都是导通的,而晶体管N4是截止的。在Tm和Tw间的时间窗口中,晶体管Nl和N2都是导通的,而晶体管N3和N4都是截止的。在TI6和TI7间的时间窗口中,只有晶体管N1是导通的;在Tn和T2间的时间窗口中,晶体管N1和N4都是导通的,而晶体管N2和N3都是截止的。因此,对于时钟信号为高(当晶体管N5是导通时)和对于从时间113到Tw的持续时间,晶体管N1、N2和N5都是导通的。这就形成转变的检测,因为提供了从晶体管阵列到锁存器节点Err一dyn的传导路径。图7A至7G图示说明了适用于图4所示用于检测从逻辑数值0转变到逻辑数值1的数据转变的电路的功能时序图。图7A显示了时钟信号,该信号从Td到Tc2的周期内是正的。正如图7B所示,在从0到1的数据转变是在时间Td2之后,这正好是在时钟信号为正的阶段之中。图7C显示了数据信号DATA一DEL3的轮廓,该信号驱动晶体管N1的输入。该数据信号在时间TI3A从1变成为0,时间TBA较时间Tm滞后对应于反相器13的赋值(evaluation)时间。图7D图示说明了数据信号DATA一DEL4的轮廓,该信号驱动晶体管N3的输入。该信号在时间TwA从低变成为高,时间TwA较时间丁ba滞后对应于反相器14的赋值时间。图7E图示说明了数据信号DATA—DEL5的轮廓,该信号对应于反相器I5的输出。图7F显示了数据信号DATA—DEL6的数据轮廓,该信号驱动晶体管N2的输入并且该信号在时间Tma从0变成为1,时间力6a较时间TwA滞后对应于反相器15的赋值时间和反相器16的赋值时间。最后,图7G显示了数据信号DATA_DEL7的数据轮廓,该信号驱动晶体管N4的输入。该数据信号在时间Tha从1变成为0。反相器I10输出将仅仅只在如果晶体管N3、N4和N5全都导通的情况下从高变为低。正如从图7A至7G中所看到的那样,存在着一个时间窗口对应这种情况。特別是,从晶体管N3导通的时间Tma幵始直至晶体管N4截止的时间TnA的时间窗口。在这种情况下,没有这样的窗口,其中晶体管N1、N2和N5全都导通。于是,就可以看到,当晶体管N3、N4和N5全都为高时,图4所示的电路可指示从0变成为1的数据中的转变。图8A图示说明了图4所示的主触发器3310的功能时序图,而图8B则图示说明了图4所示的转变检测器电路3350的功能时序图。图8A和图8B所示的功能时序图一起说明了转变检测器的亚稳定窗口是如何对准使之不与主触发器3210的建立窗口相重叠的。这就需要转变检测器应该检测到在主触发器3310的建立窗口或者在时钟上升边沿之后的时间窗口中的转变。这种转变表示后续信号,这样主触发器不能在指定的时间输出正确的数值。图8A所图示说明的时钟信号与主触发器有关并且显示了在上升时钟边沿之前的建立窗口Tsetup—ff。两个要求定义了适用于主触发器的建立窗口。第一个要求是应该始终能够可靠地采样到正确的数据数值,而第二个要求是输出时序(即,确定数据输出时间的时钟)具有确定性和可以辨别。对于这些要求而言,一般来说,对输出时序要求的边际比采样正确数值要(略微)更加严格。因此,主触发器的建立时间Ts:tup-ff可以再被细分成两个时间窗口。这些时间窗口中的第一个窗口是Tlate(参见图8A)并且在该时间窗口中,如果信号发生转变,尽管始终采样到正确的数值。输出时序不在指定的边界之内。在主触发器的建立时间中的笫二个窗口在图8A中标记为Tmstable-ff,这是主触发器的亚稳定窗口。在窗口Tmstable-ff中,不能采样到正确的数据数值并且用于将输出转变到定义数值所花的时间可能是不确定的。再参照在图4所示电路图中所说明的主触发器,在主触发器3310中,有可能当转变栅极(transitiongate)TG1关闭时,在位于传输栅极(transmissiongate)TGl的输出的反相器的任何一边的节点Ml和M2上的电压电平使得在传输栅极TG1输出的与反相器并联设置的三态反相器Fl将能够始终反馈正确的数值。然而,数值用于通过后续传输栅极TG2和通过节点Sl和S2(在跟在TG2输出后的另一个反相器的两端),以及数值通过标记为Qbar和Q的后续反相器所需时间长于如果M2处于"full—rail"(逻辑状态1的Vdd或者逻辑状态0的GND)所需时间。接着,参照图8B,该图是与图4所示的转变检测器3350有关的功能时序图,其中转变检测器3350不具有如同触发器3310(和图5和图8A所说明)那样的对应于时钟上升边沿的建立时间。而是,对于转变检测器3350,存在着可以可靠检测数据输入中的转变的时间窗口并将该时间窗口称之为"采样窗口"。在图8B中,采样窗口标记为Tsample_td。在图8A中,采样窗口Tsample—td被再细分为三个明显不同的子窗口。前两个子窗口对应于上述主触发器的子窗口Tlate和Tmstable-ff。第三个子窗口Tincorrect,它相邻窗口Tmstable-ff,与Tlate和Tmstable-ff—起形成全部时间窗口Tsmple—td,其中转变检测器3350—定检测出在数据信号中的转变。如果数据信号在子窗口Tlate中转变,则图4所示的触发器3310的Q输出是正确的,但转变是迟后的。如果数据信号转变发生在时间窗口Tmstable-ff中,则触发器3310的主锁存器部分会变成亚稳定,这使得电路的输出的数值变得不正确和/或是延迟。最后,如果在子窗口Tincorrect中发生转变,则输出就会有不正确的数值,并且图4所示的传输栅极TG1就会在新的信号数值到来之前完全关闭。在紧跟着图8A所示的Tincorrect之后并且标记为Tcorrect的周期部分表示时间周期的其余部分,在这期间转变不表示差错。值得注意的是,图4所示器件的操作参数可设置成使得主触发器3310的输入信号始终不会迟后于Tincorrect窗口内。这种结构对主触发器3310的输入的保持时间施加了限制,使得可以改变的对主触发器的最早输入是Tcorrect窗口的开始。转变检测器3350也具有亚稳定窗口,该窗口在图8B中被标记为Tmstable_td,并且该时间窗口在时间窗口Tsample_td之前。如果在时间窗口Tmstable_td中发生转变,则在图4所示的Err_dyn模式就会变成亚稳定,使得差错输出变成未知(即,逻辑l、逻辑O或者某些中间数值)。然而,通过将电路设计使得在所示的窗口Tcorrect中产生Tmstable_td,但不与Tlate、Tmstable-ff或者Tincorrect相重叠,则如果知道在转变检测3350中没有产生亚稳定,那么主触发器3310的Q输出就一定具有正确的数值和输出时间选择。这就使得标准的同步逻辑可以应用于差错信号所驱动的逻辑输出。如图9所示。图9图示说明了源于转变检测器的差错信号的差错同步。图9所示的结构包括OR门3040(对应于图1所图示说明的)、以及OR门输出依次提供至的第一触发器3042和第二触发器3044。第一触发器3042特别设计成适用于快速亚稳定解决(resolution)并且在反馈环路中具有非常高的增益,这就是亚稳定的原因。标准触发器一般在反馈环路中具有比触发器3042更低的增益,因为在触发器的增益和其它参数(例如,建立时间和面积)之间存在着设计的折衷。第二触发器3044是一个标准的触发器。正如图9所示,源于个转变检测器所产生的多个差错信号,errorl、e匿2、e蘭3,…,errorN二起进行OR运算,形成GlobalError信号。如果输入OR门3040的各个差错信号中的任何一个信号是亚稳定的,则就会引起输出GlobalError信号的亚稳定或者不确定的时序。GlobalError信号通过用于将信号同步在一个指定时钟域中的标准结构,该结构由两个触发器3040和3044所组成。第二个触发器3044的输出是GlobalError信号的同步版,因为它具有对应于明确的逻辑数值的电压电平并且还具有确定的时序。在图9中,将该信号标记为GlobalErrorSync。在GlobalError信号处于亚稳定的状况下,GlobalErrorSync信号可以为逻辑0,也可以为逻辑1。图1所示的差错恢复检测器3050使用GlobalErrorSync信号来确定何时产生操作差错。由于转变检测器3350的亚稳定窗口完全处于在Tcorrect时间窗口内(参照图8A和图8B),在转变检测器3350变成亚稳定的情况下,这GlobalErrorSync信号所产生的数值将会对应于"不关注"的条件。如果在GlobalErrorSync信号在这种情况下指示为逻辑数值l,则差错恢复处理就被初始化,尽管这是开始了。权利要求1.一种适用于数据处理装置的集成电路,所述集成电路能够执行数字数据处理且包括差错检测电路,能够监测在所述集成电路中的数字信号数值并且检测在预定时间窗口中的所述信号数值的转变,所述转变指示所述集成电路的操作中的差错;存储单元,能够存储所述数据处理装置的恢复状态,所述恢复状态包括对应于所述集成电路的编程器模式的结构状态变量中的至少一个子集;差错恢复电路,能够响应所述差错检测电路并能够使得所述集成电路使用所述存储的恢复状态从所述差错中恢复;操作参数控制器,能够控制所述集成电路的一个或者多个性能控制操作参数;其中,所述操作参数控制器根据所述差错检测电路所检测到的一个或多个差错特征来动态控制所述一个或多个性能控制参数中的至少一个,以维持操作中的差错的非零比率,所述差错恢复电路能够使得集成电路从所述操作中的差错中恢复,从而使得所述集成电路的数据处理继续。2.如权利要求1所述的集成电路,其特征在于,其中所述恢复状态包括微结构状态变量中的至少一个子集。3.如权利要求1或2所述的集成电路,其特征在于,其中所述差错检测电路安排成通过计算在所述第一采样时间的所述信号数值和第二采样时间(即,后续的采样时间)的所述信号数值之间的差值来检测所述转变。4.如权利要求1或2所述的集成电路,其特征在于,其中所述差错检测电路被安排成通过检测在预定时间窗口内的所述信号数值中的任何状态转变来^r测所述转变。5.如上述权利要求中任意一项所述的集成电路,其特征在于,其中所述差错检测电路能够检测与所述集成电路的处理电路元件有关的输出信号中的差错。6.如权利要求5所述的集成电路,其特征在于,其中所述集成电路具有差错检测电路亚稳定窗口,所述亚稳定窗口与所述有关处理电路元件的建立窗口相互排斥。7.如权利要求5或6所述的集成电路,其特征在于,其中所述集成电路包括多个与多个处理电路元件各自相关的差错检测电路。8.如权利要求5至7中任意一项所述的集成电路,其特征在于,其中所述集成电路具有包括多个流水线级的指令流水线。9.如权利要求7所述的集成电路,其特征在于,其中所述相关的处理电路元件是适用于在所述多个流水线级相连各个之间传递数据的锁存器。10.如权利要求5至9中任意一项所述的集成电路,其特征在于,其中所述差错检测电路包括至少一个安排用于延迟输入数字信号的延迟元件,从而能够在所述处理电路元件的建立时间周期内发生所述转变时检测所述转变。11.如上述权利要求中任意一项所述的集成电路,其特征在于,其中所述差错检测电路包括0变成1的转变检测器和1变成0的转变检测器中的至少_个。12.如权利要求5至11中任意一项所述的集成电路,其特征在于,其中所述差错恢复电路包括至少一个稳定流水线级,所述稳定流水线级能够在将所述输出作为所述集成电路的状态变量提交之前确认所述多个流水线级的输出数值。13.如权利要求12所述的集成电路,其特征在于,其中所述集成电路包括数据转发电路,所述数据转发电路能够将直接来自多个流水线级中的特定一个流水线级的,用所述特定流水线级所计算的数值提供给所述多个流水线级中的另一个不同的流水线级,以为不同流水线级的输入数值使用。14.如上述权利要求中任意一项所述的集成电路,其特征在于,其中所述存储单元是寄存器组,能够存储确认的状态变量,所述确认的状态变量是已经确认不会受到操作中的差错影响的变量。15.如权利要求1至14中任意一项所述的集成电路,其特征在于,其中所述集成电路包括推测寄存器组,所述推测寄存器组能够存储还没有确认不受所述操作中的差错影响的推测状态变量,并且其中所述存储单元是确认16.如权利要求15所述的集成电路,其特征在于,其中所述差错恢复电路能够在所述差错检测电路检测到操作中的差错的情况下以所述确认寄存器组中的所述确认状态变量中的相对应的变量来取代在所述推测寄存器组中的所迷推测状态变量中的子集。17.如上述权利要求中任意一项所述的集成电路,其特征在于,其中所述操作参数控制器能够在检测到所述操作中的差错之后的一段时间延迟以后至少暂时调整一个或者多个所述性能控制参数。18.如权利要求17所述的集成电路,其特征在于,还包括死锁检测模块,死锁能够检测在对应于给定指令操作中重复的差错,并且其中所述操作参数控制器能够根据所述检测到的重复来暂时调整一个或多个所述性能控制参数。19.一种适用于控制集成电路执行数据处理的方法,所述方法包括下列步骤监测在所述集成电路中的数字信号数值并且检测在预定时间窗口内的所述信号数值的转变,所述转变指示所述集成电路的操作中的差错;存储所述数据处理装置的恢复状态,所述恢复状态包括对应于所述集成电路编程器才莫式的结构状态变量中的至少一个子集;使用所述存储的恢复状态,根据所述操作中的差错的检测,使得所述集成电路从所述操作中的差错中恢复;控制所述集成电路的一个或者多个性能控制操作参数;其中,所述控制步骤包括根据在所述监测和检测步骤中检测到的一个或多个差错特性来控制所述一个或多个性能控制参数中的至少一个参数,从而保持操作中的差错的非零比率,响应所述操作中的差错的检测来使用所述存储的恢复状态,使得所述集成电路能够从操作中的差错中恢复,使所述集成电路继续数据处理。全文摘要一种集成电路包括差错检测电路3230-1至3230-4,这些差错检测电路能够检测到在预定时间窗口内的信号数值中的转变,这些转变指示集成电路在操作中的差错。该集成电路还包括存储单元3296,它能够存储数据处理装置的恢复状态,该恢复状态包括对应于集成电路编程器模式的结构状态变量中的至少一个子集。提供差错恢复电路3250、3260、3210作为集成电路中的一部分,并且用于使集成电路能够使用存储单元3296所存储的恢复状态从检测到的操作差错中恢复。集成电路的操作参数控制器3242根据检测到的操作中的差错的一个或多个特性来调整集成电路的操作参数,例如,时钟频率、工作电压、基底的偏置电压、温度,以采用提高整体性能的方式来保持有限的非零差错比率。文档编号G06F11/14GK101203836SQ200580050138公开日2008年6月18日申请日期2005年4月21日优先权日2005年4月21日发明者D·M·布尔,D·T·布劳夫,S·达斯申请人:Arm有限公司;密执安大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1