|
那么什么又是“指令周期”呢?
個(gè)人理解是:所謂指令周期,是指執行一條指令所需要的時(shí)間。
在51單片機中,指令周期是由若干機器周期組成的。
大家知道,51單片機具有固定的機器周期。舉個(gè)例子,當時(shí)鐘頻率“fosc”為12MHz時(shí),一個(gè)機器周期就是1uS(1微秒)。這里面的關(guān)系并不難理解和計算,時(shí)鐘頻率fosc的倒數1/fosc 即是時(shí)鐘周期 tosc,即 tosc=1/12MHz=83.333nS(納秒)。我們又知道,51單片機中,一個(gè)機器周期等于12個(gè)時(shí)鐘周期,也就是說(shuō) tosc=12*83.333nS=1000nS=1uS。
當然,當我們把晶體換為6MHz時(shí),一個(gè)機器周期也變?yōu)榱?uS。
OK,如上所述,51單片機的指令周期是由若干個(gè)機器周期組合而成的。那么就不難理解了,它的指令周期也必然是固定的。也就是說(shuō),51單片機指令的執行時(shí)間是固定的。比方說(shuō),機器周期為1uS時(shí)(晶體為12MHz)執行一個(gè)乘法指令 mul ab ,那么單片機執行完畢這條指令所需的時(shí)間為4*1uS=4uS。為什么用4uS呢?因為,這條指令的機器周期數目是固定的,等于4個(gè)機器周期。
在51單片機中,大多數指令的執行周期為1個(gè)機器周期(單周期指令)。最長(cháng)的指令執行周期為4個(gè)機器周期(乘、除法指令)。其余的都是2個(gè)機器周期的指令(雙機器周期),例如控制轉移類(lèi)指令基本上都是雙機器周期指令。 |
|