首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

代码执行时间的有关问题

2012-07-29 
代码执行时间的问题用示波器看一段代码的执行时间,然后分析出每ms执行的代码条数,分析的结果和芯片资料上

代码执行时间的问题
用示波器看一段代码的执行时间,然后分析出每ms执行的代码条数,分析的结果和芯片资料上说的MIPS不同,应该怎么解释?
理论上一句简单代码(如i++)翻译成机器语言不就应该是一条指令吗?

[解决办法]
这个不一定的,取决于MCU的指令集和i本身的数据类型。
[解决办法]
理论上一句简单代码(如i++)翻译成机器语言不就应该是一条指令吗? 不一定的,要看芯片的指令集怎么说,一般一条c语句由多条汇编代码组成的
[解决办法]
统计指令的执行时间,应该利用循环语句,循环执行1万次,然后求平均值。否则,误差太大,没意义。
[解决办法]

探讨

引用:
这个不一定的,取决于MCU的指令集和i本身的数据类型。

我用的AT91RM9200 MCU采用5级流水线,只知道它的指令集是RISC,i为32位int型,能分析出来一个for循环翻译成机器语言是多少条指令吗?
for(i = 0; i < 10000000; i++);

[解决办法]
The AT91RM9200 Features a 200 Mips ARM920T Processor With 16K-byte Instruction And 16K-byte Data Cache Memories, 16K Bytes of SRAM。

200 MIPS at 180 MHz,

热点排行