首页 / 专利库 / 电脑编程 / 算法 / 一种在FPGA中部署算子的方法、设备及介质

一种在FPGA中部署算子的方法、设备及介质

阅读:614发布:2023-05-28

专利汇可以提供一种在FPGA中部署算子的方法、设备及介质专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种在FPGA中部署算子的方法,包括以下步骤:设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件;接收并解析部分重配置文件;根据部分重配置文件所需要的资源在配置文件中匹 配对 应大小的一级部分重配置区域,并在FPGA中加载一级部分重配置区域;以及根据部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的一级部分重配置区域中匹配相应的二级部分重配置区域的组合,并在FPGA中加载相应的二级部分重配置区域。本发明还公开了一种计算机设备和可读存储介质。本发明的方案通过设计两级部分重配置区域,可以降低不同kernel 算法 在FPGA内同时实现时的依赖关系,提高FPGA内 硬件 资源的利用率。,下面是一种在FPGA中部署算子的方法、设备及介质专利的具体信息内容。

1.一种在FPGA中部署算子的方法,其特征在于,包括以下步骤:
设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件;
接收并解析部分重配置文件;
根据所述部分重配置文件所需要的资源在所述配置文件中匹配对应大小的一级部分重配置区域,并在FPGA中加载所述一级部分重配置区域;以及
根据所述部分重配置文件中算子的数量和每个算子所需要的资源的组合,在所述配置文件的所述一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合,并在所述FPGA中加载所述相应的二级部分重配置区域。
2.根据权利要求1所述的方法,其特征在于,所述设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件包括:
设置多个不同大小的一级部分重配置区域;
根据所述一级部分重配置区域的大小对每个所述一级部分重配置区域分别设置多个二级部分重配置区域;以及
将所述一级部分重配置区域和二级部分重配置区域写入配置文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述一级部分重配置区域的大小对每个所述一级部分重配置区域分别设置多个二级部分重配置区域包括:
通过彼此不同的二级部分重配置区域组合方式形成多个相同大小的一级部分重配置区域。
4.根据权利要求1所述的方法,其特征在于,所述根据所述部分重配置文件中算子的数量和每个算子所需要的资源的组合,在所述配置文件的所述一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合包括:
判断所述配置文件中是否存在适配所述部分重配置文件的二级部分重配置区域的组合;以及
响应于所述配置文件中不存在适配所述部分重配置文件的二级部分重配置区域的组合,将新的组合写入所述配置文件中。
5.根据权利要求4所述的方法,其特征在于,所述判断所述配置文件中是否存在适配所述部分重配置文件的二级部分重配置区域的组合包括:
判断匹配时间是否超过阈值
6.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现以下步骤:
设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件;
接收并解析部分重配置文件;
根据所述部分重配置文件所需要的资源在所述配置文件中匹配对应大小的一级部分重配置区域,并在FPGA中加载所述一级部分重配置区域;以及
根据所述部分重配置文件中算子的数量和每个算子所需要的资源的组合,在所述配置文件的所述一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合,并在所述FPGA中加载所述相应的二级部分重配置区域。
7.根据权利要求6所述的计算机设备,其特征在于,所述设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件包括:
设置多个不同大小的一级部分重配置区域;
根据所述一级部分重配置区域的大小对每个所述一级部分重配置区域分别设置多个二级部分重配置区域;以及
将所述一级部分重配置区域和二级部分重配置区域写入配置文件。
8.根据权利要求7所述的计算机设备,其特征在于,所述根据所述一级部分重配置区域的大小对每个所述一级部分重配置区域分别设置多个二级部分重配置区域包括:
通过彼此不同的二级部分重配置区域组合方式形成多个相同大小的一级部分重配置区域。
9.根据权利要求6所述的计算机设备,其特征在于,所述根据所述部分重配置文件中算子的数量和每个算子所需要的资源的组合,在所述配置文件的所述一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合包括:
判断所述配置文件中是否存在适配所述部分重配置文件的二级部分重配置区域的组合;以及
响应于所述配置文件中不存在适配所述部分重配置文件的二级部分重配置区域的组合,将新的组合写入所述配置文件中。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任意一项所述方法的步骤。

说明书全文

一种在FPGA中部署算子的方法、设备及介质

技术领域

[0001] 本发明涉及FPGA领域,更具体地,特别是指一种在FPGA中部署算子的方法、设备及可读介质。

背景技术

[0002] 现有的基于FPGA的异构计算系统有两种配置FPGA的方式,一是配置整片FPGA芯片区域,以改变FPGA内实现的加速算法,二是配置部分FPGA芯片区域资源,以改变FPGA内实现的kernel加速算法。第一种方法需要利用JTAG线将FPGA的整个配置文件加载到FPGA内,或者把FPGA的配置文件转换为掉电不丢失的FLASH存储器件的烧录文件,然后再将烧录文件烧录到Flash,重新上电板卡或者执行reload命令将新的配置文件从Flash内加载到FPGA芯片。第二种方法利用FPGA的部分重配置(Partial Reconfiguration,PR)技术,每次更新FPGA内实现的加速算法时,仅更新FPGA芯片内kernel所占的部分重配置区域,保留通用的PCIe接口、DDR接口和光模接口驱动等配置文件,因为这些模块都在FPGA静态区域实现,当一块板卡批量生产出来和固件开发出来后,用户使用时几乎不需要更新,除非有新的固件功能更新,才需要改变这些在FPGA静态区域内实现的功能。
[0003] 对于采用第一种方法更新FPGA加速算法的方式,用JTAG线加载部分重配置文件需要使用JTAG线缆连接芯片的编程管脚,仅适用于工程开发和调测试阶段,不具备大规模部署的可实施性。工程开发完成后,需要将含有加速算法的FPGA配置文件烧录到Flash这种掉电不丢失的存储器件中,对FLASH的大小有要求,考虑到核心算法的安全性,需要对FPGA配置文件进行妥当的加密保护,这又需要额外的加密电路支持,增大了系统开发成本。采用第二种部分重配置技术,在FPGA工程设计阶段,就需要确定FPGA芯片内部分重配区域的个数和每个重配置区域的大小,当用户想更改另外一个占用资源较多或者较少的算法时,不能根据每种算法所占实际硬件资源去调整部分重配置区域的大小,这样容易造成在既定的部分重配置区域实现较大或者较小的kernel算法时,硬件资源的短缺和浪费。所以,现有FPGA部分重配置方法,针对不同的加速算子,都不能灵活充分地利用FPGA内的硬件资源。

发明内容

[0004] 有鉴于此,本发明实施例的目的在于提出一种在FPGA中部署算子的方法、设备及介质,通过设计两级PR区域,可以实现在不更改FPGA芯片静态区域设计的前提下,多种kernel算法在FPGA内的同时部署,这样可以降低不同kernel算法在FPGA内同时实现时的依赖关系,提高FPGA内硬件资源的利用率,进一步降低整个FPGA异构计算系统的功耗。
[0005] 基于上述目的,本发明实施例的一方面提供了一种在FPGA中部署算子的方法,包括如下步骤:设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件;接收并解析部分重配置文件;根据部分重配置文件所需要的资源在配置文件中匹配对应大小的一级部分重配置区域,并在FPGA中加载一级部分重配置区域;以及根据部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合,并在FPGA中加载相应的二级部分重配置区域。
[0006] 在一些实施方式中,设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件包括:设置多个不同大小的一级部分重配置区域;根据一级部分重配置区域的大小对每个一级部分重配置区域分别设置多个二级部分重配置区域;以及将一级部分重配置区域和二级部分重配置区域写入配置文件。
[0007] 在一些实施方式中,根据一级部分重配置区域的大小对每个一级部分重配置区域分别设置多个二级部分重配置区域包括:通过彼此不同的二级部分重配置区域组合方式形成多个相同大小的一级部分重配置区域。
[0008] 在一些实施方式中,根据部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合包括:判断配置文件中是否存在适配部分重配置文件的二级部分重配置区域的组合;以及响应于配置文件中不存在适配部分重配置文件的二级部分重配置区域的组合,将新的组合写入配置文件中。
[0009] 在一些实施方式中,判断配置文件中是否存在适配部分重配置文件的二级部分重配置区域的组合包括:判断匹配时间是否超过阈值
[0010] 本发明实施例的另一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件;接收并解析部分重配置文件;根据部分重配置文件所需要的资源在配置文件中匹配对应大小的一级部分重配置区域,并在FPGA中加载一级部分重配置区域;以及根据部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合,并在FPGA中加载相应的二级部分重配置区域。
[0011] 在一些实施方式中,设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件包括:设置多个不同大小的一级部分重配置区域;根据一级部分重配置区域的大小对每个一级部分重配置区域分别设置多个二级部分重配置区域;以及将一级部分重配置区域和二级部分重配置区域写入配置文件。
[0012] 在一些实施方式中,根据一级部分重配置区域的大小对每个一级部分重配置区域分别设置多个二级部分重配置区域包括:通过彼此不同的二级部分重配置区域组合方式形成多个相同大小的一级部分重配置区域。
[0013] 在一些实施方式中,根据部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合包括:判断配置文件中是否存在适配部分重配置文件的二级部分重配置区域的组合;以及响应于配置文件中不存在适配部分重配置文件的二级部分重配置区域的组合,将新的组合写入配置文件中。
[0014] 本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序
[0015] 本发明具有以下有益技术效果:通过设计两级PR区域,可以实现在不更改FPGA芯片静态区域设计的前提下,多种kernel算法在FPGA内的同时部署,这样可以降低不同kernel算法在FPGA内同时实现时的依赖关系,提高FPGA内硬件资源的利用率,进一步降低整个FPGA异构计算系统的功耗。附图说明
[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0017] 图1为本发明提供的在FPGA中部署算子的方法的实施例的示意图;
[0018] 图2为本发明提供的在FPGA中部署算子的方法的实施例的流程图

具体实施方式

[0019] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
[0020] 需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
[0021] 基于上述目的,本发明实施例的第一个方面,提出了一种在FPGA中部署算子的方法的实施例。图1示出的是本发明提供的在FPGA中部署算子的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
[0022] S1、设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件;
[0023] S2、接收并解析部分重配置文件;
[0024] S3、根据所述部分重配置文件所需要的资源在所述配置文件中匹配对应大小的一级部分重配置区域,并在FPGA中加载所述一级部分重配置区域;以及
[0025] S4、根据所述部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的所述一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合,并在所述FPGA中加载所述相应的二级部分重配置区域。
[0026] 异构计算是指在一个计算系统中使用不同的计算芯片或者同种芯片采用不同的系统架构形式。传统的计算方式大多采用同构计算系统,例如在一个计算系统中采用CPU作为单一计算芯片,系统采用集中式的本地计算,就是传统的同构计算系统。当我们既采用CPU,又采用FPGA加速器做计算时,这样的系统就属于异构计算系统。采用FPGA加速卡进行加速计算的异构计算系统,FPGA加速器通常以PCIe外设卡的形式存在。FPGA具有天然的并行计算能,特别适合大位宽的数据流处理,弥补CPU并行计算的缺点,分担CPU的计算压力,提高整个计算系统的性能,降低系统功耗。
[0027] FPGA部分重配置是一种能够动态地重新配置FPGA内的局部区域的加载技术,利用这种技术能够在不影响其他区域正常工作的条件下,重新下载部分重配置区域的配置文件,实现切换不同业务的功能。这种技术非常适用于时分复用FPGA内部硬件资源来实现不同功能的复杂系统,能够有效地降低系统实现的硬件资源开销。
[0028] 为了实现多个可动态调整部分重配置区域大小的功能可以进行如下操作:
[0029] 设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件。在一些实施方式中,设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件包括:设置多个不同大小的一级部分重配置区域;根据一级部分重配置区域的大小对每个一级部分重配置区域分别设置多个二级部分重配置区域;以及将一级部分重配置区域和二级部分重配置区域写入配置文件。例如,在系统允许的情况下,设置多个一级部分重配置区域,大小分别为9、10、11、12和13,在大小为9的一级部分重配置区域中可以包括多个二级部分重配置区域,例如2个、3个和4个,大小为10、11、12和13的一级部分重配置区域也类似,然后将一级部分重配置区域和对应的二级部分重配置区域写入配置文件。
[0030] 在一些实施方式中,根据一级部分重配置区域的大小对每个一级部分重配置区域分别设置多个二级部分重配置区域包括:通过彼此不同的二级部分重配置区域组合方式形成多个相同大小的一级部分重配置区域。继续上例,在大小为9的一级部分重配置区域中可以包括3个二级部分重配置区域,组合一为1、2、6,组合二为2、3、4,当然这只是对组合方式进行举例说明,具体的组合方式还可以包括其他很多种。
[0031] 接收并解析部分重配置文件。部分重配置文件通过PCIe、网络或者JTAG通道等方式,从Host主机向下传输到FPGA芯片内,FPGA内的重配置模块接收到重配置文件后解析,得到部分重配置文件所需要的资源、算子的数量和每个算子所需要的资源。
[0032] 根据所述部分重配置文件所需要的资源在所述配置文件中匹配对应大小的一级部分重配置区域,并在FPGA中加载所述一级部分重配置区域。例如,部分重配置文件所需要的资源为10,然后在配置文件中匹配大小为10的一级部分重配置区域。在匹配到对应的一级部分重配置区域后对该一级部分重配置区域进行加载。
[0033] 根据所述部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的所述一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合,并在所述FPGA中加载所述二级部分重配置区域。继续上例,部分重配置文件中算子的数量为3,每个算子所需要的资源分别为1、2、7,在大小为10的一级部分重配置区域中匹配数量为3,且大小分别是1、2、7的组合的二级部分重配置区域。
[0034] 在一些实施方式中,根据部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合包括:判断配置文件中是否存在适配部分重配置文件的二级部分重配置区域的组合;以及响应于配置文件中不存在适配部分重配置文件的二级部分重配置区域的组合,将新的组合写入配置文件中。继续上例,在大小为10的一级部分重配置区域中并没有匹配到数量为3,且大小分别是1、2、7的组合的二级部分重配置区域,那么可以新创建一个这样的组合并将其写入配置文件中。类似的方法还可以运用在匹配一级部分重配置区域的时候。
[0035] 在一些实施方式中,判断配置文件中是否存在适配部分重配置文件的二级部分重配置区域的组合包括:判断匹配时间是否超过阈值。可以设置一个时间阈值,例如0.1秒,如果匹配时间超过0.1秒还没有匹配到相应的二级部分重配置区域即认为配置文件中不存在适配部分重配置文件的二级部分重配置区域的组合。
[0036] 本发明实施例的主要优点至少有以下几点:
[0037] 1、保留原有部分重配置技术所带来的便利,如可以通过多种方式加载部分重配区域,改变kernel算法功能,提高核心算法的安全性,减少整个系统的开发成本;
[0038] 2、可以不依赖JTAG线缆和片外其他存储芯片加载部分重配置区域;
[0039] 3、可以在不更改静态区域的前提下,根据实际kernel算法所消耗硬件资源数量,更改kernel部分重配置区域大小,节省硬件资源给其他加速算法;
[0040] 4、采用改进的在线部分重配置技术能够根据实际需要加载特定大小的部分重配置文件,既减少了系统开发时间,又减少了系统上电加载程序的时间。
[0041] 图2示出的是本发明提供的在FPGA中部署算子的方法的实施例的流程图。如图2所示,从框101开始,接着前进到框102,设置配置文件;接着前进到框103,接收并解析部分重配置文件;接着前进到框104,根据部分重配置文件所需要的资源在配置文件中匹配对应大小的一级部分重配置区域;接着前进到框105,在FPGA中加载该一级部分重配置区域;接着前进到框106,根据部分重配置文件中算子的数量和每个算子所需要的资源的组合在该一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合;接着前进到框107,在FPGA中加载该二级部分重配置区域;接着前进到框108结束。
[0042] 需要特别指出的是,上述在FPGA中部署算子的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于在FPGA中部署算子的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
[0043] 基于上述目的,本发明实施例的第二个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件;S2、接收并解析部分重配置文件;S3、根据所述部分重配置文件所需要的资源在所述配置文件中匹配对应大小的一级部分重配置区域,并在FPGA中加载所述一级部分重配置区域;以及S4、根据所述部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的所述一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合,并在所述FPGA中加载所述相应的二级部分重配置区域。
[0044] 在一些实施方式中,设置包括多个一级部分重配置区域和对应的二级部分重配置区域的配置文件包括:设置多个不同大小的一级部分重配置区域;根据一级部分重配置区域的大小对每个一级部分重配置区域分别设置多个二级部分重配置区域;以及将一级部分重配置区域和二级部分重配置区域写入配置文件。
[0045] 在一些实施方式中,根据一级部分重配置区域的大小对每个一级部分重配置区域分别设置多个二级部分重配置区域包括:通过彼此不同的二级部分重配置区域组合方式形成多个相同大小的一级部分重配置区域。
[0046] 在一些实施方式中,根据部分重配置文件中算子的数量和每个算子所需要的资源的组合,在配置文件的一级部分重配置区域中匹配相应的二级部分重配置区域的数量和大小的组合包括:判断配置文件中是否存在适配部分重配置文件的二级部分重配置区域的组合;以及响应于配置文件中不存在适配部分重配置文件的二级部分重配置区域的组合,将新的组合写入配置文件中。
[0047] 在一些实施方式中,判断配置文件中是否存在适配部分重配置文件的二级部分重配置区域的组合包括:判断匹配时间是否超过阈值。
[0048] 本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上方法的计算机程序。
[0049] 最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,在FPGA中部署算子的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
[0050] 此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
[0051] 此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
[0052] 此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
[0053] 本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
[0054] 结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
[0055] 结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
[0056] 在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
[0057] 以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
[0058] 应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
[0059] 上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0060] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0061] 所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈