一种信号处理器的控制方法、装置、设备以及存储介质转让专利

申请号 : CN202011000843.3

文献号 : CN112147931B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘君

申请人 : 哲库科技(北京)有限公司

摘要 :

本申请实施例公开了一种信号处理器的控制方法、装置、设备以及存储介质,该方法包括:基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括连续无操作的空闲长度;根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作。这样,可以提高信号处理器在工作状态下的功耗效率,能够达到节省功耗的目的。

权利要求 :

1.一种信号处理器的控制方法,其特征在于,所述方法包括:基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括所述目标指令单元连续多个指令周期无操作的空闲长度;

根据所述目标指令单元对应的空闲长度和第一时延值,对所述目标指令单元对应的供电进行开关操作,或者,根据所述目标指令单元对应的空闲长度和第二时延值,对所述目标指令单元对应的时钟进行开关操作;

其中,所述第一时延值表示所述目标指令单元恢复供电所需的指令时延,所述第二时延值表示所述目标指令单元恢复时钟所需的指令时延。

2.根据权利要求1所述的方法,其特征在于,所述根据所述目标指令单元对应的空闲长度和第一时延值,对所述目标指令单元对应的供电进行开关操作,包括:计算所述空闲长度和所述第一时延值之间的第一差值;

将所述第一差值与第一预设门限值进行比较;

若所述第一差值大于或等于所述第一预设门限值,则对所述目标指令单元对应的供电执行关闭操作。

3.根据权利要求2所述的方法,其特征在于,在所述对所述目标指令单元对应的供电执行关闭操作之后,所述方法还包括:若等待时长满足所述第一差值,则对所述目标指令单元的供电执行开启操作。

4.根据权利要求2所述的方法,其特征在于,在所述第一差值小于所述第一预设门限值时,所述根据所述目标指令单元对应的空闲长度和第二时延值,对所述目标指令单元对应的时钟进行开关操作,包括:计算所述空闲长度和所述第二时延值之间的第二差值;

将所述第二差值与第二预设门限值进行比较;

若所述第二差值大于或等于所述第二预设门限值,则对所述目标指令单元对应的时钟执行关闭操作。

5.根据权利要求4所述的方法,其特征在于,在所述对所述目标指令单元对应的时钟执行关闭操作之后,所述方法还包括:若等待时长满足所述第二差值,则对所述目标指令单元的供电执行开启操作。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定指令计数值,从所述指令计数值开始并进行计数,获取预设长度的未执行指令序列;

将待执行时钟或供电关闭操作的所述目标指令单元对应的开始指令计数值与所述空闲长度存储至存储器中;

在当前的指令计数值为所述开始指令计数值的情况下,执行所述根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作的步骤。

7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在当前的指令计数值大于或等于所述存储器中的所述开始指令计数值和所述空闲长度之和时,从所述存储器中去除所述开始指令计数值和所述空闲长度。

8.根据权利要求1至7任一项所述的方法,其特征在于,所述目标指令单元包括下述中的至少一项:加载指令单元、回存指令单元、算术逻辑指令单元和矩阵操作指令单元。

9.一种信号处理器的控制装置,其特征在于,所述信号处理器的控制装置包括确定单元和控制单元;其中,所述确定单元,配置为基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括所述目标指令单元连续多个指令周期无操作的空闲长度;

所述控制单元,配置为根据所述目标指令单元对应的空闲长度和第一时延值,对所述目标指令单元对应的供电进行开关操作,或者,根据所述目标指令单元对应的空闲长度和第二时延值,对所述目标指令单元对应的时钟进行开关操作;

其中,所述第一时延值表示所述目标指令单元恢复供电所需的指令时延,所述第二时延值表示所述目标指令单元恢复时钟所需的指令时延。

10.一种信号处理设备,其特征在于,所述信号处理设备包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的可执行指令;

所述处理器,用于在运行所述可执行指令时,执行如权利要求1至8任一项所述的方法。

11.一种芯片,其特征在于,所述芯片包括存储器和处理器;其中,所述存储器,用于存储能够在所述处理器上运行的可执行指令;

所述处理器,用于在运行所述可执行指令时,使得安装有所述芯片的信号处理设备执行如权利要求1至8任一项所述的方法。

12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如权利要求1至8任一项所述的方法。

说明书 :

一种信号处理器的控制方法、装置、设备以及存储介质

技术领域

[0001] 本申请涉及无线通信技术领域,尤其涉及一种信号处理器的控制方法、装置、设备以及存储介质。

背景技术

[0002] 目前的无线通信系统中,矢量信号处理器对信号处理的操作类型不同,而且不同类型的信号处理操作使用到的指令单元也不同。例如在变长指令字(Variable Length Instruction Word,VLIW)结构的信号处理器中,可包括有加载(Load,LD)指令单元、回存(Store,ST)指令单元、算术逻辑指令单元(Arithmetic Logic Unit,ALU)和矩阵操作指令单元。
[0003] 然而,针对VLIW结构的信号处理器,某些情况下需要使用LD指令单元和ALU指令单元进行操作,这时候ST指令单元和矩阵操作指令单元就处于空闲状态;而某些情况下需要使用ST指令单元和矩阵操作指令单元进行操作,这时候LD指令单元和ALU指令单元就处于空闲状态。由于目前的信号处理器不能根据指令单元的使用情况来调节各个指令单元的功耗,从而导致信号处理器的功耗效率低。

发明内容

[0004] 本申请提出一种信号处理器的控制方法、装置、设备以及存储介质,可以提高信号处理器在工作状态下的功耗效率,能够达到节省功耗的目的。
[0005] 为达到上述目的,本申请的技术方案是这样实现的:
[0006] 第一方面,本申请实施例提供了一种信号处理器的控制方法,该方法包括:
[0007] 基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括连续无操作的空闲长度;
[0008] 根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作。
[0009] 第二方面,本申请实施例提供了一种信号处理器的控制装置,所述信号处理器的控制装置包括确定单元和控制单元;其中,
[0010] 所述确定单元,配置为基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括连续无操作的空闲长度;
[0011] 所述控制单元,配置为根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作。
[0012] 第三方面,本申请实施例提供了一种信号处理设备,所述信号处理设备包括存储器和处理器;其中,
[0013] 所述存储器,用于存储能够在所述处理器上运行的可执行指令;
[0014] 所述处理器,用于在运行所述可执行指令时,执行如第一方面所述的方法。
[0015] 第四方面,本申请实施例提供了一种芯片,所述芯片包括存储器和处理器;其中,[0016] 所述存储器,用于存储能够在所述处理器上运行的可执行指令;
[0017] 所述处理器,用于在运行所述可执行指令时,使得安装有所述芯片的信号处理设备执行如第一方面所述的方法。
[0018] 第五方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现如第一方面所述的方法。
[0019] 本申请实施例所提供的一种信号处理器的控制方法、装置、设备以及存储介质,基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括连续无操作的空闲长度;根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作。这样,根据目标指令单元的未来使用情况,对该目标指令单元对应的供电电源或者时钟进行关闭和恢复操作,可以最大程度地降低信号处理器的无效功耗,从而提高信号处理器在工作状态下的功耗效率,能够改善信号处理器的激活功耗指标,并且达到节省功耗的目的。

附图说明

[0020] 图1为本申请实施例提供的一种信号处理器的控制方法的流程示意图;
[0021] 图2为本申请实施例提供的一种信号处理设备的逻辑架构示意图;
[0022] 图3为本申请实施例提供的另一种信号处理器的控制方法的流程示意图;
[0023] 图4为本申请实施例提供的又一种信号处理器的控制方法的流程示意图;
[0024] 图5为本申请实施例提供的一种信号处理器的控制装置的结构示意图;
[0025] 图6为本申请实施例提供的一种信号处理设备的硬件结构示意图;
[0026] 图7为本申请实施例提供的一种芯片的硬件结构示意图。

具体实施方式

[0027] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
[0028] 需要说明的是,变长指令字(Variable Length Instruction Word,VLIW)是指字长不固定的指令。例如,在某个变长指令集中,指令的字长可以是1个字节、2个字节、3个字节、4个字节,或者更多字节。定长指令字(Fixed Length Instruction Word,FLIW)是指字长固定的指令。例如,在某个定长指令集中,所有指令的字长都为32个字节。通常而言,定长指令字被用于精简指令集计算机中,而变长指令字被用于复杂指令集计算机中。
[0029] 在目前的无线通信系统中,矢量信号处理器(Vector  digital  signal processor,VDSP)对信号处理的操作类型不同,而且不同类型的信号处理操作使用到的指令单元也不同。例如,在VLIW结构的信号处理器中,可包括有LD指令单元、ST指令单元、ALU指令单元和矩阵操作指令单元。
[0030] 然而,针对VLIW结构的信号处理器,某些情况下需要频繁的使用LD指令单元和ALU指令单元进行操作,这时候ST指令单元和矩阵操作指令单元将无操作,即处于空闲状态;而某些情况下需要使用ST指令单元和矩阵操作指令单元,这时候LD指令单元和ALU指令单元就处于空闲状态。也就是说,由于目前的信号处理器不能根据指令单元的使用情况来调节各个指令单元的功耗,从而导致信号处理器的功耗效率低。
[0031] 基于此,本申请实施例所提供的一种信号处理器的控制方法,该方法的基本思想是:基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括连续无操作的空闲长度;根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作。这样,根据目标指令单元的未来使用情况,对该目标指令单元对应的供电电源或者时钟进行关闭和恢复操作,可以最大程度地降低信号处理器的无效功耗,从而提高信号处理器在工作状态下的功耗效率,能够改善信号处理器的激活功耗指标,并且达到节省功耗的目的。
[0032] 下面将结合附图对本申请各实施例进行详细说明。
[0033] 本申请的一实施例中,参见图1,其示出了本申请实施例提供的一种信号处理器的控制方法的流程示意图。如图1所示,该方法可以包括:
[0034] S101:基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括连续无操作的空闲长度。
[0035] 需要说明的是,本申请实施例的方法应用于信号处理器的控制装置,或者集成有该装置的信号处理器(或者称为信号处理设备)。
[0036] 在本申请实施例中,目标指令单元可以包括下述中的至少一项:加载指令单元、回存指令单元、算术逻辑指令单元和矩阵操作指令单元。也就是说,目标指令单元可以是加载指令单元,也可以是回存指令单元,还可以是算术逻辑指令单元或者矩阵操作指令单元等,本申请实施例不作具体限定。
[0037] 还需要说明的是,对于预设长度的未执行指令序列,由于操作指令存储在程序存储器(Program Memory,PM)中,可以通过PM获取从当前指令计数值(Program Counter,PC)开始后的预设长度的未执行指令序列。这里,预设长度可以用W表示,W为大于0的整数,但是W的具体取值根据实际情况进行设置,本申请实施例不作具体限定。
[0038] 这样,在得到预设长度的未执行指令序列后,可以对该预设长度的未执行指令序列进行统计分析,以确定出目标指令单元对应的开始指令计数值以及连续无操作的空闲长度;换句话说,可以确定出目标指令单元连续处于空闲状态时的空闲信息,该空闲信息可以包括开始指令计数值和连续无操作的空闲长度,从而能够得到未来一段时间内目标指令单元的使用情况。
[0039] 其中,无论是预设长度还是空闲长度,本申请实施例均可以采用指令周期个数表示。这里,一个指令周期具体是指取出一条指令并执行这条指令的时间,一般可以由若干个机器周期组成,而且指令周期是指从取指令、分析指令到执行完成所需的全部时间。也就是说,以空闲长度为例,目标指令单元对应的空闲长度也可以称为目标指令单元连续N个指令周期无操作的长度,N为大于0的整数。
[0040] S102:根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作。
[0041] 需要说明的是,在得到目标指令单元对应的空闲信息后,可以根据该空闲信息来控制目标指令单元对应的供电或者时钟的关闭和恢复操作。具体地,在一些实施例中,所述根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作,可以包括:
[0042] 根据所述目标指令单元对应的空闲长度,对所述目标指令单元对应的供电进行开关操作;
[0043] 根据所述目标指令单元对应的空闲长度,对所述目标指令单元对应的时钟进行开关操作。
[0044] 还需要说明的是,可以根据目标指令单元对应的空闲长度对目标指令单元对应的供电进行关闭和恢复操作,也可以根据目标指令单元对应的空闲长度对目标指令单元对应的供电进行关闭和恢复操作。然而,由于恢复供电和恢复时钟均会存在一定的指令时延,也就是说,无论是对目标指令单元对应的供电进行开关操作,还是对目标指令单元对应的时钟进行开关操作,均需要考虑时延情况。因此,在一些实施例中,所述根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作,可以包括:
[0045] 根据所述目标指令单元对应的空闲长度和第一时延值,对所述目标指令单元对应的供电进行开关操作;
[0046] 根据所述目标指令单元对应的空闲长度和第二时延值,对所述目标指令单元对应的时钟进行开关操作。
[0047] 其中,第一时延值表示所述目标指令单元恢复供电所需的指令时延,第二时延值表示所述目标指令单元恢复时钟所需的指令时延。
[0048] 也就是说,供电的关闭和恢复操作与目标指令单元对应的空闲长度和第一时延值有关,时钟的关闭和恢复操作与目标指令单元对应的空闲长度和第二时延值有关。
[0049] 在一些实施例中,对于供电电源来讲,所述根据所述目标指令单元对应的空闲长度和第一时延值,对所述目标指令单元对应的供电进行开关操作,可以包括:
[0050] 计算所述空闲长度和所述第一时延值之间的第一差值;
[0051] 将所述第一差值与第一预设门限值进行比较;
[0052] 若所述第一差值大于或等于所述第一预设门限值,则对所述目标指令单元对应的供电执行关闭操作。
[0053] 进一步地,在所述对所述目标指令单元对应的供电执行关闭操作之后,该方法还可以包括:
[0054] 若等待时长满足所述第一差值,则对所述目标指令单元的供电执行开启操作。
[0055] 需要说明的是,在对目标指令单元对应的供电执行关闭操作的情况下,等待所述第一差值的长度后可以恢复目标指令单元对应的供电。
[0056] 在一些实施例中,对于时钟来讲,在所述第一差值小于所述第一预设门限值时,所述根据所述目标指令单元对应的空闲长度和第二时延值,对所述目标指令单元对应的时钟进行开关操作,可以包括:
[0057] 计算所述空闲长度和所述第二时延值之间的第二差值;
[0058] 将所述第二差值与第二预设门限值进行比较;
[0059] 若所述第二差值大于或等于所述第二预设门限值,则对所述目标指令单元对应的时钟执行关闭操作。
[0060] 进一步地,在所述对所述目标指令单元对应的时钟执行关闭操作之后,该方法还可以包括:
[0061] 若等待时长满足所述第二差值,则对所述目标指令单元的供电执行开启操作。
[0062] 需要说明的是,在对目标指令单元对应的时钟执行关闭操作的情况下,等待所述第二差值的长度后可以恢复目标指令单元对应的时钟。
[0063] 还需要说明的是,目标指令单元对应的空闲长度可以用N表示,第一时延值可以用D2表示,第二时延值可以用D1表示,第一预设门限值可以用T2表示,第二预设门限值可以用T1表示;而且T2大于T1,即第一预设门限值大于第二预设门限值。
[0064] 这样,对于目标指令单元来讲,如果N‑D2大于或等于T2,那么该信号处理器的控制装置可以关闭该目标指令单元对应的供电,并等待N‑D2个指令周期后恢复供电。在N‑D2小于T2的情况下,如果N‑D1大于或等于T1,那么该信号处理器的控制装置可以关闭目标指令单元对应的时钟,并等待N‑D1个指令周期后恢复时钟。
[0065] 简言之,基于预设长度的未执行指令序列,可以统计未来一段时间内目标指令单元的使用情况,即目标指令单元对应的空闲信息;然后根据该空闲信息可以对目标指令单元进行关闭和恢复时钟或者关闭和恢复供电电源,从而能够最大程度地降低信号处理器的无效功耗,达到节省功耗的目的。
[0066] 参见图2,其示出了本申请实施例提供的一种信号处理设备的逻辑架构示意图。如图2所示,该逻辑架构可以包括程序存储器模块201、执行预测和控制(Execution Statistic&Control,ESC)模块202、第一指令单元203、第二指令单元204、第三指令单元205和第四指令单元206以及第一先进先出(First Input First Output,FIFO)队列207、第二FIFO队列208、第三FIFO队列209和第四FIFO队列210。其中,第一指令单元203可以执行LD操作,第二指令单元204可以执行ST操作,第三指令单元205可以执行ALU操作,第四指令单元206可以执行矩阵操作;而且第一FIFO队列207与第一指令单元203对应,第二FIFO队列208与第二指令单元204对应,第三FIFO队列209与第三指令单元205对应,第四FIFO队列210与第四指令单元206对应。这里,对于第一FIFO队列207、第二FIFO队列208、第三FIFO队列209和第四FIFO队列210也可以称为每一指令单元对应的特殊寄存器(Execution Interval FIFO,EIF)。除此之外,该逻辑架构还可以包括寄存器模块,在寄存器模块中可以存储有指令计数值,比如PC=1000;另外,寄存器模块内还可包括一组预测控制寄存器(Predict Ctrl Register,PCR),图2中未示出。也就是说,该逻辑架构可以看作是由一个ESC模块、每一个指令单元对应的EIF以及一组PCR组成。
[0067] 需要注意的是,对于第一FIFO队列207、第二FIFO队列208、第三FIFO队列209和第四FIFO队列210,可以是一组存储器(或者寄存器),即每一个FIFO队列各自对应一个存储器(或者寄存器);也可以是一个存储器(或者寄存器),即这四个FIFO队列处于同一个存储器或者寄存器中。在本申请实施例中,对此不作任何限定。
[0068] 基于图2所示的逻辑架构示例,ESC模块202作为逻辑架构的核心,其可以用于从程序存储器模块201中周期性地获取预设长度的未执行指令序列,然后统计每个指令单元连续无操作的空闲信息,并根据每个指令单元的空闲信息控制对应指令单元的时钟(Clock,CLK)和供电电源(Power,PWR)的关闭和恢复。对于每一个指令单元的空闲信息会缓存至对应的EIF,同时ESC模块202能够根据当前PC值和EIF中首位的寄存器内容进行对应的时钟或者供电电源的启停,即关闭和恢复操作。
[0069] 示例性地,如图2所示,第一指令单元203对应的EIF中存在有两个执行空缺,包括:从PC=1000开始长度为4个指令周期的执行空缺和从PC=1005开始长度为4个指令周期的执行空缺。如果T1等于2个指令周期,T2等于3个指令周期,D1设置为1,D2设置为3;由于4‑D2小于T2但是4‑D1大于T1,那么第一指令单元203会在PC为1001时关闭第一指令单元203对应的时钟,在PC为1004时恢复第一指令单元203对应的时钟;然后在PC=1006时关闭第一指令单元203对应的时钟,在PC=1009时恢复第一指令单元203对应的时钟。而第三指令单元205对应的EIF中存在一个执行空缺,从PC=1003开始长度为6个指令周期的执行空缺,即第三指令单元205对应的空闲长度为6,这时候6‑D2大于或等于T2,那么可以关闭供电电源,也就是说,ESC模块202会在PC=1004时关闭第三指令单元205对应的供电电源,在PC=1007时打开第三指令单元205对应的供电电源。
[0070] 本申请实施例提供了一种信号处理器的控制方法,基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括连续无操作的空闲长度;根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作。这样,根据目标指令单元的未来使用情况,对该目标指令单元对应的供电电源或者时钟进行关闭和恢复操作,可以最大程度地降低信号处理器的无效功耗,从而提高信号处理器在工作状态下的功耗效率,能够改善信号处理器的激活功耗指标,并且达到节省功耗的目的。
[0071] 本申请的另一实施例中,在基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息之前,该信号处理器的控制装置还需要根据预设长度的未执行指令序列,将统计得到的每一指令单元对应的空闲信息缓存至每一指令单元对应的存储器(例如,FIFO队列)中,以对目标指令单元对应的供电或者时钟进行开关操作。在一些实施例中,该方法还可以包括:
[0072] 确定指令计数值,从所述指令计数值开始并进行计数,获取预设长度的未执行指令序列;
[0073] 将待执行时钟或供电关闭操作的所述目标指令单元对应的开始指令计数值与所述空闲长度存储至存储器中;
[0074] 在当前的指令计数值为所述开始指令计数值的情况下,执行所述根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作的步骤。
[0075] 进一步地,在一些实施例中,该方法还可以包括:
[0076] 在当前的指令计数值大于或等于所述存储器中的所述开始指令计数值和所述空闲长度之和时,从所述存储器中去除所述开始指令计数值和所述空闲长度。
[0077] 需要说明的是,首先确定指令计数值,比如PC=1000,然后从PC=1000开始并进行计数,获取预设长度的未执行指令序列;再将待执行时钟或供电关闭操作的所述目标指令单元对应的空闲信息(包括有开始指令计数值与空闲长度)存储至存储器中。示例性地,如果存储器中所存储的开始指令计数值为1000,空闲长度为4,那么在当前的指令计数值为1000的情况下,这时候可以对目标指令单元对应的供电或者时钟进行开关操作;最后在当前的指令计数值大于或等于1004的情况下,可以从存储器中去除或者丢弃所存储的数据,该数据包括有开始指令计数值(1000)和空闲长度(4)。
[0078] 具体来讲,在当前的指令计数值为所述开始指令计数值的情况下,对于供电电源来讲,可以根据存储器所存储的空闲长度和第一时延值,对所述目标指令单元对应的供电进行开关操作,具体可包括:计算所述空闲长度和所述第一时延值之间的第一差值;将所述第一差值与第一预设门限值进行比较;若所述第一差值大于或等于所述第一预设门限值,则对所述目标指令单元对应的供电执行关闭操作。
[0079] 在当前的指令计数值为所述开始指令计数值的情况下,对于时钟来讲,在所述第一差值小于所述第一预设门限值时,可以根据存储器所存储的空闲长度和第二时延值,对所述目标指令单元对应的时钟进行开关操作,具体可包括:计算所述空闲长度和所述第二时延值之间的第二差值;将所述第二差值与第二预设门限值进行比较;若所述第二差值大于或等于所述第二预设门限值,则对所述目标指令单元对应的时钟执行关闭操作。
[0080] 还需要说明的是,该信号处理器的控制装置根据预设长度的未执行指令序列,将统计得到的每一指令单元对应的空闲信息缓存至存储器(例如,每一指令单元对应的FIFO队列)中,用以更新EIF。在一些实施例中,以FIFO队列为例,该方法还可以包括:
[0081] 确定指令计数值,在所有指令单元对应的FIFO队列均处于未满状态时,从所述指令计数值开始,获取预设长度的未执行指令序列;
[0082] 对所述未执行指令序列中的待执行指令进行分析,确定所述待执行指令的指令类型;并根据所确定的指令类型,确定所述待执行指令的统计策略;
[0083] 根据所确定的统计策略,将每一指令单元统计得到的空闲信息依次缓存至每一指令单元对应的FIFO队列。
[0084] 需要说明的是,不同的指令类型对应不同的统计策略。这里,指令类型可以包括:循环开始指令(Loop start Instruction)类型、循环结束指令(Loop end Instruction)类型、分支指令(Branch Instruction)类型和普通指令(Other Instruction)类型。
[0085] 示例性地,参见图3,其示出了本申请实施例提供的另一种信号处理器的控制方法的流程示意图。如图3所示,该流程可以包括:
[0086] S301:获取指令计数值;
[0087] 需要说明的是,在获取指令计数值的时候,还需要考虑延迟到达(delay arrive)的情况,可以将指令计数值与delay值之和确定为所获取的指令计数值。例如,如果PC值等于1000,考虑到delay arrive的情况,那么可以分析1005之后的指令,即这里所获取的指令计数值等于1005。
[0088] S302:判断所有FIFO队列是否处于未满状态;
[0089] S303:若判断结果为否,则设置下一指令计数值;
[0090] S304:若判断结果为是,则从程序存储器中获取预设长度的未执行指令序列;
[0091] 需要说明的是,对于S302来说,如果所有指令单元对应的FIFO队列并非处于未满状态,表明该判断结果为否,那么将执行S303;如果所有指令单元对应的FIFO队列处于未满状态,表明该判断结果为是,那么将执行S304。
[0092] 还需要说明的是,在执行S303的时候,由于所有指令单元对应的FIFO队列并非处于未满状态,这时候无法向EIF中缓存信息,需要设置下一指令计数值,即获取PC+1,此时也需要考虑delay值;然后可以结束流程,或者也可以等待获取下一指令计数值,然后根据新的指令计数值,重新执行判断所有指令单元对应的FIFO队列是否处于未满状态的操作。
[0093] S305:对所述指令序列中的待执行指令进行逐一分析;
[0094] S306:当所述待执行指令为循环结束指令类型时,将先前统计的空闲信息写入对应的FIFO队列中;
[0095] S307:将循环结束指令写入对应的FIFO队列中,并返回步骤S305;
[0096] S308:当所述待执行指令为循环开始指令类型时,将先前统计的空闲信息写入对应的FIFO队列中;
[0097] S309:将循环开始指令和循环次数写入对应的FIFO队列中,并返回步骤S305;
[0098] S310:当所述待执行指令为分支指令类型时,将先前统计的空闲信息写入对应的FIFO队列中;
[0099] S311:设置该分支指令待跳转的下一指令计数值;
[0100] S312:当所述待执行指令为普通指令类型时,判断待执行指令是否与当前指令相同;
[0101] S313:若判断结果为是,则增加该指令的空闲长度计数值;
[0102] S314:若判断结果为否,则将先前统计的空闲信息写入对应的FIFO队列中,并且根据当前指令重新开始统计且空闲长度计数值设置为1,同时返回步骤S305;
[0103] S315:在所述指令序列中的待执行指令全部完成分析时,设置下一指令计数值。
[0104] 需要说明的是,在S305之后,根据待执行指令的指令类型,可以选择对应的统计策略。例如,循环结束指令类型对应第一统计策略,循环开始指令类型对应第二统计策略,分支指令类型对应第三统计策略,普通指令类型对应第四统计策略,具体如下:
[0105] 如果待执行指令为循环结束指令类型时,那么可以选择S306和S307组成的第一统计策略执行,然后再返回S305进行下一待执行指令的分析。
[0106] 如果待执行指令为循环开始指令类型时,那么可以选择S308和S309组成的第二统计策略执行,然后再返回S305进行下一待执行指令的分析。
[0107] 如果待执行指令为分支指令类型时,那么可以选择S310和S311组成的第三统计策略执行;这里的下一指令计数值具体是指分支指令下一次需要跳转到的PC值,同时还需要考虑delay值;然后在S311之后,可以结束流程,或者也可以等待到该指令计数值后,重新执行判断所有指令单元对应的先进先出队列是否处于未满状态的操作。
[0108] 如果待执行指令为普通指令类型时,那么可以选择S312、S313和S314组成的第四统计策略执行,然后再返回S305进行下一待执行指令的分析。
[0109] 还需要说明的是,在所述指令序列中的待执行指令全部完成分析时,可以设置下一指令计数值;如果指令序列的长度为W,那么下一指令计数值就是在W长度之后的指令计数值,同时也需要考虑delay值。
[0110] 如此,ESC模块可以根据PC值、寄存器模块以及程序存储器中的代码段(即预设长度的未执行指令序列)进行统计并更新EIF,即将每一指令单元的空闲信息写入对应的FIFO队列中,也就是说,将每一指令单元的指令计数值和对应的空闲长度写入对应的FIFO队列中。
[0111] 可以理解地,在将每一指令单元的空闲信息写入对应的FIFO队列中之后,可以通过读取对应的FIFO队列以获得对应指令单元的空闲信息。在一些实施例中,所述确定指令序列中目标指令单元对应的空闲信息,可以包括:
[0112] 针对所述目标指令单元对应的目标先进先出队列,判断当前的指令计数值是否等于所述目标先进先出队列首位元素中的指令计数值;
[0113] 若判断结果为是,则读取所述目标先进先出队列首位元素,以得到所述目标指令单元对应的空闲信息。
[0114] 进一步地,在一些实施例中,在所述读取所述目标先进先出队列首位元素之后,该方法还可以包括:
[0115] 在当前的指令计数值大于或等于所述首位元素中的指令计数值与空闲长度的和值时,从所述目标先进先出队列中弹出所述首位元素。
[0116] 需要说明的是,这里FIFO队列中的每一位元素均包括有指令计数值和对应的空闲长度。其中,目标指令单元对应目标FIFO队列;对于目标指令单元来讲,在当前的指令计数值等于目标FIFO队列首位元素中的指令计数值时,可以通过读取目标FIFO队列的首位元素,以得到目标指令单元对应的空闲信息,以便根据空闲信息,对目标指令单元对应的供电或者时钟进行开关操作。而且在读取目标FIFO队列的首位元素之后,如果当前的指令计数值大于或等于首位元素中的指令计数值与空闲长度的和值,说明了首位元素已经执行完,这时候可以从目标FIFO队列中弹出首位元素。
[0117] 还需要说明的是,针对分支指令的跳转情况,在一些实施例中,该方法还可以包括:
[0118] 在当前的指令计数值大于所述目标指令单元对应的指令计数值时,计算所述当前的指令计数值和所述目标指令单元对应的指令计数值之间的第三差值;
[0119] 对所述目标指令单元对应的空闲长度和所述第三差值进行减法运算,得到所述目标指令单元对应的剩余空闲计数值;
[0120] 根据所述剩余空闲计数值和所述第一时延值,控制所述目标指令单元对应的供电电源进行关闭和恢复操作;
[0121] 根据所述剩余空闲计数值和所述第二时延值,控制所述目标指令单元对应的时钟进行关闭和恢复操作。
[0122] 也就是说,在当前的指令计数值大于目标指令单元对应的指令计数值时,这时候可以根据当前的指令计数值以及目标指令单元对应的空闲长度和指令计数值,计算得到目标指令单元对应的剩余空闲计数值。
[0123] 在得到剩余空闲计数值后,可以根据该剩余空闲计数值和第一时延值,控制目标指令单元对应的供电电源进行关闭和恢复操作;具体可以包括:计算所述剩余空闲计数值和所述第一时延值之间的第四差值;将所述第四差值与第一预设门限值进行比较;若所述第四差值大于或等于第一预设门限值,则关闭所述目标指令单元对应的供电电源,并等待所述第四差值的长度后恢复所述目标指令单元对应的供电电源。另外,根据该剩余空闲计数值和第二时延值,控制目标指令单元对应的时钟进行关闭和恢复操作;具体可以包括:在第四差值小于第一预设门限值时,计算所述剩余空闲计数值和所述第二时延值之间的第五差值;将所述第五差值与第二预设门限值进行比较;若所述第五差值大于或等于第二预设门限值,则关闭所述目标指令单元对应的时钟,并等待所述第二差值的长度后恢复所述目标指令单元对应的时钟。
[0124] 示例性地,参见图4,其示出了本申请实施例提供的又一种信号处理器的控制方法的流程示意图。如图4所示,该流程可以包括:
[0125] S401:判断所有FIFO队列是否存在循环控制信息;
[0126] S402:若判断结果为否,则判断目标FIFO队列是否为空;
[0127] 需要说明的是,图4提供了ESC模块可以根据EIF中指令执行统计得到的空闲信息控制各个指令单元的时钟和供电电压的逻辑流程示例,而且该流程只是给出了没有for循环控制信息情况下的流程示例作为工作原理进行说明。
[0128] 也就是说,对于S401来说,如果判断结果为是,即存在循环控制信息,那么可以结束流程;如果判断结果为否,即不存在循环控制信息,这时候可以执行S402,即判断目标FIFO队列是否为空。
[0129] S403:若判断结果为否,则判断当前PC值是否等于目标FIFO队列首位元素中的PC值;
[0130] 需要说明的是,对于S402来说,如果判断结果为是,表明目前的目标FIFO队列为空,这时候可以返回S401,然后选择下一个FIFO队列作为目标FIFO队列并继续执行S402;否则,如果判断结果为否,表明目前的目标FIFO队列不为空,这时候可以执行S403,即判断当前PC值是否等于目标FIFO队列首位元素中的PC值(current PC==PC of 1st FIFO element)。
[0131] S404:若判断结果为是,则获取目标指令单元对应的空闲信息,对目标指令单元对应的供电或者时钟进行开关操作;
[0132] 需要说明的是,如果当前PC值等于目标FIFO队列首位元素中的PC值,这时候可以读取目标FIFO队列首位元素,以得到目标指令单元对应的空闲信息(包括PC值和对应的空闲长度L)。
[0133] 仍然假定第一时延值用D2表示,第二时延值用D1表示,第一预设门限值用T2表示,第二预设门限值用T1表示;那么当L‑D2≥T2时,这时候可以关闭该目标指令单元对应的供电电源,并等待L‑D2个指令周期后恢复供电电源;当L‑D2
[0134] S405:若判断结果为否,则判断当前PC值是否大于或等于首位元素中的PC值与L的和值;
[0135] S406:若判断结果为是,则弹出目标FIFO队列中的首位元素;
[0136] S407:若判断结果为否,则判断当前PC值是否小于首位元素中的PC值;
[0137] 需要说明的是,对于S405来说,L表示首位元素中的空闲长度;判断当前PC值是否大于或等于首位元素中的PC值与L的和值(current PC≥PC+L in 1st FIFO element);如果判断结果为是,表明首位元素已经执行完,这时候可以执行S406,从目标FIFO队列中弹出首位元素;如果判断结果为否,这时候可以执行S407,需要继续判断当前PC值是否小于首位元素中的PC值(current PC≥PC in 1st FIFO element)。
[0138] S408:若判断结果为否,则计算目标指令单元对应的剩余空闲计数值;
[0139] S409:根据所述剩余空闲计数值,对目标指令单元对应的供电或者时钟进行开关操作。
[0140] 需要说明的是,对于S407来说,如果判断结果为是,表明当前PC值还没有到目标FIFO队列中的PC值,这时候什么都不执行,继续返回S401;如果判断结果为否,表明当前PC值已经超过目标FIFO队列中的PC值,比如在分支指令跳转的情况下,这时候需要执行S408和S409。
[0141] 具体地,对于剩余空闲计数值(idle count)的计算,可以根据idle count=L‑(current PC‑PC)得到;假定PC值等于1000,空闲长度L等于10,而当前PC值等于1005,这时候可以计算得到idle count等于5。
[0142] 对于S409来说,仍然假定第一时延值用D2表示,第二时延值用D1表示,第一预设门限值用T2表示,第二预设门限值用T1表示;那么当idle count‑D2≥T2时,这时候可以关闭该目标指令单元对应的供电电源,并等待idle count‑D2个指令周期后恢复供电电源;当idle count‑D2
[0143] 简言之,目前无线通信系统可以根据调制解调器的工作状态打开和关闭部分处理单元,或者调整处理单元的电压和时钟频率以达到节电目的。但是在处理单元运行在某个电压和频率时,内部的微观处理对指令单元的使用情况在处理不同任务时存在不平衡。而本申请实施例可以利用统计指令代码在未来一段时间内不同指令单元的使用情况,并且使用FIFO队列记录每个指令单元停止工作(处于空闲状态)的起始时间和持续时间;并且还可以提供循环代码和分支代码指令单元占用信息;最后根据指令单元的未来使用情况对相对应的指令单元进行关闭时钟操作或者安全地关闭和恢复供电电源,可以最大程度地降低处理器的无效功耗;也就是说,本申请实施例可以提高处理器在工作状态下的微观功耗效率,从而改善处理器的激活功耗指标。
[0144] 除此之外,某些VDSP可以由矢量控制单元(Vector control unit,VCU)和矢量数据处理单元(Vector Data unit,VDU)两部分组成。其中,VCU主要进行控制工作,VDU进行计算密集型的工作,而且VCU占VDSP较小的一部分,VDU占VDSP的大部分面积和功耗。这种结构下的VDSP可以通过VCU实现该功能。一种可能的实现方式是通过编译器在指令代码中按照一定间隔插入一段固定代码,这段代码的作用就是统计下一段运行代码的指令单元占用情况,并控制指令单元对应的时钟和供电电源在特定的时间关闭或者恢复。
[0145] 本申请实施例提供了一种信号处理器的控制方法,通过上述实施例对前述实施例的具体实现进行了详细阐述,从中可以看出,根据目标指令单元的未来使用情况,对该目标指令单元对应的供电电源或者时钟进行关闭和恢复操作,可以最大程度地降低信号处理器的无效功耗,从而提高信号处理器在工作状态下的功耗效率,能够改善信号处理器的激活功耗指标,并且达到节省功耗的目的。
[0146] 本申请的又一实施例中,基于前述实施例相同的发明构思,参见图5,其示出了本申请实施例提供的一种信号处理器的控制装置50的组成结构示意图。如图5所示,该信号处理器的控制装置50可以包括确定单元501和控制单元502;其中,
[0147] 确定单元501,配置为基于预设长度的未执行指令序列,确定所述未执行指令序列所对应的目标指令单元的空闲信息;其中,所述空闲信息包括连续无操作的空闲长度;
[0148] 控制单元502,配置为根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作。
[0149] 在一些实施例中,控制单元502,具体配置为根据所述目标指令单元对应的空闲长度,对所述目标指令单元对应的供电进行开关操作;以及根据所述目标指令单元对应的空闲长度,对所述目标指令单元对应的时钟进行开关操作。
[0150] 在一些实施例中,控制单元502,具体配置为根据所述目标指令单元对应的空闲长度和第一时延值,对所述目标指令单元对应的供电进行开关操作;以及根据所述目标指令单元对应的空闲长度和第二时延值,对所述目标指令单元对应的时钟进行开关操作;其中,所述第一时延值表示所述目标指令单元恢复供电所需的指令时延,所述第二时延值表示所述目标指令单元恢复时钟所需的指令时延。
[0151] 在一些实施例中,参见图5,该信号处理器的控制装置50还可以包括计算单元503,配置为计算所述空闲长度和所述第一时延值之间的第一差值;
[0152] 控制单元502,还配置为将所述第一差值与第一预设门限值进行比较;若所述第一差值大于或等于所述第一预设门限值,则对所述目标指令单元对应的供电执行关闭操作。
[0153] 在一些实施例中,控制单元502,还配置为若等待时长满足所述第一差值,则对所述目标指令单元的供电执行开启操作。
[0154] 在一些实施例中,计算单元503,还配置为计算所述空闲长度和所述第二时延值之间的第二差值;
[0155] 控制单元502,还配置为将所述第二差值与第二预设门限值进行比较;若所述第一差值小于所述第一预设门限值且所述第二差值大于或等于所述第二预设门限值,则对所述目标指令单元对应的时钟执行关闭操作。
[0156] 在一些实施例中,控制单元502,还配置为若等待时长满足所述第二差值,则对所述目标指令单元的供电执行开启操作。
[0157] 在一些实施例中,参见图5,该信号处理器的控制装置50还可以包括缓存单元504;其中,
[0158] 确定单元501,还配置为确定指令计数值,从所述指令计数值开始并进行计数,获取预设长度的未执行指令序列;
[0159] 缓存单元504,配置为将待执行时钟或供电关闭操作的所述目标指令单元对应的开始指令计数值与所述空闲长度存储至存储器中;
[0160] 控制单元502,配置为在当前的指令计数值为所述开始指令计数值的情况下,执行所述根据所确定的空闲信息,对所述目标指令单元对应的供电或者时钟进行开关操作的步骤。
[0161] 在一些实施例中,参见图5,该信号处理器的控制装置50还可以包括丢弃单元505,配置为在当前的指令计数值大于或等于所述存储器中的所述开始指令计数值和所述空闲长度之和时,从所述存储器中去除所述开始指令计数值和所述空闲长度。
[0162] 在一些实施例中,所述目标指令单元包括下述中的至少一项:加载指令单元、回存指令单元、算术逻辑指令单元和矩阵操作指令单元。
[0163] 可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0164] 所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0165] 因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现前述实施例中任一项所述的方法。
[0166] 本申请的再一实施例中,基于上述信号处理器的控制装置50的组成以及计算机存储介质,参见图6,其示出了本申请实施例提供的一种信号处理设备60的具体硬件结构示意图。如图6所示,该信号处理设备60可以包括处理器601,处理器601可以从存储器中调用并运行可执行指令,以实现前述实施例中任一项所述的方法。
[0167] 可选地,如图6所示,信号处理设备60还可以包括存储器602。其中,处理器601可以从存储器602中调用并运行可执行指令,以实现前述实施例中任一项所述的方法。
[0168] 其中,存储器602可以是独立于处理器601的一个单独的器件,也可以集成在处理器601中。
[0169] 可选地,如图6所示,信号处理设备60还可以包括收发器603,处理器601可以控制该收发器603与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。
[0170] 其中,收发器603可以包括发射机和接收机。收发器603还可以进一步包括天线,天线的数量可以为一个或多个。
[0171] 可选地,信号处理设备60具体可为前述实施例所述的处理器或者处理单元,或者集成有前述实施例中任一项所述信号处理器的控制装置50的设备。这里,并且该信号处理设备60可以实现本申请实施例的各个方法中由处理器实现的相应流程,为了简洁,在此不再赘述。
[0172] 本申请的再一实施例中,基于上述信号处理器的控制装置50的组成以及计算机存储介质,参见图7,其示出了本申请实施例提供的一种芯片70的具体硬件结构示意图。如图7所示,芯片70可以包括处理器701,处理器701可以从存储器中调用并运行可执行指令,以实现前述实施例中任一项所述的方法。
[0173] 可选地,如图7所示,芯片70还可以包括存储器702。其中,处理器701可以从存储器702中调用并运行可执行指令,以实现前述实施例中任一项所述的方法。
[0174] 其中,存储器702可以是独立于处理器701的一个单独的器件,也可以集成在处理器701中。
[0175] 可选地,该芯片70还可以包括输入接口703。其中,处理器701可以控制该输入接口703与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。
[0176] 可选地,该芯片70还可以包括输出接口704。其中,处理器701可以控制该输出接口704与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。
[0177] 可选地,该芯片70可应用于前述实施例所述的多模终端,并且该芯片可以实现本申请实施例的各个方法中由多模终端实现的相应流程,为了简洁,在此不再赘述。
[0178] 应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等,比如调制解调器芯片或者调制解调器芯片组等。
[0179] 需要说明的是,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0180] 还需要说明的是,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read‑Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步链动态随机存取存储器(Synchronous link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。应注意,本申请描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0181] 可以理解地,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0182] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0183] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0184] 需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0185] 上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0186] 本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0187] 本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0188] 本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0189] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。