一文搞懂CPU、MPU、MCU、SOC的區別與聯繫

2022-01-01 嵌入式實驗樓


嵌入式實驗樓

看到上面藍色字了麼?關注下吧!


CPU(CentralProcessing Unit),是一臺計算機的運算核心和控制核心。CPU由運算器、控制器和寄存器及實現它們之間聯繫的數據、控制及狀態的總線構成。主要功能是解釋計算機指令以及處理計算機軟體中的數據。計算機的可編程性主要是指對中央處理器的編程。

1970年代以前,中央處理器由多個獨立單元構成,後來發展出由集成電路製造的中央處理器,這些高度收縮的組件就是所謂的微處理器,其中分出的中央處理器最為複雜的電路可以做成單一微小功能強大的單元,也就是所謂的核心。

                    

差不多所有的CPU的運作原理可分為四個階段:提取(Fetch)、解碼(Decode)、執行(Execute)和寫回(Writeback)。 CPU從存儲器或高速緩衝存儲器中取出指令,放入指令寄存器,並對指令解碼,並執行指令。所謂的計算機的可編程性主要是指對CPU的編程。

 

MPU (MicroProcessor Unit),叫微處理器,是可編程特殊集成電路。MPU只是一個處理器,需要搭配內存等非常多的其他外設才可以構成一個系統。MCU內部有處理器、內存、Flash及其他模塊,僅僅需要搭配少量外設就可以構成一個系統。

在上世紀80年代非常流行,那時的微型計算機、遊戲機都是使用MPU。比如Motorola公司的68000晶片就是一款主流的微處理器(MPU)。下圖是一款Alpha Micro AM-1000系列的微型計算機電路板,電路板右側中間最大的晶片就是MPU 68000。

後來MPU逐漸式微,可以認為MPU發現到現在只剩下了intel、AMD公司x86系列CPU。這類CPU也越來越複雜,稱之為「微處理器」似乎不恰當了。在個人電腦領域,可以看到類似下圖的主板。主板上插上CPU、內存條、音效卡等等就構成了一臺計算機。整個主板體積龐大、製造複雜。


MCU(Micro ControlUnit),叫微控制器,是指隨著大規模集成電路的出現及其發展,把中央處理器、存儲器、定時/計數器(timer/counter)、各種輸入輸出接口等都集成在一塊集成電路晶片上的微型計算機,形成晶片級的晶片。與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節約成本。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出接口簡單,功能較低。

MCU的發展經歷過8位8051單片機、16位AVR單片機、32位STM單片機。

MCU內部集成了處理器和各類模塊,比如USB控制器、UART控制器、內存、Flash等等。只需要外接少量的器件,就可以搭建一個電子系統。

 


單片系統或片上系統(英語:System on a Chip,縮寫:SoC)是一個將電腦或其他電子系統集成到單一晶片的集成電路。單片系統可以處理數位訊號、模擬信號、混合信號甚至更高頻率的信號。單片系統常常應用在嵌入式系統中。單片系統的集成規模很大,一般達到幾百萬門到幾千萬門。

SoC 可以基於 MCU 或 MPU,並將提供執行某些類型的應用程式所需的一切。例如,對於圖像處理,SoC 可能具有 MPU、數位訊號處理器 (DSP) 和/或圖形處理單元 (GPU) 的組合,用於執行快速算法計算,以及用於驅動顯示器和 HDMI 或其他音頻/視頻輸入/輸出技術。SoC 可在單個微型 IC 上實現整個晶片系統。

 

微控制器 (MCU) 往往比微處理器 (MPU) 更便宜、設置更簡單、操作更簡單。MCU 可以被視為單晶片計算機,集成了ROM、RAM等在晶片內部,而 MPU 則具有支持各種功能(如內存、接口和 I/O)的外圍晶片,可任意更換不同廠商的同種類型外設。微控制器和微處理器之間的一個重要區別是微處理器通常會運行作業系統。作業系統允許多個進程通過多個線程同時運行。需要驅動程序來支持外圍設備。

MCU將運行「裸機接口」,這意味著沒有作業系統。沒有作業系統,MCU一次只能運行一個控制迴路。從軟體的角度來看,這意味著單個線程在微控制器的處理器或中央處理單元 (CPU) 上運行。

MCU 僅具有與外部世界交互的基本選項。MCU 可能有 I2C、SPI、UART(串行),有時還有低級 USB 連接。這些基本接口通常僅用於對 MCU 進行編程。MCU 的目的是永遠運行一個相當簡單的控制循環,或者直到它中斷或以其他方式停止。MCU 往往比 MPU 便宜。MCU並非不可能進行無線通信,但請記住,MCU一次只能運行一個線程。要得到服務,任何其他輸入或進程都必須等待單線程或控制循環先完成它正在執行的操作。除了 I2C、SPI 或 UART 等基礎接口外,微處理器往往還有許多接口。MPU 也可能有更複雜的接口,如乙太網、藍牙、WiFi、快閃記憶體等。

越來越難判斷一個設備是 MCU 還是 MPU,因為如今 MCU 可以做很多事情,包括更複雜的外圍設備。MCU 和 MPU 之間的區別變得不那麼明顯,因為現在一些 MCU 帶有用於更複雜外設的簡單軟體驅動程序,並且可以找到更多具有片上集成外設的 MPU。

 

CPU、MPU、MCU、SOC從大處講,就是一個系統的核心罷了,只是晶片的封裝程度不同、處理性能不同罷了,因此在不同的應用應用場景需要選擇合適的處理器。

最後附上一張晶片的思維導圖,詳細地了解它們之間聯繫以及特性:

 

相關焦點

  • CPU、MPU、MCU和SOC還傻傻分不清楚 看這篇文章就夠了
    在嵌入式開發中,我們會經常看到或接觸一些專業術語,例如CPU、MPU、MCU和SOC等,並且這些專業術語出現的頻率也是非常之高,在面試中也常常會作為提問的知識點,下面我們就來看一下他們之間的特點和區別
  • 一文看懂筆記本電腦(cpu、顯卡)參數|顯示器|amd
    如有侵權,請在後臺留言聯繫我們進行刪除,謝謝!                                                                                                     鄭重提示:本文,字多圖少,只有乾貨。經常有朋友問阿宇筆記本電腦怎麼買,一問朋友有什麼需求?
  • DSP、MCU、MPU的區別在哪些地方?
    MCU區別於DSP的最大特點在於它的通用性,反應在指令集和尋址模式中。DSP與MCU的結合是DSC,它終將取代這兩種晶片。GPP不是設計來做密集乘法任務的,即使是一些現代的GPP,也要求多個指令周期來做一次乘法,而DSP處理器使用專門的硬體來實現單周期乘法。
  • MPU-6050模塊使用手冊
    一、 MPU-6050模塊簡介
  • 「華為」和「榮耀」的區別 今天總算搞懂了!
    「華為」和「榮耀」的區別 今天總算搞懂了! 今天我們來談談「華為」和「榮耀」的區別,兩品牌在市場上深得消費者喜愛,在品牌定位上,這兩兄弟差異很大,榮耀定位面向年輕人的科技潮牌,始終堅持與年輕人交朋友。
  • 一文搞懂C、C++、C#的區別
    案例一:任務:把大象放到冰箱裡。
  • 正點原子-戰艦V3第三十七章 MPU6050 六軸傳感器實驗
    本章,我們介紹當下最流行的一款六軸(三軸加速度+三軸角速度(陀螺儀))傳感器:MPU6050,該傳感器廣泛用於四軸、平衡車和空中滑鼠等設計,具有非常廣泛的應用範圍。不過這些原始數據,對想搞四軸之類的初學者來說,用處不大,我們期望得到的是姿態數據,也就是歐拉角:航向角(yaw)、橫滾角(roll)和俯仰角(pitch)。有了這三個角,我們就可以得到當前四軸的姿態,這才是我們想要的結果。
  • cpu散片和盒裝有什麼區別 AMD CPU散片和盒裝區別介紹
    cpu散片和盒裝有什麼區別 AMD CPU散片和盒裝區別介紹  大家都知道,CPU分為兩大陣營,分別是intel和AMD,intel CPU散片比較常見,如果盒裝和散片差價較大的情況下,我們一般會考慮散片CPU進一步提升裝機性價比,AMD CPU有散片嗎?
  • 一文讀懂學歷學位的區別與聯繫!
    文:HR雨哥 資深人力資源總監 接地氣的職業發展顧問 領導力教練現實中,有時候在填寫一些關於個人信息的表格時,會讓填寫獲得的學歷和學位,怎樣填寫才是正確的呢?有時我們也會聽說某某同學畢業獲得了畢業證書和某學位證書,為什麼會發兩個證書呢?而有些同學只獲得了畢業證書,卻沒有學位證書,這又是怎麼回事?
  • 一文搞懂CV(履歷)和Resume(簡歷)的區別
    今天來聊一聊Resume(簡歷)和CV的區別,因為很多小夥伴在聯繫導師的時候,經常會受到回覆:把你的CV發過來給我看看。
  • 水冷和風冷的區別:cpu散熱器選風冷好還是水冷好?
    水冷和風冷的區別:cpu在電腦配件中是發熱量最高的配件,而給cpu降溫的東西就是散熱器了,目前cpu散熱器分為風冷和水冷兩種
  • mcu晶片是指什麼晶片_mcu晶片概念股
    mcu晶片是指什麼晶片_mcu晶片概念股 網絡整理 發表於 2020-08-06 10:54:29   mcu晶片是指什麼晶片   MCU是Microcontroller
  • 正在消失的MCU與MPU之間的界限
    這使得CPU/內存子系統與MPU幾乎沒有區別。那麼現在的MCU就是MPU嗎?不再有區別了嗎?當下可區分MCU與MPU的因素如今的MCU和MPU十分相似,但依然在很多方面有一些細微的區別,這包括CPU功能、位數、作業系統、時序要求、核心數量等方面。
  • MPU6050移植讀取數據時出現FIFO溢出問題解析
    MPU6050的DMP在工作的時候,其實大概的工作過程是mpu6050對陀螺儀和加速度計按照一定的採樣速率進行採樣,對採樣得到的陀螺儀和加速度計數據通過DMP處理後得到姿態角(pitch,roll,yaw),然後存入FIFO中,這個過程在你初始化完DMP後就會不受人為控制的持續進行,那麼如果你不及時讀取FIFO的數據,FIFO數據很快就會溢出,那麼就會出現以上的問題啦!
  • Linux - cpupower調整CPU主頻
    ondemand:按需快速動態調整 CPU 頻率, 一有 cpu 計算量的任務,就會立即達到最大頻率運行,等執行完畢就立即回到最低頻率;ondemand:userspace 是內核態的檢測,用戶態調整,效率低。
  • 一篇搞懂CPU平均負載的來龍去脈,如何壓測
    還有一種就是等待CPU的情況,此時CPU消耗很高,cpu的等待也很高,平均負載也是很高的。說了負載升高的情況,那平均負載究竟是什麼呢?2019-08-31-00-57-02多io操作stress --io 5stress -i 5產生多個CPU與多個io進程並且定時1分鐘停止stress -c 4 -i 4 --timeout 1mstress: info: [19613] dispatching hogs: 4 cpu
  • CPU散片是否靠譜?CPU散片與盒裝CPU有什麼區別?
    CPU散片與盒裝CPU有什麼區別?什麼是CPU散片?CPU散片是指沒有包裝盒、沒有原裝風扇、價格便宜並且沒有經過晶片廠商認證,不是由正常渠道上市的CPU產品。 CPU散片靠譜嗎?至於全新與二手的區別,有新的當然選新的,大家可以選擇找淘寶銷量較高的商家購買CPU。CPU散片與盒裝CPU有什麼區別?1、外包裝方面的不同,盒裝CPU是正規渠道以明確標註的單盒形式出售的CPU,往往在盒裝內還包含了散熱器,而散片沒有包裝盒,只有一顆CPU。
  • 《C++那些事》項目概要及一文徹底搞懂C和C++中struct
    一文搞懂C和C++中struct最近一直在更新一個倉庫:《C++那些事》,將自己學習的難點與重點羅列進去,並配上相關代碼,實踐與理論結合。
  • 機油5W-30與5W-40有多大區別?懂行人說出真相,搞不清楚白花錢
    機油5W-30與5W-40有多大區別?懂行人說出真相,搞不清楚白花錢 2018-12-19 12:00 來源: 彪哥飈車 機油5W-30與5W-40有多大區別?
  • 有源器件與無源器件的區別
    >(2)觸發器(flip-flop)(3)寄存器(register)(4)解碼器(decoder)(5)數據比較器(comparator)(6)驅動器(driver)(7)計數器(counter)(8)整形電路(9)可編程邏輯器件(pld)(10)微處理器(microprocessor,mpu