一种多线程处理基带信号的方法及装置制造方法

文档序号:6498833阅读:144来源:国知局
一种多线程处理基带信号的方法及装置制造方法
【专利摘要】本发明公开了一种多线程处理基带信号的装置,包括:矢量处理器(VCORE),用于信号处理运算中的矢量运算操作及与所述矢量运算操作具有紧耦合关系的标量运算操作;硬件加速单元(HWA),用于信号处理运算中不适合矢量形式实现而又计算密集的运算处理;标量处理器(SCORE),用于信号处理中的标量运算,以及对VCORE和HWA的调度,即将处理任务发给VCORE和HWA,并接收VCORE和HWA返回的计算结果。本发明还公开了一种多线程处理基带信号的方法,采用本发明能多线程的处理基带信号中的矢量及标量运算,提高处理效率。
【专利说明】一种多线程处理基带信号的方法及装置
【技术领域】
[0001]本发明涉及数字信号处理领域,尤其涉及一种多线程处理基带信号的方法及装置。
【背景技术】
[0002]当前无线通信领域不断发展,各种通信标准层出不穷,出现多种通信体制并存的现象。因此使用以硬件为主、面向特定用途的专用集成芯片(ASIC,Application SpecificIntegrated Circuit)的终端已经不适应这种局面。ASIC终端对单一的通信协议实现可以做到性能、功耗、成本的最优,但是,在多模情况下,只能通过硬件模块叠加来支持,导致芯片面积和功耗不断膨胀,且很不灵活,升级成本很高。因此,基于矢量处理器的软基带方法逐渐被引入并发挥越来越重要的作用,目前较常见的基于矢量处理器的软基带架构,主要由射频接口、协议栈处理器、物理层控制处理器、矢量处理器、信道编解码加速器组成。其中矢量处理器完成除信道编解码加速器之外的基带信号处理,且矢量处理器通常采用标量通路加矢量通路的形式。
[0003]但是,由于基带处理中仍然保留有较多诸如流程控制、参数计算、不规则密集计算等步骤无法直接矢量化,这些处理如果仍然采用现有的矢量处理器完成,其实现效率会比较低,从而导致对处理器频率需求较高、功耗也较大。因此现有简单的标量通路加矢量通路的结构还不能有效地胜任高效灵活的处理需求。
[0004]可见,现有技术终端中的矢量处理器,无法高效的进行标量及矢量运算。

【发明内容】

[0005]有鉴于此,本发明的目的在于提供一种多线程处理基带信号的方法及装置,能多线程的处理基带信号中的矢量及标量运算,提高处理效率。
[0006]为达到上述目的,本发明的技术方案是这样实现的:
[0007]本发明提供了一种多线程处理基带信号的装置,该装置包括:标量处理器(SCORE)、矢量处理器(VCORE)和硬件加速单元(HWA);其中,
[0008]VC0RE,用于信号处理运算中的矢量运算操作及与所述矢量运算操作具有紧耦合关系的标量运算操作,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;
[0009]HWA,用于信号处理运算中不适合矢量形式实现而又计算密集的运算处理,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;
[0010]SCORE,用于信号处理中的标量运算,以及对VCORE和HWA的调度,将处理任务发给VCORE和HWA,并接收VCORE和HWA返回的计算结果,并向VCORE及HWA提供参数。
[0011 ] 上述方案中,所述SCORE和VCORE之间通过约定的总线通信方式进行数据交互;所述SCORE和HWA之间通过约定的总线通信方式进行数据交互;所述VCORE直接对HWA进行配置。[0012]上述方案中,所述SCORE包括:第二标量处理单元QAU-S和第二控制单元⑶-S ;其中,
[0013]QAU-S,用于完成⑶-S发来的处理任务中的标量运算;
[0014]CU-S’用于向QAU_S发送QAU指令,控制QAU_S执行相应的标量运算操作。
[0015]上述方案中,所述VCORE包括:第一控制单元⑶-V、矢量处理单元VAU和第一标量处理单元QAU-V ;其中,
[0016]⑶-V,用于并行地或相互独立地向矢量处理单元VAU和第一标量处理单元QAU_V发送VAU指令和QAU指令,控制矢量处理单元VAU和第一控制单元QAU_V并行地或相互独立地执行相应的矢量运算操作和标量运算操作。
[0017]VAU,用于根据⑶-V发来的矢量运算指令执行相应的矢量运算操作;
[0018]QAU-V,用于根据⑶-V发来的标量运算指令执行相应的与所述矢量运算操作具有紧耦合关系的标量运算操作。
[0019]上述方案中,所述HWA包括:接口寄存器、控制单元⑶-H以及数据处理单元HPU;其中,
[0020]接口寄存器,用于接收SCORE发来的配置参数;
[0021]⑶-H,根据接口寄存器的配置值,用于控制HPU的执行;
[0022]HPU,用于根据⑶-H发来的控制信息进行处理。
[0023]本发明还提供了一种多线程处理基带信号的方法,该方法包括:
[0024]SCORE执行当前基带信号处理中的标量运算,对VCORE和HWA的调度,将处理任务发给VCORE和HWA ;
[0025]VCORE执行信号处理运算中的矢量运算操作及与所述矢量运算操作具有紧耦合关系的标量运算操作,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;HWA执行信号处理运算中不适合矢量形式实现而又计算密集的运算处理,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;
[0026]SCORE接收VCORE和HWA返回的计算结果。
[0027]上述方案中,所述方法还包括:使用专用于高效完成信号处理运算中的标量运算的SCORE中的CU-S向QAU_S发送QAU指令,控制QAU_S执行相应的标量运算操作;所述SCORE中的QAU-S执行信号处理运算中的标量运算。
[0028]上述方案中,所述VCORE进行计算,将计算结果返回给SCORE,包括:
[0029]所述VCORE中的CU-V并行地或相互独立地向VAU和QAU_V发送VAU指令和QAU指令;
[0030]VAU和QAU_V并行地或相互独立地执行相应的矢量运算操作和标量运算操作
[0031]其中,所述VAU根据⑶-V发来的矢量运算指令执行相应的矢量运算操作;QAU_V根据CU-V发来的标量运算指令执行相应的与所述矢量运算操作具有紧耦合关系的标量运算操作。
[0032]上述方案中,所述HWA对处理任务进行计算,将计算结果返回给SCORE,包括:
[0033]HWA中的接口寄存器接收SCORE发来的配置参数后,由HWA中的⑶-H根据接口寄存器的配置值,控制HWA中的HPU的根据CU-H发来的控制信息进行处理。
[0034]本发明所提供了一种多线程处理基带信号的方法及装置,通过使用VCORE进行矢量运算以及与矢量运算操作具有紧耦合关系的标量运算操作;HWA负责处理不适合矢量运算的特定计算密集型处理如峰值搜索等;SCORE负责信号处理中的标量运算,以及对VCORE和HWA的调度,将处理任务以及计算参数发给VCORE和HWA,并接收VCORE和HWA返回的计算结果;如此,就能够根据任务分配规则多线程的处理基带信号中的矢量及标量运算,以减少SCORE和VCORE交互带来的开销,提升处理效率;另外,可以有效地利用SCORE、VCORE,HWA的并行度,提高总体处理效率。
【专利附图】

【附图说明】
[0035]图1为本发明的多线程处理基带信号的装置组成结构示意图一;
[0036]图2为本发明的多线程处理基带信号的装置组成结构示意图二 ;
[0037]图3为本发明的多线程处理基带信号的方法流程示意图;
[0038]图4为本发明中处理任务执行顺序示意图。
【具体实施方式】
[0039]本发明的基本思想是:SC0RE执行信号处理中的标量运算,以及对VCORE和HWA的调度,将处理任务发给VCORE和HWA ;VC0RE执行信号处理运算中的矢量运算操作及与所述矢量运算操作具有紧耦合关系的标量运算操作,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;HWA执行信号处理运算中不适合矢量形式实现而又计算密集的运算处理,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;SCORE接收VCORE和HWA返回的计算结果。
[0040]下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0041]一种多线程处理基带信号的装置,如图1所示,该装置包括:标量处理器(SCORE) 11、矢量处理器(VCORE) 12和硬件加速单元(HWA) 13 ;其中,
[0042]VC0RE12,用于信号处理运算中的矢量运算操作及与所述矢量运算操作具有紧耦合关系的标量运算操作,根据SC0RE11发来的参数对SC0RE11发来的处理任务进行计算,将计算结果返回给SC0RE11 ;
[0043]HWA13,用于信号处理运算中不适合矢量形式实现而又计算密集的运算处理,根据SCORE 11发来的参数对SC0RE11发来的处理任务进行计算,将计算结果返回给SC0RE11 ;
[0044]SC0RE11,用于信号处理中的标量运算,以及对VC0RE12和HWA13的调度,将处理任务发给VCORE12和HWA13,并接收VCORE12和HWA13返回的计算结果,并向VCORE12及HWA13
提供参数。
[0045]所述SC0RE11和所述VC0RE12、所述SC0RE11和所述HWA13之间通过专用总线通信方式进行数据交互。所述VC0RE12也可以直接配置所述HWA13。此外所述SC0RE11、所述VC0RE12、所述HWA13也可以通过共享内存进行交互;通过专用总线通信方式进行数据交互指:通过专门设计的交互总线方式进行点对点通信连接,减小交互开销。
[0046]如图2所示,所述SC0RE11包括:第二标量处理单元(QAU-S) 111和第二控制单元(CU-S) 112 ;其中,
[0047]QAU-S111,用于接收⑶-S112发来的QAU指令,根据⑶-SI 12的控制标量运算;
[0048]⑶-S112,用于向QAU-Slll发送QAU指令,控制QAU-S执行相应的标量运算。[0049]所述CU-S112,具体用于根据预置的任务分配规则,将处理该基带信号的任务划分类型,若为矢量密集型处理,则将处理任务发给VC0RE12,接收VC0RE12返回的计算结果;若为不适合矢量运算的指定计算密集型处理,则将处理任务发送给HWA13,接收HWA13返回的计算结果;同时计算参数并提供给VC0RE12、HWA13。
[0050]所述所述CU-S112,具体用于保存任务分配规则,可以为:若对当前基带信号需要进行任务调度、流量控制和参数计算的处理,则处理该基带信号的任务划分为标量处理;
[0051]若对当前基带信号需要进行大量的运算而这些运算又不适合矢量形式处理,这些处理又有专门的硬件单元对应,则将该基带信号的任务划分为不适合矢量运算的指定计算密集型处理;
[0052]若对当前基带信号需要进行矢量运算以及与矢量运算有紧耦合关系的标量运算,则处理该基带信号的任务划分为矢量处理。
[0053]所述VC0RE12包括:第一控制单元(⑶-V) 121、矢量处理单元(VAU) 122和第一标量处理单元(QAU-V) 123 ;其中,
[0054]CU-V121,用于并行或独立地向VAU122和QAU-V123发送VAU指令和QAU指令,控制VAU122和QAU-V123并行或独立地执行相应的矢量运算操作和标量运算操作;
[0055]VAU122,用于根据⑶-V121发来的矢量运算指令执行相应的矢量运算操作,将计算结果返回给SCORElI ;
[0056]QAU-V123,用于根据⑶-V121发来的标量运算指令执行相应的与所述矢量运算操作具有紧耦合关系的标量运算操作,将计算结果返回给SC0RE11。
[0057]所述CU-V121与VAU122和QAU-V123之间具有一条超大指令字(VLIW,Very LongInstruction Word)指令发射通道,其可以根据程序人员的程序设计,进行VLIW指令发射,在程序调度和程序功能设计满足的情况下,通过VLIW指令发射通道可并行发射矢量运算指令和标量运算指令,VAU和QAU_V可同时执行相关标量线程和矢量线程的处理。当矢量运算指令和标量运算指令的并行发射条件不满足时,VC0RE12的VAU运算指令和QAU运算指令也可以独立发射。所述VAU指令和QAU指令可以并行发射的情况主要有:VAU指令和QAU指令在执行过程中不会造成处理器硬件上的相关和数据相关;程序人员在设计程序时,判断可以有并行发射的条件下,将指令安排在并行发射的指令位置上。
[0058]所述QAU_V与所述VAU之间的数据交互是通过直接的Q2V和V2Q指令来实现的;Q2V用于将指定的标量寄存器值存入矢量寄存器,V2Q用于将矢量寄存器的指定元素存到指定的标量寄存器。这是矢量处理器内部的一类特殊的指令,所述Q2V能够将标量寄存器堆内的数据直接送入矢量寄存器堆中的某个矢量元素中,同时所述V2Q指令也能将矢量寄存器堆中的某个元素直接送入QAU_V上的标量寄存器堆中,这种方式由指令流水形式完成,最大效率的保证了交互的效率。因此从整体上看,VC0RE12已经具有了一定的标量处理能力,但是其标量处理能力的效率受制于并行指令发射的相关约束,但是在一些场景中单独的VC0RE12就已经能够独立胜任通信算法的功能实现。
[0059]所述HWA13包括:接口寄存器131、控制单元(⑶-H) 132以及数据处理单元(HPU) 133 ;其中,
[0060]接口寄存器131,用于接收SC0RE11发来的配置参数,并为⑶-H132提供配置参数;[0061]⑶-H132,用于根据接口寄存器的配置值控制HPU133的执行计算操作;
[0062]HPU133,用于根据⑶-H132发来的控制信息进行计算处理。
[0063]系统中可以包括一个或多个HWA13,多个HWA13可以相同或者不同。HWA13是一种可配置的加速器,通常被设计为用来处理计算密集而又不适合矢量操作的处理,这些操作在不同的通信制式中又具有一定的普通性,如峰值搜索等。通过HWA13实现这些处理能够更好地发挥VCORE12的优势,使其更高效地负责矢量处理。SCORE 11和VCORE12通过接口寄存器131配置参数,HWA13将结果存回接口寄存器131或直接写入共享内存。
[0064]本发明提供的装置具有很强的灵活性和优势,其中一点是可以灵活地调度在SCORE 11和VC0RE12上的标量处理任务。对于一般的处理只要满足SC0RE11和VC0RE12之间的数据相关要求,可以让程序人员将标量处理任务分配给SC0RE11和VC0RE12,对于与VAU122处理比较紧密的标量运算可以尽量安排在QAU_Vi实现,以减少SC0RE11和VC0RE12交互带来的开销,提升处理效率。对于耦合度不高,但是对标量运算相对集中的操作,可以把任务分配于SC0RE11上。另外,如果VC0RE12独立即可完成整个算法实现时,可以关闭SC0RE11让VC0RE12独立工作,以达到低功耗的设计目的。所述装置安装于终端的基带处理器中
[0065]本发明的多线程处理基带信号的方法,如图3所示,包括以下步骤:
[0066]步骤301 =SCORE执行当前基带信号处理中的标量运算,对VCORE和HWA的调度,将处理任务发给VCORE和HWA ;
[0067]步骤302 =VCORE执行信号处理运算中的矢量运算操作及与所述矢量运算操作具有紧耦合关系的标量运算操作,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;HWA执行信号处理运算中不适合矢量形式实现而又计算密集的运算处理,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;
[0068]步骤303:SCORE接收VCORE和HWA返回的计算结果。
[0069]实施例一、使用本发明的多线程处理基带信号的方法处理基带信号包括:
[0070]步骤401 =SCORE根据预置的任务分配规则,判断当前基带信号的任务类型,若为矢量密集型处理,则执行步骤402 ;若为不适合矢量的计算密集型处理,则执行步骤403。
[0071]这里,所述SCORE确定处理当前基带信号所需的处理任务的类型:当SCORE收到物理层控制处理器发来的基带信号后,根据预置的任务分配规则,将处理该基带信号的任务划分类型。
[0072]所述任务分配规则为根据实际情况预置的规则,可以为:若对当前基带信号需要进行任务调度、流量控制和参数计算的处理,则处理该基带信号的任务划分为标量处理;
[0073]若对当前基带信号需要进行峰值搜索等,则处理该基带信号的任务划分为不适合矢量形式的计算密集型处理;
[0074]若对当前基带信号需要进行矢量运算以及与矢量运算有紧耦合关系的标量运算,则处理该基带信号的任务划分为矢量处理。
[0075]所述将处理当前基带信号的任务划分类型之后,该方法还包括:使用专用于高效完成信号处理运算中的标量运算的SCORE中的CU-S向QAU_S发送QAU指令,控制QAU_S执行相应的标量运算操作;[0076]所述SCORE中的QAU-S执行信号处理运算中的标量运算。
[0077]步骤402 =SCORE向VCORE提供所需的参数,将处理任务发给VC0RE,所述VCORE进行矢量运算以及与矢量运算操作具有紧耦合关系的标量运算操作,将计算结果返回给SCORE,结束处理流程。
[0078]具体的,SCORE通过和VCORE之间的专用总线通信路径,将处理任务写入VCORE的标量寄存器堆;所述VCORE收到处理任务后,VCORE对处理任务进行计算,完成计算后将计算结果返回给SCORE ;所述SCORE收到计算结果后,判断是否仍有处理任务需要处理,若有,则返回步骤401,若没有,则结束处理流程。
[0079]所述VCORE进行计算,将计算结果返回给SCORE,包括:
[0080]所述VCORE中的CU-V并行地或相互独立地向VAU和QAU_V发送VAU指令和QAU指令;
[0081 ] VAU和QAU_V并行地或相互独立地执行相应的矢量运算操作和标量运算操作
[0082]其中,所述VAU根据⑶-V发来的矢量运算指令执行相应的矢量运算操作;QAU_V根据CU-V发来的标量运算指令执行相应的与所述矢量运算操作具有紧耦合关系的标量运算操作。
[0083]所述SCORE与VCORE之间的数据交互通过专用总线通信方式;所述矢量计算为现有技术,这里不做赘述。
[0084]步骤403 =SCORE向HWA提供所需的参数,将处理任务发送给HWA,所述HWA对处理任务进行计算,将计算结果发给SCORE。
[0085]这里,所述计算为现有技术,这里不做赘述。
[0086]所述HWA对处理任务进行计算,将计算结果返回给SCORE,包括:
[0087]HWA中的接口寄存器接收SCORE发来的配置参数后,由HWA中的⑶-H根据接口寄存器的配置值,控制HWA中的HPU的根据CU-H发来的控制信息进行处理。
[0088]上述步骤402及步骤403完成后,可以返回步骤401继续进行基带信号的任务划分。
[0089]比如,任务划分为任务(task) 1、task3为矢量处理,适于在VCORE完成,task2为计算密集型处理在HWA完成,当SCORE收到VCORE及HWA返回的计算结果后,分析task3为矢量处理,发送给VCORE。对于这样一个流程,其相应的在SCORE、VCORE、HWA上的执行过程如图4所示,S1、S2、S3分别表示taskl、task2、task3在SCORE上的相关处理,V1、V3表示taskl、task3在VCORE上的处理,H2则表示task2在HWA上的处理。图4中的圆圈表示不同单元之间的并行执行,可见S2和Vl可以并行执行、Vl和H2可以并行执行。通过这种调度方式可以有效地减少总体执行时间,降低对系统的总体频率需求。
[0090]可见,使用本发明提供的方法及装置能够根据任务分配规则灵活地调度在SCORE和VCORE上的处理任务,以减少SCORE和VCORE交互带来的开销,提升处理效率;另外,可以有效地利用SCORE、VCORE、HWA的并行度,提高总体处理效率。
[0091]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【权利要求】
1.一种多线程处理基带信号的装置,其特征在于,该装置包括:标量处理器SCORE、矢量处理器VCORE和硬件加速单元HWA ;其中, VC0RE,用于信号处理运算中的矢量运算操作及与所述矢量运算操作具有紧耦合关系的标量运算操作,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ; HWA,用于信号处理运算中不适合矢量形式实现而又计算密集的运算处理,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ; SCORE,用于信号处理中的标量运算,以及对VCORE和HWA的调度,将处理任务发给VCORE和HWA,并接收VCORE和HWA返回的计算结果,并向VCORE及HWA提供参数。
2.根据权利要求1所述的装置,其特征在于,所述SCORE和VCORE之间通过约定的总线通信方式进行数据交互;所述SCORE和HWA之间通过约定的总线通信方式进行数据交互;所述VCORE直接对HWA进行配置。
3.根据权利要求1所述的装置,其特征在于,所述SCORE包括:第二标量处理单元QAU-S和第二控制单元CU-S ;其中, QAU-S,用于完成CU-S发 来的处理任务中的标量运算; CU-S,用于向QAU_S发送QAU指令,控制QAU_S执行相应的标量运算操作。
4.根据权利要求1所述的装置,其特征在于,所述VCORE包括:第一控制单元⑶-V、矢量处理单元VAU和第一标量处理单元QAU-V ;其中, ⑶-V,用于并行地或相互独立地向矢量处理单元VAU和第一标量处理单元QAU_V发送VAU指令和QAU指令,控制矢量处理单元VAU和第一控制单元QAU_V并行地或相互独立地执行相应的矢量运算操作和标量运算操作; VAU,用于根据⑶-V发来的矢量运算指令执行相应的矢量运算操作; QAU-V,用于根据CU-V发来的标量运算指令执行相应的与所述矢量运算操作具有紧耦合关系的标量运算操作。
5.根据权利要求1所述的装置,其特征在于,所述HWA包括:接口寄存器、控制单元⑶-H以及数据处理单元HPU ;其中, 接口寄存器,用于接收SCORE发来的配置参数; ⑶-H,根据接口寄存器的配置值,用于控制HPU的执行; HPU,用于根据⑶-H发来的控制信息进行处理。
6.一种多线程处理基带信号的方法,其特征在于,该方法包括: SCORE执行当前基带信号处理中的标量运算,对VCORE和HWA的调度,将处理任务发给VCORE 和 HWA ; VCORE执行信号处理运算中的矢量运算操作及与所述矢量运算操作具有紧耦合关系的标量运算操作,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ;HWA执行信号处理运算中不适合矢量形式实现而又计算密集的运算处理,根据SCORE发来的参数对SCORE发来的处理任务进行计算,将计算结果返回给SCORE ; SCORE接收VCORE和HWA返回的计算结果。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括: 使用专用于高效完成信号处理运算中的标量运算的SCORE中的⑶-S向QAU_S发送QAU指令,控制QAU_S执行相应的标量运算操作; 所述SCORE中的QAU-S执行信号处理运算中的标量运算。
8.根据权利要求6所述的方法,其特征在于,所述VCORE进行计算,将计算结果返回给SCORE,包括: 所述VCORE中的CU-V并行地或相互独立地向VAU和QAU_V发送VAU指令和QAU指令; VAU和QAU_V并行地或相互独立地执行相应的矢量运算操作和标量运算操作, 其中,所述VAU根据CU-V发来的矢量运算指令执行相应的矢量运算操作;QAU-V根据CU-V发来的标量运算指令执行相应的与所述矢量运算操作具有紧耦合关系的标量运算操作。
9.根据权利要求6所述的方法,其特征在于,所述HWA对处理任务进行计算,将计算结果返回给SCORE,包括: HWA中的接口寄存器接收SCORE发来的配置参数后,由HWA中的CU-H根据接口寄存器的配置值,控制HWA 中的HPU的根据CU-H发来的控制信息进行处理。
【文档编号】G06F13/40GK103914426SQ201310003651
【公开日】2014年7月9日 申请日期:2013年1月6日 优先权日:2013年1月6日
【发明者】陈宁, 罗新 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1