单片机
返回首页

Cortex-M3与ARM7TDMI-S内核运算性能比较

2021-01-11 来源:eefocus

自从STM32推出后,我对它很感兴趣,由于它采用了ARM的Cortex-M3内核,所以很想了解一下其性能和ARM7相比究竟如何?很巧的机会知道了EDNCHINA,参加了EDN这次的团购活动,我得到了一块STM32开发板,使得我有机会测试一下这2种内核CPU的性能。


在测试之前先简单测试的2个平台,编译环境和测试方法。


Cortex-M3:ARM公司为要求高性能(1.25 Dhrystone MIPS/MHz)、低成本、低功耗的嵌入式应用专门设计的内核。Cortex-M3内核主打存储器和处理器的尺寸对产品成本影响极大的各种应用市场,是针对这些市场的低成本需求,专门开发设计的微处理器内核。Cortex-M3内核增强了芯片上集成的各种功能,包括把中断之间延迟降到6个CPU周期的嵌套向量中断控制器、允许在每一个写操作中修改单个数据位的独立位操作、分支指令预测、单周期乘法、硬件除法和高效的Thumb 2指令集,这些改良技术使Cortex-M3内核具有优异的性能、代码密度、实时性和低功耗。


ARM7TDMI-S:也是ARM公司的高性能(0.95 Dhrystone MIPS/MHz),低功耗的嵌入式应用CPU内核。该CPU内核带有实时调试接口,包含JTAG和嵌入式跟踪。能够执行32位ARM和16位Thumb指令。可以针对性能或代码大小,优化应用。当内核在Thumb状态下执行指令时,它可将代码规模降低超过30%,性能的损失却很小;而在ARM状态下执行指令时,内核的性能达到最大化。


测试平台对比:

平台1-STM3210FK(Cortex-M3) 平台2-EasyARM2132(ARM7TDMI-S) MCU STM32F103VB LPC2132 Speed 72MHz(8MHz*9) 55.296MHz(11.0592MHz*5) Flash 128KB 64KB RAM 20KB 16KB 指令集 Thumb-2(32位) ARMv4(32位)、Thumb(16位) 开发环境 IAR for ARM v4.42 Keil for ARM v3.05



测试方法:设置25ms定时(各自通过片内定时器实现),在这段时间内分别计算32位加/减/乘/除法,然后统计运算次数打印到串口输出。运算次数越多性能越高。编译时,去掉各种优化(平台1使用Thumb-2,平台2使用ARM v4)。编译后,程序下载到MCU的RAM中执行,避免Flash速度的不足对测试成绩造成的影响。


测试结果:

MCU Type 32位整数运算性能(次/s) CPU clock(MHz) 平均运算效能/MHz 加法 减法 乘法 除法 STM32F103VB 2181840 2181840 2181840 2000040 72 29672.08333 LPC2132 1494520 1494520 1494520 1579920 55.296 27413.73698




可以看到,由于主频的优势,STM32在4项运算测试中性能始终领先于LPC2132(也是预料中的)。去掉频率的差异,比较每MHz的性能,在实际应用中Cortex-M3内核对于ARM7还是有提高的(~10%)。


这个测试不一定能够覆盖到CPU测试的各个方面,只是对运算速度的粗略评估,以便让大家对ARM内核性能有一个感性认识。有兴趣的话,同样的测试程序可以移植到其他平台的处理器上,看看不同架构CPU之间的性能高低。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 简洁的过零调功器电路设计与分析

  • 单稳态控制电路设计与分析

  • 光控电路设计与分析

  • 永不缺相启动运行的电动机控制电路

  • 开关电源的基本组成及工作原理

  • MT3608构成3.7V转12V的升压电路图

    相关电子头条文章