在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Jacinto 7核間通信解決方案

星星科技指導員 ? 來源:TI ? 作者:Fredy Zhang ? 2023-03-16 09:19 ? 次閱讀

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

核間通信(IPC)方案簡介

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

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

pYYBAGQSbouAPcRBAACB5f3yvxI001.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上,因此,核間通信方案要充分利用硬件提供的機制,實現高效的核間通信,從而充分發揮Soc的整體性能。

poYBAGQSbouACuphAABcsUltKgE682.png

圖2 : TI Jacinto7 TDA4VM IPC Framework

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

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

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

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

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

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

pYYBAGQSboyAWRXyAACMKQvisVw456.png

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

上圖中術語和縮寫解釋如下:

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

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

發送端發送: Core1核調用Rpmsg_send發送消息,應用程序復制到兩個 CORE 之間使用的 VRING。此后,IPC 驅動程序將 VRING ID 發布到硬件指定Mailbox的通道中。

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

接收端發送: Core2核應用程序調用Rpmsg_send發送消息,應用程序復制到兩個 CORE之間使用的 VRING。此后,IPC驅動程序將 VRING ID 發布到硬件Mailbox 的另外一個通道中。

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

注意事項:

RPMSG傳輸消息最大512 Byte。

Performance 參考這里.

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

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

poYBAGQSboyAfuEkAAA5KO7hARU779.png

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

核間通信步驟如下所述:

Processor 1: 拷貝數據到Share Memory中的指定位置;

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

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

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

Processor 2: 處理接收到的消息,并準備回復消息;

Processor 2:拷貝數據到Share Memory 指定位置;

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

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

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

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

總結

核間通信廣泛應用于TI的多核異構處理器,本文介紹了TI多核異構處理的兩種核間通信(IPC)的兩種解決方案。基于RPMSG的核間通信解決方案采用了RPMSG協議,廣泛應用于Soc內部核之間的消息傳遞,比如不同核對Camera的控制。適用于消息量小的類型。基于Share Memory核間通信解決方案,由于消息傳遞過程不需要數據拷貝,數據傳輸更高效,因此,適用于大塊的數據傳輸,TDA4VM內部圖像數據的傳輸就來自于這種方案。另外,需要注意的時,TDA4VM劃分了主域核MCU域,MCU域的軟件通常單獨開發,對于MCU與其它核的通信采用CDD IPC軟件模塊,基于Share Memory核間通信解決方案可適用有大數據量傳輸的需求。

審核編輯:郭婷

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

    關注

    68

    文章

    19717

    瀏覽量

    232739
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17695

    瀏覽量

    357829
  • 嵌入式
    +關注

    關注

    5122

    文章

    19427

    瀏覽量

    312836
收藏 人收藏

    評論

    相關推薦

    SoC的通信機制—mailbox介紹

    目前很多芯片都會有幾個core,有的是Cortex M0+、M4、M7、A53、A73等等,有的有著2、3、4甚至6
    發表于 08-11 10:51 ?6904次閱讀
    SoC的<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>機制—mailbox介紹

    STM32雙H7如何通信

    STM32雙H7通信的方法,主要是CM7和CM4之間如何進行數據傳遞
    發表于 03-12 07:34

    6678 多核導航器 通信

    您好! ? ? ? ?我最近使用6678的多核導航器進行通信,有些地方不明白,想問下各位專家。 ? ? ?我是這么做的,我通過CIC把48事件映射到中斷4上,DSP事件48是高優先級隊列
    發表于 06-21 06:54

    關于C6678IPC通信的問題

    測試C6678的通信,使用的IPC中斷的方式。中間看到在文檔中關于每個IPC生成寄存器中包含了28個源ID,源ID的作用取決于軟件的定義,是不是可以理解為我如果寫其中的源SRCS27,則我在中斷
    發表于 08-03 07:15

    搞定單CPU內雙通信和雙CPU通信

    [table][tr][td] 終于搞定了單CPU內雙通信和雙CPU通信 +-----+ + ARM ++ DDR + + DS
    發表于 08-19 01:37

    通信(IPC)解決方案

    框模塊所示,每個上都運行了IPC軟件模塊,從而實現了TDA4VM上不同之間的通信。本文的后續部分將以TDA4VM為例說明TI多核異構
    發表于 11-03 07:26

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

    本文從對比兩顆分立MCU與單芯片雙MCU開始(以LPC4350為例),展開介紹了非對稱雙MCU的基礎知識與重要特點。接下來,重點介紹了通信
    的頭像 發表于 03-13 15:47 ?5381次閱讀
    非對稱雙<b class='flag-5'>核</b>MCU基礎知識及<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>

    Jacinto 6 QNX系統汽車解決方案介紹

    具有全景可視攝像頭的Jacinto 6 QNX汽車解決方案
    的頭像 發表于 08-23 00:11 ?4687次閱讀

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

    近年來,處理器性能越來越強,無論是通用處理器還是嵌入式處理器,都進入了多核處理器時代,多核處理器中,每個核心不能獨立工作,需要協同工作才能充分發揮處理器的性能,也就是需要高效的通信
    的頭像 發表于 07-01 12:04 ?9103次閱讀
    <b class='flag-5'>Jacinto7</b> TDA4VM處理器的<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b><b class='flag-5'>解決方案</b>

    Jacinto?? 7通信解決方案

    Jacinto?? 7通信解決方案
    發表于 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>

    SoC通信的實現機制之mailbox中斷

    目前很多芯片都會有幾個core,有的是Cortex M0+、M4、M7、A53、A73等等,有的有著2、3、4甚至6
    的頭像 發表于 09-05 17:29 ?2376次閱讀
    SoC<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>的實現機制之mailbox中斷

    通信(IPC)的目標和實現機制

    (Inter-processor communication)來通信,進行數據的交互。 通信
    的頭像 發表于 09-13 17:32 ?4409次閱讀
    <b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>(IPC)的目標和實現機制

    Jacinto 7顯示子系統概述應用說明

    電子發燒友網站提供《Jacinto 7顯示子系統概述應用說明.pdf》資料免費下載
    發表于 09-14 10:00 ?0次下載
    <b class='flag-5'>Jacinto</b> <b class='flag-5'>7</b>顯示子系統概述應用說明

    Jacinto6屏幕旋轉顯示解決方案

    電子發燒友網站提供《Jacinto6屏幕旋轉顯示解決方案.pdf》資料免費下載
    發表于 09-23 11:22 ?0次下載
    <b class='flag-5'>Jacinto</b>6屏幕旋轉顯示<b class='flag-5'>解決方案</b>

    Jacinto7 HS設備閃存解決方案

    電子發燒友網站提供《Jacinto7 HS設備閃存解決方案.pdf》資料免費下載
    發表于 09-27 11:19 ?0次下載
    <b class='flag-5'>Jacinto7</b> HS設備閃存<b class='flag-5'>解決方案</b>
    主站蜘蛛池模板: 日本免费在线一区 | 欧美激情区 | 欧美成人性色生活片天天看 | 久久婷婷综合中文字幕 | 很黄很污的视频网站 | 一区二区三区免费视频播放器 | 蜜色网| 亚洲成a人片7777 | 你懂得福利| 狠狠夜夜| 四虎影院最新网址 | 中文字幕视频一区 | 妇少香港三日本三级视频 | 一级毛片免费不卡在线视频 | 国外免费精品视频在线观看 | 日本人视频-jlzz jlzz jlzz | 成年ssswww日本 | 欧美女同在线观看 | 男人j进女人j的视频一进一出 | 天堂一区二区在线观看 | 久久精品国产清自在天天线 | 日韩成人免费观看 | 在线观看黄网 | 欧美成人在线网站 | 国产欧美亚洲精品 | 1314亚洲人成网站在线观看 | 国内自拍露脸普通话对白在线 | 性欧美bbbbbb| 黄页网站在线播放 | 天天爱天天做天天爽天天躁 | 天天看天天做 | 狠狠躁夜夜躁人人爽天天天天 | 欧美熟色妇 | 啪啪网站免费 | 国产真实偷乱视频在线观看 | 亚洲丝袜一区二区 | 成在线人永久免费播放视频 | 午夜噜噜噜私人影院在线播放 | 日韩高清一级 | 亚洲天堂亚洲天堂 | 桃桃酱无缝丝袜在线播放 |