最近在C6748 DSP上做FFT时间测量,看到8192点FFT的测量时间是467us,而我硬件测试的结果是882us,我就很纳闷哪里错了????
结果看来看去,发现CCS居然有一个"软件仿真"和"硬件仿真"
软件仿真模式(无内存访问延迟)和硬件仿真的区别在在于工程所是使用的ccxml 文件不一样
现在把对比结果都整理出来
调试条件是优化等级开到3
硬件运行实际详细运行时间(6748主频跑456M Hz)
--------------------------- Cache Disabled --------------------------- | ||||
DSPF_sp_cfftr2_dit | DSPF_sp_fftSPxSP | DSPF_sp_icfftr2_dif | DSPF_sp_ifftSPxSP | |
32 | 47.51us | 29.46us | 46.11us | 29.32us |
64 | 106.21us | 57.21us | 105.58us | 56.39us |
128 | 239.95us | 154.52us | 238.69us | 152.84us |
256 | 537.04us | 308.41us | 534.76us | 302.72us |
512 | 1184.55us | 756.07us | 1182.24us | 748.86us |
1024 | 2601.47us | 1485.80us | 2598.27us | 1477.94us |
2048 | 5674.80us | 3578.33us | 5666.62us | 3559.37us |
4096 | 12527.40us | 7147.63us | 12470.40us | 7125.05us |
8192 | 27472.50us | 17031.80us | 27218.28us | 16981.55us |
16384 | 59800.18us | 34004.56us | 59975.67us | 34046.73us |
32768 | 129329.05us | 78609.17us | 128633.07us | 78713.64us |
65536 | ||||
131072 | ||||
--------------------------- Cache Enabled --------------------------- | ||||
DSPF_sp_cfftr2_dit | DSPF_sp_fftSPxSP | DSPF_sp_icfftr2_dif | DSPF_sp_ifftSPxSP | |
32 | 0.94us | 1.07us | 1.24us | 1.38us |
64 | 2.06us | 1.92us | 2.51us | 2.59us |
128 | 4.57us | 4.26us | 5.41us | 5.67us |
256 | 10.15us | 8.18us | 11.99us | 11.01us |
512 | 22.43us | 18.39us | 26.37us | 24.08us |
1024 | 49.23us | 36.16us | 58.08us | 46.76us |
2048 | 107.34us | 83.42us | 127.30us | 101.94us |
4096 | 265.84us | 199.11us | 312.63us | 245.76us |
8192 | 880.92us | 769.32us | 1091.82us | 880.77us |
16384 | 1910.95us | 2456.24us | 2699.05us | 2271.15us |
32768 | 6882.59us | 11756.84us | 8638.64us | 11724.79us |
65536 | ||||
131072 |
图片版本更加清晰一点