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

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

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

Jacinto7 TDA4VM處理器的核間通信解決方案

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2022-07-01 12:04 ? 次閱讀

近年來,處理器性能越來越強,無論是通用處理器還是嵌入式處理器,都進入了多核處理器時代,多核處理器中,每個核心不能獨立工作,需要協(xié)同工作才能充分發(fā)揮處理器的性能,也就是需要高效的核間通信(Inter-processor Communication)機制。核間通信的主要目標(biāo)是,充分利用硬件提供的機制,實現(xiàn)高效的核間通信,從而充分發(fā)揮Soc的整體性能。

核間通信(IPC)方案簡介

TI J7 DRA8xx/TDA4xx、AM65xx、J6家族的處理器,基于異構(gòu)、可擴展的架構(gòu)開發(fā),拿TDA4VM的處理器來說,該處理器包含了TI DSP處理器(C66/C7x)、Cortex A72、Main域Cortex R5F、MCU域Cortex R5F、深度學(xué)習(xí)加速器MMA、圖形處理器GPU等核,屬于多核異構(gòu)的架構(gòu)。Cortex A72可用于通用計算、圖形處理器GPU用于3D圖像的加速、DSP可用于算法的加速、C7x/MMA可支持深度學(xué)習(xí)的處理、Cortex-R5F可用于外設(shè)的控制和圖像的前后處理等。多核異構(gòu)的優(yōu)點是采用適合的核做擅長的事,再加上專用硬件加速器也可處理特定任務(wù),從而在性能、功耗和成本 上達到最佳平衡。

核間通信(IPC)從軟件的角度來講, IPC提供了運行在處理器上的軟件接口,可供客戶調(diào)用,從而實現(xiàn)在多核處理器中核與核之間的通信。舉個例子來說,如圖1: TI Jacinto7軟件框架紫色框模塊所示,每個核上都運行了IPC軟件模塊,從而實現(xiàn)了TDA4VM上不同核之間的核間通信。本文的后續(xù)部分將以TDA4VM為例說明TI多核異構(gòu)處理器的核間通信方案,對于其它Jacinto7處理器、AM65xx、J6 等多核環(huán)境中的處理器之間進行通信采用的是同樣的方式。

pYYBAGK9VmyAa1OyAACB5f3yvxI248.png

圖1 : TI Jacinto7 TDA4VM SW Framework

Jacinto7 TDA4VM處理器的核間通信(IPC)框圖如圖2所示,TDA4VM擁有2*A72、6*R5F、2*C66、C7x等核,不同核之間的通信依賴IPC(Inter-Processor Communication)。同時,同一種類型的多個核心又可以運行在不同的模式,比如A72可以運行的SMP模式,雙核R5F可以運行在Lockstep或Split Mode上,因此,核間通信方案要充分利用硬件提供的機制,實現(xiàn)高效的核間通信,從而充分發(fā)揮Soc的整體性能。

poYBAGK9Vm6AY7KIAABcsUltKgE744.png

圖2 : TI Jacinto7 TDA4VM IPC Framework

TDA4VM硬件提供了Mailbox硬件模塊,Mailbox中斷機制允許軟件在兩核之間建立通信通道,這種機制類似于郵箱工作的方式。每個核都有一個專屬的郵箱,郵件就是消息內(nèi)容,通過指定接收方,就可以將消息傳遞到指定核。Mailbox硬件上支持中斷,因此指定核有消息時,就會收到中斷,然后開始處理郵件,即處理消息。這就是Mailbox的工作方式。

TDA4VM的IPC方案,基于Mailbox的實現(xiàn)的方式的不同,常用的核間通信方式有兩種。

基于RPMSG的核間通信解決方案,適合小塊數(shù)據(jù)消息傳遞。

基于Share Memory核間通信解決方案,適合大塊數(shù)據(jù)傳輸。

基于RPMSG的核間通信解決方案

RPMSG定義了通信協(xié)議的接口,采用RPMSG協(xié)議,基于Mailbox模塊的核間通信方案如圖3所示,該方案傳遞消息時,首先需要將消息拷貝到的共享內(nèi)存中(VRing),然后,利用Mailbox將消息傳遞到指定核上。

pYYBAGK9VnCAOAUuAACMKQvisVw680.png

圖3: RPMSG的核間通信解決方案

上圖中術(shù)語和縮寫解釋如下:

Term Definition or Explanation
IPC Inter-Processor Communication
MailBox IP which provides queued interrupt mechanism for communication channel
VRing Ring Buffer in shared memory
Rpmsg queue on local memory

核間通信步驟如下所述(步驟如紅色圈中所示):

發(fā)送端發(fā)送: Core1核調(diào)用Rpmsg_send發(fā)送消息,應(yīng)用程序復(fù)制到兩個 CORE 之間使用的 VRING。此后,IPC 驅(qū)動程序?qū)?VRING ID 發(fā)布到硬件指定Mailbox的通道中。

接收端接收:Core2核上Mailbox觸發(fā)中斷,在core2的 ISR 中,它提取 VRING ID,然后根據(jù) VRING ID,檢查該 VRING 中的任何消息。

接收端發(fā)送: Core2核應(yīng)用程序調(diào)用Rpmsg_send發(fā)送消息,應(yīng)用程序復(fù)制到兩個 CORE之間使用的 VRING。此后,IPC驅(qū)動程序?qū)?VRING ID 發(fā)布到硬件Mailbox 的另外一個通道中。

發(fā)送端接收: Core1核上Mailbox觸發(fā)中斷,在core1的ISR中,它提取 VRING ID,然后根據(jù) VRING ID,檢查該 VRING 中的任何消息。

注意事項:

RPMSG傳輸消息最大512 Byte。

Performance 參考這里.

基于Share Memory核間通信解決方案

基于Share Memory的核間通信解決方案,底層仍然使用的是硬件的模塊Mailbox,如圖4所示所示,發(fā)送和接受采用的是不同的Mailbox通道。 每一組核與核之間使用的都是指定的Mailbox通道。同時,Share Memory的解決方案需要分配指定Share Memory用以核間通信共享數(shù)據(jù)。 Share Memory是一段memory 能夠被多個核所所訪問,所以名為共享內(nèi)存,在TDA4VM中,這段內(nèi)存通常是來自于DDR中的一個數(shù)據(jù)段。共享內(nèi)存在核間通信方案中,一個核可以將數(shù)據(jù)寫入共享內(nèi)存,Mailbox可以將內(nèi)存指針傳遞到另一個核上,另一個核可以拿到內(nèi)存指針后,直接從Share Memory讀取數(shù)據(jù),這一個過程不需要經(jīng)過數(shù)據(jù)的拷貝,因此,非常高效,適合大數(shù)據(jù)量的傳輸。

pYYBAGK9VnKAS8TGAAA5KO7hARU088.png

圖4: 基于Share Memory的核間通信解決方案

核間通信步驟如下所述:

Processor 1: 拷貝數(shù)據(jù)到Share Memory中的指定位置;

Processor 1:將Share Memory中的指定地址等信息寫入Mailbox的指定通道;

Processor 2:接收Mailbox 中斷和消息的地址;

Processor 2:從Share Memory中的指定地址讀取消息;

Processor 2: 處理接收到的消息,并準(zhǔn)備回復(fù)消息;

Processor 2:拷貝數(shù)據(jù)到Share Memory 指定位置;

Processor 2:將Share Memory中的指定地址等信息寫入Mailbox的指定通道;

Processor 1:接收Mailbox 中斷和消息的地址;

Processor 1:從Share Memory中的指定地址讀取消息;

Processor 1:處理接收到的消息。

總結(jié)

核間通信廣泛應(yīng)用于TI的多核異構(gòu)處理器,本文介紹了TI多核異構(gòu)處理器的兩種核間通信(IPC)的兩種解決方案?;赗PMSG的核間通信解決方案采用了RPMSG協(xié)議,廣泛應(yīng)用于Soc內(nèi)部核之間的消息傳遞,比如不同核對Camera的控制。適用于消息量小的類型?;赟hare Memory核間通信解決方案,由于消息傳遞過程不需要數(shù)據(jù)拷貝,數(shù)據(jù)傳輸更高效,因此,適用于大塊的數(shù)據(jù)傳輸,TDA4VM內(nèi)部圖像數(shù)據(jù)的傳輸就來自于這種方案。另外,需要注意的時,TDA4VM劃分了主域核MCU域,MCU域的軟件通常單獨開發(fā),對于MCU與其它核的通信采用CDD IPC軟件模塊,基于Share Memory核間通信解決方案可適用有大數(shù)據(jù)量傳輸?shù)男枨蟆?/span>

審核編輯:湯梓紅

聲明:本文內(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

    文章

    18924

    瀏覽量

    227210
  • ti
    ti
    +關(guān)注

    關(guān)注

    112

    文章

    7983

    瀏覽量

    211568
  • 多核處理器
    +關(guān)注

    關(guān)注

    0

    文章

    109

    瀏覽量

    19846
  • IPC
    IPC
    +關(guān)注

    關(guān)注

    3

    文章

    333

    瀏覽量

    51618
收藏 人收藏

    評論

    相關(guān)推薦

    Jacinto??攝像頭接入與ISP處理詳解

    處理器攝像頭接入和ISP的處理能力。? Jacinto7 圖像接入 Jacinto7 TDA4VM/DRA829攝像頭
    的頭像 發(fā)表于 05-17 16:05 ?1.2w次閱讀
    <b class='flag-5'>Jacinto</b>??攝像頭接入與ISP<b class='flag-5'>處理</b>詳解

    基于雙TDA4VM行泊一體方案

    復(fù)用的方式實現(xiàn)行泊一體化解決方案,傳感系統(tǒng)可配置為5V5R或6V5R;另外一種是,基于單TDA4VH或TDA4VM Plus實現(xiàn)AI算力24~32TOPS的單
    發(fā)表于 11-03 07:54

    Jacinto7處理器攝像頭接入和ISP的處理能力

    Jacinto7處理器攝像頭接入和ISP的處理能力。 Jacinto7 圖像接入Jacinto7 TDA
    發(fā)表于 11-03 06:05

    通信(IPC)解決方案

    框模塊所示,每個上都運行了IPC軟件模塊,從而實現(xiàn)了TDA4VM上不同之間的通信。本文的
    發(fā)表于 11-03 07:26

    TI TDA4VM的汽車電子程序應(yīng)用案例

    TI公司的TDA4VM處理器系列是基于Jacinto 7架構(gòu),目標(biāo)用在駕駛輔助系統(tǒng)(ADAS)和無人駕駛汽車(AV).具有強大的片上數(shù)據(jù)分析的能力,并與視覺預(yù)
    發(fā)表于 03-03 15:47 ?1.8w次閱讀

    TDA4VM 處理器可以滿足現(xiàn)代車輛的計算需求

    Jacinto 7 處理器平臺包含兩款汽車級芯片:TDA4VM 處理器和 DRA829V 處理器
    發(fā)表于 08-12 11:43 ?2.3w次閱讀

    Jacinto7處理器攝像頭接入和ISP的處理能力

    ADAS的技術(shù)使駕乘體驗更舒適、更安全、更智能。TI Jacinto TDA4VM&DRA829處理器是TI最新一代的處理器,以先進的高集成度和多核異構(gòu)的高性能
    的頭像 發(fā)表于 07-01 17:40 ?4526次閱讀
    <b class='flag-5'>Jacinto7</b><b class='flag-5'>處理器</b>攝像頭接入和ISP的<b class='flag-5'>處理</b>能力

    Jacinto?? 7通信解決方案

    Jacinto?? 7通信解決方案
    發(fā)表于 10-28 11:59 ?3次下載
    <b class='flag-5'>Jacinto</b>?? <b class='flag-5'>7</b><b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b><b class='flag-5'>解決方案</b>

    Jacinto 7通信解決方案

    近年來,處理器性能越來越強,無論是通用處理器還是嵌入式處理器,都進入了多核處理器時代,多核處理器中,每個核心不能獨立工作,需要協(xié)同工作才能充
    的頭像 發(fā)表于 03-16 09:19 ?1065次閱讀
    <b class='flag-5'>Jacinto</b> <b class='flag-5'>7</b><b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b><b class='flag-5'>解決方案</b>

    面向TI TDA4VM處理器的恩智浦PMIC解決方案

    電子發(fā)燒友網(wǎng)站提供《面向TI TDA4VM處理器的恩智浦PMIC解決方案.pdf》資料免費下載
    發(fā)表于 08-17 10:58 ?0次下載
    面向TI <b class='flag-5'>TDA4VM</b><b class='flag-5'>處理器</b>的恩智浦PMIC<b class='flag-5'>解決方案</b>

    TDA4VE TDA4AL TDA4VL Jacinto?處理器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TDA4VE TDA4AL TDA4VL Jacinto?處理器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-03 09:45 ?0次下載
    <b class='flag-5'>TDA4</b>VE <b class='flag-5'>TDA4</b>AL <b class='flag-5'>TDA4</b>VL <b class='flag-5'>Jacinto</b>?<b class='flag-5'>處理器</b>數(shù)據(jù)表

    TDA4VM Jacinto?處理器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《TDA4VM Jacinto?處理器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 08-05 11:36 ?0次下載
    <b class='flag-5'>TDA4VM</b> <b class='flag-5'>Jacinto</b>?<b class='flag-5'>處理器</b>數(shù)據(jù)表

    Jacinto7 DDRSS寄存配置工具

    電子發(fā)燒友網(wǎng)站提供《Jacinto7 DDRSS寄存配置工具.pdf》資料免費下載
    發(fā)表于 08-27 10:11 ?0次下載
    <b class='flag-5'>Jacinto7</b> DDRSS寄存<b class='flag-5'>器</b>配置工具

    了解TDA4VM或DRA829存儲以獲得出色性能

    電子發(fā)燒友網(wǎng)站提供《了解TDA4VM或DRA829存儲以獲得出色性能.pdf》資料免費下載
    發(fā)表于 08-29 11:40 ?0次下載
    了解<b class='flag-5'>TDA4VM</b>或DRA829存儲<b class='flag-5'>器</b>以獲得出色性能

    Jacinto7 AM6x/DRA8x/TDA4x原理圖檢查清單

    電子發(fā)燒友網(wǎng)站提供《Jacinto7 AM6x/DRA8x/TDA4x原理圖檢查清單.pdf》資料免費下載
    發(fā)表于 09-06 11:19 ?0次下載
    <b class='flag-5'>Jacinto7</b> AM6x/DRA8x/<b class='flag-5'>TDA4</b>x原理圖檢查清單