CN101719087A - 微处理器可靠性评测方法及其系统 - Google Patents

微处理器可靠性评测方法及其系统 Download PDF

Info

Publication number
CN101719087A
CN101719087A CN200910241575A CN200910241575A CN101719087A CN 101719087 A CN101719087 A CN 101719087A CN 200910241575 A CN200910241575 A CN 200910241575A CN 200910241575 A CN200910241575 A CN 200910241575A CN 101719087 A CN101719087 A CN 101719087A
Authority
CN
China
Prior art keywords
fault
hardware configuration
time zone
microprocessor
intermittent
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
CN200910241575A
Other languages
English (en)
Other versions
CN101719087B (zh
Inventor
潘送军
胡瑜
李晓维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2009102415751A priority Critical patent/CN101719087B/zh
Publication of CN101719087A publication Critical patent/CN101719087A/zh
Application granted granted Critical
Publication of CN101719087B publication Critical patent/CN101719087B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及微处理器可靠性评测方法及其系统,方法包括:步骤1,确定待分析的间歇故障所属的故障类型,确定故障模型的关键参数;步骤2,根据确定的故障类型,从微处理器中选择硬件结构;步骤3,在微处理器中运行测试程序,根据关键参数运用故障模型进行故障模拟,确定测试程序执行过程中硬件结构包含的体系结构正确执行位或关键时间区域;步骤4,根据确定的体系结构正确执行位或关键时间区域,判断发生在硬件结构中的间歇故障是否影响程序执行结果;步骤5,根据判断结果计算测试程序执行过程中,待分析的硬件结构中的间歇故障脆弱因子,对微处理器进行可靠性评测。本发明能够评测微处理器中不同结构发生的间歇故障引起程序执行出错的概率。

Description

微处理器可靠性评测方法及其系统
技术领域
本发明属于计算机领域,尤其涉及微处理器可靠性评测方法及其系统。
背景技术
随着超深亚微米工艺在微处理器制造中的逐步应用,单个芯片上集成的晶体管数目越来越多,微处理器的性能得到大幅度提高。同时由于集成电路特征尺寸的减少、电源电压的降低和频率的升高,使得微处理器芯片越来越容易受到间歇故障、软错误和永久故障的影响,芯片的失效率随之不断升高,可靠性成为微处理器设计中一个日益严峻的问题。
间歇故障是一种硬件故障,表现为一段时间内信号频繁无规律地错误跳变,主要是由于制造工艺的变异,芯片使用过程中的老化,以及电压温度的波动而引起的;软错误是指电路由于受到宇宙射线中的高能粒子或芯片封装中α粒子的辐射作用,产生的单比特位翻转,从而改变存储单元中保存的数据或逻辑电路运算结果。永久故障反映的是电路单元产生了不可恢复的故障,主要是由于制造缺陷,如硅片中的污染或材料的老化,引起的。间歇故障和软错误可导致相似的跳变效应,但它们之间有如下不同:第一,从空间的角度,一个间歇故障将在同一位置出现多次,而一个软错误则几乎不会在同一位置连续出现。第二,从时间的角度,一个间歇故障是突然频繁发生,而一个软错误通常表现为单比特位翻转或单事件瞬态故障;第三,如果一个受间歇故障影响的硬件结构被替换,那么发生的间歇故障将随之消失,但软错误将同样可能发生在该结构上。间歇故障与永久故障也存在不同,主要表现为它们的持续时间不同。随着间歇故障持续的时间不断变长,最终也可能转化为永久故障。
本领域中有研究认为软错误和永久故障是引起微处理器芯片失效的主要原因,根据实际系统运行过程中收集的数据显示,间歇故障已成为影响芯片失效的最主要因素。如果不采用容错技术提高可靠性,微处理器芯片的失效率将随着晶体管数目的增多而成指数级增长。
为提高系统的可靠性,传统采用的技术包括三模冗余和线程级冗余。三模冗余对同一功能单元使用三个冗余模块,三个模块提供相同的输入,最后用一个多数表决器对三个输出结果进行表决,以确定最后的输出,如图1所示。三模冗余允许其中的任一模块出现故障,因此能实现高可靠系统,但该技术带来的面积和功耗开销将达到300%;线程级冗余技术中通过对运行的线程产生一个冗余线程,其中一个称为主线程,另外一个称为从线程,两个线程的输入一致,产生的结果需比较一致后才能写入到内存中,如图2所示。该方法也能达到较高的可靠性,但将导致30%的性能损失。可见现有容错技术在确保实现可靠性目标的同时,带来了较大的性能、面积以及功耗方面的开销。因此,微处理器中需要评测不同的容错技术带来的利与弊。如果采用严格的容错技术,将引起不必要的开销;反之,如果采用轻量级的容错技术,则可能达不到系统的可靠性设计目标。微处理器领域中需要一种简单、量化的评测指标,分析不同结构中发生间歇故障对程序运行的影响,从而指导可靠性设计。现有技术中使用的评测指标MTTF(Mean Time To Failure,平均失效时间)或FIT(Failures In Time,即时错误)主要用于表征不同结构的可靠性,但没有考虑到不同结构对故障的屏蔽效果,以及该些结构的使用率,不适于描述发生的各种故障对程序运行的影响。
目前研究人员已经提出相关的评测指标,分析不同结构中发生的软错误对程序执行结果的影响。其中一种评测指标称为体系结构脆弱因子。它表示微处理器中某结构发生的软错误最终影响程序执行结果的概率。体系结构脆弱因子越高,表明该结构中发生的软错误越容易导致程序执行出错,相应的结构需要采取更严格的容错技术,以提高系统的可靠性。计算某结构的体系结构脆弱因子,可通过分析一段时间内该结构中包含的体系结构正确执行位进行。体系结构脆弱因子是从体系结构和微体系结构的角度分析发生的软错误对程序执行结果的影响。分析不同的微处理器结构,以及运行不同的测试程序时,计算得到的体系结构脆弱因子都将发生变化。另外一个分析软错误的评测指标为程序脆弱因子,该评测指标仅从体系结构的角度分析程序运行过程中对软错误的屏蔽效果,便于指导程序设计以及选择编译优化技术,提高系统的可靠性。
此外针对永久故障,研究人员提出了一种永久故障脆弱因子,该评测指标主要用于分析比较不同容错技术对系统可靠性提高的程度。
间歇故障由于产生原因的多样性,已成为影响微处理器可靠性设计的重要因素,分析微处理器中不同结构发生的间歇故障对程序执行结果的影响具有重要意义。现有技术还没有相应的评测指标分析微处理器中不同结构对间歇故障的屏蔽效果,因此需要一种评测指标表示不同结构中发生间歇故障导致程序出错的概率,从而指导微处理器可靠性设计。
发明内容
为解决上述问题,本发明提供了微处理器可靠性评测方法及其系统,能够评测微处理器中不同结构发生的间歇故障引起程序执行出错的概率。
本发明公开了一种微处理器可靠性评测方法,包括:
步骤1,对间歇故障进行分类,确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型,确定所述故障模型的关键参数;
步骤2,根据确定的故障类型,从所述微处理器中选择硬件结构,被选择的硬件结构为待分析的硬件结构;
步骤3,在微处理器中运行测试程序,根据所述关键参数,运用所述故障模型进行故障模拟,确定测试程序执行过程中待分析的硬件结构包含的体系结构正确执行位或关键时间区域;
步骤4,根据确定的体系结构正确执行位或关键时间区域,判断发生在所述硬件结构中的间歇故障是否影响程序执行结果;
步骤5,根据判断结果计算测试程序执行过程中,待分析的硬件结构中的间歇故障脆弱因子,对微处理器进行可靠性评测。
所述步骤1进一步为,
步骤21,根据待分析的间歇故障产生的原因,对间歇故障进行分类;
步骤22,确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型;
步骤23,确定故障模型的关键参数,所述关键参数包括故障持续时间、活跃时间以及非活跃时间。
所述故障类型包括间歇固定为1或0故障,间歇开路或短路故障,以及间歇时序故障。
所述步骤2进一步为,
步骤41,当间歇故障类型为间歇固定为1或0的故障时,选择微处理器中的存储结构,所述存储结构为待分析的硬件结构。
所述步骤3中确定测试程序执行过程中待分析的硬件结构的体系结构正确执行位进一步为,
步骤51,根据测试程序执行过程中指令的类型和指令的执行结果的使用情况,判断出每条指令中包含的体系结构正确执行位。
所述步骤51进一步为,指令为NOP指令时,对应操作码为NOP指令的体系结构正确执行位;如果硬件结构中保存NOP指令,则NOP指令操作码对应的比特位为所述硬件结构的体系结构正确执行位。
所述步骤3中确定待分析的硬件结构的关键时间区域进一步为,
步骤71,根据分析的时间区域内所述硬件结构中的数据是否被读取,判断所述被分析的时间区域是否为所述硬件结构的关键时间区域。
所述步骤71进一步为,对任意一个寄存器,所述时间区域为相邻两次向寄存器中写入数据的时间间隔,如果在所述时间区域内,写入的数据被读取,则所述时间区域为关键时间区域。
所述步骤4进一步为,
步骤91,对于体系结构正确执行位,判断间歇故障是否影响所述硬件结构的体系结构正确执行位,如果是,则发生在所述硬件结构中的间歇故障影响程序执行结果;
步骤92,对于关键时间区域,判断间歇故障是否发生在所述硬件结构的关键时间区域内,如果是,则所述硬件结构中的间歇故障影响程序执行结果。
所述步骤91进一步为,
步骤101,如果所述硬件结构中连续包含体系结构正确执行位的时间短于间歇故障的活跃时间,并且包含体系结构正确执行位的时间与间歇故障非活跃时间重叠,则发生的间歇故障不改变体系结构正确执行位;
步骤102,根据发生的间歇故障是否改变体系结构正确执行位,对硬件结构中的体系结构正确执行位进行投影,得到二维表示的体系结构正确执行位。
所述步骤5进一步为,
步骤111,对于体系结构正确执行位,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构包含的比特位数,分子则为间歇故障投影到二维平面的体系结构正确执行位数;
步骤112,对于关键时间区域,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构的入口数,分子则为关键时间区域受间歇故障影响的入口数目。
本发明还公开了一种微处理器可靠性评测系统,包括:
故障模型建立模块,用于对间歇故障进行分类,确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型,确定所述故障模型的关键参数;
硬件结构确定模块,用于根据确定的故障类型,从所述微处理器中选择硬件结构,被选择的硬件结构为待分析的硬件结构;
测试启动模块,用于在微处理器中运行测试程序,根据所述关键参数,运用所述故障模型进行故障模拟,确定测试程序执行过程中待分析的硬件结构包含的体系结构正确执行位或关键时间区域;
测试分析模块,用于根据确定的体系结构正确执行位或关键时间区域,判断发生在所述硬件结构中的间歇故障是否影响程序执行结果;
测试结果计算模块,根据判断结果计算测试程序执行过程中,待分析的硬件结构中的间歇故障脆弱因子,对微处理器进行可靠性评测。
所述故障模型建立模块进一步用于根据待分析的间歇故障产生的原因,对间歇故障进行分类;确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型;确定故障模型的关键参数,所述关键参数包括故障持续时间、活跃时间以及非活跃时间。
所述故障类型包括间歇固定为1或0故障,间歇开路或短路故障,以及间歇时序故障。
所述硬件结构确定模块进一步用于当间歇故障类型为间歇固定为1或0的故障时,选择微处理器中的存储结构,所述存储结构为待分析的硬件结构。
所述测试启动模块在确定测试程序执行过程中待分析的硬件结构的体系结构正确执行位时进一步用于根据测试程序执行过程中指令的类型和指令的执行结果的使用情况,判断出每条指令中包含的体系结构正确执行位。
所述测试启动模块在判断出每条指令中包含的体系结构正确执行位时进一步用于在指令为NOP指令时,对应操作码为NOP指令的体系结构正确执行位;如果硬件结构中保存NOP指令,则NOP指令操作码对应的比特位为所述硬件结构的体系结构正确执行位。
所述测试启动模块在确定待分析的硬件结构的关键时间区域时进一步用于根据分析的时间区域内所述硬件结构中的数据是否被读取,判断所述被分析的时间区域是否为所述硬件结构的关键时间区域。
所述测试启动模块在判断所述被分析的时间区域是否为所述硬件结构的关键时间区域时进一步用于对任意一个寄存器,所述时间区域为相邻两次向寄存器中写入数据的时间间隔,如果在所述时间区域内,写入的数据被读取,则所述时间区域为关键时间区域。
所述测试分析模块进一步用于对于体系结构正确执行位,判断间歇故障是否影响所述硬件结构的体系结构正确执行位,如果是,则发生在所述硬件结构中的间歇故障影响程序执行结果;
对于关键时间区域,判断间歇故障是否发生在所述硬件结构的关键时间区域内,如果是,则所述硬件结构中的间歇故障影响程序执行结果。
所述测试分析模块在对于体系结构正确执行位分析时进一步用于如果所述硬件结构中连续包含体系结构正确执行位的时间短于间歇故障的活跃时间,并且包含体系结构正确执行位的时间与间歇故障非活跃时间重叠,则发生的间歇故障不改变体系结构正确执行位;根据发生的间歇故障是否改变体系结构正确执行位,对硬件结构中的体系结构正确执行位进行投影,得到二维表示的体系结构正确执行位。
所述测试结果计算模块进一步用于对于体系结构正确执行位,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构包含的比特位数,分子则为间歇故障投影到二维平面的体系结构正确执行位数;
对于关键时间区域,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构的入口数,分子则为关键时间区域受间歇故障影响的入口数目。
本发明的有益效果在于通过对间歇故障进行故障建模,分析微处理器不同结构中发生的间歇故障对程序执行结果的影响,能够对微处理器可靠性设计进行评测。
附图说明
图1是现有技术中三模冗余容错方法;
图2是现有技术中线程级冗余检错方法;
图3是本领域中微处理器流水线结构图;
图4是间歇固定型故障模型示意图;
图5是本发明计算存储部件间歇故障脆弱因子示意图;
图6是本发明分析寄存器文件关键时间区域示意图;
图7是本发明的微处理器可靠性评测方法流程图;
图8是本发明的微处理器可靠性评测系统结构图。
具体实施方式
下面结合附图,对本发明做进一步的详细描述。
本发明的微处理器可靠性评测方法如图7所示,包括如下步骤。
步骤S100,对间歇故障进行分类,确定待分析的间歇故障所属的故障类型,并对故障类型建立相应的故障模型,确定所述故障模型的关键参数。
所述间歇故障的故障模型包括:间歇固定为1或0故障,间歇开路或短路故障,以及间歇时序故障。
所述关键参数包括故障持续时间、活跃时间以及非活跃时间。所述关键参数在故障模拟过程中可以进行调节,用于分析模拟的间歇故障是否影响程序执行结果。模拟的间歇故障在程序执行过程中服从均匀分布,所述均匀分布是指在测试程序运行的时间段内,间歇故障在任意时刻都有可能发生。在微处理器模拟器中运行测试程序,并在测试程序执行过程中,进行故障模拟。
所述步骤S100具体实施方式如下。
步骤S110,根据待分析的间歇故障产生的原因,对间歇故障进行分类。步骤S120,确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型。
步骤S130,确定故障模型的关键参数,所述关键参数包括故障持续时间、活跃时间以及非活跃时间。
步骤S200,根据确定的故障类型,从所述微处理器中选择硬件结构,被选择硬件结构为待分析的硬件结构。
步骤S200进一步为,当间歇故障模型为间歇固定为1或0的故障时,选择微处理器中的存储结构,所述存储结构为待分析的硬件结构。
存储结构包括:重排序缓冲、指令队列、寄存器文件。
步骤S300,在微处理器中运行测试程序,根据所述关键参数运用所述故障模型进行故障模拟,确定测试程序执行过程中待分析的硬件结构的体系结构正确执行位或关键时间区域。
确定测试程序执行过程中待分析的硬件结构的体系结构正确执行位进一步为根据测试程序执行过程中指令的类型和指令的执行结果的使用情况,判断出每条指令中体系结构正确执行位的对应比特位。例如,NOP指令中,操作码为体系结构正确执行位,其余位为非体系结构正确执行位;如果某硬件结构中保存NOP指令,则对应操作码的比特位为体系结构正确执行位。
确定待分析的硬件结构的关键时间区域进一步为根据分析的时间区域内所述硬件结构中的数据是否被读取,判断所述被分析的时间区域是否为所述硬件结构的关键时间区域。例如对任意一个寄存器,某一时刻往该寄存器写入一个数据,一段时间后,向该寄存器中写入另一个数据。在两次写入的时间间隔为时间区域,如果第一个数据被其它指令用到,则该时间区域称为关键时间区域,如果该数据不被其它的指令所用到,则该时间区域称为非关键时间区域。在非关键时间区域内,寄存器中保存的值受到间歇故障的影响发生改变,也不影响程序执行结果。
步骤S400,根据确定的体系结构正确执行位或关键时间区域,判断发生在所述硬件结构中的间歇故障是否影响执行结果。
步骤S400进一步为,对于体系结构正确执行位,判断间歇故障是否影响所述硬件结构的体系结构正确执行位,如果是,则所述硬件结构中的间歇故障影响执行结果;对于关键时间区域,判断间歇故障是否发生在所述硬件结构的关键时间区域内,如果是,则所述硬件结构中的间歇故障影响执行结果。
由于间歇故障出现的时刻、持续时间以及活跃时间的长度不确定,在实际分析过程中,为了使分析结果具有统计意义,需要设置间歇故障发生的时刻、持续的时间以及活跃时间的长度。分析的间歇故障仅在活跃时间内改变故障所发生的硬件结构中的值。
结合步骤S300中分析的体系结构正确执行位的持续时间以及关键时间区域的长度,分析在该时间段内,是否发生了间歇故障,并判断发生的故障是否会影响程序的执行结果。
如果某一硬件结构中连续包含体系结构正确执行位的时间长于间歇故障的活跃时间,则该间歇故障将会导致程序执行结果出错。如果某一结构中包含体系结构正确执行位的时间短于间歇故障的活跃时间,且包含体系结构正确执行位的时间与间歇故障非活跃时间重叠,则发生的间歇故障对程序运行没有影响。根据发生的间歇故障是否改变体系结构正确执行位,对该硬件结构中的体系结构正确执行位进行投影,得到二维表示的体系结构正确执行位,便于后续计算该结构的间歇故障脆弱因子。
步骤S500,根据判断结果计算测试程序执行过程中,待分析的硬件结构中的间歇故障脆弱因子,对微处理器进行可靠性评测。
所述步骤S500进一步为,对于体系结构正确执行位,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构包含的比特位数,分子则为间歇故障投影到二维平面的体系结构正确执行位数;对于关键时间区域,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构的入口数,分子则为关键时间区域受间歇故障影响的入口数目。
本发明中间歇故障脆弱因子越大,表明发生在该结构中的间歇故障越容易导致程序出错;间歇故障脆弱因子越小,表明发生在该结构中的间歇故障越容易被屏蔽,导致程序执行结果出错的概率越小。对间歇故障脆弱因子大的硬件结构,为满足可靠性要求,需要采用更多的容错方法提高系统的可靠性。
实施例1
图3为本领域的微处理器流水线结构示意图,图3中加斜线的部分为待分析的微处理器硬件结构,包括重排序缓冲和寄存器文件。重排序缓冲相当于一个额外的缓存器,用于支持微处理器中的乱序执行,并能确保微处理器能够实现精确中断。寄存器文件则为指令执行提供操作数以及存放指令执行的中间结果。
本实例中,选取的待分析的故障模型为间歇固定型故障,故障模型如图4所示。间歇固定型故障包括间歇固定为1的故障和间歇固定为0的故障。主要的参数包括故障的开始时间,故障持续的周期数,故障活跃时间以及非活跃时间。为确保计算结果具有统计意义,上述参数根据均匀分布进行设置,运行不同测试程序时参数的设置将有所改变。本实例中仅考虑间歇固定型故障在活跃时间段内改变有故障硬件结构保存的数据,而在非活跃时间段内对出现故障的硬件结构中保存的数据不产生影响。
具体计算不同结构的间歇故障脆弱因子时,主要包括分析发生的间歇故障是否影响程序的执行,并通过改变间歇故障的参数,分析对计算结果是否产生影响。
图5为一个简化的微处理器硬件结构三维表示图,其中的X、Y和Z坐标轴分别表示硬件结构的入口数,每个入口包含的比特位数以及程序的执行周期数。图5中的硬件结构包含2个入口,每个入口包含2个比特位,程序执行的周期数为4。在测试程序执行过程中,该硬件结构中包含的体系结构正确执行位用黑色平行四边形表示。
判断该硬件结构中发生的间歇故障是否影响程序执行结果,分为如下两种情形分析:
情形1,如果某一比特位连续包含体系结构正确执行位的时间长于间歇故障的活跃时间,则该间歇故障将影响程序的执行结果。
情形2如果某一比特位包含的体系结构正确执行位的时间不长于间歇故障的活跃时间,则进一步判断出现体系结构正确执行位的时间是否和间歇故障的活跃时间重叠。如果两者有重叠,则认为该位置发生的间歇故障将影响程序执行结果;如果两者没有重叠,则认为不会影响程序执行结果。当判断某位置发生的间歇故障影响程序执行结果,该位置的比特位投影到二维平面的投影区域为体系结构正确执行位;当判断某位置发生的间歇故障不影响程序执行结果,则投影到二维平面的投影区域为非体系结构正确执行位。
本实例中,图5中的比特位B1包含体系结构正确执行位的时间为2个周期,大于间歇故障的活跃时间1个周期,该位置发生间歇故障将影响程序执行结果,相应的投影到二维平面的投影区域为体系结构正确执行位;其余比特位B2,B3和B4发生间歇故障将不会改变程序执行结果,相应的投影到二维平面的投影区域则为非体系结构正确执行位。通过对体系结构正确执行位进行投影,就能分析发生在不同位置的间歇故障是否会影响程序执行,便于快速计算间歇故障脆弱因子。
本实例中,图5中的4个比特位投影到二维平面后,只包含1位体系结构正确执行位,该结构的间歇故障脆弱因子则为:
IVF = 1 4 = 25 %
上述结果表明,如果该结构中发生所示类型的间歇故障,导致程序执行出错的概率为25%。
在计算某硬件结构的间歇故障脆弱因子时,假定该结构中包含的比特位总数为B,经投影后的体系结构正确执行位数目为A,则该结构的间歇故障脆弱因子计算公式为:
IVF = A B = Σ s = 1 B U ACE D ( s ) B
上述计算公式中,s表示待计算结果中的任意比特位,UACE D(s)表示该比特位投影后为体系结构正确执行位。该计算公式适用于发生间歇固定型故障,分析计算重排序缓冲、发射队列以及载入存储缓存等指令存储结构的间歇故障脆弱因子。
本实例中,分析寄存器文件中的体系结构正确执行位则是根据寄存器文件中对应的操作来确定的。在程序执行过程中,微处理器首先对要执行的指令进行译码,如果该指令需要目标寄存器,则微处理器将为该指令分配一个空闲的物理寄存器,称为寄存器的一个映像。在该寄存器的映像中,所有可能的操作包括寄存器分配、写寄存器、读寄存器和回收寄存器。一个寄存器映像只能被写入一次,但可以被多次读取。
一个寄存器映像的生命周期从寄存器分配开始到该寄存器被回收,这个生命周期可以划分为三个时间段:从寄存器分配到数据被写入,从数据写入到数据最后一次读取,以及从数据最后一次读取到寄存器被收回。上述三个时间段中,只有从数据写入到数据最后一次读取为关键时间区域,其余两个时间段为非关键时间段。如图6所示为一个寄存器映像的生命周期以及相关的操作。
判断寄存器文件中发生的间歇故障是否影响程序的执行结果,可以分为如下三种情形进行分析:
情形1如果间歇故障发生在关键时间区域内,发生的故障将改变该寄存器的值,并最终影响程序执行结果,如图6所示故障1;
情形2如果间歇故障发生在非关键时间区域内,发生的故障将不会影响程序执行结果,如图6所示故障3;
情形3如果某间歇故障开始于关键时间区域,而结束于非关键时间区域,或者开始于非关键时间区域而结束于关键时间区域。对于这种情形,如果间歇故障在关键时间区域的持续时间与该间歇故障的活跃时间有重叠,则该间歇故障也将影响程序执行结果,如果不重叠,则该间歇故障将不会影响程序的执行,如图6所示故障2。
假定待分析的寄存器文件中包含的寄存器数目为E,在间歇故障的生命周期内,被影响的寄存器数目为T,则寄存器文件的间歇故障脆弱因子计算公式为:
IVF = T E = Σ e = 1 E U CT D ( e ) E
上述计算公式中,e表示寄存器文件中的任意寄存器入口,UCT D(e)表示发生的间歇故障影响该寄存器入口的关键时间区域。该计算公式适用于发生间歇固定型故障,分析计算寄存器文件、数据cache、指令cache等数据存储结构的间歇故障脆弱因子。
根据计算的不同结构间歇故障脆弱因子,就能对微处理器进行可靠性评测。间歇故障脆弱因子越大的结构,发生间歇故障后,引起程序执行出错的概率就越大;间歇故障越小的结构,发生间歇故障后,引起程序执行出错的概率就越小。应用中,根据不同结构的间歇故障脆弱因子,指导微处理器的可靠性设计。
本发明微处理器可靠性评测系统如图8所示。
故障模型建立模块100,用于对间歇故障进行分类,确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型,确定所述故障模型的关键参数。
硬件结构确定模块200,用于根据确定的故障类型,从所述微处理器中选择硬件结构,被选择的硬件结构为待分析的硬件结构。
测试启动模块300,用于在微处理器中运行测试程序,根据所述关键参数,运用所述故障模型进行故障模拟,确定测试程序执行过程中待分析的硬件结构包含的体系结构正确执行位或关键时间区域。
测试分析模块400,用于根据确定的体系结构正确执行位或关键时间区域,判断发生在所述硬件结构中的间歇故障是否影响程序执行结果。
测试结果计算模块500,根据判断结果计算测试程序执行过程中,待分析的硬件结构中的间歇故障脆弱因子,对微处理器进行可靠性评测。
较佳的,故障模型建立模块100进一步用于根据待分析的间歇故障产生的原因,对间歇故障进行分类;确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型;确定故障模型的关键参数,所述关键参数包括故障持续时间、活跃时间以及非活跃时间。
较佳的,故障类型包括间歇固定为1或0故障,间歇开路或短路故障,以及间歇时序故障。
硬件结构确定模块200进一步用于当间歇故障类型为间歇固定为1或0的故障时,选择微处理器中的存储结构,所述存储结构为待分析的硬件结构。
较佳的,测试启动模块300在确定测试程序执行过程中待分析的硬件结构的体系结构正确执行位时进一步用于根据测试程序执行过程中指令的类型和指令的执行结果的使用情况,判断出每条指令中包含的体系结构正确执行位。
较佳的,测试启动模块300在判断出每条指令中包含的体系结构正确执行位时进一步用于在指令为NOP指令时,对应操作码为NOP指令的体系结构正确执行位;如果硬件结构中保存NOP指令,则NOP指令操作码对应的比特位为所述硬件结构的体系结构正确执行位。
较佳的,测试启动模块300在确定待分析的硬件结构的关键时间区域时进一步用于根据分析的时间区域内所述硬件结构中的数据是否被读取,判断所述被分析的时间区域是否为所述硬件结构的关键时间区域。
较佳的,测试启动模块300在判断所述被分析的时间区域是否为所述硬件结构的关键时间区域时进一步用于对任意一个寄存器,所述时间区域为相邻两次向寄存器中写入数据的时间间隔,如果在所述时间区域内,写入的数据被读取,则所述时间区域为关键时间区域。
较佳的,测试分析模块400进一步用于对于体系结构正确执行位,判断间歇故障是否影响所述硬件结构的体系结构正确执行位,如果是,则发生在所述硬件结构中的间歇故障影响程序执行结果;
对于关键时间区域,判断间歇故障是否发生在所述硬件结构的关键时间区域内,如果是,则所述硬件结构中的间歇故障影响程序执行结果。
较佳的,测试分析模块400在对于体系结构正确执行位分析时进一步用于如果所述硬件结构中连续包含体系结构正确执行位的时间短于间歇故障的活跃时间,并且包含体系结构正确执行位的时间与间歇故障非活跃时间重叠,则发生的间歇故障不改变体系结构正确执行位;根据发生的间歇故障是否改变体系结构正确执行位,对硬件结构中的体系结构正确执行位进行投影,得到二维表示的体系结构正确执行位。
较佳的,测试结果计算模块500进一步用于对于体系结构正确执行位,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构包含的比特位数,分子则为间歇故障投影到二维平面的体系结构正确执行位数;
对于关键时间区域,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构的入口数,分子则为关键时间区域受间歇故障影响的入口数目。
本发明的有益效果如下所述。
本发明通过分析确定间歇故障的起因并对其进行建模,分析微处理器中不同结构包含的体系结构正确执行位或关键时间区域,判断发生的间歇故障是否影响程序执行。本发明能够分析微处理器中不同结构对间歇故障的屏蔽效果,并对微处理器设计进行可靠性评测。
利用本发明的方法及系统,能够在微处理器设计前期分析计算微处理器中不同结构的间歇故障脆弱因子,为满足可靠性需求进行指导。
利用本发明的方法及系统,能够得到不同结构间歇故障脆弱因子的大小,进而在应用中采用对应的不同容错技术,在达到提高系统可靠性的目标,并能够进一步降低微处理器性能、面积和功耗方面的开销。
利用本发明的方法及系统,能够根据运行过程中间歇故障脆弱因子的变化,指导选择恰当的容错技术,与现有技术的完全冗余方法相比,在保证可靠性目标的同时,采用本发明提出的方法能大大降低对微处理器性能的影响。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。

Claims (22)

1.一种微处理器可靠性评测方法,其特征在于,包括:
步骤1,对间歇故障进行分类,确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型,确定所述故障模型的关键参数;
步骤2,根据确定的故障类型,从所述微处理器中选择硬件结构,被选择的硬件结构为待分析的硬件结构;
步骤3,在微处理器中运行测试程序,根据所述关键参数,运用所述故障模型进行故障模拟,确定测试程序执行过程中待分析的硬件结构包含的体系结构正确执行位或关键时间区域;
步骤4,根据确定的体系结构正确执行位或关键时间区域,判断发生在所述硬件结构中的间歇故障是否影响程序执行结果;
步骤5,根据判断结果计算测试程序执行过程中,待分析的硬件结构中的间歇故障脆弱因子,对微处理器进行可靠性评测。
2.根据权利要求1所述的微处理器可靠性评测方法,其特征在于,
所述步骤1进一步为,
步骤21,根据待分析的间歇故障产生的原因,对间歇故障进行分类;
步骤22,确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型;
步骤23,确定故障模型的关键参数,所述关键参数包括故障持续时间、活跃时间以及非活跃时间。
3.根据权利要求1所述的微处理器可靠性评测方法,其特征在于,
所述故障类型包括间歇固定为1或0故障,间歇开路或短路故障,以及间歇时序故障。
4.根据权利要求3所述的微处理器可靠性评测方法,其特征在于,
所述步骤2进一步为,
步骤41,当间歇故障类型为间歇固定为1或0的故障时,选择微处理器中的存储结构,所述存储结构为待分析的硬件结构。
5.根据权利要求1所述的微处理器可靠性评测方法,其特征在于,
所述步骤3中确定测试程序执行过程中待分析的硬件结构的体系结构正确执行位进一步为,
步骤51,根据测试程序执行过程中指令的类型和指令的执行结果的使用情况,判断出每条指令中包含的体系结构正确执行位。
6.根据权利要求5所述的微处理器可靠性评测方法,其特征在于,
所述步骤51进一步为,指令为NOP指令时,对应操作码为NOP指令的体系结构正确执行位;如果硬件结构中保存NOP指令,则NOP指令操作码对应的比特位为所述硬件结构的体系结构正确执行位。
7.根据权利要求1所述的微处理器可靠性评测方法,其特征在于,
所述步骤3中确定待分析的硬件结构的关键时间区域进一步为,
步骤71,根据分析的时间区域内所述硬件结构中的数据是否被读取,判断所述被分析的时间区域是否为所述硬件结构的关键时间区域。
8.根据权利要求7所述的微处理器可靠性评测方法,其特征在于,
所述步骤71进一步为,对任意一个寄存器,所述时间区域为相邻两次向寄存器中写入数据的时间间隔,如果在所述时间区域内,写入的数据被读取,则所述时间区域为关键时间区域。
9.根据权利要求2所述的微处理器可靠性评测方法,其特征在于,
所述步骤4进一步为,
步骤91,对于体系结构正确执行位,判断间歇故障是否影响所述硬件结构的体系结构正确执行位,如果是,则发生在所述硬件结构中的间歇故障影响程序执行结果;
步骤92,对于关键时间区域,判断间歇故障是否发生在所述硬件结构的关键时间区域内,如果是,则所述硬件结构中的间歇故障影响程序执行结果。
10.根据权利要求9所述的微处理器可靠性评测方法,其特征在于,
所述步骤91进一步为,
步骤101,如果所述硬件结构中连续包含体系结构正确执行位的时间短于间歇故障的活跃时间,并且包含体系结构正确执行位的时间与间歇故障非活跃时间重叠,则发生的间歇故障不改变体系结构正确执行位;
步骤102,根据发生的间歇故障是否改变体系结构正确执行位,对硬件结构中的体系结构正确执行位进行投影,得到二维表示的体系结构正确执行位。
11.根据权利要求10所述的微处理器可靠性评测方法,其特征在于,
所述步骤5进一步为,
步骤111,对于体系结构正确执行位,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构包含的比特位数,分子则为间歇故障投影到二维平面的体系结构正确执行位数;
步骤112,对于关键时间区域,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构的入口数,分子则为关键时间区域受间歇故障影响的入口数目。
12.一种微处理器可靠性评测系统,其特征在于,包括:
故障模型建立模块,用于对间歇故障进行分类,确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型,确定所述故障模型的关键参数;
硬件结构确定模块,用于根据确定的故障类型,从所述微处理器中选择硬件结构,被选择的硬件结构为待分析的硬件结构;
测试启动模块,用于在微处理器中运行测试程序,根据所述关键参数,运用所述故障模型进行故障模拟,确定测试程序执行过程中待分析的硬件结构包含的体系结构正确执行位或关键时间区域;
测试分析模块,用于根据确定的体系结构正确执行位或关键时间区域,判断发生在所述硬件结构中的间歇故障是否影响程序执行结果;
测试结果计算模块,根据判断结果计算测试程序执行过程中,待分析的硬件结构中的间歇故障脆弱因子,对微处理器进行可靠性评测。
13.根据权利要求12所述的微处理器可靠性评测系统,其特征在于,
所述故障模型建立模块进一步用于根据待分析的间歇故障产生的原因,对间歇故障进行分类;确定待分析的间歇故障所属的故障类型,并对所述故障类型建立相应的故障模型;确定故障模型的关键参数,所述关键参数包括故障持续时间、活跃时间以及非活跃时间。
14.根据权利要求12所述的微处理器可靠性评测系统,其特征在于,
所述故障类型包括间歇固定为1或0故障,间歇开路或短路故障,以及间歇时序故障。
15.根据权利要求14所述的微处理器可靠性评测系统,其特征在于,
所述硬件结构确定模块进一步用于当间歇故障类型为间歇固定为1或0的故障时,选择微处理器中的存储结构,所述存储结构为待分析的硬件结构。
16.根据权利要求12所述的微处理器可靠性评测系统,其特征在于,
所述测试启动模块,在确定测试程序执行过程中待分析的硬件结构的体系结构正确执行位时,进一步用于根据测试程序执行过程中指令的类型和指令的执行结果的使用情况,判断出每条指令中包含的体系结构正确执行位。
17.根据权利要求16所述的微处理器可靠性评测系统,其特征在于,
所述测试启动模块在判断出每条指令中包含的体系结构正确执行位时进一步用于在指令为NOP指令时,对应操作码为NOP指令的体系结构正确执行位;如果硬件结构中保存NOP指令,则NOP指令操作码对应的比特位为所述硬件结构的体系结构正确执行位。
18.根据权利要求12所述的微处理器可靠性评测系统,其特征在于,
所述测试启动模块在确定待分析的硬件结构的关键时间区域时进一步用于根据分析的时间区域内所述硬件结构中的数据是否被读取,判断所述被分析的时间区域是否为所述硬件结构的关键时间区域。
19.根据权利要求18所述的微处理器可靠性评测系统,其特征在于,
所述测试启动模块在判断所述被分析的时间区域是否为所述硬件结构的关键时间区域时进一步用于对任意一个寄存器,所述时间区域为相邻两次向寄存器中写入数据的时间间隔,如果在所述时间区域内,写入的数据被读取,则所述时间区域为关键时间区域。
20.根据权利要求13所述的微处理器可靠性评测系统,其特征在于,
所述测试分析模块进一步用于对于体系结构正确执行位,判断间歇故障是否影响所述硬件结构的体系结构正确执行位,如果是,则发生在所述硬件结构中的间歇故障影响程序执行结果;
对于关键时间区域,判断间歇故障是否发生在所述硬件结构的关键时间区域内,如果是,则所述硬件结构中的间歇故障影响程序执行结果。
21.根据权利要求20所述的微处理器可靠性评测系统,其特征在于,
所述测试分析模块在对于体系结构正确执行位分析时进一步用于如果所述硬件结构中连续包含体系结构正确执行位的时间短于间歇故障的活跃时间,并且包含体系结构正确执行位的时间与间歇故障非活跃时间重叠,则发生的间歇故障不改变体系结构正确执行位;根据发生的间歇故障是否改变体系结构正确执行位,对硬件结构中的体系结构正确执行位进行投影,得到二维表示的体系结构正确执行位。
22.根据权利要求21所述的基微处理器可靠性评测系统,其特征在于,
所述测试结果计算模块进一步用于对于体系结构正确执行位,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构包含的比特位数,分子则为间歇故障投影到二维平面的体系结构正确执行位数;
对于关键时间区域,根据公式计算间歇故障脆弱因子,所述公式中分母为硬件结构的入口数,分子则为关键时间区域受间歇故障影响的入口数目。
CN2009102415751A 2009-11-26 2009-11-26 微处理器可靠性评测方法及其系统 Active CN101719087B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102415751A CN101719087B (zh) 2009-11-26 2009-11-26 微处理器可靠性评测方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102415751A CN101719087B (zh) 2009-11-26 2009-11-26 微处理器可靠性评测方法及其系统

Publications (2)

Publication Number Publication Date
CN101719087A true CN101719087A (zh) 2010-06-02
CN101719087B CN101719087B (zh) 2011-12-07

Family

ID=42433665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102415751A Active CN101719087B (zh) 2009-11-26 2009-11-26 微处理器可靠性评测方法及其系统

Country Status (1)

Country Link
CN (1) CN101719087B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222024A (zh) * 2011-08-02 2011-10-19 哈尔滨工业大学 计算机系统可用性建模与评估工具
CN103064013A (zh) * 2012-12-19 2013-04-24 北京自动测试技术研究所 一种基于故障模型的集成电路测试方法
CN103365731A (zh) * 2013-06-28 2013-10-23 中国科学院计算技术研究所 一种降低处理器软错误率的方法和系统
CN103699458A (zh) * 2013-06-28 2014-04-02 中国科学院计算技术研究所 一种降低动态冗余多线程性能和功耗开销的方法及系统
CN105427695A (zh) * 2015-11-03 2016-03-23 中国农业大学 编程类考题自动测评方法和系统
CN107563511A (zh) * 2017-08-14 2018-01-09 华东师范大学 一种实时系统可用时间快速估算与优化方法
CN108983068A (zh) * 2018-05-28 2018-12-11 中国人民解放军国防科技大学 直流激励下板内连接型间歇故障测试方法
CN109933472A (zh) * 2019-03-12 2019-06-25 江南大学 微处理器体系结构级软错误易感性评估方法
CN112817784A (zh) * 2020-12-31 2021-05-18 南京航空航天大学 一种面向软错误的寄存器可靠性建模与评估方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607071B2 (en) * 2005-01-28 2009-10-20 Intel Corporation Error correction using iterating generation of data syndrome
FR2895636B1 (fr) * 2005-12-27 2008-04-25 Radiotelephone Sfr Procede de traitement d'une demande d'un utilisateur d'un terminal numerique
CN100485734C (zh) * 2007-07-17 2009-05-06 东北大学 电能质量与电力系统故障检测录波装置及方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102222024B (zh) * 2011-08-02 2013-10-16 哈尔滨工业大学 计算机系统可用性建模与评估工具
CN102222024A (zh) * 2011-08-02 2011-10-19 哈尔滨工业大学 计算机系统可用性建模与评估工具
CN103064013A (zh) * 2012-12-19 2013-04-24 北京自动测试技术研究所 一种基于故障模型的集成电路测试方法
CN103365731A (zh) * 2013-06-28 2013-10-23 中国科学院计算技术研究所 一种降低处理器软错误率的方法和系统
CN103699458A (zh) * 2013-06-28 2014-04-02 中国科学院计算技术研究所 一种降低动态冗余多线程性能和功耗开销的方法及系统
CN103365731B (zh) * 2013-06-28 2016-07-06 中国科学院计算技术研究所 一种降低处理器软错误率的方法和系统
CN103699458B (zh) * 2013-06-28 2017-02-01 中国科学院计算技术研究所 一种提高动态冗余多线程性能和降低功耗开销的方法及系统
CN105427695B (zh) * 2015-11-03 2018-11-02 中国农业大学 编程类考题自动测评方法和系统
CN105427695A (zh) * 2015-11-03 2016-03-23 中国农业大学 编程类考题自动测评方法和系统
CN107563511A (zh) * 2017-08-14 2018-01-09 华东师范大学 一种实时系统可用时间快速估算与优化方法
CN107563511B (zh) * 2017-08-14 2020-12-22 华东师范大学 一种实时系统可用时间快速估算与优化方法
CN108983068A (zh) * 2018-05-28 2018-12-11 中国人民解放军国防科技大学 直流激励下板内连接型间歇故障测试方法
CN108983068B (zh) * 2018-05-28 2020-06-12 中国人民解放军国防科技大学 直流激励下板内连接型间歇故障测试方法
CN109933472A (zh) * 2019-03-12 2019-06-25 江南大学 微处理器体系结构级软错误易感性评估方法
CN112817784A (zh) * 2020-12-31 2021-05-18 南京航空航天大学 一种面向软错误的寄存器可靠性建模与评估方法
CN112817784B (zh) * 2020-12-31 2023-01-13 南京航空航天大学 一种面向软错误的寄存器可靠性建模与评估方法

Also Published As

Publication number Publication date
CN101719087B (zh) 2011-12-07

Similar Documents

Publication Publication Date Title
CN101719087B (zh) 微处理器可靠性评测方法及其系统
Park et al. Post-silicon bug localization in processors using instruction footprint recording and analysis (IFRA)
Pan et al. IVF: Characterizing the vulnerability of microprocessor structures to intermittent faults
CN102360329A (zh) 总线监控与调试控制装置及进行总线监控与总线调试的方法
CN103150228B (zh) 面向高速缓冲存储器的可综合伪随机验证方法及装置
US20060130029A1 (en) Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium
Gelsinger Design and Test of the 80386
US8762779B2 (en) Multi-core processor with external instruction execution rate heartbeat
Mukhanov et al. Workload-aware dram error prediction using machine learning
US7373550B2 (en) Generation of a computer program to test for correct operation of a data processing apparatus
Li et al. SmartInjector: Exploiting intelligent fault injection for SDC rate analysis
Maniatakos et al. Workload-driven selective hardening of control state elements in modern microprocessors
Wanner et al. NSF expedition on variability-aware software: Recent results and contributions
Parulkar et al. OpenSPARC: An open platform for hardware reliability experimentation
Kranitis et al. Optimal periodic testing of intermittent faults in embedded pipelined processor applications
Jayaraman et al. A survey on post-silicon functional validation for multicore architectures
CN202267954U (zh) 总线监控与调试控制装置
Dadashi et al. Hardware-software integrated diagnosis for intermittent hardware faults
Kooli et al. Cache-aware reliability evaluation through LLVM-based analysis and fault injection
Kantrowitz et al. Functional Verification of a Multiple-issue, Pipelined, Superscalar Alpha Processor - the Alpha 21164 CPU Chip
Ammar et al. A comparative analysis of hardware and software fault tolerance: Impact on software reliability engineering
Karimi et al. On the correlation between controller faults and instruction-level errors in modern microprocessors
CN1215391C (zh) 计算机系统
Foutris et al. Deconfigurable microprocessor architectures for silicon debug acceleration
Bramley et al. On the measurement of safe fault failure rates in high-performance compute processors

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
CB03 Change of inventor or designer information

Inventor after: Li Xiaowei

Inventor after: Hu Yu

Inventor after: Pan Songjun

Inventor before: Pan Songjun

Inventor before: Hu Yu

Inventor before: Li Xiaowei

CB03 Change of inventor or designer information
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20100602

Assignee: Zhongke Jianxin (Beijing) Technology Co.,Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: X2022990000752

Denomination of invention: Microprocessor Reliability Evaluation Method and System

Granted publication date: 20111207

License type: Exclusive License

Record date: 20221009

EE01 Entry into force of recordation of patent licensing contract