一、時鐘周期。也稱振蕩周期,定義為時鐘頻率的倒數
如果晶振的輸出沒有經過分頻或倍頻就直接作為cpu的工作時鐘,則時鐘周期就等于晶振的振蕩周期;如果晶振的輸出經過分頻或倍頻后作為cpu的工作時鐘,則時鐘周期就是分頻或倍頻后的。即時鐘周期是CPU的實際工作頻率的倒數。
它是單片機中最基本的、最小的時間單位。在一個時鐘周期內,CPU僅完成一個最基本的動作。對于不分頻倍頻的單片機來講,若采用了1MHz的時鐘頻率,則時鐘周期就是1μs;若采用4MHz的時鐘頻率,則時鐘周期就是250us。由于時鐘脈沖是CPU的基本工作脈沖,它控制著CPU的工作節奏(使CPU的每一步都統一到它的步調上來)。顯然,對同一種單片機,時鐘頻率越高,單片機的工作速度就越快。
比如,一個8051單片機外接一個8MHz的晶振,晶振不分頻也不倍頻,直接用于CPU的工作,那么此8051單片機的時鐘頻率就位1/8(us);同樣,一個STM32F10XD的單片機外接一個8MHz的晶振,晶振倍頻7倍,即72MHz,然后用于CPU的工作,那么此STM32F10XD的時鐘頻率為1/72(us)。但是,由于不同的單片機其內部硬件電路和電氣結構不完全相同,所以其所需要的時鐘頻率范圍也不一定相同。
我們使用的STC89C系列單片機的時鐘范圍約在1MHz~ 40MHz。STM32F1系列單片機的系統時鐘范圍一般則在16~128MHZ
二、機器周期
在計算機中, 為了便于管理, 通常把一條指令的執行劃分為若干個階段, 每一個階段完成一項基本任務,如: 取指令、存儲器讀、存儲器寫等, 這每一項工作稱為一個基本操作,完成一個基本操作所需要的時間為機器周期。一般情況下,一個機器周期由若干個狀態周期(時鐘周期)組成。
8051系列單片機的一個機器周期由6個狀態周期組成, 1個狀態周期=2個時鐘周期,所以8051單片機的一個機器周期=6個狀態周期=12個時鐘周期。
三、指令周期
指令周期是執行一條指令所需要的時間,即CPU從內存取出一條指令并執行這條指令的時間總和。一般由若干個機器周期組成,從取指令、分析指令到執行完所需的全部時間。指令不同,所需的機器周期數也不同。
對于一些簡單的的單字節指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執行,不再需要其它的機器周期。對于一些比較復雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。
時鐘周期 = 晶振的震蕩周期(無分頻或倍頻)
時鐘頻率(決定單片機工作速度) = 時鐘周期的倒數
1個機器周期=6個狀態周期=12個時鐘周期
1個狀態周期=2個時鐘周期
一個指令周期含有1~4個機器周期
|