1. 如何判斷單片機的機器周期
T機器
=
T晶振/分頻系數
T晶振相信不用我說了,就是你用的多大的晶振
分頻系數因不同的單片機而不同,普通的8051,像AT89S5X系列的,分頻系數是固定的12;
STC的單片機,如STC89S5X系列的,分頻系數有兩種,可能是6,可能是12,這在你下載程序的時候,用STC官方的下載軟體選擇;STC12系列,STC15系列的,分頻系數有三種,可能是1,可能是6,也可能是12;
中穎的分頻系數只是1;
其他的51單片機樓主就要自己看手冊了。
其他的非51內核的單片機,分頻系統全是1;
也就是說,分頻系統越小,單片機越快;
當分頻系數為1時,機器周期就等於晶振周期,機器周期
=
晶振頻率的倒數。
2. 單片機的機器周期
以 8051 為例: 對於單片機的CPU 來說,就是取指令,指令解碼,執行 這3個步驟,任何一條指令都有這三個步驟!存儲器讀,寫其實也屬於執行的。
不同指令是需要話費不同時間的,如乘法需要4個機器周期。訪問累加器則只需要1個機器周期。多看書吧。一個機器周期為12個時鍾周期,對於PIC單片機為 4個時鍾周期。
3. 什麼是單片機機器周期
提起機器周期,可能很多剛剛開始學習單片機的同學都不太了解其具體含義,如果我們換一種說法來理解,即這是一個基本操作所需要的時間,是不是就好理解一些了呢?
在單片機定時器的操作過程中,為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。
通常情況下,在51單片機的運行過程中,一個機器周期一般是由若干個狀態周期組成。8051系列單片機的一個機器周期同6個狀態周期組成。前面已說過一個時鍾周期定義為一個節拍,二個節拍定義為一個狀態周期,8051單片機的機器周期由6個狀態周期組成,也就是說一個機器周期=6個狀態周期=12個時鍾周期。
參考資料來源:吳鑒鷹吧
貢獻文檔:網路文庫《吳鑒鷹單片機項目實戰精講》
參考實例:吳鑒鷹單片機開發板
4. 單片機中機器周期和指令周期是什麼回事,有什麼關系嗎
機器周期是震盪周期,由晶振或者內部RC給出,每個頻率周期就是一個機器周期,指令周期是包含機器周期,指令周期可坦納能有單指令周期和多指令周期,單指令周期是指一沒信正條指令佔用一枯悔個機器周期,多指令周期是指執行一條指令,需要多個機器周期
速度再提高也是加快運行速度,機器周期變快了,但是指令周期還是不變的,
5. 單片機的振盪頻率是12mhz,則一個機器周期是多少us,指令周期是一個固定值嗎
C51單片機,振盪頻率 Fs 是12mhz,則一個機器周期是1us;
指令周期有長有短,最短為一個機器周期;
6. 單片機的機器周期和時鍾周期分別怎麼算的,還請舉例說明下
單片機的機器周期=12秒/晶振頻率,時鍾周期=振盪周期,等於單片機晶振頻率的倒數,如常見的外接12M晶振,那它的時鍾周期=1/12M。
時鍾周期以時間動作重復的最小周期來度量,度量單位採用時間單位。在單個時鍾周期內(現代非嵌入式微處理器的這個時間一般都短於1納秒),邏輯零狀態與邏輯一狀態來回切換。由於發熱和電氣規格的限制,周期里邏輯零狀態的持續時間歷來要長於邏輯一狀態。
一般情況下,一個機器周期由若干個S周期(狀態周期)組成。通常用內存中讀取一個指令字的最短時間來規定CPU周期,(也就是 計算機通過內部或外部匯流排進行一次信息傳輸從而完成一個或幾個微操作所需要的時間)),它一般由12個時鍾周期(振盪周期)組成,也是由6個狀態周期組成。
(6)32位單片機機器周期擴展閱讀
在一個時鍾周期內,CPU僅完成一個最基本的動作。由於時鍾脈沖是計算機的基本工作脈沖,它控制著計算機的工作節奏(使計算機的每一步都統一到它的步調上來)。顯然,對同一種機型的計算機,時鍾頻率越高,計算機的工作速度就越快。
但是,由於不同的計算機硬體電路和器件的不完全相同,所以其所需要的時鍾周頻率范圍也不一定相同。我們學習的 8051單片機的時鍾范圍是1.2MHz-12MHz。
一個機器周期包含六個狀態周期(用S表示)。一個狀態周期有兩個節拍(用P1、P2表示)。8051系列單片機的一個機器周期同6 個S周期(狀態周期)組成。也就是說一個機器周期=6個狀態周期=12個振盪周期(即時鍾周期)。
7. 什麼是單片機的機器周期、震盪周期和指令周期他們之間是什麼關系
機器周期
計算機中,常把一條指令的執行過程劃分為若干個階段,每一個階段完成一項工作。
每一項工作稱為一個基本操作,完成一個基本操作所需要的時間稱為機器周期。
振盪周期
振盪周期,定義為時鍾脈沖的倒數(時鍾周期就是單片機外接晶振的倒數,例如12M的晶振,它的時鍾周期就是1/12us),是計算機中的最基本的、最小的時間單位。
在一個時鍾周期內,CPU僅完成一個最基本的動作。時鍾脈沖是計算機的基本工作脈沖,控制著計算機的工作節奏。時鍾頻率越高,工作速度就越快。
指令周期
執行一條指令所需要的時間,一般由若干個機器周期組成。指令不同,所需的機器周期也不同。
三者的關系:振盪周期是最小單位,機器周期需要1個或多個振盪周期,指令周期需要1個或多個機器周期;機器周期指的是完成一個基本操作的時間,這個基本操作有時可能包含匯流排讀寫,因而包含匯流排周期,但是有時可能與匯流排讀寫無關,所以,並無明確的相互包含的關系。
(7)32位單片機機器周期擴展閱讀
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
發展歷史
單片機(Microcontrollers)誕生於1971年,經歷了SCM、MCU、SoC三大階段,早期的SCM單片機都是8位或4位的。其中最成功的是INTEL的8051,此後在8051上發展出了MCS51系列MCU系統。基於這一系統的單片機系統直到現在還在廣泛使用。
隨著工業控制領域要求的提高,開始出現了16位單片機,但因為性價比不理想並未得到很廣泛的應用。
90年代後隨著消費電子產品大發展,單片機技術得到了巨大提高。隨著INTEL i960系列特別是後來的ARM系列的廣泛應用,32位單片機迅速取代16位單片機的高端地位,並且進入主流市場。
而傳統的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數百倍。高端的32位Soc單片機主頻已經超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。
當代單片機系統已經不再只在裸機環境下開發和使用,大量專用的嵌入式操作系統被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統。
8. 單片機中的晶振周期、系統時鍾周期、機器周期各是什麼它們之間有何關系
晶振周期:晶振的振盪周期就是時鍾周期,比如12M晶振時鍾周期是1/12M;機器周期是單片機執行指令所消耗的最小時間單位。比如51是12分頻,51的1個機器周期劃分為6個狀態周期、12個節拍;12M晶振機器周期是1/12M*12=1S;
時鍾周期:也稱為振盪周期, 定義為時鍾脈沖的倒數 (可以這樣來理解,時鍾周期就是單 片機外接晶振的倒數, 例如 12M 的晶振, 它的時間周期就是 1/12 us) , 是計算機中最基本的、 最小的時間單位。
機器周期:單片機完成一次完整的具有一定功能的動作所需的時間周期。如一次完整的讀操作或寫操作對應的時間。一個機器周期=6個狀態周期。【指令周期】: 執行完某條指令所需要的時間周期,一般需要1~4個機器周期,如MUL AB指令是四機器周期指令。一個指令周期=1~4個機器周期。
關系:時鍾周期,是晶振頻率的倒數。 狀態周期,是時鍾周期的二倍。機器周期,是時鍾周期的12 倍。 如:晶振頻率是 12MHz,時鍾周期就是,(1/12)us。 狀態周期就是,(2/12)us。機器周期就是,(12/12)=1us。
例如:在MCS-51單片機的時鍾周期與振盪周期是相等的,12M晶振,振盪周期就是(1/12M)s,
機器周期的時序,由12個時鍾周期(12T)組成,在一些增強型的51單片機中,機器周期縮短為6T,甚至1T,以提高匯流排訪問速率。(飛利浦降為6T,STC已降為1T)
9. 單片機的機器周期和時鍾周期分別怎麼算的,還請舉例說明下
你好!
以51為例(不同的MCU計算方法不同):
外部晶振為12Mhz
,
振盪周期
=
時鍾周期
=
12Mhz
機器周期為12個時鍾周期,即1Mhz。
周期是時間的倒數,即一個機器周期1/1Mhz=1us
指令周期:因為51是復雜指令集,執行一條指令需要1~3個機器周期(根據指令不同而不同)
如有疑問,請追問。
10. stm32 執行一條機器語言的指令周期是多久
時鍾每跳1兆次,可以執行1.25兆條指令。指令周期=時鍾周期*1.25,時鍾周期是1/72mhz,故指令周期是(1.25/72mhz)約是0.0174us。
stm32 屬於ARM CortexM3,多數指令是單周期的。
cortex-m3是三級流水線,同時執行3條指令,指令周期不定,分支指令也可能清空流水線,導致預先執行的指令失效。
ARM官方的數字是1.25MIPS/MHz,我的理解就是每個周期平均執行1.25條指令。
擴展簡隱乎資料:
計算機之所以能自動地工作,是因為CPU能從存放程序的內存里取出一條指令攔悉並執行這條指令;緊接著又是取指令,執行指令,如此周而復始,構成了一個封閉的循環。除非遇到停機指令,否則這個循環將一直繼續下去。
指令周期 :CPU從內存取出一條指令並執行這條指令的時間總和。
CPU周期 :又攜橘稱機器周期,CPU訪問一次內存所花的時間較長,因此用從內存讀取一條指令字的最短時間來定義。
時鍾周期: 通常稱為節拍脈沖或T周期。一個CPU周期包含若干個時鍾周期。