一种分时调度DSP算法的方法和系统与流程

文档序号:12123242阅读:200来源:国知局
一种分时调度DSP算法的方法和系统与流程

本发明涉及计算机领域,特别涉及一种分时调度DSP算法的方法和系统。



背景技术:

DSP(数字信号处理器)在运行DSP算法时,其所能运行的算法数量受到算法本身大小以及DSP内部存储大小的限制。如果想超出DSP的资源限制增加新的算法,就必须重新启动DSP并重新加载新的算法固件。采用这种方式在运行时需要不断地重启DSP并重新加载DSP固件,极大得影响了DSP的效能。为解决上述方法带来的缺陷,一些方案将DSP算法的运行代码存储在主存储上,让DSP加载运行,DSP每次读取主存储的代码来运行,都需要访问总线,速度远没有内部存储来得快,这种方案没有利用好DSP内部存储的速度,算法运行的速度大打折扣。



技术实现要素:

为此,需要提供一种分时调度DSP算法的技术方案,用以解决现有DSP在运行DSP算法时效能低、运算速度差等问题。

为实现上述目的,发明人提供了一种分时调度DSP算法的系统,所述系统包括芯片和外部存储单元,所述芯片与外部存储单元连接;所述芯片包括主控单元、数字信号处理器、第一存储单元,所述主控单元与第一存储单元连接,所述数字信号处理器与主控单元连接,所述主控单元与数字信号处理器连接;所述数字信号处理器包括第二存储单元;

所述外部存储单元用于存储至少一个DSP算法的运行代码;

所述主控单元用于在接收到启动指令后,将外部存储单元所存储的DSP算法的运行代码全部加载至第一存储单元;

所述主控单元还用于确定配置信息,并将配置信息发送至数字信号处理器,所述配置信息包括工作请求类型与DSP算法的运行代码在第一存储单元中的存储地址的对应关系;

所述数字信号处理器用于获取当前工作请求类型,根据配置信息确定当前工作请求类型对应的DSP算法的运行代码在第一存储单元中的存储地址,并根据所确定的存储地址从第一存储单元中加载该存储地址对应的DSP算法的运行代码至第二存储单元,并运行第二存储单元中的DSP算法的运行代码,将运行结果发送至主控单元。

进一步地,所述DSP算法包括图像处理算法。

进一步地,所述第二存储单元为数字信号处理器内部的高速缓存单元。

进一步地,所述第一存储单元为DDR。

进一步地,所述主控单元为ARM处理器。

发明人还提供了一种分时调度DSP算法的方法,所述方法应用于种分时调度DSP算法的系统,所述系统包括芯片和外部存储单元,所述芯片与外部存储单元连接;所述芯片包括主控单元、数字信号处理器、第一存储单元,所述主控单元与第一存储单元连接,所述数字信号处理器与主控单元连接,所述主控单元与数字信号处理器连接;所述数字信号处理器包括第二存储单元;所述外部存储单元用于存储至少一个DSP算法的运行代码;所述方法包括以下步骤:

主控单元在接收到启动指令后,将外部存储单元所存储的DSP算法的运行代码全部加载至第一存储单元;

主控单元确定配置信息,并将配置信息发送至数字信号处理器,所述配置信息包括工作请求类型与DSP算法的运行代码在第一存储单元中的存储地址的对应关系;

数字信号处理器获取当前工作请求类型,根据配置信息确定当前工作请求类型对应的DSP算法的运行代码在第一存储单元中的存储地址,并根据所确定的存储地址从第一存储单元中加载该存储地址对应的DSP算法的运行代码至第二存储单元,并运行第二存储单元中的DSP算法的运行代码,将运行结果发送至主控单元。

进一步地,所述DSP算法包括图像处理算法。

进一步地,所述第二存储单元为数字信号处理器内部的高速缓存单元。

进一步地,所述第一存储单元为DDR。

进一步地,所述主控单元为ARM处理器。

上述技术方案所述的分时调度DSP算法的方法和系统,所述方法包括以下步骤:首先主控单元在接收到启动指令后,将外部存储单元所存储的DSP算法的运行代码全部加载至第一存储单元;而后主控单元确定配置信息,并将配置信息发送至数字信号处理器;而后数字信号处理器获取当前工作请求类型,根据配置信息确定当前工作请求类型对应的DSP算法的运行代码在第一存储单元中的存储地址,并根据所确定的存储地址从第一存储单元中加载该存储地址对应的DSP算法的运行代码至第二存储单元,并运行第二存储单元中的DSP算法的运行代码,将运行结果发送至主控单元。这样,DSP可以分时段获取当前工作请求类型,从第一存储单元中加载对应的算法至第二存储单元中执行,一方面使得DSP运行算法的数量不再受到DSP内部资源的限制,另一方面有利于提高DSP算法的运行速度。

附图说明

图1为本发明一实施方式分时调度DSP算法的系统的示意图;

图2为本发明一实施方式分时调度DSP算法的方法的流程图;

附图标记说明:

101、外部存储单元;

102、芯片;

111、主控单元;

112、数字信号处理器;121、第二存储单元。

113、第一存储单元;

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

请参阅图1,本发明一实施方式所述的分时调度DSP算法的系统,所述系统包括芯片102和外部存储单元101,所述芯片102与外部存储单元101连接;所述芯片102包括主控单元111、数字信号处理器112、第一存储单元113,所述主控单元111与第一存储单元113连接,所述数字信号处理器112与主控单元111连接,所述主控单元111与数字信号处理器112连接;所述数字信号处理器112包括第二存储单元121;

所述外部存储单元101用于存储至少一个DSP算法的运行代码。优选的,所述外部存储单元可以为非易失性存储器,用于存储DSP算法的运行代码。在本实施方式中,所述DSP算法包括图像处理算法,如图像去噪算法、去雾算法、畸变校正算法、人脸检测算法等等。在另一些实施方式中,所述DSP算法还可以包括音频处理算法、视频处理算法等。

所述主控单元用于在接收到启动指令后,将外部存储单元所存储的DSP算法的运行代码全部加载至第一存储单元。在本实施方式中,所述启动指令可以在主控单元初始化的时候触发,所述第一存储单元为DDR。主控单元在进行初始化时,会将外部存储单元所存储的所有DSP算法的运行代码全部加载至DDR中,以便DSP随时访问调用。在本实施方式中,主控单元为ARM处理器。在其他实施例,主控单元还可以为其他结构类型的处理器,如X86处理器。

所述主控单元还用于确定配置信息,并将配置信息发送至数字信号处理器。在本实施方式中,所述配置信息包括工作请求类型与DSP算法的运行代码在第一存储单元中的存储地址的对应关系。在另一些实施方式中,所述配置信息还包括每个DSP算法对应的大小信息。所述工作请求类型为主控单元执行工作的类型,如以图像处理为例,所述工作请求类型包括对图像进行去噪、去雾、畸变校正、人脸检测等等,每种工作请求类型都有其对应的DSP算法。优选的,所述配置信息可以以表格的形式存储于DDR中,表格记录了每一种工作请求类型对应的DSP算法的运行代码的存储地址以及大小。

所述数字信号处理器用于获取当前工作请求类型,根据配置信息确定当前工作请求类型对应的DSP算法的运行代码在第一存储单元中的存储地址,并根据所确定的存储地址从第一存储单元中加载该存储地址对应的DSP算法的运行代码至第二存储单元,并运行第二存储单元中的DSP算法的运行代码,将运行结果发送至主控单元。在本实施方式中,所述第二存储单元为数字信号处理器内部的高速缓存单元,如TCM存储器。DSP会用DMA(Direct Memory Access,直接内存存取)把需要加载的DSP算法的运行代码搬运到TCM的固定地址位置,之后DSP从该固定地址开始执行所搬运的DSP算法。

以图像处理为例,数字信号处理器获取当前工作请求类型可以通过以下方式实现:主控单元初始化后检测当前图像处理需要用到哪个DSP算法,即确定当前的工作请求类型,而后将该工作请求类型以及待处理的图像数据一并发送给数字信号处理器,数字信号处理器接收工作请求类型后,从DDR中读取该工作请求类型对应的DSP算法的运行代码至DSP内部的高速缓存单元并运行,实现对图像数据的处理,而后将处理后的图像(即运行结果)发送给主控单元。由于DSP算法存储于DDR,从而摆脱了算法受到DSP内部存储的限制,又由于DSP算法是根据当前工作请求类型动态加载至DSP内部的高速缓存单元中,高速缓存单元运行处理速度快,有利于提高算法运行效率。当获取到下一工作请求类型时,DSP可以继续根据配置信息加载另一DSP算法,覆盖原有高速缓存单元中的算法并运行,实现对主控单元发送的新的图像数据的处理,并将新处理后的图像数据发送给主控单元。重复上述步骤,直至图像数据处理完成。

发明人还提供了一种分时调度DSP算法的方法,请参阅图2,为本发明一实施方式分时调度DSP算法的方法的流程图。所述方法应用于种分时调度DSP算法的系统,所述系统包括芯片和外部存储单元,所述芯片与外部存储单元连接;所述芯片包括主控单元、数字信号处理器、第一存储单元,所述主控单元与第一存储单元连接,所述数字信号处理器与主控单元连接,所述主控单元与数字信号处理器连接;所述数字信号处理器包括第二存储单元;所述外部存储单元用于存储至少一个DSP算法的运行代码。所述方法包括以下步骤:

首先进入步骤S201主控单元在接收到启动指令后,将外部存储单元所存储的DSP算法的运行代码全部加载至第一存储单元。在本实施方式中,所述DSP算法包括图像处理算法,如图像去噪算法、去雾算法、畸变校正算法、人脸检测算法等等。在另一些实施方式中,所述DSP算法还可以包括音频处理算法、视频处理算法等。所述启动指令可以在主控单元初始化的时候触发,所述第一存储单元为DDR。主控单元在进行初始化时,会将外部存储单元所存储的所有DSP算法的运行代码全部加载至DDR中,以便DSP随时访问调用。在本实施方式中,主控单元为ARM处理器。在其他实施例,主控单元还可以为其他结构类型的处理器,如X86处理器。

所述步骤S202主控单元确定配置信息,并将配置信息发送至数字信号处理器。在本实施方式中,所述配置信息包括工作请求类型与DSP算法的运行代码在第一存储单元中的存储地址的对应关系。在另一些实施方式中,所述配置信息还包括每个DSP算法对应的大小信息。所述工作请求类型为主控单元执行工作的类型,如以图像处理为例,所述工作请求类型包括对图像进行去噪、去雾、畸变校正、人脸检测算法等等,每种工作请求类型都有其对应的DSP算法。优选的,所述配置信息可以以表格的形式存储于DDR中,表格记录了每一种工作请求类型对应的DSP算法的运行代码的存储地址以及大小。

而后进入步骤S203数字信号处理器获取当前工作请求类型,根据配置信息确定当前工作请求类型对应的DSP算法的运行代码在第一存储单元中的存储地址,并根据所确定的存储地址从第一存储单元中加载该存储地址对应的DSP算法的运行代码至第二存储单元。而后进入步骤S204数字信号处理器运行第二存储单元中的DSP算法的运行代码,将运行结果发送至主控单元。在本实施方式中,所述第二存储单元为数字信号处理器内部的高速缓存单元,如TCM存储器。DSP会用DMA(Direct Memory Access,直接内存存取)把需要加载的DSP算法的运行代码搬运到TCM的固定地址位置,之后DSP从该固定地址开始执行所搬运的DSP算法。

以图像处理为例,数字信号处理器获取当前工作请求类型可以通过以下方式实现:主控单元初始化后检测当前图像处理需要用到哪个DSP算法,即确定当前的工作请求类型,而后将该工作请求类型以及待处理的图像数据一并发送给数字信号处理器,数字信号处理器接收工作请求类型后,从DDR中读取该工作请求类型对应的DSP算法的运行代码至DSP内部的高速缓存单元并运行,实现对图像数据的处理,而后将处理后的图像(即运行结果)发送给主控单元。由于DSP算法存储于DDR,从而摆脱了算法受到DSP内部存储的限制,又由于DSP算法是根据当前工作请求类型动态加载至DSP内部的高速缓存单元中,高速缓存单元运行处理速度快,有利于提高算法运行效率。当获取到下一工作请求类型时,DSP可以继续根据配置信息加载另一DSP算法,覆盖原有高速缓存单元中的算法并运行,实现对主控单元发送的新的图像数据的处理,并将新处理后的图像数据发送给主控单元。重复上述步骤,直至图像数据处理完成。

上述技术方案所述的分时调度DSP算法的方法和系统,所述方法包括以下步骤:首先主控单元在接收到启动指令后,将外部存储单元所存储的DSP算法的运行代码全部加载至第一存储单元;而后主控单元确定配置信息,并将配置信息发送至数字信号处理器;而后数字信号处理器获取当前工作请求类型,根据配置信息确定当前工作请求类型对应的DSP算法的运行代码在第一存储单元中的存储地址,并根据所确定的存储地址从第一存储单元中加载该存储地址对应的DSP算法的运行代码至第二存储单元,并运行第二存储单元中的DSP算法的运行代码,将运行结果发送至主控单元。这样,DSP可以分时段获取当前工作请求类型,从第一存储单元中加载对应的算法至第二存储单元中执行,一方面使得DSP运行算法的数量不再受到DSP内部资源的限制,另一方面有利于提高DSP算法的运行速度。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。

本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。

上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1