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