當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 微處理器與微控制器的差別
1.微處理器
1.1什么是微處理器
微處理器由一片或少數(shù)幾片大規(guī)模集成電路組成的中央處理器。這些電路執(zhí)行控制部件和算術(shù)邏輯部件的功能。其功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù),并執(zhí)行指令,以及與外界存儲(chǔ)器和邏輯部件交換信息等操作,是微型計(jì)算機(jī)的運(yùn)算控制部分。它可與存儲(chǔ)器和外圍電路芯片組成微型計(jì)算機(jī)。
1.2分類
根據(jù)微處理器的應(yīng)用領(lǐng)域,微處理器大致可以分為三類:
(1)通用高性能微處理器
通用處理器追求高性能,它們用于運(yùn)行通用軟件,配備完備、復(fù)雜的操作系統(tǒng)。我們平常使用的臺(tái)式計(jì)算機(jī)、筆記本CPU就屬于此類。
(2)嵌入式微處理器和數(shù)字信號(hào)處理器
嵌入式微處理器強(qiáng)調(diào)處理特定應(yīng)用問(wèn)題的高性能,主要用于運(yùn)行面向特定領(lǐng)域的專用程序,配備輕量級(jí)操作系統(tǒng),主要用于蜂窩電話、CD播放機(jī)等消費(fèi)類家電。嵌入式處理器的高端產(chǎn)品有: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)微控制器
微控制器價(jià)位相對(duì)較低,在微處理器市場(chǎng)上需求量最大,主要用于汽車、空調(diào)、自動(dòng)機(jī)械等領(lǐng)域的自控設(shè)備。微控制器的典型代表是單片機(jī),和嵌入式微處理器相比,微控制器的最大特點(diǎn)是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統(tǒng)工業(yè)的主流。微控制器的片上外設(shè)資源一般較豐富,適合于控制,因此稱微控制器。,比較有代表性的包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什么是微控制器
微控制器是將微型計(jì)算機(jī)的主要部分集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī)。微型計(jì)算機(jī)是由大規(guī)模集成電路組成的、體積較小的電子計(jì)算機(jī)。它是以微處理器為基礎(chǔ),配以內(nèi)存儲(chǔ)器及輸入輸出(I/0)接口電路和相應(yīng)的輔助電路而構(gòu)成的裸機(jī)。
2.2分類
微控制器(Microcontroller Unit,即MCU)可從不同方面進(jìn)行分類:
(1)根據(jù)數(shù)據(jù)總線寬度可分為8位、16位和32位機(jī)
(2)根據(jù)存儲(chǔ)器結(jié)構(gòu)可分為Harvard結(jié)構(gòu)和Von Neumann結(jié)構(gòu)
(3)根據(jù)內(nèi)嵌程序存儲(chǔ)器的類別可分為OTP、掩膜、EPROM/EEPROM和閃存Flash
(4)根據(jù)指令結(jié)構(gòu)又可分為CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器
3.微處理器和微控制器的區(qū)別
這樣的區(qū)別主要集中在硬件結(jié)構(gòu)、應(yīng)用領(lǐng)域和指令集特征3個(gè)方面:
(一)硬件結(jié)構(gòu)
微處理器是一個(gè)單芯片CPU,而微控制器則在一塊集成電路芯片中集成了CPU和其他電路,構(gòu)成了一個(gè)完整的微型計(jì)算機(jī)系統(tǒng)。大多數(shù)微控制器的完整結(jié)構(gòu)除了CPU,微控制器還包括RAM、ROM、一個(gè)串行接口、一個(gè)并行接口,計(jì)時(shí)器和中斷調(diào)度電路。這些都集成在一塊集成電路上。雖然片上RAM的容量比普通微型計(jì)算機(jī)系統(tǒng)還要小,但是這并未限制微控制器的使用。
微控制器的一個(gè)重要的特征是內(nèi)建的中斷系統(tǒng)。作為面向控制的設(shè)備,微控制器經(jīng)常要實(shí)時(shí)響應(yīng)外界的激勵(lì)(中斷)。微控制器必須執(zhí)行快速上下文切換,掛起一個(gè)進(jìn)程去執(zhí)行另一個(gè)進(jìn)程以響應(yīng)一個(gè)“事件”。例如,打開微波爐的門就是一個(gè)事件,在基于微控制器的產(chǎn)品中這個(gè)事件將觸發(fā)一個(gè)中斷。微處理器也能擁有強(qiáng)大的中斷功能,但是通常需要外部元件的配合,而微控制器在片上集成了所有處理中斷必需的電路。
(二)應(yīng)用領(lǐng)域
微處理器通常作為微型計(jì)算機(jī)系統(tǒng)中的CPU使用。其設(shè)計(jì)正是針對(duì)這樣的應(yīng)用,這也是微處理器的優(yōu)勢(shì)所在。然而,微控制器通常用于面向控制的應(yīng)用。其系統(tǒng)設(shè)計(jì)追求小型化,盡可能減少元器件數(shù)量。在過(guò)去,這些應(yīng)用通常需要用數(shù)十個(gè)甚至數(shù)百個(gè)數(shù)字集成電路來(lái)實(shí)現(xiàn)。使用微控制器可以減少元器件的使用數(shù)量,只需一個(gè)微控制器、少量的外部元件和存儲(chǔ)在ROM中的控制程序就能夠?qū)崿F(xiàn)同樣的功能。微控制器適用于那些以極少的元件實(shí)現(xiàn)對(duì)輸入/輸出設(shè)備進(jìn)行控制的場(chǎng)合,而微處理器適用于計(jì)算機(jī)系統(tǒng)中進(jìn)行信息處理。
(三)指令集特征
由于應(yīng)用場(chǎng)合不同,微控制器和微處理器的指令集也有所不同。微處理器的指令集增強(qiáng)了處理功能,使其擁有強(qiáng)大的尋址模式和適于操作大規(guī)模數(shù)據(jù)的指令。微處理器的指令可以對(duì)半字節(jié)、字節(jié)、字,甚至雙字進(jìn)行操作。通過(guò)使用地址指針和地址偏移,微處理器提供了可以訪問(wèn)大批數(shù)據(jù)的尋址模式。自增和自減模式使得以字節(jié)、字或雙字為單位訪問(wèn)數(shù)據(jù)變得非常容易。另外,微處理器還具有其他的特點(diǎn),如用戶程序中無(wú)法使用特權(quán)指令等。
微控制器的指令集適用于輸入/輸出控制。許多輸入/輸出的接口是單/位的。例如,電磁鐵控制著馬達(dá)的開關(guān),而電磁鐵由一個(gè)1位的輸出端口控制。微控制器具有設(shè)置和清除單位的指令,也能執(zhí)行其他面向位的操作,如對(duì)“位”進(jìn)行邏輯與、或和異或的運(yùn)算,根據(jù)標(biāo)志位跳轉(zhuǎn)等。很少有微處理器具備這些強(qiáng)大的位操作能力,因?yàn)樵O(shè)計(jì)者在設(shè)計(jì)微處理器時(shí),僅考慮以字節(jié)或更大的單位來(lái)操作數(shù)據(jù)。
在對(duì)設(shè)備的控制和監(jiān)視方面(可能是通過(guò)一個(gè)1位的接口),微控制器具有專門的內(nèi)部電路和指令用于輸入/輸出、計(jì)時(shí)和外部中斷的優(yōu)先權(quán)分配。微處理器一般需要配合附加的電路(串行接口芯片、中斷控制器、定時(shí)器等)才能執(zhí)行相同的任務(wù)。不過(guò),單純就處理能力而言,微控制器永遠(yuǎn)達(dá)不到微處理器的水平(在其他條件相同的情況下),因?yàn)槲⒖刂破餍酒械募呻娐返暮艽笠徊糠钟糜趯?shí)現(xiàn)其他的片上功能,代價(jià)就是犧牲掉一部分處理能力。
由于微控制器芯片上的資源非常緊張,它的指令必須非常精簡(jiǎn),大部分指令的長(zhǎng)度都短于1個(gè)字節(jié)。控制程序的設(shè)計(jì)原則通常是要求程序能夠裝入片上的ROM,因?yàn)榧词怪辉黾?片外部ROM也將顯著提高產(chǎn)品的硬件成本。微控制器指令集的基本特點(diǎn)就是具有精簡(jiǎn)的編碼方案。微處理器不具備這樣的特點(diǎn),因?yàn)樗鼈儚?qiáng)大的尋址模式使得指令編碼不夠簡(jiǎn)潔。