在嵌入式開發(fā)中,我們會經(jīng)??吹交蚪佑|一些專業(yè)術(shù)語,例如CPU、MPU、MCU和SOC等,并且這些專業(yè)術(shù)語出現(xiàn)的頻率也是非常之高,在面試中也常常會作為提問的知識點,下面我們就來看一下他們之間的特點和區(qū)別。
CPU
CPU是Central Processing Unit的縮寫,計算機的運算控制核心就是CPU。CPU是由運算器、控制器和寄存器及相應(yīng)的總線構(gòu)成。眾所周知的三級流水線:取址、譯碼、執(zhí)行的對象就是CPU,CPU從存儲器或高速緩沖存儲器中取出指令,放入指令寄存器,并對指令譯碼,然后執(zhí)行指令。而計算機的可編程性其實就是指對CPU的編程。
MPU
MPU是Micro Processor Unit的縮寫,指微處理器(這里要注意不是微控制器,很多人會把微處理器和微控制器混淆),微處理器通常代表功能強大的CPU(可理解為增強型的CPU),這種芯片往往是計算機和高端系統(tǒng)的核心CPU。例如嵌入式開發(fā)者最熟悉的ARM的Cortex-A芯片,他們都屬于MPU。
MCU
MCU是Micro Control Unit的縮寫,指微控制器。隨著大規(guī)模集成電路的出現(xiàn)及發(fā)展,把計算機的CPU、RAM、ROM、定時器和輸入輸出I/O引腳集成在一個芯片上,比如51,STC、Cortex-M這些芯片,它們的內(nèi)部除了CPU外還包含了RAM和ROM,可直接添加簡單的器件(電阻,電容)等構(gòu)成最小系統(tǒng)就可以運行代碼了。而像ARM(Cortex-A系列)直接放代碼是運行不了的,因為它本質(zhì)上只是增強版的CPU,必須添加相應(yīng)的RAM和ROM。
SOC
SOC是System on Chip的縮寫,指的是片上系統(tǒng)??梢赃@樣對比來看:MCU只是芯片級的芯片,而SOC是系統(tǒng)級的芯片,它集成了MCU和MPU的優(yōu)點,即擁有內(nèi)置RAM和ROM的同時又像MPU那樣強大,它可以存放并運行系統(tǒng)級別的代碼,也就是說可以運行操作系統(tǒng)(以Linux OS為主)
另外,SOPC也是一個值得了解的概念,與上述幾項概念相比,SOPC的出現(xiàn)頻率并不是那么高,但這并不影響它的重要性。SOPC是System On a Programmable Chip的縮寫,即 可編程片上系統(tǒng),SOPC與MCU、MPU、SOC最明顯的區(qū)別在于:可更改硬件配置,也就是說自己構(gòu)造芯片。 舉個例子說明便于理解,單片機的硬件配置是固化好了的, 我們能夠編程修改的就是軟件配置,本來是串口通信功能,通過修改代碼變成AD采樣功能,也就是說硬件配置是固定了的,我們只能通過修改軟件來選擇其中的一項或多項功能;而SOPC可以修改硬件配置信息使其成為相應(yīng)的芯片,可以是MCU,也可以是SOC。
結(jié)語
在嵌入式開發(fā)中,接觸頻率較多的一般是MCU和SOC,而現(xiàn)在STM32也幾乎成為了MCU的代名詞,SOC目前則以Cortex-A系列為主,開發(fā)難度也有所差異,對于嵌入式從業(yè)者來說,弄清楚這些專業(yè)概念是必備的。 來源:頭條號-嵌入式在左C語言在右
鏈接:https://www.toutiao.com/i6841833288915485192/
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!