页面加载中,请稍候
来源:新电子发布时间:2017-10-06146浏览
询问 AI在一般微控制器市场,效能量测数据通常用来衡量各款微控制器的效能。 表1列出Cortex-M处理器在执行各种常用量测程序的效能。
Dhrystone方面有一点必须注意,就是编译的程序代码里没有内嵌函式,也没有多档编译(官方公布的测分数据)。 然而,许多微控制器厂商发表的Dhrystone数据则启用完全优化。
不过,效能量测程序的评测结果,可能无法准确预测在实际应用中的效能表现。 举例来说,单周期I/O接口的效应,以及在DSP应用中使用SIMD进行加速,或是在Cortex-M4/M7中使用FPU,这些方法产生的效应都不会在量测数据中显现。
一般来说,Cortex-M3与Cortex-M4提供较高的数据处理效能,这是因为其具有更丰富的指令集功能、Harvard总线架构、写入缓冲区(单周期写入作业)、推测撷取分支目标。
Cortex-M33亦采用Harvard总线架构,并拥有阵容齐备的指令集。 但不同于Cortex-M3与Cortex-M4,Cortex-M33处理器拥有一个重新设计的高效率管线,能支持有限的双指令发送功能(在同一个频率周期内能执行两个指令)
Cortex-M7处理器则提供更高的效能,因为它具备六阶双发管线,并支持分支预测功能。 另外,它还能促成更高的系统层级效能,因为除了提供指令与数据快取,还具备紧密耦合内存,即使主存储器速度过慢(像是焊在机板上的闪存),也能避免效能被拖累。
不过,有一些I/O密集作业,在Cortex-M0+处理器上能发挥更快的速度,这是因为其具较短的管线(仅须两个周期就能处理分支)、单周期I/O接口,另外还有组件方面的因素。 例如像系统层级设计和内存速度等,都会影响到系统的效能。
大多数的情况中,自己的程序代码就是最好的效能量测程序。 某款处理器在CoreMark测得的分数比其他处理器高出一倍,在跑自己的程序时不一定就会发挥两倍的效能。 在执行I/O密集作业的应用中,系统层级架构会对效能产生极大的影响,实际程度和组件有直接关联。
零等待状态内存系统缩短中断延迟
效能的另一个层面就是中断延迟。 一般衡量的标准是从中断要求判定起,一直到中断服务例程中执行第一个指令为止,两点之间经历的周期数量就是中断延迟。 表2列出各种情境的中断延迟,这些情境都有零等待状态内存系统。
在实务上,实际的中断延迟会受到内存系统的等待状态所影响。 例如,许多微控制器的运行频率超过100MHz,但搭配的闪存速度较慢(像是30到50MHz)。 虽然可用快闪存取加速硬件来改进效能,但中断延迟仍会受到闪存的等待状态所影响。 因此,使用零等待状态内存系统的Cortex-M0/M0+,其中断延迟很可能会比Cortex-M3/M4/M7系统来得短。
在评估效能时,别忘了也要考虑中断处理器(Interrupt Handler)。 有些8位或16位处理器架构,虽然其中断延迟非常低,但却得花多上几倍的频率周期才能处理完中断请求,整体的结果就是不但中断响应时间慢了许多,连中断处理带宽也会比较低。
虽说Cortex-M处理器装入为数众多的功能,但它们却很容易使用。 举例来说,几乎所有功能都可以用像是C这类高级语言进行编程。 虽然各款搭载Cortex-M处理器的产品彼此之间存在颇大的差异(像是配备不同容量的内存、外围、效能、封装规格等),但由于架构的一致性,因此一旦有使用其中一款处理器的经验,日后采用新款Cortex-M处理器就很容易上手。
为让软件开发更为简单,以及提高软件的可重复使用性及可移植性,ARM开发CMSIS-CORE,其中的CMSIS代表Cortex微控制器软件接口标准。 而CMSIS-CORE则提供标准化硬件抽象层(HAL),让用户能使用整套API来存取处理器中像是中断管理控制等功能。 CMSIS-CORE除了已整合到各家微控制器厂商提供的组件驱动程序函式库,还获得众多编译程序套件的支持。
除CMSIS-CORE外,CMSIS还内含一个DSP软件函式库(CMSIS-DSP)。 它不仅提供各种DSP函式库,且针对Cortex-M4与Cortex-M7处理器进行优化,并支持其他Cortex-M处理器。 CMSIS-CORE与CMSIS-DSP都免费使用,可至GitHub网站(CMSIS 4与CMSIS 5)下载,同时还获得多家工具厂商的支持。
CMSIS API可用性高 32位处理器架构受青睐
对于大多数微控制器用户,挑选微控制器的标准大多取决于成本以及能取得的周边。 不过许多芯片开发商用户则会针对下一款芯片产品挑选适合的处理器,那么关注的焦点就应放在处理器本身。
很明显的,在这类情境中,效能、芯片尺寸、功耗、以及成本会是最关键的因素。 此外,其他许多因素也必须纳入考虑。 例如,如果正在开发一款联网产品,那就该考虑配备TrustZone安全延伸以及内存保护单元(MPU)的处理器,即可利用TrustZone保护关键的安全功能,并在非优先状态下执行某些作业,以及使用MPU来保护内存空间。
另一方面,如果须要以某种方式检验产品,那么在包括Cortex-M23、Cortex-M33、Cortex-M3、Cortex-M4、以及Cortex-M7上透过ETM产生的指令追踪功能,对于程序代码覆盖率检验会很有帮助。
跨到芯片设计频谱的另一头,如果正着手设计一款小型传感器,使用自行发电的能源,那么Cortex-M23与Cortex-M0+处理器会是最好的选择,因为它们不仅极为小巧,还具备尖端的功耗优化设计。
采用ARM Cortex-M处理器其中一项关键优势,就是组件、工具、中间件等方面都有众多厂商广泛支持。 目前已累积超过15家微控制器厂商针对ARM Cortex-M处理器推出微控制器产品;超过10款开发工具包支持Cortex-M处理器;超过40家操作系统厂商推出支持Cortex-M的操作系统。 阵容如此坚强的产业体系带来多元的选择,让针对锁定的应用得以搭配出最佳的组件、工具、以及中间件的组合。
一边是效能/功能,另一边是硅组件尺吋与功率,业界在这两个相互矛盾的两极之间总是要取一个适合的平衡点。 因此,ARM针对不同等级的指令集功能、效能、系统与除错功能,着手研发各式各样的Cortex-M处理器。
虽然存在许多差异,但架构的一致性加上CMSIS-CORE内含的标准化API,使得软件更具可移植性和可重复使用性。 此外,Cortex-M处理器也非常容易使用。 因此,Cortex-M迅速成为微控制器市场最受欢迎的32位处理器架构。
新闻来源:新电子,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
暂无评论哦,快来评论一下吧!
1 天前

2026-07-08