伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

非對稱雙核MCU基礎知識及核間通信

MCU開發加油站 ? 來源:未知 ? 作者:鄧佳佳 ? 2018-03-13 15:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

本文從對比兩顆分立MCU與單芯片雙核MCU開始(以LPC4350為例),展開介紹了非對稱雙核MCU的基礎知識與重要特點。接下來,重點介紹了核間通信的概念與幾種實現方式,尤其是基于消息池的控制/狀態通信。然后,對內核互斥、初始化流程等一些重要的細節展開了論述。最后提出了雙核任務分工的兩種應用模型,并分別舉例。

背景與基本概念

在開發MCU應用系統時,如果單顆MCU無法滿足系統的要求,一個很普遍的做法就是使用兩顆或更多的MCU,把一部分“雜項工作”分配給另一個有“助理”性質的低端MCU來完成。但是,采用兩顆MCU,缺點也很明顯,尤其是在芯片與PCB成本、系統可靠性及功耗方面都有先天的不足。此外,若采用了不同架構的MCU,還要面臨需要不同的開發工具與開發人員的挑戰。如果換一種思路,讓MCU內部包含兩個內核,其中一個用于主控,另一個用于協控,并且它們主控與協控在架構上能夠向下兼容、高效通信,則在很多場合下都可以既保持多機系統的強大,又能避免多機系統的不足。

事實上,這即是“非對稱多處理器(簡稱AMP)”架構的特點。AMP是與“對稱多處理器(簡稱SMP)”相對的架構,后者各處理器有一致的編程模型,并且在分配工作時主要以均衡為原則。而AMP的優點在于精細的任務分工,靈活地適應不同情景,物盡其用,以最佳地平衡成本、性能與功耗。此外,AMP的編程難度也更低。因此,在MCU應用領域,AMP較SMP更為適合。

與獨立的雙MCU相比,AMP架構有很多優點。其中相當關鍵的就是,再添加一個內核的代價遠比添加一個獨立的MCU要低,尤其是當兩個內核架構相似時,甚至僅相當于在現有硅片上再添加一兩個UART。另一方面,兩個內核可以有相同的主頻,并且可以通過總線矩陣平等地訪問片上資源。而在分立的雙MCU方案中,協控MCU的主頻常常遠低于主控,并且雙方使用低速的串行鏈路通信。

接下來,我們以恩智浦(NXP)半導體公司推出的LPC4300系列為例(尤以LPC4350型號為代表),對AMP MCU進行簡單介紹。

非對稱雙核MCU的特點

AMP MCU一般用于相對大型的系統,這些系統對功能和性能都有較高的要求。在功能上,應支持較多的外設。LPC4350片載2個高速USB、2個CAN、工業以太網、圖形LCD控制器,以及SDHC等接口;外加一些獨有的邏輯可配置外設以及眾多傳統外設,適用于工控、能源、醫療、音頻、車載、電機、監控等眾多行業產品的開發。

性能的改善則是AMP MCU的靈魂。內核、存儲器,以及總線架構對于性能有著至關重要的影響。圖1展示了LPC4350的實現方式。

圖1:LPC4350的內核、存儲器以及總線連接圖

首先是內核的選擇。LPC4350基于32位的ARM Cortex-M4和Cortex-M0內核(以下簡稱M4和M0),兩個內核均可在高達204MHz的主頻下執行代碼。其中,M4以信號處理和浮點運算能力見長,勝任很多原先要采用DSP才能滿足的應用,并且繼承了Cortex-M3的控制能力;另一方面,M0以其成本、能效和處理能力的壓倒性優勢,正迅速吸引開發人員從8/16位架構向上過渡。更重要的是,M4完全向下兼容M0,使用同一套開發工具即可開發、調試。

其次是存儲器的容量和組織方式。LPC4350配備多達264KB片上RAM,并且這些RAM被劃分成4組,每組連接一條單獨的總線,而并非沒有分塊。如若不然,則會出現兩個核競爭使用同一塊RAM的情況——性能反而還不如只用單個內核!進一步,LPC4350還有兩條總線連接到外部擴展的并行和串行存儲器,故總共有6個獨立的存儲器地址空間——LPC4350無片上閃存。對于有片上閃存的型號,片上閃存也分為兩塊。

最后是總線架構。LPC4350內部有一個八層總線矩陣。它如同一組縱橫開關,可以把CPU與包括存儲器在內的眾多從設備通過總線任意連接。合理分配總線接通關系,避免多個主設備(如CPU和DMA)同時訪問相同的存儲器或外設,可以最大地保證各條數據流并行不悖,從而可以充分發揮性能上的優勢。

內核間通信

內核間的通信可分為兩類:一類是控制與狀態信息的通信,另一類則是數據通信。前者一般不攜帶數據,但往往有較高的實時要求;后者則主要是各類數據緩沖區,通常實時性要求偏低但數據量大??刂?狀態通信有較大的通用性,并且與任務間的同步較為相似。這類通信適合由系統軟件實現并提供編程接口。數據通信則往往與具體應用相關較大(尤其是在數據結構上),需要量體裁衣。在實現時,適合由應用軟件定義各種數據結構。

內核間通過共享的RAM進行通信,并且每個內核都可以觸發對方的一個中斷源,通過準備數據-觸發中斷的方式進行通信,如圖2所示。當然,內核也可以定期檢查共享RAM的狀態。

圖2:內核間使用共享內存通信模式圖

接下來,我們介紹基于消息隊列和消息池的控制/狀態通信方案。

消息隊列:開設兩個消息隊列,一個用于M4發送消息給M0,另一個則是M0發送消息給M4。兩個隊列的地址需事先約定好。隊列是循環隊列,可以使用簡單的數組配以讀、寫下標來實現,也可以使用鏈表結構來實現。前者實現簡單、開銷小,但消息只能是定長,不便于攜帶其它信息,還有,就是必須把數組放置在共享內存區連續的位置,靈活性低?;阪湵淼膶崿F用指針鏈接每則消息,每則消息除了公共的鏈表控制部分外,還可以根據消息類別攜帶各種各樣的附加參數,并且可以由系統軟件的內存管理機制靈活分配消息內存,不過,缺點是相對復雜,額外開銷大。若涉及動態內存管理,實時性將遠不如基于數組的方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴

原文標題:非對稱雙核MCU基礎知識及核間通信

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    全志T153處理器ARM+RISC-V的CP多有強?——飛凌嵌入式

    在嵌入式設備拼性能、拼響應、拼功耗的內卷時代,協作才是破局的關鍵。傳統的對稱多處理(SMP)架構已難以兼顧全場景需求,非對稱多處理(AMP)異構架構正在成為行業主流,在這樣的背景下
    的頭像 發表于 01-16 08:06 ?1897次閱讀
    全志T153處理器ARM+RISC-V的<b class='flag-5'>雙</b><b class='flag-5'>核</b>CP多有強?——飛凌嵌入式

    通信延時,都做到這么低了?附:各項完整測試數據

    先說說,為什么通信延時能逼瘋工程師?咱做工業控制的都知道,多核處理器就像車間里的多個師傅,例如瑞芯微RK3576處理器: A72當領導管全局 (跑Linux,人機交互、數據處理)
    的頭像 發表于 12-24 16:36 ?266次閱讀
    <b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>延時,都做到這么低了?附:各項完整測試數據

    深入解析SMFA非對稱系列表面貼裝TVS二極管

    深入解析SMFA非對稱系列表面貼裝TVS二極管 在電子設備的設計中,保護關鍵元件免受電壓瞬變和浪涌的影響至關重要。TVS(瞬態電壓抑制)二極管作為一種常用的保護器件,能夠在瞬間吸收大量的能量,將電壓
    的頭像 發表于 12-15 16:40 ?454次閱讀

    實測2778MB/s,AMP通信“快如閃電”,瑞芯微RK3576

    在多核異構SoC處理器中,間數據的傳輸帶寬直接決定了系統整體性能。傳統通信方案存在數據“ 拷貝開銷大 ”、“ 帶寬受限 ”等瓶頸,高效的通信
    的頭像 發表于 12-04 14:14 ?526次閱讀
    實測2778MB/s,AMP<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>“快如閃電”,瑞芯微RK3576

    銳能微RISC-VMCU芯片在智能電表中的應用

    上海貝嶺股份有限公司全資子公司深圳市銳能微科技有限公司近日推出了電表行業首顆RISC-VMCU芯片。該芯片主要面向出口電表市場,同時也為國網及南網下一步的國產化內核MCU做好了準備
    的頭像 發表于 11-07 16:48 ?1510次閱讀
    銳能微RISC-V<b class='flag-5'>雙</b><b class='flag-5'>核</b><b class='flag-5'>MCU</b>芯片在智能電表中的應用

    e203 軟如何和FPGA通信?

    求教e203 軟如何和FPGA通信
    發表于 11-07 06:15

    深入芯馳D9360通信案例,RPMSG關鍵技術深度剖析

    Core-D9360平臺為例,詳解如何利用RPMSG與VirtIO機制實現A與R的可靠通信,并提供關鍵代碼實現與調試方法。圖1Core-D9360核心板一、
    的頭像 發表于 09-10 08:31 ?1278次閱讀
    深入芯馳D9360<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>案例,RPMSG關鍵技術深度剖析

    非對稱密鑰生成和轉換規格詳解

    生成 以字符串參數生成RSA密鑰,具體的“字符串參數”由“RSA密鑰類型”和“素數個數”使用符號“|”拼接而成,用于在創建非對稱密鑰生成器時,指定密鑰規格。 說明:生成RSA非對稱密鑰時,默認素數為2
    發表于 09-01 07:50

    國產!全志T113-i Cortex-A7@1.2GHz 工業開發板—ARM + FPGA通信案例

    本文主要介紹基于全志科技T113與FPGA的通信案例,適用開發環境如下。
    的頭像 發表于 08-19 11:16 ?1437次閱讀
    國產!全志T113-i <b class='flag-5'>雙</b><b class='flag-5'>核</b>Cortex-A7@1.2GHz 工業開發板—ARM + FPGA<b class='flag-5'>通信</b>案例

    國產!全志T113-i Cortex-A7@1.2GHz 工業開發板—ARM + DSP、RISC-V通信開發案例

    本文檔主要介紹T113-i處理器的ARM + DSP、RISC-V通信開發案例,演示T113-i處理器ARM Cortex-A7與HiFi4 DSP核心、玄鐵C906 RISC-V核心的
    的頭像 發表于 08-18 14:03 ?1065次閱讀
    國產!全志T113-i <b class='flag-5'>雙</b><b class='flag-5'>核</b>Cortex-A7@1.2GHz 工業開發板—ARM + DSP、RISC-V<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>開發案例

    單核CPU網關和CPU網關有什么區別

    單核CPU網關與CPU網關的核心區別在于處理能力、多任務效率、性能表現及適用場景,CPU網關在多任務處理、復雜計算和響應速度上具有顯著優勢,而單核CPU網關則更適合輕量級、低負
    的頭像 發表于 07-05 14:37 ?1193次閱讀

    請問的芯片如何調試?

    的芯片如何調試?比如有很多M4+M0的芯片,是分開調試合適可以一起調試?
    發表于 06-19 07:32

    黑芝麻智能解讀車規SoC通信技術

    在當今的智能汽車領域,電子系統的復雜程度超乎想象。一輛現代汽車可能配備超過100個電子控制單元,運行著數以億計行的代碼。而將這些系統緊密相連并使其協同工作的核心技術之一,便是車規級系統級芯片中的通信技術。
    的頭像 發表于 06-06 16:38 ?2325次閱讀
    黑芝麻智能解讀車規SoC<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>技術

    智控,破界芯生|國內首款Arm? Cortex?M7+M4異構MCU發布

    國民技術宣布發布國內首款基于ArmCortexM7+M4異構實現的N32H78x系列高性能MCU,以及基于ArmCortexM7內核實現的N32H76x系列高性能MCU。N32H7
    的頭像 發表于 04-18 21:05 ?1472次閱讀
    <b class='flag-5'>雙</b><b class='flag-5'>核</b>智控,破界芯生|國內首款Arm? Cortex?M7+M4<b class='flag-5'>雙</b><b class='flag-5'>核</b>異構<b class='flag-5'>MCU</b>發布

    恩智浦MCXN947 MCU多核應用程序的創建和調試

    一場靜默的算力進化正在微控制器(MCU)領域爆發。當傳統單核MCU在實時響應與多任務處理艱難平衡時,架構帶來歷史破局:尤其在處理如兼具
    的頭像 發表于 04-07 15:17 ?2599次閱讀
    恩智浦MCXN947 <b class='flag-5'>MCU</b>多核應用程序的創建和調試