簡單看懂CPU、MCU、MPU、SOC和MCM的區(qū)別
在嵌入式開發(fā)中,我們經(jīng)常會接觸到一些專業(yè)術(shù)語,例如CPU、MCU、MPU、SOC和MCM等,這些縮寫代表了不同類型的電子處理單元,它們在消費電子、計算機硬件、自動化和工業(yè)系統(tǒng)中扮演著重要角色。
本文引用地址:http://butianyuan.cn/article/202410/463510.htm下面將介紹每個術(shù)語的基本含義和它們在實際使用中的區(qū)別:
1. CPU
CPU(Central Processing Unit,中央處理單元):由運算器、控制器和寄存器及相應(yīng)的總線構(gòu)成。它可以是一個獨立的處理器芯片或一個內(nèi)含多核處理器的大型集成電路。
眾所周知的三級流水線:取址、譯碼、執(zhí)行的對象就是CPU,CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼,然后執(zhí)行指令。所謂的計算機的可編程性其實就是指對CPU的編程。
2. MCU
MCU(Microcontroller Unit,微控制器單元):MCU是一個緊湊型處理器,隨著大規(guī)模集成電路的出現(xiàn)及發(fā)展,把計算機的CPU、RAM、ROM、定時器和輸入輸出I/O引腳集成在一個芯片上。比如51、STC、Cortex-M這些芯片,它們的內(nèi)部除了CPU外還包含了RAM和ROM,可直接添加簡單的器件(電阻/電容)等構(gòu)成最小系統(tǒng)就可以運行代碼了。
MCU常用于嵌入式系統(tǒng),如家用電器、汽車電子設(shè)備和醫(yī)療設(shè)備中。與MPU相比,MCU更多的是自成一體的解決方案,可獨立執(zhí)行預(yù)定的任務(wù)。
3. MPU
MPU(Microprocessor Unit,微處理器單元):是一種更具體的CPU類型,微處理器通常代表功能強大的CPU(可理解為增強型的CPU),這種芯片往往是計算機和高端系統(tǒng)的核心CPU。例如嵌入式開發(fā)者最熟悉的ARM的Cortex-A芯片,他們都屬于MPU。
MPU主要在個人電腦、服務(wù)器和其他高性能計算設(shè)備中使用。微處理器單元的設(shè)計注重于高性能指令處理。
4. SOC/SOPC
SoC(System on Chip,片上系統(tǒng)):是一種集成電路,它將所有或大部分必要的電子電路和部件集成到單一芯片上。包括CPU核心、內(nèi)存、輸入/輸出控制器、外圍設(shè)備和其他功能模塊。SoC的設(shè)計目標是為了讓它能夠作為系統(tǒng)的主要計算引擎。
MCU只是芯片級的芯片,而SOC是系統(tǒng)級的芯片,它集成了MCU和MPU的優(yōu)點,即擁有內(nèi)置RAM和ROM的同時又像MPU那樣強大,它可以存放并運行系統(tǒng)級別的代碼,也就是說可以運行操作系統(tǒng)。
SoPC(System on a Programmable Chip,可編程片上系統(tǒng)):是指硬件邏輯可編程的片上系統(tǒng),如FPGA(現(xiàn)場可編程門陣列)被用于創(chuàng)建系統(tǒng)級的設(shè)計。與傳統(tǒng)的SoC相比,SoPC提供了更多的靈活性,因為硬件邏輯可以在芯片制造后根據(jù)需求進行修改和配置。
舉個例子說明便于理解,單片機的硬件配置是固化好了的,我們能夠編程修改的是軟件配置,本來是串口通信功能,通過修改代碼變成AD采樣功能,也就是說硬件配置是固定了的,只能通過修改軟件來選擇其中的一項或多項功能。
而SoPC可以修改硬件配置信息使其成為相應(yīng)的芯片,可以是MCU,也可以是SOC。
5. MCM
MCM(Multi-Chip Module,多芯片模塊):MCM是將多個獨立的集成電路封裝在一個單獨的芯片上的技術(shù)。與將所有功能集成到單個集成電路的SoC不同,MCM通常用于封裝性能更強、功能專注的獨立集成電路。它們可以提供類似系統(tǒng)總線的內(nèi)部連接,使得性能更優(yōu)于單芯片解決方案。
在嵌入式開發(fā)中,接觸頻率較多的一般是MCU和SOC,而現(xiàn)在STM32也幾乎成為了MCU的代名詞,SOC目前則以Cortex-A系列為主,開發(fā)難度也有所差異,對于嵌入式從業(yè)者來說,弄清楚這些專業(yè)概念是必備的。
評論