一种错误数据调试方法、装置、芯片及计算机设备转让专利
申请号 : CN202110669106.0
文献号 : CN113127285B
文献日 : 2021-10-08
发明人 : 乔文
申请人 : 北京燧原智能科技有限公司
摘要 :
权利要求 :
1.一种错误数据调试方法,其特征在于,应用于芯片中,所述芯片中的操作指令由指令配置设备写入,所述方法包括:
在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;
在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;所述传输数据为,在对当前操作指令的运行过程中,读数据通道和写数据通道中的数据;
如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行;
在确定停止对后续操作指令的执行时,将中断信号发送至指令配置设备;或者,在确定停止对后续操作指令的执行,并对所述当前操作指令按照预设运行次数进行重复运行后,确定与所述当前操作指令关联的传输数据没有通过正确性校验时,将中断信号发送至指令配置设备,以使所述指令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。
2.根据权利要求1所述的方法,其特征在于,对与所述当前操作指令关联的传输数据进行正确性校验,包括:
根据所述传输数据的数据类型,确定与所述传输数据匹配的校验方式,并利用所述校验方式对所述传输数据进行正确性校验。
3.根据权利要求2所述的方法,其特征在于,根据所述传输数据的数据类型,确定与所述传输数据匹配的校验方式,并利用所述校验方式对所述传输数据进行正确性校验,包括:如果所述传输数据属于接收数据,或者读取数据,则判断所述传输数据与对应的校验码是否匹配;
若否,则确定所述传输数据没有通过正确性校验;
如果所述传输数据属于发送数据,则判断与所述发送数据对应的接收端反馈的数据中是否包括错误响应信号;
若是,则确定所述传输数据没有通过正确性校验。
4.一种错误数据调试方法,其特征在于,应用于指令配置设备中,所述指令配置设备用于将操作指令写入芯片中,所述方法包括:在接收到芯片发送的中断信号后,读取所述芯片中传输数据发生错误时对应的目标操作指令,以及与所述目标操作指令关联的芯片状态信息;所述芯片状态信息包括芯片内部存储器中出现错误传输数据的地址、数据接口信息,以及寄存器当前配置信息;
根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型;
如果确定所述传输数据的错误类型为可忽略错误,则将指令运行信号发送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令。
5.根据权利要求4所述方法,其特征在于,在根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型之后,还包括:如果确定所述传输数据的错误类型为寄存器配置错误,则将目标寄存器配置指令发送至所述芯片,以使所述芯片根据所述目标寄存器配置指令,对目标寄存器进行配置;
在确定所述芯片完成对目标寄存器的配置后,重新配置所述目标操作指令,并将配置后的目标操作指令写入所述芯片,以使所述芯片对配置后的目标操作指令进行运行。
6.根据权利要求5所述的方法,其特征在于,在根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误类型之后,还包括:如果所述传输数据的错误类型未知,则控制所述芯片进行重启,并重新将多条待执行的操作指令写入芯片中;或者,
将指令运行信号发送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令,如果与所述后一操作指令关联的传输数据发生错误,则控制所述芯片进行重启,并重新将多条待执行的操作指令写入芯片中。
7.一种错误数据调试装置,其特征在于,应用芯片中,所述芯片中的操作指令由指令配置设备写入,所述装置包括:
指令运行模块,用于在写入的多条待执行的操作指令中,依次获取一条操作指令为当前操作指令,并运行所述当前操作指令;
校验模块,用于在对所述当前操作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;所述传输数据为,在对当前操作指令的运行过程中,读数据通道和写数据通道中的数据;
调试模块,用于如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执行,并在确定停止对后续操作指令的执行时,将中断信号发送至指令配置设备;
或者,在确定停止对后续操作指令的执行,并对所述当前操作指令按照预设运行次数进行重复运行后,确定与所述当前操作指令关联的传输数据没有通过正确性校验时,将中断信号发送至指令配置设备,以使所述指令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。
8.一种芯片,所述芯片中的操作指令由指令配置设备写入,所述芯片包括:一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现如权利要求1‑3中任一所述的错误数据调试方法。
9.一种计算机设备,所述计算机设备用于将操作指令写入芯片中,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现如权利要求4‑6中任一所述的错误数据调试方法。
说明书 :
一种错误数据调试方法、装置、芯片及计算机设备
技术领域
背景技术
暂的外部环境或芯片内部的影响(例如芯片内部电压不稳定、外部环境出现强磁场、温度变
化以及设备晃动等)容易造成运行过程中传输数据出现错误,比如数据通路上出现一些位
数据意外翻转、静态随机存取存储器 (Static Random Access Memory,SRAM)读出数据出
现错误等。
令,并且中断信号会有传输时延,在软件系统接收到中断信号后,芯片中发生错误的数据可
能已经在后续的指令中进行传播,芯片内出现错误的现场被破坏(或者只能记录有限的错
误现场信息)。
在浪费,并且当数据发生错误的频率较高时,初始化操作会降低芯片对操作指令的运行效
率。
发明内容
备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试
策略,对所述芯片进行调试。
所述指令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误
类型匹配的调试策略,对所述芯片进行调试。
与当前操作指令关联的传输数据进行正确性校验;如果与当前操作指令关联的传输数据发
生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至
指令配置设备,以使指令配置设备根据中断信号,确定传输数据的错误类型,并采用与错误
类型匹配的调试策略,对芯片进行调试的技术手段,可以提高芯片中错误数据的调试效率,
提高芯片对多个操作指令的运行效率。
附图说明
具体实施方式
于描述,附图中仅示出了与本发明相关的部分而非全部结构。
调试装置来执行,该装置可以由软件和/或硬件来实现,一般可以集成在芯片中,所述芯片
中的操作指令由指令配置设备写入,所述方法具体包括如下步骤:
当前操作指令,并运行当前操作指令。
令,芯片对当前操作指令的运行过程通常可以分为以下步骤:接收其他设备发送的目标数
据、根据当前操作指令对所述目标数据进行处理,读取处理后的目标数据并进行发送。
数据格式,然后将当前传输数据的数据格式与预先存储的正确数据格式进行对比,如果对
比结果一致,则认为当前传输数据通过正确性校验,反之,则认为当前传输数据没有通过正
确性校验,也即,当前传输数据发生错误。
令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹
配的调试策略,对所述芯片进行调试。
发送至指令配置设备,芯片开始进入调试模式。
指令配置设备读取到发生错误的传输数据后,可以判断该传输数据是否位于对应的容错范
围内,若是,则可以认为该传输数据的错误可以忽略,并控制芯片继续执行位于当前操作指
令之后的操作指令;若否,则可以重新将当前操作指令写入芯片中,以使芯片重新运行所述
当前操作指令;或者可以控制芯片进行重启,直至与当前操作指令关联的传输数据正确为
止。
断信号后,通常对芯片进行初始化操作。在这种处理方式下,芯片在检测到错误传输数据之
前的运行过程就存在浪费,并且当传输数据发生错误的频率较高时,初始化操作会降低芯
片对多个操作指令的运行效率。
便于指令配置设备根据错误现场确定传输数据的错误类型;其次,本实施例中根据传输数
据的错误类型采用匹配的调试策略,而不是单一地对芯片进行初始化操作,可以提高芯片
中错误数据的调试效率,避免初始化操作下芯片运行效率降低的问题。
与当前操作指令关联的传输数据进行正确性校验;如果与当前操作指令关联的传输数据发
生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至
指令配置设备,以使指令配置设备根据中断信号,确定传输数据的错误类型,并采用与错误
类型匹配的调试策略,对芯片进行调试的技术手段,可以提高芯片中错误数据的调试效率,
提高芯片对多个操作指令的运行效率。
中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图2
所示,本实施例提供的方法还可以包括:
标数据进行处理,读取处理后的目标数据并进行发送。
则可以确定该传输数据的数据类型为读取数据;如果传输数据为上述步骤中发送过程中的
数据,则可以确定该传输数据的数据类型为发送数据。
果所述传输数据属于接收数据,或者读取数据,则判断所述传输数据与对应的校验码是否
匹配;若否,则确定所述传输数据没有通过正确性校验;如果所述传输数据属于发送数据,
则判断与所述发送数据对应的接收端反馈的数据中是否包括错误响应信号;若是,则确定
所述传输数据没有通过正确性校验。
送端在向芯片发送目标数据时,会根据预设算法生成与目标数据匹配的校验码。芯片在接
收到目标数据以及对应的校验码后,对根据预设算法验证目标数据与校验码是否匹配,若
是,则确认该传输数据通过正确性校验;若否,则认为该传输数据没有通过正确性校验,也
即,该传输数据发生错误。
片还会采用上述同样方式生成与处理后的目标数据匹配的校验码,并将该校验码一起写入
内部存储器内。当芯片需要获取处理后的目标数据时,可以从内部存储器中读取处理后的
目标数据以及对应的校验码,然后验证读取到的处理后的目标数据(即传输数据)与校验码
是否匹配,若是,则确认该传输数据通过正确性校验;若否,则认为该传输数据没有通过正
确性校验,也即,该传输数据发生错误。
况下,芯片可以根据当前操作指令将处理后的目标数据(即传输数据)发送至对应的接收
端,接收端接收到该数据后,会向芯片反馈对应的应答数据,其中,如果接收端反馈的应答
数据中包括错误响应信号(error write response),则确定所述传输数据没有通过正确性
校验。
令配置设备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹
配的调试策略,对所述芯片进行调试。
据传输数据的数据类型,确定与传输数据匹配的校验方式,并利用校验方式对传输数据进
行正确性校验,如果与当前操作指令关联的传输数据发生错误,则停止对后续操作指令的
执行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使指令配置设备
根据中断信号,确定传输数据的错误类型,并采用与错误类型匹配的调试策略,对芯片进行
调试的技术手段,可以提高芯片中错误数据的调试效率,提高芯片对多个操作指令的运行
效率。
数进行重复运行后,确定与所述当前操作指令关联的传输数据没有通过正确性校验时,将
中断信号发送至指令配置设备。
令。其中,指令配置设备会预先向芯片配置一个最大运行次数。芯片在对当前操作指令重复
运行的过程中,如果当前运行过程中与当前操作指令关联的传输数据没有发生错误,且与
当前运行过程对应的运行次数小于或者等于最大运行次数时,则表明当前操作指令已正确
运行,芯片结束执行数据恢复模式,开始进入正常模式并继续执行后续操作指令;如果重复
运行次数达到最大运行次数,且与当前操作指令关联的传输数据仍发生错误,则表明当前
操作指令不可恢复,芯片将保留当前错误现场并记录当前芯片状态信息,例如发生错误的
操作指令、内部存储器中出现错误传输数据的地址、数据接口信息(例如读或写response信
号以及context id等),然后将中断信号发送至指令配置设备,以使所述指令配置设备根据
所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对
所述芯片进行调试。
操作指令。这样设置的好处在于:通过控制芯片执行数据恢复模式,可以避免芯片在检测到
错误传输数据之前的运行过程存在浪费,进而可以提高芯片对多个操作指令的运行效率。
调试装置来执行,该装置可以由软件和/或硬件来实现,一般可以集成在计算机设备(也称
指令配置设备)中,所述指令配置设备用于将操作指令写入芯片中,所述方法具体包括如下
步骤:
将中断信号发送至指令配置设备后,开始进入调试模式。指令配置设备在接收到芯片发送
的中断信号后,从芯片中预设的存储单元中读取发生错误的传输数据、当前操作指令(也即
传输数据发生错误时对应的目标操作指令),以及芯片状态信息。
生错误的原因,从而根据发生错误的原因确定传输数据的错误类型,并采用与所述错误类
型匹配的调试策略,对所述芯片进行调试。
状态信息,然后根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误
类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试的技术手段,可以提高
芯片中错误数据的调试效率,提高芯片对多个操作指令的运行效率。
是,则可以认为该传输数据的错误类型为可忽略错误,并将指令运行信号发送至所述芯片,
以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令。
确定所述芯片完成对目标寄存器的配置后,重新配置所述目标操作指令,并将配置后的目
标操作指令写入所述芯片,以使所述芯片对配置后的目标操作指令进行运行。
指令(即目标寄存器配置指令)发送至芯片,以使芯片根据目标寄存器配置指令,对目标寄
存器进行配置。可选的,芯片在对目标寄存器配置完成后,可以将配置完成信号发送至指令
配置设备。指令配置设备根据配置完成信号确定芯片完成对目标寄存器的配置后,重新配
置目标操作指令,并将配置后的目标操作指令写入芯片,以使芯片对配置后的目标操作指
令进行运行。
操作指令相邻的后续操作指令;如果芯片对配置后的目标操作指令进行重复运行的次数达
到最大运行次数,且与配置后的目标操作指令关联的传输数据仍发生错误,芯片再次将中
断信号发送给指令配置设备,芯片再次进入调试模式。
送至所述芯片,以使所述芯片继续运行与所述目标操作指令相邻的后一操作指令,如果与
后一操作指令关联的传输数据发生错误,则控制所述芯片进行重启,并重新将多条待执行
的操作指令写入芯片中。
待执行的操作指令写入芯片中,以使芯片依次对每条操作指令进行运行。
行与目标操作指令相邻的后一操作指令,如果与后一操作指令关联的传输数据正确,则继
续运行与上述后一操作指令相邻的后一操作指令;如果与后一操作指令关联的传输数据发
生错误,则指令配置设备控制所述芯片进行重启,并重新将多条待执行的操作指令写入芯
片中。
块420和调试模块430。
作指令的运行过程中,对与所述当前操作指令关联的传输数据进行正确性校验;调试模块
430,用于如果与所述当前操作指令关联的传输数据发生错误,则停止对后续操作指令的执
行,并在确定满足中断信号条件时,将中断信号发送至指令配置设备,以使所述指令配置设
备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试
策略,对所述芯片进行调试。
与当前操作指令关联的传输数据进行正确性校验;如果与当前操作指令关联的传输数据发
生错误,则停止对后续操作指令的执行,并在确定满足中断信号条件时,将中断信号发送至
指令配置设备,以使指令配置设备根据中断信号,确定传输数据的错误类型,并采用与错误
类型匹配的调试策略,对芯片进行调试的技术手段,可以提高芯片中错误数据的调试效率,
提高芯片对多个操作指令的运行效率。
过正确性校验时,将中断信号发送至指令配置设备。
错误类型确定模块520。
息;错误类型确定模块520,用于根据与所述目标操作指令关联的芯片状态信息,确定所述
传输数据的错误类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试。
状态信息,然后根据与所述目标操作指令关联的芯片状态信息,确定所述传输数据的错误
类型,并采用与所述错误类型匹配的调试策略,对所述芯片进行调试的技术手段,可以提高
芯片中错误数据的调试效率,提高芯片对多个操作指令的运行效率。
作指令;
对目标寄存器进行配置;
目标操作指令进行运行;
果与后一操作指令关联的传输数据发生错误,则控制所述芯片进行重启,并重新将多条待
执行的操作指令写入芯片中。
置640;芯片中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;芯片中的
处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中
以通过总线连接为例。存储器620作为一种计算机可读存储介质,可用于存储软件程序、计
算机可执行程序以及模块,如本发明实施例中的一种错误数据调试方法对应的程序指令/
模块(例如,一种错误数据调试装置中的指令运行模块410、校验模块420和调试模块430)。
处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行芯片的各种
功能应用以及数据处理,即实现上述的一种错误数据调试方法。也即,该程序被处理器执行
时实现:
备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试
策略,对所述芯片进行调试。
外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个
磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一
步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至芯片。上
述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
设备。
存储器720、输入装置730和输出装置740;计算机设备中处理器710的数量可以是一个或多
个,图7中以一个处理器710为例;计算机设备中的处理器710、存储器720、输入装置730和输
出装置740可以通过总线或其他方式连接,图7中以通过总线连接为例。存储器720作为一种
计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例
中的一种错误数据调试方法对应的程序指令/模块(例如,一种错误数据调试装置中的信号
接收模块510和错误类型确定模块520)。处理器710通过运行存储在存储器720中的软件程
序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的一种
错误数据调试方法。也即,该程序被处理器执行时实现:
外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个
磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器720可进一
步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至计算机
设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
等显示设备。
算机可读存储介质,其可以执行本发明任意实施例提供的一种错误数据调试方法中的相关
操作。也即,该程序被芯片执行时实现:
备根据所述中断信号,确定所述传输数据的错误类型,并采用与所述错误类型匹配的调试
策略,对所述芯片进行调试。
现:
佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质
中,如计算机的软盘、只读存储器(Read‑Only Memory, ROM)、随机存取存储器(Random
Access Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台交换设备
执行本发明各个实施例所述的方法。
可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范
围。
重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行
了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还
可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。