找回密码
 注册
关于网站域名变更的通知
查看: 453|回复: 1
打印 上一主题 下一主题

什么是时钟周期、机器周期、指令周期

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-14 13:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
什么是时钟周期、机器周期、指令周期
+ Y% X* U8 _2 f) D5 n/ J, M* k3 v, ~9 y9 f3 _

+ K+ J5 P+ m9 G8 Z- c  l0 S) ~
作为初学者,我知道晶振有振荡频率,然而振荡周期我却一直没弄明白是怎么回事。而且最近还听说了时钟周期、机器周期和指令周期,我就更蒙了。我开始上网查资料,终于理清了他们之间的关系,这里我就简单介绍一下。

4 b% P. Y$ _* ?0 t3 F" f4 ]. c. I
时钟周期:时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us), 既产生一个脉冲的时间,是计算机中最基本的、最小的时间单位。
% y& h9 [. h7 h& T& g
机器周期:单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期既单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,也是一个晶振周期。它的一个机器周期是12×(1/12)us,也就是1us。

& T/ w+ J# j. Q3 f) i( e/ @4 R8 N
指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。

( X3 {) `5 T; m3 `) f( U; d# Q
通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。机器周期不仅对于指令执行有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHZ晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。 简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
9 I+ V* E1 O' N# A- H8 h: y

该用户从未签到

2#
发表于 2019-1-14 15:36 | 只看该作者
楼主说的很不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-20 16:46 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表