曾有一段時(shí)間,微處理器(MPU)與微控制器(MCU)是截然不同的兩種設(shè)備,微控制器完成 “控制”相關(guān)的任務(wù),根據(jù)外界信號(hào)刺激產(chǎn)生反應(yīng),微處理器主要執(zhí)行處理功能,對(duì)數(shù)據(jù)處理和計(jì)算能力的要求較高。但如今由于內(nèi)存架構(gòu)的變化,兩者之間的界限正在變得模糊。
事實(shí)上,可以通過(guò)多種方式區(qū)分微處理器和微控制器,只是業(yè)界尚未對(duì)他們的區(qū)分標(biāo)準(zhǔn)達(dá)成共識(shí)。不過(guò)已經(jīng)有一些人得出結(jié)論,目前兩者之間的準(zhǔn)確區(qū)分都已經(jīng)不再重要了。
“近年來(lái),MCU 和 MPU 之間的區(qū)別變得越來(lái)越模糊。”西門(mén)子業(yè)務(wù)部門(mén)的嵌入式軟件技術(shù)專(zhuān)家 Colin Walls 說(shuō),“最初,MCU 在一個(gè)芯片上集成了 CPU、內(nèi)存和外圍設(shè)備,如今大多數(shù) MCU 依然如此,但因?yàn)?MCU 具有足夠強(qiáng)大的功能來(lái)支持更復(fù)雜的應(yīng)用程序,附加外部存儲(chǔ)器的 MCU 也變得常見(jiàn)。”
計(jì)算芯片的兩個(gè)市場(chǎng)
曾經(jīng)有一段時(shí)間,計(jì)算芯片分為兩個(gè)截然不同的市場(chǎng),大部分芯片設(shè)備主要針對(duì)主流計(jì)算,性能是最主要的考慮因素,這些單片微型計(jì)算機(jī)被稱(chēng)之為 “微處理器”,為個(gè)人計(jì)算機(jī)和更大的系統(tǒng)提供動(dòng)力。
如今我們可以在各種類(lèi)型的筆記本電腦、臺(tái)式機(jī)和服務(wù)器中看到它們,值得注意的是,它們是通用引擎,旨在運(yùn)行事先未知的任何數(shù)量的程序,主內(nèi)存是 DRAM,非易失性存儲(chǔ)是硬盤(pán)驅(qū)動(dòng)器或固態(tài)硬盤(pán)。
在不那么主流的嵌入式計(jì)算世界里,需要適度計(jì)算能力和專(zhuān)門(mén)用途,設(shè)計(jì)好的程序可能在固件中運(yùn)行,以便讓整個(gè)系統(tǒng)(包括程序和所有系統(tǒng))在出貨之前得以驗(yàn)證,內(nèi)存需求將受到更多限制,可以將用于存儲(chǔ)代碼的 SRAM 和非易失性?xún)?nèi)存與 CPU 集成到同一塊芯片上,關(guān)鍵一點(diǎn),實(shí)時(shí)響應(yīng)通常很重要。
嵌入式計(jì)算機(jī)也傾向于在有特殊 I/O 需求的環(huán)境中使用,一些可能是在驅(qū)動(dòng)電動(dòng)機(jī),另一些可能是在處理聲音或讀取傳感器。將專(zhuān)用外圍設(shè)備接口硬件集成到同 CPU 和內(nèi)存相同的芯片上十分有效,這會(huì)產(chǎn)生具有不同特性的各種芯片。
總的來(lái)說(shuō),CPU 與 SRAM、非易失性存儲(chǔ)器和專(zhuān)用外設(shè)集成在一起的被稱(chēng)之為 “微控制器”。
微處理器發(fā)展至今已經(jīng)多達(dá) 64 位,而微控制器依然是 8 位居多,但在這中間發(fā)生了一些變化,使得兩者之間的區(qū)別更加模糊。
集成式閃存是 MCU 的重要特征,不過(guò)這類(lèi)閃存尚未在擁有最先進(jìn)節(jié)點(diǎn)的微控制器上使用,因此許多以微控制器形式銷(xiāo)售的設(shè)備都使用外部閃存而不是嵌入式閃存,此外還使用外部 DRAM。
實(shí)際上,一個(gè)稱(chēng)之為 “shadowing”的過(guò)程可以從外部閃存中獲取代碼,并將其復(fù)制到 DRAM 中,然后從中執(zhí)行代碼,而且為了提高性能,緩存也可以包括在內(nèi)。這使得 CPU / 內(nèi)存子系統(tǒng)與 MPU 幾乎沒(méi)有區(qū)別。
那么現(xiàn)在的 MCU 就是 MPU 嗎?不再有區(qū)別了嗎?
當(dāng)下可區(qū)分 MCU 與 MPU 的因素
如今的 MCU 和 MPU 十分相似,但依然在很多方面有一些細(xì)微的區(qū)別,這包括 CPU 功能、位數(shù)、操作系統(tǒng)、時(shí)序要求、核心數(shù)量等方面。
在 CPU 功能方面,如果 CPU 具有復(fù)雜的流水線(xiàn),具有預(yù)測(cè)執(zhí)行和其他超標(biāo)量功能,則可以將其視為 MPU,但是轉(zhuǎn)變的確切位置并沒(méi)有明確界定。
在位數(shù)上,8 位設(shè)備更有可能被視為 MCU,64 位設(shè)備很可能被視為 MPU。不過(guò)最早的卻是 MPU 是 4 位,這更像是歷史問(wèn)題,而不是決定性的特征。
也可以根據(jù)計(jì)算機(jī)可運(yùn)行的操作系統(tǒng)進(jìn)行分類(lèi),如果它運(yùn)行 Linux,則可以將其稱(chēng)為 MPU。如果它僅允許較小的實(shí)時(shí)操作系統(tǒng),甚至只運(yùn)行裸機(jī),則可以將其稱(chēng)為 MCU,這為能夠運(yùn)行的 Linux 的設(shè)備留出了許多中間地帶。在時(shí)序方面,MCU 通常用于需要硬或軟實(shí)時(shí)響應(yīng)的應(yīng)用程序,MPU 通常不能用于這一目的。
一般也將多核處理器視為 MPU,尤其是在內(nèi)核相同且管理對(duì)稱(chēng)的情況下。不過(guò)專(zhuān)用設(shè)備可能具有多個(gè)處理器,有些專(zhuān)用于諸如數(shù)字信號(hào)之類(lèi)特定任務(wù)的處理器也會(huì)被認(rèn)為是 MCU,因此通過(guò)核心數(shù)目判斷是 MPU 還是 MCU 并不是一個(gè)準(zhǔn)確的依據(jù)。
從使用目的來(lái)看,可以認(rèn)為通用設(shè)備是 MPU,單用途設(shè)備是 MCU,但這實(shí)際上只關(guān)乎設(shè)備的使用方式,如果在不明確使用目的的情況下使用任何設(shè)備,那時(shí)候如何稱(chēng)呼這一設(shè)備呢?
通常全功能 MPU 不會(huì)具有專(zhuān)用外圍設(shè)備,這在很大程度上是因?yàn)樗鼈兪峭ㄓ玫模皇敲嫦蛱囟☉?yīng)用,因此你可能會(huì)認(rèn)為只要有這樣的外圍設(shè)備,就是 MCU,但是事實(shí)并非如此,缺少外圍設(shè)備也并不意味著就是 MPU。
從上面的分析來(lái)看,每個(gè)特征因素都會(huì)存在缺陷,結(jié)果無(wú)法令人滿(mǎn)意,那么行業(yè)專(zhuān)家又是怎么認(rèn)為的呢?
MCU 和 MPU 已成過(guò)時(shí)的術(shù)語(yǔ)
Cadence IP 集團(tuán)產(chǎn)品行銷(xiāo)總監(jiān) Marc Greenberg 對(duì)此表示:“我不知道 MCU 與 MPU 之間的區(qū)別是否存在某些官方的定義,經(jīng)過(guò)簡(jiǎn)單的檢索似乎表明,裸片上存在 NVM 的為 MCU,但各種 MPU 上都有 NVM 的某些位,MPU 也可能在同一片裸片上具有 MCU,那又是什么呢?最小的無(wú)緩存處理器可能仍具有一些寄存器和 SRAM,用 RTL 編碼的定序器與從 ROM 執(zhí)行的通用處理器真的有區(qū)別嗎?顯然 MCU 和 MPU 之間的區(qū)別有些隨意,這意味著這一界限并不明確甚至可以隨心所欲。當(dāng)我想到 MPU 時(shí),我想到的是用于控制通用計(jì)算機(jī)的設(shè)備,例如臺(tái)式機(jī)、服務(wù)器、平板電腦等。”
Cadence 高級(jí)工程師 Grant Martin 認(rèn)為:“根據(jù)維基百科的解釋?zhuān)琈CU 是在單個(gè)金屬氧化物半導(dǎo)體集成電路芯片上的小型計(jì)算機(jī),MPU 是一種計(jì)算機(jī)處理器,在 MOSFET 結(jié)構(gòu)的單個(gè)或多個(gè)集成電路上結(jié)合了中央處理單元的功能。”
“如果深入研究,MPU 具有 CPU 的功能,因此它是計(jì)算機(jī)處理器,而 MCU 則是更完整的計(jì)算機(jī),這意味著 MCU 內(nèi)包含 MPU,這與常識(shí)相反。具有多個(gè)處理器核心的 16 路服務(wù)器處理器是否不再是 MPU?而是一種多核異構(gòu) SoC?”
“例如,一部手機(jī)可能包括多個(gè)應(yīng)用程序處理內(nèi)核,用于音頻、視頻、圖像處理的多個(gè) DSP,一個(gè)或兩個(gè)用于在屏幕上呈現(xiàn)圖像的 GPU 以及一個(gè)僅用于娛樂(lè)目的的神經(jīng)網(wǎng)絡(luò)處理單元——MCU。從我的角度來(lái)看,行業(yè)應(yīng)該放棄這些過(guò)時(shí)的術(shù)語(yǔ),使用更精確更具描述性的術(shù)語(yǔ)。”Grant Martin 繼續(xù)說(shuō)。
西門(mén)子業(yè)務(wù)部門(mén) Mentor 的高級(jí)產(chǎn)品經(jīng)理 Jeff Hancock 則認(rèn)為:“從系統(tǒng)軟件的角度來(lái)看,MCU 有望適用于直接解釋和控制硬件傳感器和執(zhí)行器的應(yīng)用。這種訪(fǎng)問(wèn)通常涉及一致且可靠的指令時(shí)序,這與通用 MPU 的需求相矛盾。通用 MPU 旨在優(yōu)化吞吐量,而 MCU 通常會(huì)優(yōu)化延遲。因此,如果是需要處理大型數(shù)據(jù)庫(kù),MPU 更合適,如果是要精細(xì)的機(jī)電控制,那么 MCU 更合適。
Jeff Hancock 還說(shuō):“外部存儲(chǔ)器和緩存肯定讓 MCU 的標(biāo)準(zhǔn)有所變化,但這距離將 MCU 等同于 MPU 還有很長(zhǎng)的路要走。特別是并不是所有 MCU 中的所有處理單元都專(zhuān)門(mén)使用外部存儲(chǔ)器,也可以使用隔離的子系統(tǒng)構(gòu)建系統(tǒng),這些子系統(tǒng)允許關(guān)鍵的工作負(fù)載和不太關(guān)鍵的應(yīng)用程序級(jí)系統(tǒng)并行繼續(xù)。”
“從軟件工程師的角度看,這是一個(gè)有趣的挑戰(zhàn),在不連續(xù)的地方可能有兩個(gè)內(nèi)存區(qū)域,集成式內(nèi)存雖小,但速度更快,因此最好留給對(duì)速度有高要求的代碼,例如實(shí)時(shí)操作系統(tǒng)。這意味著開(kāi)發(fā)工具必須足夠靈活以將代碼正確地映射到存儲(chǔ)器上,而 RTOS 必須足夠小適合片上存儲(chǔ)器。”西門(mén)子業(yè)務(wù)部門(mén)的嵌入式軟件技術(shù)專(zhuān)家 Walls 補(bǔ)充到。
Tortuga Logic 的高級(jí)硬件安全工程師 Nicole Fern 表示:“過(guò)去,MCU 與嵌入式系統(tǒng)相關(guān)聯(lián)。在嵌入式系統(tǒng)中,低成本和低功耗的要求比性能更為重要。但是隨著移動(dòng)計(jì)算和 IoT 邊緣計(jì)算的出現(xiàn),許多嵌入式系統(tǒng)現(xiàn)在需要復(fù)雜的處理,這樣就產(chǎn)生了面向嵌入式領(lǐng)域看起來(lái)更像 MPU 的 MCU 產(chǎn)品,為帶有外部存儲(chǔ)器和高速緩存的器件提供了更高的性能和可配置性。這種情況下,術(shù)語(yǔ) MCU 和 MPU 之間的差異僅取決于是否集成 CPU 系統(tǒng)。”
Arm 的低功耗 IoT 業(yè)務(wù)高級(jí)總監(jiān) Thomas Ensergueix 也認(rèn)為:“近年來(lái),MCU 和 MPU 之間的界限已經(jīng)模糊。MCU 和 MPU 之間的主要區(qū)別之一是軟件和開(kāi)發(fā)。MPU 將支持豐富的 OS,如 Linux 和相關(guān)的軟件堆棧,而 MCU 通常將專(zhuān)注于裸機(jī)和 RTOS。在決定哪種硬件平臺(tái)、MCU 或 MPU 最有效之前,由軟件開(kāi)發(fā)人員決定哪個(gè)軟件環(huán)境和生態(tài)系統(tǒng)最適合他們的應(yīng)用。
“隨著現(xiàn)在 MCU 已經(jīng)過(guò)渡到 32 位,我們還看到了性能的急劇提高,這有助于縮小 MCU 和 MPU 之間的差距。例如:許多基于 Arm Cortex-M7 的 MCU 可提供 100 多個(gè) Dhrystone MIPS,或在 CoreMark 中提供 2,000 多個(gè)點(diǎn)。這些設(shè)備中的許多設(shè)備還具有非常大的內(nèi)置存儲(chǔ)器,或者提供快速接口來(lái)連接外部存儲(chǔ)器。這確保了性能和內(nèi)存不再是 MCU 的瓶頸,并使它們更接近低端 MPU。”
小結(jié)
如今 MPU 與 MCU 之間是否有明確的界限真的重要嗎?可能不重要了。因?yàn)闊o(wú)論我們將其稱(chēng)之為什么,應(yīng)用程序都有附帶要求,這些要求將決定使用哪個(gè)設(shè)備。
責(zé)任編輯:haq
-
處理器
+關(guān)注
關(guān)注
68文章
19409瀏覽量
231207 -
mcu
+關(guān)注
關(guān)注
146文章
17324瀏覽量
352662 -
控制器
+關(guān)注
關(guān)注
112文章
16448瀏覽量
179481 -
MPU
+關(guān)注
關(guān)注
0文章
375瀏覽量
48959
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
嵌入式系統(tǒng)中微處理器的新變化
![嵌入式系統(tǒng)中<b class='flag-5'>微處理器</b>的新變化](https://file1.elecfans.com/web3/M00/05/63/wKgZPGd_dE2AXoyIAAAW1M6zS4A985.png)
MPU與MCU的區(qū)別
什么是MPU控制器及其應(yīng)用
MPU微處理器的工作原理
嵌入式系統(tǒng)中微控制器與微處理器的區(qū)別
![嵌入式系統(tǒng)中<b class='flag-5'>微控制器</b>與<b class='flag-5'>微處理器</b>的區(qū)別](https://file1.elecfans.com/web2/M00/F6/98/wKgZomaCbKKATk8bAAAtr-PyoJc849.png)
嵌入式微控制器與嵌入式微處理器的聯(lián)系
嵌入式系統(tǒng)中常用的五種微處理器類(lèi)型
PMP23242.1-微處理器單元 (MPU) 分立式汽車(chē)電源PCB layout設(shè)計(jì)
![PMP23242.1-<b class='flag-5'>微處理器</b>單元 (<b class='flag-5'>MPU</b>) 分立式汽車(chē)電源PCB layout設(shè)計(jì)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
嵌入式系統(tǒng)的微處理器選擇
![嵌入式系統(tǒng)的<b class='flag-5'>微處理器</b>選擇](https://file1.elecfans.com/web2/M00/D3/24/wKgZomYkbkWAEAZbAAALZP2cCCc827.jpg)
嵌入式微處理器的分類(lèi) 嵌入式微處理器的種類(lèi)和型號(hào)
什么是嵌入式微處理器? 嵌入式微處理器的區(qū)別
嵌入式微處理器的原理和應(yīng)用
針對(duì) C2000? 微控制器的集成微控制器 (MCU) 電源解決方案數(shù)據(jù)表
![針對(duì) C2000? <b class='flag-5'>微控制器</b>的集成<b class='flag-5'>微控制器</b> (<b class='flag-5'>MCU</b>) 電源解決方案數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論