各位大侠,
近来设计一个项目需要实时性,因此对STM32的指令执行时间比较关心。网上看了些资料,STM32采用三级流水线结构,平均每周期执行1.25条指令,即算下来大致10nS一条指令。
想比较以下两条指令的执行时间。
1,采用寄存器操作。GPIOF->CRL=0X0001000; 即将F口所有引脚置相应电位。
2,使用位带操作 PF(0)=0;PF(1)=0;.............PF(14)=0;PB(2)=0;注意:其中PB2代替了PF的最后一个引脚。
以上两段指令均实现对16个引脚置位电平。那分别大致消耗多少时钟周期呢?
个人觉得操作1大致消耗一个时钟周期,而操作二则需要消耗大致16个时钟周期?
请高手指点!十分感谢啊!
|