性能需求直观,特别是在开发嵌入式应用程序时。大多数设计团队面临的挑战是了解性能是多少,这本质上取决于两件事:所需的功能及其实现方式。虽然实现主要是在软件中,但微控制器的部分价值在于外设在接口方面做了很多繁重的工作。然而,操纵这些接口提供的信息会给核心本身带来更大的压力和压力。
更高的性能需要付出代价;但由于微控制器往往是在完善的工艺节点上制造的,因此成本通常用系统级功率来衡量,而不是用元件级美元和美分来衡量。为某一特定应用选择最佳微控制器可以说是有争议的随着最终用户的需求,选择范围和功能深度不断扩大,变得越来越困难。
MCU应用的发展
领先的半导体供应商在过去十年中面临着一段时间的采用或因此,提供基于32位处理核心的全面MCU组合。虽然ARM®的Cortex™-M系列在这个领域流行,但它并不是唯一的选择,并且仍然存在多种专有架构。也许其中最突出的是来自瑞萨的SuperH家族。值得注意的是,虽然瑞萨和其他公司也采用ARM架构来生产互补的32位系列,但它们仍然提供8位和16位MCU,预计需求将持续数年。 》部分需求来自特定细分市场;包括那些提到的许多设备制造商已将电机控制确定为跨越工业控制和汽车市场的重要水平部分。因此,许多仍然运行专有核心的MCU专注于这些市场,而那些具有更通用ARM架构的MCU则针对具有不同基本要求的领域,包括物联网和M2M。
在这十年中采用这些相同的供应商时,他们对现实世界对于成熟的8位和16位器件的更昂贵和复杂的32位替代品的需求持怀疑态度。虽然这些批评是有根据的,但随着时间的推移,成本主题在很大程度上受到了规模经济和流程成熟的侵蚀。可以说,复杂性的主题仍然存在。但是,最终应用程序的复杂性上升总是合理的,这主要是由于通信。嵌入式设备随着更高级别的连接性的发展而发展,因此现在任何电子设备都不能以某种方式与外界进行通信。当今高级通信的地方特性,无论是有线还是无线,通常涉及标准化协议,以便提供互操作性和物理接口。根据通信接口的拓扑结构,这可能相对复杂,因此需要更高的处理能力才能执行。
当然,更大的连接性并不是嵌入式设备在过去十年左右的唯一演变。通过连接,可以在更大的系统中发挥更大的作用,鼓励开发人员将更多功能集成到更小的外形,功率包络和财务预算中。通信占据了相对较大比例的可用处理能力,这导致了对功能更强大的设备的需求,半导体供应商通过采用更大,更复杂的处理器内核来应对这种需求。
测量性能
不幸的是,评估“标准”函数(如运行协议栈)所需的性能量是完全主观的。最终,它在很大程度上取决于核心,子系统和编译器。由于这个原因,相对适中的8位器件可能能够执行代码,但是接受更宽指令的流水线,通常允许多个指令同时执行,或者需要更少的时钟周期来执行,可以显着加快执行速度。 br》当考虑上述特征时,通过应用较少使用这些特征的算法,可以评估“原始”性能。这通常是行业基准的目标,例如EEMBC的CoreMark。这个简单的C代码库的目标是提供读/写,整数和控制操作的真实混合,这些操作更多地依赖于核心的基本元素,并且不能通过编译器优化轻易地消除。
基准测试给出了单个品质因数,但它可以用时钟速度表示,提供另一个标准化水平。选择通过相对较窄的窗口(2.51至3.00 CoreMark/MHz)过滤结果显示了一系列32位设备,包括瑞萨的RX600系列; Microchip的PIC32系列; STM32来自意法半导体;飞思卡尔的Kinetis K系列; Atmel的SAM3和SAM4系列;图1:瑞萨的RX600 32位MCU系列实现了CMOS摄像头接口。
EEMBC建议CoreMark基准测试比其他产品更准确,如图1所示:来自瑞萨科技的OMAP35x。因为它是所有设备的标准,并且强烈关注核心架构。
8位和16位器件的架构将始终难以在核心级别与32位同类产品竞争,原因在于它们相应地相应吞吐量较低;在大数字上执行的算术函数在仅有8位的ALU中总是需要更长的时间。然而,许多制造商已经竭尽全力延长这些设备的使用寿命,主要是因为它们仍能满足客户的要求,而不会增加复杂性或不必要的性能。
图2:STM32 -L系列使用Cortex-M3来瞄准超低功耗应用。
这通常通过对核心架构的创新扩展来实现,同时保留指令集。这方面的一个例子来自Silicon Labs,其基于8051的设备如C8051F12x。 SiLabs实施了一种“硬连线”8051指令集架构,可提高性能,同时保持与原始微编码版本的目标代码兼容性。使用两级流水线可提高吞吐量,保留8位程序存储器宽度,但大多数指令可在1或2个时钟周期内执行。 SiLabs表示,它的性能是原始8051内核的20到25倍,峰值吞吐量高达100 MIPS。同样,Atmel的AT89LP系列是8051兼容系列,该公司声称可以提供高达12倍于‘vanilla’8051设备的性能。 Atmel专有的8位架构AVR为包括ATmega128在内的器件供电,可提供真正的单时钟周期执行,并提供1 MIPS/MHz。根据EEMBC的结果,运行频率为2 MHz的ATmega1281的CoreMark/MHz数值为0.18,当编译器配置为优化代码大小时,其数值上升至0.44。这与某些32位设备相当,并说明了性能如何依赖于应用程序向上移动总线宽度
由于性能在很大程度上依赖于总线体系结构,因此在沿性能曲线迁移时保持代码兼容性可能会在较低级别上具有挑战性。正如Silicon Labs和Atmel所证明的那样,重新实现指令集以提供更高的性能可以克服这一挑战,但随着对性能的需求不断加快,传统指令集将不太可能满足这种需求。 br》投资专有架构可提供更大的性能扩展空间,同时保持软件兼容性;例如,德州仪器(TI)的MSP430系列基于16位RISC内核。该系列涵盖九个不同的系列,从低电压和超值系列到FRAM和RF SoC系列。这种广度提供了各种性能点,通过每个器件提供的集成度,外设集和时钟频率提供。
虽然低级代码兼容性主要取决于架构,但高级兼容性更简单,主要是由于普遍性C和C编译器的可用性。软件复杂性的本质意味着今天大多数MCU使用C编程为高级,而不是使用低级(汇编)语言。
图3:MSP430价值线目标是低成本,同时提供更高性能的迁移路径。
虽然仍然存在特定于体系结构的依赖关系,但这样可以更大的自由来定位同一个系列的不同成员甚至是完全不同的系列。当然,这也是ARM的Cortex-M系列被大量设备制造商成功采用的另一个原因。这得益于ARM和设备制造商提供的软件开发环境和库。其不断发展的生态系统也使供应商和开发商受益。
图4:Atmel的SAM4L系列将Cortex-M4的更高性能与Atmel的微电源技术相结合。需求
对更高性能的持续需求意味着设备制造商现在在单个设备上集成了更多功能。虽然仍在不断涌现,但它采用的是异构和同构的多核MCU,其中多个相同的内核或多个但不相似的内核集成在一个设备中。
虽然这在针对移动电话领域的特定应用SoC中并不少见,但在通用设备中却不常见。然而,许多设备制造商认为,在物联网(IoT)的推动下,它将变得更加普遍。物联网还将促进“智能”传感器的更大部署,每个传感器都可能具有高性能,32位嵌入式MCU。反过来,这些将与传感器集线器进行通信(最有可能是无线传输),传感器集线器将具有更高性能的处理器,能够连接和控制传感器网络。
随着这一趋势的持续,预计需求也将推动性能进一步提高,最终达到了64位内核的MCU成为常态。
结论
性能是主观的;许多应用程序仍然只需要简单的控制,有限的连接,没有“硬实时”要求。然而,随着世界变得更加紧密,更复杂的通信协议所强加的要求将继续提高性能标准。今天,一些8位和许多16位器件能够满足这种需求,而32位器件提供了巨大的空间。
今天,这个空间可能是许多应用无法承受的奢侈品;成本优化仍将指向更简单的设备。虽然通信协议不太可能“突然”变得更加计算密集,但最终应用程序在复杂性方面处于不可阻挡的上升曲线,这将迅速消耗当前可用的任何处理空间。
所有这些都指向更广泛地采用32位架构,除此之外,还有更复杂的微控制器。
全部0条评论
快来发表一下你的评论吧 !