博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NIOS II 处理器性能测试(转)
阅读量:7051 次
发布时间:2019-06-28

本文共 2446 字,大约阅读时间需要 8 分钟。

本文对NiosII 处理器的经济型Nios II/e和快速型Nios II/f在不同的优化方式下测试其性能,测试了以下代码的运行时间。

1Printf//文件打印

2usleep(1000)//睡眠时间

3IOWR_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/eNiosII/f性能还是相差比较大,从表格中数据看性能差4倍以上,同样的处理器优化之后性能比优化之前提升25%左右,而对于-03优化和-0S优化,性能基本差不多。而且usleep1000),即延时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时钟,CPU的DMIPS
Nios II/f1.105*50=55.25 DMIPS
Nios II/s0.518*50=25.9 DMIPS
Nios II/e0.107*50=5.35 DMIPS
该性能的条件是在onchip-mem中运行,optimize-03cycloneII器件。本文中的程序在外接SDRAM中运行

转载于:https://www.cnblogs.com/klusday/archive/2012/12/19/2825352.html

你可能感兴趣的文章
对当前JAVA流行框架的一些小感悟
查看>>
双十一流量洪峰 支撑阿里核心业务的云数据库揭秘
查看>>
adb命令集合
查看>>
命令终端快捷键
查看>>
WinForm程序设计-进度条控件(progressBar)
查看>>
我的友情链接
查看>>
Redis
查看>>
The Most Common Java Keytool Keystore Commands
查看>>
拒绝IE8-,CSS3 transform rotate旋转动画效果(支持IE9+/chrome/firefox)
查看>>
我的友情链接
查看>>
网站排障分析常用的命令
查看>>
利用inotifywait监控主机文件和目录
查看>>
f_bfree和f_bavail的区别
查看>>
用sendEmail来发送nagios报警邮件
查看>>
Windows Server 2012 GUI与Core的切换
查看>>
CAS配置(二)
查看>>
Windows系统下JSP程序开发环境配置
查看>>
Spring Cloud的前世今生
查看>>
Android Studio 教程(干货)
查看>>
hadoop datanode 不能连接 namenode
查看>>