機器周期
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
在電腦中,為了便於管理,常把一條指令的執行過程劃分為若幹個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。
節拍與狀態:把振蕩脈衝的周期定義為節拍(用p表示)。振蕩脈衝經過二分頻後定義為狀態。一個狀態就包含兩個節拍。
指令周期(Instruction Cycle):取出並執行一條指令的時間。
匯流排周期(BUS Cycle):也就是一個訪存儲器或I/O埠操作所用的時間。
時鐘周期(Clock Cycle):又稱震蕩周期,是處理操作的最基本單位。(晶振頻率的 倒數)
指令周期、 匯流排周期和 時鐘周期之間的關係:一個指令周期由若幹個匯流排周期組成,而一個匯流排周期時間又包含有若幹個時鐘周期。
一個匯流排周期包含一個(只有取址周期)或多個機器周期。
CPU每取出一條指令並執行這條指令,都要完成一系列的操作,這一系列操作所需要的時間通常叫做一個 指令周期。換言之 指令周期是取出一條指令並執行這條指令的時間。由於各條指令的操作功能不同,因此各種指令的 指令周期是不盡相同的。 例如一條加法指令的 指令周期同一條乘法指令的指令周期是不相同的。 指令周期常常用若幹個CPU周期數來表示, CPU周期也稱機器周期。指令不同,所需的機器周期數也不同。對於一些簡單的單位元組指令,在取 指令周期中,指令取出到 指令寄存器後,立即解碼執行,不再需要其它的機器周期。對於一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。
1. 微處理器是在 時鐘信號CLK控制下按節拍工作的。8086/8088系統的 時鐘頻率為4.77MHz,每個 時鐘周期約為200ns。
2.由於 存貯器和I/O埠是掛接在 匯流排上的,CPU對存貯器和I/O介面的訪問,是通過 匯流排實現的。通常把CPU通過匯流排對 微處理器外部( 存貯器或 I/O介面)進行一次訪問所需時間稱為一個 匯流排周期。一個 匯流排周期一般包含4個 時鐘周期,這4個時鐘周期分別稱4個狀態即T1狀態、T2狀態、T3狀態和 T4狀態。
一個CPU周期時間有包含若幹個時鐘周期。時鐘周期定義為時鐘脈衝的倒數(可以這樣來理解,時鐘周期就是 單片機外接晶振的倒數,例如12M的晶振,它的時間周期就是1/12 μs),是電腦中最基本的、最小的時間單位。
在一個 時鐘周期內,CPU僅完成一個最基本的動作。由於時鐘脈衝是電腦的基本工作脈衝,它控制著電腦的工作節奏(使電腦的每一步都統一到它的步調上來)。顯然,對同一種機型的電腦, 時鐘頻率越高,電腦的工作速度就越快。但是,由於不同的電腦硬體電路和器件的不完全相同,所以其所需要的時鐘周頻率範圍也不一定相同。我們學習的 8051 單片機的時鐘範圍是1.2MHz-12MHz。
一個機器周期包含六個狀態周期(用S表示)。一個狀態周期有兩個節拍(用P1、P2表示)。
8051系列單片機的一個機器周期同6 個S周期(狀態周期)組成。也就是說一個機器周期=6個狀態周期=12個振蕩周期(即時鐘周期)。