CPU、MPU、MCU、SOC的概念與區(qū)別
概念
1.1 CPU(Central Processing Unit)
CPU(Central Processing Unit),是一臺計算機(jī)的運算核心和控制核心。CPU由運算器、控制器和寄存器及實現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線構(gòu)成。眾所周知的三級流水線:取址、譯碼、執(zhí)行的對象就是CPU,差不多所有的CPU的運作原理可分為四個階段:提取(Fetch)、解碼(Decode)、執(zhí)行(Execute)和寫回(Writeback)。 CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼,并執(zhí)行指令。所謂的計算機(jī)的可編程性主要是指對CPU的編程。
1.2 MPU (Micro Processor Unit)
MPU (Micro Processor Unit),叫微處理器(不是微控制器MCU,很多人會把微處理器和微控制器混淆),通常代表一個功能強大的CPU(暫且理解為增強版的CPU吧),但不是為任何已有的特定計算目的而設(shè)計的芯片。這種芯片往往是個人計算機(jī)和高端工作站的核心CPU。例如Intel 的X86,ARM的一些Cortex-A芯片如飛思卡爾i.MX6、全志A20、TI AM335X等都屬于MPU。
1.3 MCU(Micro Control Unit)
MCU(Micro Control Unit):叫微控制器,其實就是我們平常說的單片機(jī)。是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計算機(jī)的CPU、RAM、ROM、定時計數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級的芯片,比如51、STC、AVR、Cortex-M這些芯片,內(nèi)部除了CPU外還有RAM、ROM,也就是在一塊芯片中集成了整個計算機(jī)系統(tǒng),可以直接加簡單的外圍器件(電阻,電容)就可以運行代碼了。它本質(zhì)上仍是一個完整的單片機(jī),有處理器,有各種接口,所有的開發(fā)都是基于已經(jīng)存在的系統(tǒng)架構(gòu),應(yīng)用者要做的就是開發(fā)軟件程序和加外部設(shè)備。而像ARM(Cortex-A系列)直接放代碼是運行不了的,因為它本質(zhì)上只是增強版的CPU,必須添加相應(yīng)的RAM和ROM。
1.4 SoC(System on Chip)
SoC(System on Chip,整體的一個電路系統(tǒng),完成一個具體功能的東西):指的是片上系統(tǒng),MCU只是芯片級的芯片,而SoC是系統(tǒng)級的芯片,它既MCU那樣有內(nèi)置RAM、ROM同時又像MPU那樣強大,不單單是放簡單的代碼,可以放系統(tǒng)級的代碼,也就是說可以運行操作系統(tǒng)(以Linux OS為主)(將就認(rèn)為是MCU集成化與MPU強處理力各優(yōu)點二合一)。
1.5 SoPC(System On a Programmable Chip)
與上述幾項概念相比,SoPC的出現(xiàn)頻率并不是那么高,但這并不影響它的重要性。SOPC是System On a Programmable Chip的縮寫,即 可編程片上系統(tǒng),SoPC與MCU、MPU、SoC最明顯的區(qū)別在于:可更改硬件配置,也就是說自己構(gòu)造芯片。
舉個例子說明便于理解,單片機(jī)的硬件配置是固化好了的, 我們能夠編程修改的就是軟件配置,本來是串口通信功能,通過修改代碼變成AD采樣功能,也就是說硬件配置是固定了的,我們只能通過修改軟件來選擇其中的一項或多項功能;而SoPC可以修改硬件配置信息使其成為相應(yīng)的芯片,可以是MCU,也可以是SoC。
區(qū)別
2.1 MCU和MPU的區(qū)別
MCU在一塊芯片中集成了整個計算機(jī)系統(tǒng),可以直接加簡單的外圍器件(電阻,電容)就可以運行代碼了。它本質(zhì)上仍是一個完整的單片機(jī),有處理器,有各種接口,所有的開發(fā)都是基于已經(jīng)存在的系統(tǒng)架構(gòu),應(yīng)用者要做的就是開發(fā)軟件程序和加外部設(shè)備。
MPU如ARM的Cortex-A系列,直接放代碼是運行不了的,因為它本質(zhì)上只是增強版的CPU,必須添加相應(yīng)的RAM和ROM。
2.2 CPU與SoC的區(qū)別
SoC可以認(rèn)為是將MCU集成化與MPU強處理力各優(yōu)點二合一,其中MCU是CPU集成了各類外設(shè),MPU是增強版的CPU??梢詮南聢D中直觀地看出CPU與SoC的區(qū)別。

目前芯片的發(fā)展方向是從CPU到SoC,現(xiàn)在已經(jīng)沒有純粹的CPU了,都是SoC。ARM出賣的內(nèi)核其實就是CPU(當(dāng)然還需要總線),各種外設(shè)是半導(dǎo)體廠商自己添加的。
2.3 SoPC與MCU、MPU、SoC的區(qū)別
SoPC與MCU、MPU、SoC最明顯的區(qū)別在于:可更改硬件配置,也就是說自己構(gòu)造芯片。
舉個例子說明便于理解,單片機(jī)的硬件配置是固化好了的, 我們能夠編程修改的就是軟件配置,本來是串口通信功能,通過修改代碼變成AD采樣功能,也就是說硬件配置是固定了的,我們只能通過修改軟件來選擇其中的一項或多項功能;而SoPC可以修改硬件配置信息使其成為相應(yīng)的芯片,可以是MCU,也可以是SoC。

版權(quán)聲明:本文為CSDN博主「吮指原味張」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。
原文鏈接:CPU、MPU、MCU、SOC的概念與區(qū)別_吮指原味張的博客-CSDN博客_soc