精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

核間通信可能的實現機制

麥辣雞腿堡 ? 來源:TrustZone ? 作者:Hcoco ? 2023-09-13 17:39 ? 次閱讀

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( ),分配以名字命名的物理內存空間,不管是ServiceExecutive應用程序還是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

圖片

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

    關注

    68

    文章

    19166

    瀏覽量

    229152
  • 寄存器
    +關注

    關注

    31

    文章

    5319

    瀏覽量

    120016
  • 通信
    +關注

    關注

    18

    文章

    5973

    瀏覽量

    135860
  • soc
    soc
    +關注

    關注

    38

    文章

    4122

    瀏覽量

    217948
收藏 人收藏

    評論

    相關推薦

    SoC的通信機制—mailbox介紹

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

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

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

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

    來源 網絡本文從對比兩顆分立MCU與單芯片雙MCU開始(以LPC4350為例),展開介紹了非對稱雙MCU的基礎知識與重要特點。接下來,重點介紹了
    發表于 05-15 14:26

    關于C6678IPC通信的問題

    程序中判斷該位來執行對應的代碼。第2個問題:通信能不能可以利用IPCCR和IPCAR中的SRCSx和SRCCx寄存器來實現
    發表于 08-03 07:15

    通信(IPC)解決方案

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

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

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

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

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

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

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

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

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

    Jacinto?? 7通信解決方案

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

    Jacinto 7通信解決方案

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

    進程通信機制有哪些

    比較難,Linux內核提供了多種進程通信機制。 同一個進程的不同模塊(譬如不同的函數)之間進行通信都是很簡單的,譬如使用全局變量等。 通常情況下,大部分的程序是不要考慮進程
    的頭像 發表于 07-21 11:23 ?900次閱讀
    進程<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甚至68
    的頭像 發表于 09-05 17:29 ?1617次閱讀
    SoC<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>之mailbox中斷

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

    (Inter-processor communication)來通信,進行數據的交互。 通信
    的頭像 發表于 09-13 17:32 ?3108次閱讀
    <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>

    如何實現一套linux進程通信機制

    我們知道linux的進程的通信的組件有管道,消息隊列,socket, 信號量,共享內存等。但是我們如果自己實現一套進程通信
    的頭像 發表于 11-10 14:56 ?614次閱讀
    如何<b class='flag-5'>實現</b>一套linux進程<b class='flag-5'>間</b><b class='flag-5'>通信</b>的<b class='flag-5'>機制</b>