CPU、MCU、MPU、SOC等幾個(gè)在嵌入式領(lǐng)域?qū)W習(xí)過程中會(huì)涉及到的幾個(gè)名詞。我們來學(xué)習(xí)一下,資料從網(wǎng)上搜集的,有錯(cuò)的地方可以指出。。。
1. CPU
CPU,即中央處理器,是一臺(tái)計(jì)算機(jī)的運(yùn)算核心和控制核心。其功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。CPU由運(yùn)算器、控制器、寄存器、高速緩存及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線構(gòu)成。
存儲(chǔ)器,分為外存和內(nèi)存, 用于存儲(chǔ)數(shù)據(jù)(使用二進(jìn)制方式存儲(chǔ))
輸入設(shè)備,用戶給計(jì)算機(jī)發(fā)號(hào)施令的設(shè)備
輸出設(shè)備,計(jì)算機(jī)個(gè)用戶匯報(bào)結(jié)果的設(shè)備
CPU工作的三級(jí)流水線:取址、譯碼、執(zhí)行的對(duì)象就是CPU,但是差不多所有的CPU的運(yùn)作原理可分為四個(gè)階段:提取(Fetch)、解碼(Decode)、執(zhí)行(Execute)和寫回(Writeback)。 CPU從存儲(chǔ)器或高速緩沖存儲(chǔ)器中取出指令(因?yàn)镃PU和存儲(chǔ)介質(zhì)的存取速度不一樣),放入指令寄存器,并對(duì)指令譯碼,并執(zhí)行指令。所謂的計(jì)算機(jī)的可編程性主要是指對(duì)CPU的編程。
2. MPU
MPU (Micro Processor Unit),叫微處理器(不是微控制器MCU,很多人會(huì)把微處理器和微控制器混淆),MPU通常代表一個(gè)功能強(qiáng)大的CPU(暫且理解為增強(qiáng)版的CPU吧),但我在工作用到的芯片中,也有提到MCU有MPU單元的。MPU不是為任何已有的特定計(jì)算目的而設(shè)計(jì)的芯片。這種芯片往往是個(gè)人計(jì)算機(jī)和較為高級(jí)的芯片,一般在嵌入式系統(tǒng)中會(huì)提及。例如Intel 的X86,ARM的一些Cortex-A芯片如飛思卡爾i.MX6、全志A20、TI AM335X等都屬于MPU。這幾個(gè)MPU可以去搜一下都有介紹。
3.MCU
MCU(Micro Control Unit):叫微控制器,其實(shí)就是我們平常說的單片機(jī)。是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計(jì)算機(jī)的CPU、RAM、ROM、定時(shí)計(jì)數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級(jí)的芯片,比如51、STC、AVR、STM32
這些芯片,內(nèi)部除了CPU外還有RAM、ROM,也就是在一塊芯片中集成了整個(gè)計(jì)算機(jī)系統(tǒng),可以直接加簡(jiǎn)單的外圍器件(電阻,電容)就可以運(yùn)行代碼了。它本質(zhì)上仍是一個(gè)完整的單片機(jī),有處理器,有各種接口,所有的開發(fā)都是基于已經(jīng)存在的系統(tǒng)架構(gòu),應(yīng)用者要做的就是開發(fā)軟件程序和加外部設(shè)備。而像ARM(Cortex-A系列)直接放代碼是運(yùn)行不了的,因?yàn)樗举|(zhì)上只是增強(qiáng)版的CPU,必須添加相應(yīng)的RAM和ROM。、
MPU和MCU的區(qū)別:
微控制器 (MCU)往往比微處理器 (MPU)更便宜、設(shè)置更簡(jiǎn)單、操作更簡(jiǎn)單。MCU可以被視為單芯片計(jì)算機(jī),集成了ROM、RAM等在芯片內(nèi)部,而 MPU則具有支持各種功能(如內(nèi)存、接口和 I/O)的外圍芯片,可任意更換不同廠商的同種類型外設(shè)。微控制器和微處理器之間的一個(gè)重要區(qū)別是微處理器通常會(huì)運(yùn)行操作系統(tǒng)。操作系統(tǒng)允許多個(gè)進(jìn)程通過多個(gè)線程同時(shí)運(yùn)行。需要驅(qū)動(dòng)程序來支持外圍設(shè)備。
MCU將運(yùn)行“裸機(jī)接口”,這意味著沒有操作系統(tǒng)。沒有操作系統(tǒng),MCU一次只能運(yùn)行一個(gè)控制回路。從軟件的角度來看,這意味著單個(gè)線程在微控制器的處理器或中央處理單元 (CPU)上運(yùn)行。
MCU可能有 I2C、SPI、UART(串行),有時(shí)還有低級(jí) USB連接。這些基本接口通常僅用于對(duì) MCU進(jìn)行編程。MCU的目的是永遠(yuǎn)運(yùn)行一個(gè)相當(dāng)簡(jiǎn)單的控制循環(huán),或者直到它中斷或以其他方式停止。MCU往往比 MPU便宜。MCU并非不可能進(jìn)行無線通信,但請(qǐng)記住,MCU一次只能運(yùn)行一個(gè)線程。要得到服務(wù),任何其他輸入或進(jìn)程都必須等待單線程或控制循環(huán)先完成它正在執(zhí)行的操作。除了 I2C、SPI或 UART等基礎(chǔ)接口外,微處理器往往還有許多接口。MPU也可能有更復(fù)雜的接口,如以太網(wǎng)、藍(lán)牙、WiFi、閃存等。
不過現(xiàn)在越來越難判斷一個(gè)設(shè)備是 MCU還是 MPU,因?yàn)槿缃?MCU可以做很多事情,包括更復(fù)雜的外圍設(shè)備,以至于完成MPU的工作。MCU和 MPU之間的區(qū)別變得不那么明顯。
4.SOC
SOC稱為系統(tǒng)級(jí)芯片,也稱片上芯片,是一個(gè)專有目標(biāo)的集成電路的產(chǎn)品,其中包括完整系統(tǒng)并有嵌入軟件的全部內(nèi)容。目前SOC更多的集成處理器(包括CPU,GPU,DSP),存儲(chǔ)器,基帶,各種接口控制模塊,各種互聯(lián)總線等,其典型代表為手機(jī)芯片。
SoC(System on Chip),整體的一個(gè)電路系統(tǒng),完成一個(gè)具體功能的東西,指的是片上系統(tǒng),MCU只是芯片級(jí)的芯片,而SoC是系統(tǒng)級(jí)的芯片,它既MCU那樣有內(nèi)置RAM、ROM同時(shí)又像MPU那樣強(qiáng)大,不單單是放簡(jiǎn)單的代碼,可以放系統(tǒng)級(jí)的代碼,也就是說可以運(yùn)行操作系統(tǒng)(以Linux OS為主)(將就認(rèn)為是MCU集成化與MPU強(qiáng)處理力各優(yōu)點(diǎn)二合一)。文章來源:http://www.zghlxwxcb.cn/news/detail-670592.html
5. SoPC
SoPC(System On a Programmable Chip)與上述幾項(xiàng)概念相比,SoPC的出現(xiàn)頻率并不是那么高,但這并不影響它的重要性。SOPC是System On a Programmable Chip的縮寫,即 可編程片上系統(tǒng),SoPC與MCU、MPU、SoC最明顯的區(qū)別在于:可更改硬件配置,也就是說自己構(gòu)造芯片。
舉個(gè)例子說明便于理解,單片機(jī)的硬件配置是固化好了的, 我們能夠編程修改的就是軟件配置,本來是串口通信功能,通過修改代碼變成AD采樣功能,也就是說硬件配置是固定了的,我們只能通過修改軟件來選擇其中的一項(xiàng)或多項(xiàng)功能;而SoPC可以修改硬件配置信息使其成為相應(yīng)的芯片,可以是MCU,也可以是SoC。文章來源地址http://www.zghlxwxcb.cn/news/detail-670592.html
到了這里,關(guān)于CPU、MCU、MPU、SOC、SOCPC、概念解釋之在嵌入式領(lǐng)域常聽到的名詞含義的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!