在嵌入式開發領域,我們時常會接觸到諸如CPU、MPU、MCU以及SOC之類的專業術語,這些概念的頻繁出現說明了它們在該領域中的重要性,同時也表明它們往往是面試過程中的重要考點。接下來,就讓我們共同探討并明確這些術語各自的特性與區別所在。
CPU
CPU(Central Processing Unit),是一臺計算機的運算核心和控制核心。CPU由運算器、控制器和寄存器及實現它們之間聯系的數據、控制及狀態的總線構成。差不多所有的CPU的運作原理可分為四個階段:提取(Fetch)、解碼(Decode)、執行(Execute)和寫回(Writeback)。CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼,并執行指令。所謂的計算機的可編程性主要是指對CPU的編程。
MPU
MPU(Micro Processor Unit),叫微處理器(不是微控制器),通常代表一個功能強大的CPU(暫且理解為增強版的CPU吧),但不是為任何已有的特定計算目的而設計的芯片。這種芯片往往是個人計算機和高端工作站的核心CPU。Intel X86,ARM的一些Cortex-A芯片如飛思卡爾i.MX6、全志A20、TI AM335X等都屬于MPU。
MCU
MCU(Micro Control Unit),叫微控制器,是指隨著大規模集成電路的出現及其發展,將計算機的CPU、RAM、ROM、定時計數器和多種I/O接口集成在一片芯片上,形成芯片級的芯片,比如51,AVR、Cortex-M這些芯片,內部除了CPU外還有RAM、ROM,可以直接加簡單的外圍器件(電阻,電容)就可以運行代碼了。而如x86、ARM這些MPU就不能直接放代碼了,它只不過是增強版的CPU,所以得添加RAM,ROM。
SOC
SOC(System on Chip),指的是片上系統,MCU只是芯片級的芯片,而SOC是系統級的芯片,它既MCU(51,avr)那樣有內置RAM、ROM同時又像MPU那樣強大,不單單是放簡單的代碼,可以放系統級的代碼,也就是說可以運行操作系統(將就認為是MCU集成化與MPU強處理力各優點二合一)。 另外,SOPC也是一個值得了解的概念,與上述幾項概念相比,SOPC的出現頻率并不是那么高,但這并不影響它的重要性。SOPC是System On a Programmable Chip的縮寫,即 可編程片上系統,SOPC與MCU、MPU、SOC最明顯的區別在于:可更改硬件配置,也就是說自己構造芯片。 舉個例子說明便于理解,單片機的硬件配置是固化好了的, 我們能夠編程修改的就是軟件配置,本來是串口通信功能,通過修改代碼變成AD采樣功能,也就是說硬件配置是固定了的,我們只能通過修改軟件來選擇其中的一項或多項功能;而SOPC可以修改硬件配置信息使其成為相應的芯片,可以是MCU,也可以是SOC。
審核編輯:黃飛
-
mcu
+關注
關注
146文章
17171瀏覽量
351501 -
cpu
+關注
關注
68文章
10873瀏覽量
212038 -
soc
+關注
關注
38文章
4173瀏覽量
218421 -
MPU
+關注
關注
0文章
360瀏覽量
48841
原文標題:CPU、MPU、MCU、SOC的區別
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論