单片机和云计算机算力比较,51单片机 运算能力 测试

原标题:51单片机 运算能力 测试

几天前在做51循迹小车程序的时候,为了能用得上PID算法,在程序中用了很多 运算。大家都知道 是8位 ,而浮点数是32位的,当时我就在想,浮点运算用多了会不会影响到小车程序的反应速度和性能呢,当时为了完工,没有多想,只是想着——反正我在程序里也用不到多少,应该不会有太大的影响。

今天一想,为何不来做个测试呢,说做就做,程序很快调通了,测试结果也出来了。

首先说一下我所用的51单片机配置:

STC12C5A60S2增强型51单片机, 11.0592M晶振, 1T模式(1个时钟周期执行1条指令,大部分51单片机是12T的,单片机这点和PC不同)。

测试原理:

1.用片上定时器/计数器0实现了一个计时器;

2.记录一定量浮点数计算(加法)运算的总时间,并记录浮点运算测试过程中其他运算操作的时间;

3.利用以上记录的两个时间之差和运行前指定的运算次数即可算出每秒浮点运算次数(暂时用fps表示);

先来看看测试结果:

测试总时间:407s

平均速度:25047.8 fps

最快速度:33559.5 fps

最慢速度:22932.8 fps

再来看看我们的测试主体部分吧:

// 先指定浮点运算次数: n = 10000; send_str("t0\tt1\tt2\tfps\ips\r\n"); while(1) { t0 = t_cur; // float t_cur 为当前时间

你可能感兴趣的:(单片机和云计算机算力比较)