NIOS II 处理器性能测试
来源:互联网 发布:office2011for mac 编辑:程序博客网 时间:2024/05/16 02:37
本文对NiosII 处理器的经济型Nios II/e和快速型Nios II/f在不同的优化方式下测试其性能,测试了以下代码的运行时间。
1、Printf//文件打印
2、usleep(1000)//睡眠时间
3、IOWR_ALTERA_AVALON_PIO_DATA//端口读写
测试代码如下:
#include <stdio.h>
#include "system.h"
#include "unistd.h"
#include "altera_avalon_performance_counter.h"
#include "altera_avalon_pio_regs.h"
int main()
{
PERF_RESET(PERFORMANCE_COUNTER_BASE);
PERF_START_MEASURING(PERFORMANCE_COUNTER_BASE);
PERF_BEGIN(PERFORMANCE_COUNTER_BASE,1);
printf("Hello from Nios II!\n");//test printf
PERF_END(PERFORMANCE_COUNTER_BASE,1);
PERF_BEGIN(PERFORMANCE_COUNTER_BASE,2);
usleep(1000);//test usleep
PERF_END(PERFORMANCE_COUNTER_BASE,2);
PERF_BEGIN(PERFORMANCE_COUNTER_BASE,3);
//IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,0x00);//test IOWR
IOWR(PIO_BASE,0,0x00);
PERF_END(PERFORMANCE_COUNTER_BASE,3);
PERF_STOP_MEASURING(PERFORMANCE_COUNTER_BASE);
perf_print_formatted_report(PERFORMANCE_COUNTER_BASE,alt_get_cpu_freq(),
3,"printf","usleep","IOWR");
return 0;
}
测试结果如下:
表一:Nios II/e,没有优化
Section
%
Time (sec)
Time (clocks)
Occurrences
printf
20.9
0.00113
56317
1
usleep
79
0.00427
213400
1
IOWR
0.0459
0.00000
124
1
表二:Nios II/e,优化:optimize -03
Section
%
Time (sec)
Time (clocks)
Occurrences
printf
13.9
0.00065
32648
1
usleep
86
0.00404
201865
1
IOWR
0.0383
0.00000
90
1
表三:Nios II/e,优化:optimize -0s
Section
%
Time (sec)
Time (clocks)
Occurrences
printf
13.4
0.00063
31439
1
usleep
86.5
0.00405
202681
1
IOWR
0.0358
0.00000
84
1
表四:Nios II/f,没有优化
Section
%
Time (sec)
Time (clocks)
Occurrences
printf
18.7
0.00023
11387
1
usleep
81.1
0.00099
49290
1
IOWR
0.0428
0.00000
26
1
表五:Nios II/f,优化:optimize -03
Section
%
Time (sec)
Time (clocks)
Occurrences
printf
11
0.00012
5969
1
usleep
88.9
0.00097
48281
1
IOWR
0.0147
0.00000
8
1
表六:Nios II/f,优化:optimize -0s
Section
%
Time (sec)
Time (clocks)
Occurrences
printf
12.1
0.00013
6653
1
usleep
87.8
0.00097
48315
1
IOWR
0.0473
0.00000
26
1
通过比较上述六个表格数据,NiosII/e和NiosII/f性能还是相差比较大,从表格中数据看性能差4倍以上,同样的处理器优化之后性能比优化之前提升25%左右,而对于-03优化和-0S优化,性能基本差不多。而且usleep(1000),即延时1ms只有在NiosII/f中运行,才具有所设定的延时,在NiosII/e中实际延时时间为程序指定时间(1ms)的4倍左右,即4ms。
根据Altera提供的资料:
In Nios II Performance Benchmarks (Alteras document) are this DMIPS ratio: Nios II /f - 1.105, Nios II /s - 0.518, Nios II /e - 0.107
即如果采用50MHz时钟,CUP的DMIPS为
Nios II/f:1.105*50=55.25 DMIPS
Nios II/s:0.518*50=25.9 DMIPS
Nios II/e:0.107*50=5.35 DMIPS
该性能的条件是在onchip-mem中运行,optimize为-03。cycloneII器件。本文中的程序在外接SDRAM中运行
- NIOS II 处理器性能测试
- NIOS II 处理器性能测试(转)
- Nios II嵌入式软处理器提升系统性能方式详解
- NIOS II软核处理器
- NIOS II 处理器软核配置
- Nios II性能和各器件对比
- 基于NIOS II嵌入式处理器实现LCD的控制
- NIOS II/e /s /f usleep()函数延时测试
- 基于NIOS-II的示波器:PART4 系统调试&测试
- Altera发售6.0版Nios II嵌入式处理器和开发工具
- 基于NIOS II处理器的面阵CCD采集系统设计
- Nios II设备管理分析
- nios II参考网站
- NIOS II 常见问题总结
- NIOS II 常见问题总结
- Nios II 简介
- NIOS II 开发常见问题
- NIOS II 开发常见问题
- 判断拼写串@str中是否含有ABC怎么写SQL
- MapReduct例子
- Palindromes _easy version回文(2029)
- hdu-oj 2123 An easy problem
- 安卓手机误删照片怎么恢复
- NIOS II 处理器性能测试
- leetcode Reorder List
- oracle物理文件的位置查看
- “传智好读者”赛事火热开启,欢乐闯关赢豪礼 技术大神为你“转身”
- 小波变换与傅里叶变换
- HDU 1754 I Hate It 水线段树
- 基数排序java实现
- Elastix如何监听其它分机(图文)
- CSDN无语+恶心的待审核