99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

MPU進(jìn)化,多核異構(gòu)處理器有多強(qiáng)?A核與M核通信過程解析

飛凌嵌入式 ? 2022-11-21 14:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著市場對嵌入式設(shè)備功能需求的提高,市面上出現(xiàn)了集成嵌入式處理器和單片機(jī)的主控方案,以兼顧性能和效率。

在實際應(yīng)用中,嵌入式處理器和單片機(jī)之間需要進(jìn)行大量且頻繁的數(shù)據(jù)交換,如果采用低速串行接口,則數(shù)據(jù)傳輸效率低,這將嚴(yán)重影響產(chǎn)品的性能;而如果采用高速并口,則占用管腳多,硬件成本將會增加。

為解決這一痛點,各大芯片公司陸續(xù)推出了兼具A核和M核的多核異構(gòu)處理器,如NXP的i.MX8系列、瑞薩的RZ/G2L系列以及TI的AM62x系列等等。雖然這些處理器的品牌及性能有所不同,但多核通信原理基本一致,都是基于寄存器和中斷傳遞消息,基于共享內(nèi)存?zhèn)鬏敂?shù)據(jù)。

以配電終端產(chǎn)品為例,A核負(fù)責(zé)通訊和顯示等人機(jī)交互任務(wù),M核負(fù)責(zé)采樣和保護(hù)等對實時性要求較高的任務(wù),雙核間交互模擬量、開關(guān)量和錄波文件等多種信息,A核+M核的方案既滿足了傳統(tǒng)采樣保護(hù)功能,又支持多種接口通信及新增容器等功能,符合國家電網(wǎng)現(xiàn)行配電標(biāo)準(zhǔn)。

71f7f882-67ab-11ed-b116-dac502259ad0.png通信過程整體架構(gòu)說明

接下來小編將以NXP的i.MX8MP為例,借助飛凌OKMX8MP-C開發(fā)板分別從硬件層、驅(qū)動層、應(yīng)用層介紹大致的通信實現(xiàn)流程以及實測效果。

1. 硬件層通信實現(xiàn)機(jī)制

通過物理內(nèi)存DDR分配,將硬件層分為了兩部分:TXVring Buffer(發(fā)送虛擬環(huán)狀緩沖區(qū))RXVring Buffer(接收虛擬環(huán)狀緩沖區(qū));其中M核從TXVring區(qū)發(fā)送數(shù)據(jù),從RXVring區(qū)讀取接收數(shù)據(jù),A核反之。

處理器支持消息傳遞單元(MessagingUnit,簡稱MU)功能模塊,通過MU傳遞消息進(jìn)行通信和協(xié)調(diào),芯片內(nèi)的M7控制核和A53處理核通過通過寄存器中斷的方式傳遞命令,最多支持4組MU雙向傳遞消息,既可通過中斷告知對方數(shù)據(jù)傳遞的狀態(tài),也可發(fā)送最多4字節(jié)數(shù)據(jù),還可在低功耗模式下喚醒對方,是保證雙核通信實時性的重要手段。

721d00d2-67ab-11ed-b116-dac502259ad0.png寄存器輸入輸出通信模型

(1)CoreA寫入數(shù)據(jù);

(2)MU將Tx 空位清0,Rx滿位置1;

(3)產(chǎn)生接收中斷請求,通知CoreB接收狀態(tài)寄存器中的接收器滿,可以讀取數(shù)據(jù);

(4)CoreB響應(yīng)中斷,讀取數(shù)據(jù);

(5)CoreB讀完數(shù)據(jù)后,MU將Rx滿位清0,Tx空位置1;

(6)狀態(tài)寄存器向CoreA生成發(fā)送中斷請求,告知CoreB讀完數(shù)據(jù),發(fā)送寄存器空。

通過以上步驟,就完成了1次從CoreA向CoreB 傳遞消息的過程,反之亦然。

2. 驅(qū)動層Virtio下RPMsg通信實現(xiàn)

Virtio是通用的IO虛擬化模型,位于設(shè)備之上的抽象層,負(fù)責(zé)前后端之間的通知機(jī)制和控制流程,為異構(gòu)多核間數(shù)據(jù)通信提供了層的實現(xiàn)。

RPMsg消息框架是Linux系統(tǒng)基于Virtio緩存隊列實現(xiàn)的主處理核和協(xié)處理核間進(jìn)行消息通信的框架,當(dāng)客戶端驅(qū)動需要發(fā)送消息時,RPMsg會把消息封裝成Virtio緩存并添加到緩存隊列中以完成消息的發(fā)送,當(dāng)消息總線接收到協(xié)處理器送到的消息時也會合理地派送給客戶驅(qū)動程序進(jìn)行處理。

在驅(qū)動層,對A核,Linux采用RPMsg框架+Virtio驅(qū)動模型,將RPMsg封裝為了tty文件供應(yīng)用層調(diào)用;在M核,將Virtio移植,并使用簡化版的RPMsg,因為涉及到互斥鎖和信號量,最終使用FreeRTOS完成過程的封裝,流程框圖如下方所示。

723afcc2-67ab-11ed-b116-dac502259ad0.png主處理核與協(xié)處理核數(shù)據(jù)傳遞流程圖

(1)Core0向Core1發(fā)送數(shù)據(jù),通過rpmsg_send函數(shù)將數(shù)據(jù)打包至Virtioavail鏈表區(qū);

(2)在avail鏈表尋找共享內(nèi)存中空閑緩存,將數(shù)據(jù)置于共享內(nèi)存中;

(3)通過中斷通知Core1數(shù)據(jù)到來,共享內(nèi)存由avail鏈表區(qū)變至used區(qū);

(4)Core1收到中斷,觸發(fā)rpmsg的接收回調(diào)函數(shù),從used區(qū)獲取數(shù)據(jù)所在的共享內(nèi)存的物理地址,完成數(shù)據(jù)接收;

(5)通過中斷通知Core0數(shù)據(jù)接收完成,共享內(nèi)存緩存由used區(qū)變?yōu)閍vail區(qū),供下次傳輸使用。

3. 應(yīng)用層雙核通信實現(xiàn)方式

在應(yīng)用層,對A核可使用open、writeread函數(shù)對 /dev下設(shè)備文件進(jìn)行調(diào)用;對M核,可使用rpmsg_lite_remote_init、rpmsg_lite_sendrpmsg_queue_recv函數(shù)進(jìn)行調(diào)用,不做重點闡述。

4. 實際使用效果

通過程序?qū)崪y,M核和A核可以批量傳輸大數(shù)據(jù)。同樣以配電產(chǎn)品為例——128點采樣的錄波文件大約為43K,若通過傳統(tǒng)的串行總線傳輸方式,需要數(shù)秒才可完成傳輸。

使用i.MX8MP的雙核異構(gòu)通信方案,只需要不到0.5秒即可傳輸完成,數(shù)據(jù)傳輸效率提升數(shù)十倍!同時還避免了串行總線易受EMC干擾的問題,提高了數(shù)據(jù)傳輸穩(wěn)定性,簡化了應(yīng)用編程,可滿足用戶快速開發(fā)的需求。

以上就是多核異構(gòu)處理器中A核與M核通信過程的解析,想要了解具體詳細(xì)程序?qū)嵗傻健?a target="_blank">飛凌嵌入式官方微信公眾號】回復(fù)關(guān)鍵詞“程序?qū)嵗辈榭?/strong>。

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

    關(guān)注

    68

    文章

    19884

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    紫光展銳4G旗艦性能之王智能穿戴平臺W527登場 一大三小異構(gòu)處理器架構(gòu)

    W527產(chǎn)品亮點: 1、業(yè)界領(lǐng)先的一大三小異構(gòu)處理器架構(gòu),性能體驗凌駕同類產(chǎn)品; 2、12nm工藝制程,超微高集成3D SiP技術(shù),PCB布局更加靈活; 3、強(qiáng)勁續(xù)航,智能應(yīng)用覆蓋
    的頭像 發(fā)表于 06-03 16:44 ?2132次閱讀
    紫光展銳4G旗艦性能之王智能穿戴平臺W527登場 一大<b class='flag-5'>核</b>三小<b class='flag-5'>核</b><b class='flag-5'>異構(gòu)</b><b class='flag-5'>處理器</b>架構(gòu)

    米爾瑞芯微多核異構(gòu)低功耗RK3506核心板重磅發(fā)布

    近日,米爾電子發(fā)布MYC-YR3506核心板和開發(fā)板,基于國產(chǎn)新一代入門級工業(yè)處理器瑞芯微RK3506,這款芯片采用三Cortex-A7+單核Cortex-M0
    發(fā)表于 05-16 17:20

    3A7+單核M0多核異構(gòu),米爾全新低功耗RK3506核心板發(fā)布

    近日,米爾電子發(fā)布MYC-YR3506核心板和開發(fā)板,基于國產(chǎn)新一代入門級工業(yè)處理器瑞芯微RK3506,這款芯片采用三Cortex-A7+單核Cortex-M0
    的頭像 發(fā)表于 05-15 08:02 ?1300次閱讀
    3<b class='flag-5'>核</b><b class='flag-5'>A</b>7+單核<b class='flag-5'>M</b>0<b class='flag-5'>多核</b><b class='flag-5'>異構(gòu)</b>,米爾全新低功耗RK3506核心板發(fā)布

    適用于單核、雙和四應(yīng)用處理器的PMIC DA9063L-A數(shù)據(jù)手冊

    DA9063L-A 是一款功能強(qiáng)大的系統(tǒng)電源管理集成電路(PMIC),適用于單核、雙和四應(yīng)用處理器,例如那些基于 ARM? Cortex?-A
    的頭像 發(fā)表于 04-01 18:19 ?454次閱讀
    適用于單核、雙<b class='flag-5'>核</b>和四<b class='flag-5'>核</b>應(yīng)用<b class='flag-5'>處理器</b>的PMIC DA9063L-<b class='flag-5'>A</b>數(shù)據(jù)手冊

    AI MPU# 瑞薩RZ/V2H 四視覺 ,采用 DRP-AI3 加速和高性能實時處理器

    RZ/V2H 高端 AI MPU 采用瑞薩電子專有的AI 加速-動態(tài)可重配置處理器 (DRP-AI3)、四 Arm^?^ Cortex ^?^ -
    的頭像 發(fā)表于 03-15 11:50 ?1448次閱讀
    AI <b class='flag-5'>MPU</b># 瑞薩RZ/V2H 四<b class='flag-5'>核</b>視覺 ,采用 DRP-AI3 加速<b class='flag-5'>器</b>和高性能實時<b class='flag-5'>處理器</b>

    RK3562J 處理器 M 啟動實操

      一、RK3562J處理器概述   RK3562J處理器是一款高性能、多核心的處理器,采用了獨特的異構(gòu)架構(gòu)設(shè)計。它集成了4個Cortex-
    發(fā)表于 02-27 08:59

    基于IMX8MM處理器Cortex-A和Cortex-M的RPMsg通信方案

    RPMsg全稱為 remote processor messages,是一種基于virtio的消息傳遞總線,專為異構(gòu)處理器系統(tǒng)之間的通信設(shè)計。
    的頭像 發(fā)表于 12-06 10:07 ?2804次閱讀
    基于IMX8MM<b class='flag-5'>處理器</b>Cortex-<b class='flag-5'>A</b><b class='flag-5'>核</b>和Cortex-<b class='flag-5'>M</b><b class='flag-5'>核</b>的RPMsg<b class='flag-5'>通信</b>方案

    全志T113雙異構(gòu)處理器的使用基于Tina Linux5.0——異構(gòu)通信驗證

    6、雙通信驗證 6.1、C906小創(chuàng)建通訊節(jié)點 在C906小串口終端建立兩個通訊節(jié)點用于監(jiān)聽數(shù)據(jù),輸入eptdev_bind test 2 cpu0 >eptdev_bin
    發(fā)表于 11-20 09:47

    基于全志T113-i多核異構(gòu)處理器的全國產(chǎn)嵌入式核心板簡介

    嵌入式核心板。ECK30系列核心板可廣泛應(yīng)用于工業(yè)控制、HMI、IoT等領(lǐng)域。 全志公司的T113-i處理器是由雙ARM Cortex-A7、RISC-V和HiFi4 DSP三種異構(gòu)
    的頭像 發(fā)表于 10-25 13:40 ?1054次閱讀

    【米爾NXP i.MX 93開發(fā)板試用評測】1、異構(gòu)核心通信的技術(shù)內(nèi)容

    多核系統(tǒng)通常包含具有不同性能和功能的不同類型處理器核心,例如,一個系統(tǒng)可能同時包含高性能的ARM Cortex-A核心和低功耗的ARM Cortex-M核心。 NXP的RPMsg-Li
    發(fā)表于 09-21 20:24

    基于國產(chǎn)異構(gòu)(RISC-V+FPGA)處理器,AG32開發(fā)板開發(fā)資料

    基于國產(chǎn)異構(gòu)(RISC-V+FPGA)處理器,AG32VF407系列32位微控制相當(dāng)于主頻248MHZMCU+2KLES(FPGA)。內(nèi)部通過AHB總線,把MCU和FPGA鏈接在
    發(fā)表于 09-02 17:13

    淺談國產(chǎn)異構(gòu)RISC-V+FPGA處理器AG32VF407的優(yōu)勢和應(yīng)用場景

    關(guān)于國產(chǎn)異構(gòu)RISC-V+FPGA處理器AG32VF407的具體優(yōu)勢和應(yīng)用場景淺談如下: 優(yōu)勢 異構(gòu)計算能力 : 異構(gòu)
    發(fā)表于 08-31 08:32

    復(fù)旦微PS+PL異構(gòu)多核開發(fā)案例分享,基于FMQL20SM國產(chǎn)處理器平臺

    FMQL20S400M是復(fù)旦微四ARM Cortex-A7@1GHz(PS端)+85K可編程邏輯資源(PL端)異構(gòu)多核SoC
    發(fā)表于 08-22 14:04

    君正X2600在3D打印機(jī)上的優(yōu)勢:多核異構(gòu),遠(yuǎn)程控制與實時控制

    在當(dāng)前的3D打印機(jī)領(lǐng)域,君正的X2600芯片以其獨特的優(yōu)勢引起了業(yè)界的廣泛關(guān)注。這款多核異構(gòu)芯片,擁有兩個大和一個小的RISC-V處理器,不僅能夠
    的頭像 發(fā)表于 08-02 16:56 ?849次閱讀

    瑞薩電子RZ/V2H MPU提升機(jī)器人與自主應(yīng)用中的AI性能和實時控制

    除了這個AI加速之外,高端RZ/V2H微處理器MPU)——還配備了使用動態(tài)可配置處理器(DRP)的圖像處理加速
    發(fā)表于 07-15 17:51 ?1068次閱讀
    瑞薩電子RZ/V2H <b class='flag-5'>MPU</b>提升機(jī)器人與自主應(yīng)用中的AI性能和實時控制