一种错误数据调试方法、装置、芯片及计算机设备转让专利

申请号 : CN202110669106.0

文献号 : CN113127285B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乔文

申请人 : 北京燧原智能科技有限公司

摘要 :

本发明公开了一种错误数据调试方法、装置、芯片及计算机设备,所述方法应用于芯片中,包括:在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行当前操作指令;在对当前操作指令的运行过程中,对与当前操作指令关联的传输数据进行正确性校验;如果与当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使指令配置设备根据中断信号,确定传输数据的错误类型,并采用与错误类型匹配的调试策略,对芯片进行调试。本发明实施例的技术方案可以提高芯片中错误数据的调试效率,提高芯片对多个操作指令的运行效率。

权利要求 :

1.一种错误数据调试方法,其特征在于,应用于芯片中,所述芯片中的操作指令由指令配置设备写入,所述方法包括:

在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;

在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;所述传输数据为,在对当前操作指令的运行过程中,读数据通道和写数据通道中的数据;

如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行;

在确定停止对后续操作指令的执行时,将中断信号发送至指令配置设备;或者,在确定停止对后续操作指令的执行,并对所述当前操作指令按照预设运行次数进行重复运行后,确定与所述当前操作指令关联的传输数据没有通过正确性校验时,将中断信号发送至指令配置设备,以使所述指令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。

2.根据权利要求1所述的方法,其特征在于,对与所述当前操作指令关联的传输数据进行正确性校验,包括:

根据所述传输数据的数据类型,确定与所述传输数据匹配的校验方式,并利用所述校验方式对所述传输数据进行正确性校验。

3.根据权利要求2所述的方法,其特征在于,根据所述传输数据的数据类型,确定与所述传输数据匹配的校验方式,并利用所述校验方式对所述传输数据进行正确性校验,包括:如果所述传输数据属于接收数据,或者读取数据,则判断所述传输数据与对应的校验码是否匹配;

若否,则确定所述传输数据没有通过正确性校验;

如果所述传输数据属于发送数据,则判断与所述发送数据对应的接收端反馈的数据中是否包括错误响应信号;

若是,则确定所述传输数据没有通过正确性校验。

4.一种错误数据调试方法,其特征在于,应用于指令配置设备中,所述指令配置设备用于将操作指令写入芯片中,所述方法包括:在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与所述目标操作指令关联的芯片状态信息;所述芯片状态信息包括芯片内部存储器中出现错误传输数据的地址、数据接口信息,以及寄存器当前配置信息;

根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型;

如果确定所述传输数据的错误类型为可忽略错误,则将指令运行信号发送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令。

5.根据权利要求4所述方法,其特征在于,在根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型之后,还包括:如果确定所述传输数据的错误类型为寄存器配置错误,则将目标寄存器配置指令发送至所述芯片,以使所述芯片根据所述目标寄存器配置指令,对目标寄存器进行配置;

在确定所述芯片完成对目标寄存器的配置后,重新配置所述目标操作指令,并将配置后的目标操作指令写入所述芯片,以使所述芯片对配置后的目标操作指令进行运行。

6.根据权利要求5所述的方法,其特征在于,在根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型之后,还包括:如果所述传输数据的错误类型未知,则控制所述芯片进行重启,并重新将多条待执行的操作指令写入芯片中;或者,

将指令运行信号发送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令,如果与所述后一操作指令关联的传输数据发生错误,则控制所述芯片进行重启,并重新将多条待执行的操作指令写入芯片中。

7.一种错误数据调试装置,其特征在于,应用芯片中,所述芯片中的操作指令由指令配置设备写入,所述装置包括:

指令运行模块,用于在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;

校验模块,用于在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;所述传输数据为,在对当前操作指令的运行过程中,读数据通道和写数据通道中的数据;

调试模块,用于如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定停止对后续操作指令的执行时,将中断信号发送至指令配置设备;

或者,在确定停止对后续操作指令的执行,并对所述当前操作指令按照预设运行次数进行重复运行后,确定与所述当前操作指令关联的传输数据没有通过正确性校验时,将中断信号发送至指令配置设备,以使所述指令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。

8.一种芯片,所述芯片中的操作指令由指令配置设备写入,所述芯片包括:一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现如权利要求1‑3中任一所述的错误数据调试方法。

9.一种计算机设备,所述计算机设备用于将操作指令写入芯片中,所述计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现如权利要求4‑6中任一所述的错误数据调试方法。

说明书 :

一种错误数据调试方法、装置、芯片及计算机设备

技术领域

[0001] 本发明实施例涉及计算机技术领域,尤其涉及一种错误数据调试方法、装置、芯片及计算机设备。

背景技术

[0002] 芯片在启动运行之前,都需要通过软件系统配置操作指令,软件系统将操作指令配置完成并写入芯片后,芯片开始逐条运行操作指令。芯片在对操作指令的运行过程中,短
暂的外部环境或芯片内部的影响(例如芯片内部电压不稳定、外部环境出现强磁场、温度变
化以及设备晃动等)容易造成运行过程中传输数据出现错误,比如数据通路上出现一些位
数据意外翻转、静态随机存取存储器 (Static Random Access Memory,SRAM)读出数据出
现错误等。
[0003] 现有的芯片在运行过程中,如果发现在操作指令的执行过程中,数据的传输发生错误,则将中断信号上报至软件系统。但是,由于芯片在检测到错误数据后仍在运行后续指
令,并且中断信号会有传输时延,在软件系统接收到中断信号后,芯片中发生错误的数据可
能已经在后续的指令中进行传播,芯片内出现错误的现场被破坏(或者只能记录有限的错
误现场信息)。
[0004] 在这种情况下,软件系统通常是对芯片进行初始化操作,为芯片重新配置操作指令,并控制芯片启动运行。在这种处理方式下,芯片在检测到错误数据之前的运行过程就存
在浪费,并且当数据发生错误的频率较高时,初始化操作会降低芯片对操作指令的运行效
率。

发明内容

[0005] 本发明实施例提供一种错误数据调试方法、装置、芯片及计算机设备,提高芯片中错误数据的调试效率,提高芯片对多个操作指令的运行效率。
[0006] 第一方面,本发明实施例提供了一种错误数据调试方法,应用于芯片中,所述芯片中的操作指令由指令配置设备写入,所述方法包括:
[0007] 在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;
[0008] 在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;
[0009] 如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使所述指令配置设
备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试
策略,对所述芯片进行调试。
[0010] 第二方面,本发明实施例还提供了一种错误数据调试方法,应用于指令配置设备中,所述指令配置设备用于将操作指令写入芯片中,该方法包括:
[0011] 在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与所述目标操作指令关联的芯片状态信息;
[0012] 根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。
[0013] 第三方面,本发明实施例还提供了一种错误数据调试装置,应用芯片中,所述芯片中的操作指令由指令配置设备写入,该装置包括:
[0014] 指令运行模块,用于在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;
[0015] 校验模块,用于在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;
[0016] 调试模块,用于如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使
所述指令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误
类型匹配的调试策略,对所述芯片进行调试。
[0017] 第四方面,本发明实施例还提供了一种芯片,所述芯片中的操作指令由指令配置设备写入,所述芯片包括:
[0018] 一个或多个处理器;
[0019] 存储装置,用于存储一个或多个程序;
[0020] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现本发明任意实施例提供的一种错误数据调试方法。
[0021] 第五方面,本发明实施例还提供了一种计算机设备,所述计算机设备用于将操作指令写入芯片中,所述计算机设备包括:
[0022] 一个或多个处理器;
[0023] 存储装置,用于存储一个或多个程序;
[0024] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现本发明任意实施例提供的一种错误数据调试方法。
[0025] 本发明实施例的技术方案通过芯片在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行当前操作指令,在对当前操作指令的运行过程中,对
与当前操作指令关联的传输数据进行正确性校验;如果与当前操作指令关联的传输数据发
生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至
指令配置设备,以使指令配置设备根据中断信号,确定传输数据的错误类型,并采用与错误
类型匹配的调试策略,对芯片进行调试的技术手段,可以提高芯片中错误数据的调试效率,
提高芯片对多个操作指令的运行效率。

附图说明

[0026] 图1是本发明实施例一中的一种错误数据调试方法的流程图;
[0027] 图2是本发明实施例二中的一种错误数据调试方法的流程图;
[0028] 图3是本发明实施例三中的一种错误数据调试方法的流程图;
[0029] 图4是本发明实施例四中的一种错误数据调试装置的结构图;
[0030] 图5是本发明实施例五中的一种错误数据调试装置的结构图;
[0031] 图6是本发明实施例六中的一种芯片的结构示意图;
[0032] 图7是本发明实施例七中的一种计算机设备的结构示意图。

具体实施方式

[0033] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便
于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0034] 实施例一
[0035] 图1为本发明实施例一提供的一种错误数据调试方法的流程图,本实施例可适用于对芯片运行操作指令时,发现的错误传输数据进行调试的情况,该方法可以由错误数据
调试装置来执行,该装置可以由软件和/或硬件来实现,一般可以集成在芯片中,所述芯片
中的操作指令由指令配置设备写入,所述方法具体包括如下步骤:
[0036] 步骤110、在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令。
[0037] 在本实施例中,指令配置设备用于将多条待执行的操作指令写入芯片中,芯片获取到多条待执行的操作指令后,可以按照操作指令的接收顺序,依次获取一条操作指令为
当前操作指令,并运行当前操作指令。
[0038] 步骤120、在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验。
[0039] 在本实施例中,与当前操作指令关联的传输数据可以为,在对当前操作指令的运行过程中,读数据通道和写数据通道中的数据。具体的,所述操作指令可以为数据处理指
令,芯片对当前操作指令的运行过程通常可以分为以下步骤:接收其他设备发送的目标数
据、根据当前操作指令对所述目标数据进行处理,读取处理后的目标数据并进行发送。
[0040] 相应的,与当前操作指令关联的传输数据可以为上述步骤中接收到的目标数据、读取到的处理后的目标数据,以及发送过程中的数据。
[0041] 在本发明实施例的一个实施方式中,可选的,芯片中可以预先存储与每种传输数据对应的正确数据格式,在对当前操作指令的运行过程中,芯片可以获取当前传输数据的
数据格式,然后将当前传输数据的数据格式与预先存储的正确数据格式进行对比,如果对
比结果一致,则认为当前传输数据通过正确性校验,反之,则认为当前传输数据没有通过正
确性校验,也即,当前传输数据发生错误。
[0042] 步骤130、如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使所述指
令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹
配的调试策略,对所述芯片进行调试。
[0043] 在本实施例中,如果与当前操作指令关联的传输数据发生错误,芯片则停止执行位于当前操作指令之后的操作指令,并在确定停止对后续操作指令的执行时,将中断信号
发送至指令配置设备,芯片开始进入调试模式。
[0044] 在本实施例中,指令配置设备接收到中断信号后,可以从芯片中读取发生错误的传输数据。其中,可选的,指令配置设备中可以预存与每种错误传输数据对应的容错范围,
指令配置设备读取到发生错误的传输数据后,可以判断该传输数据是否位于对应的容错范
围内,若是,则可以认为该传输数据的错误可以忽略,并控制芯片继续执行位于当前操作指
令之后的操作指令;若否,则可以重新将当前操作指令写入芯片中,以使芯片重新运行所述
当前操作指令;或者可以控制芯片进行重启,直至与当前操作指令关联的传输数据正确为
止。
[0045] 现有技术中芯片在对当前操作指令的运行过程中,如果发现传输数据发生错误,则将中断信号发送至指令配置设备,并且仍继续运行后续指令,指令配置设备在接收到中
断信号后,通常对芯片进行初始化操作。在这种处理方式下,芯片在检测到错误传输数据之
前的运行过程就存在浪费,并且当传输数据发生错误的频率较高时,初始化操作会降低芯
片对多个操作指令的运行效率。
[0046] 本实施例中如果与当前操作指令关联的传输数据发生错误,芯片则停止执行后续操作指令,并将中断信号发送至指令配置设备,相比于现有技术而言,可以保护错误现场,
便于指令配置设备根据错误现场确定传输数据的错误类型;其次,本实施例中根据传输数
据的错误类型采用匹配的调试策略,而不是单一地对芯片进行初始化操作,可以提高芯片
中错误数据的调试效率,避免初始化操作下芯片运行效率降低的问题。
[0047] 本发明实施例的技术方案通过芯片在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行当前操作指令,在对当前操作指令的运行过程中,对
与当前操作指令关联的传输数据进行正确性校验;如果与当前操作指令关联的传输数据发
生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至
指令配置设备,以使指令配置设备根据中断信号,确定传输数据的错误类型,并采用与错误
类型匹配的调试策略,对芯片进行调试的技术手段,可以提高芯片中错误数据的调试效率,
提高芯片对多个操作指令的运行效率。
[0048] 实施例二
[0049] 本实施例是对上述实施例的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图2为本实施例二提供的一种错误数据调试方法的流程图,在本实施例
中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图2
所示,本实施例提供的方法还可以包括:
[0050] 步骤210、在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令。
[0051] 步骤220、在对当前操作指令的运行过程中,根据所述传输数据的数据类型,确定与所述传输数据匹配的校验方式,并利用所述校验方式对所述传输数据进行正确性校验。
[0052] 在本实施例中,所述操作指令可以为数据处理指令,芯片对当前操作指令的运行过程通常可以分为以下步骤:接收其他设备发送的目标数据、根据当前操作指令对所述目
标数据进行处理,读取处理后的目标数据并进行发送。
[0053] 相应的,与当前操作指令关联的传输数据可以为上述步骤中接收到的目标数据、读取到的处理后的目标数据,以及发送过程中的数据。
[0054] 在本实施例中,如果传输数据为上述步骤中接收到的目标数据,则可以确定该传输数据的数据类型为接收数据;如果传输数据为上述步骤中读取到的处理后的目标数据,
则可以确定该传输数据的数据类型为读取数据;如果传输数据为上述步骤中发送过程中的
数据,则可以确定该传输数据的数据类型为发送数据。
[0055] 在本发明实施例的一个实施方式中,根据所述传输数据的数据类型,确定与所述传输数据匹配的校验方式,并利用所述校验方式对所述传输数据进行正确性校验,包括:如
果所述传输数据属于接收数据,或者读取数据,则判断所述传输数据与对应的校验码是否
匹配;若否,则确定所述传输数据没有通过正确性校验;如果所述传输数据属于发送数据,
则判断与所述发送数据对应的接收端反馈的数据中是否包括错误响应信号;若是,则确定
所述传输数据没有通过正确性校验。
[0056] 在一个具体的实施例中,当芯片作为接收端时,如果传输数据为上述步骤中的目标数据,则可以对接收到的目标数据以及对应的校验码做匹配检查。其中,与芯片对应的发
送端在向芯片发送目标数据时,会根据预设算法生成与目标数据匹配的校验码。芯片在接
收到目标数据以及对应的校验码后,对根据预设算法验证目标数据与校验码是否匹配,若
是,则确认该传输数据通过正确性校验;若否,则认为该传输数据没有通过正确性校验,也
即,该传输数据发生错误。
[0057] 在另一个具体的实施例中,芯片在接收到目标数据后,会根据当前操作指令对所述目标数据进行处理,并将处理后的目标数据写入内部存储器(例如SRAM)内。与此同时,芯
片还会采用上述同样方式生成与处理后的目标数据匹配的校验码,并将该校验码一起写入
内部存储器内。当芯片需要获取处理后的目标数据时,可以从内部存储器中读取处理后的
目标数据以及对应的校验码,然后验证读取到的处理后的目标数据(即传输数据)与校验码
是否匹配,若是,则确认该传输数据通过正确性校验;若否,则认为该传输数据没有通过正
确性校验,也即,该传输数据发生错误。
[0058] 在另一个具体的实施例中,芯片从内部存储器中读取到处理后的目标数据后,如果该数据通过正确性校验,芯片需要将该数据进行发送时,此时芯片作为发送端,在这种情
况下,芯片可以根据当前操作指令将处理后的目标数据(即传输数据)发送至对应的接收
端,接收端接收到该数据后,会向芯片反馈对应的应答数据,其中,如果接收端反馈的应答
数据中包括错误响应信号(error write response),则确定所述传输数据没有通过正确性
校验。
[0059] 步骤230、如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使所述指
令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹
配的调试策略,对所述芯片进行调试。
[0060] 本发明实施例的技术方案通过芯片在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行当前操作指令,在对当前操作指令的运行过程中,根
据传输数据的数据类型,确定与传输数据匹配的校验方式,并利用校验方式对传输数据进
行正确性校验,如果与当前操作指令关联的传输数据发生错误,则停止对后续操作指令的
执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使指令配置设备
根据中断信号,确定传输数据的错误类型,并采用与错误类型匹配的调试策略,对芯片进行
调试的技术手段,可以提高芯片中错误数据的调试效率,提高芯片对多个操作指令的运行
效率。
[0061] 在上述实施例的基础上,在确定满足中断信号条件时,将中断信号发送至指令配置设备,包括:在确定停止对后续操作指令的执行,并对所述当前操作指令按照预设运行次
数进行重复运行后,确定与所述当前操作指令关联的传输数据没有通过正确性校验时,将
中断信号发送至指令配置设备。
[0062] 为了提高芯片对多个操作指令的运行效率,本实施例还提出了一种在检测到与当前操作指令关联的传输数据发生错误后,芯片执行数据恢复模式的实施方式。
[0063] 在一个具体的实施例中,当芯片检测到当前操作指令关联的传输数据发生错误后,则记录当前操作指令,并停止对后续操作指令的执行,然后重复运行所述当前操作指
令。其中,指令配置设备会预先向芯片配置一个最大运行次数。芯片在对当前操作指令重复
运行的过程中,如果当前运行过程中与当前操作指令关联的传输数据没有发生错误,且与
当前运行过程对应的运行次数小于或者等于最大运行次数时,则表明当前操作指令已正确
运行,芯片结束执行数据恢复模式,开始进入正常模式并继续执行后续操作指令;如果重复
运行次数达到最大运行次数,且与当前操作指令关联的传输数据仍发生错误,则表明当前
操作指令不可恢复,芯片将保留当前错误现场并记录当前芯片状态信息,例如发生错误的
操作指令、内部存储器中出现错误传输数据的地址、数据接口信息(例如读或写response信
号以及context id等),然后将中断信号发送至指令配置设备,以使所述指令配置设备根据
所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对
所述芯片进行调试。
[0064] 本实施例中,芯片在对当前操作指令重复运行的过程中,如果当前运行过程中与当前操作指令关联的传输数据没有发生错误,则结束执行数据恢复模式,并继续执行后续
操作指令。这样设置的好处在于:通过控制芯片执行数据恢复模式,可以避免芯片在检测到
错误传输数据之前的运行过程存在浪费,进而可以提高芯片对多个操作指令的运行效率。
[0065] 实施例三
[0066] 图3为本发明实施例三提供的一种错误数据调试方法的流程图,本实施例可适用于对芯片运行操作指令时,发现的错误传输数据进行调试的情况,该方法可以由错误数据
调试装置来执行,该装置可以由软件和/或硬件来实现,一般可以集成在计算机设备(也称
指令配置设备)中,所述指令配置设备用于将操作指令写入芯片中,所述方法具体包括如下
步骤:
[0067] 步骤310、在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与所述目标操作指令关联的芯片状态信息。
[0068] 在本实施例中,芯片在检测到当前操作指令关联的传输数据发生错误后,则将发生错误的传输数据、当前操作指令,以及芯片当前状态信息记录在预设的存储单元中。芯片
将中断信号发送至指令配置设备后,开始进入调试模式。指令配置设备在接收到芯片发送
的中断信号后,从芯片中预设的存储单元中读取发生错误的传输数据、当前操作指令(也即
传输数据发生错误时对应的目标操作指令),以及芯片状态信息。
[0069] 其中,芯片状态信息包括内部存储器中出现错误传输数据的地址、数据接口信息(例如读或写response信号以及context id等),以及寄存器当前配置信息等。
[0070] 步骤320、根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。
[0071] 在本发明实施例的一个实施方式中,指令配置设备读取到芯片中传输数据发生错误时对应的目标操作指令,以及芯片状态信息后,可以根据芯片状态信息确定传输数据发
生错误的原因,从而根据发生错误的原因确定传输数据的错误类型,并采用与所述错误类
型匹配的调试策略,对所述芯片进行调试。
[0072] 本发明实施例的技术方案通过指令配置设备在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与目标操作指令关联的芯片
状态信息,然后根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误
类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试的技术手段,可以提高
芯片中错误数据的调试效率,提高芯片对多个操作指令的运行效率。
[0073] 在上述实施例的基础上,采用与所述错误类型匹配的调试策略,对所述芯片进行调试,包括:
[0074] 如果确定所述传输数据的错误类型为可忽略错误,则将指令运行信号发送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令;
[0075] 其中,指令配置设备中可以预存与每种错误传输数据对应的容错范围,指令配置设备读取到发生错误的传输数据后,可以判断该传输数据是否位于对应的容错范围内,若
是,则可以认为该传输数据的错误类型为可忽略错误,并将指令运行信号发送至所述芯片,
以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令。
[0076] 如果确定所述传输数据的错误类型为寄存器配置错误,则将目标寄存器配置指令发送至所述芯片,以使所述芯片根据所述目标寄存器配置指令,对目标寄存器进行配置;在
确定所述芯片完成对目标寄存器的配置后,重新配置所述目标操作指令,并将配置后的目
标操作指令写入所述芯片,以使所述芯片对配置后的目标操作指令进行运行。
[0077] 其中,如果指令配置设备根据寄存器当前配置信息,确定传输数据的错误类型为寄存器配置错误时,则将配置错误的寄存器作为目标寄存器,并将目标寄存器对应的配置
指令(即目标寄存器配置指令)发送至芯片,以使芯片根据目标寄存器配置指令,对目标寄
存器进行配置。可选的,芯片在对目标寄存器配置完成后,可以将配置完成信号发送至指令
配置设备。指令配置设备根据配置完成信号确定芯片完成对目标寄存器的配置后,重新配
置目标操作指令,并将配置后的目标操作指令写入芯片,以使芯片对配置后的目标操作指
令进行运行。
[0078] 在预设的最大运行次数内,如果芯片检测到与目标操作指令关联的传输数据正确,芯片自动结束调试模式,并将中断结束信号发送至指令配置设备,然后继续执行与目标
操作指令相邻的后续操作指令;如果芯片对配置后的目标操作指令进行重复运行的次数达
到最大运行次数,且与配置后的目标操作指令关联的传输数据仍发生错误,芯片再次将中
断信号发送给指令配置设备,芯片再次进入调试模式。
[0079] 在本发明实施例的一个实施方式中,如果所述传输数据的错误类型未知,则控制所述芯片进行重启,并重新将多条待执行的操作指令写入芯片中;或者,将指令运行信号发
送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令,如果与
后一操作指令关联的传输数据发生错误,则控制所述芯片进行重启,并重新将多条待执行
的操作指令写入芯片中。
[0080] 在一个具体的实施例中,如果传输数据的错误类型未知(即错误类型既不是可忽略错误,也不是寄存器配置错误),则指令配置设备可以控制芯片进行重启,并重新将多条
待执行的操作指令写入芯片中,以使芯片依次对每条操作指令进行运行。
[0081] 在另一个具体的实施例中,如果传输数据的错误类型未知,指令配置设备可以开启单步调试模式(one step mode):指令配置设备将指令运行信号发送至芯片,芯片继续运
行与目标操作指令相邻的后一操作指令,如果与后一操作指令关联的传输数据正确,则继
续运行与上述后一操作指令相邻的后一操作指令;如果与后一操作指令关联的传输数据发
生错误,则指令配置设备控制所述芯片进行重启,并重新将多条待执行的操作指令写入芯
片中。
[0082] 实施例四
[0083] 图4为本发明实施例四提供的一种错误数据调试装置的结构图,该装置应用于芯片中,所述芯片中的操作指令由指令配置设备写入,该装置包括:指令运行模块410、校验模
块420和调试模块430。
[0084] 其中,指令运行模块410,用于在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;校验模块420,用于在对所述当前操
作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;调试模块
430,用于如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执
行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使所述指令配置设
备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试
策略,对所述芯片进行调试。
[0085] 本发明实施例的技术方案通过芯片在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行当前操作指令,在对当前操作指令的运行过程中,对
与当前操作指令关联的传输数据进行正确性校验;如果与当前操作指令关联的传输数据发
生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至
指令配置设备,以使指令配置设备根据中断信号,确定传输数据的错误类型,并采用与错误
类型匹配的调试策略,对芯片进行调试的技术手段,可以提高芯片中错误数据的调试效率,
提高芯片对多个操作指令的运行效率。
[0086] 在上述各实施例的基础上,校验模块420,可以包括:
[0087] 校验方式确定单元,用于根据所述传输数据的数据类型,确定与所述传输数据匹配的校验方式,并利用所述校验方式对所述传输数据进行正确性校验;
[0088] 校验码判断单元,用于如果所述传输数据属于接收数据,或者与所述当前操作指令对应的处理结果数据,则判断所述传输数据与对应的校验码是否匹配;
[0089] 第一错误确定单元,用于如果所述传输数据属于接收数据,或者读取数据,所述传输数据与对应的校验码不匹配时,确定所述传输数据没有通过正确性校验;
[0090] 错误信号判断单元,用于如果所述传输数据属于发送数据,则判断与所述发送数据对应的接收端反馈的数据中是否包括错误响应信号;
[0091] 第二错误确定单元,用于如果所述传输数据属于发送数据,与所述发送数据对应的接收端反馈的数据中包括错误响应信号时,确定所述传输数据没有通过正确性校验。
[0092] 调试模块430,可以包括:
[0093] 第一信号发生单元,用于在确定停止对后续操作指令的执行时,将中断信号发送至指令配置设备;
[0094] 第二信号发生单元,用于在确定停止对后续操作指令的执行,并对所述当前操作指令按照预设运行次数进行重复运行后,确定与所述当前操作指令关联的传输数据没有通
过正确性校验时,将中断信号发送至指令配置设备。
[0095] 本发明实施例所提供的错误数据调试装置可执行本发明任意实施例所提供的错误数据调试方法,具备执行方法相应的功能模块和有益效果。
[0096] 实施例五
[0097] 图5为本发明实施例五提供的一种错误数据调试装置的结构图,该装置应用于指令配置设备中,所述指令配置设备用于将操作指令写入芯片中,包括:信号接收模块510和
错误类型确定模块520。
[0098] 其中,信号接收模块510,用于在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与所述目标操作指令关联的芯片状态信
息;错误类型确定模块520,用于根据与所述目标操作指令关联的芯片状态信息,确定所述
传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。
[0099] 本发明实施例的技术方案通过指令配置设备在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与目标操作指令关联的芯片
状态信息,然后根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误
类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试的技术手段,可以提高
芯片中错误数据的调试效率,提高芯片对多个操作指令的运行效率。
[0100] 在上述各实施例的基础上,错误类型确定模块520,可以包括:
[0101] 运行信号发送单元,用于如果确定所述传输数据的错误类型为可忽略错误,则将指令运行信号发送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操
作指令;
[0102] 配置指令发送单元,用于如果确定所述传输数据的错误类型为寄存器配置错误,则将目标寄存器配置指令发送至所述芯片,以使所述芯片根据所述目标寄存器配置指令,
对目标寄存器进行配置;
[0103] 操作指令配置单元,用于在确定所述芯片完成对目标寄存器的配置后,重新配置所述目标操作指令,并将配置后的目标操作指令写入所述芯片,以使所述芯片对配置后的
目标操作指令进行运行;
[0104] 重启单元,用于如果所述传输数据的错误类型未知,则控制所述芯片进行重启,并重新将多条待执行的操作指令写入芯片中;
[0105] 指令运行信号发送单元,用于如果所述传输数据的错误类型未知,将指令运行信号发送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令,如
果与后一操作指令关联的传输数据发生错误,则控制所述芯片进行重启,并重新将多条待
执行的操作指令写入芯片中。
[0106] 本发明实施例所提供的错误数据调试装置可执行本发明任意实施例所提供的错误数据调试方法,具备执行方法相应的功能模块和有益效果。
[0107] 实施例六
[0108] 图6为本发明实施例六提供的一种芯片的结构示意图,所述芯片中的操作指令由指令配置设备写入,如图6所示,该芯片包括处理器610、存储器620、输入装置630和输出装
置640;芯片中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;芯片中的
处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中
以通过总线连接为例。存储器620作为一种计算机可读存储介质,可用于存储软件程序、计
算机可执行程序以及模块,如本发明实施例中的一种错误数据调试方法对应的程序指令/
模块(例如,一种错误数据调试装置中的指令运行模块410、校验模块420和调试模块430)。
处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行芯片的各种
功能应用以及数据处理,即实现上述的一种错误数据调试方法。也即,该程序被处理器执行
时实现:
[0109] 在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;
[0110] 在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;
[0111] 如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使所述指令配置设
备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试
策略,对所述芯片进行调试。
[0112] 存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此
外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个
磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一
步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至芯片。上
述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0113] 输入装置630可用于接收输入的数字或字符信息,以及产生与芯片的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置640可包括显示屏等显示
设备。
[0114] 实施例七
[0115] 图7为本发明实施例七提供的一种计算机设备(也称指令配置设备)的结构示意图,该计算机设备用于将操作指令写入芯片中,如图7所示,该计算机设备包括处理器710、
存储器720、输入装置730和输出装置740;计算机设备中处理器710的数量可以是一个或多
个,图7中以一个处理器710为例;计算机设备中的处理器710、存储器720、输入装置730和输
出装置740可以通过总线或其他方式连接,图7中以通过总线连接为例。存储器720作为一种
计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例
中的一种错误数据调试方法对应的程序指令/模块(例如,一种错误数据调试装置中的信号
接收模块510和错误类型确定模块520)。处理器710通过运行存储在存储器720中的软件程
序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的一种
错误数据调试方法。也即,该程序被处理器执行时实现:
[0116] 在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与所述目标操作指令关联的芯片状态信息;
[0117] 根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。
[0118] 存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此
外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个
磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器720可进一
步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至计算机
设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0119] 输入装置730可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置740可包括显示屏
等显示设备。
[0120] 实施例八
[0121] 本发明实施例八还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计
算机可读存储介质,其可以执行本发明任意实施例提供的一种错误数据调试方法中的相关
操作。也即,该程序被芯片执行时实现:
[0122] 在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;
[0123] 在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;
[0124] 如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使所述指令配置设
备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试
策略,对所述芯片进行调试。
[0125] 本发明实施例所提供的一种计算机可读存储介质,其还可以执行本发明任意实施例提供的另一种错误数据调试方法中的相关操作。也即,该程序被指令配置设备执行时实
现:
[0126] 在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与所述目标操作指令关联的芯片状态信息;
[0127] 根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。
[0128] 通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更
佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质
中,如计算机的软盘、只读存储器(Read‑Only Memory, ROM)、随机存取存储器(Random 
Access Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台交换设备
执行本发明各个实施例所述的方法。
[0129] 值得注意的是,上述一种错误数据调试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即
可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范
围。
[0130] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、
重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行
了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还
可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。