1. 时钟周期
看配置的系统时钟是N,时钟周期就是1/N,例如103配置sysclk为72M,时钟周期就是1/72M = 0.01389us。
2. 机器周期
在计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期,是最小衡量单位。
对于51单片机,一个机器周期等于12个时钟周期。
3. 指令周期
1. 用C语言写的程序,会被转换成一条一条的指令,不同的指令执行的时间不同。
2. 简单指令需要一个机器周期,复杂指令可能需要两个或两个以上的机器周期。
3. stm32中1.25 DMIPS/MHz,就是1Mhz的频率,每秒钟可以执行1.25M指令。72M,那么就是72*1.25。所以执行一条指令的时间:1/90us=0.011us=11ns
4. 指令分为单指令和多指令。
举例:
比如C语言编写的一条代码,这条代码对应3条指令,这里比如是单指令,每条指令又对应几个机器周期,一个机器周期又对应几个时钟周期。
备注:单位从小到大:时钟周期<机器周期<指令周期
CPU执行中断时需要时间的,如入栈,出栈,以及其他处理,都需要时间!一般情况下,STM32的中断性能不超过500Khz,也就是中断间隔达到2us一次时,不管你中断函数多精简,基本上CPU就不会干其他什么事情了,因为它都在进出中断了。
单条指令执行时间:STM32F10X单片机在主频为72MHz下,C语言程序执行一条指令需要的时间可认为10ns~100ns。
|