CN113377440A - 基于fpga处理指令的方法、装置、电子设备及介质 - Google Patents
基于fpga处理指令的方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN113377440A CN113377440A CN202110620641.7A CN202110620641A CN113377440A CN 113377440 A CN113377440 A CN 113377440A CN 202110620641 A CN202110620641 A CN 202110620641A CN 113377440 A CN113377440 A CN 113377440A
- Authority
- CN
- China
- Prior art keywords
- instruction
- fpga
- test
- execution
- current target
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 3
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012360 testing method Methods 0.000 claims description 127
- 238000009826 distribution Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于FPGA处理指令的方法、装置、电子设备及介质,包括:接收主处理器顺序发送的至少一条指令;并将至少一条指令的当前目标指令并行分发至FPGA的多个执行模块,使得多个执行模块同步执行当前目标指令,并同步得到多个执行模块对当前目标指令的执行结果;向主处理器反馈多个执行模块对当前目标指令的执行结果。通过本发明提升了指令处理效率。
Description
技术领域
本发明属于摄像头模组测试领域,尤其涉及一种基于FPGA处理指令的方法、装置、电子设备及介质。
背景技术
FPGA拥有可编程的灵活性和并行性,能满足大部分的实时性要求,被应用在图像处理、数据处理、医疗器械,人工智能等等领域。
相关技术中,CPU和FPGA配合一起,CPU负责向FPGA板卡发送指令;FPGA板卡执行CPU发送的指令。随着FPGA的可编程逻辑资源越来越大,FPGA上可以同时运行很多相同模块。CPU需要同时指挥多个模块操作,并且需要同时对多个模块发送指令,由于CPU与FPGA板卡之间的通道只有一个,指令只能按照顺序一条一条的发送,导致指令到达FPGA板卡的时间不一致,所以FPGA板卡上搭载的各个相同模块运行的指令的时间不一致,就存在多个模块互相等待的情况,进而,导致指令处理效率不高。
发明内容
本发明实施例通过提供一种基于FPGA处理指令的方法、装置、电子设备及介质,解决了指令处理效率不高的技术问题。
第一方面,本发明实施例提供一种基于FPGA处理指令的方法,包括:
接收主处理器顺序发送的至少一条指令;
针对所述至少一条指令的当前目标指令,将所述当前目标指令并行分发至所述FPGA的多个执行模块,使得所述多个执行模块同步执行所述当前目标指令,并同步得到所述多个执行模块对所述当前目标指令的执行结果;
向所述主处理器反馈所述多个执行模块对所述当前目标指令的执行结果。
可选地,所述将所述当前目标指令并行分发至所述FPGA的多个执行模块,包括:
解析所述当前目标指令的目标字段,获取所述当前目标指令的模块标识信息;
将所述当前目标指令并行分发至所述模块标识信息所指示的每个执行模块。
可选地,所述向所述主处理器反馈所述多个执行模块对所述当前目标指令的执行结果,包括:
向所述主处理器反馈针对所述当前目标指令的指令反馈,所述指令反馈中包含所述多个执行模块中每个执行模块对所述当前目标指令的子执行结果。
可选地,所述FPGA内预先写有指令分发控制器以及M个执行模块,M为大于1的整数;
所述接收主处理器顺序发送的至少一条指令,包括:通过所述指令分发控制器接收主处理器顺序发送的一条指令或者多条不同指令;
所述将所述当前目标指令并行分发至所述FPGA的多个执行模块,包括:通过所述指令分发控制器将所述当前目标指令并行分发至所述FPGA的N个执行模块,N为小于或者等于M的正整数。
可选地,所述当前目标指令用于完成针对N摄像头模组的同一测试步骤。
第二方面,本发明实施例提供一种基于FPGA测试摄像头模组的方法,包括:
接收主处理器顺序发送的至少一条测试指令;
针对所述至少一条测试指令的当前测试指令,将所述当前测试指令分发至所述FPGA的N个执行模块,使得所述N个执行模块同步执行所述当前测试指令,以同步得到针对N个摄像头模组的测试反馈数据,所述测试反馈数据包含对应所述N个摄像头模组的相同测试步骤的测试结果,N为大于1的整数;
向所述主处理器反馈所述测试反馈数据。
可选地,所述FPGA内预先写入有指令分发控制器和M个执行模块,M为大于或者等于N的整数,所述接收主处理器顺序发送的至少一条测试指令,包括:
通过所述指令分发控制器接收所述主处理器顺序发送的一条测试指令或者多条不同测试指令;
将所述当前测试指令分发至所述FPGA的N个执行模块,包括:通过所述指令分发控制器将所述当前测试指令分发至所述FPGA的N个执行模块。
第三方面,本发明实施例提供一种基于FPGA处理指令的装置,包括:
第一指令分发控制器,用于接收主处理器顺序发送的至少一条指令;以及用于针对所述至少一条指令的当前目标指令,将所述当前目标指令并行分发至所述FPGA的多个执行模块;
第一指令执行器,用于通过所述多个执行模块同步执行所述当前目标指令,并同步得到所述多个执行模块对所述当前目标指令的执行结果;
第一发送器,用于向所述主处理器反馈所述多个执行模块对所述当前目标指令的执行结果。
第四方面,本发明实施例提供一种基于FPGA测试摄像头模组的装置,包括:
第二指令分发控制器,用于接收主处理器顺序发送的至少一条测试指令;针对所述至少一条测试指令的当前测试指令,将所述当前测试指令分发至所述FPGA的N个执行模块;
第二指令执行器,用于通过所述N个执行模块同步执行所述当前测试指令,以同步得到针对N个摄像头模组的测试反馈数据,所述测试反馈数据包含对应所述N个摄像头模组的相同测试步骤的测试结果,N为大于1的整数;
第二发送器,用于向所述主处理器反馈针对所述测试反馈数据。
第五方面,本发明实施例提供一种电子设备,包括主处理器、FPGA及存储在存储器上并可由主处理器读取后发送至FPGA,并由FPGA运行的计算机程序,所述FPGA执行所述程序时第一方面或者第二方面任一实现方式所述方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
接收主处理器顺序发送的至少一条指令;并将至少一条指令的当前目标指令并行分发至FPGA的多个执行模块,使得多个执行模块同步执行当前目标指令,并同步得到多个执行模块对当前目标指令的执行结果;向主处理器反馈多个执行模块对当前目标指令的执行结果。使得主处理器不再需要多次发送相同的指令给FPGA,而是在FPGA内部将一个指令分发至多个执行模块,保证了相同指令到达FPGA中各个执行模块的时间一致,而且只需主要处理器发送一条指令,节省了顺序发送多条相同指令过程中,各个执行模块的耗时等待,继而提升了处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例中指令处理系统的架构示意图;
图2示出了本发明实施例中基于FPGA处理指令的方法流程图;
图3示出了本发明实施例中基于FPGA测试摄像头模组的方法流程图;
图4示出了本发明实施例中基于FPGA处理指令的装置示意图;
图5示出了本发明实施例中基于FPGA测试摄像头模组的装置流程图;
图6示出了本发明实施例中电子设备的结构示意图。
具体实施方式
鉴于FPGA板卡上搭载的各个执行模块存在互相等待的情况,进而导致了指令处理效率不高的技术问题,本发明实施例提供了一种基于FPGA处理指令的方法、装置、电子设备及介质。
为了解决上述技术问题,本发明实施例提供的基于FPGA处理指令的方法、装置、电子设备及介质,总体思路如下:
接收主处理器顺序发送的至少一条指令;针对至少一条指令的当前目标指令,将当前目标指令并行分发至FPGA的多个执行模块,使得多个执行模块同步执行当前目标指令,并同步得到多个执行模块对当前目标指令的执行结果;向主处理器反馈多个执行模块对当前目标指令的执行结果。
基于上述技术方案,使得主处理器不再需要多次发送相同的指令,而是在FPGA内部将该指令分发至多个执行模块,保证了相同指令到达FPGA中各个执行模块的时间一致,而且只需主要处理器发送一条指令,节省了顺序发送多条相同指令的耗时等待,继而提升了处理效率。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明:
首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明实施例提供了一种指令处理系统的系统架构,用于实现本发明实施例中一种基于FPGA处理指令的方法。参考图1所示,该系统架构包括:CPU(central processingunit,主处理器)和FPGA((Field-Programmable Gate Array,即现场可编程门阵列)。其中,主处理器与FPGA之间可以建立传输指令的一个通道,主处理器利用该通道,能够按照指令顺序向FPGA发送指令,其中,主处理器每次发送的指令互不相同。
在FPGA的内部写入有指令分发控制器和指令执行器,指令执行器包含多个相同的执行模块。针对从主处理器接收到的每条指令,指令分发控制器将该条指令分发至对应的一个以上执行模块。
第一方面,本发明实施例提供一种基于FPGA处理指令的方法,可以应用于FPGA。参考图2所示,该基于FPGA处理指令的方法包括如下步骤:
S201、接收主处理器顺序发送的至少一条指令。
在S201中,主处理器通过一个与FPGA进行通信的通道,按照指令顺序向FPGA发送一条指令或者多条不同指令,而不需要在发送指令过程中,将相同的指令向FPGA发送多次。在不同应用场景下,指令的具体类型是不同的,本发明实施例并不限制指令的具体类型。
在主处理器发送的一条指令或者多条不同指令中,至少包含需要多个执行模块都执行的一类指令。在此基础上,还可以包含仅仅需要单个执行模块执行的一类指令。
下面,以利用FPGA与主处理器配合,并行对多个摄像头模组进行测试的应用场景为例:
任意一个摄像头模组的测试过程都包含多个测试步骤,从而针对每个摄像头模组的测试过程需要依赖于多条不同的测试指令。而在并行对多个摄像头模组进行测试的过程中是存在相同测试步骤的。比如,针对每个摄像头模组的测试过程均包含初始化步骤。在现有技术中,主处理器需要向FPGA发送多次相同的初始化指令,来一一对每个摄像头模组的测试过程的初始化,各个对应的执行模块按照发送初始化指令的顺序,依次接收到初始化指令,导致各个执行模块接收到初始化指令的时间是不相同的。而在本发明实施例中,主处理器仅仅发送一次初始化指令至FPGA,以实现同步对各个摄像头模组的测试过程进行初始化。当然在具体实施时,还存在其他相同的测试步骤,比如:对摄像头模组的点亮步骤,则主处理器仅仅发送一次点亮指令至FPGA,以实现同步对各个摄像头模组进行点亮。
结合图1所示,以利用FPGA与主处理器配合,对6个摄像头模组进行并行测试为例,主处理器不再需要向FPGA顺序发送6次相同的初始化指令,而是仅仅需要向FPGA发送一次初始化指令,来同步初始化6个摄像头模组的测试过程,再向FPGA发送一次点亮指令,来同步点亮6个摄像头模组。
S202、针对至少一条指令的当前目标指令,将当前目标指令并行分发至FPGA的多个执行模块,使得多个执行模块同步执行当前目标指令,并同步得到多个执行模块对当前目标指令的执行结果。
需要说明的是,当前目标指令具体是指需要多个执行模块执行的指令。根据实际应用场景不同,在主处理器顺序发送的一条指令或者多条不同指令中,存在一条需要多个执行模块执行的指令,或者多条需要多个执行模块执行的不同指令,即:存在多条不同的目标指令。因此,当前目标指令可以是至少一条指令中任意一条需要多个执行模块执行的指令,不会将相同的目标指令发送多次。
在对N个摄像头模组进行测试的应用场景下,当前目标指令用于完成针对N摄像头模组的同一测试步骤,N为大于1的整数。比如,当前目标指令可以是用于完成对N摄像头模组的测试过程进行初始化的指令,也可以是用于完成对N摄像头模组进行点亮的指令。
在一些实施方式下,可以基于预先制定的协议来定义每条目标指令。基于此,将当前目标指令并行分发至FPGA的多个执行模块,具体包括:解析当前目标指令的目标字段,从目标字段中获取当前目标指令的模块标识信息;将当前目标指令并行分发至模块标识信息所指示的每个执行模块。
需要说明的是,目标字段是预先制定的协议中用于表示模块标识信息的字段,该模块标识信息可以包括执行模块的模块代号,模块代号用于区分FPGA中各个执行模块。
具体的,FPGA包含M个执行模块,M为大于N的整数,N为需要测试的摄像头模组的数量。下面,继续以对N个摄像头模组进行测试为例进行解释:
则主处理器发送的初始化指令中N个执行模块的模块代号,从而,FPGA能够根据解析得到的N个执行模块的模块代号,将初始化指令分发至这N个模块代号对应的执行模块,使得这N个执行模块接收到初始化执行的时间是一致的,进而使得这N个执行模块能够同步执行初始化指令,并同步得到执行初始化指令的执行结果。
为了实现在FPGA内部对指令的分发,在本发明实施中对FPGA的架构进行改进:在FPGA内部写一个指令分发控制器。通过指令分发控制器接收主处理器顺序发送的一条指令或者多条不同指令,并通过指令分发控制器来分发每条指令给对应的执行模块。并且,主处理器通过预先制定的协议向FPGA传输指令,使得FPGA内部的指令分发控制器可以兼容不同的指令,并可以准确将当前目标指令分发至对应它的每个执行模块。
具体的,FPGA内设置有指令分发控制器以及M个执行模块,M为大于1的整数,通过指令分发控制器将当前目标指令并行分发至FPGA的N个执行模块,N为小于或者等于M的正整数。
具体来讲,通过指令分发控制器对接收到的当前目标指令的目标字段进行解析,得到需要执行当前目标指令的各个执行模块的模块代号;接着,指令分发控制器根据各个执行模块的模块代号对当前目标指令进行同步分发,以同步分发至模块代码所指示的每个执行模块。
在具体实施时,FPGA内设置执行模块的数量根据实际需求决定。在对摄像头模组进行测试的应用场景下,执行模块的数量等于或者大于需要测试的摄像头模组的数量。
对于多条不同指令中仅需要单个执行模块处理的指令,也可以通过指令分发控制器来进行分发,具体实施过程参考前文所述的分发目标指令的实施方式,为了说明书的简洁,在此不再赘述。当然,对于仅需要单个执行模块处理的指令,也可以不通过指令分发控制器进行分发,而是由主处理器发送至对应的一个执行模块。
S203、向主处理器反馈多个执行模块对当前目标指令的执行结果。
需要说明的是,由于当前目标指令是被同步分发至多N执行模块的,从而N个执行模块能够同步得到对当前目标指令的子执行结果。也就不需要一条条顺序的将每个执行模块的子执行结果反馈给主处理器,而是通过一条指令反馈来同步反馈N个执行模块的子执行结果,从而实现同步反馈的效果。
具体实施过程可以是:向主处理器反馈针对当前目标指令的指令反馈,指令反馈中包含多个执行模块中每个执行模块对当前目标指令的子执行结果。从而省略了FPGA一一将每个执行模块对同一指令的执行结果发送给主处理器的等待时间,进一步优化处理时间,提高了指令处理效率。
基于同一发明构思,本发明实施例提供一种基于FPGA测试摄像头模组的方法,应用于FPGA,以能够提高并行测试多个摄像头模组的测试效率。参考图3所示,该基于FPGA测试摄像头模组的方法包括:
S301、接收主处理器顺序发送的至少一条测试指令。
S302、针对所述至少一条测试指令的当前测试指令,将当前测试指令分发至FPGA的N个执行模块,使得N个执行模块同步执行当前测试指令,以同步得到针对N个摄像头模组的测试反馈数据,测试反馈数据包含对应N个摄像头模组的相同测试步骤的测试结果,N为大于1的整数;
在一些实施方式下,FPGA内预先写入有指令分发控制器和M个执行模块,M为大于或者等于N的整数。基于此,接收主处理器顺序发送的至少一条测试指令,包括:通过指令分发控制器接收主处理器顺序发送的一条测试指令或者多条不同测试指令;针对一条测试指令或者多条不同测试指令中的当前测试指令,通过指令分发控制器将当前测试指令分发至FPGA的N个执行模块。
指令分发控制器对当前测试指令的目标字段进行解析,得到N个执行模块的模块标识信息,根据执行模块的模块代号,将当前测试指令同步分发至模块标识信息所指示的每个执行模块。
S303、向主处理器反馈测试反馈数据。
具体的,通过发送一条指令反馈向主处理器反馈测试反馈数据。从而实现同步向主处理器反馈N个执行模块对当前测试指令的执行结果,而不需要一条条反馈各个执行模块的测试结果,从而提高了测试效率。
需要说明的是,基于FPGA测试摄像头模组的方法实施例中的更多实施细节,可以参考第一方面所述的基于FPGA处理指令的方法实施例,为了说明书的简洁,在此不再赘述。
在一些实施方式下,所述向主处理器反馈测试反馈数据,包括:
向所述主处理器反馈针对所述当前测试指令的指令反馈,所述指令反馈中包含所述多个执行模块中每个执行模块对所述当前测试指令的子执行结果。
第三方面,基于同一发明构思,本发明实施例提供一种基于FPGA处理指令的装置,参考图4所示,该基于FPGA处理指令的装置包括:
第一指令分发控制器401,用于接收主处理器顺序发送的至少一条指令;以及用于针对所述至少一条指令的当前目标指令,将当前目标指令并行分发至所述FPGA的多个执行模块;
第一指令执行器402,用于通过指令执行器的多个执行模块同步执行所述当前目标指令,并同步得到所述多个执行模块对所述当前目标指令的执行结果;
第一发送器403,用于向所述主处理器反馈所述多个执行模块对所述当前目标指令的执行结果。
在一些实施方式下,第一指令分发控制器401,包括:
解析单元,用于解析所述当前目标指令的目标字段,获取所述当前目标指令的模块标识信息;
分发单元,用于将所述当前目标指令并行分发至所述模块标识信息所指示的每个执行模块。
在一些实施方式下,第一发送器403,具体用于:
向所述主处理器反馈针对所述当前目标指令的指令反馈,所述指令反馈中包含所述多个执行模块中每个执行模块对所述当前目标指令的子执行结果。
在一些实施方式下,所述FPGA内预先写有第一指令分发控制器以及M个执行模块,M为大于1的整数;第一指令分发控制器401,用于接收主处理器顺序发送的一条指令或者多条不同指令;以及针对当前目标指令,将所述当前目标指令并行分发至所述FPGA的N个执行模块,N为小于或者等于M的正整数。
在一些实施方式下,所述当前目标指令用于完成针对N摄像头模组的同一测试步骤。
第四方面,基于同一发明构思,本发明实施例提供一种基于FPGA测试摄像头模组的装置,参考图5所示,该装置包括:
第二指令分发控制器501,用于接收主处理器顺序发送的至少一条测试指令;针对所述至少一条测试指令的当前测试指令,将所述当前测试指令分发至所述FPGA的N个执行模块;
第二指令执行器502,用于通过N个执行模块同步执行当前测试指令,以同步得到针对N个摄像头模组的测试反馈数据,测试反馈数据包含对应所述N个摄像头模组的相同测试步骤的测试结果,N为大于1的整数;
第二发送器503,用于向主处理器反馈针对所述测试反馈数据。
在一些实施方式下,所述FPGA内预先写入有指令分发控制器和M个执行模块,M为大于或者等于N的整数,第二指令分发控制器501包括:
解析单元,用于通过所述指令分发控制器接收所述主处理器顺序发送的一条测试指令或者多条不同测试指令;
分发单元,用于将所述当前测试指令分发至所述FPGA的N个执行模块,包括:通过所述指令分发控制器将所述当前测试指令分发至所述FPGA的N个执行模块。
在一些实施方式下,所述第二发送器503,具体用于:
向所述主处理器反馈针对所述当前测试指令的指令反馈,所述指令反馈中包含所述多个执行模块中每个执行模块对所述当前测试指令的子执行结果。
第五方面,本发明实施例提供一种电子设备,参考图6所示,包括主处理器602、FPGA606及存储在存储器604上并可由主处理器602读取后发送至FPGA 606,并由FPGA 606运行的计算机程序,FPGA 606执行所述程序时第一方面基于FPGA处理指令的方法实施例或者第二方面基于FPGA测试摄像头模组的方法实施例。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由主处理器602代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口606在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。主处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储主处理器602在执行操作时所使用的数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于FPGA处理指令的方法,其特征在于,包括:
接收主处理器顺序发送的至少一条指令;
针对所述至少一条指令的当前目标指令,将所述当前目标指令并行分发至所述FPGA的多个执行模块,使得所述多个执行模块同步执行所述当前目标指令,并同步得到所述多个执行模块对所述当前目标指令的执行结果;
向所述主处理器反馈所述多个执行模块对所述当前目标指令的执行结果。
2.如权利要求1所述的基于FPGA处理指令的方法,其特征在于,所述将所述当前目标指令并行分发至所述FPGA的多个执行模块,包括:
解析所述当前目标指令的目标字段,获取所述当前目标指令的模块标识信息;
将所述当前目标指令并行分发至所述模块标识信息所指示的每个执行模块。
3.如权利要求1所述的基于FPGA处理指令的方法,其特征在于,所述向所述主处理器反馈所述多个执行模块对所述当前目标指令的执行结果,包括:
向所述主处理器反馈针对所述当前目标指令的指令反馈,所述指令反馈中包含所述多个执行模块中每个执行模块对所述当前目标指令的子执行结果。
4.如权利要求1-3中任一所述的基于FPGA处理指令的方法,其特征在于,所述FPGA内预先写有指令分发控制器以及M个执行模块,M为大于1的整数;
所述接收主处理器顺序发送的至少一条指令,包括:通过所述指令分发控制器接收主处理器顺序发送的一条指令或者多条不同指令;
所述将所述当前目标指令并行分发至所述FPGA的多个执行模块,包括:通过所述指令分发控制器将所述当前目标指令并行分发至所述FPGA的N个执行模块,N为小于或者等于M的正整数。
5.如权利要求4所述的基于FPGA处理指令的方法,其特征在于,所述当前目标指令用于完成针对N摄像头模组的同一测试步骤。
6.一种基于FPGA测试摄像头模组的方法,其特征在于,包括:
接收主处理器顺序发送的至少一条测试指令;
针对所述至少一条测试指令的当前测试指令,将所述当前测试指令分发至所述FPGA的N个执行模块,使得所述N个执行模块同步执行所述当前测试指令,以同步得到针对N个摄像头模组的测试反馈数据,所述测试反馈数据包含对应所述N个摄像头模组的相同测试步骤的测试结果,N为大于1的整数;
向所述主处理器反馈所述测试反馈数据。
7.如权利要求6所述的基于FPGA测试摄像头模组的方法,其特征在于,所述FPGA内预先写入有指令分发控制器和M个执行模块,M为大于或者等于N的整数,所述接收主处理器顺序发送的至少一条测试指令,包括:
通过所述指令分发控制器接收所述主处理器顺序发送的一条测试指令或者多条不同测试指令;
将所述当前测试指令分发至所述FPGA的N个执行模块,包括:通过所述指令分发控制器将所述当前测试指令分发至所述FPGA的N个执行模块。
8.一种基于FPGA处理指令的装置,其特征在于,包括:
第一指令分发控制器,用于接收主处理器顺序发送的至少一条指令;以及用于针对所述至少一条指令的当前目标指令,将所述当前目标指令并行分发至所述FPGA的多个执行模块;
第一指令执行器,用于通过所述多个执行模块同步执行所述当前目标指令,并同步得到所述多个执行模块对所述当前目标指令的执行结果;
第一发送器,用于向所述主处理器反馈所述多个执行模块对所述当前目标指令的执行结果。
9.一种基于FPGA测试摄像头模组的装置,其特征在于,包括:
第二指令分发控制器,用于接收主处理器顺序发送的至少一条测试指令;针对所述至少一条测试指令的当前测试指令,将所述当前测试指令分发至所述FPGA的N个执行模块;
第二指令执行器,用于通过所述N个执行模块同步执行所述当前测试指令,以同步得到针对N个摄像头模组的测试反馈数据,所述测试反馈数据包含对应所述N个摄像头模组的相同测试步骤的测试结果,N为大于1的整数;
第二发送器,用于向所述主处理器反馈针对所述测试反馈数据。
10.一种电子设备,包括主处理器、FPGA及存储在存储器上并可由主处理器读取后发送至FPGA,并由FPGA运行的计算机程序,所述FPGA执行所述程序时实现权利要求1-7中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110620641.7A CN113377440A (zh) | 2021-06-03 | 2021-06-03 | 基于fpga处理指令的方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110620641.7A CN113377440A (zh) | 2021-06-03 | 2021-06-03 | 基于fpga处理指令的方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377440A true CN113377440A (zh) | 2021-09-10 |
Family
ID=77575703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110620641.7A Pending CN113377440A (zh) | 2021-06-03 | 2021-06-03 | 基于fpga处理指令的方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377440A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739235A (zh) * | 2008-11-26 | 2010-06-16 | 中国科学院微电子研究所 | 将32位dsp与通用risc cpu无缝混链的处理器装置 |
CN104572569A (zh) * | 2015-01-21 | 2015-04-29 | 江苏微锐超算科技有限公司 | 基于arm和fpga的高性能计算节点及计算方法 |
CN205961333U (zh) * | 2016-08-30 | 2017-02-15 | 昆山软龙格自动化技术有限公司 | 一种手机摄像头模组多模组同时测试装置 |
CN108335718A (zh) * | 2017-12-15 | 2018-07-27 | 北京京存技术有限公司 | 一种测试方法及装置 |
CN110361865A (zh) * | 2018-04-10 | 2019-10-22 | 幻视互动(北京)科技有限公司 | 一种可加速数字光瞳信号传输的视网膜光场显示mr混合现实眼镜 |
CN110687843A (zh) * | 2019-10-14 | 2020-01-14 | 湖南强军科技有限公司 | 一种基于zynq的多轴多电机伺服装置及其控制方法 |
CN110751676A (zh) * | 2019-10-21 | 2020-02-04 | 中国科学院空间应用工程与技术中心 | 一种基于目标检测的异构计算系统、方法和可读存储介质 |
CN111340202A (zh) * | 2018-12-18 | 2020-06-26 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN111866500A (zh) * | 2020-08-05 | 2020-10-30 | 昆山软龙格自动化技术有限公司 | 一种基于FPGA和Intel CPU、WIFI 6的影像测试装置 |
-
2021
- 2021-06-03 CN CN202110620641.7A patent/CN113377440A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739235A (zh) * | 2008-11-26 | 2010-06-16 | 中国科学院微电子研究所 | 将32位dsp与通用risc cpu无缝混链的处理器装置 |
CN104572569A (zh) * | 2015-01-21 | 2015-04-29 | 江苏微锐超算科技有限公司 | 基于arm和fpga的高性能计算节点及计算方法 |
CN205961333U (zh) * | 2016-08-30 | 2017-02-15 | 昆山软龙格自动化技术有限公司 | 一种手机摄像头模组多模组同时测试装置 |
CN108335718A (zh) * | 2017-12-15 | 2018-07-27 | 北京京存技术有限公司 | 一种测试方法及装置 |
CN110361865A (zh) * | 2018-04-10 | 2019-10-22 | 幻视互动(北京)科技有限公司 | 一种可加速数字光瞳信号传输的视网膜光场显示mr混合现实眼镜 |
CN111340202A (zh) * | 2018-12-18 | 2020-06-26 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
CN110687843A (zh) * | 2019-10-14 | 2020-01-14 | 湖南强军科技有限公司 | 一种基于zynq的多轴多电机伺服装置及其控制方法 |
CN110751676A (zh) * | 2019-10-21 | 2020-02-04 | 中国科学院空间应用工程与技术中心 | 一种基于目标检测的异构计算系统、方法和可读存储介质 |
CN111866500A (zh) * | 2020-08-05 | 2020-10-30 | 昆山软龙格自动化技术有限公司 | 一种基于FPGA和Intel CPU、WIFI 6的影像测试装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104123184B (zh) | 一种用于为构建过程中的任务分配资源的方法和系统 | |
CN110750592B (zh) | 数据同步的方法、装置和终端设备 | |
CN104965757A (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
CN102799519A (zh) | 一种集群文件系统自动化测试方法 | |
US11941514B2 (en) | Method for execution of computational graph in neural network model and apparatus thereof | |
CN110290166B (zh) | 跨集群数据交互方法、系统、装置及可读存储介质 | |
WO2022007755A1 (zh) | 机器人软件测试方法、设备及存储介质 | |
CN110460653A (zh) | 自动驾驶车辆数据传输的方法及装置 | |
CN116594757A (zh) | 利用大语言模型执行复杂任务的方法及装置 | |
CN110083536A (zh) | 测试资源分配方法及装置、电子设备及存储介质 | |
CN115437760A (zh) | 计算资源分配方法、电子设备、存储介质及程序产品 | |
CN109660391A (zh) | 一种池化服务器系统固件升级方法、系统及相关装置 | |
CN116820714A (zh) | 一种算力设备的调度方法、装置、设备和存储介质 | |
US11055144B2 (en) | Method, apparatus, and system for multi-module scheduling | |
CN104360962B (zh) | 匹配于高性能计算机结构的多级嵌套数据传输方法与系统 | |
CN117573210A (zh) | 同步控制方法、装置及设备 | |
CN110209565A (zh) | 一种元数据模型调试方法及其装置 | |
CN113377440A (zh) | 基于fpga处理指令的方法、装置、电子设备及介质 | |
CN115775199B (zh) | 数据处理方法和装置、电子设备和计算机可读存储介质 | |
US10162913B2 (en) | Simulation device and simulation method therefor | |
CN114912384A (zh) | 一种基于嵌入式gpu的智能计算模块及其设计方法 | |
CN107807608A (zh) | 数据处理方法、数据处理系统及存储介质 | |
CN111831539B (zh) | 一种测试方法及相关产品 | |
CN111950219B (zh) | 用于实现模拟器的方法、装置、设备以及介质 | |
CN111027196A (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 |