首页 > 其他 > 详细

时钟周期、机器周期、指令周期

时间:2020-05-07 18:28:00      阅读:104      评论:0      收藏:0      [点我收藏+]

1 时钟周期

例如51单片机,外部晶振为12MHz,则时钟周期为1/(12M),也就是(1/12)微秒。

2 机器周期

用C语言写的程序,会被转换成一条一条的指令,不同的指令执行的时间不同。

而这个时间的最小衡量单位是机器周期。

简单指令需要一个机器周期,复杂指令可能需要两个或两个以上的机器周期。

对于51单片机,一个机器周期等于12个时钟周期。

也就是一个时钟周期为1us。以前用_nop();进行1us延时就是这个道理。

3 指令周期

不同的指令,执行的时间是不同的,但基本的衡量单位是机器周期。

4 STM32的时钟周期、机器周期与指令周期

STM32时钟树如下图所示。

技术分享图片

从时钟树可以看出,HCLK、PCLK以及FCLK都是由SYSCLK分频或倍频得到的。

STM32时钟树里缩略词说明如下图所示。

缩略词 英文 中文
SYSCLK System Clock 系统时钟
HCLK

High Performance Bus Clock

高性能总线时钟
PCLK Periphral Bus Clock 外围设备总线时钟
FCLK Free Runing Clock 自由运行时钟

 

如下图所示,内核(core)的时钟为72MHz。

技术分享图片

 

正点原子:“STM32有三级流水线,指令周期不定的,arm给出的是1.25MIPS/Mhz,一个平均执行速度。”

“就是1Mhz的频率,每秒钟可以执行1.25M指令。72M,那么就是72*1.25。”

MIPS(Million Instructions Per Second):每秒处理1百万条指令。

5 参考

51、430、stm32周期和执行一条语句需要多长时间的问题

https://blog.csdn.net/helenie/article/details/52810046

计算机组成原理:时钟周期、机器周期和指令周期

https://blog.csdn.net/billbonaparte1/article/details/51297189

STM32的一个指令周期是多少个时钟周期呀?

http://www.openedv.com/posts/list/13937.htm

时钟周期、机器周期、指令周期

原文:https://www.cnblogs.com/QQ2962269558/p/12844340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!