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

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

3天内不再提示

现实标准和32位MCU

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-08-07 17:01 次阅读

当为下一代控制应用选择32位MCU时,必须考虑一点,就是面对某一实际的应用,不同供应商的处理器虽然在数据手册上看起来或多或少有些相似,但实际上是非常不同的。虽然数据手册中的规范和Dhrystone(处理器整型数计算能力)MIPS处理能力给出了一个粗略的评估标准,但必须考虑得更深入以保证MCU有足够的吞吐量和过载余量来满足当前和未来的应用需求。


运行编译EEMBC汽车标准代码的测试结果显示:看起来类似的三款MCU实际性能差别很大

例如,价格低廉、基于ARM的MCU一般具有很多资源,虽然它们中的许多是基于相同的CPU核,通常是没有高速缓存的ARM7TDMI处理器,但不同供应商的产品整体性能差别非常大。这主要是由于实现片上存储子系统、片上总线结构和I/O功能所采用的方法不同。因此,为了确定哪一款处理器最有价值,就必须考察整个处理器子系统。

实时嵌入式应用

当在实时嵌入式应用中使用MCU时,MCU必须对所有操作做出确定性的响应,以保证任务在被分配的时间内完成,响应延迟对于实时系统来说也必须很短。为了达到这个目标,MCU必须具有有效的硬件中断管理子系统,用于处理优先
权、向量和返回机制。此外,存储子系统不应该成为处理器的制约,它应该能够及时的向处理器提供指令和数据,以实现在指令执行流中插入最少的等待状态。处理器也应该有一个有效的上下文切换机制,来保证当中断改变指令流时损失的时间最短。内部系统总线应该有确定的响应时间,用于支持对时间要求严格的操作。

基于ARM的众多MCU提供了针对不同系统解决方案的广泛选择,这些方案的区别在于时钟速率、集成外设、高容量闪存和静态RAM等。由于内部存储子系统和系统总线效率,以及CPU对片上设备操作处理程度的差别,即使在相同时钟频率下,MCU的性能也存在着极大的差别。影响性能的一个关键问题就是片上闪存的访问时间过长。

现实标准

为了更好地评估处理器的性能,一些现实标准已经开发出来了,例如由EEMBC(嵌入式微处理器基准联盟),一个独立的非营利组织正在开发的标准,可以对各种外部看起来相似的MCU之间的差别进行更深入的分析。

EEMBC在开发其评估标准套件时也面临了巨大的挑战。首先面对的就是开发测试软件,它用于产生在一个应用中能够代表实际性能的结果。这就表示要抛弃Dhrystone MIPS这一普遍采用的方法,该方法支持创建针对应用的测试,用于测试在汽车、网络、电信、娱乐,以及其他嵌入式系统中处理器的工作。第二个挑战就是起草标准,它需能够非常容易地移植到使用不同处理器的各种开发板中,并且在这些开发板中都能够正常地运行,以评估每个MCU或MPU的性能。

逐个比较的理想基础是每个MCU周围的硬件环境都尽可能地一致,并使用同样的编译器。最近,采用EEMBC系列汽车/工业标准,在同样的条件下测试ARM MCU的比例正在上升。

三款MCU进行测试的结果数据显示其吞吐率存在极大的差别,如图所示。在比较过程中,结果数据根据它们的工作频率进行了归一化处理,并且所有的软件都是在片外闪存中运行的。比较的结果表明:基于ARM的MCU普遍具有很好的性能,部分的性能差别在于MCU中实现片上闪存接口的优化方法不同。

改善CPU指令执行的吞吐量

由于闪存的访问时间通常是CPU时钟周期的3~4倍,找到一种从存储器中快速传输数据,而不需要在昂贵的片内RAM中映射数据的方法,会极大地改善执行的吞吐量。对于测试结果中最快的那颗MCU,设计者通过展宽存储器数据总线到128位,以允许4个32位字在一个周期中被传输到数据锁存器,然后再传输到预取缓冲,从而解决了速度不匹配的问题。

由于CPU使用缓冲中的数据,当它执行第4个字时,另一个128位的字就被传输到了锁存器中,而同时该第4个字被移出了缓冲,锁存器中的新字也被传输到了缓冲。只要发起一个对闪存的数据读访问(装入操作),辅助的支持电路就建立一个数据通路将128位数据存储在缓冲中。这允许代码获取的历史被保留,从而避免了需要重新获取4个指令字的情况。

如果一个存储器阵列(bank)可以在存储器访问中极大地提高速率,那么设置两个存储器阵列会怎样呢?通过采用锁存器将存储器分成两个阵列的结构,对于每个阵列所有的支持逻辑都相同,并可以具有两倍的指令历史,短循环就可以在所有的锁存器中被完整捕获,循环的执行得以加速。另外一点,双阵列也可以对嵌套循环和寻找分支目标地址提供更好的支持。

内部总线支持

正如EEMBC的标准测试所揭示的那样,CPU吞吐量只是衡量高性能的指标之一。对集成外设功能提供支持的MCU内部总线也可能有很大的不同。内部总线通常被连接到总线上的慢速设备所拖累,因此,更高速设备的数据传输就受到了限制。然而,通过采用总线分离的方法,将高速设备(例如10/100Mb/s以太网控制器或高速DMA控制器)连接到一段总线,而将低速设备(串行端口定时器、脉宽调制器等)连接到另一段总线,就可以使每组设备发挥最好的性能。通过在芯片内建立分层的总线,CPU可以具有对片上RAM和闪存进行无约束访问的局部总线。这就避免了CPU发出不必要的总线仲裁、总线批准延迟,以及总线等待状态等,从而改善了整体性能。

对于要求高性能的功能,如向量式中断控制器、以太网控制器、DMA控制器等,ARM高速总线(AHB)提供了对CPU的快速接口。慢速设备可以连接到ARM设备总线(APB)上,而且可以桥接到AHB,以使数据和指令从CPU和存储器不被影响地传输到低速总线。

当CPU增加更多的片上资源时,对这种分层总线结构的需求就更高。在许多实时控制应用中,采用单一总线拓扑结构的处理器无法获得有效的高性能I/O支持。大量的集成外设也增加了CPU的工作量,CPU必须持续处理中断和响应所有的外设操作。通过使用高性能、向量式中断控制器,许多过量的操作会得到卸载,从而缩短了CPU的响应时间。EEMBC正在探索一种通用的方法,测试MCU的集成外设并开发检测处理器运行情况的标准。

审核编辑:汤梓红

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

    关注

    68

    文章

    19170

    浏览量

    229182
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17008

    浏览量

    350349
  • 嵌入式
    +关注

    关注

    5069

    文章

    19023

    浏览量

    303445
收藏 人收藏

    评论

    相关推荐

    低价32MCU大军压境,8ASIC MCU看涨

    面对近期入门级32微控制器(MCU)步步进逼,8MCU供应商除持续开发特定应用标准产品(ASSP)M
    发表于 07-17 10:45 2403次阅读

    8或32MCU究竟该怎么选

    正如汽车代替了马车,电子邮件代替了普通邮件一样,32元微控制器(MCU)让8MCU变得黯然失色。尽管未来8
    发表于 06-01 10:12 2261次阅读

    关于现实标准和32MCU的知识点,看完你就懂了

    关于现实标准和32MCU的知识点,看完你就懂了
    发表于 04-26 06:32

    8MCU升级至32MCU的设计方案

    8MCU升级至32MCU的设计方案 目前的MCU市场分为三个部分, 8、16
    发表于 03-17 15:03 42次下载

    8MCU如何升级至32MCU

    8MCU如何升级至32MCU   目前的MCU市场分为三个部分, 8、16
    发表于 04-16 14:19 2522次阅读
    8<b class='flag-5'>位</b><b class='flag-5'>MCU</b>如何升级至32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>

    MCU的8、16与ARM 32之战

    MCU的8、16与ARM 32之战
    发表于 01-12 22:20 17次下载

    随着32MCU的崛起,8MCU或将消亡

    似乎伴随着16、32MCU的崛起,关于8MCU消亡的言论就从来没有消停过。但事实是,8
    发表于 10-28 11:12 1651次阅读

    32MCU异军突起 8MCU何去何从

    根据市调机构的分析数据指出,近年来尽管32MCU异军突起,然而8MCU每年依然占有全球MCU市场的35%以上市占率。
    的头像 发表于 01-07 16:09 1.1w次阅读

    8MCU和32MCU的使用案例资料下载

    电子发烧友网为你提供8MCU和32MCU的使用案例资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮
    发表于 04-22 08:43 21次下载
    8<b class='flag-5'>位</b><b class='flag-5'>MCU</b>和32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>的使用案例资料下载

    32怎么将mcu内的代码擦除_8和32MCU该如何选择?

    该如何对8以及32MCU进行选择?8和32MCU在功能上仍是互为辅助、各有千秋,这其中
    发表于 10-28 17:06 2次下载
    32怎么将<b class='flag-5'>mcu</b>内的代码擦除_8<b class='flag-5'>位</b>和32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>该如何选择?

    8和32MCU该如何选择?

    本文对比了8MCU和32MCU的使用案例,也可作为如何选择这两种MCU架构的指南使用。
    发表于 02-08 16:26 1次下载
    8<b class='flag-5'>位</b>和32<b class='flag-5'>位</b><b class='flag-5'>MCU</b>该如何选择?

    32MCU“大展身手”,16MCU会逐渐消亡吗?

    在32MCU持续降价加上8MUC简单耐用的进攻下,16MCU市场城池失守、节节败退,成为了出货比例最低的产品,甚至有很多企业在规划中直
    发表于 02-13 10:52 850次阅读

    8与32MCU如何选择?

    从发展趋势观察,4与16MCU芯片使用案例愈来愈少,目前市场上较活跃的是8及32MCU
    发表于 03-07 18:04 1098次阅读

    国产32mcu有哪些 32mcu是什么意思 8mcu和32mcu的区别

    32MCU是一种使用32架构的微控制器单元,其中“MCU”是微控制器的缩写。32指的是CPU的数据
    发表于 04-01 16:55 7402次阅读

    8MCU的情形如何

    近年来,随着工艺与IP的逐渐成熟,32MCU增长迅速,风头之劲乃至16MCU基本上被跳过了。现在说嵌入式MCU,要么就是8
    的头像 发表于 08-07 16:05 578次阅读