色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

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

jf_EksNQtU6 ? 來源: TrustZone ? 2023-09-05 17:29 ? 次閱讀

正文

目前很多芯片都會有幾個core核,有的是Cortex M0+、M4、M7、A53、A73等等,有的有著2核、3核、4核甚至6核8核,不同的核的主頻支持度不一樣,適用的具體應用場景也不同,因此需要IPC(Inter-processor communication)來核間通信,進行數據的交互。

核間通信(IPC)的主要目標是:充分利用硬件提供的機制,實現高效的CORE間通信;給需要CORE間通信的應用程序提供簡潔高效的編程接口

根據所使用的硬件特性,核間通信的實現機制有:

? ·Mailbox中斷

? ·基于共享內存的消息隊列

cdba5968-382e-11ee-9e74-dac502259ad0.png

在這里插入圖片描述

cdd23a88-382e-11ee-9e74-dac502259ad0.png

在這里插入圖片描述

cdefc864-382e-11ee-9e74-dac502259ad0.png

在這里插入圖片描述

封裝-VRING-解析的過程:

1、應用程序向給定目的地(CPU、端點)發送消息

2、消息首先從應用程序復制到兩個CPU之間使用的VRING。此后,IPC 驅動程序在硬件郵箱中發布 VRING ID。

3、這會觸發目標 CPU 上的中斷。在目標 CPU 的 ISR 中,它提取 VRING ID,然后根據 VRING ID 檢查該 VRING 中的所有消息。

4、如果收到消息,它從VRING中提取消息并將其放入目標RPMSG端點隊列中。然后觸發在此 RPMSG 端點上阻止的應用程序。

5、應用程序處理接收到的消息,并使用相同的RPMSG 和VRING 機制在相反方向回復發送方CPU。

Hardware Mailbox

硬件郵箱主要用于提供具有小的 32 位有效負載的中斷事件通知。

VRING 使用硬件郵箱在目標 CPU 上觸發中斷。每個郵箱包含 16 個單向 HW 隊列,最多可連接 4 個通信用戶或 CPU。

J721E SoC 有 12 個硬件郵箱實例。即 12x 16 個硬件郵箱隊列。

cdfa71e2-382e-11ee-9e74-dac502259ad0.png

(硬件郵箱的邏輯框圖)

Mailbox and VRING

郵箱本質上充當一個非常小的硬件隊列,其中包含 VRING ID。

VRING 是共享內存中的 SW 隊列,保存兩個 CPU 之間傳遞的實際消息。當收到中斷時,郵箱消息會告知從哪個 VRING 出列消息。

VRING ID=0 tells to look at the VRING from sender to receiver

VRING ID=1 tells to look at the VRING from receiver to sender

ce1358e2-382e-11ee-9e74-dac502259ad0.png

在這里插入圖片描述

散文

mailbox其實是多核處理器soc上,核與核之間互相發中斷的機制,由于核與核之間可能存在不同的業務,故硬件上設計分配一兩個中斷已經無法滿足業務的需求,軟件拓展起來很困難,所以mailbox可以理解為軟件可自由定義的中斷模塊。

用于在片上處理器之間通信的一種mailbox隊列中斷機制,mailbox隊列中斷機制允許軟件通過一組寄存器和關聯的中斷設置和得到信息在二個處理之間建立通信渠道。

核間通信的主要目標是:充分利用硬件提供的機制,實現高效的CORE間通信;給需要CORE間通信的應用程序提供簡潔高效的編程接口。

根據所使用的硬件特性,核間通信可能的實現機制有:

1. Mailbox中斷;

2. 基于共享內存的消息隊列;

3. POW + Group;

4. FAU;支持原子的讀,寫,fetch and add操作。

每個core有一個相應的32bit的mailbox寄存器,每一位可被單獨地設置或清零。這對于core間的中斷非常有用,任意core可直接通過其它core 的mailbox對其它core發出中斷。當mailbox被置位時,相應core的中斷寄存器也同時被置位,軟件可實現其中斷處理。

Bootloader支持Octeon_phy_mem_named_block_alloc( ),分配以名字命名的物理內存空間,不管是Service Executive應用程序還是linux kernel都可以通過Octeon_phy_mem_named_block_find( )找到這部分內存,實現core之間的共享數據。

Linux kernel也提供了共享內存的機制。主要有mmap(),系統V,Posix共享內存模型等。系統調用mmap()通過映射一個普通文件實現共享內存。普通文件被映射到進程地址空間后,進程可以向訪問普通內存一樣對文件進行訪問。系統V共享內存指的是把所有共享數據放在共享內存區域(IPC shared memory region),任何想要訪問該數據的進程都必須在本進程的地址空間新增一塊內存區域,用來映射存放共享數據的物理內存頁面。posix共享內存區首先指定一個名字參數調用shm_open,以創建一個新的共享內存區對象或打開一個以存在的共享內存區對象。然后調用mmap把這個共享內存區映射到調用進程的地址空間。傳遞給shm_open的名字參數隨后由希望共享該內存區的任何其他進程使用。

核間通信方案

如下圖所示ARM核和DSP核進行mailbox通信,ARM要發送數據給DSP:

? 1 ARM核先往某個指定的共享內存空間buffer寫入數據,然后MAILBOX觸發中斷和寫入關于共享內存空間的地址信息給DSP。

? 2 DSP通過得到mailbox中斷的信息讀取共享內存空間ARM核發送的buffer數據。

? 3 DSP核讀取完數據后將觸發mailbox中斷給ARM作為回應,告訴ARM核你發送的數據我已經接受完成了。a

ce2ebab0-382e-11ee-9e74-dac502259ad0.png

在這里插入圖片描述

審核編輯:湯梓紅

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

    關注

    455

    文章

    50851

    瀏覽量

    423903
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10870

    瀏覽量

    211874
  • 中斷
    +關注

    關注

    5

    文章

    898

    瀏覽量

    41514
  • Cortex
    +關注

    關注

    2

    文章

    202

    瀏覽量

    46510
  • IPC
    IPC
    +關注

    關注

    3

    文章

    347

    瀏覽量

    51930

原文標題:參考資料:

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    SoC通信機制mailbox介紹

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

    lpc54114雙通信--中斷

    ,純屬巧合。。。。雙mailbox通信,采用互斥鎖機制共享變量,同一時刻只能有一個核心訪問這個變量,不用擔心變量被篡改了。還是在昨天研究的hello_world的基礎上更改,先上圖,
    發表于 04-19 13:58

    lpc54114雙通信--互斥

    本帖最后由 lee_st 于 2018-4-20 07:36 編輯 前個帖子實現中斷通信,本帖主要實現中斷情況下的互斥
    發表于 04-19 16:29

    關于AM5728通信方式(共享內存)問題

    您好,我使用的開發板為AM5728,目前要在兩個ARM-Cotex-A15和兩個DSP上都應用OS,初步定為都運行SYS/BIOS,在這種情況下我們想實現實時、快速、可靠的通信
    發表于 05-15 07:34

    關于C6678IPC通信的問題

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

    基于IPSoC接口技術

    是基于的免費開放的接口協議,可以根據不同IP通信要求進行配置和擴展,能夠實現硬件集成真正的即插即用,允許系統集成根據應用需要選擇最好的IP
    發表于 06-11 05:00

    RT-thread內核進程通信設計實現

    1、RT-thread內核進程通信特性及使用場合介紹  rt-thread操作系統的IPC(Inter-ProcessCommunication,進程同步與
    發表于 09-01 15:13

    通信(IPC)解決方案

    (Inter-processor Communication)機制通信的主要目標是,充分利用硬件提供的機制
    發表于 11-03 07:26

    基于raspi 3b上的SMP設計實現

    實現多核調度功能:對于未綁定CPU的新線程開始執行或者未綁定CPU的線程從某個調度出來時,會調用IPI接口通知其它進行調度:該功能主要利用了MAILBOX
    發表于 12-05 13:56

    一種基于Mailbox機制的多核處理系統

    基于FPGA的嵌入式應用在近幾年來作為一個比較新穎的課題,本文在研究各種通信機制的基礎上,提出了一種基于Mailbox
    發表于 11-22 17:31 ?1.3w次閱讀

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

    (Inter-processor Communication)機制通信的主要目標是,充分利用硬件提供的機制
    的頭像 發表于 07-01 12:04 ?8759次閱讀
    Jacinto7 TDA4VM處理器的<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>解決方案

    Jacinto 7通信解決方案

    (Inter-processor Communication)機制通信的主要目標是,充分利用硬件提供的機制
    的頭像 發表于 03-16 09:19 ?1205次閱讀
    Jacinto 7<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>解決方案

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

    的應用程序提供簡潔高效的編程接口。 根據所使用的硬件特性,通信實現機制有: ? ·Mailbox
    的頭像 發表于 09-13 17:32 ?3386次閱讀
    <b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>(IPC)的目標和<b class='flag-5'>實現</b><b class='flag-5'>機制</b>

    SoC通信機制硬件郵箱

    連接 4 個通信用戶或 CPU。 J721E SoC 有 12 個硬件郵箱實例。即 12x 16 個硬件郵箱隊列。 (硬件郵箱的邏輯框圖) Mailbox and VRING 郵箱本質上充當一個非常
    的頭像 發表于 09-13 17:35 ?1071次閱讀
    <b class='flag-5'>SoC</b>的<b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b><b class='flag-5'>機制</b>硬件郵箱

    通信可能的實現機制

    理解為軟件可自由定義的中斷模塊。 用于在片上處理器之間通信的一種mailbox隊列中斷機制mailbo
    的頭像 發表于 09-13 17:39 ?1261次閱讀
    <b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>可能的<b class='flag-5'>實現</b><b class='flag-5'>機制</b>
    主站蜘蛛池模板: 哇嘎在线精品视频在线观看| 麻豆狠色伊人亚洲综合网站| 97免费观看视频| 亚洲国产高清视频在线观看| 手机在线成人精品视频网| 让男人玩尿道的女人| 嫩小性性性xxxxbbbb| 蜜臀AV999无码精品国产| 久热这里在线精品| 久久久久久久电影| 久久久久久亚洲精品影院| 久久国产成人午夜AV影院无码| 娇喘嗯嗯 轻点啊视频福利| 护士12p| 精品96在线观看影院| 精品极品三大极久久久久| 精品人伦一区二区三区潘金莲| 精品国产乱码久久久久久夜深人妻| 狠狠色狠狠色88综合日日91 | 精品国产露脸久久AV麻豆| 国产探花在线精品一区二区| 国产精品1区在线播放| 国产精品久久精品| 国产人妻人伦精品久久无码| 国产学生无码中文视频一区| 黑人阴茎插女人图片| 久9青青cao精品视频在线| 久久精品一本到东京热| 美女扒开屁股让男人桶| 欧美另类摘花hd| 三级貂蝉艳史 在线观看| 我与旗袍老师疯狂床震| 亚洲1卡二卡3卡4卡新区在线| 亚洲免费黄色| 再插深点嗯好大好爽| 99国产在线视频有精品视频| qq快播电影网| 国产互换后人妻的疯狂VIDEO| 国内精品视频在线播放一区| 久久久久毛片免费观看| 欧美亚洲曰韩一本道|