单片机指令周期、机器周期、状态周期、时钟周期
單片機的系統指令周期根據不同的內核架構各有區別。
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不同型號上的結果都不相同。
?
完。
?
轉載于:https://www.cnblogs.com/leo0621/p/7892252.html
總結
以上是生活随笔為你收集整理的单片机指令周期、机器周期、状态周期、时钟周期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2017.11.23知识点整理
- 下一篇: SCIP习题 1.21(寻找最小因子)