CN116909625B - 命令队列解析方法及其装置、电子设备、存储介质 - Google Patents

命令队列解析方法及其装置、电子设备、存储介质 Download PDF

Info

Publication number
CN116909625B
CN116909625B CN202311176156.0A CN202311176156A CN116909625B CN 116909625 B CN116909625 B CN 116909625B CN 202311176156 A CN202311176156 A CN 202311176156A CN 116909625 B CN116909625 B CN 116909625B
Authority
CN
China
Prior art keywords
command
configuration
data
command queue
task
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.)
Active
Application number
CN202311176156.0A
Other languages
English (en)
Other versions
CN116909625A (zh
Inventor
刘善剑
方宁
刘林
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.)
Guangdong Jiangxin Chuang Technology Co ltd
Original Assignee
Guangdong Jiangxin Chuang Technology Co ltd
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 Guangdong Jiangxin Chuang Technology Co ltd filed Critical Guangdong Jiangxin Chuang Technology Co ltd
Priority to CN202311176156.0A priority Critical patent/CN116909625B/zh
Publication of CN116909625A publication Critical patent/CN116909625A/zh
Application granted granted Critical
Publication of CN116909625B publication Critical patent/CN116909625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种命令队列解析方法及其装置、电子设备、存储介质;其中,命令队列解析方法包括:在初始化完成的状态下,获取命令队列的配置信息;将配置信息与预设的合法内存空间范围进行比较,在配置信息未超过合法内存空间范围的情况下,确认配置完成;在配置完成的状态下,从配置信息中获取命令分组的存放地址;根据命令分组的先后顺序和命令分组的对应的存放地址,依次从存储单元中读取命令分组的头数据和命令数据;对头数据和命令数据进行配置检查处理,在配置检查处理完成,并且所有命令分组配置正确的情况下,执行命令队列中的任务;能够在解析、执行命令队列的过程中提高数据正确性,提高系统的容错性和稳定性。

Description

命令队列解析方法及其装置、电子设备、存储介质
技术领域
本发明涉及计算机指令配置领域,尤其是一种命令队列解析方法及其装置、电子设备、存储介质。
背景技术
处理器在从内存中读回命令队列以及解析命令队列的过程中,由于人为失误或是解析错误,可能会出现某些命令数据出错的情况,例如:软件配置错误产生了非法的配置,从而导致系统进入不可预料的运行状态,系统的容错性低、稳定性差。相关技术中,缺少相应的保护设计,以保障较高的数据正确性、较好的系统容错性。
发明内容
以下是对本文详细描述的主题的概述。
本发明实施例提供了一种命令队列解析方法及其装置、电子设备、存储介质,能够在解析、执行命令队列的过程中提高数据正确性,提高系统的容错性和稳定性。
第一方面,本发明实施例提供了一种命令队列解析方法,所述方法包括:
在初始化完成的状态下,获取命令队列的配置信息;其中,所述命令队列包括多个待执行的任务,所述任务包括多个命令分组;所述配置信息是在控制处理器初始化过程中由CPU配置得到,所述配置信息包括所述命令分组在存储单元中的存放地址;
将所述配置信息与预设的合法内存空间范围进行比较,在所述配置信息未超过所述合法内存空间范围的情况下,确认配置完成;
在配置完成的状态下,从所述配置信息中获取所述命令分组的所述存放地址;
根据所述命令分组的先后顺序和所述命令分组的对应的所述存放地址,依次从所述存储单元中读取所述命令分组的头数据和命令数据;
对所述头数据和所述命令数据进行配置检查处理,在所述配置检查处理完成,并且所有所述命令分组配置正确的情况下,执行所述命令队列中的所述任务。
根据本发明的一些实施例,所述对所述头数据和所述命令数据进行配置检查处理,包括:
对一个所述命令分组的所述头数据进行ECC校验处理,得到ECC校验结果;
在所述ECC校验结果为有误的情况下,确定错误比特量;
在所述错误比特量小于或等于预设错误比特阈值的情况下,根据奇偶校验表对所述头数据进行ECC纠错处理得到配置正确的所述头数据;
在确定所述头数据配置正确的情况下,对所述命令数据进行解析处理,得到命令解析数据;
对所述命令解析数据进行CRC校验处理,得到第一CRC值;
将所述第一CRC值与预配置的第二CRC值进行比较,在所述第一CRC值与所述第二CRC值一致的情况下,继续依次对下一个所述命令分组进行配置检查处理,直至所有的所述命令分组解析完毕。
根据本发明的一些实施例,所述确定错误比特量之后,还包括:
在所述错误比特量大于预设错误比特阈值的情况下,确定所述ECC纠错处理无法进行;
报告所述头数据错误,退出所述配置检查处理,进入控制处理器关闭状态。
根据本发明的一些实施例,所述将所述第一CRC值与预配置的第二CRC值进行比较之后,还包括:
在所述第一CRC值与所述第二CRC值不一致的情况下,确定所述CRC校验处理不通过;
报告所述命令数据错误,进入控制处理器关闭状态。
根据本发明的一些实施例,所述执行所述命令队列中的所述任务包括:
执行单个的当前任务;
在执行所述当前任务过程中进行计时处理,得到所述当前任务的任务执行时延;
在所述任务执行时延大于预设阈值的情况下,自动停止执行所述当前任务,进入等待状态。
根据本发明的一些实施例,所述执行单个的当前任务之后,包括:
在所述当前任务执行完成或者自动停止执行所述当前任务的情况下,依次检测所述命令队列中是否还存在待处理的下一个任务;
在所述待处理的下一个任务存在的情况下,继续执行所述下一个任务;
在所述待处理的下一个任务不存在的情况下,结束任务处理,进入控制处理器关闭状态。
根据本发明的一些实施例,所述将所述配置信息与预设的合法内存空间范围进行比较之后,还包括:
在所述配置信息超过所述合法内存空间范围的情况下,确认初步配置错误;
报告配置错误,进入控制处理器关闭状态。
第二方面,本发明实施例提供了一种命令队列解析装置,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如第一方面实施例任一项所述的命令队列解析方法。
第三方面,本发明实施例提供了一种电子设备,包括如第二方面实施例所述的命令队列解析装置。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面实施例任一项所述的命令队列解析方法。
本发明实施例包括:首先,在初始化完成的状态下,获取命令队列的配置信息;其中,命令队列包括多个待执行的任务,任务包括多个命令分组;配置信息是在控制处理器初始化过程中由CPU配置得到,配置信息包括命令分组在存储单元中的存放地址;接着,将配置信息与预设的合法内存空间范围进行比较,在配置信息未超过合法内存空间范围的情况下,确认配置完成,以保障数据的合法性,提高系统的容错性和稳定性;而后,在配置完成的状态下,从配置信息中获取命令分组的存放地址;然后,根据命令分组的先后顺序和命令分组的对应的存放地址,依次从存储单元中读取命令分组的头数据和命令数据;最后,对头数据和命令数据进行配置检查处理,在配置检查处理完成,并且所有命令分组配置正确的情况下,执行命令队列中的任务;确保命令队列的在搬运及解析过程中具有较高的数据正确性,减小在执行命令队列的过程中出错导致系统崩溃这一情况的发生概率,进一步提高系统的容错性和稳定性;即是说,本发明实施例能够在解析、执行命令队列的过程中提高数据正确性,提高系统的容错性和稳定性。
发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书以及附图中所特别指出的结构来实现和获得。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例提供的用于执行命令队列解析方法的系统架构的示意图;
图2是本发明一个实施例提供的图形处理器中命令解析器的模块示意图;
图3是本发明一个实施例提供的命令队列解析方法的流程示意图;
图4a是本发明一个实施例提供的命令队列中单个任务的存放格式的示意图;
图4b是本发明一个实施例提供的单个任务中单个命令分组的格式结构的示意图;
图5是步骤S150中对头数据和命令数据进行配置检查处理的流程示意图;
图6是本发明一个实施例提供的奇偶校验表的具体示意图;
图7是本发明一个实施例提供的校验码穿插形式的示意图;
图8是本发明一个实施例提供的异常处理状态机的状态跳转示意图;
图9是本发明一个实施例提供的命令队列解析装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
需要说明的是,在本发明的描述中虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上。描述到“第一”、“第二”只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本发明中涉及的若干名词进行解释:
CPU(Central Processing Unit,中央处理器)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
GPU:图形处理器(Graphics Processing Unit),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
CMD_PARSER:命令解析器(Command Parser)。
GPU_REG:GPU的内部配置寄存器(GPU Register)。
GPU_FSM:GPU的内部控制状态机(GPU Finite State Machine)。
HEAD_ECC:命令队列头信息解析器及错误(HEAD Error Checking andCorrection)。
CMD_DEC:命令解码(Command decode)。
CMD_CRC:命令数据CRC校验(Command Cyclic Redundancy Check)。
GPU_INIT:GPU初始化(GPU Initialization)。
GPU_CQ_CFG:GPU命令队列配置(GPU Command Que Configuration)。
GPU_CFG_CHK:GPU配置检查(GPU Configuration Check)。
GPU_PROCESS:GPU处理任务(GPU Processing)。
GPU_IDLE:GPU空闲状态(GPU Idle)。
GPU_CLOSE:GPU关闭操作。
GPU_WAIT:GPU等待状态。
gpu_en:GPU使能。
cfg_err:配置错误。
process_err:处理错误。
process_done:处理结束。
wait_done:等待结束。
Close_done:关闭操作完成。
现有的处理器命令队列配置及解析的装置的方法主要基于Ring buf的命令队列的管理方法,避免对内存分配的冗余。处理器在从内存中读回命令队列以及解析命令队列的过程中,由于人为失误或是解析错误,可能会出现某些命令数据出错的情况,例如:软件配置错误产生了非法的配置,从而导致系统进入不可预料的运行状态,系统的容错性低、稳定性差。相关技术中,缺少相应的保护设计,以保障较高的数据正确性、较好的系统容错性。
基于此,本发明提供了一种命令队列解析方法、命令队列解析装置、电子设备及计算机可读存储介质;首先,在初始化完成的状态下,获取命令队列的配置信息;其中,命令队列包括多个待执行的任务,任务包括多个命令分组;配置信息是在控制处理器初始化过程中由CPU配置得到,配置信息包括命令分组在存储单元中的存放地址;接着,将配置信息与预设的合法内存空间范围进行比较,在配置信息未超过合法内存空间范围的情况下,确认配置完成,以保障数据的合法性,提高系统的容错性和稳定性;而后,在配置完成的状态下,从配置信息中获取命令分组的存放地址;然后,根据命令分组的先后顺序和命令分组的对应的存放地址,依次从存储单元中读取命令分组的头数据和命令数据;最后,对头数据和命令数据进行配置检查处理,在配置检查处理完成,并且所有命令分组配置正确的情况下,执行命令队列中的任务;确保命令队列的在搬运及解析过程中具有较高的数据正确性,减小在执行命令队列的过程中出错导致系统崩溃这一情况的发生概率,进一步提高系统的容错性和稳定性;因此,本发明实施例能够在解析、执行命令队列的过程中提高数据正确性,提高系统的容错性和稳定性。
下面结合附图,对本发明实施例作进一步阐述。
结合图1和图2所示,用于执行命令队列解析方法的系统框架包括:中央处理器110、存储单元120、图形处理器130;其中图形处理器130包括:命令解析器131、GPU内部配置寄存器132、GPU内部控制状态机133;其中,中央处理器110分别与存储单元120、图形处理器130中的命令解析器131、GPU内部配置寄存器132通信连接;命令解析器131还与存储单元120、GPU内部控制状态机133通信连接。具体地,命令解析器131包括:HEAD_ECC模块1311、CMD_DEC模块1312、CMD_CRC模块1313和解析器内部控制状态机1314。其中,HEAD_ECC模块1311分别与存储单元120、CMD_DEC模块1312、GPU内部配置寄存器132通信连接;CMD_DEC模块1312分别与CMD_CRC模块1313、GPU内部配置寄存器132通信连接。
其中,中央处理器110用于在图形处理器130初始化时,对图形处理器130中的命令队列的存放的地址和长度进行配置。命令队列包括多个待执行的任务,任务包括多个命令分组。
存储单元120用于存放命令分组的头数据和命令数据,以便于图形处理器130读取头数据和命令数据,便于后续对头数据和命令数据进行配置检查处理。
图形处理器130用于在初始化完成的状态下,获取命令队列的配置信息;其中,命令队列包括多个待执行的任务,任务包括多个命令分组;配置信息是在控制处理器初始化过程中由CPU配置得到,配置信息包括命令分组在存储单元中的存放地址。并将配置信息与预设的合法内存空间范围进行比较,在配置信息未超过合法内存空间范围的情况下,确认配置完成;在配置完成的状态下,从配置信息中获取命令分组的存放地址。命令解析器131根据命令分组的先后顺序和命令分组的对应的存放地址,依次从存储单元中读取命令分组的头数据和命令数据;HEAD_ECC模块1311对头数据进行ECC校验处理得到ECC校验结果;在ECC校验结果为有误的情况下,确定错误比特量;在错误比特量小于或等于预设错误比特阈值的情况下,根据奇偶校验表对头数据进行ECC纠错处理得到配置正确的头数据。在确定头数据配置正确的情况下,CMD_DEC模块1312对命令数据进行解析处理,得到命令解析数据;接着,CMD_CRC模块1313对命令解析数据进行CRC校验处理,得到第一CRC值,将第一CRC值与预配置的第二CRC值进行比较,在第一CRC值与第二CRC值一致的情况下,继续依次对下一个命令分组进行配置检查处理,直至所有的命令分组解析完毕。在此过程中,解析器内部控制状态机1314对命令解析器131的工作状态进行检测,用于在错误比特量大于预设错误比特阈值的情况下,确定ECC纠错处理无法进行;报告头数据错误,退出配置检查处理,进入控制处理器关闭状态;以及在第一CRC值与第二CRC值不一致的情况下,确定CRC校验处理不通过;报告命令数据错误,进入控制处理器关闭状态。在处理异常情况下合理退出,确保命令解析器131不会进入不可预料的运行状态,以保证命令解析器131能稳定工作。
GPU内部配置寄存器132中的一组特定功能的寄存器配置与命令队列中任务的每个CMD group对应。
在针对头数据和命令数据进行的配置检查处理完成,并且所有命令分组配置正确的情况下,图形处理器130执行命令队列中的任务。在任务执行的过程中,GPU内部控制状态机133用于在执行的当前任务的任务执行时延大于预设阈值的情况下,自动停止执行当前任务,使图形处理器130进入等待状态;以及在当前任务执行完成或者自动停止执行当前任务的情况下,依次检测命令队列中是否还存在待处理的下一个任务;在待处理的下一个任务存在的情况下,继续执行下一个任务;在待处理的下一个任务不存在的情况下,结束任务处理,进入控制处理器关闭状态。在处理异常情况下合理退出,确保图形处理器130不会进入不可预料的运行状态,以保证图形处理器130能稳定工作;提高整个控制处理系统的稳定性。
可以理解的是,图形处理器130是控制处理器的一种,本发明在图1和图2中以图形处理器举例说明解析命令队列的工作原理框图。但可以理解的是,本发明所使用的控制处理器并不限于图形处理器。本发明实施例的硬件框图中的图形处理器可替换为播放引擎(Display Engine)和视频编解码引擎(Video encoder/decoder engine)等控制处理器,这些控制处理器都需要使用命令队列以降低CPU与硬件频繁交互的概率。
可以理解的是,本发明实施例通过在命令解析器131中配置HEAD_ECC模块、CMD_DEC模块、CMD_CRC模块,在搬运及解析命令队列的过程中,基于ECC及CRC对命令队列进行错误检测及纠正,以确保命令队列的在搬运及解析过程中具有较高的数据正确性;通过设置内部控制状态机,在处理异常情况下合理退出,确保控制处理器不会进入不可预料的运行状态,以保证控制处理器能稳定工作,提高了整体控制处理系统的容错性和稳定性;有利于控制处理器能够更广泛地应用于工业控制等领域。
本领域技术人员可以理解的是,图中示出的系统结构并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域技术人员可以理解的是,本发明实施例描述的系统架构以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述系统结构,下面提出本发明的命令队列解析方法的各个实施例。
第一方面,如图3所示,该命令队列解析方法能够应用于如图1和图2所示的系统框架中,该命令队列解析方法包括但不限于有步骤S110至步骤S150。
步骤S110:在初始化完成的状态下,获取命令队列的配置信息;其中,命令队列包括多个待执行的任务,任务包括多个命令分组;配置信息是在控制处理器初始化过程中由CPU配置得到,配置信息包括命令分组在存储单元中的存放地址。
本步骤中,在控制处理器的初始化完成的状态下,获取CPU配置的命令队列的配置信息,有利于进行后续的配置合法性检验处理以及获取数据存放地址。
命令队列包括多个待执行的任务,结合图4a和图4b,说明命令队列中单个任务的格式、单个任务中单个命令分组的格式。其中,图4a表示了一个Task的格式结构,具体地,Task包括多个CMD group(命令分组),具体地包括CMD group0、CMD group1、CMDgroup2、……、CMD groupN共N+1个CMD group。图4b表示了一个Task中一个CMD group的格式结构;具体地,每个CMD group对应一组特定功能的寄存器配置,而每个CMD group分为头数据和命令数据两个部分。其中,头数据部分(Group header)规定了:当前CMD group中需要配置的寄存器地址相对于GPU基地址的偏移值reg_offset(2byte),以及数据长度len(2byte);此外还有4byte中存放了头数据的ECC值。需要说明的是,每个任务最后会提示是否还存在下一个任务,如果存在下一个任务,命令队列会自动链接到下一待处理的任务,如果不存在就直接结束并关闭控制处理器。
步骤S120:将配置信息与预设的合法内存空间范围进行比较,在配置信息未超过合法内存空间范围的情况下,确认配置完成。
本步骤中,在判断配置信息未超过合法内存空间范围的情况下,确认配置信息合法,则确认配置完成,有利于在后续能够基于合理的配置环境对命令队列进行读取和解析,保障系统的高效运行。
根据本发明的一些实施例,将配置信息与预设的合法内存空间范围进行比较之后,还包括:在配置信息超过合法内存空间范围的情况下,确认初步配置错误;报告配置错误,进入控制处理器关闭状态。本发明实施例能在发生配置信息不合法、初步配置错误这一处理异常情况时,及时退出处理状态,确保控制处理器不会进入不可预料的运行状态,以保证控制处理器能稳定工作,提高了整体控制处理系统的容错性和稳定性。
步骤S130:在配置完成的状态下,从配置信息中获取命令分组的存放地址。
本步骤中,在合法配置环境下,获取命令分组的存放地址,有利于进行后续的数据读取处理。
步骤S140:根据命令分组的先后顺序和命令分组的对应的存放地址,依次从存储单元中读取命令分组的头数据和命令数据。
本步骤中,基于读取的存放地址和命令分组的先后顺序,进行有序的数据读取处理,有利于提高处理效率,且不易遗漏。
步骤S150:对头数据和命令数据进行配置检查处理,在配置检查处理完成,并且所有命令分组配置正确的情况下,执行命令队列中的任务。
本步骤中,在确认所有命令分组配置正确的情况下,执行命令队列中的任务,确保命令队列的在搬运及解析过程中具有较高的数据正确性,减小在执行命令队列的过程中出错的概率。减小因命令队列执行错误而导致系统崩溃这一情况的发生概率,进一步提高系统的容错性和稳定性。
根据本发明的一些实施例,执行命令队列中的任务包括:执行单个的当前任务;在执行当前任务过程中进行计时处理,得到当前任务的任务执行时延;在任务执行时延大于预设阈值的情况下,自动停止执行当前任务,进入等待状态。在控制处理器(例如:GPU)中增加timeout保护机制,当任务执行时间超过正常执行任务所需的时间阈值后自动跳出任务,从而避免发生控制处理器因任务长时间无法完成而导致系统挂住的情况。
根据本发明的一些实施例,执行当前任务之后,包括:在当前任务执行完成或者自动停止执行当前任务的情况下,依次检测命令队列中是否还存在待处理的下一个任务;在待处理的下一个任务存在的情况下,继续执行下一个任务;在待处理的下一个任务不存在的情况下,结束任务处理,进入控制处理器关闭状态。在当前任务执行完成之后,通过实际的任务排布,确定控制处理器的状态,有利于保障控制处理器中各个处理的有序进行。
另外,需要补充说明的是,图4中描述了单个task中CMD group的结构,为了链接多个CMD group,也可在头数据部分放置标记信息,该标记信息可利用1个bit来指示当前CMDgroup是否是当前task中最后一个CMD group。因此可对该bit进行定义:为高电平代表是最后一个group;为低电平则表示不是最后一个group。解析器可依据这个该标记信息及时完成task解析并跳出进入下一个状态。
通过步骤S110至步骤S150,本发明实施例在初始化完成的状态下,首先获取命令队列的配置信息;其中,命令队列包括多个待执行的任务,任务包括多个命令分组;配置信息是在控制处理器初始化过程中由CPU配置得到,配置信息包括命令分组在存储单元中的存放地址;接着,将配置信息与预设的合法内存空间范围进行比较,在配置信息未超过合法内存空间范围的情况下,确认配置完成,以保障数据的合法性,提高系统的容错性和稳定性;而后,在配置完成的状态下,从配置信息中获取命令分组的存放地址;然后,根据命令分组的先后顺序和命令分组的对应的存放地址,依次从存储单元中读取命令分组的头数据和命令数据;最后,对头数据和命令数据进行配置检查处理,在配置检查处理完成,并且所有命令分组配置正确的情况下,执行命令队列中的任务;确保命令队列的在搬运及解析过程中具有较高的数据正确性,减小在执行命令队列的过程中出错导致系统崩溃这一情况的发生概率,进一步提高系统的容错性和稳定性;因此,本发明实施例能够在解析、执行命令队列的过程中提高数据正确性,提高系统的容错性和稳定性。
参照图5,根据本发明的一些实施例,对步骤S150中的“对头数据和命令数据进行配置检查处理”包括但不限于有步骤S210至步骤S260。
步骤S210:对一个命令分组的头数据进行ECC校验处理,得到ECC校验结果。
步骤S220:在ECC校验结果为有误的情况下,确定错误比特量。
步骤S230:在错误比特量小于或等于预设错误比特阈值的情况下,根据奇偶校验表对头数据进行ECC纠错处理得到配置正确的头数据。
步骤S240:在确定头数据配置正确的情况下,对命令数据进行解析处理,得到命令解析数据。
步骤S250:对命令解析数据进行CRC校验处理,得到第一CRC值。
步骤S260:将第一CRC值与预配置的第二CRC值进行比较,在第一CRC值与第二CRC值一致的情况下,继续依次对下一个命令分组进行配置检查处理,直至所有的命令分组解析完毕。
需要说明的是,第二CRC值是在控制处理器生成配置的阶段就根据配置的命令数据计算好的,作为原始的CRC值。控制处理器(例如:GPU)在解析此命令数据时也会在CMD_CRC模块中实时计算当前CMD的第一CRC值。在解析结束后将计算所得的第一CRC值和命令中原始的第二CRC值进行对比,以此来判断命令数据解析的正确与否。
通过步骤S210至步骤S260,首先对头数据进行ECC校验处理,得到ECC校验结果;当ECC校验结果表示头数据有误时,则确定头数据中的错误比特量,当错误比特量小于或等于预设错误比特阈值时,则表示错误可纠正;基于奇偶校验表对头数据进行ECC纠错处理得到配置正确的头数据后,继续对命令解析数据进行CRC校验处理,得到第一CRC值;当第一CRC值与第二CRC值一致时,CRC校验正确,则表示该命令分组合格,可被执行;依次处理所有的命令分组,以确保待执行的命令分组的具有较高的数据正确性。
根据本发明的一些实施例,对步骤S220进行进一步说明,执行步骤S220中“确定错误比特量”之后,命令队列解析方法还包括:在错误比特量大于预设错误比特阈值的情况下,确定ECC纠错处理无法进行;报告头数据错误,退出配检查处理,进入控制处理器关闭状态。在错误量超过当前的纠错能力的情况下,报告头数据错误,不继续对命令数据进行CRC校验,进入控制处理器关闭状态;有利于节约系统资源,提高控制处理器的处理效率。
在一些实施例中,结合图6和图7,对步骤S230中的“根据奇偶校验表对头数据进行ECC纠错处理得到配置正确的头数据”进行进一步说明。
需要说明的是,奇偶校验表是根据汉明码所得;而汉明码是由校验码与数据为穿插而成。具体地,如图7所示的38bit汉明码中:6bit为校验位(图7中序号为1、2、4、8、16、32的数据位)、32bit为数据位。插入的每个校验位由已有的32bit数据中的部分数据通过异或得到,其中每个校验位的计算式如下所示:
P1=D30^D28^D26^D25^D23^D21^D19^D17^D15^D13^D11^D10^D8^D6^D4^D3^D1^D0;
P2=D31^D30^D28^D27^D25^D24^D21^D20^D17^D16^D13^D12^D10^D9^D6^D5^D3^D2^D0;
P4=D31^D30^D29^D25^D24^D23^D22^D17^D16^D15^D14^D10^D9^D8^D7^D3^D2^D1;
P8=D25^D24^D23^D22^D21^D20^D19^D18^D10^D9^D8^D7^D6^D5^D4;
P16=D25^D24^D23^D22^D21^D20^D19^D18^D17^D16^D15^D14^D13^D12^D11;
P32=D31^D30^D29^D28^D27^D26;
P0=P1^P2^P4^P8^P16^P32=D30^D29^D27^D24^D23^D21^D18^D17^D14^D12^D11^D10^D7^D5^D4^D2^D1^D0;其中,符号^表示异或运算。
校验结果为8bit,则P={1’b0,P32,P16,P8,P4,P2,P1,P0}。
假设原始数据是32’h0002,按上述公式计算得到原始数据(32’h0002)正确的校验值为:P=8’h0b。
倘若在解析的过程中出现1bit的错误导致原始数据错误:32’h0002—>32’h0003,通过同样的计算公式得到有误的数据(32’h0003)的校验值:P’=8’h0c。
将P和P’进行按位异或得到校验码:K=P^P’=8’h07。
以校验码为07到图6所示的表中进行查找确定bit0出现错误,将bit0发生的1bit错误成功纠正即可。
根据本发明的一些实施例,对步骤S260进行进一步说明,执行步骤S260将第一CRC值与预配置的第二CRC值进行比较之后,还包括:在第一CRC值与第二CRC值不一致的情况下,确定CRC校验处理不通过;报告命令数据错误,进入控制处理器关闭状态。CRC校验处理不通过,说明命令分组不合格,将报告命令数据错误,进入控制处理器关闭状态,等待触发下一次的配置检查处理。
本发明实施例至少具有以下三个方面的有益效果:
一是,通过数据错误校验能及时检查出配置中数据是否存在解析错误,在搬运及解析命令队列进行基于ECC及CRC的错误检测及纠正,有利于确保较高的数据正确性。
二是,通过异常处理状态机的设计合理应对系统中出现异常状态,避免系统进入不受控制的工作状态。
三是,在处理控制器中增加数据配置正确性的检查,及时发现软件配置中的不合法的配置,从而避免参数数错误导致的异常情况。
举一示例,结合图1和图8,以GPU中的命令队列为例,对本发明实施例的命令队列解析方法进行具体说明。
首先,在GPU使能且命令准备完成,即gpu_en==1&&cq_rdy==1的情况下,GPU从GPU_IDLE状态跳转为GPU_INIT状态。
接着,在初始化完成,即init_done==1的情况下,从GPU_INIT状态跳转至GPU_CQ_CFG状态。
然后,在GPU_CQ_CFG状态下,CPU会对GPU中命令队列存放的地址和长度进行配置。在命令配置完成,即cq_cfg_done==1的情况下,从GPU_CQ_CFG状态跳转至GPU_CFG_CHK状态。或者,在GPU复位或配置错误,即gpu_en==0||efg_err==1的情况下,从GPU_CQ_CFG状态跳转至GPU_WAIT状态。
而后,在GPU_CFG_CHK状态下,在命令配置检查完成且正确,即cq_chk_done==1的情况下,从GPU_CFG_CHK状态跳转至GPU_PROCESS状态;或者,在GPU复位或配置错误,即gpu_en==0||efg_err==1的情况下,从GPU_CFG_CHK状态跳转至GPU_CLOSE状态。具体地,GPU会根据系统规定的合法内存空间范围对所配置的数据进行检查,如果超出合法空间就报出地址配置错误(相当于efg_err==1),则跳出当前任务,关闭GPU,从而起到保护硬件的作用。在初步的配置无误的情况下,接着对命令队列进行配置检查。首先根据指定的存放地址和group的先后顺序从内存中依次取回group的头数据和命令数据两部分。对取回的头数据进行ECC的校验和纠错,如若有超过1bit错误,ECC无法对其进行纠错,只能报出当前group_head错误并退出任务关闭GPU;如果只有1bit错误,则结合奇偶校验表对错误数据进行ECC纠错,继续运行;头数据解析完成后,接着开始解析命令数据,同时对解析的解析数据进行CRC校验,如果对命令数据解析得到的第一CRC值和当前group的预先计算好的第二CRC值进行比较,如果不一致说明数据解析有误,报错并退出,关闭GPU。如果一致,继续解析下一个group。依次类推,直到所有的group解析完毕,并跳到GPU_PROCESS状态,开始执行任务。
接着,在GPU_PROCESS状态下,执行配置正确的命令队列中的任务,在任务处理完成即process_done==1的情况下,从GPU_PROCESS状态跳转至GPU_WAIT状态;或者,在GPU复位或任务处理错误的情况下,从GPU_PROCESS状态跳转至GPU_WAIT状态。具体地,在执行任务的过程中如果遇到软件意外操作,比如关闭GPU(gpu_en==0),此时GPU必须执行完当前任务;执行完当前任务后,无论命令队列中是否还有待处理的任务,都直接从GPU_PROCESS状态跳转到GPU_CLOSE状态。另外,在处理任务的过程中,增加timeout保护机制,当任务执行用时超过正常执行任务所需的时间阈值后,判断任务处理错误(process_done==1)则自动跳出当前的任务,如果存在下一个待执行的任务,则继续执行下一个待执行的任务;从而避免GPU因任务长时间无法接受而使系统挂住。
在GPU_WAIT状态下,在等待完成即wait_done==1的情况下,则从GPU_WAIT状态跳转至GPU_CLOSE状态。
在GPU_CLOSE状态下,等待所有模块都回到空闲状态,若关闭操作完成即close_done==1的情况下,从GPU_CLOSE状态跳转至GPU_WAIT状态。
GPU_WAIT状态下,GPU进入低功耗状态,等待下一次配置的触发。触发后,从GPU_IDLE状态跳转为GPU_INIT状态。
综上所述,本发明实施例基于Ring buf设计的命令队列,对命令队列进行错误校验以及设计了针对异常处理情况的处理状态机。在搬运及解析命令队列进行基于ECC及CRC的错误检测及纠正,在解析、执行命令队列的过程中提高数据正确性;处理状态机的设计解决了在执行命令队列的过程中意外出错导致系统崩溃的问题,提高系统的容错性和稳定性。
如图9所示,图9是本发明一个实施例提供的命令队列解析装置的结构图。本发明还提供了一种命令队列解析装置900,包括:处理器901、存储器902、输入/输出接口903、通信接口904和总线905。
处理器901,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案。
存储器902,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本申请实施例的命令队列解析方法。
输入/输出接口903,用于实现信息输入及输出。
通信接口904,用于实现本装置与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息。
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种电子设备,包括如上所述的命令队列解析装置。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述命令队列解析方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,实现了以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本发明所限定的范围内。

Claims (9)

1.一种命令队列解析方法,其特征在于,所述方法包括:
在初始化完成的状态下,获取命令队列的配置信息;其中,所述命令队列包括多个待执行的任务,所述任务包括多个命令分组;所述配置信息是在控制处理器初始化过程中由CPU配置得到,所述配置信息包括所述命令分组在存储单元中的存放地址;
将所述配置信息与预设的合法内存空间范围进行比较,在所述配置信息未超过所述合法内存空间范围的情况下,确认配置完成;
在配置完成的状态下,从所述配置信息中获取所述命令分组的所述存放地址;
根据所述命令分组的先后顺序和所述命令分组的对应的所述存放地址,依次从所述存储单元中读取所述命令分组的头数据和命令数据;
对所述头数据和所述命令数据进行配置检查处理,在所述配置检查处理完成,并且所有所述命令分组配置正确的情况下,执行所述命令队列中的所述任务;
所述对所述头数据和所述命令数据进行配置检查处理,包括:
对一个所述命令分组的所述头数据进行ECC校验处理,得到ECC校验结果;
在所述ECC校验结果为有误的情况下,确定错误比特量;
在所述错误比特量小于或等于预设错误比特阈值的情况下,根据奇偶校验表对所述头数据进行ECC纠错处理得到配置正确的所述头数据;
在确定所述头数据配置正确的情况下,对所述命令数据进行解析处理,得到命令解析数据;
对所述命令解析数据进行CRC校验处理,得到第一CRC值;
将所述第一CRC值与预配置的第二CRC值进行比较,在所述第一CRC值与所述第二CRC值一致的情况下,继续依次对下一个所述命令分组进行配置检查处理,直至所有的所述命令分组解析完毕。
2.根据权利要求1所述的命令队列解析方法,其特征在于,所述确定错误比特量之后,还包括:
在所述错误比特量大于预设错误比特阈值的情况下,确定所述ECC纠错处理无法进行;
报告所述头数据错误,退出所述配置检查处理,进入控制处理器关闭状态。
3.根据权利要求1所述的命令队列解析方法,其特征在于,所述将所述第一CRC值与预配置的第二CRC值进行比较之后,还包括:
在所述第一CRC值与所述第二CRC值不一致的情况下,确定所述CRC校验处理不通过;
报告所述命令数据错误,进入控制处理器关闭状态。
4.根据权利要求1所述的命令队列解析方法,其特征在于,所述执行所述命令队列中的所述任务包括:
执行单个的当前任务;
在执行所述当前任务过程中进行计时处理,得到所述当前任务的任务执行时延;
在所述任务执行时延大于预设阈值的情况下,自动停止执行所述当前任务,进入等待状态。
5.根据权利要求4所述的命令队列解析方法,其特征在于,所述执行单个的当前任务之后,包括:
在所述当前任务执行完成或者自动停止执行所述当前任务的情况下,依次检测所述命令队列中是否还存在待处理的下一个任务;
在所述待处理的下一个任务存在的情况下,继续执行所述下一个任务;
在所述待处理的下一个任务不存在的情况下,结束任务处理,进入控制处理器关闭状态。
6.根据权利要求1所述的命令队列解析方法,其特征在于,所述将所述配置信息与预设的合法内存空间范围进行比较之后,还包括:
在所述配置信息超过所述合法内存空间范围的情况下,确认初步配置错误;
报告配置错误,进入控制处理器关闭状态。
7.一种命令队列解析装置,其特征在于,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至6任一项所述的命令队列解析方法。
8.一种电子设备,其特征在于,包括如权利要求7所述的命令队列解析装置。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至6任一项所述的命令队列解析方法。
CN202311176156.0A 2023-09-13 2023-09-13 命令队列解析方法及其装置、电子设备、存储介质 Active CN116909625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311176156.0A CN116909625B (zh) 2023-09-13 2023-09-13 命令队列解析方法及其装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311176156.0A CN116909625B (zh) 2023-09-13 2023-09-13 命令队列解析方法及其装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN116909625A CN116909625A (zh) 2023-10-20
CN116909625B true CN116909625B (zh) 2023-12-12

Family

ID=88353443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311176156.0A Active CN116909625B (zh) 2023-09-13 2023-09-13 命令队列解析方法及其装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN116909625B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105554098A (zh) * 2015-12-14 2016-05-04 瑞斯康达科技发展股份有限公司 一种设备配置方法、服务器及系统
CN107153620A (zh) * 2016-03-03 2017-09-12 青岛海信电器股份有限公司 一种数据处理方法及装置
CN107302531A (zh) * 2017-06-19 2017-10-27 青岛华潞佳电子科技有限公司 一种基于状态机和环形队列的串口命令解析方法
CN111356992A (zh) * 2018-06-29 2020-06-30 西部数据技术公司 用于预测涉及非顺序数据的多个读取命令的系统和方法
US10769013B1 (en) * 2018-06-11 2020-09-08 Cadence Design Systems, Inc. Caching error checking data for memory having inline storage configurations
CN115543186A (zh) * 2021-06-14 2022-12-30 美光科技公司 使用命令序列分析管理存储器命令引擎

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105554098A (zh) * 2015-12-14 2016-05-04 瑞斯康达科技发展股份有限公司 一种设备配置方法、服务器及系统
CN107153620A (zh) * 2016-03-03 2017-09-12 青岛海信电器股份有限公司 一种数据处理方法及装置
CN107302531A (zh) * 2017-06-19 2017-10-27 青岛华潞佳电子科技有限公司 一种基于状态机和环形队列的串口命令解析方法
US10769013B1 (en) * 2018-06-11 2020-09-08 Cadence Design Systems, Inc. Caching error checking data for memory having inline storage configurations
CN111356992A (zh) * 2018-06-29 2020-06-30 西部数据技术公司 用于预测涉及非顺序数据的多个读取命令的系统和方法
CN115543186A (zh) * 2021-06-14 2022-12-30 美光科技公司 使用命令序列分析管理存储器命令引擎

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于OpenGL的GPU命令处理器设计方法研究;刘晖 等;航空计算技术(第03期);109-112 *

Also Published As

Publication number Publication date
CN116909625A (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
US7788535B2 (en) Means and method for debugging
US8555256B2 (en) Pass-by breakpoint setting and debugging method and device
US20090199056A1 (en) Memory diagnosis method
CN108363640B (zh) 数据校验方法及装置、计算机可读存储介质
US10062451B2 (en) Background memory test apparatus and methods
CN111273891A (zh) 基于规则引擎的业务决策方法、装置及终端设备
CN110471832B (zh) 程序运行的处理方法、装置及计算机可读存储介质
CN106997313B (zh) 一种应用程序的信号处理方法、系统及终端设备
CN114691578B (zh) 一种高性能串行通信方法、系统、介质、设备及终端
CN114756284A (zh) 变长指令集系统栈回溯的实现方法及装置
CN116909625B (zh) 命令队列解析方法及其装置、电子设备、存储介质
US20170031750A1 (en) Zero Overhead Code Coverage Analysis
CN112732358B (zh) 一种航天器控制脚本的编写方法和装置
CN112634973A (zh) 存储介质的数据重读方法、系统、终端设备以及存储介质
CN111666102A (zh) 文件格式转换方法、芯片验证方法、相关装置及网络芯片
CN107480045A (zh) 一种电能表软件的检错纠错与轨迹跟踪方法
US8103933B2 (en) Method for securing data and device for implementing the same
CN107957883B (zh) 数据处理方法、51单片机、设备及可读存储介质
US9361204B2 (en) Generating trace data including a lockup identifier indicating occurrence of a lockup state
CN112052165B (zh) 一种检测目标函数被调试的方法、系统及存储介质
US10846162B2 (en) Secure forking of error telemetry data to independent processing units
US20150199228A1 (en) Conditional branch programming technique
CN109885402B (zh) 测试函数输出数据溢出的方法、终端设备及存储介质
CN113568840B (zh) 一种识别过渡绘制的方法和系统
CN112527660B (zh) 代码的静态检测方法和装置

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
GR01 Patent grant
GR01 Patent grant