14G和软件无线电
软件无线电,也称为软件定义无线电,基本思想是以一个通用、标准、模块花的硬件平台为依托,通过加载模块化、标准化和通用化的软件,实现各种无线通信协议的一种开放体系结构及技术,其基本出发点是尽早得到数字信号,再处理器中用相应的算法对得到的数字信号进行处理。由于算法是可以改变的,因此可以在系统中运行不同的算法,以改变调制解调方式、配置发射波形和频率,从而使系统具有更高的灵活性、更宽的适用范围。针对无线通信算法的研究表明[3,7,8],无线通信中计算密集的数字信号处理算法存在大量的数据并行,并且,数据流具有以下几个特点:一致的方向性、实时流动性和流处理的一致性,所以可以尽可能地采用并行和流线结构进行处理。另外,数据并行方式以及并行的宽度都是在编译时可确定的,因此,在DSP中采用SIMD技术不存在由于数据对齐而导致的执行效率下降的问题,也不会因为需要支持复杂的可变宽度SIMD操作而导致结构复杂化。比如下一代无线通信技术中普遍采用MIMO-OFDM技术[1,7,9],通常需要进行1024个点以上的FFT/IFFT运算,1024个点的FFT/IFFT运算的并行度达1024。软件无线电技术不仅改变了我们的生活方式,给我们的日常生活带来了方便和乐趣,在4G时代下,可以更快捷方便的获取文字、图片、视频、音频等信息,能够轻松打破时空的局限性;在军事通信、电子对抗、导航系统和天基信息系统中也拥有广阔的应用前景,未来的战场是以数字化部队为主导的数字化战场,对实时信息的依赖程度越来越高,因而对信息传输的要求越来越高,要求信息传输速率更高、实时交换的数据量更大,信号带宽更宽、保密性更强、可靠性更好。以命令、控制、计算机、通信、情报、杀伤、预警、侦察为核心的网络中心战,把信息系统与武器系统相铰链,更要以畅通、安全的通信作为纽带。
2研究现状及发展动态分析
尽管国内已经相继开发了面向WIMAX、LTE等4G解决方案,但其核心处理仍然采用国外的一些DSP芯片,如美国的德州仪器公司生产的片上系统(SOC)TMS320TCI6616;飞思卡尔半导体也推出了6核MSC8156数字信号处理器,为软件无线电基站提供灵活的基带平台。无线电系统软件化设计模式已经在手机基站等无线通信设备上得到广泛应用,但是由于手持无线通信设备对数字信号处理器的面积和功耗有严格的限制,在手持无线通信设备上部署软件无线电尚面临诸多障碍,针对此学术界和工业界展开了广泛的研究。2.1面向SDR的可编程体系结构目前,各国学者在研究无线通信处理器的过程中,提出了许多不同的结构。面向SDR的可编程体系结构可以划分成两大体系:可重构流式体系结构和基于SIMD处理器的体系结构。国外学者提出的MorphoSys、ADRES、Montiun[10,11,12]以及国内学者提出的ReMModC-SP[13]等是目前典型的可重构流式结构。面向SDR的SIMD处理器体系结构又可分两大类:窄SIMD体系结构和宽SIMD体系结构。而这两类的SIMD处理器大多又都支持长指令字LIW执行,允许存储器访问和算术运算的并发执行。窄SIMD体系结构是指SIMD数据路径上并行通路的个数较少的情况(典型地,比如4个通路),比如Sandbridge公司的Sandblaster处理器[13,14]、Icera的DXP处理器、Infineon的MuSIC[15]体系结构和法国Link觟ping大学的单指令流多任务体系结构SIMT,都属于这种窄SIMD体系结构。宽SIMD体系结构利用多于16个以上的并行数据通路。SIMD并行度越高,能量效率越高,但是要求是能够有效地利用这些数据通路。如EVP[16]、SODA[17,18]、AnySP[1,2]都属于宽SIMD体系结构。2.2典型的软件无线信号处理器2.2.1SODASODA是Michigan大学SDR小组提出的一种面向软件无线电的处理器结构。该小组通过分析发现,一般无线通信算法在对数据进行处理的过程中彼此之间通信很少,可以把这些算法当作不同的任务,分配到不同的处理器核上运行,即能有效利用多核并行处理,并且数据位宽都比较小(16bit以内),针对这些分析,该小组提出了SODA结构。SODA结构由四部分组成:(1)控制处理器;(2)全局便笺式存储器;(3)4个处理元PE;(4)互连总线。每个PE的组成有:(1)支持向量处理的SIMD流水线;(2)串行处理的标量流水线;(3)两个本地暂时存储器(SIMD存储器、标量存储器);(4)提供访问本地存储器的地址生成单元AGU(addressgenerationunit);(5)一个在存储器与外部系统之间传递数据的可编程DMA(DirectMemoryAccess)单元。SIMD处理单元包括32路16-bit算术逻辑单元和16-bit乘法器(乘法需要两个时钟周期)数据路径,每一个数据路径都有一个2个读端口和一个写端口的16位输入寄存器文件。处理器内部数据的交换通过SSN(SIMDShuffleNetwork)来实现。2.2.2ArdbegArdbeg体系结构是一个商业处理器体系结构,是基于SODA在90nm工艺上重新设计开发的[19]。Ardbeg体系结构含有两个Ardbeg处理元PE。在原始的SODA基础上进行了如下扩展:利用有限的LIW(长指令字,LongInstructionWord)支持的SIMD操作、为turbo解码器设计的ASIC加速器来;再者,置换网络被重新设计,SIMD处理部件被优化。SIMD宽度没有改变,依然为512-bit。Ardbeg为90nm工艺所设计和实现,具有一个七阶段的、宽度为两个向量的Banyan网络。Banyan网络是一个MIN网络,能够在一次操作中完成一对向量的置换。在最后的优化阶段中,SIMD处理部件被优化了。所有部件支持8-bit、16-bit和32-bit的数据类型而不仅仅是16-bit。再者,块浮点支持也加上了。在一个浮点表示中,每个值都有它自己的尾数和指数。在一个块浮点表示中,向量中的所有元素共享相同的指数部分,这样就减少了浮点处理的开销。各种优化措施导致了相比于SODA,对W-CDMA、IEEE802.11a和DVB-H/DVB-T算法来说,加速比提高了1.5倍到7倍。对于W-CDMA在2Mbps时,Ardbeg体系结构功率消耗了大约180mW。2.2.3AnySPAnySP是由MarkWho、SangwonSeo等人在论文“AnySP:AnytimeAnywhereAnywaySignalProcessing”中提出的针对4G无线通信的高性能低功耗处理器。它由SIMD数据路径和标量数据路径组成。SIMD数据路径包含8组8-wideSIMD单元,SIMD单元可以配置成宽度为16、32和64的SIMD单元,每一个8-wideSIMD单元都是由FFUs(FlexibleFunctionalUnits)组成的。SIMD计算所需要的数据是由8个SIMD寄存器文件(RF)提供的,每一个RF的宽度为8,并且有16个存储元。swizzle网络负责各个FFU之间的数据交换,支持宽度为8、16、32、64和128的固定混洗模式。最后,还有一个多输出加法树,可以将4、8或者16个数分为一组相加,然后将结果存储到临时缓冲区。本地存储器由16个存储块组成,每个存储块是一个8-wideSIMD包含有256个16位存储元(共32KB的存储空间)。每一个8-wideSIMD组有一个专用的AGU单元,当AGU不使用时,AGU可以顺序运行以协助标量流水线。
3软件无线电数字信号处理器结构总结
现有的软件无线电数字信号处理器都不同程度存在以下问题:单一地从体系结构的角度加强处理器的运算能力,而没有从指令集的角度出发,可编程能力差,处理器对外界环境的自适应能力不足;没有对软件无线电的基带处理算法进行一个完整的研究,处理器支持的算法有限;成本过高等。另外,可重构流式处理器通过配置功能单元间的连接通路确定处理器的功能,因此程序流既包含数据流又包含处理器本身的配置流,导致编程模型很难同处理器结构本身解耦,编程难度较大。而SIMD面临的困难是如何提高向量执行单元的利用率,如果SIMD向量执行单元计算簇数量过少,则处理器结构难以达到足够的性能,反之如果计算簇数量过多,当程序没有足够的数据并行度时需要非常耗时的操作进行数据对齐。
4结束语
目前4G通信在我国已经进入商用阶段,然而4G软件无线电数字信号处理器的发展和优化仍然是研究的重点,通过对4G无线通信主要关键算法的研究,发现以下技术是未来研究和解决的关键技术。4.1SIMD可变宽度设计在无线通信中,各种算法具有不同的自然向量宽度—4、8、16、96和1024,具有较小向量宽度的算法有较高的线程级并行性,也意味着,在宽SIMD处理器上可以用多个线程对不同数据进行处理。若能支持多SIMD宽度,且当SIMD宽度较小的时候挖掘可能的线程级并行性。充分挖掘算法的数据级并行和线程级并行,有效利用宽SIMD数据通路,将大大提高处理器的性能。4.2指令集的设计指令集预计采用精简指令集来实现,除了包括通用数字信号处理器的常用指令外,设计中还应该包括针对特定算法的专用指令,如洗牌指令、规约指令、复数指令以及常见的生产者-消费者指令对(乘-加、乘-减等)。通过对无线通信和高清视频所涉及的算法的研究给出相应的向量指令集。考虑到对程序流的控制问题,设计出标量指令集来完成程序流的跳转和分支控制。最后,为协调SIMD整列提供大量数据用于计算,设计专门的批量数据传输指令等用于协调工作。4.3体系结构中低功耗设计4G的性能要求比3G要高出好几个数量级,但其功耗只允许增加3~5倍,这对于4G处理器的设计是一个巨大的挑战。在面向4G无线通信的完全可编程处理器设计过程中,低功耗设计是和性能、面积紧密相连的,它不是孤立的追求目标,在设计的各个层次上都应该有相应的体现,但是影响功耗的因素众多,其优化技术也多种多样,在设计过程中,如何全方位的考虑处理器的功耗是一大难点。
作者:董萌 单位:海军装备部