系統(tǒng)時(shí)鐘決定了CPU執(zhí)行指令的時(shí)候
CPU的主頻大家都知道吧,記得上大學(xué)那會裝的第一臺電腦用的是433MH主頻的CPU。現(xiàn)在主流CPU主頻一般是3GHz,運(yùn)算速度已經(jīng)提升了很多個(gè)數(shù)量級了。單片機(jī)集成了CPU、RAM、ROM等,它的內(nèi)部也有一個(gè)CPU。

單片機(jī)的時(shí)鐘周期、狀態(tài)周期、機(jī)器周期、指令周期是什么?
不同架構(gòu)單片機(jī)的時(shí)鐘周期、狀態(tài)周期、機(jī)器周期、指令周期是不一樣的,以8051單片機(jī)為例:
時(shí)鐘周期:時(shí)鐘振蕩的周期叫做時(shí)鐘周期,如果使用外部晶振作為系統(tǒng)時(shí)鐘,晶振產(chǎn)生的一個(gè)振蕩脈沖叫做一個(gè)時(shí)鐘周期。
狀態(tài)周期:一個(gè)時(shí)鐘周期定義為一個(gè)節(jié)拍,兩個(gè)節(jié)拍定義為一個(gè)狀態(tài)周期(可以用S表示),所以一個(gè)狀態(tài)周期等于兩個(gè)時(shí)鐘周期。
機(jī)器周期:機(jī)器周期是指令周期的最小單位,它是讀取一條指令的最短時(shí)間,一個(gè)機(jī)器周期等于6個(gè)狀態(tài)周期。
指令周期:一條指令包括了一個(gè)或者多個(gè)機(jī)器周期,不同指令所需要的機(jī)器周期是不一樣的,單周期指令只需要一個(gè)機(jī)器周期,多周期指令就需要多個(gè)機(jī)器周期。
由此可見,不管是單周期指令還是多周期指令,它的執(zhí)行最終還是與時(shí)鐘周期相關(guān)的。
最簡單的指令(單周期指令)它需要12個(gè)時(shí)鐘周期。
單片機(jī)時(shí)鐘決定了指令程序執(zhí)行時(shí)間
我們編寫的單片機(jī)程序,最終會由編譯器翻譯為匯編語言,最后編譯為機(jī)器代碼下載到單片機(jī)的RoM中去,單片機(jī)上電時(shí)就會讀取并執(zhí)行ROM的程序。以8051單片機(jī)為例:
單周期指令需要12個(gè)時(shí)鐘周期,雙周期指令需要24個(gè)時(shí)鐘周期。假如我們使用24MHz的晶振作為系統(tǒng)時(shí)鐘,那么12個(gè)時(shí)鐘周期的時(shí)間為0.5us(納秒),也就是說執(zhí)行一條單周期指令需要0.50(納秒);如果把晶振改為12MHz,12個(gè)時(shí)鐘周期的時(shí)間為1us(納秒),執(zhí)行一條單周期指令需要1us(納秒);
程序的執(zhí)行就是依靠芯片的時(shí)鐘的。
單片機(jī)時(shí)鐘選擇:內(nèi)部時(shí)鐘源,外部時(shí)鐘源
一般單片機(jī)系統(tǒng)時(shí)鐘是可以選擇內(nèi)部時(shí)鐘或者是外部時(shí)鐘的。根據(jù)不同的應(yīng)用需求去具體選擇。例如一些小項(xiàng)目對精度的要求不是很大,是可以選擇使用內(nèi)部時(shí)鐘的,這樣可以降低些成本,省去了外部時(shí)鐘電路。但精度,穩(wěn)定度要求較高,就需要選型高可靠質(zhì)量的外部晶振和與晶振匹配的電容,一起組成外部時(shí)鐘源。
芯片內(nèi)部時(shí)鐘源:一般是內(nèi)部RC時(shí)鐘,也就是由內(nèi)部電阻電容組成的震蕩電路。時(shí)鐘的精度,穩(wěn)定度都不是太好,容易受到外界溫度濕度的影響。所以每個(gè)芯片內(nèi)部時(shí)鐘源都是不一樣的,都會有一定差異性。但這個(gè)差異性在一定的應(yīng)用中根本感覺不到。感覺不到是由于一般芯片的運(yùn)行系統(tǒng)時(shí)鐘都是幾MHZ-幾十MHZ的頻率。即便出現(xiàn)一定的偏差,但這個(gè)偏差和總時(shí)鐘幾十MHZ相比,還是相當(dāng)小的。 一般內(nèi)部RC的精度是幾十ppm-幾百ppm。1PPM的意義是1MHZ會偏差個(gè)正負(fù)1HZ。
芯片外部時(shí)鐘源:晶振和匹配電容。外部晶振的精度5ppm-20ppm。根據(jù)性能要求可具體選擇相應(yīng)參數(shù)。
綜上:單片機(jī)的時(shí)鐘變慢是會影響運(yùn)行速度的,不僅時(shí)鐘有可能變慢,還是有可能變快的。但這個(gè)快慢的差異對程序的影響會不會帶來一些錯(cuò)誤的執(zhí)行,還需要具體分析程序?qū)崿F(xiàn)的功能和邏輯。但一般技術(shù)的實(shí)現(xiàn)都已經(jīng)考慮了允許誤差。
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45495瀏覽量
670439 -
cpu
+關(guān)注
關(guān)注
68文章
11279瀏覽量
225018 -
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1971瀏覽量
135004
發(fā)布評論請先 登錄
STM32上電啟動后,會有幾率出現(xiàn)程序運(yùn)行速度變慢的現(xiàn)象,是為什么?
51單片機(jī)打開串口通信是否會主程序運(yùn)行速度?
AVR運(yùn)行速度為什么變慢
ARM處理器設(shè)計(jì)的機(jī)制是如何使得它的運(yùn)行速度遠(yuǎn)快于51單片機(jī)運(yùn)行速度的
單片機(jī)時(shí)鐘電路原理圖
單片機(jī)時(shí)鐘電路
單片機(jī)時(shí)鐘精度調(diào)整解析
一文看懂rtc實(shí)時(shí)時(shí)鐘和單片機(jī)時(shí)鐘的區(qū)別
單片機(jī)的執(zhí)行速度與什么有關(guān)
單片機(jī)時(shí)鐘不準(zhǔn)怎么辦?這樣來調(diào)整!
單片機(jī)時(shí)鐘電路的概念/工作原理/基本結(jié)構(gòu)/作用
單片機(jī)內(nèi)部時(shí)鐘電路的工作原理
單片機(jī)時(shí)鐘變慢會影響運(yùn)行速度嗎
評論