微處理器與微控制器的差別

1.微處理器

1.1什麼是微處理器

微處理器由一片或少數幾片大規模集成電路組成的中央處理器。這些電路執行控制部件和算術邏輯部件的功能。其功能主要是解釋計算機指令以及處理計算機軟件中的數據,並執行指令,以及與外界存儲器和邏輯部件交換信息等操作,是微型計算機的運算控制部分。它可與存儲器和外圍電路芯片組成微型計算機。

1.2分類

根據微處理器的應用領域,微處理器大致可以分為三類:

(1)通用高性能微處理器

通用處理器追求高性能,它們用於運行通用軟件,配備完備、複雜的操作系統。我們平常使用的臺式計算機、筆記本CPU就屬於此類。

(2)嵌入式微處理器和數字信號處理器

嵌入式微處理器強調處理特定應用問題的高性能,主要用於運行面向特定領域的專用程序,配備輕量級操作系統,主要用於蜂窩電話、CD播放機等消費類家電。嵌入式處理器的高端產品有:Advanced RISC Machines公司的ARM、Silicon Graphics公司的MIPS、IBM和Motorola的Power PC、Intel的X86和i960芯片、AMD的Am386EM、Hitachi的SH RISC芯片;掌上電腦的處理器有六類處理器,分別是:英特爾的PXA系列處理器、MIPS處理器、StrongARM系列處理器、日立SH3處理器、摩托羅拉龍珠系列處理器和德州儀器OMAP系列處理器。

(3)微控制器

微控制器價位相對較低,在微處理器市場上需求量最大,主要用於汽車、空調、自動機械等領域的自控設備。微控制器的典型代表是單片機,和嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統工業的主流。微控制器的片上外設資源一般較豐富,適合於控制,因此稱微控制器。,比較有代表性的包8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及 MCU 8XC930/931、C540、C541,STM32、ARM7/9/10、PIC32、AVR32。並且有支持I2C、CAN-Bus、LCD及眾多專用MCU和兼容系列。

2.微控制器

2.1什麼是微控制器

微控制器是將微型計算機的主要部分集成在一個芯片上的單芯片微型計算機。微型計算機是由大規模集成電路組成的、體積較小的電子計算機。它是以微處理器為基礎,配以內存儲器及輸入輸出(I/0)接口電路和相應的輔助電路而構成的裸機。

2.2分類

微控制器(Microcontroller Unit,即MCU)可從不同方面進行分類:

(1)根據數據總線寬度可分為8位、16位和32位機

(2)根據存儲器結構可分為Harvard結構和Von Neumann結構

(3)根據內嵌程序存儲器的類別可分為OTP、掩膜、EPROM/EEPROM和閃存Flash

(4)根據指令結構又可分為CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器

3.微處理器和微控制器的區別

這樣的區別主要集中在硬件結構、應用領域和指令集特徵3個方面:

(一)硬件結構

微處理器是一個單芯片CPU,而微控制器則在一塊集成電路芯片中集成了CPU和其他電路,構成了一個完整的微型計算機系統。大多數微控制器的完整結構除了CPU,微控制器還包括RAM、ROM、一個串行接口、一個並行接口,計時器和中斷調度電路。這些都集成在一塊集成電路上。雖然片上RAM的容量比普通微型計算機系統還要小,但是這並未限制微控制器的使用。

微控制器的一個重要的特徵是內建的中斷系統。作為面向控制的設備,微控制器經常要實時響應外界的激勵(中斷)。微控制器必須執行快速上下文切換,掛起一個進程去執行另一個進程以響應一個“事件”。例如,打開微波爐的門就是一個事件,在基於微控制器的產品中這個事件將觸發一箇中斷。微處理器也能擁有強大的中斷功能,但是通常需要外部元件的配合,而微控制器在片上集成了所有處理中斷必需的電路。

(二)應用領域

微處理器通常作為微型計算機系統中的CPU使用。其設計正是針對這樣的應用,這也是微處理器的優勢所在。然而,微控制器通常用於面向控制的應用。其系統設計追求小型化,儘可能減少元器件數量。在過去,這些應用通常需要用數十個甚至數百個數字集成電路來實現。使用微控制器可以減少元器件的使用數量,只需一個微控制器、少量的外部元件和存儲在ROM中的控制程序就能夠實現同樣的功能。微控制器適用於那些以極少的元件實現對輸入/輸出設備進行控制的場合,而微處理器適用於計算機系統中進行信息處理。

(三)指令集特徵

由於應用場合不同,微控制器和微處理器的指令集也有所不同。微處理器的指令集增強了處理功能,使其擁有強大的尋址模式和適於操作大規模數據的指令。微處理器的指令可以對半字節、字節、字,甚至雙字進行操作。通過使用地址指針和地址偏移,微處理器提供了可以訪問大批數據的尋址模式。自增和自減模式使得以字節、字或雙字為單位訪問數據變得非常容易。另外,微處理器還具有其他的特點,如用戶程序中無法使用特權指令等。

微控制器的指令集適用於輸入/輸出控制。許多輸入/輸出的接口是單/位的。例如,電磁鐵控制著馬達的開關,而電磁鐵由一個1位的輸出端口控制。微控制器具有設置和清除單位的指令,也能執行其他面向位的操作,如對“位”進行邏輯與、或和異或的運算,根據標誌位跳轉等。很少有微處理器具備這些強大的位操作能力,因為設計者在設計微處理器時,僅考慮以字節或更大的單位來操作數據。

在對設備的控制和監視方面(可能是通過一個1位的接口),微控制器具有專門的內部電路和指令用於輸入/輸出、計時和外部中斷的優先權分配。微處理器一般需要配合附加的電路(串行接口芯片、中斷控制器、定時器等)才能執行相同的任務。不過,單純就處理能力而言,微控制器永遠達不到微處理器的水平(在其他條件相同的情況下),因為微控制器芯片中的集成電路的很大一部分用於實現其他的片上功能,代價就是犧牲掉一部分處理能力。

由於微控制器芯片上的資源非常緊張,它的指令必須非常精簡,大部分指令的長度都短於1個字節。控制程序的設計原則通常是要求程序能夠裝入片上的ROM,因為即使只增加1片外部ROM也將顯著提高產品的硬件成本。微控制器指令集的基本特點就是具有精簡的編碼方案。微處理器不具備這樣的特點,因為它們強大的尋址模式使得指令編碼不夠簡潔。私信“

嵌入式”領取嵌入式免費學習視頻!


分享到:


相關文章: