Posted on 2011-12-08 13:26
鑫龍 閱讀(2278)
評論(0) 編輯 收藏 引用
根據設定的晶振,怎么樣確定asm("nop");延時了多少時間?比如7.3728MHz下,一個asm("nop");代表多少時間呢?
指令周期是執行一條指令所需要的時間,一般由若干個機器周期組成,是從取指令、分析取數到執行完所需的全部時間。指令不同,所需的機器周期數也不同。對于一些簡單的的單字節指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執行,不再需要其它的機器周期。對于一些比較復雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。
機器周期:通常用內存中讀取一個指令字的最短時間來規定CPU周期,(也就是 計算機通過內部或外部總線進行一次信息傳輸從而完成一個或幾個微操作所需要的時間它一般由12個時鐘周期組成。而時鐘周期=1秒/晶振頻率,因此單片機的機器周期=12秒/晶振頻率
指令周期=若干個機器周期=12個時鐘周期12秒/晶振頻率 (51系列)