0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

多核MCU可用于簡(jiǎn)化嵌入式設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-03-27 08:32 ? 次閱讀

嵌入式系統(tǒng)設(shè)計(jì)人員面臨著對(duì)更高性能和更快上市時(shí)間的不斷增長(zhǎng)的需求。嵌入式處理器需要經(jīng)常實(shí)時(shí)地執(zhí)行不斷擴(kuò)展的任務(wù)。同時(shí),應(yīng)用需要高吞吐量和高能效以及小外形和低成本。多核微控制器單元(MCU)提供了一種可行的新解決方案,利用模塊化設(shè)計(jì)以經(jīng)濟(jì)的價(jià)格提供多倍的性能提升。

幾十年來(lái),隨著IC晶體管數(shù)量的增加,芯片性能不斷提高。采用高速緩存和流水線等技術(shù)的更復(fù)雜的架構(gòu)允許芯片設(shè)計(jì)人員使用不斷增加的硅密度來(lái)不斷提高處理速度。這已不再是這種情況。芯片設(shè)計(jì)人員已經(jīng)耗盡了替代架構(gòu)的可能性。生產(chǎn)力的增長(zhǎng)已經(jīng)從跟上摩爾定律的速度下降到不到一半。當(dāng)今提高生產(chǎn)力的唯一方法是通過(guò)使用多個(gè)CPU來(lái)利用模塊化。這導(dǎo)致了多核MCU的發(fā)展。

硬件:同構(gòu)與異構(gòu)

我們將多核MCU定義為具有兩個(gè)或多個(gè)CPU的微處理器,這些CPU一致地共享一個(gè)公共存儲(chǔ)器。在多核架構(gòu)中,每個(gè)處理器都有自己的指令流作用于自己的數(shù)據(jù)流(MIMD)。

多核MCU可以歸類為同構(gòu)或異構(gòu)。顧名思義,同類模塊具有兩個(gè)相同的CPU,可以并行或冗余地運(yùn)行操作。德州儀器TI)的Hercules系列產(chǎn)品專為安全應(yīng)用而設(shè)計(jì),擁有兩個(gè)同步運(yùn)行的ARM Cortex-R4F CPU。它們執(zhí)行相同的操作,然后比較每個(gè)時(shí)鐘周期的結(jié)果,有效地建立一個(gè)“安全島”,為設(shè)計(jì)人員提供可靠的基礎(chǔ),以在醫(yī)療,工業(yè)和汽車應(yīng)用中實(shí)施更復(fù)雜的操作。為了消除潛在的常見故障模式,設(shè)計(jì)團(tuán)隊(duì)將芯片組定向?yàn)楸舜?0°,并引入了處理器時(shí)序的延遲。該芯片可在高達(dá)200 MHz的頻率下運(yùn)行,并可運(yùn)行32 MB的閃存。

對(duì)于具有特殊要求的應(yīng)用 - 例如,計(jì)算密集型操作或大量信號(hào)處理 - 異構(gòu)MCU可以提供更好的解決方案。異構(gòu)MCU包含不同類型的處理器。它可能具有通用CPU以及數(shù)字信號(hào)處理器(DSP)和/或?qū)S糜诟↑c(diǎn)運(yùn)算的處理器。例如,TI的Concerto異構(gòu)多核MCU結(jié)合了C28x 32位CPU和ARM Cortex M3 32位CPU來(lái)優(yōu)化子系統(tǒng)(圖1)。 C28管理控制子系統(tǒng),提供高達(dá)150 MHz的浮點(diǎn)運(yùn)算。同時(shí),ARM Cortex處理通信,邏輯和排序/監(jiān)控,速度高達(dá)100 MHz。 MCU在閃存和RAM上都集成了錯(cuò)誤檢測(cè)功能,以及帶有多個(gè)系統(tǒng)看門狗的內(nèi)置時(shí)鐘監(jiān)控功能。

多核MCU可用于簡(jiǎn)化嵌入式設(shè)計(jì)

圖1:異構(gòu)多核MCU,如Concerto包含不同的內(nèi)核,可為每項(xiàng)任務(wù)提供最佳解決方案。

真正的多核MCU需要的不僅僅是具有共享內(nèi)存的多個(gè)內(nèi)核。為了實(shí)現(xiàn)有效的并行處理,架構(gòu)必須確保每個(gè)CPU都在最新的可能數(shù)據(jù)上運(yùn)行。在雙核MCU中,每個(gè)CPU都有一個(gè)專用的I(L1)高速緩存,但所有CPU共享一個(gè)2級(jí)(L2)高速緩存(圖2)。挑戰(zhàn)在于確保如果CPU1更新其L1緩存中的變量,CPU2將使用正確的信息,而不是其L1緩存先前從L2緩存中獲取的舊數(shù)據(jù)。設(shè)計(jì)通常使用各種名稱已知的硬件監(jiān)視器來(lái)完成此操作,包括一致性模塊或簡(jiǎn)單地說(shuō)是窺探器。例如,當(dāng)CPU 1將變量保存到其L1高速緩存時(shí),一致性模塊注冊(cè)該更改并使CPU2的L1高速緩存中的數(shù)據(jù)無(wú)效。當(dāng)CPU2嘗試訪問(wèn)該位置時(shí),它無(wú)法并且必須轉(zhuǎn)到L2緩存以獲取新數(shù)據(jù)。

多核MCU可用于簡(jiǎn)化嵌入式設(shè)計(jì)

圖2:來(lái)自飛思卡爾的QorIQ系列功能一個(gè)一致性模塊,用于監(jiān)控每個(gè)CPU的I級(jí)緩存的更改,以確保每個(gè)核心都運(yùn)行最新的數(shù)據(jù)。

飛思卡爾半導(dǎo)體的QorIQ P2平臺(tái)系列通信處理器基于雙e500 Power Architecture內(nèi)核,每個(gè)CPU具有雙32 KB L1高速緩存,另外還有256 KB二級(jí)高速緩存。用戶可以選擇在兩個(gè)內(nèi)核之間對(duì)L2緩存進(jìn)行分區(qū),也可以將其配置為存儲(chǔ)內(nèi)存或SRAM。 P2020評(píng)估板,名為P2020COME-DS-PB-ND,使工程師能夠熟悉飛思卡爾雙核MCU的復(fù)雜性。 Digi-Key網(wǎng)站還提供雙核QorIQ產(chǎn)品的產(chǎn)品培訓(xùn)模塊。

功能并行與數(shù)據(jù)并行

硬件只是一個(gè)開始。多核MCU的最大好處是程序員可以利用軟件最大限度地提高工作效率的方式。有多種方法可以編程多核MCU。在對(duì)稱多處理(SMP)中,也許是最常見的方法,所有CPU都可以訪問(wèn)公共內(nèi)存空間并由單個(gè)操作系統(tǒng)運(yùn)行。 CPU通過(guò)共享內(nèi)存中的變量進(jìn)行通信。任何CPU都可以運(yùn)行任何進(jìn)程,但通常在任何給定時(shí)間都不會(huì)在CPU之間共享進(jìn)程。

非對(duì)稱多處理(AMP)提供更多自由度。在AMP中,可以將特定CPU分配給某些進(jìn)程以實(shí)現(xiàn)最佳性能。非對(duì)稱體系結(jié)構(gòu)甚至可以在不同的處理器上運(yùn)行不同的操作系統(tǒng),在核心處理和時(shí)間敏感操作上運(yùn)行實(shí)時(shí)操作系統(tǒng)(RTOS),而通用核心在Linux上運(yùn)行。

多核MCU的主要優(yōu)點(diǎn)之一是并行處理能力。并行處理可分為功能并行處理和數(shù)據(jù)并行處理。功能并行性涉及將任務(wù)分解為單個(gè)運(yùn)算符。不同處理器執(zhí)行不同功能。這是一種強(qiáng)大的技術(shù),但不是多核方法中真正的肌肉所在。

數(shù)據(jù)并行性提供了最大的性能提升。它涉及將數(shù)據(jù)劃分為由不同核心處理的各個(gè)部分。這是一種功能強(qiáng)大的技術(shù),但由于CPU通過(guò)共享內(nèi)存進(jìn)行通信,因此同步對(duì)于確保CPU以正確的順序和正確的數(shù)據(jù)進(jìn)行操作至關(guān)重要。

多線程或fork/join并行性提供了一種確保同步的方法。系統(tǒng)將處理劃分為線程,在CPU之間拆分?jǐn)?shù)據(jù),每個(gè)CPU在其數(shù)據(jù)塊上運(yùn)行相同的代碼。當(dāng)線程完成其操作時(shí),它們重新組合以產(chǎn)生結(jié)果。在完成所有線程之前,操作不會(huì)結(jié)束,因此這種方法可確保同步。

使用先進(jìn)先出(FIFO)緩沖區(qū)提供了另一種同步方法。當(dāng)CPU通過(guò)FIFO進(jìn)行通信時(shí),如果它是空的,它們只能寫入它。數(shù)據(jù)強(qiáng)制執(zhí)行優(yōu)先級(jí) - 如果緩沖區(qū)已滿,則進(jìn)程后期的CPU無(wú)法寫入。它必須輪流等待。

互斥(互斥)鎖提供了更復(fù)雜的同步方法。通過(guò)硬件實(shí)現(xiàn),互斥鎖可確保在任何給定時(shí)間只有一個(gè)CPU擁有共享變量的所有權(quán)。當(dāng)給定線程開始其操作時(shí),它讀取變量并設(shè)置鎖定,這阻止其他線程訪問(wèn)信息。當(dāng)操作結(jié)束時(shí),線程釋放鎖定,以便其他人可以訪問(wèn)它。

特別是在并行處理方面,多核MCU為嵌入式設(shè)計(jì)提供了強(qiáng)大的解決方案。但是,它們必須經(jīng)過(guò)精心設(shè)計(jì)和編程。線程越多,該過(guò)程就越具有挑戰(zhàn)性。錯(cuò)誤可能導(dǎo)致系統(tǒng)死鎖,循環(huán)結(jié)束,甚至產(chǎn)生可能的結(jié)果,這些結(jié)果意外地依賴于首先完成哪個(gè)線程。

硬件設(shè)計(jì)有其自身的挑戰(zhàn)。雖然解決方案功能強(qiáng)大,但重要的是要意識(shí)到它們不一定是給定應(yīng)用程序的最佳解決方案。用戶需要考慮處理器功能和帶寬限制 - 與內(nèi)核一樣快,他們都將使用相同的通信總線,ADC和其他資源。

總體而言,多核MCU為各種嵌入式設(shè)計(jì)挑戰(zhàn)提供了有用的選擇。存在用于簡(jiǎn)化嵌入式設(shè)計(jì)和編程的工具。通過(guò)訪問(wèn)它們并密切關(guān)注測(cè)試和驗(yàn)證,設(shè)計(jì)團(tuán)隊(duì)可以獲得高性能和經(jīng)濟(jì)的價(jià)格點(diǎn),并加快產(chǎn)品上市速度。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17227

    瀏覽量

    351942
  • 嵌入式
    +關(guān)注

    關(guān)注

    5087

    文章

    19158

    瀏覽量

    306446
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6861

    瀏覽量

    123502
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    多核嵌入式系統(tǒng)存在的局限性?怎么解決這些問(wèn)題?

    本文列舉了多核嵌入式系統(tǒng)存在的一些主要局限,并對(duì)解決這些局限的可行方案進(jìn)行了探討。將以一些嵌入式系統(tǒng)為例,指出利用現(xiàn)有架構(gòu)改進(jìn)系統(tǒng)節(jié)能效果的機(jī)遇。多核處理器與新興的
    發(fā)表于 03-09 06:36

    多核MCU可用于簡(jiǎn)化嵌入式設(shè)計(jì) 精選資料推薦

    轉(zhuǎn)自:http://www.wenjunhu.com/d/851199.html嵌入式系統(tǒng)設(shè)計(jì)人員面臨著對(duì)更高性能和更快上市時(shí)間的不斷增長(zhǎng)的需求。嵌入式處理器需要經(jīng)常實(shí)時(shí)地執(zhí)行不斷擴(kuò)展的任務(wù)。同時(shí)
    發(fā)表于 07-19 09:02

    嵌入式多核程序設(shè)計(jì)資料分享

    試題三(共 25 分)閱讀以下關(guān)于嵌入式多核程序設(shè)計(jì)技術(shù)的描述,回答問(wèn)題 1 至問(wèn)題 3。【說(shuō)明】近年來(lái),多核技術(shù)己被廣泛應(yīng)用于眾多安全關(guān)鍵領(lǐng)域(如:航空航天等)的電子設(shè)備中,面向
    發(fā)表于 12-14 07:05

    中國(guó)首顆ARM+RISC-V異構(gòu)多核MCU伴隨IAR在上海國(guó)際嵌入式展亮相

    ARM+RISC-V異構(gòu)多核MCU硬件平臺(tái)?!?b class='flag-5'>嵌入式多核系統(tǒng)可分為同構(gòu)多核和異構(gòu)多核,航順芯片H
    發(fā)表于 06-15 18:32

    嵌入式異構(gòu)多核的片上通信架構(gòu)設(shè)計(jì)

    為了克服目前嵌入式異構(gòu)多核處理器的片上通信架構(gòu)無(wú)法提供高效的異構(gòu)多核協(xié)作架構(gòu)的問(wèn)題,本文分析了嵌入式異構(gòu)多核體系中片上處理核在核間通信以及存
    發(fā)表于 12-04 11:30 ?26次下載

    NI LabVIEW 8.6 全面簡(jiǎn)化嵌入式系統(tǒng)原型構(gòu)造與發(fā)

    NI LabVIEW 8.6 全面簡(jiǎn)化嵌入式系統(tǒng)原型構(gòu)造與發(fā)布過(guò)程 新版軟件提供最新FPGA和多核IP,支持更多最新基于NI FPGA的硬件產(chǎn)品
    發(fā)表于 08-12 08:26 ?582次閱讀

    嵌入式多媒體應(yīng)用的多核編程框架

    基于單核結(jié)構(gòu)的嵌入式處理器越來(lái)越難以滿足日益增長(zhǎng)的嵌入式多媒體應(yīng)用的處理需求,多核嵌入式結(jié)構(gòu)已成為解決這一問(wèn)題的有效途徑,同時(shí)也為如何開發(fā)充分利用
    發(fā)表于 08-25 15:21 ?29次下載
    <b class='flag-5'>嵌入式</b>多媒體應(yīng)用的<b class='flag-5'>多核</b>編程框架

    基于異構(gòu)多核嵌入式平臺(tái)的視頻監(jiān)控系統(tǒng)

    基于異構(gòu)多核嵌入式平臺(tái)的視頻監(jiān)控系統(tǒng)_尹雷
    發(fā)表于 01-07 18:56 ?0次下載

    第3章 多核嵌入式系統(tǒng)硬件結(jié)構(gòu)

    多核嵌入式系統(tǒng)硬件結(jié)構(gòu)
    發(fā)表于 04-11 14:21 ?1次下載

    如何簡(jiǎn)化嵌入式開發(fā)項(xiàng)目

    如何簡(jiǎn)化嵌入式開發(fā)項(xiàng)目
    發(fā)表于 10-24 10:16 ?13次下載
    如何<b class='flag-5'>簡(jiǎn)化</b><b class='flag-5'>嵌入式</b>開發(fā)項(xiàng)目

    嵌入式多媒體多核應(yīng)用軟件設(shè)計(jì)解析

    基于單核結(jié)構(gòu)的嵌入式處理器越來(lái)越難以滿足日益增長(zhǎng)的嵌入式多媒體應(yīng)用的處理需求,多核嵌入式結(jié)構(gòu)已成為解決這一問(wèn)題的有效途徑,同時(shí)也為如何充分開發(fā)利用
    發(fā)表于 10-26 16:52 ?0次下載
    <b class='flag-5'>嵌入式</b>多媒體<b class='flag-5'>多核</b>應(yīng)用軟件設(shè)計(jì)解析

    嵌入式多媒體多核應(yīng)用軟件設(shè)計(jì)框架

    基于單核結(jié)構(gòu)的嵌入式處理器越來(lái)越難以滿足日益增長(zhǎng)的嵌入式多媒體應(yīng)用的處理需求,多核嵌入式結(jié)構(gòu)已成為解決這一問(wèn)題的有效途徑,同時(shí)也為如何充分開發(fā)利用
    發(fā)表于 11-30 17:57 ?438次閱讀
     <b class='flag-5'>嵌入式</b>多媒體<b class='flag-5'>多核</b>應(yīng)用軟件設(shè)計(jì)框架

    多核MCU可用于簡(jiǎn)化嵌入式設(shè)計(jì)

    轉(zhuǎn)自:http://www.wenjunhu.com/d/851199.html嵌入式系統(tǒng)設(shè)計(jì)人員面臨著對(duì)更高性能和更快上市時(shí)間的不斷增長(zhǎng)的需求。嵌入式處理器需要經(jīng)常實(shí)時(shí)地執(zhí)行不斷擴(kuò)展的任務(wù)。同時(shí)
    發(fā)表于 10-25 15:36 ?3次下載
    <b class='flag-5'>多核</b><b class='flag-5'>MCU</b><b class='flag-5'>可用于</b><b class='flag-5'>簡(jiǎn)化</b><b class='flag-5'>嵌入式</b>設(shè)計(jì)

    嵌入式linux和物聯(lián)網(wǎng),嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)

    嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)2021-05-10嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)嵌入式Linux將Linux內(nèi)核
    發(fā)表于 11-01 16:33 ?15次下載
    <b class='flag-5'>嵌入式</b>linux和物聯(lián)網(wǎng),<b class='flag-5'>嵌入式</b>Linux或RTOS:<b class='flag-5'>用于</b>物聯(lián)網(wǎng)

    嵌入式linux和物聯(lián)網(wǎng),嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)

    嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)2021-05-10嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)嵌入式Linux將Linux內(nèi)核
    發(fā)表于 11-01 17:37 ?16次下載
    <b class='flag-5'>嵌入式</b>linux和物聯(lián)網(wǎng),<b class='flag-5'>嵌入式</b>Linux或RTOS:<b class='flag-5'>用于</b>物聯(lián)網(wǎng)