CN111737155A - 一种芯片调试系统、方法、装置、设备及存储介质 - Google Patents

一种芯片调试系统、方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111737155A
CN111737155A CN202010769827.4A CN202010769827A CN111737155A CN 111737155 A CN111737155 A CN 111737155A CN 202010769827 A CN202010769827 A CN 202010769827A CN 111737155 A CN111737155 A CN 111737155A
Authority
CN
China
Prior art keywords
debugging
chip
module
packet
debugged
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.)
Granted
Application number
CN202010769827.4A
Other languages
English (en)
Other versions
CN111737155B (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.)
Beijing Suiyuan Intelligent Technology Co ltd
Original Assignee
Beijing Suiyuan Intelligent 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 Beijing Suiyuan Intelligent Technology Co ltd filed Critical Beijing Suiyuan Intelligent Technology Co ltd
Priority to CN202010769827.4A priority Critical patent/CN111737155B/zh
Publication of CN111737155A publication Critical patent/CN111737155A/zh
Application granted granted Critical
Publication of CN111737155B publication Critical patent/CN111737155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种芯片调试系统、方法、装置、设备及存储介质。其中,系统包括:调试软件模块、至少一个芯片内部待调试模块、调试侧写模块以及调试信息存储模块。本发明实施例可以通过只包含最简略的信息的调试数据包减少总线带宽消耗,可以通过调试侧写模块将各调试数据包的发出时间戳和对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到对应的时间戳调试包,以使后续调试软件模块根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片的清晰的系统性能画像,提升芯片调试的可见性。

Description

一种芯片调试系统、方法、装置、设备及存储介质
技术领域
本发明实施例涉及软件调试技术,尤其涉及一种芯片调试系统、方法、装置、设备及存储介质。
背景技术
在芯片的开发和测试过程中,为了对芯片进行软件性能调优和硬件设计优化,需要对芯片进行调试,分析芯片的工作状态、数据流以及性能。
相关技术中,通常采用以下芯片调试方式:将芯片内部数据通过多路选择器选择后输出到片外,通过示波器或者逻辑分析仪进行芯片调试分析;在芯片内部设计专用的追踪总线、断点检测模块以及交互触发模块等;在芯片内部设计总线监视模块,提取信息然后获得性能情况;通过外部调试设备,通过芯片的外部总线读取芯片内部的寄存器状态。
但是相关技术中,将芯片内部数据通过多路选择器选择后输出到片外的芯片调试方式可见性很差,得不到芯片工作的全貌甚至细节,不能反映设计模块间的相互工作关系,不能知晓数据流的分段耗时;在芯片内部设计专用的追踪总线、断点检测模块以及交互触发模块的芯片调试方式会有非常多的硬件消耗,显著增加面积和功耗;在芯片内部设计总线监视模块的芯片调试方式可见性差,获得的信息取决于总线上的数据包的特征,对于缺乏总线的模块或者总线数据包特征不好识别的模块不能监测,同时没办法弄清楚数据流在不同模块间的耗时;通过外部调试设备读取芯片内部的寄存器状态的芯片调试方式可见性差,读取数据不及时,零散的读写芯片寄存器的操作影响芯片的正常工作,占用总线带宽,从而影响性能调试的准确性。
发明内容
本发明实施例提供一种芯片调试系统、方法、装置、设备及存储介质,以优化现有的芯片调试方法,提升芯片调试的可见性,减少芯片调试的资源耗费。
第一方面,本发明实施例提供了一种芯片调试系统,包括:
调试软件模块、至少一个芯片内部待调试模块、调试侧写模块以及调试信息存储模块;
其中,调试软件模块,用于将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;为各硬件执行指令包添加原始包标识符,原始包标识符为硬件执行指令包的标志信息;将各硬件执行指令包发送至各芯片内部待调试模块;从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像;
各芯片内部待调试模块,用于接收调试软件模块发送的各硬件执行指令包;执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块;
调试侧写模块,用于接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包;根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试侧写模块之间的延迟时间;根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及所述各芯片内部待调试模块和所述调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包;通过总线互联网络将各时间戳调试包发送至调试信息存储模块;
调试信息存储模块,用于接收调试侧写模块发送的各时间戳调试包,通过环形缓冲器的方式存储各时间戳调试包。
第二方面,本发明实施例还提供了一种芯片调试方法,应用于如第一方面所述的芯片调试系统中的调试软件模块中,包括:
调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;
调试软件模块为各硬件执行指令包添加原始包标识符,原始包标识符为硬件执行指令包的标志信息;
调试软件模块将各硬件执行指令包发送至各芯片内部待调试模块;
调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像。
第三方面,本发明实施例还提供了一种芯片调试方法,应用于如第一方面所述的芯片调试系统中的芯片内部待调试模块中,包括:
芯片内部待调试模块接收调试软件模块发送的各硬件执行指令包;
芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;
芯片内部待调试模块将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。
第四方面,本发明实施例还提供了一种芯片调试方法,应用于如第一方面所述的芯片调试系统中的调试侧写模块中,包括:
调试侧写模块接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包;
调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试侧写模块之间的延迟时间;
调试侧写模块根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;
调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包;
调试侧写模块通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
第五方面,本发明实施例还提供了一种芯片调试装置,配置于如第一方面所述的芯片调试系统中的调试软件模块中,包括:
指令包生成单元,用于将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;
标识符添加单元,用于为各硬件执行指令包添加原始包标识符,原始包标识符为硬件执行指令包的标志信息;
指令包发送单元,用于将各硬件执行指令包发送至各芯片内部待调试模块;
信息恢复单元,用于从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像。
第六方面,本发明实施例还提供了一种芯片调试装置,配置于如第一方面所述的芯片调试系统中的芯片内部待调试模块中,包括:
指令包接收单元,用于接收调试软件模块发送的各硬件执行指令包;
调试数据包生成单元,用于执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;
调试数据包发送单元,用于将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。
第七方面,本发明实施例还提供了一种芯片调试装置,配置于如第一方面所述的芯片调试系统中的调试侧写模块中,包括:
调试数据包接收单元,用于接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包;
延迟时间计算单元,用于根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试侧写模块之间的延迟时间;
时间戳计算单元,用于根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;
信息添加单元,用于将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包;时间戳调试包发送单元,用于通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
第八方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如本发明实施例所述的芯片调试方法。
第九方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明实施例所述的芯片调试方法。
本发明实施例的技术方案,通过调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;为各硬件执行指令包添加原始包标识符,然后将各硬件执行指令包发送至各芯片内部待调试模块;各芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包,然后将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块;调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试软件模块之间的延迟时间,根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,然后通过总线互联网络将各时间戳调试包发送至调试信息存储模块;调试信息存储模块通过环形缓冲器的方式存储各时间戳调试包;调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像,可以通过只包含最简略的信息的调试数据包传递调试数据,减少总线带宽消耗,减少芯片调试的资源耗费,可以通过调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,以使后续调试软件模块根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片的清晰的系统性能画像,提升芯片调试的可见性。
附图说明
图1为本发明实施例一提供的一种芯片调试系统的结构示意图。
图2为本发明实施例二提供的一种芯片调试方法的流程图。
图3为本发明实施例三提供的一种芯片调试方法的流程图。
图4为本发明实施例四提供的一种芯片调试方法的流程图。
图5为本发明实施例五提供的一种芯片调试装置的结构示意图。
图6为本发明实施例六提供的一种芯片调试装置的结构示意图。
图7为本发明实施例七提供的一种芯片调试装置的结构示意图。
图8为本发明实施例八提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种芯片调试系统的结构示意图。本实施例可适用于进行芯片调试的情况。如图1所示,该芯片调试系统具体可以包括:调试软件模块101、至少一个芯片内部待调试模块102、调试侧写模块103以及调试信息存储模块104,下面对其结构和功能进行说明。
其中,调试软件模块101,用于将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;为各硬件执行指令包添加原始包标识符,原始包标识符为硬件执行指令包的标志信息;将各硬件执行指令包发送至各芯片内部待调试模块102;从调试信息存储模块104中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块102中的分发处理时间点和耗时信息,得到芯片系统性能画像。
各芯片内部待调试模块102,用于接收调试软件模块101发送的各硬件执行指令包;执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块103。
调试侧写模块103,用于接收各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包;根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块102和调试软件模块103之间的延迟时间;根据接收各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块102和调试侧写模块103之间的延迟时间,计算各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包的发出时间戳;将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包;通过总线互联网络将各时间戳调试包发送至调试信息存储模块104。
调试信息存储模块104,用于接收调试侧写模块103发送的各时间戳调试包,通过环形缓冲器的方式存储各时间戳调试包。
具体的,调试软件模块101将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包。调试软件模块101为各硬件执行指令包添加原始包标识符,然后将各硬件执行指令包发送至各芯片内部待调试模块102。各芯片内部待调试模块102接收调试软件模块101发送的各硬件执行指令包,执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包。然后各芯片内部待调试模块102将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块103。调试侧写模块103接收各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包,然后根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块102和调试软件模块103之间的延迟时间,根据接收各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块102和调试侧写模块103之间的延迟时间,计算各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包的发出时间戳。调试侧写模块103将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,然后通过总线互联网络将各时间戳调试包发送至调试信息存储模块104。调试信息存储模块104接收调试侧写模块103发送的各时间戳调试包,通过环形缓冲器的方式存储各时间戳调试包。调试软件模块101从调试信息存储模块104中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块102中的分发处理时间点和耗时信息,得到芯片系统性能画像。
可选的,待调试程序是用于对芯片进行调试的程序。待调试程序是基于计算图编程模型开发的程序。在基于计算图编程模型开发的程序中,例如,基于开源软件库Tensorflow开发的程序,节点(Node)表示计算单元,边缘(Edges)表示计算使用或产生的数据。计算图中的节点对应框架中的算子(OP),算子用来表示运行在框架上执行的计算操作。程序由若干个算子组成,每一个算子对应若干项硬件执行指令。若干项硬件执行指令可以组成一个硬件执行流(Stream)。一个算子可以由若干个硬件执行流构成。
具体的,待调试程序由至少一个算子组成,每一个算子对应若干项硬件执行指令。调试软件模块101将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包。硬件执行指令包中包括与算子对应的全部硬件执行指令。
在一个具体实例中,待调试程序由3个算子组成。调试软件模块101将与待调试程序对应的计算图编程模型拆分成3个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包。
原始包标识符是硬件执行指令包的标识信息,为各硬件执行指令包在数据流中的唯一标志。原始包标识符可以在芯片的任一芯片内部待调试模块102中被识别出来。
可选的,调试软件模块101为各硬件执行指令包添加原始包标识符,包括:调试软件模块101通过散列函数或者顺序增加方式,为各硬件执行指令包添加原始包标识符。
具体的,散列函数是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。散列函数就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数,可以将一个数据转换为一个标志,这个标志和源数据的每一个字节都有十分紧密的关系。调试软件模块101通过散列函数对各硬件执行指令包进行压缩映射,将各硬件执行指令包变换成固定长度的散列值,将各硬件执行指令包对应的散列值作为各硬件执行指令包的原始包标识符,添加至各硬件执行指令包中。
具体的,调试软件模块101对各硬件执行指令包进行排序,通过顺序增加方式,依次为各硬件执行指令包指定一个对应的数字标识,将各硬件执行指令包对应的数字标识作为各硬件执行指令包的原始包标识符,添加至各硬件执行指令包中。
芯片内部待调试模块102可以为芯片内部需要进行调试的设备。一个芯片可以包含多个芯片内部待调试模块102。在调试过程中,由调试软件模块101将各硬件执行指令包发送至各芯片内部待调试模块102,以使各芯片内部待调试模块102执行各硬件执行指令包,完成待调试程序所需的硬件功能。
各芯片内部待调试模块102执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息。可选的,参与调试的事件类型包括:开始、结束、拆分以及异常,事件类型标志包括:开始标志、结束标志、拆分标志以及异常标志,补充信息包括:虚拟通道信息和优先级信息;其中,参与调试的事件类型是根据与待调试程序对应的事件类型配置信息确定的。
与待调试程序对应的事件类型配置信息是用于确定参与与待调试程序对应的调试过程的事件类型的信息。即事件类型是否参与调试是可配置的。
如果根据与待调试程序对应的事件类型配置信息确定,参与调试的事件类型包括:开始、结束、拆分以及异常,则相应的事件类型标志包括:开始标志、结束标志、拆分标志以及异常标志。如果根据与待调试程序对应的事件类型配置信息确定,参与调试的事件类型包括:开始、结束,则相应的事件类型标志包括:开始标志、结束标志。具体的,当硬件执行指令包在芯片内部待调试模块102中被处理,会触发各种事件,事件类型属于参与调试的事件类型的事件被映射为事件类型标志和补充信息。参与调试的事件类型包括:开始,结束,拆分,异常等。开始事件被映射为开始标志。结束事件被映射为结束标志。拆分事件被映射为拆分标志。异常被映射为异常标志。补充信息包括:虚拟通道信息和优先级信息。虚拟通道信息包括事件使用的虚拟通道。优先级信息包括事件的优先级。
可选的,各芯片内部待调试模块102根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包,包括:各芯片内部待调试模块102将各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息组合在一起,得到与各硬件执行指令包对应的调试数据包。与硬件执行指令包对应的调试数据包中包括:硬件执行指令包的原始包标识符、硬件执行指令包执行过程中的事件类型标志和补充信息。调试数据包只包含最简略的信息,可以减少总线带宽消耗。各芯片内部待调试模块102将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块103。调试数据包只需要嵌入正常的当前数据流中就可以,不需要设计专门的调试总线。
调试侧写模块103可以为芯片外部的计算机设备,作为调试数据包的目的地,收集调试数据包,并对调试数据包进行处理。可选的,与各硬件执行指令包对应的调试数据包被总线网络分发到调试侧写模块103。调试侧写模块103接收与各硬件执行指令包对应的调试数据包,然后根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块102和调试软件模块103之间的延迟时间。
可选的,绝对延时信息可以为芯片物理实现上面的绝对延时时间。各芯片内部待调试模块在生成调试数据包后,间隔指定的时间,将调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块103。指定的时间即为绝对延时时间。示例性的,芯片物理实现上面的绝对延时时间可以为10毫秒。统计延时信息可以为通过离散事件模拟器NS3统计的各芯片内部待调试模块102与调试侧写模块103之间的端到端延迟时间。调试侧写模块103将绝对延时时间和端到端延迟时间之和,作为各芯片内部待调试模块102和调试软件模块103之间的延迟时间。
可选的,根据接收各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块102和调试侧写模块103之间的延迟时间,计算各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包的发出时间戳,包括:调试侧写模块103将接收各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包的接收时间减去各芯片内部待调试模块102和调试侧写模块103之间的延迟时间,得到各芯片内部待调试模块102发送的与各硬件执行指令包对应的调试数据包发出时的时间戳,即发出时间戳。
与各调试数据包对应的芯片内部待调试模块标识信息为发送各调试数据包的芯片内部待调试模块的标识信息。调试侧写模块103将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包。时间戳调试包中包括:芯片内部待调试模块标识信息、硬件执行指令包的原始包标识符、硬件执行指令包执行过程中的事件类型标志和补充信息以及发出时间戳。然后调试侧写模块103通过总线互联网络将各时间戳调试包发送至调试信息存储模块104
可选的,调试侧写模块103通过总线互联网络将各时间戳调试包发送至调试信息存储模块104,可以包括:调试侧写模块103使用突发传送形式,通过总线互联网络将各时间戳调试包发送至调试信息存储模块104。
突发传送形式是指将整个信道专用于传送一个源节点的数据的传送模式。使用突发传送形式,通过总线互联网络将各时间戳调试包发送至调试信息存储模块104,可以提高各时间戳调试包的传输效率,降低对调试信息存储模块104的总线的影响。
调试信息存储模块104接收调试侧写模块103发送的各时间戳调试包,通过环形缓冲器的方式存储各时间戳调试包。调试信息存储模块104可以为芯片内部存储设备或者芯片外部的主机存储设备。在通信程序中,经常使用环形缓冲器作为数据结构来存放通信中发送和接收的数据。环形缓冲区是一个先进先出的循环缓冲区,可以向通信程序提供对缓冲区的互斥访问。调试信息存储模块104通过环形缓冲器的方式存储各时间戳调试包,方便复用。
调试软件模块101从调试信息存储模块104中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块102中的分发处理时间点和耗时信息,得到芯片系统性能画像。
可选的,分发处理时间点可以包括调试软件模块101发送各硬件执行指令包至芯片中的各芯片内部待调试模块时的时间戳、芯片中的各芯片内部待调试模块执行完各硬件执行指令包时的时间戳。耗时信息可以为芯片中的各芯片内部待调试模块执行各硬件执行指令包时的时间消耗,即芯片内部待调试模块执行完硬件执行指令包时的时间戳与调试软件模块101发送硬件执行指令包时的时间戳之差。芯片系统性能画像包括:调试软件模块101发送各硬件执行指令包至芯片中的各芯片内部待调试模块时的时间戳、芯片中的各芯片内部待调试模块执行完各硬件执行指令包时的时间戳、以及芯片中的各芯片内部待调试模块执行各硬件执行指令包时的时间消耗。根据芯片系统性能画像可以确定与待调试程序对应的各硬件执行指令包是否按预期执行,从而确定各芯片内部待调试模块是否完成待调试程序所需的硬件功能。
具体的,针对每一个时间戳调试包,调试软件模块101根据时间戳调试包中的原始包标识符,确定与时间戳调试包对应的目标硬件执行指令包,确定调试软件模块101发送目标硬件执行指令包时的时间戳。调试软件模块101根据时间戳调试包中的芯片内部待调试模块标识信息,确定与时间戳调试包对应的目标芯片内部待调试模块。调试软件模块101根据时间戳调试包中的时间戳信息,确定目标芯片内部待调试模块发出与时间戳调试包对应的目标调试数据包的时间戳,即确定目标芯片内部待调试模块执行完目标硬件执行指令包时的时间戳,从而进一步可以根据调试软件模块101发送目标硬件执行指令包时的时间戳、目标芯片内部待调试模块执行完目标硬件执行指令包时的时间戳,确定目标芯片内部待调试模块执行目标硬件执行指令包的时间消耗。
可选的,调试软件模块101根据时间戳调试包中的事件类型标志以及补充信息,可以确定目标硬件执行指令包在目标芯片内部待调试模块中的执行流程,并确定执行流程中的其它补充性能信息,从而可以确定目标硬件执行指令包是否按预期执行。
由此,调试软件模块101能够恢复出任意一个硬件执行指令包的路由流程、时间消耗以及其它补充性能信息。
本发明实施例提供了一种芯片调试方法,通过调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;为各硬件执行指令包添加原始包标识符,然后将各硬件执行指令包发送至各芯片内部待调试模块;各芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包,然后将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块;调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试软件模块之间的延迟时间,根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,然后通过总线互联网络将各时间戳调试包发送至调试信息存储模块;调试信息存储模块通过环形缓冲器的方式存储各时间戳调试包;调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像,可以通过只包含最简略的信息的调试数据包传递调试数据,减少总线带宽消耗,减少芯片调试的资源耗费,可以通过调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,以使后续调试软件模块根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片的清晰的系统性能画像,提升芯片调试的可见性。
实施例二
图2为本发明实施例二提供的一种芯片调试方法的流程图。本实施例可适用于进行芯片调试的情况。该方法可以应用于本发明上述实施例提供的芯片调试系统中的调试软件模块中。如图2所示,本实施例的方法具体包括:
步骤201、调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包。
本实施例中未详尽的描述可以参考前述实施例。
可选的,调试软件模块可以为芯片外部的计算机设备。
可选的,待调试程序是用于对芯片进行调试的程序。待调试程序是基于计算图编程模型开发的程序。在基于计算图编程模型开发的程序中,例如,基于开源软件库Tensorflow开发的程序,节点(Node)表示计算单元,边缘(Edges)表示计算使用或产生的数据。计算图中的节点对应框架中的算子(OP),算子用来表示运行在框架上执行的计算操作。程序由若干个算子组成,每一个算子对应若干项硬件执行指令。若干项硬件执行指令可以组成一个硬件执行流(Stream)。一个算子可以由若干个硬件执行流构成。
具体的,待调试程序由至少一个算子组成,每一个算子对应若干项硬件执行指令。调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包。硬件执行指令包中包括与算子对应的全部硬件执行指令。
在一个具体实例中,待调试程序由3个算子组成。调试软件模块将与待调试程序对应的计算图编程模型拆分成3个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包。
步骤202、调试软件模块为各硬件执行指令包添加原始包标识符,原始包标识符为硬件执行指令包的标志信息。
可选的,调试软件模块为各硬件执行指令包添加原始包标识符,包括:调试软件模块通过散列函数或者顺序增加方式,为各硬件执行指令包添加原始包标识符。
原始包标识符是硬件执行指令包的标识信息,为各硬件执行指令包在数据流中的唯一标志。原始包标识符可以在芯片的任一芯片内部待调试模块中被识别出来。
具体的,调试软件模块通过散列函数对各硬件执行指令包进行压缩映射,将各硬件执行指令包变换成固定长度的散列值,将各硬件执行指令包对应的散列值作为各硬件执行指令包的原始包标识符,添加至各硬件执行指令包中。
具体的,调试软件模块对各硬件执行指令包进行排序,通过顺序增加方式,依次为各硬件执行指令包指定一个对应的数字标识,将各硬件执行指令包对应的数字标识作为各硬件执行指令包的原始包标识符,添加至各硬件执行指令包中。
步骤203、调试软件模块将各硬件执行指令包发送至各芯片内部待调试模块。
本实施例中,芯片内部待调试模块可以为芯片内部需要进行调试的设备。一个芯片可以包含多个芯片内部待调试模块。在调试过程中,由调试软件模将各硬件执行指令包发送至各芯片内部待调试模块,以使各芯片内部待调试模块执行各硬件执行指令包,完成待调试程序所需的硬件功能。
步骤204、调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像。
可选的,分发处理时间点可以包括调试软件模块发送各硬件执行指令包至芯片中的各芯片内部待调试模块时的时间戳、芯片中的各芯片内部待调试模块执行完各硬件执行指令包时的时间戳。耗时信息可以为芯片中的各芯片内部待调试模块执行各硬件执行指令包时的时间消耗,即芯片内部待调试模块执行完硬件执行指令包时的时间戳与调试软件模块发送硬件执行指令包时的时间戳之差。芯片系统性能画像包括:调试软件模块发送各硬件执行指令包至芯片中的各芯片内部待调试模块时的时间戳、芯片中的各芯片内部待调试模块执行完各硬件执行指令包时的时间戳、以及芯片中的各芯片内部待调试模块执行各硬件执行指令包时的时间消耗。
具体的,针对每一个时间戳调试包,调试软件模块根据时间戳调试包中的原始包标识符,确定与时间戳调试包对应的目标硬件执行指令包,确定调试软件模块发送目标硬件执行指令包时的时间戳。调试软件模块根据时间戳调试包中的芯片内部待调试模块标识信息,确定与时间戳调试包对应的目标芯片内部待调试模块。调试软件模块根据时间戳调试包中的时间戳信息,确定目标芯片内部待调试模块发出与时间戳调试包对应的目标调试数据包的时间戳,即确定目标芯片内部待调试模块执行完目标硬件执行指令包时的时间戳,从而进一步可以根据调试软件模块发送目标硬件执行指令包时的时间戳、目标芯片内部待调试模块执行完目标硬件执行指令包时的时间戳,确定目标芯片内部待调试模块执行目标硬件执行指令包的时间消耗。
可选的,调试软件模块根据时间戳调试包中的事件类型标志以及补充信息,可以确定目标硬件执行指令包在目标芯片内部待调试模块中的执行流程,并确定执行流程中的其它补充性能信息,从而可以确定目标硬件执行指令包是否按预期执行。
由此,调试软件模块能够恢复出任意一个硬件执行指令包的路由流程、时间消耗以及其它补充性能信息。
本发明实施例提供了一种芯片调试方法,通过调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;调试软件模块为各硬件执行指令包添加原始包标识符,然后将各硬件执行指令包发送至各芯片内部待调试模块;调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像,可以为各硬件执行指令包添加原始包标识符,原始包标识符为各硬件执行指令包在数据流中的唯一标志,可以通过调试软件模块根据从调试信息存储模块中读取的时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片的清晰的系统性能画像,提升芯片调试的可见性。
实施例三
图3为本发明实施例三提供的一种芯片调试方法的流程图。本实施例可适用于进行芯片调试的情况。该方法可以应用于本发明上述实施例提供的芯片调试系统中的芯片内部待调试模块中。如图3所示,本实施例的方法具体包括:
步骤301、芯片内部待调试模块接收调试软件模块发送的各硬件执行指令包。
本实施例中未详尽的描述可以参考前述实施例。
芯片内部待调试模可以为芯片内部需要进行调试的设备。一个芯片可以包含多个芯片内部待调试模块。在调试过程中,由调试软件模块将各硬件执行指令包发送至各芯片内部待调试模块,以使各芯片内部待调试模块执行各硬件执行指令包,完成待调试程序所需的硬件功能。
步骤302、芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包。
可选的,参与调试的事件类型包括:开始、结束、拆分以及异常,事件类型标志包括:开始标志、结束标志、拆分标志以及异常标志,补充信息包括:虚拟通道信息和优先级信息;其中,参与调试的事件类型是根据与待调试程序对应的事件类型配置信息确定的。
与待调试程序对应的事件类型配置信息是用于确定参与与待调试程序对应的调试过程的事件类型的信息。即事件类型是否参与调试是可配置的。
如果根据与待调试程序对应的事件类型配置信息确定,参与调试的事件类型包括:开始、结束、拆分以及异常,则相应的事件类型标志包括:开始标志、结束标志、拆分标志以及异常标志。如果根据与待调试程序对应的事件类型配置信息确定,参与调试的事件类型包括:开始、结束,则相应的事件类型标志包括:开始标志、结束标志。
具体的,当硬件执行指令包在芯片内部待调试模块中被处理,会触发各种事件,事件类型属于参与调试的事件类型的事件被映射为事件类型标志和补充信息。参与调试的事件类型包括:开始,结束,拆分,异常等。开始事件被映射为开始标志。结束事件被映射为结束标志。拆分事件被映射为拆分标志。异常被映射为异常标志。补充信息包括:虚拟通道信息和优先级信息。虚拟通道信息包括事件使用的虚拟通道。优先级信息包括事件的优先级。
可选的,各芯片内部待调试模块根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包,包括:各芯片内部待调试模块将各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息组合在一起,得到与各硬件执行指令包对应的调试数据包。与硬件执行指令包对应的调试数据包中包括:硬件执行指令包的原始包标识符、硬件执行指令包执行过程中的事件类型标志和补充信息。调试数据包只包含最简略的信息,可以减少总线带宽消耗。
步骤303、芯片内部待调试模块将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。
本实施例中,各芯片内部待调试模块将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。调试数据包只需要嵌入正常的当前数据流中就可以,不需要设计专门的调试总线。
本发明实施例提供了一种芯片调试方法,通过各芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包,然后将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块,可以根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包,提升芯片调试的可见性,可以通过只包含最简略的信息的调试数据包传递调试数据,减少总线带宽消耗,减少芯片调试的资源耗费。
实施例四
图4为本发明实施例四提供的一种芯片调试方法的流程图。本实施例可适用于进行芯片调试的情况。该方法可以应用于本发明上述实施例提供的芯片调试系统中的调试侧写模块中。如图4所示,本实施例的方法具体包括:
步骤401、调试侧写模块接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包。
本实施例中未详尽的描述可以参考前述实施例。
可选的,调试侧写模块可以为芯片外部的计算机设备,作为调试数据包的目的地,收集调试数据包,并对调试数据包进行处理。可选的,与各硬件执行指令包对应的调试数据包被总线网络分发到调试侧写模块。
步骤402、调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试软件模块之间的延迟时间。
可选的,绝对延时信息可以为芯片物理实现上面的绝对延时时间。各芯片内部待调试模块在生成调试数据包后,间隔指定的时间,将调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。指定的时间即为绝对延时时间。示例性的,芯片物理实现上面的绝对延时时间可以为10毫秒。统计延时信息可以为通过离散事件模拟器NS3统计的各芯片内部待调试模块与调试侧写模块之间的端到端延迟时间。调试侧写模块将绝对延时时间和端到端延迟时间之和,作为各芯片内部待调试模块和调试软件模块之间的延迟时间。
步骤403、调试侧写模块根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试软件模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳。
可选的,根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳,包括:调试侧写模块将接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间减去各芯片内部待调试模块和调试侧写模块之间的延迟时间,得到各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包发出时的时间戳,即发出时间戳。
步骤404、调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包。
可选的,与各调试数据包对应的芯片内部待调试模块标识信息为发送各调试数据包的芯片内部待调试模块的标识信息。
调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包。时间戳调试包中包括:芯片内部待调试模块标识信息、硬件执行指令包的原始包标识符、硬件执行指令包执行过程中的事件类型标志和补充信息以及发出时间戳。
步骤405、调试侧写模块通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
可选的,调试侧写模块通过总线互联网络将各时间戳调试包发送至调试信息存储模块,可以包括:调试侧写模块使用突发传送形式,通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
突发传送形式是指将整个信道专用于传送一个源节点的数据的传送模式。使用突发传送形式,通过总线互联网络将各时间戳调试包发送至调试信息存储模块,可以提高各时间戳调试包的传输效率,降低对调试信息存储模块的总线的影响。
本发明实施例提供了一种芯片调试方法,通过调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试软件模块之间的延迟时间,根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,然后通过总线互联网络将各时间戳调试包发送至调试信息存储模块,可以通过调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,以使后续调试软件模块根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片的清晰的系统性能画像,提升芯片调试的可见性。
实施例五
图5为本发明实施例五提供的一种芯片调试装置的结构示意图。如图5所示,所述装置可以配置于本发明上述实施例提供的芯片调试系统中的调试软件模块中,包括:指令包生成单元501、标识符添加单元502、指令包发送单元503以及信息恢复单元504。
其中,指令包生成单元501,用于将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;标识符添加单元502,用于为各硬件执行指令包添加原始包标识符,原始包标识符为硬件执行指令包的标志信息;指令包发送单元503,用于将各硬件执行指令包发送至各芯片内部待调试模块;信息恢复单元504,用于从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像。
本发明实施例提供了一种芯片调试装置,通过调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;调试软件模块为各硬件执行指令包添加原始包标识符,然后将各硬件执行指令包发送至各芯片内部待调试模块;调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像,可以为各硬件执行指令包添加原始包标识符,原始包标识符为各硬件执行指令包在数据流中的唯一标志,可以通过调试软件模块根据从调试信息存储模块中读取的时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片的清晰的系统性能画像,提升芯片调试的可见性。
在上述各实施例的基础上,标识符添加单元502可以包括:标识符添加子单元,用于通过散列函数或者顺序增加方式,为各硬件执行指令包添加原始包标识符。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例六
图6为本发明实施例六提供的一种芯片调试装置的结构示意图。如图6所示,所述装置可以配置于本发明上述实施例提供的芯片调试系统中的芯片内部待调试模块中,包括:指令包接收单元601、调试数据包生成单元602以及调试数据包发送单元603。
其中,指令包接收单元601,用于接收调试软件模块发送的各硬件执行指令包;调试数据包生成单元602,用于执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;调试数据包发送单元603,用于将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。
本发明实施例提供了一种芯片调试装置,通过各芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包,然后将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块,可以根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包,提升芯片调试的可见性,可以通过只包含最简略的信息的调试数据包传递调试数据,减少总线带宽消耗,减少芯片调试的资源耗费。
在上述各实施例的基础上,参与调试的事件类型可以包括:开始、结束、拆分以及异常,事件类型标志可以包括:开始标志,结束标志,拆分标志以及异常标志,补充信息可以包括:虚拟通道信息和优先级信息;其中,参与调试的事件类型是根据与待调试程序对应的事件类型配置信息确定的。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例七
图7为本发明实施例七提供的一种芯片调试装置的结构示意图。如图7所示,所述装置可以配置于本发明上述实施例提供的芯片调试系统中的调试侧写模块中,包括:调试数据包接收单元701、延迟时间计算单元702、时间戳计算单元703、信息添加单元704以及时间戳调试包发送单元705。
其中,调试数据包接收单元701,用于接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包;延迟时间计算单元702,用于根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试软件模块之间的延迟时间;时间戳计算单元703,用于根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试软件模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;信息添加单元704,用于将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包;时间戳调试包发送单元705,用于通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
本发明实施例提供了一种芯片调试装置,通过调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试软件模块之间的延迟时间,根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,然后通过总线互联网络将各时间戳调试包发送至调试信息存储模块,可以通过调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包,以使后续调试软件模块根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片的清晰的系统性能画像,提升芯片调试的可见性。
在上述各实施例的基础上,时间戳调试包发送单元705可以包括:时间戳调试包发送子单元,用于使用突发传送形式,通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例八
图8为本发明实施例八提供的一种计算机设备的结构示意图。图8示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图8显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机设备12以通用计算机设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。处理器16包括但不限于AI处理器。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图8中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
计算机设备12的处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的芯片调试方法。该方法具体可以包括:调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;调试软件模块为各硬件执行指令包添加原始包标识符,原始包标识符为硬件执行指令包的标志信息;调试软件模块将各硬件执行指令包发送至各芯片内部待调试模块;调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像。
或者,该方法具体可以包括:芯片内部待调试模块接收调试软件模块发送的各硬件执行指令包;芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;芯片内部待调试模块将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。
或者,该方法具体可以包括:调试侧写模块接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包;调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试侧写模块之间的延迟时间;调试侧写模块根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包;调试侧写模块通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
实施例九
本发明实施例九还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所提供的芯片调试方法。该方法具体可以包括:调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;调试软件模块为各硬件执行指令包添加原始包标识符,原始包标识符为硬件执行指令包的标志信息;调试软件模块将各硬件执行指令包发送至各芯片内部待调试模块;调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像。
或者,该方法具体可以包括:芯片内部待调试模块接收调试软件模块发送的各硬件执行指令包;芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;芯片内部待调试模块将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。
或者,该方法具体可以包括:调试侧写模块接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包;调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和调试侧写模块之间的延迟时间;调试侧写模块根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及各芯片内部待调试模块和调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各调试数据包对应的时间戳调试包;调试侧写模块通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++、Ruby、Go,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言,以及AI算法的计算机语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,例如局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种芯片调试系统,其特征在于,包括:
调试软件模块、至少一个芯片内部待调试模块、调试侧写模块以及调试信息存储模块;
其中,所述调试软件模块,用于将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各所述算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;为各所述硬件执行指令包添加原始包标识符,所述原始包标识符为硬件执行指令包的标志信息;将各所述硬件执行指令包发送至各所述芯片内部待调试模块;从所述调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出所述待调试程序在各所述芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像;
各所述芯片内部待调试模块,用于接收所述调试软件模块发送的各所述硬件执行指令包;执行各所述硬件执行指令包,获取各所述硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各所述硬件执行指令包的原始包标识符、各所述硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各所述硬件执行指令包对应的调试数据包;将与各所述硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至所述调试侧写模块;
所述调试侧写模块,用于接收各所述芯片内部待调试模块发送的与各所述硬件执行指令包对应的调试数据包;根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和所述调试侧写模块之间的延迟时间;根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及所述各芯片内部待调试模块和所述调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各所述调试数据包对应的时间戳调试包;通过总线互联网络将各所述时间戳调试包发送至所述调试信息存储模块;
所述调试信息存储模块,用于接收所述调试侧写模块发送的各所述时间戳调试包,通过环形缓冲器的方式存储各所述时间戳调试包。
2.一种芯片调试方法,应用于如权利要求1所述的芯片调试系统中的调试软件模块中,其特征在于,包括:
调试软件模块将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各所述算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;
所述调试软件模块为各所述硬件执行指令包添加原始包标识符,所述原始包标识符为硬件执行指令包的标志信息;
所述调试软件模块将各所述硬件执行指令包发送至各芯片内部待调试模块;
所述调试软件模块从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出所述待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像。
3.根据权利要求2所述的方法,其特征在于,所述调试软件模块为各所述硬件执行指令包添加原始包标识符,包括:
所述调试软件模块通过散列函数或者顺序增加方式,为各所述硬件执行指令包添加原始包标识符。
4.一种芯片调试方法,应用于如权利要求1所述的芯片调试系统中的芯片内部待调试模块中,其特征在于,包括:
芯片内部待调试模块接收调试软件模块发送的各硬件执行指令包;
所述芯片内部待调试模块执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;
所述芯片内部待调试模块将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。
5.根据权利要求4所述的方法,其特征在于,参与调试的事件类型包括:开始、结束、拆分以及异常,所述事件类型标志包括:开始标志、结束标志、拆分标志以及异常标志,所述补充信息包括:虚拟通道信息和优先级信息;
其中,参与调试的事件类型是根据与待调试程序对应的事件类型配置信息确定的。
6.一种芯片调试方法,应用于如权利要求1所述的芯片调试系统中的调试侧写模块中,其特征在于,包括:
调试侧写模块接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包;
所述调试侧写模块根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和所述调试侧写模块之间的延迟时间;
所述调试侧写模块根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及所述各芯片内部待调试模块和所述调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;
所述调试侧写模块将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各所述调试数据包对应的时间戳调试包;
所述调试侧写模块通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
7.根据权利要求6所述的方法,其特征在于,所述调试侧写模块通过总线互联网络将各时间戳调试包发送至调试信息存储模块,包括:
所述调试侧写模块使用突发传送形式,通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
8.一种芯片调试装置,配置于如权利要求1所述的芯片调试系统中的调试软件模块中,其特征在于,包括:
指令包生成单元,用于将与待调试程序对应的计算图编程模型拆分成至少一个算子,根据与各所述算子对应的硬件执行指令,生成与各算子对应的硬件执行指令包;
标识符添加单元,用于为各所述硬件执行指令包添加原始包标识符,所述原始包标识符为硬件执行指令包的标志信息;
指令包发送单元,用于将各所述硬件执行指令包发送至各芯片内部待调试模块;
信息恢复单元,用于从调试信息存储模块中读取时间戳调试包,根据时间戳调试包中的原始包标识符、时间戳信息、芯片内部待调试模块标识信息、事件类型标志以及补充信息,恢复出所述待调试程序在各芯片内部待调试模块中的分发处理时间点和耗时信息,得到芯片系统性能画像。
9.一种芯片调试装置,配置于如权利要求1所述的芯片调试系统中的芯片内部待调试模块中,其特征在于,包括:
指令包接收单元,用于接收调试软件模块发送的各硬件执行指令包;
调试数据包生成单元,用于执行各硬件执行指令包,获取各硬件执行指令包执行过程中的事件类型标志和补充信息,并根据各硬件执行指令包的原始包标识符、各硬件执行指令包执行过程中的事件类型标志和补充信息,生成与各硬件执行指令包对应的调试数据包;
调试数据包发送单元,用于将与各硬件执行指令包对应的调试数据包嵌入到当前数据流中,通过总线互联网络发送至调试侧写模块。
10.一种芯片调试装置,配置于如权利要求1所述的芯片调试系统中的调试侧写模块中,其特征在于,包括:
调试数据包接收单元,用于接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包;
延迟时间计算单元,用于根据绝对延时信息和统计延时信息,计算各芯片内部待调试模块和所述调试侧写模块之间的延迟时间;
时间戳计算单元,用于根据接收各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的接收时间、以及所述各芯片内部待调试模块和所述调试侧写模块之间的延迟时间,计算各芯片内部待调试模块发送的与各硬件执行指令包对应的调试数据包的发出时间戳;
信息添加单元,用于将各调试数据包的发出时间戳和与各调试数据包对应的芯片内部待调试模块标识信息添加至各调试数据包中,得到与各所述调试数据包对应的时间戳调试包;
时间戳调试包发送单元,用于通过总线互联网络将各时间戳调试包发送至调试信息存储模块。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求2-3中任一所述的芯片调试方法,或者如权利要求4-5任一所述的芯片调试方法,或者如权利要求6-7任一所述的芯片调试方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求2-3中任一所述的芯片调试方法,或者如权利要求4-5任一所述的芯片调试方法,或者如权利要求6-7任一所述的芯片调试方法。
CN202010769827.4A 2020-08-04 2020-08-04 一种芯片调试系统、方法、装置、设备及存储介质 Active CN111737155B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010769827.4A CN111737155B (zh) 2020-08-04 2020-08-04 一种芯片调试系统、方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010769827.4A CN111737155B (zh) 2020-08-04 2020-08-04 一种芯片调试系统、方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111737155A true CN111737155A (zh) 2020-10-02
CN111737155B CN111737155B (zh) 2020-12-08

Family

ID=72657048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010769827.4A Active CN111737155B (zh) 2020-08-04 2020-08-04 一种芯片调试系统、方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111737155B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302769A (zh) * 2023-05-15 2023-06-23 上海孤波科技有限公司 一种芯片测试方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703027A (zh) * 2004-05-25 2005-11-30 惠普开发有限公司 传递调试信息
CN103415777A (zh) * 2011-03-09 2013-11-27 英特尔公司 用于进行功能和结构测试和调试的基于功能结构测试控制器
US20160004461A1 (en) * 2013-12-12 2016-01-07 International Business Machines Corporation Software indications and hints for coalescing memory transactions
CN107273256A (zh) * 2017-06-22 2017-10-20 湖南国科微电子股份有限公司 一种Soc芯片的调试方法及系统
CN109791518A (zh) * 2016-09-28 2019-05-21 亚马逊科技公司 从多租户环境中的fpga提取调试信息
CN110515849A (zh) * 2019-08-29 2019-11-29 上海燧原智能科技有限公司 一种断点调试方法、装置、系统、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703027A (zh) * 2004-05-25 2005-11-30 惠普开发有限公司 传递调试信息
CN103415777A (zh) * 2011-03-09 2013-11-27 英特尔公司 用于进行功能和结构测试和调试的基于功能结构测试控制器
US20160004461A1 (en) * 2013-12-12 2016-01-07 International Business Machines Corporation Software indications and hints for coalescing memory transactions
CN109791518A (zh) * 2016-09-28 2019-05-21 亚马逊科技公司 从多租户环境中的fpga提取调试信息
CN107273256A (zh) * 2017-06-22 2017-10-20 湖南国科微电子股份有限公司 一种Soc芯片的调试方法及系统
CN110515849A (zh) * 2019-08-29 2019-11-29 上海燧原智能科技有限公司 一种断点调试方法、装置、系统、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302769A (zh) * 2023-05-15 2023-06-23 上海孤波科技有限公司 一种芯片测试方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111737155B (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
CN112422498A (zh) 一种带内网络遥测方法、系统及计算机可读存储介质
US7210123B2 (en) Software evaluation system having source code and function unit identification information in stored administration information
JP2005056380A (ja) データを処理する方法と装置およびコンピュータ・プログラム製品
US7325168B2 (en) Trace data source identification within a trace data stream
CN109672722B (zh) 数据部署方法及装置、计算机存储介质和电子设备
US7325169B2 (en) Apparatus and method for trace stream identification of multiple target processor events
CN112448969A (zh) 链路追踪方法、装置、系统、设备及可读存储介质
US20090182798A1 (en) Method and apparatus to improve the effectiveness of system logging
CN110825731A (zh) 数据存储方法、装置、电子设备及存储介质
US20190306074A1 (en) Data packet management in a memory constrained environment
CN111737155B (zh) 一种芯片调试系统、方法、装置、设备及存储介质
CN110515758A (zh) 一种故障定位方法、装置、计算机设备及存储介质
CN107861821B (zh) 模块调用关系的挖掘方法、装置及计算机可读介质
US10009151B2 (en) Packet storage method, information processing apparatus, and non-transitory computer-readable storage medium
CN116048946B (zh) 性能检测方法、主机及存储介质
CN111930385A (zh) 数据采集方法、装置、设备及存储介质
CN115022201B (zh) 一种数据处理功能测试方法、装置、设备及存储介质
CN109062797B (zh) 生成信息的方法和装置
Podhorszki et al. Design and Implementation of a Distributed Monitor for Semi-on-Line Monitoring of VISUAL MP Applications
US20060107123A1 (en) Processor and development supporting apparatus
CN113342744B (zh) 调用链的并行构建方法、装置、设备及存储介质
KR102658595B1 (ko) 다중 스트림의 요소들에서의 대응한 요소들의 정렬 장치 및 방법
US11271838B2 (en) Timing synchronization
CN117785503A (zh) 协议数据转换芯片的事件管理方法和装置
CN116521721A (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