新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 單片機:時鐘周期,機器周期,指令周期,總線周期

        單片機:時鐘周期,機器周期,指令周期,總線周期

        作者: 時間:2018-08-08 來源:網絡 收藏

        時鐘周期:

        本文引用地址:http://www.104case.com/article/201808/385863.htm

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

        在一個時鐘周期內,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個時鐘周期。具體計算為:時鐘周期Xcycles。如果單片機是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的關鍵指標,指取出并執行一條指令的時間。一般以機器周期為單位,分單指令執行周期、雙指令執行周期等?,F在的處理器的大部分指令(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微秒。



        關鍵詞: 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 汝州市| 乐都县| 通辽市| 营山县| 固原市| 新源县| 渑池县| 淮南市| 桦川县| 芒康县| 东光县| 普兰店市| 利川市| 荣成市| 获嘉县| 青州市| 远安县| 郓城县| 丽水市| 怀安县| 南投市| 陕西省| 蒙山县| 高平市| 紫云| 蒲江县| 沽源县| 会东县| 宁陵县| 夏河县| 福鼎市| 砚山县| 图们市| 贡嘎县| 客服| 怀集县| 瓦房店市| 临沭县| 海伦市| 南和县| 合江县|