天天看點

時鐘周期,機器周期,指令周期,總線周期

時鐘周期,機器周期,指令周期,總線周期之間的差別!

1.時鐘周期 : 

   時鐘周期也稱為振蕩周期,定義為時鐘脈沖的倒數(可以這樣來了解,時鐘周期就是單片機外接晶振的倒數,例如12M的晶振,它的時間周期就是1/12 us),是計算機中最基本的、最小的時間機關。 

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

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

2.機器周期 : 

   在計算機中,為了便于管理,常把一條指令的執行過程劃分為若幹個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。一般情況下,一個機器周期由若幹個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周期指令,比如乘法和除法指令。對于一些簡單的的單位元組指令,在取指令周期中,指令取出到指令寄存器後,立即譯碼執行,不再需要其它的機器周期。對于一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。 

3.總線周期 : 

    由于存貯器和I/O端口是挂接在總線上的,CPU對存貯器和I/O接口的通路,是通過總線實作的。通常把CPU通過總線對微處理器外部(存貯器或 I/O接口)進行一次通路所需時間稱為一個總線周期。 

      總結一下,時鐘周期是最小機關,機器周期需要1個或多個時鐘周期,指令周期需要1個或多個機器周期;機器周期指的是完成一個基本操作的時間,這個基本操作有時可能包含總線讀寫,因而包含總線周期,但是有時可能與總線讀寫無關,是以,并無明确的互相包含的關系。 指令周期:是CPU的關鍵名額,指取出并執行一條指令的時間。一般以機器周期為機關,分單指令執行周期、雙指令執行周期等。現在的處理器的大部分指令(ARM、DSP)均采用單指令執行周期。機器周期:完成一個基本操作的時間單元,如取指周期、取數周期。時鐘周期:CPU的晶振的工作頻率的倒數。

繼續閱讀