chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

SoC核間通信的實現(xiàn)機制之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)來核間通信,進行數(shù)據(jù)的交互。

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

根據(jù)所使用的硬件特性,核間通信的實現(xiàn)機制有:

? ·Mailbox中斷

? ·基于共享內(nèi)存的消息隊列

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

封裝-VRING-解析的過程:

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

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

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

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

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

Hardware Mailbox

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

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

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

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

(硬件郵箱的邏輯框圖)

Mailbox and VRING

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

VRING 是共享內(nèi)存中的 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上,核與核之間互相發(fā)中斷的機制,由于核與核之間可能存在不同的業(yè)務,故硬件上設計分配一兩個中斷已經(jīng)無法滿足業(yè)務的需求,軟件拓展起來很困難,所以mailbox可以理解為軟件可自由定義的中斷模塊。

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

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

根據(jù)所使用的硬件特性,核間通信可能的實現(xiàn)機制有:

1. Mailbox中斷;

2. 基于共享內(nèi)存的消息隊列;

3. POW + Group;

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

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

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

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

核間通信方案

如下圖所示ARM核和DSP核進行mailbox通信,ARM要發(fā)送數(shù)據(jù)給DSP:

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

? 2 DSP通過得到mailbox中斷的信息讀取共享內(nèi)存空間ARM核發(fā)送的buffer數(shù)據(jù)。

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

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

在這里插入圖片描述

審核編輯:湯梓紅

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

    關注

    460

    文章

    52520

    瀏覽量

    441053
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11080

    瀏覽量

    217116
  • 中斷
    +關注

    關注

    5

    文章

    905

    瀏覽量

    42810
  • Cortex
    +關注

    關注

    2

    文章

    203

    瀏覽量

    47378
  • IPC
    IPC
    +關注

    關注

    3

    文章

    366

    瀏覽量

    53186

原文標題:參考資料:

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SoC通信機制mailbox介紹

    目前很多芯片都會有幾個core,有的是Cortex M0+、M4、M7、A53、A73等等,有的有著2、3、4甚至68
    發(fā)表于 08-11 10:51 ?7640次閱讀
    <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的基礎上更改,先上圖,
    發(fā)表于 04-19 13:58

    lpc54114雙通信--互斥

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

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

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

    關于C6678IPC通信的問題

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

    基于IPSoC接口技術

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

    RT-thread內(nèi)核進程通信設計實現(xiàn)

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

    通信(IPC)解決方案

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

    基于raspi 3b上的SMP設計實現(xiàn)

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

    一種基于Mailbox機制的多核處理系統(tǒng)

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

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

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

    Jacinto 7通信解決方案

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

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

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

    SoC通信機制硬件郵箱

    連接 4 個通信用戶或 CPU。 J721E SoC 有 12 個硬件郵箱實例。即 12x 16 個硬件郵箱隊列。 (硬件郵箱的邏輯框圖) Mailbox and VRING 郵箱本質(zhì)上充當一個非常
    的頭像 發(fā)表于 09-13 17:35 ?1635次閱讀
    <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>硬件郵箱

    通信可能的實現(xiàn)機制

    理解為軟件可自由定義的中斷模塊。 用于在片上處理器之間通信的一種mailbox隊列中斷機制mailbo
    的頭像 發(fā)表于 09-13 17:39 ?1628次閱讀
    <b class='flag-5'>核</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>可能的<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>機制</b>