時鍾周期、機器周期、指令周期


1 時鍾周期

例如51單片機,外部晶振為12MHz,則時鍾周期為1/(12M),也就是(1/12)微秒。

2 機器周期

用C語言寫的程序,會被轉換成一條一條的指令,不同的指令執行的時間不同。

而這個時間的最小衡量單位是機器周期。

簡單指令需要一個機器周期,復雜指令可能需要兩個或兩個以上的機器周期。

對於51單片機,一個機器周期等於12個時鍾周期。

也就是一個時鍾周期為1us。以前用_nop();進行1us延時就是這個道理。

3 指令周期

不同的指令,執行的時間是不同的,但基本的衡量單位是機器周期。

4 STM32的時鍾周期、機器周期與指令周期

STM32時鍾樹如下圖所示。

從時鍾樹可以看出,HCLK、PCLK以及FCLK都是由SYSCLK分頻或倍頻得到的。

STM32時鍾樹里縮略詞說明如下圖所示。

縮略詞 英文 中文
SYSCLK System Clock 系統時鍾
HCLK

High Performance Bus Clock

高性能總線時鍾
PCLK Periphral Bus Clock 外圍設備總線時鍾
FCLK Free Runing Clock 自由運行時鍾

 

如下圖所示,內核(core)的時鍾為72MHz。

 

正點原子:“STM32有三級流水線,指令周期不定的,arm給出的是1.25MIPS/Mhz,一個平均執行速度。”

“就是1Mhz的頻率,每秒鍾可以執行1.25M指令。72M,那么就是72*1.25。”

MIPS(Million Instructions Per Second):每秒處理1百萬條指令。

5 參考

51、430、stm32周期和執行一條語句需要多長時間的問題

https://blog.csdn.net/helenie/article/details/52810046

計算機組成原理:時鍾周期、機器周期和指令周期

https://blog.csdn.net/billbonaparte1/article/details/51297189

STM32的一個指令周期是多少個時鍾周期呀?

http://www.openedv.com/posts/list/13937.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM