CN117435259B - Vpu的配置方法、装置、电子设备及计算机可读存储介质 - Google Patents
Vpu的配置方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117435259B CN117435259B CN202311754212.4A CN202311754212A CN117435259B CN 117435259 B CN117435259 B CN 117435259B CN 202311754212 A CN202311754212 A CN 202311754212A CN 117435259 B CN117435259 B CN 117435259B
- Authority
- CN
- China
- Prior art keywords
- vpu
- configurator
- configuration
- register
- instruction
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明提供了一种VPU的配置方法、装置、电子设备及计算机可读存储介质,属于视频处理技术领域;能够通过配置器对VPU进行配置,从而减少CPU的配置工作,降低CPU的处理压力。该方法包括:通过CPU向配置器发送指令缓冲区的地址,指令缓冲区存储有至少一个指令,每个指令用于指示向VPU寄存器中写入配置数据或者从VPU寄存器中读取数据;基于指令缓冲区的地址,通过配置器从指令缓冲区按顺序获取指令;通过配置器解析指令,得到操作信息,操作信息包括操作码和配置信息,操作码用于指示读数据或者写数据;基于配置信息,通过配置器对VPU寄存器执行操作码指示的操作,以完成对VPU的配置。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种VPU的配置方法、装置、电子设备及计算机可读存储介质。
背景技术
随着人们对视频图像质量要求的提升,视频图像分辨率显著提升,随之带来的是内存资源的紧缺,此时视频处理器(Video Process Unit,VPU)应运而生。VPU的编解码功能,能够在保证显示的视频图像不受损的情况下又能大幅度减少其存储数据。
在使用VPU对视频图像进行编解码时,需要依赖中央处理器(Central ProcessingUnit,CPU)对VPU寄存器进行配置。但在VPU寄存器数量较多的情况下,通过CPU对VPU进行配置会增加CPU的处理压力,导致CPU的工作效率减低。
发明内容
本发明提供了一种VPU的配置方法、装置、电子设备及可读存储介质;能够通过配置器对VPU进行配置,从而减少CPU的配置工作,降低CPU的处理压力。
第一方面,本发明提供了一种VPU的配置方法,应用于包括中央处理器CPU,视频处理器VPU和配置器的电子设备,该方法包括:通过CPU向配置器发送指令缓冲区的地址,指令缓冲区存储有至少一个指令,每个指令用于指示向VPU寄存器中写入配置数据或者从VPU寄存器中读取数据;基于指令缓冲区的地址,通过配置器从指令缓冲区按顺序获取指令;通过配置器解析指令,得到操作信息,操作信息包括操作码和配置信息,操作码用于指示读数据或者写数据;基于配置信息,通过配置器对VPU寄存器执行操作码指示的操作,以完成对VPU的配置。
第二方面,本发明提供了一种VPU的配置装置,该装置包括:发送部分,获取部分,解析部分和执行部分; 发送部分,用于通过CPU向配置器发送指令缓冲区的地址,指令缓冲区存储有至少一个指令,每个指令用于指示向VPU寄存器中写入配置数据或者从VPU寄存器中读取数据;获取部分,用于基于指令缓冲区的地址,通过配置器从指令缓冲区按顺序获取指令;解析部分,用于通过配置器解析指令,得到操作信息,操作信息包括操作码和配置信息,操作码用于指示读数据或者写数据;执行部分,用于基于配置信息,通过配置器对VPU寄存器执行操作码指示的操作,以完成对VPU的配置。
第三方面,本发明提供了一种电子设备,该电子设备包括处理器、存储器及存储在该存储器上并可在该处理器上运行的程序或指令,该程序或指令被该处理器执行时实现如第一方面所述的VPU的配置方法的步骤。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储程序或指令,该程序或指令被处理器执行时实现如第一方面所述的VPU的配置方法的步骤。
第五方面,本发明提供了一种计算机程序产品,其中,该计算机程序产品包括计算机程序或指令,当该计算机程序产品在处理器上运行时,使得处理器执行该计算机程序或指令,实现如第一方面所述的VPU的配置方法的步骤。
第六方面,本发明提供了一种芯片,该芯片包括处理器和通信接口,该通信接口和该处理器耦合,该处理器用于运行程序或指令,实现如第一方面所述的VPU的配置方法。
本发明提供了一种VPU的配置方法,应用于包括中央处理器CPU,视频处理器VPU和配置器的电子设备,该方法包括:通过CPU向配置器发送指令缓冲区的地址,指令缓冲区存储有至少一个指令,每个指令用于指示向VPU寄存器中写入配置数据或者从VPU寄存器中读取数据;基于指令缓冲区的地址,通过配置器从指令缓冲区按顺序获取指令;通过配置器解析指令,得到操作信息,操作信息包括操作码和配置信息,操作码用于指示读数据或者写数据;基于配置信息,通过配置器对VPU寄存器执行操作码指示的操作,以完成对VPU的配置。如此,在执行对VPU的配置时,CPU仅需将存储有VPU配置相关的指令的指令缓冲区的地址告知配置器,解析以及执行指令的工作交由配置器完成。即配置器接管了对VPU的配置工作,从而减少了CPU繁杂的配置工作,降低了CPU的资源消耗,提升了CPU的工作效率。
附图说明
图1为本发明提供的一种CPU对VPU进行配置的示意图;
图2为本发明提供的VPU的配置方法的流程示意图之一;
图3为本发明提供的配置器对VPU进行配置的示意图;
图4为本发明提供的VPU的配置方法的流程示意图之二;
图5为本发明提供的VPU的配置方法的流程示意图之三;
图6为本发明提供的VPU的配置方法的流程示意图之四;
图7为本发明提供的一种VPU的配置装置的结构框图;
图8为本发明提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书中的术语“第一”“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明提供的VPU的配置方法的执行主体可以为上述的电子设备(包括移动电子设备和非移动电子设备),也可以为该电子设备中能够实现该VPU的配置方法的功能模块和/或功能实体,具体的可以根据实际使用需求确定,本发明实施例不作限定。
VPU是一种专用的硬件加速器,旨在处理与图像、视频和视觉相关的任务。VPU通常用于嵌入式系统、移动设备和计算机视觉应用中,以提高图像处理、视频编解码、图像识别等任务的性能和效率。而VPU的配置依赖于VPU寄存器。
VPU寄存器通常是一组用于配置VPU硬件功能的寄存器。这些寄存器存储了VPU的状态、参数和配置信息,可以通过CPU进行读取和写入,以控制VPU的行为。
CPU对VPU寄存器的配置是一种用于控制和管理VPU硬件功能的过程。通常涉及将特定的值写入VPU寄存器或者从VPU寄存器读取数据,以配置其工作方式和参数。
具体地,如图1所示,为CPU对VPU进行配置的示意图。根据应用程序的需求,CPU 10对VPU 20进行配置,如设置编码器、解码器、图像处理算法等的参数,CPU 10将应用程序的需求转换为指令存储至指令缓冲区30;CPU 10根据指令缓冲区30中的指令,生成包含所需配置信息的数据,通常以二进制形式,并将该数据写入VPU寄存器40以实现对VPU 20的配置,配置完成后,VPU 20即可根据配置启动操作,例如开始图像编码、解码或其他视觉处理任务。
但随着VPU功能的增多,需要配置的VPU寄存器的数量也随着增加,VPU繁杂的配置工作会占用大量CPU资源,导致CPU压力增加。
因此,本发明提供一种VPU的配置方法,下面以执行主体为包括CPU,VPU和配置器的电子设备为例,本发明提供的VPU的配置方法进行示例性的说明。如图2所示,该方法可以包括下述步骤S201至步骤S204。
S201、通过CPU向配置器发送指令缓冲区的地址。
其中,指令缓冲区存储有至少一个指令,每个指令用于指示向VPU寄存器中写入配置数据或者从VPU寄存器中读取数据。
本示例中,指令缓冲区用于存储对VPU进行配置的指令,每个指令包括:用于指示读数据或者写数据的操作码和配置信息。具体地,根据应用程序对VPU的配置需求,CPU将VPU的配置需求转换为指令存储在指令缓冲区。
S202、基于指令缓冲区的地址,通过配置器从指令缓冲区按顺序获取指令。
S203、通过配置器解析指令,得到操作信息,操作信息包括操作码和配置信息,操作码用于指示读数据或者写数据。
S204、基于配置信息,通过配置器对VPU寄存器执行操作码指示的操作,以完成对VPU的配置。
结合图1,图3示出的为通过本发明的配置器对VPU进行配置的示意图。CPU 10将应用程序的需求转换为指令存储至指令缓冲区30;CPU 10将指令缓冲区30的地址配置至配置器50,配置器50从指令缓冲区30中获取指令,解析指令并执行,即根据指令指示的操作,向VPU寄存器中写入数据或者从VPU寄存器中读取数据。
如此,在执行对VPU的配置时,CPU仅需将存储有VPU配置相关的指令的指令缓冲区的地址告知配置器,解析以及执行指令的工作交由配置器完成。即配置器接管了对VPU的配置工作,从而减少了CPU繁杂的配置工作,降低了CPU的资源消耗,提升了CPU的工作效率。
具体地,结合图2,如图4所示,上述步骤S204具体可以通过下述步骤S204a和步骤S204b实现,或者,通过下述步骤S204c实现。
S204a、在操作码指示读数据的情况下,通过配置器,在VPU寄存器中,从第一读地址下指示的寄存器开始的连续第一数量个寄存器中读取数据,得到第一数据。
S204b、将第一数据存储至第一写地址对应的存储区域。
S204c、在操作码指示写数据的情况下,通过配置器,在VPU寄存器中,将配置数据写入从第二写地址指示的寄存器开始的连续第二数量个寄存器中。
其中,在操作码指示读数据的情况下,配置信息包括:第一数量,第一读地址和第一写地址;在操作码指示写数据的情况下,配置信息包括:第二数量,第二写地址,配置数据。第一数量指示需要读取的寄存器的个数,第二数量指示需要写入数据的寄存器的个数。
可选地,配置信息还可以包括地址模式,地址模式用于指示从第一个被读或者写的寄存器开始,以递增的方式从多个寄存器中读或者写数据,或者,从一个寄存器中读或者写数据。本示例中,默认的地址模式是以递增的方式从多个寄存器中读或者写数据。
示例性地,第一写地址为1000h,第一数量是2,第一读地址为2000h,在操作码指示读数据的情况下,则读取2000h指示的第一个寄存器和2004h指示的第二个寄存器中的数据,并将读取到的数据存储至1000h指示的存储区域。第二数量是2,第二写地址为2000h,在操作码指示写数据的情况下,则依次将配置数据写入2000h指示的第一个寄存器和2004h指示的第二个寄存器中。
本示例中,配置器接管了CPU对VPU的配置工作,配置器解析指令,并根据指令中的操作码,在需要从VPU寄存器中读取数据的情况下,根据配置信息,读取数据;在需要向VPU寄存器中写入数据的情况下,将配置数据写入VPU寄存器的指定寄存器中。如此,通过配置器实现对VPU寄存器的读写操作,从而实现对VPU的配置,减少了CPU的工作量。
本发明一些实施例中,随着VPU处理视频流的增加,VPU向CPU上报的中断数量也急速上升,因此,可以通过配置器对VPU中断屏蔽寄存器进行配置,以减少中断的上报。结合图2,如图5所示,上述步骤S202之前,该方法还包括下述步骤S205。
S205、通过CPU清空配置器的中断寄存器。
为了避免配置器的中断寄存器中保留有之前的中断请求数据,导致配置器向CPU发送之前的中断请求数据出现请求错误的问题,在使用配置器对VPU进行配置之前,清空配置器的中断寄存器,确保中断寄存器中存储的是当前产生的中断,配置器将中断寄存器中的中断发送至CPU,即将当前产生的中断发送至CPU。
本示例中,指令缓冲区存储的至少一个指令中包括VPU中断屏蔽寄存器的配置指令,具体地,VPU中断屏蔽寄存器的配置指令为一个写指令,指示向VPU中断屏蔽寄存器写入数据,配置器执行该配置指令,即完成向VPU中断屏蔽寄存器中写入数据。如此,通过配置器实现对VPU寄存器中的中断屏蔽寄存器的配置,从而根据需要屏蔽掉部分中断。
S206、在配置器向CPU发送待发送中断之前,通过配置器检测VPU中断屏蔽寄存器中待发送中断对应的中断源是否被指示屏蔽。
S207、在中断源被指示屏蔽的情况下,通过配置器丢弃待发送中断。
S208、在中断源被指示不屏蔽的情况下,通过配置器将待发送中断发送至CPU。
其中,中断用于处理计算机系统中的事件和异步通知。中断允许计算机系统在执行程序时暂停当前任务,转而执行特殊的中断处理程序,以响应外部事件或内部条件的发生。VPU可以生成中断信号以通知CPU某些事件的发生,例如任务完成或错误发生。中断寄存器用于管理和响应这些中断。中断源是导致中断的事件或条件。它可以是外部事件,如硬件设备发出的信号(例如键盘输入、鼠标点击、定时器溢出等),也可以是内部条件,如错误检测或程序运行时的异常情况。
通过配置器配置VPU中断屏蔽寄存器,具体地,配置器根据应用程序的需求(开发人员确定需要上报至CPU的中断对应的中断源),将VPU中断屏蔽寄存器需要屏蔽的各个比特位设置为屏蔽标识(如1),每个比特位对应一个中断源,若VPU中断屏蔽寄存器某一比特位为屏蔽标识,则该比特位对应的中断源被屏蔽。
需要说明的是,上述步骤S201和步骤S205的执行顺序不受限制,可以是先执行步骤S201,再执行步骤S205,也可以是先执行步骤S205,再执行步骤S201。
本发明实施例中,开发人员根据需要,在应用程序中将不重要的中断对应的中断源屏蔽掉,配置器根据应用程序,配置VPU中断屏蔽寄存器,如此,当配置器需要向CPU发送中断时,根据中断对应的中断源在VPU中断屏蔽寄存器中的中断指示,确定是否将该中断发送至CPU,从而不需要CPU做任何处理的中断对应的中断源可以被认为是不重要的中断源,屏蔽掉该中断源对应的中断,可以大大减少CPU接收到的中断,从而提升CPU的工作效率。
本发明一些实施例中,可以根据需要,灵活选择通过配置器或者CPU对VPU进行配置,具体地,结合图2,如图6所示,上述步骤S201具体可以通过下述步骤S201a。
S201a、在配置器启动的情况下,通过CPU向配置器发送指令缓冲区的地址。
本示例中,开发人员可以在应用程序中设置对应的配置器的启动指示,如在启动标识为1的情况下,表示通过配置器配置VPU;在启动标识为0的情况下,表示通过CPU配置VPU。开发人员可以根据设备能力,灵活选择将VPU的配置工作交由配置器或者CPU。
可选的,在CPU的占用率大于或者等于占用率阈值的情况下,确定启动配置器;在CPU的占用率小于占用率阈值的情况下,确定关闭配置器。由于CPU的数据处理能力大于配置器的数据处理能力,因此,在CPU占用率不高的情况下,通过CPU对VPU进行配置,可以提升配置效率;但在CPU占用率较高的情况下,为了降低CPU的处理压力,将VPU的配置工作交由配置器,减少CPU的配置工作,从而可以使得CPU可以有更多的可分配资源。
图7为本发明示出的一种VPU的配置装置的结构框图,如图7所示,该装置包括:发送部分701,获取部分702,解析部分703和执行部分704;发送部分701,用于通过CPU向配置器发送指令缓冲区的地址,指令缓冲区存储有至少一个指令,每个指令用于指示向VPU内部寄存器中写入配置数据或者从VPU内部寄存器中读取数据;获取部分702,用于基于指令缓冲区的地址,通过配置器从指令缓冲区按顺序获取指令;解析部分703,用于通过配置器解析指令,得到操作信息,操作信息包括操作码和配置信息,操作码用于指示读数据或者写数据;执行部分704,用于基于配置信息,通过配置器对VPU内部寄存器执行操作码指示的操作,以完成对VPU的配置。
本发明一些实施例中,该装置还包括清除部分705;该清除部分705,用于基于指令缓冲区的地址,通过配置器从指令缓冲区按顺序获取指令之前,通过CPU清空配置器的中断寄存器。
本发明一些实施例中,至少一个指令包括VPU中断屏蔽寄存器的配置指令。
本发明一些实施例中,该装置还包括:检测部分706;该检测部分706,用于在基于配置信息,通过配置器对VPU内部寄存器执行操作码指示的操作,以完成对VPU的配置之后,在配置器向CPU发送待发送中断之前,通过配置器检测VPU中断屏蔽寄存器中待发送中断对应的中断源是否被指示屏蔽;该发送部分701,还用于在中断源被指示屏蔽的情况下,通过配置器丢弃待发送中断;该发送部分701,还用于在中断源被指示不屏蔽的情况下,通过配置器将待发送中断发送至CPU。
本发明一些实施例中,配置信息包括:第一数量,第一读地址和第一写地址;执行部分704,具体用于在操作码指示读数据的情况下,通过配置器,在VPU寄存器中,从第一读地址指示的寄存器开始的连续第一数量个寄存器中读取数据,得到第一数据;将第一数据存储至第一写地址对应的存储区域。
本发明一些实施例中,配置信息包括:第二数量,第二写地址,配置数据;基于配置信息,执行部分704,具体用于在操作码指示写数据的情况下,通过配置器,在VPU寄存器中,将配置数据写入从第二写地址指示的寄存器开始的连续第二数量个寄存器中。
本发明一些实施例中,该发送部分701,具体用于在配置器启动的情况下,通过CPU向配置器发送指令缓冲区的地址。
需要说明的是:如图7所示,VPU的配置装置中一定包括的部分用实线框示意,如发送部分701,获取部分702,解析部分703和执行部分704;VPU的配置装置中可以包括也可以不包括的模块用虚线框示意,如清除部分705,检测部分706。
需要说明的是,上述VPU的配置装置可以为本发明上述方法实施例中的电子设备,也可以是该电子设备中能够实现该装置实施例功能的功能模块和/或功能实体,本发明实施例不作限定。
本发明实施例中,各模块可以实现上述方法实施例提供的VPU的配置方法,且能达到相同的技术效果,为避免重复,这里不再赘述。
请参考图8,其示出了本发明一个示例性实施例提供的电子设备的结构方框图。在一些示例中,电子设备可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种。电子设备具有通信功能,可以接入有线网络或无线网络。电子设备可以泛指多个终端中的一个,本领域技术人员可以知晓,上述终端的数量可以更多或更少。可以理解地,电子设备承担本发明技术方案的计算及处理工作,本发明对此不作限定。
如图8所示,本发明中的电子设备可以包括一个或多个如下部件:处理器810和存储器820。
可选地,处理器810利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器820内的指令、程序、代码集或指令集,以及调用存储在存储器820内的数据,执行电子设备的各种功能和处理数据。可选的,处理器810可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器810可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network Processing Unit,NPU)和基带芯片等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;NPU用于实现人工智能(Artificial Intelligence,AI)功能;基带芯片用于处理无线通信。可以理解的是,上述基带芯片也可以不集成到处理器810中,单独通过一块芯片进行实现。
存储器820可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选的,该存储器820包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器820可用于存储指令、程序、代码、代码集或指令集。存储器820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现以上各个方法实施例的指令等;存储数据区可存储根据电子设备的使用所创建的数据等。
除此之外,本领域技术人员可以理解,上述附图所示出的电子设备的结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,电子设备中还包括显示屏、摄像组件、麦克风、扬声器、射频电路、输入单元、传感器(比如加速度传感器、角速度传感器、光线传感器等等)、音频电路、WiFi模块、电源、蓝牙模块等部件,在此不再赘述。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上各个实施例所述的VPU的配置方法。
本发明还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中;电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行以实现上述各个实施例所述的VPU的配置方法。
本发明实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述VPU的配置方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本发明实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置,服务器和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
需要说明的是:本发明所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种VPU的配置方法,其特征在于,应用于包括中央处理器CPU,视频处理器VPU和配置器的电子设备,所述方法包括:
在所述配置器启动的情况下,通过所述CPU向所述配置器发送指令缓冲区的地址,所述指令缓冲区存储有至少一个指令,每个指令用于指示向VPU寄存器中写入配置数据或者从所述VPU寄存器中读取数据,所述配置器启动的条件为所述CPU占用率大于或者等于占用率阈值,所述配置器关闭的条件为所述CPU占用率小于占用率阈值;
基于所述指令缓冲区的地址,通过配置器从所述指令缓冲区按顺序获取指令;
通过所述配置器解析所述指令,得到操作信息,所述操作信息包括操作码和配置信息,所述操作码用于指示读数据或者写数据;
基于所述配置信息,通过所述配置器对所述VPU寄存器执行所述操作码指示的操作,以完成对所述VPU的配置。
2.根据权利要求1所述的方法,其特征在于,所述基于所述指令缓冲区的地址,通过配置器从所述指令缓冲区按顺序获取指令之前,所述方法还包括:
通过所述CPU清空所述配置器的中断寄存器。
3.根据权利要求2所述的方法,其特征在于,所述至少一个指令包括VPU中断屏蔽寄存器的配置指令。
4.根据权利要求3所述的方法,其特征在于,所述基于所述配置信息,通过所述配置器对所述VPU寄存器执行所述操作码指示的操作,以完成对所述VPU的配置之后,所述方法还包括:
在所述配置器向所述CPU发送待发送中断之前,通过所述配置器检测所述VPU中断屏蔽寄存器中所述待发送中断对应的中断源是否被指示屏蔽;
在所述中断源被指示屏蔽的情况下,通过所述配置器丢弃所述待发送中断;
在所述中断源被指示不屏蔽的情况下,通过所述配置器将所述待发送中断发送至所述CPU。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述配置信息包括:第一数量,第一读地址和第一写地址;所述基于所述配置信息,通过所述配置器对所述VPU寄存器执行所述操作码指示的操作,包括:
在所述操作码指示读数据的情况下,通过所述配置器,在所述VPU寄存器中,从所述第一读地址指示的寄存器开始的连续所述第一数量个寄存器中读取数据,得到第一数据;
将所述第一数据存储至第一写地址对应的存储区域。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述配置信息包括:第二数量,第二写地址,配置数据;所述基于所述配置信息,通过所述配置器对所述VPU寄存器执行所述操作码指示的操作,包括:
在所述操作码指示写数据的情况下,通过所述配置器,在所述VPU寄存器中,将所述配置数据写入从所述第二写地址指示的寄存器开始的连续所述第二数量个寄存器中。
7.一种VPU的配置装置,其特征在于,所述装置包括:发送部分,获取部分,解析部分和执行部分;
所述发送部分,用于在配置器启动的情况下,通过CPU向所述配置器发送指令缓冲区的地址,所述指令缓冲区存储有至少一个指令,每个指令用于指示向VPU寄存器中写入配置数据或者从所述VPU寄存器中读取数据,所述配置器启动的条件为所述CPU占用率大于或者等于占用率阈值,所述配置器关闭的条件为所述CPU占用率小于占用率阈值;
所述获取部分,用于基于所述指令缓冲区的地址,通过配置器从所述指令缓冲区按顺序获取指令;
所述解析部分,用于通过所述配置器解析所述指令,得到操作信息,所述操作信息包括操作码和配置信息,所述操作码用于指示读数据或者写数据;
所述执行部分,用于基于所述配置信息,通过所述配置器对所述VPU寄存器执行所述操作码指示的操作,以完成对所述VPU的配置。
8.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至6中任一项所述的VPU的配置方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6中任一项所述的VPU的配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311754212.4A CN117435259B (zh) | 2023-12-20 | 2023-12-20 | Vpu的配置方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311754212.4A CN117435259B (zh) | 2023-12-20 | 2023-12-20 | Vpu的配置方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117435259A CN117435259A (zh) | 2024-01-23 |
CN117435259B true CN117435259B (zh) | 2024-03-22 |
Family
ID=89558584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311754212.4A Active CN117435259B (zh) | 2023-12-20 | 2023-12-20 | Vpu的配置方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117435259B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962655A (ja) * | 1995-08-24 | 1997-03-07 | Hitachi Ltd | マルチプロセッサシステム |
CN105373367A (zh) * | 2015-10-29 | 2016-03-02 | 中国人民解放军国防科学技术大学 | 支持标向量协同工作的向量simd运算结构 |
CN105959797A (zh) * | 2016-05-25 | 2016-09-21 | 青岛海信电器股份有限公司 | 一种视频解码方法及数字电视 |
KR101889942B1 (ko) * | 2017-11-17 | 2018-08-20 | (주)위아데브 | 비디오 처리 유닛을 제어하는 장치 및 방법 |
CN111736792A (zh) * | 2019-03-25 | 2020-10-02 | 西安诺瓦电子科技有限公司 | 可编程逻辑器件及其控制方法、控制系统和视频处理器 |
CN113900974A (zh) * | 2021-12-07 | 2022-01-07 | 睿思芯科(深圳)技术有限公司 | 一种存储装置、数据存储方法及相关设备 |
CN115701583A (zh) * | 2021-08-02 | 2023-02-10 | 辉达公司 | 将处理任务卸载到解耦加速器以提高片上系统中的性能 |
CN116521229A (zh) * | 2023-02-15 | 2023-08-01 | 东南大学 | 一种基于risc-v向量指令扩展的低硬件开销向量处理器架构 |
CN116776781A (zh) * | 2023-08-17 | 2023-09-19 | 浪潮电子信息产业股份有限公司 | 一种寄存器参数的管理方法、系统、设备及存储介质 |
CN116980554A (zh) * | 2022-04-24 | 2023-10-31 | 海信电子科技(深圳)有限公司 | 一种显示设备及视频会议界面显示方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075211A1 (en) * | 2002-03-21 | 2006-04-06 | Martin Vorbach | Method and device for data processing |
-
2023
- 2023-12-20 CN CN202311754212.4A patent/CN117435259B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0962655A (ja) * | 1995-08-24 | 1997-03-07 | Hitachi Ltd | マルチプロセッサシステム |
CN105373367A (zh) * | 2015-10-29 | 2016-03-02 | 中国人民解放军国防科学技术大学 | 支持标向量协同工作的向量simd运算结构 |
CN105959797A (zh) * | 2016-05-25 | 2016-09-21 | 青岛海信电器股份有限公司 | 一种视频解码方法及数字电视 |
KR101889942B1 (ko) * | 2017-11-17 | 2018-08-20 | (주)위아데브 | 비디오 처리 유닛을 제어하는 장치 및 방법 |
CN111736792A (zh) * | 2019-03-25 | 2020-10-02 | 西安诺瓦电子科技有限公司 | 可编程逻辑器件及其控制方法、控制系统和视频处理器 |
CN115701583A (zh) * | 2021-08-02 | 2023-02-10 | 辉达公司 | 将处理任务卸载到解耦加速器以提高片上系统中的性能 |
CN113900974A (zh) * | 2021-12-07 | 2022-01-07 | 睿思芯科(深圳)技术有限公司 | 一种存储装置、数据存储方法及相关设备 |
CN116980554A (zh) * | 2022-04-24 | 2023-10-31 | 海信电子科技(深圳)有限公司 | 一种显示设备及视频会议界面显示方法 |
CN116521229A (zh) * | 2023-02-15 | 2023-08-01 | 东南大学 | 一种基于risc-v向量指令扩展的低硬件开销向量处理器架构 |
CN116776781A (zh) * | 2023-08-17 | 2023-09-19 | 浪潮电子信息产业股份有限公司 | 一种寄存器参数的管理方法、系统、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于FPGA的视频图像采集与显示系统设计;杨钦;周云飞;胡永兵;;计算机工程与设计;20130616(06);全文 * |
视频服务器负载调度策略;苗彦超, 周应超, 郝敏, 孙凝晖;微电子学与计算机;20040220(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117435259A (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929154B2 (en) | Overflow detection and correction in state machine engines | |
CN107515759B (zh) | 截屏方法、装置、电子设备及可读存储介质 | |
US8522254B2 (en) | Programmable integrated processor blocks | |
CN109376053B (zh) | 数据处理方法、装置以及移动终端 | |
WO2021169236A1 (zh) | 渲染的方法、装置 | |
JP2016540268A (ja) | ウェイクロック使用を追跡する技術 | |
EP3958120A1 (en) | Method and device for anonymous page management, terminal device, and readable storage medium | |
CN108763350B (zh) | 文本数据处理方法、装置、存储介质及终端 | |
CN112445725A (zh) | 预读取文件页的方法、装置和终端设备 | |
US20240292009A1 (en) | Method and apparatus for processing video compression, and medium | |
US10089019B2 (en) | Minimizing latency from peripheral devices to compute engines | |
CN112887608A (zh) | 图像处理方法、装置、图像处理芯片和电子设备 | |
CN110765085A (zh) | 日志信息写入方法、系统、存储介质及移动终端 | |
CN117435259B (zh) | Vpu的配置方法、装置、电子设备及计算机可读存储介质 | |
CN112882826B (zh) | 一种资源协同调度方法以及装置 | |
CN106445698B (zh) | 计步数据的获取方法及装置 | |
CN111177067A (zh) | 一种片上系统 | |
CN105727556A (zh) | 一种图像绘制的方法、相关设备及系统 | |
CN112084099B (zh) | 基于主机获取报警状态值的方法、装置、设备及存储介质 | |
CN114647411A (zh) | 编程界面加载方法、装置、电子设备及存储介质 | |
CN110008071B (zh) | 一种远程调试装置及方法 | |
CN111209248A (zh) | 边缘计算服务器及边缘计算方法 | |
CN115098165B (zh) | 数据处理方法、装置、芯片、设备及介质 | |
CN110716908A (zh) | 日志信息写入方法、系统、存储介质及移动终端 | |
CN109992510B (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 |