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