微控制器時鐘週期、機器週期、指令週期的區別?

時鐘週期: 時鐘週期也稱為振盪週期,定義為時鐘脈衝的倒數(可以這樣來理解,時鐘週期就是微控制器外接晶振的倒數,例如12M的晶振,它的時間週期就是1/12 us),是計算機中最基本的、最小的時間單位。 在一個時鐘週期內,CPU僅完成一個最基本的動作。對於某種微控制器,若採用了1MHZ的時鐘頻率,則時鐘週期為1us;若採用4MHZ的時鐘頻率,則時鐘 週期為250us。由於時鐘脈衝是計算機的基本工作脈衝,它控制著計算機的工作節奏(使計算機的每一步都統一到它的步調上來)。顯然,對同一種機型的計算 機,時鐘頻率越高,計算機的工作速度就越快。 8051微控制器把一個時鐘週期定義為一個節拍(用P表示),二個節拍定義為一個狀態週期(用S表示)。

機器週期: 在計算機中,為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、儲存器讀、儲存器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器週期。一般情況下,一個機器週期由若干個S週期(狀態週期)組成。 8051系列微控制器的一個機器週期同6個 S週期(狀態週期)組成。前面已說過一個時鐘週期定義為一個節拍(用P表示),二個節拍定義為一個狀態週期(用S表示),8051微控制器的機器週期由6個 狀態週期組成,也就是說一個機器週期=6個狀態週期=12個時鐘週期。 (例如外接24M晶振的微控制器,他的一個機器週期=12/24M 秒)

指令週期: 執行一條指令所需要的時間,一般由若干個機器週期組成。指令不同,所需的機器週期也不同。 對於一些簡單的的單位元組指令,在取指令週期中,指令取出到指令暫存器後,立即譯碼執行,不再需要其它的機器週期。對於一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器週期。 通常含一個機器週期的指令稱為單週期指令,包含兩個機器週期的指令稱為雙週期指令。

匯流排週期:

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

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

相關問題答案