指令周期是CPU从内存取出一条指令并执行这条指令的时间总和,一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。
机器周期也叫CPU周期,由于CPU访问一次内存所花的时间较长,因此用从内存读取一条指令字的最短时间来定义。在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。
时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数),是计算机中最基本的、最小的时间单位。一个机器周期包含若干个时钟周期。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。
N时钟周期 = 1机器周期
N机器周期 = 1指令周期
指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令只需一个机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
从指令的执行速度看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令都是双机器周期,只有乘、除指令占用4个机器周期。
因此在进行编程时,在完成相同工作的情况下,选用占用机器周期少的命令会提高程序的执行速率,尤其是在编写大型程序程序的时候,其效果更加明显。
原文地址:http://blog.csdn.net/z702143700/article/details/46278069