智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2673|回复: 9
打印 上一主题 下一主题

[分享] 32位单片机各种整型数据运算测试结果

[复制链接]

34

主题

500

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3183

推广达人奖章优秀会员奖章活跃会员奖章

威望
2298
贡献
257
兑换币
597
注册时间
2011-10-2
在线时间
314 小时
跳转到指定楼层
1#
发表于 2013-6-7 08:51:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
测试了一下32位单片机对于8位、16位及32位整型数据的运算速度,测试单片机为coldfire MCF52255 @48MHz。希望对大家有用。

[tr] [/tr]
[tr] [/tr]
[tr] [/tr]
[tr] [/tr]
[tr] [/tr]
[tr] [/tr]
[tr] [/tr]
[tr] [/tr]
测试语句
时间
测试条件
备注
for(i=0;i<200;i++)
    {result=i+1;}
37.6us主频48M,
    i为uchar型
result[]的数据类型没有影响
for(i=0;i<200;i++)
    {result=i-1;}
42us
 
for(i=0;i<200;i++)
    {result=i+1;}
23.2us主频48M,
    i为uint/ulong型
result[]的数据类型没有影响
for(i=0;i<200;i++)
    {result=i-1;}
27.2us
 
测试语句
时间
测试条件
备注
for(i=0;i<200;i++)
        {;}
18.8us
主频48M
    i为uchar型
for(i=0;i<200;i++)
        {;}
10.4us
主频48M
    i为uint/ulong型
测试语句
时间
测试条件
备注
for(i=200;i>0;i--)
        {;}
14.8us
主频48M
    i为uchar型
for(i=200;i>0;i--)
        {;}
8.4us
主频48M
    i为uint/ulong型
测试语句
时间
测试条件
备注
for(i=200;i>0;i--)
    {result=j*i;}
40us
主频48M
    result为ulong型
i,j均为uchar
for(i=200;i>0;i--)
    {result=j*i;}
29us
主频48M
    result为ulong型
i、j至少一个uint/ulong
for(i=200;i>0;i--)
    {result=i/j;}
58us
主频48M
    result为ulong型
i,j均为uchar
for(i=200;i>0;i--)
    {result=i/j;}
49us
主频48M
    result为ulong型
i、j至少一个uint/ulong



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

34

主题

500

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3183

推广达人奖章优秀会员奖章活跃会员奖章

威望
2298
贡献
257
兑换币
597
注册时间
2011-10-2
在线时间
314 小时
10#
 楼主| 发表于 2013-6-7 19:35:45 | 只看该作者
249176669 发表于 2013-6-7 09:09
为什么uchar类型的运算反而比uint类型更耗费时间?为什么呢?K60是不是在这个范涛内?我是不是该把我的变 ...

测试的结果仅供大家参考,只是给大家提供一个思路,其他单片机大家可以自测。
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

高级会员

Rank: 4

积分
528
威望
273
贡献
153
兑换币
174
注册时间
2013-1-2
在线时间
51 小时
9#
发表于 2013-6-7 18:05:45 | 只看该作者
注重细节!
回复 支持 反对

使用道具 举报

53

主题

2469

帖子

0

精华

跨届大侠

狙击手

Rank: 10Rank: 10Rank: 10

积分
11290

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章论坛骨干奖章资源大师奖章

威望
4701
贡献
3671
兑换币
2368
注册时间
2012-3-12
在线时间
1459 小时
8#
发表于 2013-6-7 15:03:56 | 只看该作者
这个真不知道,我们基本上就没测过
回复 支持 反对

使用道具 举报

13

主题

329

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4226
威望
2030
贡献
1164
兑换币
977
注册时间
2012-9-24
在线时间
516 小时
7#
发表于 2013-6-7 11:16:50 | 只看该作者
那16位单片机是不是运算16位最快的
回复 支持 反对

使用道具 举报

17

主题

671

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6187
QQ
威望
3024
贡献
1755
兑换币
1315
注册时间
2012-2-4
在线时间
704 小时
6#
发表于 2013-6-7 10:39:01 | 只看该作者
一直以为uchar运行时时间比uint运行时间段呢
回复 支持 反对

使用道具 举报

51

主题

1633

帖子

0

精华

版主

Rank: 9Rank: 9Rank: 9

积分
7556

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章论坛骨干奖章

威望
3701
贡献
2453
兑换币
1398
注册时间
2012-5-3
在线时间
701 小时
5#
发表于 2013-6-7 09:44:19 | 只看该作者
不错
回复 支持 反对

使用道具 举报

32

主题

978

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2834
QQ
威望
1620
贡献
482
兑换币
1009
注册时间
2012-11-29
在线时间
366 小时
4#
发表于 2013-6-7 09:38:46 | 只看该作者
是的,32位单片机运算32位是最快的
回复 支持 反对

使用道具 举报

6

主题

170

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3402
威望
1766
贡献
1006
兑换币
794
注册时间
2012-2-3
在线时间
315 小时
毕业学校
北流高中
3#
发表于 2013-6-7 09:09:01 | 只看该作者
问乐寻音 发表于 2013-6-7 08:52
格式貌似乱了,大家可以下载附件。

为什么uchar类型的运算反而比uint类型更耗费时间?为什么呢?K60是不是在这个范涛内?我是不是该把我的变量尽量改成uint和int类型?
回复 支持 反对

使用道具 举报

34

主题

500

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3183

推广达人奖章优秀会员奖章活跃会员奖章

威望
2298
贡献
257
兑换币
597
注册时间
2011-10-2
在线时间
314 小时
2#
 楼主| 发表于 2013-6-7 08:52:31 | 只看该作者
格式貌似乱了,大家可以下载附件。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-22 07:32 , Processed in 0.049783 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表