CN112416665B - 检测处理器运行状态的装置和方法 - Google Patents

检测处理器运行状态的装置和方法 Download PDF

Info

Publication number
CN112416665B
CN112416665B CN201910768500.2A CN201910768500A CN112416665B CN 112416665 B CN112416665 B CN 112416665B CN 201910768500 A CN201910768500 A CN 201910768500A CN 112416665 B CN112416665 B CN 112416665B
Authority
CN
China
Prior art keywords
operator
signal
array
data
data input
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
CN201910768500.2A
Other languages
English (en)
Other versions
CN112416665A (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.)
Beijing Horizon Robotics Technology Research and Development Co Ltd
Original Assignee
Beijing Horizon Robotics Technology Research and Development Co 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 Beijing Horizon Robotics Technology Research and Development Co Ltd filed Critical Beijing Horizon Robotics Technology Research and Development Co Ltd
Priority to CN201910768500.2A priority Critical patent/CN112416665B/zh
Publication of CN112416665A publication Critical patent/CN112416665A/zh
Application granted granted Critical
Publication of CN112416665B publication Critical patent/CN112416665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Hardware Redundancy (AREA)

Abstract

公开了一种检测处理器运行状态的装置和方法。该装置可以包括随机数发生器、多个多路选择器、多个多路分配器、运算器阵列和检测电路。该装置可以响应于测试使能信号,将由随机数发生器产生的随机数传送给运算器阵列中的每个运算器,并将每个运算器基于随机数执行运算所得到的数据传送给检测电路。检测电路可以根据所接收的数据检测前述处理器的运行状态。通过根据本公开的实施例的装置和方法,提供了一种高效率的硬件自检方案。

Description

检测处理器运行状态的装置和方法
技术领域
本公开涉及一种检测处理器运行状态的装置和方法。
背景技术
诸如车用芯片等芯片在功能安全方面具有很高的要求,并且要求能够检测出单点故障。始终期望能够具有更加高效的故障检测手段。
发明内容
根据本公开的一个方面,提供了一种检测处理器运行状态的装置。该装置可以包括:随机数发生器;多个多路选择器,每个多路选择器的第一数据输入端和第二数据输入端分别耦接到前述装置的数据输入端和前述随机数发生器的输出端,并且每个多路选择器被配置为响应于测试使能信号,选择经由该多路选择器的数据输出端输出经由该多路选择器的第二数据输入端输入的数据;多个多路分配器,每个多路分配器的第一数据输出端和第二数据输出端分别耦接到前述装置的数据输出端和检测电路,并且每个多路分配器被配置为响应于前述测试使能信号,选择经由该多路分配器的第二数据输出端输出经由该多路分配器的数据输入端输入的数据;运算器阵列,包括多个运算器,前述多个运算器中的每个运算器的每个数据输入端耦接到对应的多路选择器的数据输出端,并且每个运算器的数据输出端耦接到对应的多路分配器的数据输入端;以及前述检测电路,被配置为根据经由前述多个多路分配器接收的数据检测前述处理器的运行状态。
根据本公开的另一个方面,还提供了一种检测处理器运行状态的方法。该方法可以包括:响应于测试使能信号,将由随机数发生器产生的随机数传送给运算器阵列中的每个运算器;响应于前述测试使能信号,将每个运算器基于前述随机数执行运算所得到的数据传送给检测电路;以及响应于前述测试使能信号,启动前述检测电路,以根据所接收的数据检测前述处理器的运行状态。
根据本公开的另一个方面,还提供了一种计算机可读存储介质。该存储介质存储有用于执行上述方法的计算机程序。
根据本公开的另一个方面,还提供了一种电子设备。该电子设备可以包括处理器和用于存储处理器可执行指令的存储器,其中,处理器可以用于从存储器中读取用以实现上述方法的可执行指令。
根据本公开的实施例的装置和方法,能够以较低的成本高效率地实现处理器和/或处理器中的运算器阵列的硬件自动检测,而不会降低处理器的处理性能,并且不会消耗额外的存储资源。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是根据本公开的实施例的装置的示例。
图2是根据本公开的实施例的装置的示例。
图3是根据本公开的实施例的装置的示例。
图4是根据本公开的实施例的装置的示例。
图5是根据本公开的实施例的信号的示例。
图6是根据本公开的实施例的装置的示例。
图7是根据本公开的实施例的装置的示例。
图8是根据本公开的实施例的方法的示例。
图9是根据本公开的实施例的方法的示例。
图10是根据本公开的实施例的方法的示例。
图11是根据本公开的实施例的电子设备的示例。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
概述
对于芯片的单点故障,已经提出例如基于逻辑内建自检测(Logic Build-in SelfTest,LBIST)技术、基于双核(Dual-core)技术或基于软件等不同的故障检测手段。
LBIST能够检测永久型单点故障,但是运行时间较长,对于芯片性能的影响较为明显。基于双核技术的检测手段能够实时地检测瞬时型单点故障,但是对于例如神经网络加速器这样的可能包括大量运算器(例如,神经网络加速器中的乘加单元数量通常可以是数千个),采用双核技术将显著地增加硬件成本。基于软件的检测手段无法实时地检测故障且无法确保检测的覆盖率。另外,故障检测软件的运行影响芯片的处理器/处理模块的正常功能的执行,并且用于中间数据的存储成本较高。
根据本公开的实施例的装置和方法旨在解决或缓解上述的一个或多个技术问题。
示例性装置
图1示出根据本公开的实施例的检测处理器运行状态的装置的示例。
如图1所示,根据本公开的实施例的检测处理器PCR运行状态的装置DEV可以包括:随机数发生器RNG;多个多路选择器M1至M2n(n为大于1的整数),每个多路选择器的第一数据输入端和第二数据输入端分别耦接到前述装置DEV的数据输入端DIN和前述随机数发生器RNG的输出端,并且每个多路选择器被配置为响应于测试使能信号,选择经由该多路选择器的数据输出端输出经由该多路选择器的第二数据输入端输入的数据;多个多路分配器R1至Rn,每个多路分配器的第一数据输出端和第二数据输出端分别耦接到前述装置DEV的数据输出端DOUT和检测电路TST,并且每个多路分配器被配置为响应于前述测试使能信号,选择经由该多路分配器的第二数据输出端输出经由该多路分配器的数据输入端输入的数据;运算器阵列,包括多个运算器C1、……、Cn,前述多个运算器C1、……、Cn中的每个运算器的每个数据输入端耦接到对应的多路选择器的数据输出端,并且每个运算器的数据输出端耦接到对应的多路分配器的数据输入端;以及前述检测电路TST,被配置为根据经由前述多个多路分配器接收的数据检测前述处理器的运行状态。
根据不同的实施例,装置DEV中的运算器阵列可以是装置DEV中的处理器PCR的一部分,也可以对应于装置DEV的处理器PCR。
如图1所示,在装置DEV中,对于处理器PCR中的多个运算器C1、……、Cn中的每个运算器Cj(1≤j≤n),运算器Cj的每个数据输入端可以耦接到对应的多路选择器(在图1的示例中,M2j-1和M2j)的数据输出端,并且运算器Cj的数据输出端可以耦接到对应的多路分配器(在图1的示例中,Rj)的数据输入端。
处理器PCR中的运算器阵列可以具有任何适当的结构。在一个实施例中,每个运算器Cj可以具有相同的硬件结构,或者被配置为能够针对相同的输入而产生相同的输出。在另一个实施例中,多个运算器C1、……、Cn中的一个或多个运算器可以具有相同的第一硬件结构或者用于实现相同的第一功能/运算,而多个运算器C1、……、Cn中的另外的一个或多个运算器可以具有相同的第二硬件结构或者用于实现相同的第二功能/运算,并且这样的第一硬件结构或第一功能/运算可以与第二硬件结构或第二功能/运算相同。在另外的实施例中,这样的第一硬件结构或第一功能/运算可以与第二硬件结构或第二功能/运算不同,但是第一硬件结构或第一功能/运算的输出结果与第二硬件结构或第二功能/运算的输出结果满足按照预定关系。在另外的实施例中,多个运算器C1、……、Cn中的第一组多个运算器可以具有相同的第一硬件结构或者用于实现相同的第一功能/运算,而多个运算器C1、……、Cn中的第二组多个运算器可以具有相同的第二硬件结构或者用于实现相同的第二功能/运算,并且这样的第一硬件结构或第一功能/运算可以与第二硬件结构或第二功能/运算不同。
在一个实施例中,装置DEV的处理器PCR中的多个运算器C1、……、Cn能够作为运算器阵列而被整体地控制,并且每个运算器可以不具备(当然,也可以具备)单独发送其操作状态的能力。在本文中,这样的运算器阵列也被称为第一类运算器阵列。
在另外的实施例中,装置DEV的处理器PCR中的多个运算器C1、……、Cn中的每个运算器需要单独控制,并且每个运算器需要具备单独发送其操作状态的能力。这样的运算器阵列在本文中也被称为第一类运算器阵列。在本文中,这样的运算器阵列也被称为第二类运算器阵列。
在装置DEV中,对于多个多路选择器M1至M2n中的每个多路选择器Mi(1≤i≤2n),如图1中从装置DEV的数据输入端DIN到每个Mi的细线箭头所示,多路选择器Mi的第一数据输入端耦接到装置DEV的数据输入端DIN,并且如图1中从随机数发生器RNG到每个Mi的粗线箭头所示,多路选择器Mi的第二数据输入端耦接到随机数发生器RNG的输出端,其中,每个多路选择器Mi可以被配置为响应于测试使能信号STEN,选择经由多路选择器Mi的数据输出端输出经由多路选择器Mi的第二数据输入端输入的数据,从而将由随机数发生器RNG产生的随机数传送给多个运算器C1、……、Cn中的对应的运算器。
在一个实施例中,每个多路选择器Mi可以是二选一开关元件。例如,每个多路选择器Mi可以包括源漏两极分别耦接到装置DEV的数据输入端DIN和对应的运算器的第一晶体管,以及源漏两极分别耦接到随机数发生器RNG和对应的运算器的第二晶体管,其中,第一晶体管可以在其栅极接收到测试使能信号STEN时截止,而第二晶体管可以在其栅极接收到测试使能信号STEN时导通。在另外的实施例中,每个多路选择器Mi可以是任何适当的多选一的多路选择器集成元件。本公开不局限于每个多路选择器的类型和实现方式。
根据不同的实施例,装置DEV中的随机数发生器RNG可以包括一个或多个相同或不同的硬件随机数发生器(也称为真随机数发生器)和/或一个或多个相同或不同的伪随机数发生器(例如,线性同余发生器等)。本公开不局限于随机数发生器RNG的类型和实现方式。
根据不同的实施例,随机数发生器RNG可以被配置为针对每个多路选择器Mi产生相同的一个或一组随机数,也可以被配置为针对多个多路选择器M1至M2n中的第一组多路选择器(例如,M1至Mn)输出第一(组)随机数,并且针对多个多路选择器M1至M2n中的第二组多路选择器(例如,Mn+1至M2n)输出第二(组)随机数,并且根据不同的实施例,第一(组)随机数可以与第二(组)随机数相同或不同,或者满足某种预定规则。例如,第一随机数与第二随机数之和可以为零;可以针对第一组多路选择器(例如,M1至Mn)产生并输出随机数a和b,而针对第二组多路选择器(例如,Mn+1至M2n)产生并输出随机数a和-b;诸如此类。
在一个实施例中,装置DEV中的运算器阵列可以在一个或多个周期(在下文中也称为“输入周期”)接收输入,并在随后的一个或多个周期(在下文中也称为“输出周期”)输出运算结果。相应地,随机数发生器RNG还可以被配置为按时序产生与运算器阵列的输入周期中的每个周期相对应的一个多个随机模式(pattern)或随机数据,使得运算器阵列可以在相应的输入周期中的各个周期经由对应的多路选择器从随机数发生器RNG接收对应的随机模式或随机数据,并且根据所接收的各个随机模式或随机数据执行运算,然后在输出周期中的各个周期经由对应的多路分配器向测试电路TST输出运算结果或运算结果的各个部分。
根据不同的实施例,随机数发生器RNG可以直接或间接地耦接到多路选择器Mi。例如,在针对第一组多路选择器(例如,M1至Mn)产生并输出随机数a和b,而针对第二组多路选择器(例如,Mn+1至M2n)产生并输出随机数a和-b的情况下,可以将随机数发生器RNG直接耦接到对应的多路选择器Mi,并且将随机数发生器RNG配置为产生随机数a、b和-b,也可以在将随机数发生器RNG配置为产生随机数a和b,并且在也需要提供-b的多路选择器Mi之间的线路中设置例如用于求取负数或反码的元件或电路。
在一个实施例中,随机数发生器RNG也可以被配置为响应于测试使能信号STEN而产生并输出一个或多个随机数。
在装置DEV中,对于多个多路分配器R1至Rn中的每个多路分配器Rj(1≤j≤n),如图1中从每个Rj到DOUT的细线箭头所示,多路分配器Rj的第一数据输出端可以耦接到装置DEV的数据输出端DOUT,并且如图1中从每个Rj到检测电路TST的粗线箭头所示,多路分配器Rj的第二数据输出端可以耦接到检测电路TST,其中,每个多路分配器Rj可以被配置为响应于测试使能信号STEN,选择经由多路分配器Rj的第二数据输出端输出经由多路分配器Rj的数据输入端输入的数据,即,选择将来自多个运算器C1、……、Cn中的对应的运算器的运算结果传送给检测电路TST。
在一个实施例中,每个多路分配器Rj可以是二选一开关元件。例如,每个多路分配器Rj可以包括源漏两极分别耦接到装置DEV的数据输出端DOUT和对应的运算器的第三晶体管,以及源漏两极分别耦接到检测电路TST和对应的运算器的第四晶体管,其中,第三晶体管可以在其栅极接收到测试使能信号STEN时截止,而第四晶体管可以在其栅极接收到测试使能信号STEN时导通。在另外的实施例中,每个多路分配器Rj可以是任何适当的多路分配器或路由器或用于实现相同功能的任何其他适当的元件/集成电路。本公开不局限于每个多路分配器的类型和实现方式。
装置DEV中的检测电路TST可以被配置为根据经由来自多路分配器的数据检测处理器PCR的运行状态。例如,检测电路TST可以被配置为检测来自各个多路分配器的数据是否一致(例如,是否相同,经过求和运算后得到的值是否为零,来自运算器阵列的数据序列中的数据项的次序是否一致,等等),并且可以在确定存在不一致的数据的情况(例如,来自某两个多路分配器的数据不相同,或者来自各个多路分配器的数据之和不为零,等等)下,可以输出指示处理器PCR和/或处理器PCR中的运算器阵列发生故障的信号。
在不同的实施例中,根据预定的检查规则,检测电路TST可以包括例如加法器、数值比较器、计分板电路等各种适当的电路或元件。另外,根据不同的实施例,检测电路TST可以被配置为响应于在输入端检测到输入信号(输入数据)和/或测试使能信号STEN等而开始操作。
在图1所示的装置DEV中,通过设置随机数发生器RNG和多路选择器阵列,允许处理器PCR中的运算器基于来自随机数发生器RNG的随机数而不是来自装置DEV的数据输入端DIN的数据执行运算。另外,还通过设置检测电路TST和多路分配器阵列,允许将处理器PCR或处理器PCR中的各个运算器的运算结果输出到检测电路TST以便进行数据一致性检测,而不是经由装置DEV的数据输出端DOUT输出。而且,通过信号(例如,测试使能信号STEN)控制硬件电路从运算/处理模式到检测模式的迅速切换。
由于可以不需要额外的软件控制,根据本公开的实施例的装置能够确保处理器PCR的处理性能不降低,且不需要额外的存储开销,并且能够实时地进行故障检测。
另外,根据本公开的实施例的装置DEV中的每个多路选择器Mi、每个多路分配器Rj、随机数发生器RNG和检测电路TST均能够通过简单的硬件来实现,例如每个多路选择器Mi或每个多路分配器Rj均可以只包括两个晶体管。因此,根据本公开的实施例的装置DEV的硬件成本相对较低。而且,可以将处理器PCR中的每个运算器与随机数发生器RNG和检测电路TST连接,由此能够确保检测的覆盖率。
因此,根据本公开的实施例的装置能够通过成本较低的硬件,自动且快速地检测处理器PCR和/或处理器PCR中的运算器的永久型单点故障和瞬间型单点故障。
在一个实施例中,对于第一类运算器阵列,如图1所示,测试使能信号STEN可以对应于由处理器PCR或处理器PCR中的运算器阵列发出的阵列操作结束信号SOEND
根据本公开的实施例的装置DEV中的处理器PCR可以根据预定的指令序列执行操作,或者说,处理器PCR可以根据预定的指令序列控制其内部的运算器阵列执行操作。因此,总是可以确定处理器PCR或处理器PCR中的运算器阵列的期望运算/处理的操作/指令序列何时开始、何时结束。
例如,可以针对处理器PCR中的运算器阵列发出阵列操作结束信号SOEND,以统一地控制运算器阵列中的所有运算器执行操作,并且处理器PCR或处理器PCR中的运算器阵列(例如,运算器阵列中的控制模块/电路,未示出)可以在操作完成时,例如运算器阵列中的每个运算器均完成操作时,或者响应于指令序列中的结束指令或完成最后指令,发出阵列操作结束信号SOEND
然后,可以将由处理器PCR或处理器中的运算器阵列发出的阵列操作结束信号SOEND作为测试使能信号STEN
由此,能够利用已有的信号设计来允许处理器PCR或处理器PCR中的运算器阵列从操作/运算模式自动且无缝地转换到故障检测模式,无需额外的触发信号或控制指令或信号触发电路。
在另一个实施例中,装置DEV还可以包括信号触发电路。
如图2所示,对于第一类运算器阵列,该信号触发电路SGC可以被配置为响应于测试指令信号和被设置的测试使能标志中的至少一个以及由运算器阵列发出的阵列操作结束信号SOEND,触发测试使能信号STEN
例如,可以在程序设计阶段,在用于控制处理器PCR或处理器PCR中的运算器执行操作的程序指令中插入测试指令。然后,例如装置DEV或处理器PCR中的指令解析器可以在检测到测试指令时向信号触发电路SGC发出测试指令信号。例如,可以在装置DEV或处理器PCR中设置测试使能标志寄存器,并且例如装置DEV或处理器PCR中的指令解析器可以在检测到测试指令时在测试使能标志寄存器中设置测试使能标志。另外,测试使能标志也可以根据来自装置DEV外部的输入或者针对装置DEV的硬件或软件上的预先或实时的配置来设置。然后,信号触发电路SGC可以被配置为响应于测试指令信号和被设置的测试使能标志中的至少一个以及由运算器阵列发出的阵列操作结束信号SOEND,触发测试使能信号STEN
由此,可以通过结合另外的控制(例如,软件控制)来有计划地启动针对处理器PCR或处理器中的运算器阵列的故障检测,从而能够避免使处理器PCR或处理器中的运算器阵列总是在执行运算/处理或自检测操作,能够有效地控制功耗,并且有利于延长元件寿命。
在另外的实施例中,例如针对前述的第二类运算器阵列,信号触发电路SGC可以被配置为在处理器PCR的运算器阵列中的每个运算器均处于空闲状态的期间,触发测试使能信号STEN
例如,可以针对每个运算器设置一个标志位,该标志位可以响应于对应的运算器发出的操作结束信号而被置1,并且可以响应于向对应的运算器提供操作开始信号或者对应的运算器接收到操作开始信号而被置0。然后,信号触发电路SGC可以在所有运算器的标志位均为1(例如,可以通过与门进行判断)的情况下,触发测试使能信号(例如,与门的输出为1),并且可以在有一个或多个标志为0的情况下,触发测试停止信号(例如,与门的输出为0)。
于是,测试周期是运算器阵列中的各个运算器同时处于空闲期间的交集。由此,即使在例如第二运算器阵列这样的包括多个不具有重复性的计算资源的运算器阵列的情况下,也能够确保故障检测的正确执行,并且能够确保检测的覆盖率。
进一步地,信号触发器还可以被配置为在每个运算器均处于空闲状态的期间,响应于测试指令信号和被设置的测试使能标志中的至少一个,触发测试使能信号STEN
例如,如前文所述,测试指令信号可以对应于测试指令的解析结果。例如,可以针对操作指令和测试指示设置相应的指令码或指令位。例如,某个比特为1表示“操作指令”,为0表示“测试指令。然后,可以使用例如与门和/或非门等逻辑元件确定指令类型。例如,可以用高电平信号表示测试指令信号。然后,可以使用与门元件等确定是否同时接收到测试指令和操作结束信号。
另外,针对前述的第二类运算器阵列,信号触发电路SGC还可以与运算器阵列中的每个运算器或包括每组运算器的子阵列耦接在一起,以针对各个运算器或各组运算器,独立地发送测试使能信号STEN,从而允许装置DEV中的一部分运算器处于测试模式,而另一部分处于操作模式。
通过在装置DEV中包括信号触发电路,允许结合另外的控制(例如,软件控制)来有计划地启动针对处理器PCR或处理器中的运算器阵列的故障检测,从而能够避免过多的功耗,并有利于延长元件寿命。
如前文所述,每个多路选择器Mi可以被配置为响应于测试使能信号STEN,选择经由多路选择器Mi的数据输出端输出经由多路选择器Mi的第二数据输入端输入的数据,从而将由随机数发生器RNG产生的随机数传送给多个运算器C1、……、Cn中的对应的运算器,并且每个多路分配器Rj可以被配置为响应于测试使能信号STEN,选择经由多路分配器Rj的第二数据输出端输出经由多路分配器Rj的数据输入端输入的数据,从而选择将来自多个运算器C1、……、Cn中的对应的运算器的运算结果传送给检测电路TST。
对应地,在一个实施例中,如图3中的粗线箭头所示,每个多路选择器Mi还可以被配置为响应于测试停止信号STDS,选择经由该多路选择器Mi的数据输出端输出经由该多路选择器Mi的第一数据输入端输入的数据,从而将由装置DEV的数据输入端DIN接收的数据传送给多个运算器C1、……、Cn中的对应的运算器,并且每个多路分配器Rj还可以被配置为响应于测试停止信号STDS,选择经由该多路分配器Rj的第一数据输出端输出经由该多路分配器Rj的数据输入端输入的数据,从而选择将来自多个运算器C1、……、Cn中的对应的运算器的运算结果传送给装置DEV的数据输出端DOUT。
由此,使得根据本公开的实施例的装置能够从检测模式切换至常规的运算/操作模式,以便根据经由数据输入端DIN接收的数据执行预定运算/操作,并经由数据输出端DOUT输出运算/操作结果,从而实现常规运算/操作。
在一个实施例中,如图3所示,测试停止信号STDS可以对应于提供给运算器阵列的阵列操作开始信号SOSTT
如前文所述,装置DEV中的处理器PCR可以根据预定的指令序列执行操作,或者说,处理器PCR可以根据预定的指令序列控制其内部的运算器阵列执行操作。因此,总是可以确定处理器PCR或处理器PCR中的运算器阵列的期望运算/处理的操作/指令序列何时开始、何时结束。
阵列操作开始信号SOSST可以是指示处理器PCR或处理器PCR中的运算器阵列开始启动以执行上述期望运算/处理的操作/指令序的信号。根据不同的实施例,这样的阵列操作开始信号SOSST可以是单独的触发信号,也可以是在程序设计阶段插入到期望由处理器PCR或处理器PCR中的运算器阵列执行的指令序列的中的指令,例如作为第一条要执行的指令,等等。
通过使用提供给运算器阵列的阵列操作开始信号SOSST作为测试停止信号STDS,能够利用已有的信号设计来允许处理器PCR或处理器PCR中的运算器阵列从故障检测模式自动且无缝地转换到操作/运算模式,而无需额外的触发信号或控制指令或信号触发电路。
如前文所述,根据本公开的实施例的装置DEV还可以包括信号触发电路SGC。
装置DEV中的处理器PCR或处理器PCR中的运算器阵列或运算器阵列中的运算器可以被配置为知道当前所处的模式是操作/运算模式还是测试模式,例如,可以通过设置相应的模式标志寄存器等。在这样的情况下,在模式切换时,处理器PCR或处理器PCR中的运算器阵列或运算器阵列中的运算器可以根据要切换到的模式向信号触发电路SGC发出对应的信号,也可以通过设置/修改对应的标志以使信号触发电路SGC能够知道接下来要触发测试使能信号STEN还是测试停止信号STDS
在另外的示例中,装置DEV中的处理器PCR或处理器PCR中的运算器阵列或运算器阵列中的运算器也可以被配置为不必关心当前所处的模式如何。在这样的情况下,至少在运算器阵列内部,操作/运算模式和测试模式实质上是没有差异。在这样的情况下,如图4所示,信号触发电路SGC可以被配置为在触发测试使能信号STEN之后,如果检测到每个运算器均发出电路操作结束信号(例如,在第二类运算器阵列的情况下)或者运算器阵列发出阵列操作结束信号SOEND(例如,在第一类运算器阵列的情况下),则触发测试停止信号STDS
也就是说,例如,如图5所示,信号触发电路SGC可以响应于第一阵列操作结束信号SOEND1而触出测试使能信号STEN,使得处理器PCR或处理器PCR中的运算器阵列或运算器阵列中的一组或多组运算器进入测试模式。然后,信号触发电路SGC可以在测试期间P中,响应于第二阵列操作结束信号SOEND2而触出测试停止信号STDS,从而使处理器PCR或处理器PCR中的运算器阵列或运算器阵列中的一组或多组运算器停止测试,并进入到操作/运算模式。
在该情况下,信号触发电路SGC或运算器阵列的操作还可以包括重置测试使能标志(如果有)等,以便在第二阵列操作结束信号SOEND2之后再次接收到阵列操作结束信号时能够确保再次进入检测模式。
应当理解,图5的信号触发(下降沿触发)仅为示例。根据本公开的实施例的装置的信号及信号触发方式不局限于上述示例,例如,也可以使用上升沿触发的方式等。另外,如前文所述,由于测试使能信号STEN的触发可能还取决于测试指令信号和被设置的测试使能标志中的至少一个,所以图5的示例中,测试使能信号STEN并未响应于第一阵列操作结束信号SOEND1而立即触发。然而,在另外的实施例中,测试使能信号STEN也可以响应于第一阵列操作结束信号SOEND1而立即触发,也就是说,信号触发电路SGC也可以被配置为响应于由运算器阵列发出的阵列操作结束信号SOEND而触发测试使能信号STEN,并且在这样的情况下,可以省略信号触发电路SGC。
如前文所述,通过在装置DEV中包括信号触发电路,允许结合另外的控制(例如,软件控制)来有计划地启动和停止针对处理器PCR或处理器中的运算器阵列的故障检测,从而能够避免过多的功耗,并有利于延长元件寿命。
根据处理器PCR或处理器PCR中的运算器阵列或运算器阵列中的运算器要执行的运算类型、输出的数据类型等,检测电路TST可以被配置为实现任何适当的比对规则,并且相应地,根据不同的实施例,可以包括加法器、数值比较器、一个或多个逻辑门元件、计分板电路等一个或多个适当的电路模块或元件。
例如,检测电路可以包括一个或多个异或门元件,每个异或门可以具有两个或更多的输入端,所有异或门的所有输入端的数量可以与装置DEV中的所有多路分配器R1至Rn的数量相同,并且每个异或门的每个输入端分别耦接到多路分配器R1至Rn中的对应的一个多路分配器的输出端。由此,在检测电路TST从多路分配器R1至Rn中的一个或多个多路分配器接收的一个或多个数据之间存在不同数据的情况下,检测电路TST中的至少一个异或门可以输出“1”。例如这样的一个或多个异或门元件的输出可以进一步地通过一个或多个或门元件汇总到一起。检测电路TST可以在至少一个异或门可以输出“1”的情况下输出指示处理器PRC或处理器PRC中的运算器阵列发生故障的信号。
例如,在经由多路分配器从至少两个运算器接收的至少两个运算结果是否一致的情况下,如图6所示,检测电路TST可以包括至少一个加法器(图6中示出在TST中包括至少两个加法器,在另外的示例中也可以只有一个加法器),并且检测电路TST可以被配置为在检测到这样的至少一个加法器中的任何加法器的输出结果不是零的情况下输出指示处理器PRC或处理器PRC中的运算器阵列发生故障的信号。
例如,可以控制随机数发生器RNG生成适当的一个或多个随机数,使得在各个运算器C1至Cn正常操作的情况下,例如,C1生成运算结果-c,C2生成运算结果c,……,Cn-1生成运算结果-c,Cn生成运算结果c。然后,各个运算器的运算结果经由对应的多路分本器传递给检测电路TST中的对应的加法器。检测电路TST或检测电路TST中的加法器可以响应于测试使用信号STEN或者响应于在对应的输入端接收到数据而操作,从而分别针对所接收的每对c和-c执行加法运算。在正常的情况下,检测电路TST中的各个加法器应当输出0。
在某个运算器发生故障的情况下,例如在图6的示例中,运算器Cn发生故障并因此而输出c’(而非在正常情况下应当输出的c),检测电路TST中的对应的加法器针对c’和-c的运算结果将不为0,于是可以输出指示运算器阵列发生故障的信号。
在一个实施例中,代替加法器或在加法器的基础上,检测电路TST可以包括常规的计分板电路。
在一些实施例中,指示运算器阵列发生故障的信号还可以包括与故障有关的任何息,例如还可以包括用于指示运算器阵列中的哪个(些)或者可能哪个(些)运算器发生了故障的信息。例如,在图6的示例中,指示运算器阵列发生故障的信号可以进一步指示运算器Cn-1和Cn中的至少一个发生了故障。
对于例如卷积神经网络芯片等包括很多加法器的芯片/装置/模块来说,在通过加法器来配置检测电路TST的情况下,可以重用卷积加速模块中的加法器阵列来实现检测电路TST,因此能够在不增加硬件成本和芯片尺寸的情况下实现故障的自检测,因此是非常有利的。
例如,在装置DEV是例如卷积加速模块这样的装置的情况下,装置DEV的处理器PCR或处理器PCR中的运算器阵列中的每个运算器可以包括乘法器。
在这样的情况下,在一个实施例中,随机数发生器RNG的第一数据输出端可以经由对应的多路选择器耦接到运算器阵列中的第一运算器的第一数据输入端和第二运算器的第一数据输入端。
例如,如图7所示,随机数发生器RNG输出a的第一数据输出端可以经由对应的多路选择器M1耦接到第一运算器C1或Cn-1的第一数据输入端,并且经由对应的多路选择器M3耦接到第二运算器C2或Cn的第一数据输入端。为了清楚,在图7中省去了装置DEV的数据输入端DIN和数据输出DOUT与装置DEV中的各多路选择器和各多路复用器之间的连接。
随机数发生器RNG的第二数据输出端可以经由对应的多路选择器耦接到第一运算器的第二数据输入端,并且随机数发生器RNG的第二数据输出端可以经由取反逻辑和对应的多路选择器耦接到第二运算器的第二数据输入端。例如,在图7的示例中,随机数发生器RNG输出b的第二数据输出端可以经由在RNG与M2之后的非门和对应的多路选择器M2耦接到第一运算器C1或Cn-1的第二数据输入端,随机数发生器RNG输出b的第二数据输出端可以经由对应的多路选择器M4耦接到第二运算器C2或Cn的第二数据输入端。由此,第一运算器C1或Cn-1可以根据所接收的输入(a和-b)执行乘法运算并输出-c,而第二运算器C2或Cn可以根据所接收的输入(a和b)执行乘法运算并输出c。
然后,如图7所示,第一运算器C1或Cn-1和第二运算器C2或Cn的数据输出端分别经由对应的多路分配器(R1或Rn-1以及R2或Rn)耦接到检测电路TST中的至少一个加法器中的一个加法器的两个数据输入端。
在一个实施例中,检测电路TST中的加法器可以重用运算器阵列中的加法器(未示出)来实现。
由此,装置DEV能够以较低的成本高效率地实现处理器和/或处理器中的运算器阵列的硬件自动检测,而不会降低处理器的处理性能,并且不会消耗额外的存储资源。
应当理解,根据本公开的实施例的装置不局限于上述示例。例如,运算器阵列中的每个运算器可以是用于从至少两个输入数据中确定最大值或最小值的处理电路或模块。在这样的情况下,在检测电路TST中,代替加法器,可以设置例如异或门(或者能够实现异或逻辑的电路,或者能够与异或逻辑获得相同或等效的比对结果的逻辑电路)或数值比较器等模块/电路/元件,并且在来自作为当前检测对象的至少两个运算器的处理结果不一致的情况下,输出处理器PRC或处理器PRC中的运算器阵列或某个(些)运算器发生故障的信号。另外,在上述示例中,运算器阵列中的各个运算器被示为具有2个输入端,但是在另外的实施例中,运算器阵列中的各个运算器也可以具有1个、3个或更多的输入端,并且相应地,与每个运算器相连的多路选择器的数量也可以是例如1个、3个或更多个,而不局限于上述示例中的2个。另外,在上述示例中,运算器阵列中的各个运算器被示为具有1个输出端,但是在另外的实施例中,运算器阵列中的各个运算器也可以具有2个、3个或更多的输入端,并且相应地,与每个运算器相连的多路分配器的数量也可以是例如2个、3个或更多个,而不局限于上述示例中的1个。
示例性方法
图8示出根据本公开的实施例的检测处理器运行状态的方法的示例流程。该方法可以用于控制前文所述的根据本公开的实施例的装置进行处理器运算状态的自检测,或者说,前文所述的根据本公开的实施例的装置可以按照与该方法的步骤相对应的过程自动或受控地进行处理器运算状态的自检测。
如图8所示,根据本公开的实施例的方法可以包括:
步骤S110,响应于测试使能信号,将由随机数发生器产生的随机数传送给运算器阵列中的每个运算器;
步骤S120,响应于前述测试使能信号,将每个运算器基于前述随机数执行运算所得到的数据传送给检测电路;以及
步骤S130,响应于前述测试使能信号,启动检测电路,以根据所接收的数据检测处理器的运行状态。
在一个实施例中,运算状态的检测可以包括由检测电路检测来自各个运算器的运算结果数据是否一致(例如,是否相同,经过求和运算后得到的值是否为零,等等),并且可以在确定存在不一致的数据的情况(例如,数据不相同,或者数据之和不为零,等等)下,可以输出指示处理器和/或处理器中的运算器阵列和/或运算器阵列中的某个(些)运算器发生故障的信号。
如前文针对根据本公开的实施例的装置的描述中所述,检测电路的启动和停止可以根据信号自动无缝地切换,也可以在此基础上进一步根据另外的软件控制来切换。
例如,图9示出控制检测电路在进行和停止故障检测之间进行切换一个示意过程。在该示例中,测试使能信号STEN可以对应于阵列操作结束信号SOEND,并且测试停止信号STDS可以对应于阵列操作开始信号SOSST
图10示出控制检测电路在进行和停止故障检测之间进行切换另一个示意过程。在该控制过程中,加入了额外的软件控制,即,可以在程序设计阶段,在用于控制处理器或处理器中的运算器执行操作的程序指令中插入测试指令。然后,例如装置或处理器中的指令解析器可以在检测到测试指令时向信号触发电路发出测试指令信号STEN,否则发出阵列操作开始信号SOSST。然后,在检测或常规的操作/运算结束之后,可以控制指令解析器取得下一条指令并继续执行。
控制根据本公开的实施例的装置的方法或者根据本公开的实施例的装置的操作过程不局限于上述示例。例如,根据另外的实施例,还可以根据被设置的测试使能标志中的至少一个以及由运算器阵列发出的阵列操作结束信号,来触发测试使能信号STEN,也可以在处理器的运算器阵列中的每个运算器均处于空闲状态的期间,触发测试使能信号STEN
示例性电子设备
图11示出根据本公开的实施例的电子设备的示例。
如图11所示,该电子设备ED包括前文所述的根据本公开的实施例的装置DEV。
另外,电子设备ED还可以包括一个或多个另外的处理器(未示出),这些另外的处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备ED中的其他组件以执行期望的功能和/或与装置DEV相配合以实现期望的功能。
如图11所示,电子设备ED还可以包括存储器STR。存储器STR可以存储一个或多个计算机程序产品,并且可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪速存储器等。
装置DEV或者前述的另外的一个或多个处理器可以读取例如在STR中存储的一个或多个计算机程序指令并运行,以实现上文所述的本公开的各个实施例的方法以及/或者其他期望的功能。
如图11所示,在一些实施例中,电子设备ED还可以包括输入装置INP和输出装置OUTP,其中,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。根据不同的实施例,输入设备INP可以包括例如键盘、鼠标等,并且输出装置OUTP可以并且可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等以便向外部输出各种信息。
为了简化,图11中仅示出了该电子设备ED中的一些示例性部件,而省略了诸如总线、输入/输出接口等的其他组件。除此之外,根据具体应用情况,电子设备ED还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,该计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言可以包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,例如计算机可读取的非临时性存储介质,其上存储有程序指令,程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪速存储器)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
在本文中,诸如“第一”、“第二”等不带有量词的修饰词旨在用于区分不同的元件/部件/电路/模块/装置/步骤,而不用于强调次序、位置关系、重要程度、优先级别等。与此不同,诸如“第一个”、“第二个”等带有量词的修饰词可以用于强调不同的元件/部件/电路/模块/装置/步骤的次序、位置关系、重要程度、优先级别等。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (13)

1.一种检测处理器运行状态的装置,包括:
随机数发生器;
多个多路选择器,每个多路选择器的第一数据输入端和第二数据输入端分别耦接到所述装置的数据输入端和所述随机数发生器的输出端,并且每个多路选择器被配置为响应于测试使能信号,选择经由该多路选择器的数据输出端输出经由该多路选择器的第二数据输入端输入的数据;
多个多路分配器,每个多路分配器的第一数据输出端和第二数据输出端分别耦接到所述装置的数据输出端和检测电路,并且每个多路分配器被配置为响应于所述测试使能信号,选择经由该多路分配器的第二数据输出端输出经由该多路分配器的数据输入端输入的数据;
运算器阵列,包括多个运算器,所述多个运算器中的每个运算器的每个数据输入端耦接到对应的多路选择器的数据输出端,并且每个运算器的数据输出端耦接到对应的多路分配器的数据输入端;以及
所述检测电路,被配置为根据经由所述多个多路分配器接收的数据检测所述处理器的运行状态。
2.根据权利要求1所述的装置,其中,所述测试使能信号对应于由所述运算器阵列发出的阵列操作结束信号。
3.根据权利要求1所述的装置,还包括:
信号触发电路,被配置为响应于测试指令信号和被设置的测试使能标志中的至少一个以及由所述运算器阵列发出的阵列操作结束信号,触发所述测试使能信号。
4.根据权利要求1所述的装置,还包括:
信号触发电路,被配置为在每个运算器均处于空闲状态的期间,触发所述测试使能信号。
5.根据权利要求4所述的装置,其中,所述信号触发电路被配置为在每个运算器均处于空闲状态的期间,响应于测试指令信号和被设置的测试使能标志中的至少一个,触发所述测试使能信号。
6.根据权利要求1所述的装置,其中,
每个多路选择器还被配置为响应于测试停止信号,选择经由该多路选择器的数据输出端输出经由该多路选择器的第一数据输入端输入的数据,并且
每个多路分配器还被配置为响应于所述测试停止信号,选择经由该多路分配器的第一数据输出端输出经由该多路分配器的数据输入端输入的数据。
7.根据权利要求6所述的装置,其中,所述测试停止信号对应于提供给所述运算器阵列的阵列操作开始信号。
8.根据权利要求6所述的装置,还包括:
信号触发电路,被配置为在触发所述测试使能信号之后检测到每个运算器均发出电路操作结束信号或者所述运算器阵列发出阵列操作结束信号的情况下,触发所述测试停止信号。
9.根据权利要求1至8中的任一项所述的装置,其中,所述检测电路包括至少一个加法器,所述检测电路被配置为在检测到所述至少一个加法器中的任何加法器的输出结果不是零的情况下输出指示所述运算器阵列发生故障的信号。
10.根据权利要求9所述的装置,其中,
每个运算器包括乘法器,
所述随机数发生器的第一数据输出端经由对应的多路选择器耦接到所述运算器阵列中的第一运算器的第一数据输入端和第二运算器的第一数据输入端,
所述随机数发生器的第二数据输出端经由对应的多路选择器耦接到所述第一运算器的第二数据输入端,
所述随机数发生器的第二数据输出端经由取反逻辑和对应的多路选择器耦接到所述第二运算器的第二数据输入端,并且
所述第一运算器和所述第二运算器的数据输出端分别经由对应的多路分配器耦接到所述至少一个加法器中的一个加法器的两个数据输入端。
11.一种检测处理器运行状态的方法,应用于如权利要求1所述的装置,包括:
响应于测试使能信号,将由随机数发生器产生的随机数传送给运算器阵列中的每个运算器;
响应于所述测试使能信号,将每个运算器基于所述随机数执行运算所得到的数据传送给检测电路;以及
响应于所述测试使能信号,启动所述检测电路,以根据所接收的数据检测所述处理器的运行状态。
12.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行根据权利要求11所述的方法。
13.一种电子设备,所述电子设备包括:处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现根据权利要求11所述的方法。
CN201910768500.2A 2019-08-20 2019-08-20 检测处理器运行状态的装置和方法 Active CN112416665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910768500.2A CN112416665B (zh) 2019-08-20 2019-08-20 检测处理器运行状态的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910768500.2A CN112416665B (zh) 2019-08-20 2019-08-20 检测处理器运行状态的装置和方法

Publications (2)

Publication Number Publication Date
CN112416665A CN112416665A (zh) 2021-02-26
CN112416665B true CN112416665B (zh) 2024-05-03

Family

ID=74778871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910768500.2A Active CN112416665B (zh) 2019-08-20 2019-08-20 检测处理器运行状态的装置和方法

Country Status (1)

Country Link
CN (1) CN112416665B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0018736A1 (en) * 1979-05-01 1980-11-12 Motorola, Inc. Self-testing microcomputer and method of testing
EP0062431A1 (en) * 1981-03-20 1982-10-13 Fujitsu Limited A one chip microcomputer
JPH05120052A (ja) * 1991-10-30 1993-05-18 Mitsubishi Electric Corp セルフテスト機能付マイクロプロセツサ
CN1269546A (zh) * 1999-04-05 2000-10-11 株式会社日立制作所 具有内置自检功能的处理器
JP2003044314A (ja) * 2001-07-26 2003-02-14 Nec Corp 演算装置、中央処理装置、情報処理装置
US6591389B1 (en) * 1999-01-29 2003-07-08 Lucent Technologies Inc. Testing system for circuit board self-test
CN1474279A (zh) * 2001-08-08 2004-02-11 ��ʽ���綫֥ 微处理器
TWI221614B (en) * 2000-07-31 2004-10-01 Hitachi Ltd Tester architecture construction data generating method, tester architecture constructing method and test circuit
CN101944047A (zh) * 2009-07-07 2011-01-12 富士通株式会社 作业分配装置和作业分配方法
CN103092714A (zh) * 2012-12-31 2013-05-08 哈尔滨工业大学 用于容错系统的处理器瞬时故障检测方法
EP2595059A1 (en) * 2011-11-18 2013-05-22 IHP GmbH-Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Test processor for asynchronous chip test
CN106469099A (zh) * 2015-08-14 2017-03-01 英飞凌科技股份有限公司 在应用wom码的情况下的错误纠正

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0018736A1 (en) * 1979-05-01 1980-11-12 Motorola, Inc. Self-testing microcomputer and method of testing
EP0062431A1 (en) * 1981-03-20 1982-10-13 Fujitsu Limited A one chip microcomputer
JPH05120052A (ja) * 1991-10-30 1993-05-18 Mitsubishi Electric Corp セルフテスト機能付マイクロプロセツサ
US6591389B1 (en) * 1999-01-29 2003-07-08 Lucent Technologies Inc. Testing system for circuit board self-test
CN1269546A (zh) * 1999-04-05 2000-10-11 株式会社日立制作所 具有内置自检功能的处理器
TWI221614B (en) * 2000-07-31 2004-10-01 Hitachi Ltd Tester architecture construction data generating method, tester architecture constructing method and test circuit
JP2003044314A (ja) * 2001-07-26 2003-02-14 Nec Corp 演算装置、中央処理装置、情報処理装置
CN1474279A (zh) * 2001-08-08 2004-02-11 ��ʽ���綫֥ 微处理器
CN101944047A (zh) * 2009-07-07 2011-01-12 富士通株式会社 作业分配装置和作业分配方法
EP2595059A1 (en) * 2011-11-18 2013-05-22 IHP GmbH-Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Test processor for asynchronous chip test
CN103092714A (zh) * 2012-12-31 2013-05-08 哈尔滨工业大学 用于容错系统的处理器瞬时故障检测方法
CN106469099A (zh) * 2015-08-14 2017-03-01 英飞凌科技股份有限公司 在应用wom码的情况下的错误纠正

Also Published As

Publication number Publication date
CN112416665A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
KR102374380B1 (ko) 인공지능 칩 테스트 방법, 장치, 기기 및 저장매체
US7698594B2 (en) Reconfigurable processor and reconfiguration method executed by the reconfigurable processor
US9722859B2 (en) Evaluation of field replaceable unit dependencies and connections
KR101773490B1 (ko) 데이터-의존 회로 경로 응답들을 이용하는 고유하고 복제불가한 플랫폼 식별자들
JP5544878B2 (ja) 故障制御装置、プロセッサコア、演算処理装置、情報処理装置および擬似故障制御方法
CN110520850B (zh) 等效性验证装置和计算机能读取的存储介质
CN107506509B (zh) 应用逻辑及其验证方法和构成方法
CN112416665B (zh) 检测处理器运行状态的装置和方法
JP7299423B2 (ja) テスト回路
EP0482495B1 (en) Finite-state machine for reliable computing and adjustment systems
US20220147097A1 (en) Synchronization signal generating circuit, chip and synchronization method and device, based on multi-core architecture
KR102603835B1 (ko) 프로세서 시스템의 프로그램 카운터 구조를 보호하고 인터럽트 요청의 처리를 모니터링하기 위한 방법 및 장치
CN215180689U (zh) 测试电路和包括测试电路的计算系统
WO2014042190A1 (ja) プログラマブルロジックデバイス及びその検証方法
US9325520B2 (en) System and method for an asynchronous processor with scheduled token passing
JP4900680B2 (ja) 半導体メモリ試験装置
JP2011154459A (ja) コンピュータシステムのプログラム異常動作検出装置
KR20140028491A (ko) 반도체 장치
EP3367242B1 (en) Method of error detection in a microcontroller unit
JP5298823B2 (ja) アラーム処理回路及びアラーム処理方法
JP6710142B2 (ja) 制御システム
JP2012248022A (ja) 情報処理装置、故障検出装置、故障検出方法
CN110795300B (zh) 一种中断监视器及片上系统
US20230333950A1 (en) Random instruction-side stressing in post-silicon validation
CN110795384B (zh) 一种高效识别文件与地址数据的微处理器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant