CN109388516A - 具有非侵入式自测试的处理器 - Google Patents

具有非侵入式自测试的处理器 Download PDF

Info

Publication number
CN109388516A
CN109388516A CN201810862842.6A CN201810862842A CN109388516A CN 109388516 A CN109388516 A CN 109388516A CN 201810862842 A CN201810862842 A CN 201810862842A CN 109388516 A CN109388516 A CN 109388516A
Authority
CN
China
Prior art keywords
value
processor
crc
cpu
diagnostic
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.)
Pending
Application number
CN201810862842.6A
Other languages
English (en)
Inventor
V·纳塔拉詹
K·拉贾玛卡姆
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of CN109388516A publication Critical patent/CN109388516A/zh
Pending legal-status Critical Current

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/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Advance Control (AREA)

Abstract

本申请案涉及一种具有非侵入式自测试的处理器。一种处理器(100)包含中央处理单元CPU(102)和诊断监测电路(112)。所述诊断监测电路(112)耦合到所述CPU(102)。所述诊断监测电路(112)包含监测和循环冗余检查CRC计算单元(106)。所述监测和CRC计算单元(106)被配置成检测所述CPU(102)对诊断程序的执行,以及计算多个CRC值。在所述CPU(102)执行所述诊断程序时,所述CRC值中的每一个对应于从所述CPU(102)的给定寄存器或从将所述CPU(102)耦合到存储器和外围子系统(108)的总线检索的处理器值。

Description

具有非侵入式自测试的处理器
相关申请案
本申请案主张2017年8月3日提交的印度临时申请案第201741027612号的优先权,所述临时申请案以引用的方式并入本文中。
技术领域
本申请案涉及一种具有非侵入式自测试的处理器。
背景技术
微处理器、微控制器和类似电子装置用于各种应用中。各种状况和事件可致使此类装置失效,从而不利地影响装置操作。当发生失效的装置正在执行影响用户安全的关键任务的过程时,此类失效的后果通常是会造成更显著影响。为确保此类应用正确操作,连续评估装置的操作条件。所述装置可包含支持操作连续评估的自测试特征。
发明内容
本文中公开用于监测处理器操作的设备和方法。在一个实例中,一种处理器包含中央处理单元(CPU)和诊断监测电路。所述诊断监测电路耦合到CPU。所述诊断监测电路包含监测和循环冗余检查(CRC)计算单元。所述监测和CRC计算单元被配置成检测所述CPU对诊断程序的执行,以及计算多个CRC值。在所述CPU执行诊断程序时,CRC值中的每一个对应于从所述CPU的给定寄存器或从将所述CPU耦合到存储器和外围子系统的总线检索的处理器值。CRC值中的每一个对应于CPU的各个方面,例如寄存器、存储器总线或在诊断程序的执行期间的内部状态。
在另一实例中,处理器诊断电路包含诊断监测电路。所述诊断监测电路包含监测和循环冗余检查(CRC)计算单元。所述监测和CRC计算单元被配置成检测中央处理单元(CPU)对诊断程序的执行,以及计算多个CRC值。在所述CPU执行诊断程序时,CRC值中的每一个对应于从所述CPU的给定寄存器或从将所述CPU耦合到存储器和外围子系统的总线检索的处理器值。CRC值中的每一个对应于CPU的各个方面,例如寄存器、存储器总线或在诊断程序的执行期间的内部状态。
在另一实例中,用于监测处理器健康状态的方法包含通过处理器在不连续处理器空闲时间间隔期间执行诊断程序的指令。所述方法还包含通过诊断监测电路检测所述不连续空闲时间间隔中的所述诊断程序的执行。所述方法另外包含计算多个循环冗余检查CRC值,在所述处理器的中央处理单元(CPU)执行所述诊断程序时,CRC值中的每一个对应于从所述CPU的给定寄存器检索的处理器值。
附图说明
为了详细描述各种实例,现在参考随附图式,在随附图式中:
图1示出根据各种实例的包含非侵入式自测试的处理器的框图;
图2示出根据各种实例的用于非侵入式自测试的监测和循环冗余检查计算单元的框图;
图3示出根据各种实例的包含非侵入式自测试的处理器中的自测试执行时间序列的实例;
图4示出根据各种实例的用于非侵入式自测试的流水线抽取单元的框图;
图5示出根据各种实例的用于执行非侵入式自测试的方法的流程图;和
图6示出根据各种实例的用于非侵入式自测试的方法的流程图。
具体实施方式
在整个以下描述和权利要求中使用某些术语来指代特定系统组件。如所属领域的技术人员将了解,不同当事人可用不同名称来指代组件。本文并不意欲对名称不同而非功能不同的组件进行区分。在以下讨论中并且在权利要求书中,术语“包括”和“包含”以一种开放式方式使用,并且因此应解释为意指“包括(但不限于)……”。同样,术语“耦合”意欲表示间接或直接的有线或无线连接。因此,如果第一装置耦合到第二装置,那么所述连接可能是通过直接连接,或通过经由其它装置和连接的间接连接。叙述“基于”意指“至少部分基于”。因此,如果X是基于Y,那么X可随Y和任何数目个其它因数变化而变化。
定期自测试在多种应用(例如,一些嵌入式实时应用、任务关键应用等)中是重要的或所需的。然而,用于自测试的常规技术可为侵入式或效率低下。举例来说,硬件内置式自测试(BIST)是侵入式的,因为当正在执行硬件BIST时,正被测试的中央处理单元(CPU)不可用以执行用户应用。替代地,仅基于软件的自测试也是效率低下的,因为必须执行大量指令以提供足够故障覆盖率。
本公开的实例处理器包含非侵入式高效自测试。自测试可完全中断以提供嵌入式实时系统所需的快速响应时间。在一些实例中,可仅在CPU空闲时间期间执行自测试编程,因此应用程序时序通常不受自测试影响。所公开的处理器可包含从CPU、处理器总线、外围装置等检索寄存器和状态值的电路。在自测试程序执行期间,每一给定类型的检索值输入到循环冗余检查(CRC)电路,所述电路计算在自测试长度内的针对给定类型的检索值的CRC值。在完成自测试程序执行时,用自测试程序将CRC值与存储的预定正确CRC值进行比较,以确定CPU和关联系统是否正确地操作。
图1示出根据各种实例的包含非侵入式自测试的处理器100的框图。处理器100可为通用微处理器、微控制器、数字信号处理器或其它指令执行装置。处理器100包含中央处理单元(CPU)102、存储器和外围子系统108,以及诊断监测电路112。CPU 102包含执行从存储器检索的指令的电路。举例来说,CPU 102可包含执行流水线,其包含提取单元、解码单元和执行单元。CPU 102的一些实例可包含额外功能单元,例如数据和/或指令高速缓存器、分支预测电路等。提取单元从指令存储器检索指令,以供处理器100执行。指令存储器可包含在处理器100中,或在处理器100外部。提取单元提供检索的指令给解码单元。
解码单元检验从提取单元接收的指令,并且将每一指令转译成适用于操作执行单元、处理器寄存器和处理器的其它组件以执行实现所述指令的操作的控制。解码单元提供控制信号给执行单元和处理器100的其它单元,致使处理器100进行执行每一指令所需的操作。
执行单元包含算术电路、移位器、倍增器、寄存器、逻辑运算电路等,其被布置成操控由解码单元产生的控制信号规定的数据值。处理器100的一些实施方案可包含多个执行单元,其包含相同或不同数据操纵能力。
存储器和外围子系统108包含结合CPU 102操作的各种电路。举例来说,存储器和外围子系统108可包含用于存储程序和数据的存储器、通信电路、中断控制电路、计时器电路、直接存储器存取控制电路,以及/或提供服务到CPU 102的各种其它电路。存储器和外围子系统108经由一或多个总线114以通信方式连接到CPU 102。
诊断监测电路112监测CPU 102和/或存储器和外围子系统108的操作,以确定处理器100是否正在正确地操作。诊断监测电路112耦合到CPU 102、存储器和外围子系统108和/或一或多个总线114,所述总线用于将关于CPU 102和/或存储器和外围子系统108的操作状态的信息传送到诊断监测电路112。诊断监测电路112包含流水线抽取单元104、监测和CRC计算单元106以及监控电路110。
流水线抽取单元104耦合到CPU 102。流水线抽取单元104从CPU 102检索原本不可用于CPU 102外部的电路的信息。举例来说,流水线抽取单元104可从CPU 102获取指令寄存器内容、流水线状态信息、程序计数器值,以及/或在CPU 102内部产生的其它信息。流水线抽取单元104可组合从CPU 102检索的一些信息,使得可减小提供给监测和CRC计算单元106的信息量。举例来说,流水线抽取单元104可同时从CPU 102获取多个不同值并且使用异或函数组合多个值。多个值的异或可提供给监测和CRC计算单元106。
监测和CRC计算单元106耦合到流水线抽取单元104、存储器和外围子系统108以及一或多个总线114。监测和CRC计算单元106捕获流水线抽取单元104、存储器和外围子系统108以及一或多个总线114提供的信息并且计算在处理器100执行自测试程序(在本文中也称为诊断程序)时所捕获的每一不同类型的信息的CRC值。举例来说,监测和CRC计算单元106可使用在自测试程序执行期间检索的程序计数器值计算第一CRC值,使用在自测试程序执行期间检索的指令寄存器值计算第二CRC值等。
监测和CRC计算单元106分析从流水线抽取单元104、存储器和外围子系统108以及一或多个总线114接收的信息,以确定是否使用所接收的信息更新CRC值。因为基于自测试程序的执行更新CRC值,所以监测和CRC计算单元106的一些实施方案检验程序计数器值,以确定自测试程序是否正在执行。举例来说,自测试程序所存储在的地址值的范围可预编程到监测和CRC计算单元106中。如果程序计数器地址值处于地址值的范围,那么监测和CRC计算单元106可使用从流水线抽取单元104、存储器和外围子系统108以及一或多个总线114检索的信息更新CRC值。
当自测试程序的执行完成时,可将监测和CRC计算单元106计算的CRC值与预定正确CRC值进行比较,以确定处理器100是通过还是未通过自测试。举例来说,预定期望CRC值可存储为自测试程序的部分,且计算的CRC值与预定正确CRC值的比较可由CPU 102执行为自测试程序执行的部分,或由监测和CRC计算单元106执行。可存储自测试的结果以用于进一步处理和/或提供给用户。
监控电路110监测自测试,以确保自测试程序的执行是根据所建立的规范。举例来说,如果所建立的规范提供自测试程序应以预定时间间隔执行至少一第一量的时间,那么监控电路110可以预定时间间隔测量自测试的执行时间,并且调整处理器100的操作参数,以基于所测量的执行时间改变自程序的执行时间。调整可包含在用户程序抢先时强制执行用于自测试程序的最小执行时间。
图2示出根据各种实例的监测和CRC计算单元106的框图。监测和CRC计算单元106包含CRC计算电路202、CRC控制电路204和CRC寄存器206。CRC寄存器206包含用于监测和CRC计算单元106计算的多个CRC值中的每一个的寄存器208。举例来说,CRC寄存器206可包含用于存储写入数据CRC值、写入地址CRC值、读取数据CRC值、读取地址CRC值、指令寄存器CRC值、程序计数器CRC值和内部节点CRC值中的每一个的寄存器208。提供于每一CRC寄存器208中的位数可在不同实施方案中为不同的。在一些实施方案中,CRC寄存器208可存储32位CRC值。
CRC计算电路202耦合到CRC寄存器206、流水线抽取单元104、存储器和外围子系统108以及/或总线114。CRC计算电路202包含评估相对于CRC寄存器208的当前值和从流水线抽取单元104、存储器和外围子系统108以及/或总线114接收的新信息值的CRC多项式的电路。因此,CRC计算电路202从CRC寄存器206检索值,基于从CRC寄存器检索的值和新信息值而计算CRC值,并且将多项式评估的结果存储于CRC寄存器206中。CRC计算电路202的一些实施方案可包含用于每一CRC寄存器208的单独CRC评估电路。
CRC控制电路204检验从流水线抽取单元104、存储器和外围子系统108以及/或总线114接收的信息,以确定自测试是否正在执行,并且应基于从流水线抽取单元104、存储器和外围子系统108以及/或总线114接收的信息,更新存储在CRC寄存器206中的CRC值。举例来说,CRC控制电路204可存储定义自测试程序存储在的地址值的范围的信息。如果从流水线抽取单元104接收的程序计数器地址值处于所述距离内,那么CRC控制电路204可确定自测试正在执行,并且又可选择对应于待更新的所接收的信息的CRC寄存器208,并且使得CRC计算电路202能够更新存储在选定CRC寄存器208中的CRC值。
图3示出根据各种实例的处理器100中的自测试执行。在处理器100的实施方案中,自测试程序的执行与用户程序的执行穿插进行。在图3中,自测试304的执行于用户任务302的执行穿插进行。举例来说,处理器100可仅当不准备执行用户任务302时执行自测试304。也就是说,处理器100可仅当CPU 102空闲时(即,CPU空闲时间)执行自测试304。因此,自测试304的执行不干扰用户任务302的执行时序。因为自测试304的执行自始至终是在任何数目个不连续执行时间间隔内执行,所以监测和CRC计算单元106识别自测试程序的执行。监测和CRC计算单元106在自测试程序的整个不连续执行内启用CRC寄存器206的更新,并且在用户任务302正在执行的情况下禁止CRC寄存器206的更新。
图4示出根据各种实例的流水线抽取单元104的框图。如图1所示,流水线抽取单元104与CPU 102介接。在图4中,流水线节点402、404、406、408和410可为寄存器或CPU 102中的其它电路的输出。流水线抽取单元104将从流水线节点检索的一些信息在无修改的情况下传送到监测和CRC计算单元106。因此,流水线抽取单元104为监测和CRC计算单元106提供对在CPU 102中产生的信息的直接存取。在图4中,从流水线节点410检索的信息无修改地传送到监测和CRC计算单元106作为原始输出416。流水线抽取单元104的实施方案可无修改地传送从CPU 102的任何数目个流水线节点检索的信息。
流水线抽取单元104还可包含处理或组合从CPU 102的一些流水线节点检索的信息的电路。通过组合从CPU 102的多个流水线节点检索的信息,流水线抽取单元104减少提供给监测和CRC计算单元106的不同数据值的数目,这又减少监测和CRC计算单元106维持的CRC值的数目。在图4的实例中,流水线抽取单元104包含异或电路412。异或电路412组合从流水线节点402、404、406和408检索的信息,以产生提供给监测和CRC计算单元106的复合输出414。流水线抽取单元104的实施方案可组合从CPU 102的任何数目个流水线节点检索的信息,以产生复合输出,且实施方案可产生组合CPU 102的不同流水线节点的任何数目个不同复合输出。
图5示出根据各种实例的用于执行非侵入式自测试的方法的流程图。尽管为了方便起见依序描绘,但是所示出的至少一些动作可以不同次序执行和/或并行地执行。另外,一些实施方案可仅执行所示动作中的一些。方法500的操作中的至少一些可由处理器100实施。
在框502中,处理器100执行从程序存储装置检索的指令(即,从存储器检索的指令)。监测和CRC计算单元106从流水线抽取单元、存储器和外围子系统108以及/或总线114接收信息。如果正执行的指令是用户程序(即,用户任务302)的部分,那么对程序执行的监测继续框502。
另一方面,如果在框502中无用户程序正在执行(即,无用户程序准备执行),那么在框504中,处理器100开始或重新开始自测试程序(即,自测试304)的指令的执行。
在框506中,处理器100执行在框504中开始的自测试程序。处理器100确定用户程序是否准备执行。如果无用户程序准备执行,那么处理器100继续执行自测试程序。
如果在框506中用户程序准备执行,那么在框508中,处理器100暂停自测试程序的执行并且开始/重新开始用户程序的执行。
因此,处理器100仅在无用户程序执行或准备执行的情况下执行自测试程序。以此方式,处理器100的实施方案提供对于用户程序的时序或功能性为非侵入式的自测试。
图6示出根据各种实例的用于非侵入式自测试的方法的流程图。尽管为了方便起见依序描绘,但是所示出的至少一些动作可以不同次序执行和/或并行地执行。另外,一些实施方案可仅执行所示动作中的一些。方法600的操作中的至少一些可由处理器100实施。
在框602中,处理器100执行从程序存储装置检索的指令(即,从存储器检索的指令)。流水线抽取单元104从CPU 102检索各种信息值。所述信息值可包含程序计数器值、指令值、读取地址值、读取数据值、写入地址值和/或写入数据值,以及/或提供于CPU 102的寄存器中和/或存在于CPU 102的流水线节点中的各种状态/数据值。
在框604中,流水线抽取单元104组合从CPU 102检索的信息值中的一些,以减少提供给监测和CRC计算单元106的值的数目。流水线抽取单元104的一些实施方案可应用异或函数,以产生从CPU 102检索的多个值的复合值。
在框606中,监测和CRC计算单元106评估从流水线执行单元104、存储器和外围子系统108和/或总线114接收的信息,以确定CPU 102当前是否正在执行自测试(即,自测试304)。举例来说,监测和CRC计算单元106可将经由流水线抽取单元104接收的执行指令的地址与存储自测试程序的地址范围进行比较,以确定自测试是否正在执行。如果自测试不正在执行,那么方法继续从CPU 102检索额外信息的框602。
如果在框606中,监测和CRC计算单元106确定自测试正在执行,那么在框608中,监测和CRC计算单元106计算从流水线抽取单元104、存储器和外围子系统108和/或总线114接收的多个信息值中的每一个的CRC值。计算CRC值可包含从存储装置(例如,寄存器208)检索当前CRC值,并且将当前CRC值和从流水线抽取单元104、存储器和外围子系统108和/或总线114接收的新信息值应用于预定多项式。
在框610中,处理器100确定自测试执行是否完成。举例来说,自测试的执行可包含设置指定自测试完成的状态值。在各种实施方案中自测试完成的确定可由监控电路110、CPU 102、监测和CRC计算单元106或处理器100的其它组件进行。如果自测试完成,那么在框616中,处理器100确定自测试失败还是通过。处理器100可将监测和CRC计算单元106在自测试执行期间计算的CRC值与预定正确CRC值进行比较。举例来说,对于监测和CRC计算单元106计算的每一CRC值,预定正确CRC值可存储在存储器中(例如,作为自测试程序的部分)。如果监测和CRC计算单元106在自测试执行期间计算的CRC值等于预定正确CRC值,那么处理器100在框618中认为通过的自测试。另一方面,如果监测和CRC计算单元106在自测试执行期间计算的CRC值不等于预定正确CRC值,那么处理器100在框620中认为自测试失败。
如果在框610中,处理器100确定自测试的执行未完成,那么在框612中,监控电路110确定执行自测试的时间量是否最小。最小时间量可至少是在给定时间间隔内的预定测试执行时间(例如,每秒中有10毫秒)。如果用于自测试执行的时间为低(例如,用户任务的执行时间允许太少用于自测试执行的时间),那么在框614中,监控电路110调整处理器100的操作,以确保自测试执行至少最小执行时间。举例来说,监控电路110可禁止用户任务抢先自测试达所选择的至少一时间,所述时间为自测试提供所需的最小执行时间。
以上论述意在说明本发明的原理和各种实例。对于所属领域的技术人员来说,一旦完全了解以上公开内容,则许多变体和修改将变得显而易见。旨在将所附权利要求书解释为包涵所有此类变体和修改。

Claims (20)

1.一种处理器,其包括:
中央处理单元CPU;和
诊断监测电路,其耦合到所述CPU,所述诊断监测电路包括:
监测和循环冗余检查CRC计算单元,其被配置成:
检测所述CPU对诊断程序的执行;和
计算多个CRC值,其中在所述CPU执行所述诊断程序时,所述CRC值中的每一个随从所述CPU的给定寄存器或从将所述CPU耦合到存储器和外围子系统的总线检索的处理器值而变。
2.根据权利要求1所述的处理器,其中所述CPU被配置成仅在CPU空闲时间期间执行所述诊断程序。
3.根据权利要求1所述的处理器,其中所述诊断监测电路另外包括流水线抽取单元,其被配置成:
从所述CPU的寄存器检索处理器值,并且将所述处理器值提供给所述监测和CRC计算单元,以供在CRC计算时使用;和
将从所述CPU检索的多个处理器值组合成单个值,并且将所述单个值提供给所述监测和CRC计算单元,以供在CRC计算时使用。
4.根据权利要求3所述的处理器,其中所述流水线抽取单元被配置成通过将异或函数应用于所述处理器值,将所述处理器值组合成所述单个值。
5.根据权利要求1所述的处理器,其中所述处理器值包括:
程序计数器值;
指令值;
读取地址值;
读取数据值;
写入地址值;和
写入数据值。
6.根据权利要求1所述的处理器,其中所述监测和CRC计算单元被配置成:
识别所述诊断程序的执行的完成;和
响应于所述完成,将所述CRC值中的每一个与预定CRC值进行比较。
7.根据权利要求1所述的处理器,其中所述诊断监测电路另外包括监控电路,其被配置成:
监测所述诊断程序的执行;和
基于所述诊断程序在预定时间间隔内执行的时间段小于最小预定诊断执行时间,增加分配给所述诊断程序的执行的时间。
8.根据权利要求1所述的处理器,其中所述监测和CRC计算单元被配置成计算在所述诊断程序的多个不连续执行时间间隔内的所述CRC值中的每一个。
9.一种处理器诊断电路,其包括:
诊断监测电路,其包括:
监测和循环冗余检查CRC计算单元,其被配置成:
检测中央处理单元CPU对诊断程序的执行;和
计算多个CRC值,其中在所述CPU执行所述诊断程序时,所述CRC值中的每一个随从所述CPU的给定寄存器或从将所述CPU耦合到存储器和外围子系统的总线检索的处理器值而变。
10.根据权利要求9所述的处理器诊断电路,其中所述诊断监测电路另外包括流水线抽取单元,其被配置成:
从所述CPU的寄存器检索处理器值,并且将所述处理器值提供给所述诊断监测电路,以供在CRC计算时使用;和
将从所述CPU检索的多个处理器值组合成单个值,并且将所述单个值提供给所述诊断监测电路,以供在CRC计算时使用。
11.根据权利要求10所述的处理器诊断电路,其中所述流水线抽取单元被配置成通过将异或函数应用于所述处理器值,将所述处理器值组合成所述单个值。
12.根据权利要求9所述的处理器诊断电路,其中所述处理器值包括:
程序计数器值;
指令值;
读取地址值;
读取数据值;
写入地址值;和
写入数据值。
13.根据权利要求9所述的处理器诊断电路,其中所述监测和CRC计算单元被配置成:
识别所述诊断程序的执行的完成;和
响应于所述完成,将所述CRC值中的每一个与对应的预定CRC值进行比较。
14.根据权利要求9所述的处理器诊断电路,其另外包括监控电路,其被配置成:
监测所述诊断程序的执行;和
基于所述诊断程序在预定时间间隔内执行的时间段小于最小预定诊断执行时间,增加分配给所述诊断程序的执行的时间。
15.根据权利要求9所述的处理器诊断电路,其中所述监测和CRC计算单元被配置成计算在所述诊断程序的多个不连续执行时间间隔内的所述CRC值中的每一个。
16.一种用于监测处理器操作的方法,其包括:
通过处理器在不连续处理器空闲时间间隔期间执行诊断程序的指令;
通过诊断监测电路检测所述不连续空闲时间间隔中的所述诊断程序的执行;和
计算多个循环冗余检查CRC值,在所述处理器的中央处理单元CPU执行所述诊断程序时,所计算的CRC值中的每一个随从所述CPU的给定寄存器检索的处理器值而变。
17.根据权利要求16所述的方法,其另外包括:
从所述CPU的寄存器检索处理器值,并且将所述处理器值提供给所述诊断监测电路,以供在CRC计算时使用;和
将从所述CPU检索的多个处理器值组合成单个值,并且将所述单个值提供给所述诊断监测电路,以供在CRC计算时使用。
18.根据权利要求17所述的方法,其另外包括将异或函数应用于所述处理器值以执行所述组合。
19.根据权利要求17所述的方法,其另外包括:
识别所述诊断程序的执行的完成;和
响应于所述完成,将所述CRC值中的每一个与预定CRC值进行比较。
20.根据权利要求17所述的方法,其另外包括:
监测所述诊断程序的执行;和
基于所述诊断程序在预定时间间隔内执行的时间段小于最小预定诊断执行时间,增加分配给所述诊断程序的执行的时间。
CN201810862842.6A 2017-08-03 2018-08-01 具有非侵入式自测试的处理器 Pending CN109388516A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN201741027612 2017-08-03
IN201741027612 2017-08-03
US15/841,442 US10817395B2 (en) 2017-08-03 2017-12-14 Processor with non-intrusive self-testing
US15/841,442 2017-12-14

Publications (1)

Publication Number Publication Date
CN109388516A true CN109388516A (zh) 2019-02-26

Family

ID=65231046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810862842.6A Pending CN109388516A (zh) 2017-08-03 2018-08-01 具有非侵入式自测试的处理器

Country Status (2)

Country Link
US (2) US10817395B2 (zh)
CN (1) CN109388516A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817395B2 (en) * 2017-08-03 2020-10-27 Texas Instruments Incorporated Processor with non-intrusive self-testing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4608691A (en) * 1984-03-19 1986-08-26 The Singer Company Signature analyzer card
US20050283566A1 (en) * 2003-09-29 2005-12-22 Rockwell Automation Technologies, Inc. Self testing and securing ram system and method
US20090024877A1 (en) * 2007-07-18 2009-01-22 Shubhodeep Roy Choudhury System and Method for Creating Different Start Cache and Bus States Using Multiple Test Patterns for Processor Design Verification and Validation
CN103282892A (zh) * 2011-02-18 2013-09-04 三菱电机株式会社 存储器诊断装置、存储器诊断方法以及程序
US20170133106A1 (en) * 2015-11-09 2017-05-11 Texas Instruments Incorporated Background memory test apparatus and methods

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082552B2 (en) * 2000-02-08 2006-07-25 Mips Tech Inc Functional validation of a packet management unit
US7085980B2 (en) * 2002-05-02 2006-08-01 International Business Machines Corporation Method and apparatus for determining the failing operation of a device-under-test
US20080065943A1 (en) * 2006-09-13 2008-03-13 Louis Botha Method and system for using data from a failed CRC block to determine retransmission of data packets
US7647539B2 (en) * 2007-07-18 2010-01-12 International Business Machines Corporation System and method of testing using test pattern re-execution in varying timing scenarios for processor design verification and validation
US8140901B2 (en) * 2009-11-30 2012-03-20 International Business Machines Corporation Validation of processors using a self-generating test case framework
US8572449B1 (en) * 2010-12-20 2013-10-29 Qualcomm Incorporated Integrated functional testing mechanism for integrated circuits
US20140184616A1 (en) * 2012-12-28 2014-07-03 Nvidia Corporation System, method, and computer program product for identifying a faulty processing unit
US9575681B1 (en) * 2016-04-29 2017-02-21 International Business Machines Corporation Data deduplication with reduced hash computations
US10817395B2 (en) * 2017-08-03 2020-10-27 Texas Instruments Incorporated Processor with non-intrusive self-testing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4608691A (en) * 1984-03-19 1986-08-26 The Singer Company Signature analyzer card
US20050283566A1 (en) * 2003-09-29 2005-12-22 Rockwell Automation Technologies, Inc. Self testing and securing ram system and method
US20090024877A1 (en) * 2007-07-18 2009-01-22 Shubhodeep Roy Choudhury System and Method for Creating Different Start Cache and Bus States Using Multiple Test Patterns for Processor Design Verification and Validation
CN103282892A (zh) * 2011-02-18 2013-09-04 三菱电机株式会社 存储器诊断装置、存储器诊断方法以及程序
US20170133106A1 (en) * 2015-11-09 2017-05-11 Texas Instruments Incorporated Background memory test apparatus and methods

Also Published As

Publication number Publication date
US11656964B2 (en) 2023-05-23
US20190042381A1 (en) 2019-02-07
US10817395B2 (en) 2020-10-27
US20210004306A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
US10761921B2 (en) Automatic root cause analysis using ternary fault scenario representation
CN106326067B (zh) 一种在压力测试下对cpu性能进行监控的方法及装置
CN108388489B (zh) 一种服务器故障诊断方法、系统、设备及存储介质
CN109976935A (zh) 微服务架构、微服务节点及其熔断恢复方法、装置
US20170177461A1 (en) Dynamically identifying performance anti-patterns
CN105516321B (zh) 一种数据采集方法和装置
US8560988B2 (en) Apparatus and method thereof for hybrid timing exception verification of an integrated circuit design
CN104598341B (zh) 用于确定在互连/控制器之间的故障的位置的方法和系统
US20120096314A1 (en) Dynamic detection and identification of the functional state of multi-processor cores
BR112013004233B1 (pt) Circuito integrado incluindo um analisador de lógica programável configurável para análise e depuração
CN106537351B (zh) 用于诊断无线通信设备中的电源故障的方法
CN109117298A (zh) 一种硬件故障修复方法、装置及设备
US8812826B2 (en) Processor testing
CN109388516A (zh) 具有非侵入式自测试的处理器
US20070124112A1 (en) Method and computer program for determining performance of a computer system
US20100174947A1 (en) Damaged software system detection
US8661293B2 (en) Test architecture based on intelligent test sequence
Janckulık et al. Personal Telemetric System–Guardian
CN101681287A (zh) 处理器动作检查系统及动作检查电路
CN111159051A (zh) 死锁检测方法、装置、电子设备及可读存储介质
CN108628637B (zh) 用于处理数据的装置和方法
CN116090388A (zh) 芯片内部电压预测模型生成方法、预测方法及相关装置
US8856755B2 (en) Dominant-state-based coverage metric
CN115248627A (zh) 存储有限状态机状态数据的方法、系统及计算机程序产品
US20070279260A1 (en) Apparatus and method for performing defect diagnosis of field device

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