Posted on 2011-12-08 13:26
鑫龙 阅读(2207)
评论(0) 编辑 收藏 引用
根据设定的晶振,怎么样确定asm("nop");延时了多少时间?比如7.3728MHz下,一个asm("nop");代表多少时间呢?
指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令、分析取数到执行完所需的全部时间。指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
机器周期:通常用内存中读取一个指令字的最短时间来规定CPU周期,(也就是 计算机通过内部或外部总线进行一次信息传输从而完成一个或几个微操作所需要的时间它一般由12个时钟周期组成。而时钟周期=1秒/晶振频率,因此单片机的机器周期=12秒/晶振频率
指令周期=若干个机器周期=12个时钟周期12秒/晶振频率 (51系列)