導航:首頁 > 操作系統 > 單片機cpu使用說明

單片機cpu使用說明

發布時間:2023-12-17 01:33:55

1. 單片機的CPU問題

具體怎麼做是一門學問,大體思路上還是可以粗略講講:
首先,CPU的基本結構都是邏輯電路,所以指令的執行(取值,運算等)都是邏輯電路實現的。
CPU並不認得匯編指令,只認得二進制的機器碼,只能執行二進制的機器碼的指令。我們用匯編指令集編寫的程序在編程環境解釋之後轉換成二進制的機器碼,燒入到存儲器當中。可以說是我們的編程軟體認得我們寫的程序,把它翻譯成CPU認得的程序的。
CPU首先到存儲器指定的地址取得操作碼,然後對操作碼進行解碼之後才能知道要進行什麼操作。假設如果操作碼010是加法。那麼就對數據進行加法運算。具體的運算當然是由邏輯電路實現的。
所以,理論上你可以直接用機器碼來編寫程序,然後燒到晶元中執行。但是全二進制的機器碼不容易記憶也容易出錯,所以廠家就把機器碼翻譯成對應的匯編指令,如上假設加法指令010就被翻譯成ADD,就成了指令。所有這個CPU能夠執行的指令放在一起就是指令集。
因為機器碼的執行需要CPU的硬體支持,所以各個廠家CPU可以執行的指令集會不同,相同指令對應的機器碼也有可能不同。

2. 簡述CPU執行一條指令的過程

幾乎所有的馮·諾伊曼型計算機的CPU,其工作都可以分為5個階段:取指令、指令解碼、執行指令、訪存取數、結果寫回。

1.取指令轎做階段

取指令(InstructionFetch,IF)階段是將一條指令從主存中取到指令寄存器的過程。

程序計數器PC中的數值,用來指示當前指令在主存中的位置。當一條指令被取出後,PC中的數值將根據指令字長度而自動遞增:若為單字長指令,則(PC)+1àPC;若為雙字長指令,則(PC)+2àPC,依賣唯此類推。

2.指令解碼階段

取出指令後,計算機立即進入指令解碼(InstructionDecode,ID)階段。

在指令解碼階段,指令解碼器按照預定的指令格式,對取回的指令進行拆分和解釋,識別區分出不同的指令類別以及各種獲取操作數的方法。

在組合邏輯控制的計算機中,指令解碼器對不同的指令操作碼產生不同的控制電位,以形成不同的微操作序列;在微程序控制的計算機中,指令解碼器用指令操作碼來找到執行該指令的微程序的入口,並從此入口開始執行。

3.執行指令階段

在取指令和指令解碼階段之後,接著進入執行指令(Execute,EX)階段。

此階段的任務是完成指令所規定的各種操作,具體實現指令的功能。為此,CPU的不同部分被連接起來,以執行所需的操作。

4.訪存取數階段

根據指令需要,有可能要訪問主存,讀取操作數,這樣就進入了訪存取數(Memory,MEM)階段。

此階段的任務是:根據指令地址碼,得到操作數在主存中的地址,並從主存中讀取該操作數用於運算。

5.結果寫回階段

作為最後一個階段,結果寫回(WriteBack,WB)階段把執行指令階段的運行結果數據「寫回」到某種存儲形式:

結果數據經常被寫到CPU的內部寄存器中,以便被後續的指令快速地存取;

在有些情況下,結果數據也可被寫入相對較慢、但較廉價且容量較大的主存。許多指令還會改變程序狀態字寄存器中標志位的狀態,這些標志位標識著不同的操作結果,可被用來影響程序的動作。

在指令執行完畢、結果數據寫回之後,若無意外事件(如結果溢出等)發生,計算機就接著從程序計數器PC中取得下一條指令地址,開始新一輪的循環,下一個指令周期將順序取出下一條指令。

(2)單片機cpu使用說明擴展閱讀:

指令的執行過程例子:

開機時,程序計算器PC變為0000H。然後單片機在時序電路作用下自動進入執行程序過程。執行過程實際上就是取出指令(取出存儲器中事先存放的指令階段)和執行指令(分析和執行指令)的循環過程。

例如執行指令:MOVA,#0E0H,其機器碼為「74HE0H」,該指令的功能是把操作數E0H送入累加器。

0000H單元中已存放74H,0001H單元中已存放E0H。當單片機開始運行時,首先是進入取指階段,其次序是:

1.程序計數器的內容(這時是0000H)送到地址寄存器;

2.程序計數器的內容自動加1(變為0001H);

3.地址寄存器的內容(0000H)通過內部地址匯流排送到存儲器,以存儲器中地址解碼電跟,使地址為0000H的單元被選中;

4.CPU使讀控制線有效;

5.在讀命令控制下被選中存儲器單元的內容(此時應為74H)送到內部數據匯流排上,因為是取指階段,所以該內容通過數據匯流排被送到指令寄存器。至此,取指階段完成,進入解碼分析和執行指令階段。

由於本次進入指令寄存器中的內容是74H(操作碼),以解碼器解碼後單片機就會知道該指令是要將一個數送到A累加器,而該數是在這個代碼的下一個存儲單元。

所以,執行該指令還必須把數據(E0H)從存儲器中取出送到CPU,即還要在存儲器中取第二個位元組。其過程與取指階段很相似,只是此時PC已為0001H。指令解碼器結合時序部件,產生74H操作碼的微操作系列,使數字E0H從0001H單元取出。

因為指令是要求把取得的數送到A累加器,所以取出的數字經內部數據匯流排進入A累加器,而不是進入指令寄存器。至此,一條指令的執行完畢。單片機中PC="0002H",PC在CPU每次向存儲器取指或取數時中帆培自動加1,單片機又進入下一取指階段。

這一過程一直重復下去,直至收到暫停指令或循環等待指令暫停。CPU就是這樣一條一條地執行指令,完成所有規定。

3. 單片機cpu的主要功能有

很多人都認為,單機片和CPU不是屬於兩種不同的東西嗎?他們怎麼可以拿來比較,其實有專業人士就知道單機片和CPU 的關系可以說是十分的密切。本文來分享一下,他們到底隱藏著什麼秘密。

什麼是單片機,相信很多人都還不知道。也不知道單片機的作用是什麼。單片機簡稱為單片微控制器(Microcontroler),它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上,相當於一個微型的計算機,因為它最早被用在工業控制領域。單片機由晶元內僅有CPU的專用處理器發展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個晶元中,使計算機系統更小,更容易集成進復雜的而對提及要求嚴格的控制設備當中。Intel的Z80是最早按照這種思想設計出的處理器,從此以後,單片機和專用處理器的發展便分道揚鑣。

大家都知道我們的電腦主要是由中央處理單元CPU(進行運算、控制)、隨機存儲器RAM(數據存儲)、存儲器ROM(程序存儲)、輸入/輸出設備I/O(串列口、並行輸出口等)。安裝在一個被稱之為主板的印刷線路板上,就是我們個人的計算機了。

把單片機看成一個整體分成四塊就很容易認識了。 把這些東西(CPU,硬碟,內存,主板等等)用集成塊做好後,如下圖所視:

就成了我們要學習的「單片機」了。而在單機片的內部,CPU,硬碟,內存,主板等等卻又是另外的名字。

1)CPU(Central Processing Unit)。它是單片機的核心部件,包括運算器和控制器。運算器既是算術邏輯單元ALU(ArithmeTIc logic Unit),其功能是進行算術運算和邏輯運算。控制器一般由指令寄存器、指令解碼器、時序電路和控制電路組成。起作用是完成取指令、將指令解碼形成各種微操作並執行指令,同時控制計算機的各個部件有條不紊地工作。

2)計算機中的內存,在單片機里叫數據存儲器,也叫隨機存儲器。用RAM(Random Access Memery)表示。其作用是用於存放運算的中間結果,數據暫存和緩沖,標志位等。特點是:掉電後會丟失數據。

3)計算機中的硬碟,在單片機中,叫程序存儲器,也叫只讀存儲器。用ROM(Read only memery)表示。其作用和硬碟差不多,用來存放用戶程序。特點是:掉電後不會丟失數據。

4)輸入/輸出設備I/O「主板」,在單片機里,叫做I/O(輸入輸出設備)當然也包含了串列口,並行口,定時器,記時器等等

閱讀全文

與單片機cpu使用說明相關的資料

熱點內容
壓縮文件好處 瀏覽:785
3d266期神童三膽計演算法 瀏覽:189
通過愛思助手怎麼下載app 瀏覽:323
vi命令將文件創在桌面上 瀏覽:923
程序員做競價 瀏覽:696
江蘇中小學編程納入課程 瀏覽:730
單純形法包括動態規劃演算法 瀏覽:951
cpdf百度網盤 瀏覽:671
綜合布線工程中配線架的演算法 瀏覽:925
單片機碩士論文 瀏覽:329
股票預測演算法現狀 瀏覽:430
程序員三高 瀏覽:180
pythonfiddle 瀏覽:215
韓信分油總共有幾種演算法 瀏覽:941
程序員思維方案 瀏覽:970
編譯環境要裝c盤嗎 瀏覽:649
單片機生成pwm 瀏覽:206
線上租車有什麼app 瀏覽:908
php程序修改 瀏覽:684
下列能查找文件或文件夾的操作是 瀏覽:314