国产FPGA试用手记二(51硬核性能测试)
IO口速度测试,使用以下程序测试高电平脉宽。
while(1)
{
P0 = 0xf;
P0 = 0x0;
}
同等条件下与其他MCU比较:
单片机/处理器
工作频率
高脉冲宽度
ASTRO 8051硬核
25MHz
约1us
50MHz
约500ns
100MHz
约250ns
STC89C516
11.0592MHz
约2.16us
NIOS II/e 32位软核
约2.5us
NIOS II/s 32位软核
约160ns
NIOS II/f 32位软核
在两次操作之间插入延时函数,分别延时delay(1)、delay(2)、delay(3)、delay(4)。测试延时函数如下:
void delay(uchar cnt)
uchar i =0;
while(i < cnt)
i++;
由于delay()函数调用一次会有一些额外开销(如赋初值等),所以我们通过不同延时值的实际延时差来看指令运行的速度。换句话说,对前面的程序,可以通过每次delay()函数的差值来计算每多执行一次i++和一次i
延时函数
Delay(1)
5.0us
2.5us
6.5us
4us
Delay(2)
6.6us
3.3us
9us
6us
Delay(3)
8.3us
4.2us
11.5us
7.5us
Delay(4)
9.9us
14us
9.5us
i++与i
约1.63us
约0.83us
约1.25us
特权同学曾使用相同条件测试了51单片机,通常11.0592MHz下工作的51单片机每多执行一次i++和一次i
简单的一些性能测试,发现这个51硬核还是有花头的,至于稳定性和可靠性上还需继续验证和尝试。当然,本文的测试是使用了片内的存储器作为代码和数据存储,实际速度性能和存储器的性能关系非常大,是需要进一步考核的项目。
本系列博文:试用手记:为国产FPGA正名(一)
试用手记:为国产FPGA正名(二,51硬核性能测试)
试用手记:为国产FPGA正名(三,存储器)
试用手记:为国产FPGA正名(四,时序工具)
试用手记:为国产FPGA正名(五,外扩SFR使用)
为国产FPGA正名(六,完结篇)
发布
kent_rao_738407428 2013-7-21 20:37
kent_rao_738407428 2013-7-21 20:33
用户1701727 2013-7-19 16:12
用户1033552 2013-7-17 07:49
用户1588142 2011-5-19 17:24
用户1325419 2011-5-9 19:27
用户1121395 2011-5-5 23:04
用户1231768 2011-5-5 14:57
用户1602177 2011-5-5 10:03
用户1573917 2011-5-5 09:08