考試&面試必備 | 單片機基本結構詳解

關于單片機的應用領域,相必大家以相當的熟悉了,達到航空航天,小到個人的穿戴設備、電動玩具,都離不開單片機的影子,如果沒有單片機,我的現在炒的火熱的物聯網、AI也無從說起。對于大多數人而言,知道單片機的應用領域,已經足夠,但對于我們開發人員來說,了解其結構組成與原理是必不可少的。

 

什么是單片機?

 

單片機是典型的嵌入式微控制器MCU,由運算器,控制器,存儲器,輸入輸出設備等構成,相當于一個微型的計算機。

 

與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬件)和節約成本。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出接口簡單,功能較低。由于其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多應用場合被稱為范圍更廣的微控制器

 

單片機的基本結構

 

運算器

 

運算器由運算部件——算術邏輯單元(簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數據進行算術或邏輯運算,輸入來源為兩個8位數據,分別來自累加器和數據寄存器。

 

ALU能完成對這兩個數據進行加、減、與、或、比較大小等操作,最后將結果存入累加器。例如,兩個數67相加,在相加之前,操作數6放在累加器中,7放在數據寄存器中,當執行加法指令時,ALU即把兩個數相加并把結果13存入累加器,取代累加器原來的內容6

 

  運算器有兩個功能:

 

   執行各種算術運算。

 

  執行各種邏輯運算,并進行邏輯測試,如零值測試或兩個值的比較。

 

  

 控制器

 

  控制器由程序計數器、指令寄存器、指令譯碼器、時序發生器和操作控制器等組成,是發布命令的決策機構,即協調和指揮整個微機系統的操作。其主要功能有:

 

   從內存中取出一條指令,并指出下一條指令在內存中的位置。

 

   對指令進行譯碼和測試,并產生相應的操作控制信號,以便于執行規定的動作。

   指揮并控制CPU、內存和輸入輸出設備之間數據流動的方向。

 

  微處理器內通過內部總線把ALU、計數器、寄存器和控制部分互聯,并通過外部總線與外部的存儲器、輸入輸出接口電路聯接。外部總線又稱為系統總線,分為數據總線DB、地址總線AB和控制總線CB。通過輸入輸出接口電路,實現與各種外圍設備連接。

 

主要寄存器

 

累加器A

 

  累加器A是微處理器中使用最頻繁的寄存器。在算術和邏輯運算時它有雙功能:運算前,用于保存一個操作數;運算后,用于保存所得的和、差或邏輯運算結果。

 

  數據寄存器DR

 

  數據寄存器通過數據總線向存儲器和輸入/輸出設備送()或取()數據的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲器中存儲的一個數據字節等等。

 

  指令寄存器IR和指令譯碼器ID

 

  指令包括操作碼和操作數。

 

  指令寄存器是用來保存當前正在執行的一條指令。當執行一條指令時,先把它從內存中取到數據寄存器中,然后再傳送到指令寄存器。當系統執行給定的指令時,必須對操作碼進行譯碼,以確定所要求的操作,指令譯碼器就是負責這項工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。

 

程序計數器PC

 

  PC用于確定下一條指令的地址,以保證程序能夠連續地執行下去,因此通常又被稱為指令地址計數器。在程序開始執行前必須將程序的第一條指令的內存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執行指令的地址。

 

地址寄存器AR

 

  地址寄存器用于保存當前CPU所要訪問的內存單元或I/O設備的地址。由于內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。

 

  顯然,當CPU向存儲器存數據、CPU從內存取數據和CPU從內存讀出指令時,都要用到地址寄存器和數據寄存器。同樣,如果把外圍設備的地址作為內存地址單元來看的話,那么當CPU和外圍設備交換信息時,也需要用到地址寄存器和數據寄存器。

the end

評論(0)