计算DSP程序运行时间

8 篇文章 7 订阅

计算DSP程序运行时间

介绍一种计算DSP程序运行时间的方法。该方法适合在不带系统裸机程序中使用。测量时间的方式精度是一个cycle,如果CPU频率为1GHz,则一个cycle为10纳秒。只不过处理成毫秒ms,再低意义不大。当然CCS中还自带profile性能分析器来查看运行时钟/周期数,还可以用C标准库提供的time.h。都是可以,看个人方便。

之前常用的profiling和clock()一般在simulation下使用,有一定的局限性。真正到了板子上做emulation时,因为要考虑到数据和被测 code在板子上的存放位置和读取时间,用这种方法测结果就不那么可靠了。其实在c64x+ core上有两个计数寄存器TSCL/TSCH,利用TSCL和TSCH来计算时钟周期,它们与CPU同频,共同表示一个64-bit数,CPU运行一个cycle,该寄存器就加1,因此可以用 它们来准确的测量cpu在某个执行段中消耗的cycles。一般我们只会用到TSCL这个寄存器,594MHz下,32-bit可以测试到7s,而 TSCH是高32位,除非测试整个工程,一般用不到它。

代码如下:

// 计数变量
long long StartTime = 0;
long long EndTime = 0;

// 初始化计数时钟(开始后就不能停止)
TSCH = 0;
TSCL = 0;

// 开始计数
StartTime = _itoll(TSCH, TSCL);

/*
被测试运行程序
*/

// 结束计数
EndTime = _itoll(TSCH, TSCL);
ConsoleWrite("Execution Time %2.10fus\r\n", (EndTime - StartTime) / 1000.0);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值