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

2008-7-28 11:28 5194 11 13 分类: MCU/ 嵌入式

自从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)
MCUSTM32F103VBLPC2132
Speed72MHz(8MHz*9)55.296MHz(11.0592MHz*5)
Flash128KB64KB
RAM20KB16KB
指令集Thumb-2(32位)ARMv4(32位)、Thumb(16位)
开发环境IAR for ARM v4.42Keil for ARM v3.05

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


测试结果:



MCU Type32位整数运算性能(次/s)CPU clock(MHz)平均运算效能/MHz
加法减法乘法除法
STM32F103VB21818402181840218184020000407229672.08333
LPC2132149452014945201494520157992055.29627413.73698

点击看大图e2b1a185-70fc-49ea-a1f5-a1dafb1905b2.JPG


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


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

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户412121 2008-8-27 08:22

其實,這隻是一個粗略的比較。 主要是想活躍一下論壇的技術研究氣氛,開拓一下大傢的思路,起個拋磚引玉的作用吧:)

用户146369 2008-7-29 10:30

做个小记号 呵呵
相关推荐阅读
用户412121 2015-09-11 09:59
我今年的作品:智能家居物联网实验板(STM32+ESP8266)
去年就开始关注物联网和智能家居了。一开始看到不少用路由器方案做的智能插座,感觉太浪费芯片资源了。直到有一天无意中看到了ESP8266,感觉这是一个适合单片机的wifi解决方案,应该可以做不少好玩的...
用户412121 2013-10-29 11:41
STM32迷你核心板运行ST emWin + FreeRTOS成功
新板子做好后受到了很多人的关注, 比如板上有哪些资源,有哪些例程等等。有的人还会问是否能外接LCD等等,对于我这些,我的板子都预留了接口肯定是没有问题的。但是口说无凭还是实实在在 的测一次才能令人信服...
用户412121 2013-10-15 14:11
新版STM32迷你核心板做好了
之前也跟大家多多少少介绍过了,这次做的新版就是对前一版不满意地方的小修补(比如印字,焊盘尺寸等等),另外对外扩IO做了微调,可以保证F407的每 种外设都可以扩展(之前是按照F103设计的兼容407但...
用户412121 2013-09-22 22:58
在STM32上运行FreeRTOS操作系统(基于STM32 V3.5.0固件库)
很久以前就想实用FreeRTOS了,优点就不必说了,网上可以搜到一大堆它和ucos-ii以及其他几种嵌入式操作系统的比较。最重要的一点它是免费的,不想ucos那样商业使用需要收费。只是之前本人比较忙而...
用户412121 2013-08-13 11:00
华美A5无线3G路由器升级内存,flash,刷openwrt成功
Hame A5(华美A5)号称最小的3G无线路由器,可惜只有16M SDRAM, 4M FLASH虽然理论上可以刷openwrt,但是限于硬件资源太少运行起来很卡,到最后几乎死机。 于是我尝试给...
用户412121 2013-05-08 17:29
我的STM32核心板升级到F4了(目前可以运行u-boot)
年初做的这个可以跑uCLinux的STM32核心板用的是STM32F103ZET6(http://bbs.ednchina.com/BLOG_ARTICLE_3010701.HTM),当时已经考虑...
EE直播间
更多
我要评论
2
11
关闭 站长推荐上一条 /3 下一条