CN112559336B - 自适应调试异构计算芯片的方法、装置、系统及主板芯片 - Google Patents
自适应调试异构计算芯片的方法、装置、系统及主板芯片 Download PDFInfo
- Publication number
- CN112559336B CN112559336B CN202011436756.2A CN202011436756A CN112559336B CN 112559336 B CN112559336 B CN 112559336B CN 202011436756 A CN202011436756 A CN 202011436756A CN 112559336 B CN112559336 B CN 112559336B
- Authority
- CN
- China
- Prior art keywords
- chip
- heterogeneous computing
- main board
- server
- computing chip
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种自适应调试异构计算芯片的方法、装置、系统、主板芯片、服务器、存储介质。所述方法包括:主板芯片从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;所述主板芯片从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。本发明能够提高调试异构计算芯片的自动化水平。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种自适应调试异构计算芯片的方法、装置、系统、主板芯片、服务器、存储介质。
背景技术
目前的异构计算芯片调试接口有PCIE(Peripheral Component InterconnectExpress,高速串行计算机扩展总线)、JTAG(Joint Test Action Group,联合测试行动小组)和SMBUS(System Management Bus,系统管理总线),每个调试接口对应不同的程序。同时由于异构计算芯片的调试接口可以与不同的主板芯片(Central Processing Unit中央处理器)相连,又造成了调试程序必须能运行在不同的主板芯片上。
由于接口及主板芯片的多样性,需要研发人员根据不同的接口及不同的主板芯片编写不同的代码,使用不同的编译器进行编译。造成代码的冗余及代码漏洞的重复出现和后期维护困难。同时使用者需要自己去判断应该使用哪一套调试程序,再去学习该调试程序的使用方法,对使用者不仅造成了使用上的困惑,更带来了学习成本的提高。
在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
对于不同的调试接口及主控主板芯片,研发程序员都需要进行单独编写代码,导致使用者手中会有多套调试程序,使用者需要自己去判断到底使用哪一套调试程序,同时对每一套调试程序都需要学习使用方法;由于调试接口及主板芯片的多样性,研发程序员编写的代码有很多冗余和不兼容,造成了代码漏洞的重复出现及后期维护成本的提高,调试需要大量人工参与,调试异构计算芯片的自动化水平低。
发明内容
本发明提供的自适应调试异构计算芯片的方法、装置、系统、主板芯片、服务器、存储介质,能够提高调试异构计算芯片的自动化水平。
第一方面,本发明提供一种自适应调试异构计算芯片的方法,所述方法包括:
主板芯片从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;
所述主板芯片从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;
所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
所述主板芯片从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令的步骤之前,所述方法还包括:
所述主板芯片发送所述主板芯片的类型到所述服务器;
所述主板芯片从所述服务器获取与所述主板芯片的类型对应的Server服务程序。
所述主板芯片中的Server服务程序加载所述代码,与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能的步骤包括:
所述主板芯片读取所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;
所述主板芯片根据读取的所述寄存器的编码,确定所述异构计算芯片的接口类型;
所述主板芯片上的Server服务程序从所述Server服务程序中调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。
所述主板芯片中的Server服务程序加载所述代码,与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能的步骤包括:
所述主板芯片读取所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;
所述主板芯片将读取的所述寄存器的编码,发送给所述服务器,使得所述服务器确定所述寄存器的编码对应的接口类型;
所述主板芯片接收所述服务器的消息,所述消息中携带有确定的所述寄存器的编码对应的接口类型;
所述主板芯片上的Server服务程序根据所述消息,调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。
第二方面,本发明提供一种自适应调试异构计算芯片的方法,所述方法包括:
服务器从主板芯片获取所述主板芯片的类型;
所述服务器接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;
所述服务器给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
所述主板芯片从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码的步骤之后,所述服务器给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码的步骤之前,所述方法还包括:
所述服务器给所述主板芯片发送与所述主板芯片的类型对应的Server服务程序。
所述主板芯片从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码的步骤之后,所述服务器给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码的步骤之前,所述方法还包括:
所述服务器接收所述主板芯片读取的所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;
所述服务器确定所述寄存器的编码对应的接口类型;
所述服务器给所述主板芯片发送消息,所述消息中携带有确定的所述寄存器的编码对应的接口类型,使得所述主板芯片上的Server服务程序根据所述消息,调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。
第三方面,本发明提供一种自适应调试异构计算芯片的主板芯片,包括:
第一获取单元,用于从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;
第二获取单元,用于从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;
加载单元,用于所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
第四方面,本发明提供一种自适应调试异构计算芯片的服务器,包括:
获取单元,用于从主板芯片获取所述主板芯片的类型;
接收单元,用于接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;
发送单元,用故意给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
第五方面,本发明提供一种自适应调试异构计算芯片的系统,包括:主板芯片和服务器;
所述主板芯片用于,从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能;
所述服务器用于,从主板芯片获取所述主板芯片的类型;接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;用于给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
第六方面,本发明提供一种自适应调试异构计算芯片的装置,包括:
存储器;
以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至6中任一项所述的自适应调试异构计算芯片的方法。
第七方面,本发明提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1至6中任一项所述的自适应调试异构计算芯片的方法。
本发明提供的自适应调试异构计算芯片的方法、装置、系统、主板芯片、服务器、存储介质,主板芯片从服务器获取对与异构计算芯片的一待调试功能的调试指令;从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。当调试与主板芯片连接的不同异构计算芯片时,能根据异构计算芯片的类型,自动获取与所述主板芯片的类型对应的代码,来对异构计算芯片的功能进行调试,增加了调试异构计算芯片的自动化水平。
附图说明
图1为本发明一实施例所述的自适应调试异构计算芯片的方法的流程图;
图2为本发明另一实施例所述的自适应调试异构计算芯片的方法的流程图;
图3为本发明另一实施例所述的自适应调试异构计算芯片的方法的流程图;
图4和图5为本发明所述的自适应调试异构计算芯片的系统的结构示意图;
图6为本发明所述的自适应调试异构计算芯片的系统的交互流程示意图;
图7为本发明所述的一种自适应调试异构计算芯片的主板芯片的连接示意图;
图8为本发明所述的一种自适应调试异构计算芯片的服务器的连接示意图;
图9为本发明所述的一种自适应调试异构计算芯片的系统的连接示意图;
图10为本发明所述的一种自适应调试异构计算芯片的装置的连接示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种自适应调试异构计算芯片的方法,此实施例从主板芯片端来描述,所述方法包括:
步骤11,主板芯片发送所述主板芯片的类型到服务器;
步骤12,所述主板芯片从所述服务器获取与所述主板芯片的类型对应的Server服务程序。
步骤13,主板芯片从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;
步骤14,所述主板芯片从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;
步骤15,所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
上述实施例中,当调试与主板芯片连接的不同异构计算芯片时,能根据异构计算芯片的类型,自动获取与所述主板芯片的类型对应的代码,来对异构计算芯片的功能进行调试,增加了调试异构计算芯片的自动化水平。
其中,所述步骤15具体包括:
步骤151A,所述主板芯片读取所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;
步骤152A,所述主板芯片根据读取的所述寄存器的编码,确定所述异构计算芯片的接口类型;
步骤153A,所述主板芯片上的Server服务程序从所述Server服务程序中调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。
上述实施例中,主板芯片根据所述寄存器的编码,确定所述异构计算芯片的接口类型。
其中,所述步骤15具体包括:
步骤151B,所述主板芯片读取所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;
步骤152B,所述主板芯片将读取的所述寄存器的编码,发送给所述服务器,使得所述服务器确定所述寄存器的编码对应的接口类型;
步骤153B,所述主板芯片接收所述服务器的消息,所述消息中携带有确定的所述寄存器的编码对应的接口类型;
步骤154B,所述主板芯片上的Server服务程序根据所述消息,调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。
上述实施例中,服务器根据所述寄存器的编码,确定所述异构计算芯片的接口类型。
上述实施例中,当调试与主板芯片连接的不同异构计算芯片时,能根据异构计算芯片的接口类型和主板芯片类型,自动获取对应的API函数,来对异构计算芯片的功能进行调试,增加了调试异构计算芯片的自动化水平。
如图2所示,本发明实施例提供一种自适应调试异构计算芯片的方法,此实施例从服务器端来描述,所述方法包括:
步骤21,服务器从主板芯片获取所述主板芯片的类型;
步骤22,所述服务器接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;
步骤23,所述服务器给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
上述实施例中,当调试与主板芯片连接的不同异构计算芯片时,能根据异构计算芯片的类型,自动发送与所述主板芯片的类型对应的代码,来对异构计算芯片的功能进行调试,增加了调试异构计算芯片的自动化水平。
如图3所示,本发明实施例提供一种自适应调试异构计算芯片的方法,此实施例从服务器端来描述,所述方法包括:
步骤31,服务器从主板芯片获取所述主板芯片的类型;
步骤32,所述服务器接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;
步骤33,所述服务器给所述主板芯片发送与所述主板芯片的类型对应的Server服务程序;
步骤34,所述服务器接收所述主板芯片读取的所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;
步骤35,所述服务器确定所述寄存器的编码对应的接口类型;
步骤36,所述服务器给所述主板芯片发送消息,所述消息中携带有确定的所述寄存器的编码对应的接口类型,使得所述主板芯片上的Server服务程序根据所述消息,调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。上述实施例中,当调试与主板芯片连接的不同异构计算芯片时,能根据异构计算芯片的接口类型和主板芯片类型,自动发送对应的API函数,来对异构计算芯片的功能进行调试,增加了调试异构计算芯片的自动化水平。
以下描述本发明的应用场景。
一种自适应调试异构计算芯片的系统,如图4和5所示,该系统包括:
公共服务器端的调试程序:应用层,功能库层,公共接口层;
目标主板的server程序:server层,调试接口层。
调试程序的流程图如图6。
调试程序具体为:公共服务器运行的调试程序作为主要入口,一方面提供调试异构计算芯片各功能模块的入口,另一方面通过输入网络IP地址获取目标主板主控主板芯片型号并下载相应的server程序到目标主板。主要包括应用层,功能库层,公共接口层。
其中,应用层,基于目标主板的网络IP地址获取主控主板的芯片类型,目标主板返回主控主板芯片类型后,应用程序将对应的server程序下载到目标主板,并启动后台运行;调试程序向server程序发送建立链接请求,目标主板同意建立链接;建立链接后,调试程序会分别向不同接口发送读寄存器命令,并记录下返回正确值的调试接口ID。用户需要调试异构计算芯片的某个功能模块时,只需要输入功能模块对应的调试命令,应用层就会去调用该功能模块的功能库。
功能库层,主要作用是:异构计算芯片功能模块的调试代码.功能模块负责人只需要将相应的调试代码放入对应功能模块目录,每个功能库层都必须调用同一套寄存器read/write接口。
公共接口层:主要是对各个调试接口做的统一包装,每个功能库只需要调用提供的接口函数就可以,不需要关心具体是通过哪个调试接口发送给异构计算芯片的;同时还对读写寄存器的操作进行打包并发送给server程序,server程序解包后分析具体需求做出相应的操作。操作包主要包括调试接口ID,读写flag,寄存器地址,寄存器数据。
Server程序:运行在目标主板上,是由应用层通过获取主控主板芯片类型下载对应主板主控芯片server程序到目标主板上,server程序和应用层建立链接;将公共接口层发送过来的包进行解压,根据接口ID调用不同的接口库,分析当前的操作是读或者写寄存器,并调用相应的读写寄存器函数,写操作将寄存器地址和数据发送给异构计算芯片或者读操作将从异构计算芯片读取到的数据打包发送给公共接口层,该包主要包括调试接口ID、读写flag、寄存器地址、寄存器数据。
另外,将Server程序可以编译成中间代码,在实际使用时,根据相应的主板芯片类型,动态转换成目标主板主控主板芯片的指令。
以下描述几个不同实施例。
实施例一:
在调试异构计算芯片时,目标主板的主控芯片是X86,通过PCIE与异构计算芯片通信。处理流程包括:
首先,通过网络获取目标主板的主控芯片的类型为X86,调试程序将公共服务器端的X86 server程序下载到目标主板并运行;
调试程序通过对所有接口广播的方式发送读寄存器命令,PCIE接口返回正确值,调试程序将调试接口ID置为1;
通过输入命令对异构计算芯片进行调试。
实施例二:
在调试异构计算芯片时,目标板的主控芯片是ARM,通过SMBUS与异构计算芯片通信。处理流程包括:
首先通过网络获取目标主板的主控芯片类型为ARM,调试程序将公共服务器端的ARM server程序下载到目标主板并运行;
调试程序通过对所有接口广播的方式发送读寄存器命令,SMBUS接口返回正确值,调试程序将调试接口ID置为2;
通过输入命令对异构计算芯片进行调试。
实施例三:
在调试异构计算芯片时,目标板的主控芯片是X86,通过JTAG与异构计算芯片通信。处理流程包括:
首先通过网络获取目标主板的主控芯片类型为X86,调试程序将公共服务器端的X86 server程序下载到目标主板并运行;
调试程序通过对所有接口广播的方式发送读寄存器命令,JTAG接口返回正确值,调试程序将调试接口ID置为3;
通过输入命令对异构计算芯片进行调试。
本发明具有以下有益效果:
1)本发明可以解决现有技术针对芯片调试中目标主板主控主板芯片和调试接口多样造成的代码不兼容问题。采用此方案,不管是在芯片研发阶段、芯片验证阶段还是在产品调试阶段,都可以使用该方法和系统;本发明自动匹配不同主板的主控主板芯片和调试接口,使用者不必过多的去关注调试异构计算芯片时使用什么调试接口,与异构计算芯片相连的主板主控主板芯片是什么类型,同时该发明还可以减少研发人员添加新功能和后期维护的工作量;让使用者减少学习成本,不必学习每个调试程序的使用方法。
2)本发明可以自动匹配主板芯片类型及调试接口;研发工程师只需要将不同的功能添加到该系统中,使用人员直接在公共服务器上执行该程序,系统会自动匹配目标主板的主控主板芯片并下载相应的server到目标板上。研发工程师在添加调试功能代码时,不需要关心具体使用的哪个调试接口和在哪类主板芯片上执行,只需要调用公共接口库进行代码编写,减少了代码的冗余及不同接口中相同功能的漏洞重复出现,降低了后期维护成本。调试接口及主板主控芯片对使用人员是透明的,使用人员只需要学习使用一套调试程序,在服务器上输入目标主板的网络IP地址进行调试即可。
3)本发明通过获取目标板的主控主板芯片信息,根据目标板的主控主板芯片类型向目标板下载相应的server程序,并通过广播方式对所有接口发送读寄存器命令,根据server程序返回的信息确定当前使用的调试接口。使用该方法可以使研发工程师不必过多考虑不同接口,不同主控芯片的问题,同时减少了使用人员对多套调试程序的学习成本,降低了研发及维护成本。解决了异构计算芯片多种调试接口和不同主控芯片造成的代码混乱,使用人员手中多套调试程序的问题。
4)本发明提供了层次化的功能框架,能够跨平台代码复用。并自适应调试接口。在调试异构计算芯片时,可以减少开发新功能模块的工作量和降低后期维护成本,同时减少使用者的学习成本。
如图7所示,本发明实施例提供一种自适应调试异构计算芯片的主板芯片,包括:
第一获取单元,用于从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;
第二获取单元,用于从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;
加载单元,用于所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
如图8所示,本发明实施例提供一种自适应调试异构计算芯片的服务器,包括:
获取单元,用于从主板芯片获取所述主板芯片的类型;
接收单元,用于接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;
发送单元,用故意给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
本实施例的主板芯片和服务器,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
如图9所示,本发明实施例提供一种自适应调试异构计算芯片的系统,包括:主板芯片和服务器;
所述主板芯片用于,从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能;
所述服务器用于,从主板芯片获取所述主板芯片的类型;接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;用于给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
如图10所示,本发明实施例提供一种自适应调试异构计算芯片的装置,包括:
存储器;
以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行所述的自适应调试异构计算芯片的方法。
本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现所述的自适应调试异构计算芯片的方法。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种自适应调试异构计算芯片的方法,其特征在于,所述方法包括:
主板芯片从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;
所述主板芯片从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;
所述主板芯片中的Server服务程序调用与异构计算芯片的接口类型对应的API函数,加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
2.根据权利要求1所述的方法,其特征在于,所述主板芯片从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令的步骤之前,所述方法还包括:
所述主板芯片发送所述主板芯片的类型到所述服务器;
所述主板芯片从所述服务器获取与所述主板芯片的类型对应的Server服务程序。
3.根据权利要求1所述的方法,其特征在于,所述主板芯片中的Server服务程序调用与异构计算芯片的接口类型对应的API函数,加载所述代码,与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能的步骤包括:
所述主板芯片读取所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;
所述主板芯片根据读取的所述寄存器的编码,确定所述异构计算芯片的接口类型;
所述主板芯片上的Server服务程序从所述Server服务程序中调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。
4.根据权利要求1所述的方法,其特征在于,所述主板芯片中的Server服务程序调用与异构计算芯片的接口类型对应的API函数,加载所述代码,与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能的步骤包括:
所述主板芯片读取所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;
所述主板芯片将读取的所述寄存器的编码,发送给所述服务器,使得所述服务器确定所述寄存器的编码对应的接口类型;
所述主板芯片接收所述服务器的消息,所述消息中携带有确定的所述寄存器的编码对应的接口类型;
所述主板芯片上的Server服务程序根据所述消息,调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。
5.一种自适应调试异构计算芯片的方法,其特征在于,所述方法包括:
服务器从主板芯片获取所述主板芯片的类型;
所述服务器接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;
所述服务器给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序调用与异构计算芯片的接口类型对应的API函数,加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
6.根据权利要求5所述的方法,其特征在于,所述主板芯片从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码的步骤之后,所述服务器给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码的步骤之前,所述方法还包括:
所述服务器给所述主板芯片发送与所述主板芯片的类型对应的Server服务程序。
7.根据权利要求5所述的方法,其特征在于,所述主板芯片从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码的步骤之后,所述服务器给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码的步骤之前,所述方法还包括:
所述服务器接收所述主板芯片读取的所述异构计算芯片的预定位置的寄存器上的编码;所述编码与所述异构计算芯片的接口类型对应;所述服务器确定所述寄存器的编码对应的接口类型;
所述服务器给所述主板芯片发送消息,所述消息中携带有确定的所述寄存器的编码对应的接口类型,使得所述主板芯片上的Server服务程序根据所述消息,调用与所述接口类型对应的API函数,并执行所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述待调试功能。
8.一种自适应调试异构计算芯片的主板芯片,其特征在于,包括:
第一获取单元,用于从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;
第二获取单元,用于从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;
加载单元,用于所述主板芯片中的Server服务程序调用与异构计算芯片的接口类型对应的API函数,加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
9.一种自适应调试异构计算芯片的服务器,其特征在于,包括:
获取单元,用于从主板芯片获取所述主板芯片的类型;
接收单元,用于接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;
发送单元,用于给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序调用与异构计算芯片的接口类型对应的API函数,加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
10.一种自适应调试异构计算芯片的系统,其特征在于,包括:主板芯片和服务器;
所述主板芯片,用于从服务器获取对与所述主板芯片连接的异构计算芯片的一待调试功能的调试指令;从所述服务器获取与所述主板芯片的类型对应、且执行所述调试指令所对应的代码;所述主板芯片中的Server服务程序调用与异构计算芯片的接口类型对应的API函数,加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能;
所述服务器,用于从主板芯片获取所述主板芯片的类型;接收对与所述主板芯片连接的异构计算芯片的待调试功能的调试指令;用于给所述主板芯片发送与所述主板芯片的类型对应、且执行所述调试指令所对应的代码,以使得所述主板芯片中的Server服务程序调用与异构计算芯片的接口类型对应的API函数,加载所述代码,来与所述异构计算芯片进行交互,以在所述异构计算芯片上调试所述异构计算芯片的所述待调试功能。
11.一种自适应调试异构计算芯片的装置,包括:
存储器;
以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1至4或5至7中任一项所述的自适应调试异构计算芯片的方法。
12.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1至4或5至7中任一项所述的自适应调试异构计算芯片的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011436756.2A CN112559336B (zh) | 2020-12-09 | 2020-12-09 | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011436756.2A CN112559336B (zh) | 2020-12-09 | 2020-12-09 | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559336A CN112559336A (zh) | 2021-03-26 |
CN112559336B true CN112559336B (zh) | 2023-05-19 |
Family
ID=75060258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011436756.2A Active CN112559336B (zh) | 2020-12-09 | 2020-12-09 | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559336B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114113978A (zh) * | 2021-11-11 | 2022-03-01 | 成都海光集成电路设计有限公司 | 芯片挑选方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101251819A (zh) * | 2007-12-11 | 2008-08-27 | 浙江大学 | 一种适用于多处理器核系统芯片的调试方法 |
CN102955737A (zh) * | 2012-11-06 | 2013-03-06 | 无锡江南计算技术研究所 | 异构处理器体系的程序调试方法和系统 |
RU2012127580A (ru) * | 2012-07-02 | 2014-01-10 | ЭлЭсАй Корпорейшн | Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред |
US8769495B1 (en) * | 2005-09-30 | 2014-07-01 | Sony Computer Entertainment Inc. | Systems and methods for debugging in a multiprocessor environment |
CN106598564A (zh) * | 2016-10-24 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种自适应不同主板的bios实现方法、bios及主板 |
CN107273256A (zh) * | 2017-06-22 | 2017-10-20 | 湖南国科微电子股份有限公司 | 一种Soc芯片的调试方法及系统 |
CN108829515A (zh) * | 2018-05-29 | 2018-11-16 | 中国科学院计算技术研究所 | 一种云端平台计算系统及其应用方法 |
CN109918303A (zh) * | 2019-03-05 | 2019-06-21 | 杭州嘉楠耘智信息科技有限公司 | 一种芯片、芯片调试方法及装置、设备、介质 |
CN111783970A (zh) * | 2020-06-30 | 2020-10-16 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611198A (zh) * | 2020-04-02 | 2020-09-01 | 天津七所精密机电技术有限公司 | 一种国产化异构计算加速平台 |
-
2020
- 2020-12-09 CN CN202011436756.2A patent/CN112559336B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769495B1 (en) * | 2005-09-30 | 2014-07-01 | Sony Computer Entertainment Inc. | Systems and methods for debugging in a multiprocessor environment |
CN101251819A (zh) * | 2007-12-11 | 2008-08-27 | 浙江大学 | 一种适用于多处理器核系统芯片的调试方法 |
RU2012127580A (ru) * | 2012-07-02 | 2014-01-10 | ЭлЭсАй Корпорейшн | Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред |
CN102955737A (zh) * | 2012-11-06 | 2013-03-06 | 无锡江南计算技术研究所 | 异构处理器体系的程序调试方法和系统 |
CN106598564A (zh) * | 2016-10-24 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种自适应不同主板的bios实现方法、bios及主板 |
CN107273256A (zh) * | 2017-06-22 | 2017-10-20 | 湖南国科微电子股份有限公司 | 一种Soc芯片的调试方法及系统 |
CN108829515A (zh) * | 2018-05-29 | 2018-11-16 | 中国科学院计算技术研究所 | 一种云端平台计算系统及其应用方法 |
CN109918303A (zh) * | 2019-03-05 | 2019-06-21 | 杭州嘉楠耘智信息科技有限公司 | 一种芯片、芯片调试方法及装置、设备、介质 |
CN111783970A (zh) * | 2020-06-30 | 2020-10-16 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
Non-Patent Citations (4)
Title |
---|
A Debug System for Heterogeneous Multiple Processors in a Single Chip for Multimedia Communication;Noriyuki MINEGISHI 等;《IEICE TRANSACTIONS on Information and Systems》;第E85-D卷;第1571-1578页 * |
Marcelo Ruaro 等.A Framework for Heterogeneous Many-core SoCs Generation.《 2019 IEEE 10th Latin American Symposium on Circuits & Systems (LASCAS)》.2019,第89-92页. * |
异构双核SoC软件调试环境的研究与设计;王品 等;《现代电子技术》;第39卷(第3期);第1-3页 * |
面向大数据应用的异构可重构平台关键技术研究;陈鹏;《中国博士学位论文全文数据库》(第2015年09期);I138-17 * |
Also Published As
Publication number | Publication date |
---|---|
CN112559336A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6188975B1 (en) | Programmatic use of software debugging to redirect hardware related operations to a hardware simulator | |
De Schutter | Better Software. Faster!: Best Practices in Virtual Prototyping | |
US8214192B2 (en) | Resource remapping in a hardware emulation environment | |
CN101344899B (zh) | 一种片上系统的仿真测试方法及仿真测试系统 | |
CN114721719B (zh) | 一种在集群中容器化部署异构应用的方法和系统 | |
CN108614767A (zh) | 一种远程调试方法及装置 | |
CN111880863B (zh) | 应用程序的运行方法、装置、电子设备及存储介质 | |
CN112559336B (zh) | 自适应调试异构计算芯片的方法、装置、系统及主板芯片 | |
Engblom et al. | Full-system simulation from embedded to high-performance systems | |
CN111459606A (zh) | 一种虚拟化下快速创建虚拟机的方法及服务器 | |
CN112764981A (zh) | 一种协同测试系统及方法 | |
CN102331961A (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
CN116611375A (zh) | 软硬件协同仿真平台及软硬件测试方法 | |
CN115509531A (zh) | 基于前端技术的微前端实现方法、装置、终端及存储介质 | |
CN115525561A (zh) | 协议接口测试方法、装置、终端设备以及存储介质 | |
CN115587026A (zh) | 芯片测试方法、装置、存储介质及芯片 | |
CN114816672A (zh) | 虚拟机的创建方法、装置、电子设备和存储介质 | |
CN100492299C (zh) | 一种嵌入式软件开发的方法及系统 | |
US20030070117A1 (en) | Simulation apparatus and simulation method | |
CN113703339A (zh) | 一种自动驾驶仿真方法、装置、设备及存储介质 | |
CN113778451A (zh) | 文件加载方法、装置、计算机系统和计算机可读存储介质 | |
CN116578413B (zh) | 一种基于云+端架构的信号级仿真模型云化方法 | |
RU2521265C2 (ru) | Система и способ автоматической обработки системных ошибок программного обеспечения | |
CN117493192A (zh) | 一种基于qemu的半实物仿真方法及平台 | |
Pflugfelder | Asynchronous programs on IoT devices |
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 |