TI中文支持网
TI专业的中文技术问题搜集分享网站

C6657 Emulation和Simulation问题

#include <stdio.h>
#include <math.h>
#include <c6x.h>
#include <time.h>

int i;
int a[1000]={0};
clock_t t_overhead, t_start, t_stop;

void main()
{TSCH=0;TSCL=0;t_start = _itoll(TSCH, TSCL);for(i=0;i<1000;i++){a[i]=i;}t_stop = _itoll(TSCH, TSCL);t_overhead = t_stop - t_start;
}

上述程序在C6657开发板上的运行Cycle:16037

Simulation的Cycle:16016

各位TI工程师们,请问下这是什么原因

Tao_LL:

程序是在1MB LOCAL L2/SRAM中跑的

Ryan BL:

回复 Tao_LL:

没用过sim. 感觉像是sim.中跑的程序cache模拟的不充分,导致其性能比较好,如果你放到L1中运行估计就是一致的,甚至比sim.还高一点点的性能.

Tao_LL:

回复 Shine:

TI工程师您好,请问下为什么会产生这种现象。里边没有给出具体的解释,只有结果和数据。我想知道是什么原因造成的。

Ryan BL:

回复 Tao_LL:

cycle仿真会以最接近CPU执行cycle的步骤进行仿真,速度会很慢;
另外的仿真只是将指令进行对照的翻译执行,只保证算法结果一致,作为算法的验证。

类似QEMU的几种虚拟机机制。

赞(0)
未经允许不得转载:TI中文支持网 » C6657 Emulation和Simulation问题
分享到: 更多 (0)