STM32程序中一段程序的执行时间和参数加减一次的运行时间
当想要知道一段程序的执行时间时,可以利用KEIL的debug工具。
例:现在想知道程序中一个变量加减一次需要执行多长时间。如想知道,第43行的程序运行时间。
第 1 步:先进入debug。
第 2 步:在第43行和44行加入断点。
第 3 步:点击立即执行程序到第一个断点处(43行),并查看运行到此处的时间。
从图中可知程序从开始运行到第43行,需要 0.06315370 s
第 4 步:再次点击立即执行程序到第二个断点处(44行),并查看运行到此处的时间。
从图中可知程序从开始运行到第44行,需要 0.12315410 s
第 5 步:由第3步和第4 步的运行时间可得时间差为 0.06000040 s
即为 60000.4 us.
综上,可知第43行程序运行需要大概60000 us。从而可知程序中参数加减一次的时间约为1 us。
stm32 执行一条机器语言的指令周期是多久?
时钟每跳1兆次,可以执行1.25兆条指令。指令周期=时钟周期*1.25,时钟周期是1/72mhz,故指令周期是(1.25/72mhz)约是0.0174us。
stm32 属于ARM CortexM3,多数指令是单周期的。
cortex-m3是三级流水线,同时执行3条指令,指令周期不定,分支指令也可能清空流水线,导致预先执行的指令失效。
ARM官方的数字是1.25MIPS/MHz,我的理解就是每个周期平均执行1.25条指令。 ( 就是1Mhz的频率,每秒钟可以执行1.25M指令。72M,那么就是72*1.25 )
https://blog.csdn.net/USTLBer/article/details/117657948
网友评论