善用现有关于各种数位讯号处理器(DSP)应用的软体,以将产品更快上市变得越来越重要。不论您的设计是应用在成本敏感度高的消费性产品,或是讲究成效、多管道的基础建置(infrastructure)产品,若能将低等级的应用软体再次运用到高等级,便可节省原来设备制造商(OEM)开发者的时间和金钱。为了达到这一点,DSP结构必须被定义在功能、电力消耗和反应成本的需求,均为可扩充式(Scalable)的前提之下。
可扩充性观点
在本文中,可扩充性将由两个观点探讨。首先,我们将讨论一个单一核心之所以能达到可扩充的条件,并且能因应多重应用物件的DSP结构学的主要特质;这将包括探讨数位讯号处理器核心本身,以及它无须牺牲电力消耗及成本(程式编码密集度)即能达到高成效的能力。
除此之外,还有其他考量,像是支援协同处理器、加速装置或可延伸的指令,都可以达到可扩充性。再者,我们将从促进核心相容群组的观点来观察结构学以达到不同的成效、电力,和成本需求。这部份的讨论将集中在发展数位讯号处理器结构学,以迅速而有效率地增加或减少媒体存取控制(MACs)/算数逻辑单元(ALUs),以在维持相容性的同时产生新核心。
DSP技术趋势
开发使用数位讯号产品的问题之一,就是要选择适当的DSP。第三代行动电话(3G)无线标准、完成更高级无线资料速率的能力,以及它在无线听筒上的效果即是这项挑战最好的证明。
3G推动
在某些方面,这些电话的最终功能将仍然是语音专用,优先考虑低电力与低成本DSP能力,以分别延长电池寿命和消费者购买力。但是,第三代行动电话标准所提供的较高速率,将使电话适合数据专用,以便简单的文字浏览;或媒体专用,以使静止画面或电视影像成为可能。
由于这些功能倾向于更复杂的应用,施加于DSP核心上的必要条件变得更多。而且这些额外的成效,必须以极低的电力消耗来达成,降低其对电话电池寿命的影响。对这项挑战而言,最符合成本效益的解答,是推出一个单一数位讯号处理器结构能因应各种不同成效、电力消耗,以及成本需求而扩充。其功能可满足全范围之成效、电力消耗和成本需求即为本文中的定义,就可以说是「可扩充式结构」,此功能仰赖其是能否于多方展现灵活性。
DSP效率分析
对提供可扩充性而言,数位讯号处理器的核心有关处理低成本、低电力与高成效应用的能力,是十分重要的问题。为了达到这项目的,必须开发一个数位讯号处理器核心,以达到下列四个重要特质。
- 1.高效率转换程式语言的能力:以"C"语言编写所有产品的能力,缩短推出市场的时间。
- 2.成效:高水准的平行处理(parallelism)和时脉率(clock rates)以满足密集试算应用。
- 3.低电力:使用于电池操作设备时,设计符合成效需求,而耗电率低。
- 4.紧密的程式编码密集度:传送少量的编码印迹(small code footprint),特别是对控制码(control code),以减少所需记忆体量,进而减少整体系统成本。
矩形结构应用
过去DSP在设计时,并不能完全顾及上述四项考量,工程师因此必须做出策略性的牺牲。举例而言,试图达到高成效而不考虑电力消耗和编码密集度(成本),反之亦然。
业界目前正为了周延这些需求而努力,StarCore SC100机种正是为满足全部四项特质而开发(图一)。为达到这点,SC100结构是根据16位元指令设定,以期望能用最低的耗电和系统成本来维持最高的成效。矩形结构之应用,以及有效的五段式传输(five-stage pipeline)使SC100为最好的转化目标。
《图一 SC140能因应顾客和基础架构的应用对象〈数据源:Source:摩托罗拉〉》 |
|
SC100之成效是由可变长度执行设定(VLES)结构来达成。执行设定能视核心来源和进行编码时的平行处理来编组分类多重指令语言。举例而言,SC140的执行单元(SC100最早衍生结构,有四个资料算数逻辑单元(DALU)和两个位址计算单元(AAU)等),可编组分类有最多六个执行指令,以满足所有的功能单元。
字首指令译码
第二个衍生的核心SC110,也是一个资料算数逻辑单元版本,能平行地执行多达三个指令。执行设定也能选择性地包含不可执行的指令;此类指令称做字首。字首提供了一个额外的译码的方式,超出基本的16位元指令,以容许出入高阶资料和位址登录库,控制有条件的执行和硬体回路的操作。
这个方法让SC100结构学能利用DSP发挥平行处理的最大成效,同时藉由使用16位元指令,来维持紧密的编码密集度。在需要用字首来增加译码时,它会被分摊在执行设定内的多重指令上,因而能产生功效,而且规避32位元指令的缺点。
低耗电策略
低耗电率亦是可扩充式结构工程团队,针对手持无线器材市场的严格要求所做的因应。 SC140 在0.9伏特每百万媒体存取控制(MMAC)下耗电0.06毫瓦,SC110在0.9伏特每百万媒体存取控制下耗电0.14毫瓦即是此效能之明证。
运用分配结构
除了可暂时中止计时活动之传统调节计时回路(gated clock circuitry)和省电休眠状态(暂缓及停止指令),SC100传输和分配结构以达到低耗能指令解码和执行,关键就是将指令解码延迟至最久。只有执行单元在需特定指令时,方才稍后以执行单元在导管(pipeline)内分配编码器,并记录特定编码器的时间。
对于具有电力效益的十六位元指令可能被扩充(译码)到超过一百个内部「控制线」而言,我们可以立刻看到电力的有利条件。导管的迅速处理阶段必须预先译码几个16位元的指令,以决定路线程序以及记录哪个译码器的时间。与全程控制线路译码相较,这本来就是低电力。最小化并暂缓控制资讯的扩张有助SC100结构达到低电力消耗。 (图二)
《图二 SC100结构被设计为易于增减执行单元数量》 |
|
结构之可扩充性
处理此四个数位讯号处理器核心的特质即可使单一特质够灵活地符合多方面的应用成效,特别是电力消耗和成本需要。然而,新的结构仍有机会致使一整个群组的执行解决方案配合总体应用空间的需要。此结构当发展为允许相容性世代核心,视其特定应用空间所需之平行处理(效果)或增或减功能性单元。
以StarCore SC100世代核心的第一个完成品SC140为例,拥有四个资料算数逻辑单元来利用数位讯号处理器的平行处理以提供最大效能。于300兆赫的频宽下,SC140提供如多频道基础架构设备所需的DSP功能,每秒12亿(1.2 billion)媒体存取控制。有些客户端(client)的应用物件也是如此。例如,在3G无线手持终端上,数位讯号处理器需处理新功能,如MPEG4影像、MP3音讯、网路电话(VoIP),和JPEG2000静态画面。
可扩充性建构考量
然而,不是每一个等级的应用物件并都要求拥有四个资料算数逻辑单元机械的平行功能,此类物件通常是因应功能性低于高档产品的低成本市场。这相对地代表晶片系统(System-on-Chip, SoC)需要较少的程式总和,自然地,较少的记忆体,致使数位讯号处理器核心成为晶片系统矽质面积的绝大部份。正因如此,缩减执行单元的数量(意即资料算数逻辑单元)有利于缩小核心大小及符合低成本物件之需求。在SC100世代中,SC110,单一资料算数逻辑单元衍生,做到了上述要求。 SC110是SC140指令群组的独有附属群组,并使用同样的程式模型以确保百分之百二进位相容性升级至C140。 SC110和SC140的组合是一个藉由多重核心,不同层次之平行处理的结构以满足整个数位讯号处理器市场之多样需求的一个例证。
执行期微调策略
在DSP核心中间另外一个提供扩充性的机会,是在同样的处理技术范围内,使不同的目标(兆赫、电力消耗,以及/或核心矽范围)达到最佳化,以使核心最适合于末端应用程式。举例而言,对中等的第三代行动电话听筒而言,成效的要求可能落在SC110所提供的300M媒体存取控制以及SC140所提供的1200M媒体存取控制之间。
在这个情形下,于设计合成期间,为使电晶体达到最佳化、电力消耗达到最小和核心的范围变得紧密,而牺牲核心最大兆赫数是有利的,这仍会提供该应用程序所需的成效,但有助于使成本达到最小化,并延长电话电池的使用寿命。以ASIC提供如订制般最佳化的效果,像是推出市场的时间,能细微调整DSP核心以达到特定的成效,电力消耗或成本需求。
这项功能已长期存在于特制设计流程,借以使DSP核心达到最佳化。问题是在使用处理最佳化以扩充数位讯号处理器核心时,推到市场上的时间。典型的设计小组,将一个特制的核心再次最佳化以重新定位,可能需要三到四个月,包括选择新的细胞格以及手工使其达到最佳化。重新定位一个核心的时间,在目前短暂的产品市场生命周期(product market window)内是不被接受的。
定义设计流程
满足这个可扩充性观点的一个方式,是定义一个新设计的方法来「自动化」特制设计流程。 StarCore设计系统(SCDS)即可达到这一点。 SCDS的关键是简化细胞资料库。藉由依强度顺序使用可调整的参数资料库,SCDS减少了特制流程中(原本数以千计的)细胞数量。
这个参数资料库是用自动调节来订做电晶体大小。贯穿整个流程的不同阶段,资料库呈现三种形式。
初期阶段原本很小,即细胞少于一百个,而且没有两个细胞具有相同的功能。
在下一个阶段,参数资料库看起来更像典型标准的细胞资料库。它有数以百计不连接的细胞,因为电晶体指状物(fingers)数量的增减以达到多样化的长度装置,始致驱动强度有所不同。对任何设计或块状(block)而言,前两种形式并不明确,但通常是由制造过程驱动。
在最后阶段中,会在核心依特定例证特制每个细胞,结果是核心中数以千计个细胞。使用 SCDS,设计人员可用两到四个星期的开发周期以重新定位一个核心,视其过程最佳化的时间长短而定。
结语
可扩充式数位讯号处理器核心可藉由编码再利用,符合电力消耗以及成本要求能有助于缩短软体的开发时间和成本。它也有助于原来设备制造商将它们的开发集中在数位讯号处理器结构上,而且有一组工具能支援整个核心群组增加整体的结构相似度。
要让一组工具的投资达到最大化,对所有的应用开发成果提供同样的外观和感觉,以确保最大的使用者利益。这在新兴范围内,像第三代无线行动电话,是特别显而易见的,我们会看到语音专用,数据专用与媒体专用电话,以及高密集度的基地台。
开发一个数位讯号处理器核心结构以符合各阶层的不同需要(从用户/顾客到基础架构/伺服器)是可能的。
擅长于主要核心量化分析、提高应用程式成效、低电力消耗以及紧密的编码密集度是必须弹性提供的诉求。提供减少或增加实用单元的能力,可符合不同的平行处理(成效)需求。在进行特定过程技术期间,能迅速细微调整核心以达到特定应用需求的能力。 (作者任职于Motorola半导体事业部Atlanta Office)