DSP测试程序耗时的方法V1

一、利用TSCL和TSCH来计算时钟周期

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

使用方法

1、长时间宽范围时钟测定

unsigned long long time_before,time_after;

time_before = _itoll(TSCH,TSCL);

/* put your code here */

time_after = _itoll(TSCH,TSCL);

printf(“#excute cycle=%d”,time_after - time_before);

 

2、短时间(7秒)窄范围时钟测定

time_before = TSCL;

/* put your code here */

time_after = TSCL;

Printf(“#cycle=%d”, time_after - time_before);