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