說白了,這三個周期就是CPU干活的時間單位,從小到大:時鐘周期(節拍)<CPU周期(機器周期)<指令周期。
時鐘周期就是晶振震一下的時間,比如12M晶振,一個時鐘周期就是1/12微秒,最小單位,干一個最基本的動作。
8051里,兩個時鐘周期組成一個節拍(P),兩個節拍(也就是4個時鐘周期)是一個狀態周期(S)。
CPU周期也叫機器周期,一般指從內存取一條指令的最短時間。在8051里,一個機器周期等于6個狀態周期,也就是12個時鐘周期。比如12M晶振下,一個機器周期就是1微秒。
指令周期是執行一條指令的總時間,可能包含一個或多個機器周期。簡單指令像單字節操作,取出來立馬就能執行,就是一個機器周期搞定;復雜點的比如乘法、跳轉,就得兩三個機器周期才行。
所以總結一下:
時鐘周期 → 最小單位,控制節奏
CPU周期(機器周期)→ 取指的基本時間單位
指令周期 → 一條指令從頭到尾花的時間,由多個CPU周期組成
一句話:指令周期套著CPU周期,CPU周期又由一堆時鐘周期堆出來的。
時鐘周期就是晶振震一下的時間,比如12M晶振,一個時鐘周期就是1/12微秒,最小單位,干一個最基本的動作。
8051里,兩個時鐘周期組成一個節拍(P),兩個節拍(也就是4個時鐘周期)是一個狀態周期(S)。
CPU周期也叫機器周期,一般指從內存取一條指令的最短時間。在8051里,一個機器周期等于6個狀態周期,也就是12個時鐘周期。比如12M晶振下,一個機器周期就是1微秒。
指令周期是執行一條指令的總時間,可能包含一個或多個機器周期。簡單指令像單字節操作,取出來立馬就能執行,就是一個機器周期搞定;復雜點的比如乘法、跳轉,就得兩三個機器周期才行。
所以總結一下:
時鐘周期 → 最小單位,控制節奏
CPU周期(機器周期)→ 取指的基本時間單位
指令周期 → 一條指令從頭到尾花的時間,由多個CPU周期組成
一句話:指令周期套著CPU周期,CPU周期又由一堆時鐘周期堆出來的。