1.時鐘週期
在一個時鐘週期內,CPU僅完成一個最基本的動作。對於某種單片機,若採用了1MHZ的時鐘頻率,則時鐘週期爲1us;若採用4MHZ的時鐘頻率,則時鐘週期爲250us。由於時鐘脈衝是計算機的基本工作脈衝,它控制着計算機的工作節奏(使計算機的每一步都統一到它的步調上來)。顯然,對同一種機型的計算機,時鐘頻率越高,計算機的工作速度就越快。但是,由於不同的計算機硬件電路和器件的不完全相同,所以其所需要的時鐘周頻率範圍也不一定相同。8051單片機的時鐘範圍是1.2MHz-12MHz。
在8051單片機中把一個時鐘週期定義爲一個節拍(用P表示),二個節拍定義爲一個狀態週期(用S表示)。請大家參考後面的時序圖。
2.機器週期
在計算機中,爲了便於管理,常把一條指令的執行過程劃分爲若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱爲一個基本操作。完成一個基本操作所需要的時間稱爲機器週期。一般情況下,一個機器週期由若干個S週期(狀態週期)組成。8051系列單片機的一個機器週期由6個S週期(狀態週期)組成。前面已說過一個時鐘週期定義爲一個節拍(用P表示),二個節拍定義爲一個狀態週期(用S表示),8051單片機的機器週期由6個狀態週期組成,也就是說一個機器週期=6個狀態週期=12個時鐘週期。
3.指令週期
指令週期是執行一條指令所需要的時間,一般由若干個機器週期組成。指令不同,所需的機器週期數也不同。對於一些簡單的的單字節指令,在取指令週期中,指令取出到指令寄存器後,立即譯碼執行,不再需要其它的機器週期。對於一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器週期。通常含一個機器週期的指令稱爲單週期指令,包含兩個機器週期的指令稱爲雙週期指令。
MCS-51指令系統中,按它們的長度可分爲單字節指令、雙字節指令和三字節指令。執行這些指令需要的時間是不同的,也就是它們所需的機器週期是不同的,有下面幾種形式:
單字節指令單機器週期
單字節指令雙機器週期
雙字節指令單機器週期
雙字節指令雙機器週期
三字節指令雙機器週期
單字節指令四機器週期(如單字節的乘除法指令)
以下是另一種說法,未考究。
振盪週期、時鐘週期、機器週期和指令週期
1.振盪週期:爲單片機提供時鐘信號的振盪源的週期。
2.時鐘週期:是振盪源信號經二分頻後形成的時鐘脈衝信號。
3.機器週期:通常將完成一個基本操作所需的時間稱爲機器週期。
4.指令週期:是指CPU執行一條指令所需要的時間。一個指令週期通常含有1~4個機器週期。
若MCS-51單片機外接晶振爲12MHz時,則單片機的四個週期的具體值爲:
振盪週期=1/12MHz=1/12μs=0.0833μs
時鐘週期=1/6μs=0.167μs
機器週期=1μs
指令週期=1~4μs