單片機指令周期、機器周期、狀態周期、時鍾周期


單片機的系統指令周期根據不同的內核架構各有區別。

8051系列單片機采用的是同步式的順序邏輯系統,整個系統的工作完全是依賴系統內部的時脈信號。它的指令周期、機器周期等也是根據時鍾脈沖信號來確定。下面說明機器周期、指令周期等的關系。

時鍾周期:又叫時鍾振盪周期,指晶振振盪產生的脈沖,一個脈沖表示一個時鍾周期。

狀態周期:在8051單片機中把一個時鍾周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示)。一個狀態周期等於兩個時鍾周期。

機器周期:一般也叫CPU周期,表示從內存讀取一條指令字的最短時間,它是指令周期的最小單位。它等於單指令的周期長度。一個機器周期等於6個狀態周期。

指令周期:一條指令包括1個或多個機器周期。所有的C語言代碼最后都會編譯成匯編代碼來執行,而執行一條匯編指令需要的機器周期就叫做指令周期。

不用的指令的時鍾周期不一樣,同意8051內核,同一指令的時鍾周期也不一樣,由下圖就可以知道,MOV指令將寄存器值放入累加器需要一個機器周期,MOV指令將直接地址中的值放入累加器需要兩個周期;同一指令,8051和90系列單片機的指令周期也不同,8051系列執行單指令需要12個時鍾周期,90系列執行單指令需要6個周期,他們都是需要一個機器周期,但是90系列一個機器周期只需要6個時鍾周期。

 我們常用的NOP指令就是一個單指令,需要一個機器周期,8051需要晶振產生12個脈沖。

 

8051百度百科:8051是一種8位元的單芯片微控制器,屬於MCS-51單芯片的一種,由英特爾公司於1981年制造。INTEL公司將MCS51的核心技術授權給了很多其它公司,所以有很多公司在做以8051為核心的單片機,如Atmel飛利浦、深聯華等公司,相繼開發了功能更多、更強大的兼容產品。

 

CORTEX-M0 M3 M4等,采用的是ARMv6-M、ARMv7-M、ARMv8-M Thumb指令集,采用的是三級流水線工藝,M3具有分支預測功能,可以預取分支目標地址的指令,使分支延遲減少到一個時鍾周期。

CORTEX-M系列的指令周期是不確定的,一方面MCU從Flash取指是有延時的,另一方面Cortex的指令集不是固定周期的,特別從M3加入分支預測后,分支指令在Cortex-M不同型號上的結果都不相同。

 

完。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM