關於單片機時鐘

 

機器週期:在計算機中,常把一條指令的執行過程劃分爲若干個階段,
每一個階段完成一項工作。每一項工作稱爲一個基本操作,完成一個
基本操作所需要的時間稱爲機器週期。

指令週期:執行一條指令所需要的時間,一般由若干個機器週期組成。
指令不同,所需的機器週期也不同。

 

一個時鐘週期 = MCLK晶振的倒數。如果MCLK是8M,則一個時鐘週期爲1/8us;

一個機器週期 = 一個時鐘週期,即每個動作都能完成一個基本操作;

一個指令週期 = 1~6個機器週期,具體根據具體指令而定。

沒有設置分頻,在8MHZ晶振下   那麼機器週期就是1/8M=125ns, 單指令的執行時間就是125ns

時鐘週期是頻率的倒數。

指令週期,就是cpu執行一條彙編指令所需要的時間。

 

STM32系列芯片(Cortex-M3)有三級流水線,指令週期不定,ARM給出的Cortex-M3核單片機的平均執行速度是1.25MIPS/Mhz。
  MIPS的全稱是Million Instructions Per Second,每秒百萬指令(西方或者國際上的計量體系中1M(兆)=100萬=1000000);Mhz,是指單片機CPU的主頻兆赫茲。
  MIPS/Mhz的意思是(單片機CPU的主頻)每兆赫茲下(單片機的指令執行速度)每秒執行1M(兆)條指令。比如,ARM官方給出的STM32F103x系列單片機的平均執行速度是1.25MIPS/Mhz,如果設置單片機A的主頻爲72MHz,那麼單片機A的執行速度=1.25*72=90MIPS,即每秒執行90M條指令,一條指令的執行時間爲1/90us=0.011us=11ns。注意,官方說的1.25DMIPS/MHz,是通過測試一些算法來實現的,不是實際測試硬件的結果,只能作爲大概的一個參考。
  CPU執行中斷時需要時間的,如入棧,出棧,以及其他處理,都需要時間!一般情況下,STM32的中斷性能不超過500Khz,也就是中斷間隔達到2us一次時,不管你中斷函數多精簡,基本上CPU就不會幹其他什麼事情了,因爲它都在進出中斷了。
  單條指令執行時間:STM32F10X單片機在主頻爲72MHz下,C語言程序執行一條指令需要的時間可認爲10ns~100ns。
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章