探究用于无线通信的多内核DSP

电子说

1.3w人已加入

描述

无线通信产业不断推进创新,像WiMAX、MIMO都需要增强的性能。无线系统开发商面临在更短的开发周期和更少的财政投入情况下提供非常复杂的系统。在这种压力下,目前业界正在突破无线系统采用ASIC、DSP和FPGA的传统构建方法。多内核DSP兼具FPGA的扩展特性和阵列优点,以及DSP的相似性和效率,提供了一种比DSP和FPGA更高效、更易于开发的解决方案。

在无线基础设备开发公司中,ASIC设计开始不断减少,ASIC开发时间太长,并且为适应不断变化的无线基础设备需求,需要很高的成本。这些公司于是现在开始得到这样的结论,即未来的系统必须基于完全可重构的软件方案来构建。

但是,通常采用DSP处理器和FPGA的完全可重构解决方案都具有其自身的问题。最新一代DSP处理器只能满足像WiMAX和HSDPA这样的当代无线通信标准处理器的一小部分需求,需要许多个DSP连接在一起来满足处理负载需求,这对于编写代码来说既痛苦,代价又高。

FPGA提供丰富的处理带宽,但是与基于处理器的解决方案相比,成本高。整合其他方法的企图却产生一种很笨拙的混合开发环境,使得时序收敛问题更糟糕。

一种成功的基带架构的五个最重要的特性为:

◆ 在不同产品系列中提供足够处理能力的可扩展性

◆ 高效执行控制功能以及DSP功能的能力

◆ 易于编程和验证

◆ I/O带宽

◆ 低功耗

因此,能实现新的、令人激动的应用的算法正待走出实验室,但是,就我们在过去几年中所见的传统架构上的轻微改进并不能满足所要求的处理能力。依赖工艺尺寸的缩小或者时钟速度的改善不大可能提供所需要的性能,基于这样的原因,我们已经可以看到对新方法的需求。

然而,一种架构的特性必须是可扩展的,并且在一种编程模式下支持一系列的应用;然后,可能以不同的方式来应用以使特定的器件与特定的问题匹配。尽管可以针对一种应用设计一种处理器,但它不是一种架构而仅仅是一种可编程ASSP。

这就解释了为什么对并行架构那么关注,这种架构能扩展以提供需要的处理能力,又方便编程,并且还能解决控制和选择功能,这些功能是这些算法的一部分。

根据特定的算法,通常存储器带宽或者数据处理I/O成为性能瓶颈。将信息从系统中发出与送入的能力必须能赶得上黑盒子内的处理能力。这就解释了为什么某些DSP架构不沿用通常的Von Neuman结构(共享编程和数据存储器),而使用Harvard架构(双存储器),或者甚至是Super Harvard架构(另外的数据存取)。很明显,带有跨单元阵列的多I/O路径的并行架构具有更多的优势。

最后一点,但是也是非常重要的,就是支持可编程特性和验证。与通用器件相比,DSP用在非常苛刻的实时系统中,这对它怎样运行提出了很严格的约束。在某个领域内可以应用的方法可能在另外一个领域内不可使用。对算法的开发、编码和验证要求很重要,如果要获得很大的成功,架构必须有助于这些任务的实现。

而FPGA可以提供这种处理能力,但是成本高、功耗高,而且不是一种“软件”解决方案。有大量的事例(例如BTDI测试基准)显示,在FPGA上开发复杂的DSP功能可能会需要数周甚至数月,而在DSP处理器上实现等同的代码则只需要数天。

FPGA架构的优越性

FPGA具有非常强的通用性相同的芯片可以用在基站中替代DSP,在路由器中用于TCP处理对于高性能视频加密等等。在很多方面,这种通用性是一种非常大的优势。但是,这是有代价的,可能一种器件针对上面应用中的一种进行优化,或许可以提供在价格、性能、处理能力和功能上的较好折衷。

例如,FPGA可以运行任何比特宽度的运算。但是这意味着每一个比特独立控制,因此产生1:1的运算控制开销。其结果是,信号发送将占用很大部分的硅片面积。但是在大多数应用中,16比特的字宽就“足够好”了。因此,一种选择将是设计一种16比特的架构,在总线上传输,将开销从1:1降低到1:16。

在提供专用的DSP功能的情况下,在FPGA上的整个芯片电路中依然是很小的一部分,因此开销还是很高。而且,在FPGA结构上的这种额外控制加之深亚微米工艺的高漏电流产生很高的功耗。对于FPGA中被布局布线的每个门电路来说,有成百上千的配置晶体管。由于静态功耗由总的芯片门电路面积决定,FPGA的本性就决定了具有比同等的处理器高得多的静态功耗。密集布线结构和相应较大的硅片尺寸意味着信号需要驱动更大的电容,并因此增加了动态功耗。

类似地,FPGA允许在时序上有非常高的灵活性逐周期实现控制,具有非常精细的周期粒度。因为每个设计必须进行布局布线,因此不可避免存在时序收敛问题。为获得最高的性能,必须认真地设定约束条件以达到期望的时钟周期时间。这需要富有经验的设计,增加了设计成本和时间。可能需要插入额外的流水级,以改变电路的行为和延时。可能需要定义更高成本的速度等评定器件。在更大的器件上,布局布线的周期可能需要几个小时到半天时间,延后了开发进度。

然而,FPGA相对于DSP可以提供一个巨大的优势:即它能提供另外一种自由度。一种标准的处理器只能在一个方面提高性能,即运行更快。这需要更大的缓存、更深的流水线以及更复杂的逻辑(无序执行、可预知的跳转、动态再调度)。速度上的每一次增加都需要增加硅片面积,两者的增加并不成比例关系。不仅仅需要更多的硅片面积,还使编程和调试更加复杂。过去,对处理器进行仿真和调试很简单,但是在这些特性下,代码的执行难以进行调试。

相反,现场可编程阵列(注意关键词“阵列”)可以将任务扩散到整个硅片。其结果是每个模块可以很简单,运行很慢,并因此占用较少的硅片面积。

这样我们就达到了高端DSP性能的拐点。此时,单个处理器的架构与大量处理器协同执行任务的能力相比变得不那么重要了。因此,我们所看到的最重要的架构开发是提供并行特性的扩展能力。并行特性并不是指仅仅增加一些执行单元,或者甚至将十多个高端DSP连接在一起的能力,而是将数以千计的处理器连接在一起来执行非常复杂的DSP任务,单块芯片上几百个处理器,即多内核器件。

兼具FPGA优点的多内核DSP

多内核DSP兼具FPGA的扩展特性和阵列优点,以及DSP的相似性和效率,提供了一种比DSP和FPGA都更高效、更易于开发的解决方案。

然而,这不仅仅是一种硅片集成任务,这些器件必须支持多个处理内核的有效使用,兼具高性能和易于编程、调试和最终的系统验证特点。

因为可以通过在阵列上扩展以及解决问题来提高性能。其结果是,每个DSP内核可以更慢和更简单,减少了巨大的开销以使性能最大化,可以在速度和硅片面积上找到最佳的平衡。

事实证明,每平方毫米的最大运算数是一种非常常用的16比特Harvard结构处理器,时钟速率大约为200MHz。这与手机上用到的器件类似,如果有一种更有效的结构,那么可能每年数以亿计的手机将使用这种器件。

因为硅片是专门用于DSP应用,不需要承载任何用于其他任务(例如胶合逻辑运算)的配置开销。这样一来可以实现非常小的硅片面积以及更低的静态功耗。

一个建构很好的多内核DSP为处理器内核之间的通信建立了一种简单的抽象连接模型。这意味着可以支持点对点、点对多点和多点对多点连接。针对这些连接的带宽应该是可编程的。软件应该能确定性地迅速发送所有要求的信号。

采用简单的DSP阵列和一个抽象连接模型,代码开发变得简化了,特别是对于很大开发量的工作来说尤其如此。实质上,这是一种通常的子程序编程模型,或称为“用于硬件的面向对象的方法”。针对简单连接以及一种数据速率对模块之间的接口进行标准化。握手、时钟、设置以及保持时间都被抽象出来。

开发可以变得简单化,某个问题可以在典型的分而治之的方法中划分成处理器大小的块。每个工程师在假定标准互联模型的条件下对其自己的模块进行写和测试。然后,将每个模块集成到一个更大的子系统中,直到形成整个系统。

一旦整个系统得到正确的仿真,便可以实现抽象连接模型的好处。正如某个用户所言“与FPGA不同的是,采用多内核DSP的系统在仿真器上运行时,它运行于硅片上。”因为布线网络时序本身是正确的,因此没有令人痛苦的时序收敛问题需要处理。

这样的多内核DSP提供了DSP和FPGA两者的优点,FPGA的性能和DSP易于编程的特性—比传统方法获得更好的成本和处理能力优势。

编辑:jq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分