CPU的时序是指CPU在执行指令过程中,CPU的控制器所发出的一系列特定的控制信号在时间上的相互关系。时序是用定时单位来说明的。常用的时序定时单位有:振荡周期、时钟周期、机器周期和指令周期,它们的内部结构及相互关系如图2-18所示。
图2-18 4种周期的内部结构及相互关系
1.振荡周期(节拍)
MCS-51单片机内晶体振荡器的振荡周期(或外部引入时钟信号的周期),是指为单片机提供时钟脉冲信号的振荡源的周期,是最小的时序单位。所以,片内的各种微操作都以晶振周期为时序基准。它也是单片机所能分辨的最小时间单位。
2.时钟周期(状态周期)
MCS-51单片机的时钟信号如图2-18所示。晶振频率经分频器2分频后形成两相错开的时钟信号P1和P2。时钟信号的周期称为时钟周期,也称为机器状态周期,它是振荡周期的2倍,是振荡周期经2分频后得到的。即一个时钟周期包含两个振荡周期。在每个时钟周期的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。每个时钟周期(常称状态S)有两个节拍(相)P1和P2,CPU就是以两相时钟P1和P2为基本节拍指挥MCS-51单片机的各个部件协调工作的。
时钟电路产生的振荡脉冲经过触发器进行2分频之后,才成为单片机的时钟脉冲信号。请读者特别注意时钟脉冲与振荡脉冲之间的2分频关系,否则会造成概念上的错误。
3.机器周期
在计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作,例如:取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。CPU完成一种基本操作所需要的时间称为机器周期(也称M周期)。一个机器周期由12个振荡周期或6个状态周期构成,在一个机器周期内,CPU可以完成一个独立的操作。由于每个状态S有两个节拍P1和P2,因此,每个机器周期的12个振荡周期可以表示为S1P1,S1P2,S2P1,S2P2,…,S6P2。
4.指令周期
CPU执行一条指令所需要的时间称作指令周期。它一般由若干个机器周期组成,不同的指令所需的机器周期数也不同。MCS-51单片机的指令按执行时间可以分为3类:单周期指令、双周期指令和四周期指令。四周期指令只有乘、除法两条指令。(www.xing528.com)
从指令执行时间看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令都是双机器周期,乘、除指令占用四个机器周期。对于一些简单的单字节指令,在取指令周期中,指令取出到指令寄存器IR后,立即译码执行,不再需要其他的机器周期,只需一个机器周期(单机器周期);而对于一些复杂指令,如转移指令、乘除指令,则需要两个或四个的机器周期。
晶振周期(节拍)、时钟周期(状态)、机器周期和指令周期均是单片机的时序单位。它们之间的关系可用图2-19来描述。
图2-19 节拍、状态、机器周期、指令周期之间的关系
晶振周期和机器周期是单片机内计算其他时间值(如波特率、定时器的定时时间等)的基本时序单位。例如,若外接晶振频率为f osc=12MHz,则4个基本周期的具体数值为:
振荡周期=1/12μs=0.0833μs;
时钟周期=1/6μs=0.167μs;
机器周期=1μs;
指令周期=1μs、2μs和4μs。
由此,可用于计算指令、程序的执行时间以及定时器的定时时间。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。