1. 概念CPU(Central Processing Unit)CPU(Central Processing Unit),是一臺計(jì)算機(jī)的運(yùn)算核心和控制核心。CPU由運(yùn)算器、控制器和寄存器及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線構(gòu)成。眾所周知的三級流水線:取址、譯碼、執(zhí)行的對象就是CPU,差不多所有的CPU的運(yùn)作原理可分為四個(gè)階段:提取(Fetch)、解碼(Decode)、執(zhí)行(Execute)和寫回(Writeback)。 CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼,并執(zhí)行指令。所謂的計(jì)算機(jī)的可編程性主要是指對CPU的編程。MPU (Micro Processor Unit)MPU (Micro Processor Unit),叫微處理器(不是微控制器MCU,很多人會把微處理器和微控制器混淆),通常代表一個(gè)功能強(qiáng)大的CPU(暫且理解為增強(qiáng)版的CPU吧),但不是為任何已有的特定計(jì)算目的而設(shè)計(jì)的芯片。這種芯片往往是個(gè)人計(jì)算機(jī)和高端工作站的核心CPU。例如Intel 的X86,ARM的一些Cortex-A芯片如飛思卡爾i.MX6、全志A20、TI AM335X等都屬于MPU。MCU(Micro Control Unit)MCU(Micro Control Unit):叫微控制器,其實(shí)就是我們平常說的單片機(jī)。是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計(jì)算機(jī)的CPU、RAM、ROM、定時(shí)計(jì)數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級的芯片,比如51、STC、AVR、Cortex-M這些芯片,內(nèi)部除了CPU外還有RAM、ROM,也就是在一塊芯片中集成了整個(gè)計(jì)算機(jī)系統(tǒng),可以直接加簡單的外圍器件(電阻,電容)就可以運(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。SoC(System on Chip)SoC,System on Chip,是指片上系統(tǒng)。一個(gè)能夠?qū)崿F(xiàn)一定功能的電路系統(tǒng)由多個(gè)模塊構(gòu)成, 如處理器、接口、存儲器、模數(shù)轉(zhuǎn)換器等等。這些功能模塊可以由分立的器件來實(shí)現(xiàn),然后在印刷電路板(PCB)上組合起來, 最終形成片上系統(tǒng)。MCU只是芯片級的芯片,而SoC是系統(tǒng)級的芯片,它既MCU那樣有內(nèi)置RAM、ROM同時(shí)又像MPU那樣強(qiáng)大,不單單是放簡單的代碼,可以放系統(tǒng)級的代碼,也就是說可以運(yùn)行操作系統(tǒng)(以Linux OS為主)(將就認(rèn)為是MCU集成化與MPU強(qiáng)處理力各優(yōu)點(diǎn)二合一)。Soc集成了很多個(gè)MCU的功能,以前的由多個(gè)MCU協(xié)同干的事情被集成了,MCU沒有了,取而代之的是對外的IO引腳,連接IO引腳就可以實(shí)現(xiàn)交互,完成以前MCU的功能。因此,使用Soc集成化程度更高、體積更小、壓縮成本。
SoPC(System On a Programmable Chip)SOPC,英文是System 0n Programmable Chip,它是一種SOC(System 0n Chip)的解決方案。是由Altera公司提出的,使用可編程邏輯器件(FPGA)構(gòu)造片上系統(tǒng)。SOPC是SOC的一種解決方案,也屬于SOC的一種,這種解決方案的優(yōu)點(diǎn)是:靈活性高,可擴(kuò)展性強(qiáng),開發(fā)周期短,不需要掩膜和流片。缺點(diǎn)是:單片成本高。SoPC與MCU、MPU、SoC最明顯的區(qū)別在于:可更改硬件配置,也就是說自己構(gòu)造芯片。
2. 區(qū)別2.1 MCU和MPU的區(qū)別MCU和MPU都是CPU發(fā)展出來的分枝之一。MCU集成了片上外圍器件,可以直接加簡單的外圍器件(電阻,電容)就可以運(yùn)行代碼了。它本質(zhì)上仍是一個(gè)完整的單片機(jī),有處理器,有各種接口,所有的開發(fā)都是基于已經(jīng)存在的系統(tǒng)架構(gòu),應(yīng)用者要做的就是開發(fā)軟件程序和加外部設(shè)備。MPU不帶外圍器件(例如存儲器陣列),是高度集成的通用結(jié)構(gòu)的處理器,是去除了集成外設(shè)的MCU。MCU如ARM的Cortex-A系列,直接放代碼是運(yùn)行不了的,因?yàn)樗举|(zhì)上只是增強(qiáng)版的CPU,必須添加相應(yīng)的RAM和ROM。
2.2 CPU與SoC的區(qū)別SoC可以認(rèn)為是將MCU集成化與MPU強(qiáng)處理力各優(yōu)點(diǎn)二合一,其中MCU是CPU集成了各類外設(shè),MPU是增強(qiáng)版的CPU。
可以從下圖中直觀地看出CPU與SoC的區(qū)別。
目前芯片的發(fā)展方向是從CPU到SoC,現(xiàn)在已經(jīng)沒有純粹的CPU了,都是SoC。ARM出賣的內(nèi)核其實(shí)就是CPU(當(dāng)然還需要總線),各種外設(shè)是半導(dǎo)體廠商自己添加的。2.3 SoPC與MCU、MPU、SoC的區(qū)別SoPC與MCU、MPU、SoC最明顯的區(qū)別在于:可更改硬件配置,也就是說自己構(gòu)造芯片。舉個(gè)例子說明便于理解,單片機(jī)的硬件配置是固化好了的, 我們能夠編程修改的就是軟件配置,本來是串口通信功能,通過修改代碼變成AD采樣功能,也就是說硬件配置是固定了的,我們只能通過修改軟件來選擇其中的一項(xiàng)或多項(xiàng)功能;而SoPC可以修改硬件配置信息使其成為相應(yīng)的芯片,可以是MCU,也可以是SoC。
-
mcu
+關(guān)注
關(guān)注
147文章
18924瀏覽量
398040 -
cpu
+關(guān)注
關(guān)注
68文章
11277瀏覽量
224954
發(fā)布評論請先 登錄
一文帶你徹底搞懂K8s網(wǎng)絡(luò)
熱敏晶振≠溫補(bǔ)晶振!一文搞懂兩者的核心區(qū)別與選型要點(diǎn)
2026年這5款MCU/SoC芯片性價(jià)比最高!
年度5大MCU/SoC芯片盤點(diǎn)
高速USB+NFC藍(lán)牙MCU/SoC
MCU、MPU、SoC 差異完全對照表
像這種受電端/負(fù)載端的電壓誘騙芯片和電源端//負(fù)載端的協(xié)議芯片有什么區(qū)別,沒搞懂
如何從 MCU/MPU 角度保護(hù)物聯(lián)網(wǎng)應(yīng)用?
mcu芯片和soc芯片的區(qū)別解析
請問wifi SOC與 wifi MCU的區(qū)別?
單核CPU網(wǎng)關(guān)和雙核CPU網(wǎng)關(guān)有什么區(qū)別
為何嵌入式開發(fā)者覺得 MCU 開發(fā)無趣,更傾向 MPU(Linux)?
一文搞懂CPU、MPU、MCU、SOC的概念與區(qū)別
評論