具有非侵入式自测试的处理器制造技术

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

Processors with Non-intrusive Self-Testing

This application relates to a processor with non-intrusive self-test. A processor (100) comprises a central processing unit CPU (102) and a diagnostic monitoring circuit (112). The diagnostic monitoring circuit (112) is coupled to the CPU (102). The diagnostic monitoring circuit (112) includes a CRC computing unit (106) for monitoring and cyclic redundancy checking. The monitoring and CRC computing unit (106) is configured to detect the execution of the diagnostic program by the CPU (102) and to calculate multiple CRC values. When the CPU (102) executes the diagnostic program, each of the CRC values corresponds to a processor value retrieved from a given register of the CPU (102) or from a bus that couples the CPU (102) to a memory and peripheral subsystem (108).

【技术实现步骤摘要】
具有非侵入式自测试的处理器相关申请案本申请案主张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。CPU102包含执行从存储器检索的指令的电路。举例来说,CPU102可包含执行流水线,其包含提取单元、解码单元和执行单元。CPU102的一些实例可包含额外功能单元,例如数据和/或指令高速缓存器、分支预测电路等。提取单元从指令存储器检索指令,以供处理器100执行。指令存储器可包含在处理器100中,或在处理器100外部。提取单元提供检索的指令给解码单元。解码单元检验从提取单元接收的指令,并且将每一指令转译成适用于操作执行单元、处理器寄存器和处理器的其它组件以执行实现所述指令的操作的控制。解码单元提供控制信号给执行单元和处理器100的其它单元,致使处理器100进行执行每一指令所需的操作。执行单元包含算术电路、移位器、倍增器、寄存器、逻辑运算电路等,其被布置成操控由解码单元产生的控制信号规定的数据值。处理器100的一些实施方案可包含多个执行单元,其包含相同或不同数据操纵能力。存储器和外围子系统108包含结合CPU102操作的各种电路。举例来说,存储器和外围子系统108可包含用于存储程序和数据的存储器、通信电路、中断控制电路、计时器电路、直接存储器存取控制电路,以及/或提供服务到CPU102的各种其它电路。存储器和外围子系统108经由一或多个总线114以通信方式连接到CPU102。诊断监测电路112监测CPU102和/或存储器和外围子系统108的操作,以确定处理器100是否正在正确地操作。诊断监测电路112耦合到CPU102、存储器和外围子系统108和/或一或多个总线114,所述总线用于将关于CPU102和/或存储器和外围子系统108的操作状态的信息传送到诊断监测电路112。诊断监测电路112包含流水线抽取单元104、监测和CRC计算单元106以及监控电路110。流水线抽取单元104耦合到CPU102。流水线抽取单元104从CPU102检索原本不可用于CPU102外部的电路的信息。举例来说,流水线抽取单元104可从CPU102获取指令寄存器内容、流水线状态信息、程序计数器值,以及/或在CPU102内部产生的其它信息。流水线抽取单元104可组合从CPU102检索的一些信息,使得可减小提供给监测和CRC计算单元106的信息量。举例来说,流水线抽取单元104可同时从CPU102获取多个不同值并且使用异或函数组合多个值。多个值的异或可提供给监测和CRC计算单元106。监测和CRC计算单元106耦合到流水线抽取单元104、存储器和外围子本文档来自技高网...

【技术保护点】
1.一种处理器,其包括:中央处理单元CPU;和诊断监测电路,其耦合到所述CPU,所述诊断监测电路包括:监测和循环冗余检查CRC计算单元,其被配置成:检测所述CPU对诊断程序的执行;和计算多个CRC值,其中在所述CPU执行所述诊断程序时,所述CRC值中的每一个随从所述CPU的给定寄存器或从将所述CPU耦合到存储器和外围子系统的总线检索的处理器值而变。

【技术特征摘要】
2017.08.03 IN 201741027612;2017.12.14 US 15/841,441.一种处理器,其包括:中央处理单元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所述的处理器诊断...

【专利技术属性】
技术研发人员:V·纳塔拉詹K·拉贾玛卡姆
申请(专利权)人:德州仪器公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1