时钟周期、机器周期与指令周期
1、51系列单片机中,外部输入震荡输入经2分频后作为时钟;另外,一个机器周期由6个时钟周期组成;因为没有流水线(pipeline)结构,执行一条指令需要经过取指令、译码、存取操作数、执行、保存等基本步骤,因此,把完成一步需要的时间称为机器周期。执行一条指令需要的时间就是质量周期;由于指令功能的不同,使得执行一条指令需要的机器周期数也不同,一般是一个或多个机器周期。
综合有,一个机器周期等于12个时钟周期;一个指令周期等于1个或多个机器周期。
2、在DSP、ARM等中,采用了HARVARD结构或者流水线技术,可以大大提高指令执行速度。同一时刻可以有几个事情在并行进行,因此指令周期缩短。
打个比方:5个人同时栽5棵树,和1个人栽5棵树相比,明显是前者快;流水线原理就类似。
3、关于DSP等高速处理器采用了流水线技术后还有没有机器周期一说的思考:其实还是有的,为什么呢?
因为不管什么处理器,执行一条指令需要的步骤基本相同,比如,取指,译码,执行,存取操作数等等;只是对于某一条指令,这些步骤可能被流水线技术给并行的处理了,从宏观的角度去看,貌似是成了周期指令了。
因此,我们常常说,DSP中大部分是等着瞧指令,这个单周期的含义是相对于机器周期而言的。只不过在DSP等处理器中,因为有PLL功能,时钟周期与51不同了。