如何测试程序在DSP上的运行时间?

[复制链接]
3873|30
手机看帖
扫描二维码
随时随地手机跟帖
傲视群熊|  楼主 | 2017-4-12 09:48 | 显示全部楼层 |阅读模式
如何测试程序在DSP上的运行时间?
1、用CLOCK()准确吗?
2、用CCS上的工具,但如何使用?

在你要测试时间的程序的两端,用Project Toolbar上的Toggle profile point按键,加上profile print,像断点一样,不过是绿色的。然后在profiler菜单中选择Enable Clock和view clock,在view clock窗口中可以看到程序运行的时间/周期(时钟)数。在view clock窗口中第2行显示的时间就是程序从第1行所在位置到第2行位置的时间,也就是你要测定的时间。这是ti推荐的方法,但我发现数据不准确,比实际的要大。如果用profiler得到的数据比你的要求好要少的话,那就说明已经达到了要求,如果比你的大则比一定达不到要求。

周期测定可以利用DSP的定时器来实现!在你要测定开始的地方设定定时器并启动,在你结束的地方关闭定时器即可.不过要关闭中断哟?

用clock函数是可行的,尤其是优化以后的代码很难确定PROFILE的位置。你看一下.asm的输出就知道了,clock没有这个问题。有一点要注意,clock函数如果直接在DSP上跑时间是不准的,必须用load6x命令在DOS或命令行状态下加载,这样结果就准的多。当然,调用函数本身的开销也是要考虑的。

数汇编代码测程序运行时间的方法是不行的:)因为指令所耗费周期数是不一样的,并不是都是一个周期啊,你数指令条数判断运行时间不准确啊,而且小程序你还可以用数的方法,大的怎么办呢:)看看指令耗费周期数的大致规律啊
指令所耗费周期数规律:主要跟操作多少及有关系,简单的加减乘和逻辑运算一般是单周期,延迟跳转指令也是1周期,复杂的并行运算则因操作数据所在存储区(片内、外)而分成一周期和两周期,改变程序计数器的指令一般如跳转,返回等耗费4周期,软件陷阱则因操作多而需要5个周期。

相关帖子

minzisc| | 2017-4-13 21:12 | 显示全部楼层
使用定时器计算不行吗

使用特权

评论回复
minzisc| | 2017-4-13 21:18 | 显示全部楼层
这个CLOCK有具体实现的代码吗?

使用特权

评论回复
kkzz| | 2017-4-14 22:23 | 显示全部楼层
以前都是单步调试来测试时间

使用特权

评论回复
kkzz| | 2017-4-14 22:27 | 显示全部楼层
在CCS上运行代码,使用断点运行。

使用特权

评论回复
pklong| | 2017-4-15 23:02 | 显示全部楼层
使用调试,执行到断点就知道了。

使用特权

评论回复
pklong| | 2017-4-15 23:03 | 显示全部楼层
在运行步骤能够看到运行的时间

使用特权

评论回复
shenmu2012| | 2017-4-16 13:43 | 显示全部楼层
这个有专门的计时函数可以用的

使用特权

评论回复
comeon201208| | 2017-4-16 15:46 | 显示全部楼层
这个还不是很理解的哈——指令所耗费周期数规律:主要跟操作多少及有关系,简单的加减乘和逻辑运算一般是单周期,延迟跳转指令也是1周期,复杂的并行运算则因操作数据所在存储区(片内、外)而分成一周期和两周期,改变程序计数器的指令一般如跳转,返回等耗费4周期,软件陷阱则因操作多而需要5个周期。

使用特权

评论回复
pl202| | 2017-4-16 16:57 | 显示全部楼层
没有使用过CLOCK这个功能

使用特权

评论回复
pl202| | 2017-4-16 17:00 | 显示全部楼层
一般都是使用断点查看运行的时间。

使用特权

评论回复
309030| | 2017-4-17 22:03 | 显示全部楼层
这个有专门的计时函数可以用的

在哪里呢,怎么设置

使用特权

评论回复
backlugin| | 2017-4-17 22:28 | 显示全部楼层
在profiler菜单中选择EnableClock和viewclock,在viewclock窗口中可以看到程序运行的时间/周期(时钟)数。

使用特权

评论回复
qiufengsd| | 2017-4-17 22:28 | 显示全部楼层
ccs6.0内没有进行那些所谓的clockenable

使用特权

评论回复
kmzuaz| | 2017-4-17 22:49 | 显示全部楼层
TI DSP编译环境CCS3.3, 在profiler菜单中,选择Enable Clock和view clock,在view clock窗口中可以看到程序运行的时间/周期(时钟)数。

使用特权

评论回复
backlugin| | 2017-4-17 22:49 | 显示全部楼层
用profile测试代码运行时间

使用特权

评论回复
qiufengsd| | 2017-4-17 22:49 | 显示全部楼层
用定时器进行测试

使用特权

评论回复
wengh2016| | 2017-4-17 22:49 | 显示全部楼层
利用TI CCS3.3(6.1.12版本以上)集成开 发环境自带的函数进出钩子(Function entry/ exit hooks)的新功能

使用特权

评论回复
kmzuaz| | 2017-4-17 22:50 | 显示全部楼层
在view clock窗口中第2行显示的时间就是程序从第1行所在位置到第2行位置的时间,也就是你要测定的时间。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

84

帖子

1

粉丝