在过去几年中,设计平台正向着提供高性能、多功能产品且能在快速更替中推向市场这一方向持续演变。在所有市场上,消费者正倾向于选择功能丰富的产品。在寻求进一步个性差异的公司产品中,高端的音频、图像与视频质量逐渐融合进来。
在消费电子产品中,这一点集中体现在目前所能见到的集成到移动电话中的数字照相机与整合了数字媒体播放功能的PDA设备上。除了需要预测在将来的设计平台中所必须的未来标准以外,生产厂家还面对着在单个产品中支持多种数据格式与通讯标准的巨大压力。更多便携式产品上的多媒体功能,结合以无处不在的无线互连特性,正在加剧这一融合过程。移动互连网络设备上从语音到数据处理的转变以及增加频谱效率与网络覆盖率的压力,已经导致了新算法的研发--用于转换数据的复杂的算术与逻辑序列。所有这些压力意味着手持设备所必需的处理能力已经增加了几个数量级。
这些算法、应用以及市场的推力正将数字信号处理器(DSP)的性能推向一个许多分析家认为的超出了摩尔定律范围的程度。这一作用的结果导致了当前芯片设计所能提供的信号处理的吞吐量与应用实际需求之间的一个扩大中的性能与计算量的鸿沟(图1)。此外,这一鸿沟不能通过沿用当前设计实践来缩短。低功耗与最小成本的普遍需求暗示了传统的信号处理方案将不能满足新应用的处理需求--一种新架构上的解决方法势在必行。
ARM正在开发一种基于可配置知识产权(Intellectual Property,IP)的嵌入式信号处理方法。使用可配置的IP使得开发人员可以创建与特殊应用或者算法相匹配的信号处理架构。ARM
OptimoDE数据引擎包含一组系统设计师用以配置架构以满足低功耗、高性能的工具集,它帮助缩小计算与性能的鸿沟。ARM OptimoDE数据引擎代表一类以高性能嵌入式信号处理为目标的全新IP。除了高性能,OptimoDE提供了低功耗与快速实现的途径,并能用于单独的处理器或者含微处理器内核的设计中。
控制与数据处理需求
通常情况下,嵌入式处理算法以控制敏感或数据敏感来分类。控制敏感算法的特征是具有卓越的指令流需求,比如,在不同任务间切换,在多个设备上管理I/O与中断,以及处理一个与处理器设计相关的许多常规任务。
图1 增长中的性能与计算能力的鸿沟(略)
数据敏感算法通常处理高度重复的算术与逻辑信号处理任务,在数据流或者数据块上进行操作,实现数据变换,比如加码与解码调制,或者纠错。这些在数据域内的任务包围了典型的数字信号处理操作。ARM
OptimoDE数据引擎对高端数据域的需求是可配置的。大多数应用显然需要控制域与数据域的混合处理。在设计过程的早期识别出各自的优势对于考虑可能的实现解决方案是必需的。对于需要复杂的、高要求控制域处理的产品,当前的微处理器架构将继续提供相适应的性能,甚至对于十分苛刻的控制应用也是如此。凭借包括高效的Java执行效能、系统安全、智能能源管理以及超过500MHz的时钟频率,最新的ARM11内核在一个灵活的软件方案下能够应对广泛的控制方面需求的挑战。可编程的微处理器内核无需可配置性便能满足许多控制域应用的需求。
数据域解决方案
到目前为止,嵌入式控制处理器与可编程DSP核的组和常用来实现具有传统高性能数据域处理需求的系统。然而,这增加了算法的复杂度,传统的可编程DSP架构正艰苦的去处理许多新应用的需求。比如,3G的数字基带处理所需要的动力已经达到了每个频道数千个MOPS(每秒百万次操作)。这需要日益复杂的数字接收算法以达到更好的频道容量与网络覆盖。将这类高效的算法应用于现有的可编程DSP内核架构是不可能做到的。这是因为传统的DSP内核一般被市场定位为可编程、通用信号处理架构,它们试图去支持一大类算法的需求,同时提供灵活性、可编程性以及快速上市等一系列优点。然而,平衡一种通用软件实现方法与最新算法的高性能需求正变得越来越困难。
通用DSP处理器实现方法的一个基础性问题是系统设计者常常被迫根据目标DSP处理器的性能容量去适应算法。这意味着设计者拥有更少的优化实现的自由。此外,在不对性能做出妥协的情况下很难对一个高性能的算法做出修改。
除了对算法做出折衷以适应标准DSP处理器中已有的硬件资源外,有时也需要对C语言代码做出折衷以使其适应编译器。将这些约束集中起来,方案将会有变为一个运行于非最优化架构上的非最优化程序的实际危险。在过去,通用DSP处理器已被调整用以提供针对指定算法的优化。对于GSM,Viterbi解码算法被视为关键数据处理的瓶颈。在以后的DSP处理器中,Viterbi算法作为一个单独的功能嵌入DSP指令集以改善性能并简化实现。对于3G处理,快速解码是主要的算法需求之一,也是一个新的瓶颈。目前,还没有通用的DSP处理器能提供一个确保3G移动电话最迫切的动力预算方案。
为了寻求其它解决方案,ARM公司的合作伙伴,特别是那些专注于指定的高端信号处理系统设备的合作伙伴,正越来越多的开发与ARM微处理器内核组合的专有的硬布线的数据处理方案以迎合更高的信号处理性能上的需求。硬布线设计含有传统的算术与逻辑块,典型的如乘法器、移位器以及ALU部件,这些在一个固定的设计配置中被连接在一起。虽然这种方法能在可接受的功耗与面积的前提下满足数据吞吐量的需求,但这些复杂算法的专有逻辑很费时且难以设计,并且在这种硬布线方法中,牺牲了灵活性与上市时间。
一种可选的增强计算性能的方法是利用更为强劲的拥有更高时钟频率的微处理器。这维持了软件可编程方案的灵活性,也提供了一种相对更快的实现途径。然而,因为需要很高的时钟频率以满足算法性能,这一方法通常在那些将低功耗作为关键指标的应用中是不可接受的,比如手持式电池供电的产品。
3G是数据域处理的一个重要基准,因为它包含了如互联网浏览、流媒体与JPEG播放显示等丰富的功能。一个典型的3G无线终端设备拥有10倍于传统语音与文字基础的移动电话的门电路数量。这一增长同样适用于许多其它应用,特别是视频与数字影像产品。最新的功能强大的通用微处理器能胜任许多处理任务,但这只能通过提高系统时钟频率来实现。
对于这些类型的系统,一个基于ARM微处理器加上ARM数据引擎的解决方案将提供比单一高性能微处理器实现更低的时钟频率。通过卸载掉比如视频解码中的IDCT计算等一些高度重复的处理,交由专用的数据引擎处理,微处理器所需要的时钟频率将显著地降低。因此这一组合架构将产生一个更低的总体系统功耗需求。
ARM微处理器的数据域处理
ARM在32位微处理器的领先地位最初基于成功迎合便携式无线应用的需求,以及ARM产品系列卓越的低功耗性能。ARM32位RTSC处理器内核能很好的满足市场领域对控制域的需求。
ARM令人满意的控制域使得数据域处理的经验与方法日臻完善。ARM扩展了微处理器指令集以提供普遍使用的增强型DSP指令,满足了一系列内核处理低带宽的适度复杂的算法的需求。比如MP3音频处理,这便是为大家所熟悉的'E'扩展。这一指令集架构的扩展向软件设计者提供了高效的算术指令,比如单周期的聚积与有符号加法。ARM9E处理器家族含有'E'扩展,这将提供一种在性能与功耗之间相平衡的方案,它将有能力以单独的内核应对一个音频媒体播放器内控制域与数据域的处理。这一方法受益于单处理器解决方案内在的简洁,它没有附加的DSP处理器与微处理器内核通讯的复杂性。
结合了单指令流多数据流指令(SIMD)的ARMv6架构为视频处理等更高性能的应用提供了一种额外的推进力。针对其它特殊类别的问题,比如3D图形渲染,ARM已经引入了使用协处理器相关的加速方法。ARM
MBX图形加速内核满足了低功耗嵌入式设备的高性能2D与3D的图形加速需求。
对于需求更高的数据处理问题,ARM正与OEM公司以及半导体合作伙伴一起致力于使ARM内核不仅与私有的、专用硬布线逻辑设计相整合,而且与传统的可编程DSP核相整合。
图2 系统设计中的架构选项与趋势(略)
同时,很明显,ARM最初在开发面向控制域的RISC微处理器方案方面取得了良好的声誉,许多革新已经被新一代处理器继承与融合,帮助设计人员应对数据域的需求。所有上述描述的方法使得高效的方案能适用于在微处理器内核外围开发的信号处理算法,并将帮助ARM成为市场领先的信号处理应用IP提供商。
对于最新的高吞吐量的算法,ARM正在推行一种新的数据域处理方法,这一方案来自于最近对Adelante的收购。Adelante在数据引擎方面专门的技术已经导致了一种可以衔接可编程DSP与硬布线之间性能鸿沟的架构。
通过OptimoDE数据引擎,ARM可以使它的OEM厂商与半导体合作伙伴去使用他们自己专门的技术以实现不同的系统。提供作为系统实现基础的灵活的控制与数据引擎是保证合作伙伴持续成功的关键。
ARM OptimoDE 数据引擎
数据引擎使系统设计者可以建立一个基于算法需求的最理想的解决方案,而非一个固定容量的预定义的架构。这一方法提供了更多设计上的自由,包括更好的硬件实现以及更高效的编译器代码。ARM数据引擎可以作为一个独立的单元运作,或者也可与一个ARM微处理器内核紧密耦合。
因为OptimoDE数据引擎是高度可配置的,它能被设计以充分发挥目标算法的并行性。通过支持在软件层次的可再编程性,OptimoDE的设计过程允许设计人员固定了数据引擎的架构后继续通过C代码的变化来调整算法。这是对一个具有类似需求,将运行于同一数据引擎硬件的多重算法极为重要的功能。比如,不同变种的MPEG算法能通过不同的代码适应同一个数据引擎。这一方法使得所开发的高度灵活的指定应用领域的数据引擎在十分低的时钟频率上保持可编程与对于所希望的算法类别的高性能。
MPEG2算法可以在一个运行于650MHz的ARM1136JF-S微处理器内核上实现。通过实现一个OptimoDE数据引擎,将只在ARM11内核面积的基础上增加1mm2面积,却使得在与内核单独实现MPEG2相同性能的情况下将时钟频率降低到200MHz。
OptimoDE解决方案的关键构成
除了定义数据引擎的架构外,ARM OptimoDE环境提供了使得系统设计人员配置架构以满足系统需要与算法需求的工具链。
数据引擎本身由可以高效执行目标算法的数据通道组成。OptimoDE工具也产生一个为架构优化的C编译器。提供编译器是确保延伸至软件开发工作的高效率的关键,并且硬件与软件是一同被优化的。
功能性的数据通道单元是OptimoDE架构的关键构成。他们包含有普通的算术与逻辑单元,存储与互连以及专门功能的单元,如Butterlfy与DCT引擎。数据通道单元能被用户扩展与定制以满足特殊的指定应用的处理需求。对于高度优化的系统,这些能被半导体合作伙伴开发成为可重用的库元素以被用于数据引擎中。
设计流程从一个C/C++描述的算法规格定义开始。这驱动着OptimoDE硬件配置与软件编译工具。设计人员使用一种适当的数据引擎模板来配置架构以满足特殊的性能需求,然后产生与此架构相匹配的软件代码。在无需改变底层硬件架构的情况下,代码可以被重新生成以适应所增加的设计上的改变及其它算法。
另外,如果数据引擎是一个SoC设计的一部分,随OptimoDE一起提供的工具可以自动生成可用于在集成过程中起辅助作用的仿真模型。
ARM OptimoDE数据引擎适用于一大批包括无线、网络、打印与图像、消费电子以及存储应用在内的具有高端算法需求的产品。
总结
数据处理对于高性能算法的需求正迫使设计人员重新思考实现的选择。事实正变得越来越清晰,为中等吞吐量提供了灵活性与低风险硅片方案的可编程DSP处理器在根本上被限定于一个固定的架构,这一个架构不能很好的适应广大高吞吐量的算法。另一方面,如果退回到为每项复杂的数据处理需求设计专用的硬件的方法,将对项目的时间表附加剧烈的压力并消耗更多的资源。
ARM OptimoDE向设计团队提供了可以配置的数据引擎与编译器。这一架构从根本上适应了在数据域算法内采用并行运算。
OptimoDE提供了一种低功耗、高性能与内核面积的最优组合。另外,这一解决方案保留了软件方法基本的优点。设计过程允许通过固件的改变以实现修改与升级,并且经过验证的方法将减小开发时间、设计资源与风险。
OptimoDE数据引擎扩充了ARM现有的广泛的ARM IP所提供的控制与数据域处理解决方案。ARM新的数据域架构也将提供ARM与其半导体及OEM合作伙伴已有的、坚固的合作关系所带来的优势
- ARM合作伙伴基础。
|