您好,歡迎進入深圳市穎特新科技有限公司官方網(wǎng)站!
時鐘周期
時鐘周期也稱為振蕩周期,定義為時鐘脈沖的倒數(shù)(時鐘周期就是單片機外接晶振的倒數(shù),例如12M的晶振,它的時鐘周期就是1/12us),是計算機中的最基本的、最小的時間單位。
在一個時鐘周期內,CPU僅完成一個最基本的動作。時鐘脈沖是計算機的基本工作脈沖,控制著計算機的工作節(jié)奏。時鐘頻率越高,工作速度就越快。
8051單片機把一個時鐘周期定義為一個節(jié)拍(用P表示),二個節(jié)拍定義為一個狀態(tài)周期(用S表示)。
機器周期
計算機中,常把一條指令的執(zhí)行過程劃分為若干個階段,每一個階段完成一項工作。每一項工作稱為一個基本操作,完成一個基本操作所需要的時間稱為機器周期。8051系列單片機的一個機器周期由6個S周期(狀態(tài)周期)組成。 一個S周期=2個節(jié)拍(P),所以8051單片機的一個機器周期=6個狀態(tài)周期=12個時鐘周期。
例如外接24M晶振的單片機,他的一個機器周期=12/24M 秒;
指令周期
執(zhí)行一條指令所需要的時間,一般由若干個機器周期組成。指令不同,所需的機器周期也不同。
CPU 周期信號、節(jié)拍周期信號、節(jié)拍脈沖信號三者之間的關系是什么?
一小塊石英晶體加電后產(chǎn)生壓電反應,在固定頻率振動,產(chǎn)生出電壓按照固定周期變化的脈沖信號。這個高頻率的信號通向分頻器(frequency divider),轉化為比較低頻的信號。
( http://www.electronics-tutorials.ws/counter/count_1.html )
以上圖為例,分頻器分出來的信號有四個頻率。題目中所說 CPU周期信號、節(jié)拍周期信號、節(jié)拍脈沖信號本質上都是時鐘脈沖的不同分頻,主要區(qū)別在于用途上。
通常來說,CPU 周期信號最“慢”,它決定 CPU 所處的狀態(tài)。CPU 執(zhí)行一條指令的周期叫做指令周期(instruction cycle),指令周期可以劃分為 fetch、decode、和 execute 三個部分,所以也叫 fetch-decode-execute cycle。假設上圖與 QD 頻率相同的信號有三個,QD1、QD2、QD3,它們分別依次處于高電位,那么就可以用它們來控制 CPU 處于 fetch、decode、還是 execute 狀態(tài),這就是 CPU 周期信號。
節(jié)拍周期信號是控制信號,調整電路的功能。比如,現(xiàn)在 CPU 處于 fetch 狀態(tài),仍舊以上圖為例,假設 QC 這個比 QD “快”的信號有 QC1、QC2、QC3……QCi 個,分別對應電路的不同功能(比如,應該將從內存中取來的數(shù)字作為指令解釋,還是送給寄存器存起來),誰處于高電位,CPU 就能執(zhí)行誰決定的功能。
節(jié)拍脈沖信號則是觸發(fā)信號,決定電路的實際工作起點。以上圖的 QB 為例,假設 QD1 決定 CPU 處于 fetch 階段,QC1 決定 CPU 的功能是去內存取一個數(shù)字,那么 QB 的上升沿會觸發(fā)整個電路切實地執(zhí)行這個功能。
可以這樣類比:
某診所周一二三門診,周四五看復診病人,周六日不辦公
——對應三個 CPU 周期
診所星期一二三 8:00 開始門診,12:00 午休,13:00 繼續(xù)門診,17:00 關門
——對應節(jié)拍周期
某個病人星期二 9:00 去看了病
——對應脈沖信號
(注意上面的說法極度簡化,實際的實現(xiàn)要復雜很多,比如振動源不一定是石英,每個 CPU 周期未必等長,CPU 也并不是在某一時刻只能處于單獨一種周期狀態(tài)里(詳見 pipelining),乃至周期層級也未必就是三層等等。)
上一篇:QT顯示中文 連接上文
下一篇:存儲器原理(轉)