说白了,这三个周期就是CPU干活的时间单位,从小到大:时钟周期(节拍)<CPU周期(机器周期)<指令周期。
时钟周期就是晶振震一下的时间,比如12M晶振,一个时钟周期就是1/12微秒,最小单位,干一个最基本的动作。
8051里,两个时钟周期组成一个节拍(P),两个节拍(也就是4个时钟周期)是一个状态周期(S)。
CPU周期也叫机器周期,一般指从内存取一条指令的最短时间。在8051里,一个机器周期等于6个状态周期,也就是12个时钟周期。比如12M晶振下,一个机器周期就是1微秒。
指令周期是执行一条指令的总时间,可能包含一个或多个机器周期。简单指令像单字节操作,取出来立马就能执行,就是一个机器周期搞定;复杂点的比如乘法、跳转,就得两三个机器周期才行。
所以总结一下:
时钟周期 → 最小单位,控制节奏
CPU周期(机器周期)→ 取指的基本时间单位
指令周期 → 一条指令从头到尾花的时间,由多个CPU周期组成
一句话:指令周期套着CPU周期,CPU周期又由一堆时钟周期堆出来的。
时钟周期就是晶振震一下的时间,比如12M晶振,一个时钟周期就是1/12微秒,最小单位,干一个最基本的动作。
8051里,两个时钟周期组成一个节拍(P),两个节拍(也就是4个时钟周期)是一个状态周期(S)。
CPU周期也叫机器周期,一般指从内存取一条指令的最短时间。在8051里,一个机器周期等于6个状态周期,也就是12个时钟周期。比如12M晶振下,一个机器周期就是1微秒。
指令周期是执行一条指令的总时间,可能包含一个或多个机器周期。简单指令像单字节操作,取出来立马就能执行,就是一个机器周期搞定;复杂点的比如乘法、跳转,就得两三个机器周期才行。
所以总结一下:
时钟周期 → 最小单位,控制节奏
CPU周期(机器周期)→ 取指的基本时间单位
指令周期 → 一条指令从头到尾花的时间,由多个CPU周期组成
一句话:指令周期套着CPU周期,CPU周期又由一堆时钟周期堆出来的。