0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于微控制器的应用程序性能定位分析

电子设计 来源:郭婷 作者:电子设计 2019-03-11 08:19 次阅读

性能需求直观,特别是在开发嵌入式应用程序时。大多数设计团队面临的挑战是了解性能是多少,这本质上取决于两件事:所需的功能及其实现方式。虽然实现主要是在软件中,但微控制器的部分价值在于外设在接口方面做了很多繁重的工作。然而,操纵这些接口提供的信息会给核心本身带来更大的压力和压力。

更高的性能需要付出代价;但由于微控制器往往是在完善的工艺节点上制造的,因此成本通常用系统级功率来衡量,而不是用元件级美元和美分来衡量。为某一特定应用选择最佳微控制器可以说是有争议的随着最终用户的需求,选择范围和功能深度不断扩大,变得越来越困难。

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系列; MicrochipPIC32系列; 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位架构,除此之外,还有更复杂的微控制器。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6803

    浏览量

    147596
  • 传感器
    +关注

    关注

    2525

    文章

    48043

    浏览量

    739922
  • 集线器
    +关注

    关注

    0

    文章

    334

    浏览量

    39123
收藏 人收藏

    评论

    相关推荐

    HDMI和以太网应用程序,使用什么微控制器微处理

    大家好,我正在处理一个应用程序,我必须从以太网接收文本/字符串数据,然后通过HDMI显示接收到的文本/字符串输出。你们对这个应用程序推荐哪种微控制器/微处理?请不要说Raspberr
    发表于 04-03 09:07

    ST微控制器EMC设计指南

    对更高性能、复杂性和成本降低的持续需求要求半导体行业开发具有高密度设计技术和 更高的时钟频率。这从本质上增加了噪声发射和噪声灵敏度。因此,应用程序开发人员现在必须在 固件设计、PCB布局和系统级。本说明旨在解释ST微控制器的EM
    发表于 10-10 06:58

    在AT32微控制器上创建OTA应用程序的一般准则

    AT32 OTA using the USART提供在AT32微控制器上创建OTA应用程序的一般准则。
    发表于 10-19 07:43

    在AT32微控制器上实现QR Decode应用程序的一般方法

    QR Decode to VirtualComPort提供在AT32微控制器上实现QR Decode应用程序的一般方法。
    发表于 10-19 07:03

    在AT32微控制器上创建IAP by Kermit应用程序的方法

    AT32 IAP by Kermit提供在AT32微控制器上创建IAP by Kermit应用程序的方法。
    发表于 10-24 07:56

    在AT32微控制器上实现基于Zbar解码库的QR Decode应用程序

    本应用笔记的目的是提供在AT32微控制器上实现基于Zbar解码库的QR Decode应用程序的一般方法。
    发表于 10-26 08:07

    在MAXQ8913微控制器中从RAM执行应用程序

    在MAXQ8913微控制器中从RAM执行应用程序 MAXQ8913及其它MAXQ®微控制器采用的Harvard存储器映射架构为用户提供了
    发表于 01-11 17:56 877次阅读
    在MAXQ8913<b class='flag-5'>微控制器</b>中从RAM执行<b class='flag-5'>应用程序</b>

    QTouch Studio6入门:如何添加基于微控制器应用程序

    爱特梅尔的QTouch®,融入爱特梅尔Studio 6中,帮您了解如何轻松添加基于微控制器应用程序触摸功能
    的头像 发表于 07-10 00:06 3153次阅读

    利用矢量硬件如何提高应用程序性能

    本次会议演示了识别和修改代码以利用矢量硬件的过程如何提高应用程序性能
    的头像 发表于 05-31 11:46 1101次阅读

    了解CPI对分析程序性能的意义

    本小节讲述为什么使用 CPI 分析程序性能的意义。如果已经非常了解 CPI 对分析程序性能的意义,可以跳过本小节的阅读。
    的头像 发表于 12-15 10:30 9403次阅读

    LabVIEW应用程序性能瓶颈的解决

    了解如何识别和解决LabVIEW应用程序中的性能瓶颈。使用内置工具和VI分析器,您可以监视VIs的内存使用情况和执行时间,以确定导致应用程序性能下降的代码部分。
    发表于 03-29 14:03 8次下载
    LabVIEW<b class='flag-5'>应用程序</b>中<b class='flag-5'>性能</b>瓶颈的解决

    如何使用NYASM微控制器应用程序

    这份文件主要介绍如何使用NYASM来开发九齐科技的微控制器应用程序
    发表于 06-15 16:13 3次下载
    如何使用NYASM<b class='flag-5'>微控制器</b><b class='flag-5'>应用程序</b>

    通过32Gb/S光纤通道提高应用程序性能

    电子发烧友网站提供《通过32Gb/S光纤通道提高应用程序性能.pdf》资料免费下载
    发表于 07-29 09:56 0次下载
    通过32Gb/S光纤通道提高<b class='flag-5'>应用程序性能</b>

    使用Brocade Gen 7 SAN确保应用程序性能和可靠性

    电子发烧友网站提供《使用Brocade Gen 7 SAN确保应用程序性能和可靠性.pdf》资料免费下载
    发表于 09-01 10:51 0次下载
    使用Brocade Gen 7 SAN确保<b class='flag-5'>应用程序性能</b>和可靠性

    PGO到底是什么?PGO如何提高应用程序性能呢?

    PGO到底是什么?PGO如何提高应用程序性能呢? PGO,全称为Profile Guided Optimization,译为“基于特征优化”的技术,是一种通过利用应用程序的运行特征数据来优化性能
    的头像 发表于 10-26 17:37 1507次阅读