[go: up one dir, main page]

CN102591763B - 一种基于确定性重放的处理器整体故障检测系统与方法 - Google Patents

一种基于确定性重放的处理器整体故障检测系统与方法 Download PDF

Info

Publication number
CN102591763B
CN102591763B CN201110460642.6A CN201110460642A CN102591763B CN 102591763 B CN102591763 B CN 102591763B CN 201110460642 A CN201110460642 A CN 201110460642A CN 102591763 B CN102591763 B CN 102591763B
Authority
CN
China
Prior art keywords
processor
xor
processor core
result
module
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.)
Active
Application number
CN201110460642.6A
Other languages
English (en)
Other versions
CN102591763A (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201110460642.6A priority Critical patent/CN102591763B/zh
Publication of CN102591763A publication Critical patent/CN102591763A/zh
Application granted granted Critical
Publication of CN102591763B publication Critical patent/CN102591763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于确定性重放的处理器整体故障检测系统与方法。其通过在多核处理器中记录执行的被检测处理器核间的信息交互,并确定性的在冗余处理器核组中重放的执行,将两次执行的结果进行比对,来检测在两个处理器核组中是否有故障,由于每次将一组处理器核进行重放,所以不管是处理器核上面的故障,还是其他非处理器核(如二级缓存、片上网络、内存控制器等)上面的故障都可以检测到,其十分有效的弥补了现有技术无法检测到非处理器核上面故障的不足,保证了处理器芯片的可靠性。

Description

一种基于确定性重放的处理器整体故障检测系统与方法
技术领域
本发明涉及一种处理器芯片设计与检测技术领域,特别地,涉及一种基于确定性重放的处理器整体故障检测系统与方法。
背景技术
越来越大的晶体管规模、越来越低的芯片电压、越来越小的工艺技术使得处理器越来越容易产生故障。一般来说,一个故障是指在处理器(或可称为处理器芯片)使用过程中一个或者多个逻辑门得到了错误的结果。故障产生的原因可能足由于处理器制造时的错误、处理器提前到达使用寿命、外部射线对处理器造成的辐射等等。
虽然已有的扫描链技术可以根据故障模型去检测处理器中的故障,但是仅限于已有的故障模型下面的故障。然而,随着处理器的高速发展,各种低功耗技术、高速接口的应用,越来越多的故障模型被提出,即使扫描链技术检测对某些故障模型达到了100%的覆盖率,但一些其他故障模型下、或者没有固定故障模型的故障仍然无法被检测出来。另外,一些测试完成之后才发生的故障,如处理器提早到了使用寿命,同样无法被检测出来。
由于故障会使得处理器的一些逻辑产生错误,其很有可能导致程序在处理器上执行错误。错误的程序执行结果会极大的降低处理器的可靠性,甚至会导致整个系统崩溃。所以,如何尽可能多的检测出处理器产生的所有故障已经成为当今处理器越来越重视的问题。
已有方法包括对处理器核做冗余检测,其检测处理器核内的那些测试没有检测到的故障。具体来说,对每一个处理器核都安排一个冗余的处理器核,两个处理器核同时执行同样的程序,并比较两个执行的结果,如果两次结果不一样,那么两个处理器核必定有一个有故障。虽然这些方法可以检测到处理器核内部的所有故障,但是这些方法无法检测到片上网络、二级缓存、内存控制器等非处理器核内的错误。而在一个成熟处理器芯片中,这些非处理器核占用了超过整个芯片50%的面积,所以一种能够检测整个处理器的故障的方法是亟待提出的。
发明内容
本发明的目的在于提供一种基于确定性重放的处理器整体故障检测系统与方法,其通过确定性重放来检测整个处理器中的故障,使得整个处理器中的故障能够得到检测,保证了整个处理器芯片的可靠性。
为实现本发明目的而提供的一种基于确定性重放的处理器整体故障检测系统,包括一检测多核处理器,以及一冗余比较多核处理器;
还包括记录模块,与所述检测多核处理器中每个处理器核相对应的多个异或模块-1,重放模块,与所述冗余比较多核处理器中每个处理器核相对应的多个异或模块-2和多个比较模块,其中:
所述记录模块,用于在所述检测多核处理器执行一并行程序时,记录所有被检测的处理器核之间的信息交互,并将记录下来的交互传递信息传输出去;
所述异或模块-1,用于在所述检测多核处理器执行所述并行程序时,收集所述检测多核处理器中每个处理器核对每一条指令的执行,记录下每一条指令执行的结果,并将所有结果通过异或的方式进行处理,得到处理后的异或结果-1并传输出去;
所述重放模块,用于根据记录模块记录下来的处理器核之间的交互传递信息,在所述冗余比较多核处理器中确定性重放执行所述并行程序;
所述异或模块-2,用于在所述冗余比较多核处理器根据重放模块中的交互传递信息进行确定性重放执行所述并行程序,收集所述冗余比较处理器核中对每一条指令的执行,记录下每一条指令执行的结果,并将所有结果通过异或的方式进行处理,得到处理后的异或结果-2传输给比较模块;
所述比较模块,用于读入所述异或模块-1记录的异或结果-1,并将异或结果-1同重放执行的异或结果-2进行比对,通过比对的结果来判断两次执行中所述检测多核处理器和/或冗余比较多核处理器是否发生或者触发故障。
较优地,所述的基于确定性重放的处理器整体故障检测系统中,一非处理器核设备与所述一组需要被检测的处理器核组组成一检测多核处理器,完成并行程序的指令完整执行过程;或者与所述一组用来做比对的冗余的处理器核组组成一冗余比较多核处理器,完成并行程序的指令完整执行过程;
其中,所述一组需要被检测的处理器核组与所述一组用来做比对的冗余的处理器核组具有相同个数的多个处理器核。
较优地,所述非处理器核设备,包括二级缓存、片上网络、内存控制器等。
较优地,所述每一异或模块-1一体化地配置在相应的每一个需要被检测的处理器核里面;
所述每一异或模块-2一体化地配置在冗余比较多核处理器中每一个用来做比对的冗余的处理器核里面。
较优地,所述交互传递信息包括时间序关系和执行序关系;
所述记录模块包括采样模块;
所述采样模块用于记录根据采样周期进行指令窗口采样而得到的处理器核之间的所述时间序关系;并记录两次采样周期之内的冲突操作之间的所述执行序关系。
优选地,所述采样周期为每512个时钟周期。
所述记录模块包括多个与每一个被检测的处理器核相对应的CAM存储记录模块,用于存储所述相应处理器核最近提交的1024条访存指令;并当一个访存指令被执行时,检测其他处理器核内的CAM存储记录模块,判断是否有与其冲突的访存指令;如果有,则记录处理器核之间的执行序关系;否则不记录。
较优地,所述重放模块中,包括与所述冗余比较多核处理器的每一处理器核相对应的多个暂停取指寄存器,用于监控每个处理器核当前执行的防存指令数,根据所述时间序关系和执行序关系完成所述并行程序的确定性重放。
较优地,所述异或模块-1设置一个32位的结果寄存器-1,初始值为0,每次执行一条指令,就将这个指令的结果异或上原有的结果寄存器-1的值;
所述异或模块-1每执行1024条指令,就将这个结果寄存器-1的值导出到检测多核处理器外部,并重新初始化该结果寄存器-1;
所述异或模块-2中设置32位的结果寄存器-2,初始值为0,每次执行一条指令,就将这个指令的结果异或上原有的结果寄存器-2;
异或模块-2每执行1024条指令,就将这个结果寄存器-2的值导出到比较模块,并重新初始化该结果寄存器-2。
为实现本发明目的还提供一种基于确定性重放的处理器整体故障检测方法,包括以下步骤:
步骤S100,并行程序在检测多核处理器中执行,记录下所述检测多核处理器中每一处理器核之间的交互传递信息,并且记录下指令执行的异或结果-1;
步骤S200,所述并行程序在冗余比较多核处理器中执行,根据步骤S100记录的处理器核之间的交互传递信息,确定性重放所述并行程序的执行,同时记录下执行的异或结果-2;
步骤S300,将对两次的执行异或结果-1和异或结果-2进行比对,检测是否有故障产生或者触发。
较优地,所述步骤S300中,所述检测包括如下步骤:
如果比对结果不一样,则判断其中一组处理器核中在这次并行程序的执行中存在故障;否则,判断两组处理器核在这次执行中均没有故障。
本发明的有益效果:本发明的基于确定性重放的处理器整体故障检测系统与方法,通过在处理器中通过记录执行的被检测处理器核间的信息交互,并确定性的在冗余处理器核组中重放的执行,将两次执行的结果进行比对,来检测在两个处理器核组中是否有故障,由于每次将一组处理器核进行重放,所以不管是处理器核上面的故障,还是其他非处理器核(如二级缓存、片上网络、内存控制器等)上面的故障都可以检测到,其十分有效的弥补了现有技术无法检测到非处理器核上面故障的不足,保证了处理器芯片的可靠性。
说明书附图
图1为本发明基于确定性重放的处理器整体故障检测系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明基于确定性重放的处理器整体故障检测系统与方法的实现进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面通过具体实施例详细说明本发明的基于确定性重放的处理器整体故障检测系统与方法。
如图1所示,本发明实施例的基于确定性重放的处理器整体故障检测系统,包括一组需要被检测的处理器核组,以及一组用来做比对的冗余的处理器核组,其中,所述一组需要被检测的处理器核组与所述一组用来做比对的冗余的处理器核组具有相同个数的多个处理器核。
本发明实施例的基于确定性重放的处理器整体故障检测系统,还包括一非处理器核设备;
所述一非处理器核设备与所述一组需要被检测的处理器核组组成一检测多核处理器,完成并行程序的指令完整执行过程;或者与所述一组用来做比对的冗余的处理器核组组成冗余比较多核处理器,完成并行程序的指令完整执行过程。
较佳地,作为一种可实施方式,所述非处理器核设备,包括但不限于二级缓存、片上网络、内存控制器等设备。
本发明实施例的基于确定性重放的处理器整体故障检测系统,还包括记录模块,以及与所述检测多核处理器中每个处理器核相对应的多个异或模块-1,其中:
所述记录模块,用于在所述需要被检测的处理器核组组成的检测多核处理器执行一并行程序时,记录所有被检测的处理器核之间的信息交互,并将记录下来的交互传递信息通过所述检测多核处理器的外部接口(未示出)传输出去,记载成为交互日志;
所述异或模块-1,用于在所述检测多核处理器执行所述并行程序时,收集所述检测多核处理器每个处理器核中对每一条指令的执行,记录下每一条指令执行的结果,并将所有结果通过异或的方式进行处理,得到处理后的异或结果-1,再定期的将该异或结果-1通过所述检测多核处理器的外部接口(未示出)并传输出去,记载成为异或日志。
较佳地,作为一种可实施方式,所述每一异或模块-1一体化地配置在相应的每一个需要被检测的处理器核里面。
所述的基于确定性重放的处理器整体故障检测系统,还包括重放模块,与所述冗余比较多核处理器中每个处理器核相对应的多个异或模块-2和多个比较模块,其中:
所述重放模块,用于根据记录模块记录下来的处理器核之间的交互传递信息,在所述冗余比较多核处理器中确定性重放执行所述并行程序。
所述异或模块-2,用于在所述冗余比较多核处理器根据重放模块中的交互传递信息进行确定性重放执行所述并行程序时,收集所述冗余比较处理器核中对每一条指令的执行,记录下每一条指令执行的结果,并将所有结果通过异或的方式进行处理,得到处理后的异或结果-2,再定期的将该异或结果-2通过处理器芯片的内部接口(未示出)传输给比较模块。
较佳地,作为一种可实施方式,所述每一异或模块-2一体化地配置在冗余比较多核处理器中每一个用来做比对的冗余的处理器核里面。
所述比较模块,用于读入所述异或模块-1记录的异或结果-1,并将异或结果-1同重放执行的异或结果-2进行比对,通过比对的结果来判断两次执行中所述检测多核处理器和/或冗余比较多核处理器是否发生或者触发了一个故障,即,如果异或结果-1同重放执行的异或结果-2不一样,则判断有一个或多个故障发生或者触发;如果异或结果-1同重放执行的异或结果-2一样,则判断没有故障发生或者触发,从而可以检测出检测多核处理器中的故障。
本发明实施例的基于确定性重放的处理器整体故障检测系统,在一组需要被检测的处理器核组组成的,包括二级缓存、片上网络、内存控制器等非处理器核设备的检测多核处理器中,当在这一检测多核处理器中执行并行程序时,检测到这一检测多处理器核内部是否有故障产生或者触发。
所述检测多核处理器包括一组需要被检测故障的具有多个处理器核的处理器核组,当执行并行程序时,这些处理器核通过二级缓存、片上网络、内存控制器等非处理器核设备来完成处理器核之间的信息传递交互(如图1示)。
本发明实施例的基于确定性重放的处理器整体故障检测系统,还包括一组具有与所述检测多核处理器个数相同的处理器核的用来做比对的冗余的处理器核组,和所述二级缓存、片上网络、内存控制器等非处理器核设备的冗余比较多核处理器中,所述冗余比较多核处理器也是通过与所述需要被检测故障的具有多个处理器核的处理器核组使用相同的所述二级缓存、片上网络、内存控制器等非处理器核设备来完成冗余比较多核处理器的处理器核之间的信息交互(如图1示)。同样的并行程序将在冗余比较处理器中确定性重放执行,并将执行的异或结果-2与检测多核处理器中的执行的异或结果-1进行比对;如果不一样,判断出其中一组处理器核在执行该并行程序的过程中产生或者触发了一个或多个故障。
对于一个并行程序,多次执行的结果可能是不一样的,所以,所述检测故障的方法需要有确定性重放的支持,即,通过确定性重放来保证一个并行程序的多次执行有着一样的执行结果。
较佳地,作为一种可实施方式,本发明实施例中,所述交互传递信息包括时间序关系和执行序关系;
所述记录模块包括采样模块;
所述采样模块用于记录根据采样周期进行指令窗口采样而得到的处理器核之间的所述时间序关系;记录两次采样周期之内的冲突操作之间的所述执行序关系。
作为一种可实施方式,所述记录模块记录被检测的处理器核组之间的信息传递交互,为记载不同处理器对同一个访存地址访问的先后关系。例如:有两个访存操作u,v在不同处理器核上面执行,如果它们访问的地址是同样的,并且其中一个是写操作,本发明实施例称u和v是两个冲突的访存指令,它们访问该地址的先后关系,即u和v及其执行时的顺序关系,就需要被作为交互传递信息记载下来。
在本发明实施例的实现中,作为一种可实施方式,通过处理器芯片原有的外部接口(未示出),定期将异或结果从被检测的处理器核组中传输出去,并定期将记录下来的结果和序关系导入冗余比较处理器组。
较佳地,作为一种可实施方式,所述采样周期为512个时钟周期。
较佳地,作为一种可实施方式,所述记录模块还包括多个与每一个被检测的处理器核中相对应的CAM(content-addressable memory内容地址存储器)存储记录模块,用于存储所述相应处理器核最近提交的1024条访存指令;并当一个访存指令被执行时,检测其他处理器核内的CAM存储记录模块,判断是否有与其冲突的访存指令;如果有,则记录处理器核之间的执行序关系;否则不记录。
采样模块在每512拍(即512个时钟周期)通过PC采样(指令窗口采样)将处理器核的访存操作分块,记录处理器核之间的时间序关系。
作为一种可实施方式,在每512拍通过PC采样,获得了两次采样之间每个处理器核提交的所有指令。
本发明实施例将每次PC采样时每个处理器核提交的指令记录下来,就可以得到在检测多核处理器中并行程序执行中产生的冲突操作的序关系。例如:在第3次采样和第4次采样之间提交的任何访存指令u,在第5次采样和第6次采样之间提交的任何访存指令v之前。因为在第4次采样的时候,u已经被提交,而v还没有开始。
通过采样记录的序关系(本发明实施例称为时间序),涵盖了所有提交时间差在两次采样周期之外的冲突操作之间的序关系。
作为一种可实施方式,在本发明实施例中,除了记录时间序,本发明实施例还记载提交时间差在两次采样周期之内的冲突操作之间的序关系(本发明实施例称为执行序)。
由于最近1024条访存指令包括了最近两次采样周期之内的所有指令,所以,所有提交时间差在两次采样周期之内的冲突操作之间的序关系也记录下来了。
这样本发明实施例通过记录模块,记录了所有冲突访存指令之间的序关系(包括时间序和执行序),在确定性重放执行过程中,只要这些序关系能够被保证,在没有故障的情况下,两次执行就应该得到一样的执行结果。
较佳地,在本发明实施例中,作为一种可实施方式,所述重放模块中,包括与所述冗余比较多核处理器的每一处理器核相对应的多个暂停取指寄存器,用于监控每个处理器核当前执行的访存指令数,根据序关系(包括时间序和执行序)完成所述并行程序的确定性重放。
作为一种可实施方式,在记录模块中,本发明实施例记下了两种信息:时间序和执行序。对于时间序,对指令u,指令u在检测多核处理器执行中的提交时间在第i次采样到第i+1次采样之间;当u取指的时候,检测是否检测多核处理器执行中所有提交时间在第i-1次采样之前的指令都已提交;如果没有,则u停止取指,直到所有提交时间在第i-1次采样之前的指令都已提交,否则不停止取指。在记录时间序的时候,本发明实施例中,通过每一次采样的时候已提交的指令数,监控每个处理器核当前执行的访存指令数,就可以重现出第一次执行记录下来的时间序。
对于执行序,如果一对冲突访存操作指令u在指令v之前执行被记录下来了,那么,在重放执行中,指令v的执行(即取指)必须等待指令u已经执行完成(即已经提交)。例如处理器核A的1000条访存指令在处理器核B的1300条访存指令之前,在重放执行中,当处理器核B取指到1300条访存指令的时候,则查看处理器核A是否完成了第1000条访存指令,如果没有,处理器核B需要暂停取指,直到处理器核A完成了第1000条访存指令。
一旦所有记载下来的时间序和执行序都被重放出来了,重放执行就得到与检测多核处理器执行完全相同的执行结果(在没有故障的情况下)。
作为一种可实施方式,每一条指令的执行会改动一个32位的寄存器或者32位的内存地址。本发明实施例中,作为一种可实施方式,所述异或模块-1设置一个32位的结果寄存器-1,优选地,初始值为0,每次执行一条指令,就将这个指令的结果(即改动的32位寄存器或者32位的内存地址的值)异或上原有的结果寄存器-1。异或模块-1每执行1024条指令,就将这个结果寄存器-1的值导出到检测多核处理器外部,并重新初始化该结果寄存器-1。即,通过有损压缩,用32位(bit)的数据来保存每1024条指令的值。
类似地,作为一种可实施方式,所述异或模块-2中与异或模块-1一样,也设置32位的结果寄存器-2,优选地,初始值为0,每次执行一条指令,就将这个指令的结果(即改动的32位寄存器或者32位的内存地址的值)异或上原有的结果寄存器-2。异或模块-2每执行1024条指令,就将这个结果寄存器-2的值导出到比较模块,并重新初始化该结果寄存器-2。
作为一种可实施方式,所述比较模块,在重放执行的过程中,每执行1024条指令,收取异或模块-2的结果寄存器-2的值,同时收取检测多核处理器外部给传输进来的执行时结果寄存器-1的值,将这两个值(均为32位)进行比较。如果相等,则没有故障被产生或者触发;如果不等,则必定有一组处理器核产生或者触发了故障。
较佳地,本发明实施例中,通过每执行1024条指令,只用比较一个32位的结果寄存器的值,可以十分有效的实现检测比较。
相应地,本发明实施例还提供一种基于确定性重放的处理器整体故障检测方法,包括以下步骤:
步骤S100,并行程序在检测多核处理器中执行,记录下所述检测多核处理器中每一处理器核之间的交互传递信息,并且记录下指令执行的异或结果-1;
步骤S200,所述并行程序在冗余比较多核处理器中执行,根据步骤S100记录的处理器核之间的交互传递信息,进行确定性重放所述并行程序的执行,同时记录下执行的异或结果-2;
步骤S300,将对两次的执行异或结果-1和异或结果-2进行比对,检测是否有故障产生或者触发。
较佳地,如果比对结果不一样,则判断其中一组处理器核中在这次并行程序的执行中存在故障;否则,判断两组处理器核在这次执行中均没有故障。
所述基于确定性重放的处理器整体故障检测方法,其方法过程与本发明实施例的基于确定性重放的处理器整体故障检测系统工作过程相同,因此,在本发明实施例中,不再一一详细描述。
本发明的基于确定性重放的处理器整体故障检测系统与方法,在处理器中通过记录第一次执行的被检测处理器核间的信息交互,并确定性的在冗余处理器核组中重放第一次的执行。并且,将两次执行的结果进行比对,来检测在两个处理器核组中是否有故障。由于每次将一组处理器核进行重放,所以不管是处理器核上面的故障,还是其他非处理器核(如二级缓存、片上网络、内存控制器等)上面的故障都可以检测到,十分有效的弥补了现有技术中无法检测到非处理器核上面故障的不足,保证了多核处理器的可靠性。
最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。

Claims (9)

1.一种基于确定性重放的处理器整体故障检测系统,包括:
一检测多核处理器,其由一组需要被检测的处理器核组和非处理器核设备组成,用于完成并行程序的指令完整执行过程,其中所述一组需要被检测的处理器核组包括多个被检测的处理器核;以及
一冗余比较多核处理器,其由一组用来做比对的冗余的处理器核组和所述非处理器核设备组成,用于完成并行程序的指令完整执行过程,其中所述一组用来做比对的冗余的处理器核组具有与被检测的处理器核个数相同的多个用于比对的冗余处理器核;
其特征在于,
还包括记录模块,与所述检测多核处理器中每个被检测的处理器核相对应的多个异或模块-1,重放模块,与所述冗余比较多核处理器中每个用于比对的冗余处理器核相对应的多个异或模块-2和多个比较模块,其中:
所述记录模块,用于在所述检测多核处理器执行一并行程序时,记录所有被检测的处理器核之间的信息交互,并将记录下来的交互传递信息传输出去;
所述异或模块-1,用于在所述检测多核处理器执行所述并行程序时,收集所述检测多核处理器中每个被检测的处理器核对每一条指令的执行,记录下每一条指令执行的结果,并将所有结果通过异或的方式进行处理,得到处理后的异或结果-1并传输出去;
所述重放模块,用于根据记录模块记录下来的处理器核之间的交互传递信息,在所述冗余比较多核处理器中确定性重放执行所述并行程序;
所述异或模块-2,用于在所述冗余比较多核处理器根据重放模块中的交互传递信息进行确定性重放执行所述并行程序时,收集所述冗余比较处理器核中每个用于比对的冗余处理器核对每一条指令的执行,记录下每一条指令执行的结果,并将所有结果通过异或的方式进行处理,得到处理后的异或结果-2传输给比较模块;
所述比较模块,用于读入所述异或模块-1记录的异或结果-1,并将异或结果-1同重放执行的异或结果-2进行比对,通过比对的结果来判断两次执行中所述检测多核处理器和/或所述冗余比较多核处理器是否发生或者触发故障。
2.根据权利要求1所述的基于确定性重放的处理器整体故障检测系统,其特征在于,所述非处理器核设备,包括二级缓存、片上网络、内存控制器。
3.根据权利要求1或2所述的基于确定性重放的处理器整体故障检测系统,其特征在于:
所述每一异或模块-1一体化地配置在相应的每一个需要被检测的处理器核里面;
所述每一异或模块-2一体化地配置在冗余比较多核处理器中每一个用来做比对的冗余的处理器核里面。
4.根据权利要求1或2所述的基于确定性重放的处理器整体故障检测系统,其特征在于,所述交互传递信息包括时间序关系和执行序关系;
所述记录模块包括采样模块;
所述采样模块用于记录根据采样周期进行指令窗口采样而得到的处理器核之间的所述时间序关系;记录两次采样周期之内的冲突操作之间的所述执行序关系。
5.根据权利要求4所述的基于确定性重放的处理器整体故障检测系统,其特征在于,所述采样周期为512个时钟周期;
所述记录模块包括多个与每一个被检测的处理器核相对应的CAM存储记录模块,用于存储所述相应处理器核最近提交的1024条访存指令;并当一个访存指令被执行时,检测其他处理器核内的CAM存储记录模块,判断是否有与其冲突的访存指令;如果有,则记录处理器核之间的执行序关系;否则不记录。
6.根据权利要求5所述的基于确定性重放的处理器整体故障检测系统,其特征在于,所述重放模块中,包括与所述冗余比较多核处理器的每一处理器核相对应的多个暂停取指寄存器,用于监控每个处理器核当前执行的访存指令数,根据所述时间序关系和执行序关系完成所述并行程序的确定性重放。
7.根据权利要求1或2所述的基于确定性重放的处理器整体故障检测系统,其特征在于,所述异或模块-1设置一个32位的结果寄存器-1,初始值为0,每次执行一条指令,就将这个指令的结果异或上原有的结果寄存器-1的值;
所述异或模块-1每执行1024条指令,就将这个结果寄存器-1的值导出到检测多核处理器外部,并重新初始化该结果寄存器-1;
所述异或模块-2中设置32位的结果寄存器-2,初始值为0,每次执行一条指令,就将这个指令的结果异或上原有的结果寄存器-2;
异或模块-2每执行1024条指令,就将这个结果寄存器-2的值导出到比较模块,并重新初始化该结果寄存器-2。
8.一种基于确定性重放的处理器整体故障检测方法,其特征在于,包括以下步骤:
步骤S100,并行程序在由一组需要被检测的处理器核组和非处理器核设备组成的检测多核处理器中执行,所述一组需要被检测的处理器核组包括多个被检测的处理器核;
通过记录模块记录下所述检测多核处理器中每个被检测的处理器核之间的交互传递信息,并将记录下来的交互传递信息传输出去,然后通过异或模块-1记录每个被检测的处理器核执行每一条指令的结果,并将所有结果进行异或处理得到异或结果-1;
步骤S200,所述并行程序在由一组用来做比对的冗余的处理器核组和所述非处理器核设备组成的冗余比较多核处理器中执行,其中所述一组用来做比对的冗余的处理器核组具有与被检测的处理器核个数相同的多个用于比对的冗余处理器核;
根据步骤S100中所述记录模块记录的被检测的处理器核之间的交互传递信息,确定性重放所述并行程序的执行,同时通过异或模块-2记录下每个用于比对的冗余处理器核执行每一条指令的结果,并将所有结果进行异或处理得到异或结果-2;
步骤S300,将对两次的执行异或结果-1和异或结果-2进行比对,检测是否有故障产生或者触发。
9.根据权利要求8所述的基于确定性重放的处理器整体故障检测方法,其特征在于,所述步骤S300中,所述检测包括如下步骤:
如果比对结果不一样,则判断其中一组处理器核中在这次并行程序的执行中存在故障;否则,判断两组处理器核在这次执行中均没有故障。
CN201110460642.6A 2011-12-31 2011-12-31 一种基于确定性重放的处理器整体故障检测系统与方法 Active CN102591763B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110460642.6A CN102591763B (zh) 2011-12-31 2011-12-31 一种基于确定性重放的处理器整体故障检测系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110460642.6A CN102591763B (zh) 2011-12-31 2011-12-31 一种基于确定性重放的处理器整体故障检测系统与方法

Publications (2)

Publication Number Publication Date
CN102591763A CN102591763A (zh) 2012-07-18
CN102591763B true CN102591763B (zh) 2015-03-04

Family

ID=46480459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110460642.6A Active CN102591763B (zh) 2011-12-31 2011-12-31 一种基于确定性重放的处理器整体故障检测系统与方法

Country Status (1)

Country Link
CN (1) CN102591763B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970512B (zh) * 2014-05-21 2016-09-14 龙芯中科技术有限公司 多核处理器及其并行重放方法
DE102016215345A1 (de) * 2016-08-17 2018-02-22 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur redundanten Datenverarbeitung
CN106681911B (zh) * 2016-12-08 2019-05-14 浙江大学 一种支持故障注入的确定性重放功能的实现方法
US10558539B2 (en) * 2017-09-28 2020-02-11 GM Global Technology Operations LLC Methods and systems for testing components of parallel computing devices
US20200184321A1 (en) * 2018-12-11 2020-06-11 Fotonation Limited Multi-processor neural network processing apparatus
CN111381147B (zh) * 2018-12-29 2022-03-01 北京灵汐科技有限公司 一种众核芯片的测试方法、装置及测试设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0283193A2 (en) * 1987-03-18 1988-09-21 AT&T Corp. Method of spare capacity use for fault detection in a multiprocessor system
CN1159630A (zh) * 1995-07-13 1997-09-17 富士通株式会社 信息处理系统
CN1729456A (zh) * 2002-12-19 2006-02-01 英特尔公司 高可靠性处理器的片上机制
CN101689233A (zh) * 2007-07-05 2010-03-31 Nxp股份有限公司 安全敏感系统中的微处理器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0283193A2 (en) * 1987-03-18 1988-09-21 AT&T Corp. Method of spare capacity use for fault detection in a multiprocessor system
CN1159630A (zh) * 1995-07-13 1997-09-17 富士通株式会社 信息处理系统
CN1729456A (zh) * 2002-12-19 2006-02-01 英特尔公司 高可靠性处理器的片上机制
CN101689233A (zh) * 2007-07-05 2010-03-31 Nxp股份有限公司 安全敏感系统中的微处理器

Also Published As

Publication number Publication date
CN102591763A (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
CN102591763B (zh) 一种基于确定性重放的处理器整体故障检测系统与方法
US10628277B2 (en) Device, system and process for redundant processor error detection
US7900086B2 (en) Accelerating test, debug and failure analysis of a multiprocessor device
US20140143463A1 (en) System on chip and corresponding monitoring method
US20110307741A1 (en) Non-intrusive debugging framework for parallel software based on super multi-core framework
CN103488563A (zh) 并行程序的数据竞争检测方法、装置及多核处理系统
CN103593271A (zh) 一种片上系统芯片追踪调试的方法及装置
CN100446129C (zh) 一种内存故障测试的方法及系统
CN103440196A (zh) 一种新型操作系统资源问题检测方法
CN105700999A (zh) 记录处理器操作的方法及系统
US8347260B2 (en) Method of designing an integrated circuit based on a combination of manufacturability, test coverage and, optionally, diagnostic coverage
CN115695234A (zh) PCIe总线网络接口卡的系统级验证平台
CN104575615A (zh) 一种用于内建自我测试内存的装置及方法
US10970442B1 (en) Method of debugging hardware and firmware of data storage
US11593209B2 (en) Targeted repair of hardware components in a computing device
US9251023B2 (en) Implementing automated memory address recording in constrained random test generation for verification of processor hardware designs
US20150149024A1 (en) Latency tolerant fault isolation
Neishaburi et al. An infrastructure for debug using clusters of assertion-checkers
US9547568B2 (en) Method and apparatus for verifying circuit design
US8489927B2 (en) Device for use in inspecting a CPU and method thereof
He et al. Software reliability analysis on embedded system based on SFMEA and SFTA model
US8090991B2 (en) Information processing apparatus, method, and computer program product for self-diagnosis for utilizing multiple diagnostic devices, each having exclusive access to a resource
KR20210001882A (ko) 딥 러닝 칩을 검출하는 방법, 장치, 전자 기기 및 컴퓨터 저장 매체
Zhang et al. Security and fault diagnosis-based assertion-based verification for fpga
Krosman Instruction trace analysis and enhanced debugging in embedded systems

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
CP03 Change of name, title or address

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Patentee after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100190 No. 10 South Road, Zhongguancun Academy of Sciences, Haidian District, Beijing

Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd.

CP03 Change of name, title or address