基于STC89C52RC单片机控制的智能听障助理系统
扫描二维码
随时随地手机看文章
带有多个处理单元的soc器件目前是产品设计链上的重要一环。本文综合各种因素评估了不同处理单元的优缺点,并通过卫星无线电接收器的设计实例帮助开发人员理解soc所涉及处理任务之间的复杂平衡并有效掌握系统功能的划分。
在准备开发目前越来越复杂的便携式系统时,设计人员面对的最大挑战之一就是采用什么样的处理器组合来实现最优化的“3p”指标,即系统性能最高、价格最低及功耗最小。系统级芯片(soc)集成使得今日的创新成为可能,但它常常涉及把不同的处理器单元结合在单一的器件之上。这些单元可以包括可编程功能,如通用微处理器(通常是risc)、dsp、fpga和加速器,而且还可能有固定功能的加速器。由于这些单元都可以专用器件形式获得,因此对设计人员来说,在它们之中进行全面的性能评估,进而决定以最有效的方式组合使用它们,有可能是一项相当困难的工作。
处理单元的优缺点分析
;在实现多内核处理器之前,在risc和dsp之间进行挑选曾相对较为简单。如果大量的系统处理工作和数据有关,那么采用risc,即使信号处理会受些损失。如果大量的处理工作和信号有关,那么采用dsp,并力争获得差强人意的控制和数据处理性能。但对多内核集成而言,考虑到要添加其它处理单元,这类选择变得非常复杂。正确的答案不完全是技术性的,而是要基于优化灵活性、便于使用、成本、功耗和性能多方面来考虑。
各种处理单元的基本优点和缺点概括在表1之中。通用risc处理器专为数据处理而优化,很容易使用而且很灵活,其成本、功耗和性能都可接受。dsp为实时信号而优化,它们处理实时信号所需的功耗和成本通常比risc低,不过,它们常常更难使用。
表1 处理器单元优缺点对比
可编程加速器或半可编程处理器可设计用来数据或信号处理。一个例子就是用于通信系统的viterbi处理器,对viterbi编码或解码来说它是完全可编程的,但对任何其它功能来说毫无用处。就其功能而言,一个可编程加速器的成本、功耗总是比risc或dsp要低,而性能要高,但从本质上讲,它稍欠灵活、更难使用,而且对缺陷(bug)的容忍度低,不容易更改。
用于数据或信号处理的固定功能加速器(一般为asic)只能完成一种特定的功能。固定功能加速器总是一种成本最低、功耗最低、性能最高的解决方案,但它们缺少任何程度的灵活性。一旦asic设计出来并调试通过,到了系统开发人员手里,它会变得非常易用。但是其设计和调试与可编程器件相比非常困难,而且以后不可能进行再编程。
划分系统处理功能
尽管在各种处理单元之中做决定是一件复杂的工作,但有一个可行的选择程序,就是把各种系统功能划分到各种处理单元之中。把一个系统的处理需求映射到一个现有的多内核soc之中,与通过映射处理需求创建一个新多内核soc有所不同。然而,其过程是类似的。