选择嵌入式处理器曾经是一项非常简单的任务。当然,这又回到了“过去”,当时的重点是一组有限的功能,用户界面和连接性并不重要,功耗也不是一个首要问题。在当今的融合处理领域,单个设备可以执行控制、信号处理和应用级任务,因此需要考虑的因素很多(图 1)。虽然处理器选择过程有太多方面需要在此处详细说明,但让我们来看看系统设计人员必须考虑的一些更突出的领域。
图 1:当今的融合处理范例使选择处理器成为比以往更加复杂的决定。
处理器性能
系统设计人员会反射性地将设备的处理速度视为其性能的主要指标。这不是一个糟糕的开始,但它是一个不完整的评估。评估处理器每秒可以执行的指令数量显然很重要,而且评估在每个核心时钟周期内完成的操作数量和计算单元的效率也很重要。使用多核处理器作为极大扩展设备计算能力(尤其是在同质内核的情况下)或明确区分控制处理与信号处理活动(通常使用异构内核)的方式已不再罕见。
硬件加速
当然,这不仅仅是关于处理器内核。为了执行明确指定的功能,硬件加速器几乎总是最省电的方法来执行它旨在加速的功能。在使用加速器方面可以发挥作用的一个方面是它在软件算法中使用的友好程度。对于全算法类型的加速器,例如 H.264 编码器,通常不存在问题,因为它基本上是独立的。然而,对于像 FFT 这样的内核类型的加速器,在更大的算法中使用加速器可能更具挑战性。看看硬件功能如何执行以及它需要如何配置。
带宽要求
带宽估计是一个很容易过度简化的过程,有时会产生不幸的结果。系统中的所有单个数据流必须相加(考虑方向性和时间窗口),以确保内核能够在分配的窗口内完成其数据处理,并且各种处理器总线不会过载,导致数据损坏或系统故障。例如,对于视频解码器,设计人员首先需要考虑读取需要解码的数据。然后,有必要合并创建解码帧序列所需的许多数据传递。这可能涉及内部和外部存储器之间的多个缓冲区传输。最后,设计人员必须考虑到显示缓冲区到输出设备的流式传输。
在考虑了所有数据流之后,需要构建整体系统预算。此预算受多种因素影响,包括 DRAM 访问模式(以及由此导致的性能下降)、内部总线仲裁、内存延迟等。
能源管理
将功耗限制在与临时操作要求相称的水平的能力对于保持电池寿命以及主电源供电系统的总体能源成本至关重要。处理器可以提供多种选项来优化应用程序的电源配置。其中一项功能是动态电源管理——能够调整核心频率和工作电压以满足一定的性能水平。另一个是多种电源模式的可用性,可在特定时间间隔内关闭各种不需要的资源,包括存储器和外围设备。系统唤醒(通过通用 I/O、实时时钟或其他激励)是此电源模式控制的一个组成部分。电源管理的另一个灵活性是内核、I/O 和存储器的多个电压域的存在,
安全需求
在过去几年中,处理器安全性变得越来越重要。无论这样的方案是否是系统的基线要求,在决定最终方向之前,必须从多个有利位置查看安全问题。安全需求通常采取平台保护、IP 安全或数据安全的形式——或三者的某种组合。
需要平台保护来确保在应用程序中只运行经过身份验证的代码。换句话说,是否必须主动阻止“流氓代码”运行?通过“流氓代码”,我们指的是试图访问处理器上受保护信息或“劫持”处理器并获得对更大系统的控制权的程序。平台保护可以通过多种技术实现,在选择时总是需要权衡取舍。与任何权衡一样,随着保护级别的提高,也会产生成本影响。另一个重要的考虑因素是整体安全方案在开发和生产中的易用性。
验证代码的能力对于保护 IP 和数据也至关重要。IP 安全需要一种方法来加密带入处理器执行的代码映像,或者通过嵌入式闪存或无法通过外部机制访问的内部 ROM 将此 IP 存储在处理器内部。需要某种形式的数据安全性来确保数据进出系统而不会受到损害。在某些情况下,特别是在低端微控制器中,安全性可能完全由嵌入式闪存处理,但在高端处理器上,应用程序通过引导加载程序加载,该方案可能更复杂。
安全和容错
在许多应用中,安全显然是主要关注点,例如汽车驾驶员辅助系统或闭环电源控制系统。然而,目前其他不那么明显的应用程序的设计人员开始更加关心提高操作稳健性水平。尤其是处理器内置于较小的硅几何尺寸(例如 28 纳米或 40 纳米)中,其中内存中的软错误可能会因为自然发生的事件(包括 α 和 γ 粒子)而影响操作。在处理器选择过程中,重要的是检查处理器如何处理这些类型的错误,以及它如何响应一般的意外事件。发生错误时可以采取哪些步骤?它如何向其他系统组件发出出现问题的信号?
调试能力
随着应用程序变得越来越复杂,开发过程也变得越来越复杂。当处理器和应用程序子组件的数量呈指数增长时,过去有效的捷径可能不起作用。考虑使用操作系统或实时内核的基于软件的大型系统的系统级调试。处理器及其工具链是否有办法在不影响应用程序的情况下检查处理器状态?是否可以剖析和追踪处理器所在的位置,或者捕获所有感兴趣的事件?在熟悉可用的调试级别之前,应该回答所有这些问题以及更多问题。
系统成本
有时,系统设计人员关注处理器价格标签而不是整体系统设计成本。不仅要考虑设备本身的成本,还要考虑所需的支持电路的成本——电平转换器、接口芯片、胶合逻辑等。此外,封装选项也起着至关重要的作用:一个处理器的封装可能允许四层板设计,而另一个处理器的封装可能需要昂贵的六层或八层板,因为存在布线挑战。最后,不要忽视额外的处理空间的价值,它可以允许未来的可扩展性,而不会导致昂贵的处理器更换或电路板旋转。
信号链
最后一点:处理器选择应与系统信号链要求的研究同步进行。处理器供应商是否也销售连接到处理器的外围设备?从同一个供应商处购买多个系统组件通常是有利的——对于互操作性、客户支持和整体定价优势。
准备好选择处理器了吗?
如前所述,在处理器选择阶段还有许多其他方面需要考虑,但这里描述的注意事项应该为开始这一关键过程提供良好的基础。ADI 公司等供应商提供各种符合所述选择标准的处理器和其他组件。
作者:David Katz,Rick Gentile
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !