單片機:時鐘週期,機器週期,指令週期

時鐘週期:

     時鐘週期也稱爲振盪週期,定義爲時鐘脈衝的倒數(可以這樣來理解,時鐘週期就是單片機外接晶振的倒數,例如12M的晶振,它的時間週期就是1/12 us),是計算機中最基本的、最小的時間單位

       在一個時鐘週期內,CPU僅完成一個最基本的動作。對於某種單片機,若採用了1MHZ的時鐘頻率,則時鐘週期爲1us;若採用4MHZ的時鐘頻率,則時鐘 週期爲250us。由於時鐘脈衝是計算機的基本工作脈衝,它控制着計算機的工作節奏(使計算機的每一步都統一到它的步調上來)。顯然,對同一種機型的計算 機,時鐘頻率越高,計算機的工作速度就越快。具體計算就是1/fosc。也就是說如果晶振爲1MHz,那麼時鐘週期就爲1us;6MHz的話,就是1/6us。

    8051單片機把一個時鐘週期定義爲一個節拍(用P表示),二個節拍定義爲一個狀態週期(用S表示)。


機器週期:

    在計算機中,爲了便於管理,常把一條指令的執行過程劃分爲若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱爲一個基本操作。完成一個基本操作所需要的時間稱爲機器週期。一般情況下,一個機器週期由若干個S週期(狀態週期)組成。

    8051系列單片機的一個機器週期同6個 S週期(狀態週期)組成。前面已說過一個時鐘週期定義爲一個節拍(用P表示),二個節拍定義爲一個狀態週期(用S表示),8051單片機的機器週期由6個 狀態週期組成,也就是說一個機器週期=6個狀態週期=12個時鐘週期。 具體計算爲:時鐘週期 X cycles。如果單片機是12週期的話,那麼機器週期就是T×12。假設晶振頻率爲12M,單片機爲12週期的話,那麼機器週期就是1us。

    例如外接24M晶振的單片機,他的一個機器週期=12/24M 秒;52系列單片機一個機器週期等於12個時鐘週期。設晶振頻率爲12MHz時,52單片機是12T的單片機,即頻率要12分頻。12M經過分頻變爲1M,由T=1/f,即一個機器週期變爲1us    


指令週期:

    執行一條指令所需要的時間,一般由若干個機器週期組成。指令不同,所需的機器週期也不同。通常,包含一個機器週期的指令成爲單週期指令,比如CLR,MOV等等。包含兩個機器週期的指令稱爲雙週期指令。另外還有4週期指令,比如乘法和除法指令。對於一些簡單的的單字節指令,在取指令週期中,指令取出到指令寄存器後,立即譯碼執行,不再需要其它的機器週期對於一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器週期。


總線週期:

    由於存貯器和I/O端口是掛接在總線上的,CPU對存貯器和I/O接口的訪問,是通過總線實現的。通常把CPU通過總線對微處理器外部(存貯器或 I/O接口)進行一次訪問所需時間稱爲一個總線週期。


總結一下,時鐘週期是最小單位,機器週期需要1個或多個時鐘週期,指令週期需要1個或多個機器週期;機器週期指的是完成一個基本操作的時間,這個基本操作有時可能包含總線讀寫,因而包含總線週期,但是有時可能與總線讀寫無關,所以,並無明確的相互包含的關係。

 

指令週期:是CPU的關鍵指標,指取出並執行一條指令的時間。一般以機器週期爲單位,分單指令執行週期、雙指令執行週期等。現在的處理器的大部分指令(ARM、DSP)均採用單指令執行週期。
機器週期:完成一個基本操作的時間單元,如取指週期、取數週期。
時鐘週期:CPU的晶振的工作頻率的倒數。

例子1:

    22.1184MHZ的晶振,它的晶振週期、時鐘週期和機器週期分別是多少?
    以51爲例,晶振22.1184M,時鐘週期(晶振週期)就是(1/22.1184)μs,一個機器週期包含12個時鐘週期,一個機器週期就是 0.5425μs。一個機器週期一般是一條指令花費的時間,也有些是2個機器週期的指令,DJNZ,是雙 週期指令.

例子2:

     1.振盪週期(時鐘週期):爲單片機提供時鐘信號的振盪源的週期。

    2.機器週期:通常將完成一個基本操作所需的時間稱爲機器週期。

    3.指令週期:是指MCU執行一條指令所需要的時間。一個指令週期通常含有1~4個機器週期。
     若MCU單片機外接晶振爲12MHz時具體值爲:
     振盪週期(時鐘週期)=1/12MHz=1/12μs=0.0833μs, 機器週期=12*1/12μs=1μs,指令週期=1~4μs
     說明:
     1.時鐘週期即晶振的單位時間發出的脈衝數,12MHz=12×10的6次方,即每秒發出12000000個脈衝信號,那麼發出一個脈衝的時間就是時鐘週期,即1/12微秒。
     2.一個機器週期等於12個時鐘週期,所以是1微秒。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章