CN113168366A - 片上系统中的故障检测间隔内的硬件锁步检查 - Google Patents

片上系统中的故障检测间隔内的硬件锁步检查 Download PDF

Info

Publication number
CN113168366A
CN113168366A CN201980043425.1A CN201980043425A CN113168366A CN 113168366 A CN113168366 A CN 113168366A CN 201980043425 A CN201980043425 A CN 201980043425A CN 113168366 A CN113168366 A CN 113168366A
Authority
CN
China
Prior art keywords
core
checker
data
lockstep
bit
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
CN201980043425.1A
Other languages
English (en)
Inventor
U·桑托尼
R·帕尔
P·亚伯拉罕
M·马米迪帕卡
C·桑托什
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN113168366A publication Critical patent/CN113168366A/zh
Pending legal-status Critical Current

Links

Images

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/273Tester hardware, i.e. output processing circuits
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1695Error detection or correction of the data by redundancy in hardware which are operating with time diversity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种检查两个或更多个数据行中的冗余的方法,该方法包括:在第一数据行上接收数据;计算第一数据行的数据上的第一循环冗余检查(CRC)值;用存储的存储器值对第一CRC值执行异或(XOR)函数;以及用XOR函数的结果更新该存储的存储器值;以及在附加的数据行上重复直到最后一行被处理,使得如果最终存储的存储器值不是零则指示错误。一种用于检查两个核正在以锁步方式操作的装置包括:第一核,包括第一数据检查器;第二核,包括第二数据检查器;以及锁步检查器,用于将第一数据检查器的输出与第二数据检查器的输出进行比较。

Description

片上系统中的故障检测间隔内的硬件锁步检查
技术领域
本公开总体上涉及电子学领域。更具体地,实施例涉及片上系统(SoC)设备和系统。
背景技术
片上系统(SoC)设备可以具有两个或更多个核,该两个或更多个核用于其中利用硬件的冗余和数据流的应用。在这种冗余系统中,事务被重复,其中一次读取包括两个读取操作并且一次写入包括两个写入操作,并且使用两个高速缓存行。为了确保冗余,可以执行检查以确认两个高速存储行上的数据是相同的。但是,使得用于冗余检查的待处理的数据量加倍意味着存储量必须加倍。高速缓存行上的数据可能会不按次序地返回,并且来自冗余网格上的两个分开的存储器位置的副本之间没有固定的时间间隔。此外,高速缓存行本身上的数据可能分为两个或更多个块,该两个或更多个块可以以任何顺序返回。
在这种冗余系统中,直到所有的块都被累积以便检查并且确保数据的所有副本都是相同的,才存储数据。然而,这种方法涉及用于存储所有累积的数据的大存储器,并且还可能花费太长时间来累积和处理数据以便在指定的故障检测时间间隔(FDTI)之前及时以信号通知错误。此外,为了确保在两个核之间保持周期精确的锁步,核的输出必须被检查为在每个周期是相同的。核输出之间的任何失配也必须在FDTI之前以信号通知。然而,检查两个核的整个输出为了比较所有输出导线上的数据,可能涉及太多要路由的导线。
附图说明
参考所附附图提供详细描述。在附图中,附图标记最左边的(多个)数字标识该附图标记在其中首次出现的附图。相同的附图标记在不同附图中的使用指示类似或相同的项。
图1是根据一个或多个实施例的具有带数据检查器和锁步检查器的两个核的片上系统(SoC)的示意图。
图2是根据一个或多个实施例的数据检查器的示意图。
图3是根据一个或多个实施例的可替代的数据检查器的示意图。
图4A、图4B和图4C分别是根据一个或多个实施例的锁步检查器、用于片上系统(SoC)的两个核的锁步检查器的示例电路以及用于多输入移位寄存器(MISR)的示例电路的示意图。
图5A、图5B和图5C是根据一个或多个实施例的可替代的锁步检查器的示意图、用于可替代的锁步检查器的示例电路的示意图以及在输出上具有滑移的锁步检查器的示意图。
图6是根据一个或多个实施例的部署在中央处理单元中的锁步检查器的示意图。
图7示出根据实施例的片上系统(SOC)封装的框图。
图8是根据实施例的处理系统的框图。
图9是根据一个或多个实施例的处理器的框图,该处理器具有一个或多个处理器核、集成存储器控制器以及集成图形处理器。
具体实施方式
在下列描述中,阐述了众多特定细节以便提供对各实施例的全面理解。然而,在没有这些特定细节的情况下,也可实施各实施例。在其他实例中,未详细描述公知的方法、过程、组件和电路,以免使特定实施例变得模糊。此外,各实施例的各方面可使用各种装置来执行,诸如集成半导体电路(“硬件”)、组织成一个或多个程序的计算机可读指令(“软件”)、或硬件与软件的某种组合。出于本公开的目的,对“逻辑”的引用应当意指硬件、软件、固件或它们的某种组合。
现在参考图1,将讨论根据一个或多个实施例的具有数据检查器和锁步检查器的具有两个核的片上系统(SoC)的示意图。如图1所示,SoC 110可以包括以锁步方式操作的主核112和从核114,其中主核112的操作由从核重复以用于冗余。虽然图1示出了两个核的SoC110的示例,但可以采用有更多或更少核的SoC 112的其他布置,并且要求保护的主题的范围在此方面不受限制。在一个或多个实施例中,一个或多个核可以包括相应的数据检查器,诸如用于主核112的数据检查器116和用于从核114的数据检查器118。在一些实施例中,数据检查器用于检查在高速缓存行中的数据失配,并且在其他实施例中,数据检查器可以扩展到任何结构,该结构返回将被有效分隔的事务的冗余副本以确保两个副本均是正确的。
在一些实施例中,SoC 110可具有输入120以向主核112提供输入。主核112的输入也可被驱动至从核114。SoC110还可具有输出122,其中来自主核112的输出可被用于驱动中央处理单元(CPU)的网格,例如如图6所示并且在下文参考图6所描述的,虽然要求保护的主题的范围在此方面不受限制。为了确保主核112和从核114处于锁步状态,锁步检查器124可以从所述两个核都接收输出,以将主核112的输出与从核114的输出进行比较。
在或者更多个实施例中,诸如数据检查器116和数据检查器118的数据检查器可以在主高速缓存行和从高速缓存行之间检查。每个高速缓存行为64字节(B)或512位(b),并以用于上缓存行和下缓存行的两个256b的块到达。高速缓存行上的到达顺序不被保证为任何特定顺序。可能有64-70位可用的存储。主高速缓存行和从高速缓存行之间的失配会导致重大错误。
冗余网格数据检查可以通过对所有四个高速缓存行(主上缓存行和主下缓存行以及从上缓存行和从下缓存行)执行循环冗余检查来检查主缓存行上的数据==从缓存行上的数据:
{crc64_M上,crc64_M下}={crc64_S上,crc64_S下}
实际上,如果所有四个CRC(2*2个半高速缓存行)被一起异或(XOR),则对于通过情况,冗余检查通过的最终向量应为0:
M上XOR M下XOR S上XOR S下=64’b0
在这种操作中,冗余检查结构被初始化为0。当第一个半高速缓存行从多个冗余半高速缓存行中的任何一个到达时:
计算64b CRC;以及
XOR到冗余检查结构条目中的现有值内。
当第二个半高速缓存行从多个冗余半高速缓存行中的任何一个到达时:
使数据总线反转或移位:由于卡在故障处或相同数据被读取两次,来自同一侧的两个半高速缓存行相互掩码;
计算64b CRC;以及
XOR到冗余检查结构条目中的现有值内。
当最后的预期数据半行被XOR时,检查最终结果是否为0。如果最终结果为0,则数据检查通过。否则,数据检查失败。在下文中,在图2中示出并且关于图2描述了用于数据检查器116或数据检查器118的CRC流水线的示例。
现在参考图2,将讨论根据一个或多个实施例的数据检查器的示意图。如图2所示,数据检查器200可以表示图1的数据检查器116或数据检查器118的CRC流水线。在一个或多个实施例中,可以将有效输入数据(有效-输入)提供给触发器(FLOP)210,然后提供给触发器(FLOP)212,以提供有效的CRC输出数据(CRC_64_输出_VAL),该有效的CRC输出数据可以是64位。可以将包括256位的待检查的数据(数据_输入)提供给触发器(FLOP)216,该待检查的数据可以用多路复用器(MUX)214与内置的自测试的测试数据(BIST_数据_输入)多路复用,用于测试目的。触发器216的输出可以被提供给64b CRC检查器218,以将其输出提供给触发器(FLOP)220以提供64b CRC输出(CRC_64_输出)。CRC检查器218可以包括4:0错误注入掩码(错误_掩码[4:0])。内置的自测试(BIST)模式和循环冗余码(CR)可以存储在存储器222中。
在一个或多个实施例中,数据检查器CRC流水线200可以操作以对数据位进行交织,使得b[0]^b[4]^b[8]……,b[1]^[b5]^b[9],……等等。数据检查器有限状态机(FSM)可以通过为每个队列条目添加五状态FSM以跟踪存储的CRC值状态来进行操作。
3’b000-存储的值为64’b0
3’b001-存储的值为第一个半高速缓存行的64b CRC
3’b010-第二个半高速缓存行CRC的所存储的值与所存储的值XOR
3’b011-第三个半高速缓存行CRC的所存储的值与所存储的值XOR
当FSM是2’b11时,则将第四个半高速缓存行CRC与所存储的结果XOR并且检查结果中的所有0
在无错误时,将所有0写回条目,并将FSM状态清除为3’b00。
在有错误时,写回XOR的结果,并将FSM状态移至3’b111。所有其他状态是非法的
在一个或多个实施例中,数据检查器CRC多项式可以如以下表1所示。
Figure BDA0002861295920000061
表1:数据检查器CRC多项式
在一个或多个实施例中,数据检查器调试挂钩可以如下实现。
在检查器失配时添加微断点
错误注入
将生成的CRC代码中的一位翻转。见下文。
BIST
添加以下寄存器(UCFS指非核功能安全)
UCFS_测试_CTRL_状态
有效位-当BIST完成时由硬件设置。在重置时或通过SW清除。
起始位-由SW设置以开始BIST。当设置有效位时在重置时或由HW清除。
·注入_CRC_错误[4:0]-如果在CRC[63,47,31,15,0]上设置了位,则在所计算的第一CRC上注入错误。在注入后清除。
UCFS_测试_结果
包含BIST的值的64b寄存器(见下一页)
可由HW和SW写入,可由SW读取
在一个或多个实施例中,数据检查器BIST可以如下实现。
SW设置UCFS_测试_结果的初始值。重置后的默认值为64’b0。
SW通过设置起始位并且清除有效位来写入到UCFS_测试_CTRL_状态,以开始测试。
硬件对16种已知模式进行排序-为256位,每一个通过检查器。
结果与UCFS_测试_结果的内容进行XOR并且写回到UCFS_测试_结果。
在测试序列的结尾,在UCFS_测试_CTRL_状态中设置有效位并且清除起始位。
SW读取UCFS_测试_结果并且相对于期望值进行比较以确定通过或失败。
现在参考图3,将讨论根据一个或多个实施例的可替代的数据检查器的示意图。图3的数据检查器300基本上类似于图2的数据检查器200,除了数据检查器200利用四个16bCRC检查器318、326、334和342而不是64b CRC检查器218来从触发器316、320、324、329、332、336、340和344产生四个16b CRC输出(CRC_16_输出_0,CRC_16_输出_1,CRC_16_输出_2和CRC_16_输出_3)。触发器310和312提供16b有效输出(CRC_16_输出_VAL),并且四个多路复用器(MUX)314、322、330和338接收64b数据输入。BIST数据存储在64b线性反馈移位寄存器(LFSR)346中,并且CRC位模式存储在控制寄存器348中。
现在参考图4A、图4B和图4C,将分别讨论根据一个或多个实施例的锁步检查器的示意图、用于片上系统(SoC)的两个核的锁步检查器的示例电路的示意图以及示例多输入移位寄存器(MISR)电路的示意图。与图1的布置类似,锁步检查器124可以与主核112和从核114耦合以提供锁步错误输出410,以检查两个核以锁步方式操作。这样的检查方案可以以有效的方式扩展到在循环边界上待被检查的以锁步方式操作的任何两个块。为了确保锁步核SoC 110中的两个核并行执行,可以应用以下约束。首先,应以循环的基础进行检查。第二,由于导线是芯之间的额外消耗,因此锁步检查器124应该消耗尽可能少的导线轨迹。第三,锁步检查器124应具有被检查故障的能力。第四,可使用过滤器从IDI中去除不可比较的数据,或者在没有从核发出的数据时驱动已知数据。第五,锁步检查方案应具有低的混叠概率,以确保错误不会被掩码。应当注意,以上约束仅是锁步检查器和/或锁步检查方案的示例特性,并且所要求保护的主题的范围在这些方面不受限制。
在一个或多个实施例中,主核112可以包括用于命令和控制单元(C2U)总线的一个或多个过滤器。过滤器用于确保每个周期待比较的核的输出具有一致的数据。在一些实施例中,取决于事务,对某些字段是不在意的,因此这些值在主核112和从核114之间可以不一致。为了确保一致性,对于这种不在意的位,过滤器驱动0,并且当没有有效位时,过滤器驱动0。因此,可以利用过滤器通过将不在意的位驱动为零值来实现一致性。在一些实施例中,取决于发出的事务,核输出是不相关的,其中,可能有不相关的输出在锁步对之间不一致的情况。此外,可以在每个周期执行检查,并且当不存在来自核的通信量时,可以使用已知数据,而不是仅在存在来自核的有效事务时停止和重新启动检查器。
对于C2UReq,C2URsp,C2UData:
对有效位和负载进行“与”操作,朝向HWL检查器逻辑(如果无效,则使总线朝向检查器逻辑0前进)
锁步检查器124的第一实施例可以如下操作。
(主-从核之间有64-70条导线)
在C2U数据总线上计算64b CRC
在(C2Ureq+C2Ursp)总线上计算64b CRC
将两者XOR在一起用于最终64b CRC比较
将最终的64b输出从主核传递到从核并且相对于从核输出匹配
从核输出应该与主核延迟匹配
C2Ureq、C2Udata和C2Ursp的有效位必须以原始形式传递和比较
如图4A中详细示出的锁步检查器124的第二实施例可以在主核112和从核114之间采用少于十条的导线。C2UData(数据)、C2URequest(请求)和C2UResponse(响应)总线首先分别经过过滤器(过滤器420、过滤器428和过滤器430),以确保每个位具有已知值。在一些实施例中,取决于事务,对某些字段是不在意的,因此这些值在主核112和从核114之间不需要一致。在不在意的位中,过滤器驱动0。当没有有效位时,过滤器驱动0。过滤器的输出驱动到一系列多个输入移位寄存器(MISR)(128b/64b)中,诸如MISR 422、MISR 424、MISR 426、MISR 432和MISR434。主核112的每个MISR的最高有效位(MSB)被馈送到比较器锁步检查器124,以检测与从核114的MISR输出的失配。从核114镜像主核112的过滤器和MISR并且将从核114的MISR中的每一个的MSB提供给比较器锁步检查器124。当核以较高的频率运行时,在指示的故障检测时间间隔(FDTI)(通常在毫秒范围内)内移出128b应该容易完成。比较器锁步检查器124在每个周期执行单个位比较。可以同时启动主核112和从核114两者上的MISR。
图4B示出了用于比较器锁步检查器124的示例电路。如图4B所示,来自主核112和从核114的MISR的输出通过一系列XOR门被XOR在一起,并且被提供为锁步检查器124错误输出410。如果来自主核112和从核114两者的MISR输出匹配,则锁步错误输出410将具有值0。否则,该值将是1,这指示错误或失配。
在一个或多个实施例中,对于测试模式,可以从测试控制单元或块(例如,控制寄存器348)广播写入,以启用锁步检查器124。作为关断时的测试模式,已知模式可以被驱动到过滤器中,并且可以检查所得到的签名。在这种布置中,待移位以有效地进行比较的导线可以减少为两条导线。C2Ureq、C2Udata和C2Ursp的有效位可以以原始形式传递并且比较。
在一个或多个实施例中,对于调试情况,可以添加禁用和启用锁步检查器124的功能,并且还可以添加清除和重启MISR和锁步检查器124的功能,包括从测试控制单元或块重置和初始化锁步检查的能力。一旦由锁步检查器确定核之间有失配,可以触发微断点。
每个锁步检查器的控制寄存器可以包括以下:
LKST_测试_CTRL
LKST_测试_PTRN
LKST_测试_状态_0
LKST_测试_状态_1
LKST_测试_状态_ACC
为了测试锁步检查器124,第一测试可以如下。
在移位寄存器模式中配置所有MISR。在LKSTP_测试_CTRL中限定
绕过所有XOR门和反馈回路。
将LKST_测试_PTRN串行馈送至MISR的最低有效位(LSB)。
从每个128b MISR中读取16位和从每个64b MISR中读取8b到LKSTP_测试_状态_0/1中
寄存器值应与期望值匹配
可替代地,锁步检查器124的第二测试可以如下。
将LKST_测试_PTRN加载到所有MISR的并行输入中。在LKSTP_测试_CTRL中限定
在过滤器之前驱动它。
为MISR计时约2^16个周期。
从每个128b MISR中读取16位和从每个64b MISR中读取8b到LKSTP_测试_状态_0/1中
将锁步检查器输出加载到LKST_测试_状态_ACC中
在16b计数器中累积检查器输出的转变
·寄存器值应与期望值匹配
图4C示出了由主核112或从核114使用的MISR 64电路(例如,MISR 426)的细节。MISR426的电路可以包括如图所示连接的一系列XOR门和D触发器。对于MISR 128电路,图4C的布置可以扩展为具有128个输入。可以由MISR电路以与CRC检查器类似的方式使用上面表1中所示的CRC 64多项式。
现在参考图5A、图5B和图5C,将讨论根据一个或多个实施例的可替代的锁步检查器的示意图、用于可替代的锁步检查器的示例电路的示意图以及在输出上具有滑移的锁步检查器的示意图。图5A中示出的用于主核112和从核114的锁步检查的电路与图4A中示出的电路基本上相似,具有以下变化。主核和从核各自具有相应的锁步检查器510,该锁步检查器510的输出被提供给OR(或)门512以提供锁步错误输出522。C2U输入被提供到过滤器516和CRC检查器218,而不是图4A的MISR。为了进行测试,可以经由多路复用器514将64b LFSR测试数据提供到过滤器516,并且可以通过AND(与)门提供过滤器516的输出以经由MASK信号控制每个路径。锁步检查器510中的每一个的输出可以提供每个核中的锁步控制寄存器510的测试输出。图5B示出了用于锁步检查器510的电路,其中64b CRC检查器218的输出被传递通过64b XOR树以提供每个锁步检查器比较器输出。提供测试多路复用器(MUX)用于测试目的。
图5C示出了在输出上具有滑移的锁步检查器。图5C的锁步检查器532可以为数据输入、请求输入和响应输入备份。锁步检查器532可以包括4深延迟先进先出(FIFO)缓冲器。如果使用CRC检查器,则FIFO526可以经由1条目缓冲器524而为每个条目64b,或者如果使用MISR,则FIFO526可以为每个条目1位。FIFO 526的深度可以是可调节的以适应滑移。图5C示出了在主核112和从核114之间的4循环滑移。此外,主比较器和从比较器510中的每一个包括有效请求计数器528(主)和有效请求计数器530(从),该有效请求计数器528(主)和有效请求计数器530(从)可以是对于每个主请求或对于每个从请求增值的5b计数器,并在匹配时重置。当计数器溢出时,计数器可以用信号通知锁步错误。
现在参考图6,将讨论根据一个或多个实施例的部署在中央处理单元中的锁步检查器的示意图。如图6中所示,中央处理单元(CPU)600或处理器或系统可以包括网格互连架构,该网格互连架构包括网格610以连接CPU 600中的多个核。应注意,图6未包括CPU 600的所有元件,并且是为了示出根据本文所讨论的一个或多个实施例的经由锁步检查器614的两个或更多个核612的耦合,例如以跨网格互联栅格能够被复制多次的布置,以提供用于CPU 600的多核结构。在所示的实施例中,栅格中的每个核心瓷砖(core tile)可以包括核612、末级高速缓存/探听过滤器(LLC/SF)616、高速缓存和本地代理(CHA)618和/或中级高速缓存(MLC)620,尽管所要求保护的主题的范围在这些方面不受限制。CPU 600的这种多核网格架构可以包括英特尔XEON(至强)处理器等等,尽管所要求保护的主题的范围在此方面不受限制。
图7示出根据实施例的片上系统(SOC)封装的框图。如图7中所图示,SOC 702包括一个或多个中央处理单元(CPU)核720、一个或多个图形处理器单元(GPU)核730、输入/输出(I/O)接口740以及存储器控制器742。可将SOC封装702的各组件耦合至诸如本文中参考其他附图所讨论的互连或总线。另外,SOC封装702可包括更多或更少的组件,诸如本文中参考其他附图所讨论的那些组件。进一步地,SOC封装720的每个组件可包括一个或多个其他组件,例如,如参考本文中的其他附图所讨论的组件。在一个实施例中,在一个或多个集成电路(IC)管芯上提供SOC封装702(以及其组件),例如,该一个或多个集成电路管芯被封装到单个半导体设备中。
如图7中所图示,SOC封装702经由存储器控制器742耦合至存储器760。在实施例中,存储器660(或其部分)可以被集成在SOC封装702上。
I/O接口740可例如经由诸如本文中参考其他附图所讨论的互连和/或总线而耦合至一个或多个I/O设备770。(多个)I/O设备770可包括以下各项中的一项或多项:键盘、鼠标、触摸板、显示器、图像/视频捕捉设备(诸如相机或摄像机/视频录像机)、触摸屏、扬声器等等。
图8是根据实施例的处理系统800的框图。在各种实施例中,系统800包括一个或多个处理器802以及一个或多个图形处理器808,并且可以是单处理器台式机系统、多处理器工作站系统或具有大量处理器802或处理器核807的服务器系统。在一个实施例中,系统800是被并入到在移动设备、手持式设备或嵌入式设备中使用的片上系统(SoC或SOC)集成电路内的处理平台。
系统800的实施例可以包括以下各项或可被并入在以下各项内:基于服务器的游戏平台、游戏控制台(包括游戏和媒体控制台)、移动游戏控制台、手持式游戏控制台或在线游戏控制台。在一些实施例中,系统800是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统800还可以包括以下各项、与以下各项耦合、或被集成在以下各项内:可穿戴设备,诸如智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备。在一些实施例中,数据处理系统800是电视机或机顶盒设备,该电视机或机顶盒设备具有一个或多个处理器802以及由一个或多个图形处理器808生成的图形界面。
在一些实施例中,所述一个或多个处理器802各自都包括一个或多个处理器核807,该一个或多个处理器核807用于处理指令,这些指令当被执行时,执行用于系统和用户软件的操作。在一些实施例中,所述一个或多个处理器核807中的每一个处理器核都被配置成处理特定的指令集809。在一些实施例中,指令集809可促进复杂指令集计算(CISC)、精简指令集计算(RISC)或经由超长指令字(VLIW)的计算。多个处理器核807各自可以处理不同的指令集809,不同的指令集809可包括用于促进对其他指令集的仿真的指令。处理器核807还可包括其他处理设备,诸如数字信号处理器(DSP)。
在一些实施例中,处理器802包括高速缓存存储器804。根据架构,处理器702可具有单个内部高速缓存或多级的内部高速缓存。在一些实施例中,高速缓存存储器在处理器802的各种组件之间被共享。在一些实施例中,处理器802也使用外部高速缓存(例如,等级3(L3)高速缓存或末级高速缓存(LLC))(未示出),可使用已知的高速缓存一致性技术在处理器核807之间共享该外部高速缓存。寄存器堆806附加地被包括在处理器802中,寄存器堆806可包括用于存储不同类型数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器以及指令指针寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可以专用于处理器802的设计。
在一些实施例中,处理器802被耦合至处理器总线810以在处理器802与系统800中的其他组件之间传输通信信号,诸如地址、数据、或控制信号。在一个实施例中,系统800使用示例性“中枢”系统架构,该示例性“中枢”系统架构包括存储器控制器中枢816和输入输出(I/O)控制器中枢830。存储器控制器中枢816促进存储器设备与系统800的其他组件之间的通信,而I/O控制器中枢(ICH)830提供经由本地I/O总线至I/O设备的连接。在一个实施例中,存储器控制器中枢816的逻辑被集成在处理器内。
存储器设备820可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备、相变存储器设备、或具有合适的性能以充当进程存储器的某个其他存储器设备。在一个实施例中,存储器设备820可以作为用于系统800的系统存储器来操作,以存储数据822和指令821用于在一个或多个处理器802执行应用或进程时使用。存储器控制器中枢816也与可选的外部图形处理器812耦合,所述可选的外部图形处理器812可与处理器802中的一个或多个图形处理器808通信以执行图形和媒体操作。
在一些实施例中,ICH 830使外围设备能够经由高速I/O总线连接到存储器设备820和处理器802。I/O外围设备包括但不限于音频控制器846、固件接口828、无线收发机826(例如,Wi-Fi、蓝牙)、数据存储设备824(例如,硬盘驱动器、闪存等)以及用于将旧式(legacy)(例如,个人系统2(PS/2))设备耦合至系统的旧式I/O控制器840。一个或多个通用串行总线(USB)控制器842连接输入设备(诸如,键盘和鼠标844的组合)。网络控制器834也可以耦合至ICH 830。在一些实施例中,高性能网络控制器(未示出)耦合至处理器总线810。将会理解,所示的系统800是示例性的而非限制性的,因为也可以使用以不同方式配置的其他类型的数据处理系统。例如,I/O控制器中枢830可被集成在一个或多个处理器802内,或者存储器控制器中枢816和I/O控制器中枢830可被集成到分立的外部图形处理器中,该分立的外部图形处理器诸如外部图形处理器812。
图9是处理器900的实施例的框图,该处理器900具有一个或多个处理器核902A至902N、集成存储器控制器914以及集成图形处理器908。图9的具有与本文中的任何其他附图的元件相同的附图标记(或名称)的那些元件可以与本文中其他地方描述的方式类似的任何方式操作或运行,但不限于此。处理器900可以包括附加的核,这些附加的核多达由虚线框表示的附加核902N并包括由虚线框表示的附加核902N。处理器核902A至902N中的每个处理器核包括一个或多个内部高速缓存单元904A至904N。在一些实施例中,每个处理器核也具有对一个或多个共享高速缓存单元906的访问权。
内部高速缓存单元904A至904N和共享高速缓存单元906表示处理器900内的高速缓存存储器层次结构。高速缓存存储器层级结构可包括每个处理器核内的至少一个级别的指令和数据高速缓存以及一个或多个级别的共享的中级高速缓存,诸如,等级2(L2)、等级3(L3)、等级4(L4)、或其他级别的高速缓存,其中,在外部存储器之前的最高级别的高速缓存被分类为LLC。在一些实施例中,高速缓存一致性逻辑维持各种高速缓存单元906与904A至904N之间的一致性。
在一些实施例中,处理器900还可包括一个或多个总线控制器单元916的集合和系统代理核910。一个或多个总线控制器单元916管理一组外围总线,诸如,一个或多个外围组件互连总线(例如,PCI、PCI Express(PCI总线))。系统代理核910提供对各处理器组件的管理功能。在一些实施例中,系统代理核910包括用于管理对各种外部存储器设备(未示出)的访问的一个或多个集成存储器控制器914。
在一些实施例中,一个或多个处理器核902A至902N包括针对同时多线程操作的支持。在此类实施例中,系统代理核910包括用于在多线程处理期间对核902A至902N进行协调和操作的组件。系统代理核910可附加地包括功率控制单元(PCU),该PCU包括用于调节处理器核902A至902N和图形处理器908的功率状态的逻辑和组件。
在一些实施例中,处理器900附加地包括用于执行图形处理操作的图形处理器908。在一些实施例中,图形处理器908与共享高速缓存单元906的集合以及系统代理核910耦合,该系统代理核910包括一个或多个集成存储器控制器914。在一些实施例中,显示控制器911与图形处理器908耦合,以将图形处理器输出驱动至一个或多个所耦合的显示器。在一些实施例中,显示控制器911可以是经由至少一个互连而与图形处理器耦合的分开的模块,或者可以集成在图形处理器908或系统代理核910内。
在一些实施例中,基于环的互连单元912用于耦合处理器900的内部组件。然而,可以使用替代的互连单元,诸如,点到点互连、交换式互连、或其他技术,包括本领域中公知的技术。在一些实施例中,图形处理器908经由I/O链路913而与环形互连912耦合。
示例性I/O链路913表示各种各样的I/O互连中的至少一者,该I/O互连包括促进各种处理器组件与高性能嵌入式存储器模块918(诸如,eDRAM(或嵌入式DRAM)模块)之间的通信的封装I/O互连。在一些实施例中,处理器核902至902N和图形处理器808中的每一者都将嵌入式存储器模块918用作共享的末级高速缓存。
在一些实施例中,处理器核902A至902N是执行相同的指令集架构的同构核。在另一个实施例中,处理器核902A至902N就指令集架构(ISA)方面而言是异构的,其中处理器核902A至902N中的一个或多个执行第一指令集,而其他核中的至少一个核执行第一指令集的子集或不同的指令集。在一个实施例中,处理器核902A至902N就微架构方面而言是异构的,其中具有相对较高的功耗的一个或多个核与具有较低的功耗的一个或多个功率核耦合。另外,处理器900可在一个或多个芯片上实现,或者被实现为除其他组件之外还具有所图示的组件的SoC集成电路。
以下示例涉及进一步的实施例。示例一包括一种检查两个或更多个数据行中的冗余的方法,该方法包括:接收第一数据行上的数据;计算第一数据行的数据上的第一循环冗余检查(CRC)值;用存储的存储器值对第一CRC值执行异或(XOR)函数;以及用XOR函数的结果更新该存储的存储器值,其中所述接收、计算、执行和更新在附加数据行上执行,直到最后一行被处理,使得如果最终存储的存储器值不是零,则指示错误。示例二可以包括示例一或本文描述的示例中的任何一个的主题,其中该两个或更多个数据行包括高速缓存行。示例三可以包括示例一或本文描述的示例中的任何一个的主题,其中两个或更多个数据行包括高速缓存行,每个高速缓存行包括两个半行,并且其中所述接收、所述计算、所述执行应用于各个半行。示例四可以包括示例一或本文描述的示例中的任何一个的主题,其中在所述计算之前使半高速缓存行上的数据反转或移位以防止相同高速缓存的两个半高速缓存行相互掩码,其中掩码可以是指有效位值的无意更改,或者以其他方式阻止有效位值被读取,尽管要求保护的主题的范围在此方面不受限制。示例五可以包括示例一或本文描述的示例中的任何一个的主题,其中在指定的故障检测时间间隔(FDTI)之前指示错误。示例六可以包括示例一或本文描述的示例中的任何一个的主题,其中所述执行被进行偶数次。
示例七包括一种检查两个核以锁步方式操作的装置,包括:第一核,包括第一数据检查器;第二核,包括第二数据检查器;以及锁步检查器,用于将第一数据检查器的输出与第二数据检查器的输出进行比较,其中第一数据检查器的输出包括第一位并且第二数据检查器的输出包括第二位,且锁步检查器用于对第一位和第二位执行异或(XOR)函数,其中锁步检查器用于如果XOR函数的结果为零则指示两个核以锁步方式操作。示例八可以包括示例七或本文描述的示例中的任何一个的主题,其中第一核包括主核并且第二核包括从核。示例九可以包括示例七或本文描述的示例中的任何一个的主题,其中第一数据检查器和第二数据检查器包括多输入移位寄存器(MISR)。示例十可以包括示例七或本文描述的示例中的任何一个的主题,其中第一数据检查器和第二数据检查器包括循环冗余检查器(CRC)。示例十一可以包括示例七或本文描述的示例中的任何一个的主题,其中第一核包括耦合到第一数据检查器的第一过滤器并且第二核包括耦合到第二数据检查器的第二过滤器,其中第一过滤器和第二过滤器操作以确保每个周期第一核的输出和第二核的输出具有一致的数据。示例十二可以包括示例七或本文描述的示例中的任何一个的主题,其中第一位和第二位包括最高有效位(MSB)。示例十三可以包括示例七或本文描述的示例中的任何一个的主题,其中第一位和第二位包括最低有效位(LSB)。示例十四可以包括示例七或本文描述的示例中的任何一个的主题,其中锁步检查器包括用于主核的主锁步检查器以及用于从核的从锁步检查器。
示例15包括系统,该系统包括两个或更多个瓷砖(tile);网格,用于将两个或更多个瓷砖互连,其中第一瓷砖的第一核经由网格互连与第二瓷砖的第二核耦合;第一核,包括第一数据检查器;以及锁步检查器,用于将第一瓷砖的第一核与第二瓷砖的第二核耦合,其中锁步检查器用于将第一核的输出与第二核的输出进行比较,使得锁步检查器用于如果比较的结果为零则指示第一核与第二核一起以锁步方式操作。示例十六包括示例十五或本文描述的示例中的任何一个的主题,其中锁步检查器用于利用在第一位和第二位上的异或(XOR)函数将第一核的输出的第一位与第二核的输出的第二位进行比较。示例十七可以包括示例十五或本文描述的示例中的任何一个的主题,其中第一位和第二位包括最高有效位(MSB)。示例十八可以包括示例十五或本文描述的示例中的任何一个的主题,其中第一位和第二位包括最低有效位(LSB)。示例十九可以包括示例十五或本文描述的示例中的任何一个的主题,其中第一核的输出和第二核的输出包括末级高速缓存(LLC)或中级高速缓存(MLC)的高速缓存行。示例二十可以包括示例十五或本文描述的示例中的任何一个的主题,其中高速缓存行包括上半高速缓存行和下半高速缓存行。
在各实施例中,本文中(例如,参考本文所述的附图)所讨论的操作可被实现为硬件(例如,逻辑电路)、软件、固件、或其组合,其可被作为计算机程序产品提供,例如,包括具有存储于其上的指令(或软件程序)的有形的(例如,非暂态的)机器可读或计算机可读介质,这些指令(或软件程序)用于对计算机编程以执行本文中所讨论的过程。机器可读介质可包括诸如关于当前附图所讨论的那些存储设备之类的存储设备。
另外,此类计算机可读介质可作为计算机程序产品来下载,其中该程序可作为在载波或其他传播介质中提供的数据信号经由通信链路(例如,总线、调制解调器或网络连接)从远程计算机(例如,服务器)传输到作出请求的计算机(例如,客户端)。
在本说明书中对“一个实施例”或“实施例”的引用意指结合该实施例描述的特定特征、结构和/或特性可被包括在至少一个实现方式中。在本说明书各处出现的短语“在一个实施例中”可以或可以不全指代同一实施例。
并且,在说明书和权利要求书中,可使用术语“耦合的”和“连接的”以及它们的派生词。在一些实施例中,可以使用“连接”来表示两个或更多个元件彼此直接物理或电气接触。“耦合”可意指两个或更多个元件直接物理或电气接触。然而,“耦合”还可意指两个或更多个元件彼此可不直接接触,但仍可彼此相互配合或相互作用。
因此,尽管已经用对结构特征和/或方法动作专用的语言描述了各实施例,但可以理解,所要求保护的主题可以不限于所描述的特定特征或动作。相反,特定特征和动作作为实现要求保护的主题的样本形式被公开。

Claims (20)

1.一种用于检查来自多核片上系统(SoC)的功能安全核的两个或更多个数据行中的冗余的方法,所述方法包括:
接收所述功能安全核的第一数据行上的数据;
计算所述第一数据行的所述数据上的第一循环冗余检查(CRC)值;
用存储的存储器值对所述第一CRC值执行异或(XOR)函数;以及
用所述XOR函数的结果更新所述存储的存储器值;
其中所述接收、计算、执行和更新在所述功能安全核的附加数据行上执行,直到最后一行被处理,使得如果最终存储的存储器值不是零则指示错误。
2.如权利要求1所述的方法,其特征在于,所述两个或更多个数据行包括高速缓存行。
3.如权利要求1所述的方法,其特征在于,所述两个或更多个数据行包括高速缓存行,所述高速缓存行中的每一个包括两个半行,并且其中所述接收、所述计算、所述执行被应用于各个半行。
4.如权利要求3所述的方法,其特征在于,在所述计算之前,使半高速缓存行上的数据反转或移位以防止相同高速缓存的两个半高速缓存行相互掩码。
5.如权利要求1所述的方法,其特征在于,在指定的故障检测时间间隔(FDTI)之前指示所述错误。
6.如权利要求1所述的方法,其特征在于,所述执行被进行偶数次。
7.一种用于检查两个核正在以锁步方式操作的装置,包括:
第一核,包括第一数据检查器;
第二核,包括第二数据检查器;以及
锁步检查器,用于将所述第一数据检查器的输出与所述第二数据检查器的输出进行比较,其中所述第一数据检查器的所述输出包括第一位并且所述第二数据检查器的所述输出包括第二位,且所述锁步检查器用于在所述第一位和所述第二位上执行异或(XOR)函数;
其中所述锁步检查器用于在如果所述XOR函数的结果为零的情况下指示所述两个核正在以锁步方式操作。
8.如权利要求7所述的装置,其特征在于,所述第一核包括主核,并且所述第二核包括从核。
9.如权利要求7所述的装置,其特征在于,所述第一数据检查器和所述第二数据检查器包括多输入移位寄存器(MISR)。
10.如权利要求7所述的装置,其特征在于,所述第一数据检查器和所述第二数据检查器包括循环冗余检查器(CRC)。
11.如权利要求7所述的装置,其特征在于,所述第一核包括耦合到所述第一数据检查器的第一过滤器并且所述第二核包括耦合到所述第二数据检查器的第二过滤器,其中所述第一过滤器和所述第二过滤器操作以确保每个周期所述第一核的输出和所述第二核的输出具有一致的数据。
12.如权利要求7所述的装置,其特征在于,所述第一位和所述第二位包括最高有效位(MSB)。
13.如权利要求7所述的装置,其特征在于,所述第一位和所述第二位包括最低有效位(LSB)。
14.如权利要求8所述的装置,其特征在于,所述锁步检查器包括用于所述主核的主锁步检查器和用于所述从核的从锁步检查器。
15.一种系统,包括:
两个或更多个瓷砖;
网格,用于互连所述两个或更多个瓷砖,其中第一瓷砖的第一核经由所述网格互连与第二瓷砖的第二核耦合;
锁步检查器,用于与所述第一瓷砖的所述第一核和所述第二瓷砖的所述第二核耦合;
其中所述锁步检查器用于将所述第一核的输出与所述第二核的输出进行比较,使得所述锁步检查器用于在如果比较的结果为零的情况下指示所述第一核与所述第二核一起以锁步方式操作。
16.如权利要求15所述的系统,其特征在于,所述锁步检查器用于利用所述第一位和所述第二位上的异或(XOR)函数将所述第一核的所述输出的第一位与所述第二核的所述输出的第二位进行比较。
17.如权利要求16所述的系统,其特征在于,所述第一位和所述第二位包括最高有效位(MSB)。
18.如权利要求16所述的系统,其特征在于,所述第一位和所述第二位包括最低有效位(LSB)。
19.如权利要求15所述的系统,其特征在于,所述第一核的所述输出与所述第二核的所述输出包括末级高速缓存(LLC)或中级高速缓存(LLC)的高速缓存行。
20.如权利要求19所述的系统,其特征在于,所述高速缓存行包括上半高速缓存行和下半高速缓存行。
CN201980043425.1A 2018-12-12 2019-11-27 片上系统中的故障检测间隔内的硬件锁步检查 Pending CN113168366A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/218,078 US10831628B2 (en) 2018-12-12 2018-12-12 Hardware lockstep checking within a fault detection interval in a system on chip
US16/218,078 2018-12-12
PCT/US2019/063607 WO2020123159A1 (en) 2018-12-12 2019-11-27 Hardware lockstep checking within a fault detection interval in a system on chip

Publications (1)

Publication Number Publication Date
CN113168366A true CN113168366A (zh) 2021-07-23

Family

ID=66095804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980043425.1A Pending CN113168366A (zh) 2018-12-12 2019-11-27 片上系统中的故障检测间隔内的硬件锁步检查

Country Status (4)

Country Link
US (1) US10831628B2 (zh)
EP (1) EP3895018A4 (zh)
CN (1) CN113168366A (zh)
WO (1) WO2020123159A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10831628B2 (en) * 2018-12-12 2020-11-10 Intel Corporation Hardware lockstep checking within a fault detection interval in a system on chip
KR20210044364A (ko) 2019-10-14 2021-04-23 삼성전자주식회사 이미지 센서
US11221901B2 (en) 2019-11-26 2022-01-11 Siemens Industry Software Inc. Monitoring processors operating in lockstep
KR20210084871A (ko) 2019-12-30 2021-07-08 삼성전자주식회사 안전 민감 데이터의 무결성 점검 장치 및 이를 포함하는 전자 기기
JP7312141B2 (ja) * 2020-05-25 2023-07-20 ルネサスエレクトロニクス株式会社 半導体装置
US11513883B2 (en) * 2021-01-29 2022-11-29 Stmicroelectronics International N.V. Glitch absorption apparatus and method
US11550684B2 (en) * 2021-04-19 2023-01-10 Nxp B.V. Testing of lockstep architecture in system-on-chips
US11892505B1 (en) * 2022-09-15 2024-02-06 Stmicroelectronics International N.V. Debug and trace circuit in lockstep architectures, associated method, processing system, and apparatus
CN116821038B (zh) * 2023-08-28 2023-12-26 英特尔(中国)研究中心有限公司 用于处理器的锁步控制装置和方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055660A (en) * 1997-10-02 2000-04-25 International Business Machines Corporation Method for identifying SMP bus transfer errors
US7502958B2 (en) * 2004-10-25 2009-03-10 Hewlett-Packard Development Company, L.P. System and method for providing firmware recoverable lockstep protection
JP3897046B2 (ja) 2005-01-28 2007-03-22 横河電機株式会社 情報処理装置および情報処理方法
US7747932B2 (en) 2005-06-30 2010-06-29 Intel Corporation Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
US8117512B2 (en) 2008-02-06 2012-02-14 Westinghouse Electric Company Llc Failure detection and mitigation in logic circuits
US7890831B2 (en) * 2008-06-10 2011-02-15 Globalfoundries Inc. Processor test system utilizing functional redundancy
DE102011086530A1 (de) 2010-11-19 2012-05-24 Continental Teves Ag & Co. Ohg Mikroprozessorsystem mit fehlertoleranter Architektur
JP6050083B2 (ja) 2012-10-18 2016-12-21 ルネサスエレクトロニクス株式会社 半導体装置
KR101560497B1 (ko) 2014-09-26 2015-10-15 성균관대학교산학협력단 락스텝으로 이중화된 프로세서 코어들의 리셋 제어 방법 및 이를 이용하는 락스텝 시스템
US10169240B2 (en) * 2016-04-08 2019-01-01 Qualcomm Incorporated Reducing memory access bandwidth based on prediction of memory request size
US9964597B2 (en) * 2016-09-01 2018-05-08 Texas Instruments Incorporated Self test for safety logic
US10482024B2 (en) * 2017-07-20 2019-11-19 Alibaba Group Holding Limited Private caching for thread local storage data access
US10831628B2 (en) 2018-12-12 2020-11-10 Intel Corporation Hardware lockstep checking within a fault detection interval in a system on chip

Also Published As

Publication number Publication date
WO2020123159A1 (en) 2020-06-18
US10831628B2 (en) 2020-11-10
EP3895018A1 (en) 2021-10-20
EP3895018A4 (en) 2022-09-14
US20190114243A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
CN113168366A (zh) 片上系统中的故障检测间隔内的硬件锁步检查
US9367438B2 (en) Semiconductor integrated circuit and method for operating same
US10802932B2 (en) Data processing system having lockstep operation
US11335428B2 (en) Methods, systems and apparatus for in-field testing for generic diagnostic components
US7900086B2 (en) Accelerating test, debug and failure analysis of a multiprocessor device
US8527812B2 (en) Information processing device
US9057766B2 (en) Isolating failing latches using a logic built-in self-test
US6424926B1 (en) Bus signature analyzer and behavioral functional test method
US20120159274A1 (en) Apparatus to facilitate built-in self-test data collection
JP2000137061A (ja) システムオンチップにおける埋込コアの試験方法及び構成
US20220114069A1 (en) Leveraging low power states for fault testing of processing cores at runtime
US10078113B1 (en) Methods and circuits for debugging data bus communications
US9529686B1 (en) Error protection for bus interconnect circuits
US8572355B2 (en) Support for non-local returns in parallel thread SIMD engine
US20140122929A1 (en) Distributed on-chip debug triggering
US10663515B2 (en) Method and apparatus to access high volume test data over high speed interfaces
US7966521B2 (en) Light weight and high throughput test case generation methodology for testing cache/TLB intervention and diagnostics
US7149944B2 (en) Semiconductor integrated circuit device equipped with read sequencer and write sequencer
US10303472B2 (en) Bufferless communication for redundant multithreading using register permutation
US20130049836A1 (en) Multi-threading flip-flop circuit
Maeda et al. Automotive IC on-line test techniques and the application of deterministic ATPG-based runtime test
US6694489B1 (en) Test interface for a configurable system on-chip
WO2021086469A1 (en) Programmable device configuration memory system
CN112540888B (zh) 面向大规模可重构处理单元阵列的调试方法及装置
RU2773696C1 (ru) Цифровой отладочный комплекс

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