999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

達芬奇異構多核處理器核間通信技術研究

2015-04-10 03:23:17國常義李超群
電視技術 2015年7期
關鍵詞:系統

國常義,李超群,劉 峰

(南京郵電大學 圖像處理與圖像通信江蘇省重點實驗室,江蘇 南京 210003)

?

達芬奇異構多核處理器核間通信技術研究

國常義,李超群,劉 峰

(南京郵電大學 圖像處理與圖像通信江蘇省重點實驗室,江蘇 南京 210003)

針對目前通用的達芬奇異構多核處理器,研究了其ARM核、DSP核以及視頻協處理器之間的通信與協作機制。在分析多核處理器核間通信原理的基礎上,研究了TMS320DM816x系列達芬奇異構多核處理器的核間通信技術,詳細闡述片上核間互聯結構與核間通信軟件的實現。最后基于SysLink底層通信模塊設計了多路高清音視頻應用系統,對核間通信進行驗證。系統可充分發揮各處理核的性能,實現了各核間的高效協作。

異構多核;核間通信;SysLink;TMS320DM816x

隨著信息技術的發展與需求的提升,傳統單核SOC不能滿足人們的需求,市面上出現越來越多的嵌入式多核處理器。嵌入式多核處理器主要分兩類:第一類是同構多核,如聯發科MTK6592集成8顆Cortex-A7核;另一類是異構多核,如德州儀器(TI)的達芬奇與OMAP系列的ARM+DSP系列處理器。異構多核處理器集成結構、性能不同的多個核心,可發揮各核所長,實現資源的最佳配置,能夠很好地提升系統整體性能、降低功耗。但是,多核處理器性能的發揮離不開核間的通信與協作,因此處理器核間的通信技術至關重要。

達芬奇技術是TI專為數字圖像、視頻、音頻信號處理設計的平臺,包括達芬奇處理器、開發環境、算法庫和其他技術支持等[1]。TI為用戶提供ARM+視頻協處理器、ARM+DSP、ARM+DSP+視頻協處理器等不同架構的達芬奇處理器。文章基于達芬奇異構多核處理器,研究片上多個處理器核的互聯結構及核間通信的實現,并介紹了底層核間通信軟件的實現。最后,基于底層核間通信模塊SysLink實現了不同核之間的任務通信與算法調用,通過系統高效的核間協作與通信,完成多路高清視頻采集、編碼、處理、傳輸、顯示以及音頻編碼的軟件框架。

1 異構多核間通信的基本原理

本文主要基于TMS320DM816x(以下簡稱DM816x)系列達芬奇異構多核處理器進行研究。DM816x集成ARM Cortex-A8核、C674x DSP核、高清視頻/圖像協處理器(HDVICP2)、高清視頻處理子系統(HDVPSS)以及SGX530圖形加速器。HDVICP2由基于ARM968內核的Video M3核管理,可完成H.264、MPEG-4、MJPEG編解碼;HDVPSS由VPSS M3核管理,具有2路高清視頻捕獲通道及顯示通道。

異構多核處理器大多采用主從式的結構。主從式結構根據不同核的功能把處理器核分為主核和從核。主核的結構和功能一般較為復雜,負責全局資源、任務的管理和調度并完成從核的引導加載。從核主要接受主核的管理,負責運行主核分配的任務,并具有本地任務調度與管理功能[2]。在多核處理器中,根據不同核的結構,各個核可運行相同或不同的操作系統。在DM816x中ARM為主核、DSP和協處理器為從核,ARM核運行開源的Linux系統,DSP核和M3核運行TI為其DSP設計的SYS/BIOS實時內核。

主從式的異構多核處理器核間的互聯結構如圖1所示。

圖1 主從式異構多核互聯結構

從圖1可知,為了實現異構多核之間的通信,在芯片內設計了核間中斷控制器以及核間互聯的總線。核間中斷是多核間任務同步與通信的橋梁,核間中斷寄存器各標志位分配給芯片內不同的核,通過核間中斷向另一個核發送中斷請求,執行相應的中斷服務程序或通過中斷寄存器傳遞地址,配合共享內存實現數據的傳遞與共享。各個核心對于外設的訪問則通過配置總線等實現。

綜上,實現各個處理器核有效的管理和通信需要具備以下功能:

1)主處理器對從處理器進行管理;

2)內部處理器之間信息的傳輸和交換。

前者可通過片上互聯實現,后者則由核間中斷和內存共享來實現。下面將以DM816x為例詳細說明上述功能的實現。

1.1 核間中斷

為了實現高效的片上核間通信,DM816x系列達芬奇處理器片上集成硬件郵箱中斷(Mailbox Interrupts)和自旋鎖(Spinlocks)。DM816x有12個郵箱,每個郵箱有4個中斷源以向4個核發送中斷,并且提供4個消息深度的FIFO,每個消息32位寬。每個郵箱都可以由任意一個核讀寫,通過相應的寄存器設置中斷發送者以及接收者,通過消息寄存器傳遞消息[3]。ARM、DSP和2個M3媒體控制器之間通過系統級的郵箱進行通信,每個HDVICP2有各自獨立的郵箱,可以向自身內部模塊和其他核發送中斷。

1.2 片上互聯與內存映射

共享內存的實現首先需要系統對內存進行合理的映射與管理。每個子系統或處理器都有自己的內存和內存映射寄存器,為了簡化軟件的開發,DM816x使用統一的映射,映射到L3的4 Gbyte的空間,從而使得芯片資源具有一致性。

DM816x使用分層架構(L3,L4)的互連技術,將多處理器和子系統連接到一起。L3基于可擴展性、高帶寬、低成本的片上網絡(NoC)技術實現高效互聯,NoC使用一個內部基于包的通信規程[4],由發起者(Initiator)向目標(Target)請求并返回數據。L3的互聯結構如圖2所示。

圖2 L3互聯概貌

圖2中箭頭表示Master/Slave(或者Initiator/Target)關系。發起者向目標通過L3總線請求并返回數據,實現處理器中多個核之間、核與外設間的連接。

在上述連接中,ARM cortex A8的高2 Gbyte地址空間由一個特殊的端口master0 直接連接到DMM(動態內存管理),以實現低延時訪問DDR;低2 Gbyte物理地址連接到L3,再通過DMM端口(128 bit寬)存取DDR,直接通過L3互連端口(64 bit)存取芯片的其他模塊。

DSP內部采用物理地址,DSP有1個獨立的CFG配置總線用來訪問L4外設,并且提供1個主接口和從接口連接到L3,以及3個主端口以供直接訪問HDVICP2子系統。DSP訪問外部的存儲通過MDMA(Master DMA)存取,并由DEMMU(DSP/EDMA內存管理單元)進行地址翻譯,DEMMU將地址翻譯成系統物理地址,并保護ARM的內存區不被DSP代碼修改,并允許在用戶空間分配緩沖區,而不需要在ARM和DSP之間進行地址翻譯,以實現用戶分配的緩沖區在ARM與DSP之間共享[3]。

HDVPSS包括1個第33位地址位,用于附加的4 Gbyte地址范圍,用作虛擬尋址和非物理內存尋址,用于目標地址空間的定位。

L4連接到外設,提供處理器對外設的訪問,這里不做詳述。

1.3 共享內存

DM816x中運行Linux和SYS/BIOS兩套操作系統,它們分別采用makefile機制與XDC構建系統。Linux在運行時通過內核啟動參數來配置由內核管理的內存空間,SYS/BIOS在構建時采用XDC配置文件進行數據區、代碼區等內存區的分配。系統構建與運行時需要對各個核所使用的內存以及共享內存進行劃分。使用2 Gbyte內存時,典型的內存配置及其作用如圖3所示。

圖3 內存分配

圖3中SR0-3作為共享內存,可供不同處理器共享使用,為了實現共享資源的互斥訪問,芯片集成硬件自旋鎖,以解決多核間共享資源的訪問互斥問題。

2 異構多核間任務通信的實現

異構多核處理器實現高效的核間通信與協作,不僅需要片上硬件模塊的支持,還需要在軟件中提供任務間通信的機制。Linux和SYS/BIOS都提供了本操作系統上進程通信的機制,在Linux中有管道、消息隊列、信號量、共享內存等任務間同步與互斥的方式,SYS/BIOS中提供了處理器間通信的IPC(Inter-Processor Communication)模塊。IPC模塊為單核或多核處理器提供核間任務的通信,實現了Notify、MessageQ、ListMP等單核或核間任務通信的機制。

下面首先研究IPC模塊在多核架構中的實現,然后介紹SYS/BIOS與Linux之間任務通信的實現。

2.1 IPC模塊的實現

IPC模塊包含處理器名稱及ID管理模塊、內存管理模塊以及進程間通信模塊。常用的模塊的實現及其功能如下:

Notify:使用Notify驅動核間中斷來實現進程間通信的通知功能。傳輸的數據一般為32位,可以為事件動態注冊處理函數。

GateMP:使用硬件自旋鎖實現共享資源的互斥訪問。

SharedRegion:負責共享資源的虛擬地址空間和本地處理器地址空間的轉換。同一片共享內存在不同處理器上映射的地址可能不同,此模塊創建共享區域的查詢表,記錄在不同處理器中該共享區域的地址。

ListMP模塊:在處理器間共享鏈表。ListMP是一個雙向鏈表,它使用SharedRegion的查找表管理共享內存,使用GateMP解決多任務同時訪問一個資源的互斥。

Heap*MP模塊:基于SharedRegion模塊,實現動態內存分配。

MessageQ:采用上述各模塊,提供可變長結構化消息隊列通信機制。

另外還有對各個核進行唯一ID管理的MultiProc,對處理器名稱管理的NameSever模塊等。

2.2 底層通信模塊SysLink的實現

運行SYS/BIOS系統的處理器間可以通過IPC模塊完成核間的通信,而運行Linux的ARM要想與之通信則需要提供類似的IPC模塊,為了簡化程序的開發,采用SysLink底層通信模塊來實現ARM與其他處理器核的通信。

SysLink是一套軟件與相關工具的集合,為運行在ARM上的Linux和運行在其他處理器核上的RTOS提供統一的進程間通信的接口[5]。在ARM側SysLink作為內核驅動,可以在Linux用戶空間方便操作核間中斷、自旋鎖等硬件;在DSP側SysLink基于IPC模塊進行封裝,供開發者使用。

SysLink使用戶應用程序不用關心進程間的通信是在同一個處理器核上還是在不同的處理器核上,而視頻數據的共享與核間傳遞則采用共享內存的方式實現。DM816x基于SysLink的軟件設計架構如圖4所示。

圖4 基于SysLink的軟件框架

3 核間通信的驗證與實驗結果

為了驗證上述基于SysLink/IPC底層通信模塊的高效性,設計了一個多路高清音視頻采集、編碼、傳輸系統。系統硬件設計框圖如圖5所示。

系統采用DVRRDK軟件包進行開發,DVRRDK將運行在各個核上的線程統一為Link結構,一個Link即為具有一定功能的線程及相關數據結構的組合,每個Link都有一個唯一的ID,可以有一個或多個輸入隊列和輸出隊列以及Notify機制通知新數據是否準備好,并通過prevId和nextId與該Link之前的preLink和之后的nextLink進行連接形成一個數據鏈,而Link中的各個線程則通過MessageQ、信號量等線程通信機制進行同步與互斥,對于視頻數據則通過核間共享內存避免了數據的轉移,實現了高效的核間數據共享。

運行在各個處理器核中的Link如表1所示。

圖5 高清音視頻系統框圖

表1 系統中主要Link分配

處理器核(CPU類型)運行的LinkHDVICP(ARM968)Encoder、DecoderHDVPSS(ARM968)Caputre、Display、Merge、NoiseFilter等DSP(C674x)AlgLink(OSD、AAC)、其他算法ARM(cortexA8)與其他核數據交互的Link及控制線程、文件讀寫等

在多路視音頻應用中通過HDVPSS驅動視頻AD采集視頻數據[6],然后將2路高清視頻數據經過Merge Link合并成一個輸出隊列,由DSP完成視頻數據的OSD疊加處理,視頻數據流進入Dup Link復用形成兩個輸出隊列分別送往Display Link和Encoder Link,同時ARM將Encoder Link送來的數據進行存儲或傳輸。音頻數據則采用ALSA框架進行音頻采集,然后送往DSP進行編碼,再由ARM進行存儲、傳輸。系統中的數據鏈路圖如圖6所示。

圖6 系統數據鏈路圖

系統在ARM核的控制下,完成2路1 080p@60 f/s(幀/秒)視頻的采集并處理,由DSP完成圖片、文本等信息的OSD疊加,同時由Video M3完成2路視頻的實時H.264 High Profile編碼,并通過ARM進行音視頻的存儲和網絡傳輸。系統中各核之間高效協作,完成了在單核甚至多核ARM或DSP中難以完成的任務。

5 總結

本文研究了嵌入式異構多核處理器中各個處理核間的通信與協作機制,以達芬奇系列高性能處理器DM816x為例,從硬件結構到軟件框架詳細分析了處理核之間任務通信與協作的實現過程,并基于文章所述的多核間通信機制設計了多路高清音視頻應用系統,系統在各個處理核的高效協作下,完成了多路高清音視頻的采集、編碼、處理等任務。

[1]高玉龍.達芬奇技術開發基礎、原理與實例[M].北京:電子工業出版社,2012.

[2]蔣建春.異構多核嵌入式軟件關鍵問題研究[D].重慶:重慶大學,2011.

[3]Texas Instruments.TMS320DM816x DaVinci digital video processors technical reference manual[EB/OL].[2014-08-27].http://www.ti.com/lit/ug/sprugx8b/sprugx8b.pdf.

[4]馬清勇.片上網絡(NoC)互連技術研究[D].成都:電子科技大學,2013.

[5]Texas Instruments.SysLink user guide [EB/OL].[2014-08-21].http://www.ti.com.[6]王帥,劉峰.基于TMS320DM368的高清視頻采集系統設計與實現[J].電視技術,2013,37(7):43-45.

國常義(1990— ),碩士生,主研圖像處理與多媒體通信;

李超群(1991— ),碩士生,主研圖像處理與多媒體通信;

劉 峰(1964— ),博士,教授,博士生導師,主研圖像處理與多媒體通信、高速DSP 與嵌入式系統。

責任編輯:閆雯雯

Research on Inter-processor Communication for DaVinci Heterogeneous Multi-core Processors

GUO Changyi, LI Chaoqun, LIU Feng

(JiangsuKeyLaboratoryofImageProcessing&Communication,NanjingUniversityofPostsandTelecommunications,Nanjing210003,China)

The communication mechanism of the cores covering ARM core, DSP core and co-processors in general DaVinci heterogeneous multi-core processors is researched in this paper.The basic principle of inter-processor communication(IPC for short) is analyzed and then the interconnection of cores and the implementation of the IPC software are delivered for TMS320DM816x series DaVinci multi-core processors.Finally, a multi-channel HD video and audio system based on SysLink is developed to verify the IPC.The system is efficient and the IPC works well.

heterogeneous multi-core; inter-processor communication; SysLink; TMS320DM816x

江蘇省高校自然科學研究項目(13KJA510004;12KJB510019);廣州市軟件和信息服務業發展專項資金項目(2060404)

TN915.04

A

10.16280/j.videoe.2015.07.012

2014-09-18

【本文獻信息】國常義,李超群,劉峰.達芬奇異構多核處理器核間通信技術研究[J].電視技術,2015,39(7).

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 手机精品福利在线观看| 国产精品漂亮美女在线观看| 日本精品视频一区二区| 免费高清自慰一区二区三区| 国产精品视频导航| 狠狠色香婷婷久久亚洲精品| 国产粉嫩粉嫩的18在线播放91| 91精品国产丝袜| 亚洲二区视频| 国产手机在线小视频免费观看 | 国产第一页亚洲| 又爽又黄又无遮挡网站| 免费看av在线网站网址| 91探花国产综合在线精品| 欧美精品成人| 99er精品视频| 自拍欧美亚洲| 中文字幕av一区二区三区欲色| 亚洲人成网站色7777| 波多野结衣一区二区三视频 | 国产中文一区二区苍井空| 久久精品无码国产一区二区三区| 一级毛片高清| 国内精品视频在线| 欧美国产日韩另类| 亚洲国产中文精品va在线播放| 亚洲AV无码乱码在线观看裸奔 | 亚洲无码视频喷水| 日本在线国产| 欧美国产日韩在线观看| 亚洲国产成人自拍| 白浆免费视频国产精品视频| 国产三级视频网站| 在线观看无码av免费不卡网站| 国产一区二区精品福利| 国产精品亚洲天堂| 日韩国产无码一区| 国产第一色| 久久99精品久久久久纯品| 尤物特级无码毛片免费| 国产成人精品日本亚洲| 欧美精品伊人久久| 激情综合五月网| 亚洲男人的天堂网| 小蝌蚪亚洲精品国产| 亚洲热线99精品视频| 亚洲综合欧美在线一区在线播放| 色哟哟色院91精品网站| 国产日本欧美在线观看| 亚洲综合色婷婷中文字幕| 男人天堂伊人网| 最新国产麻豆aⅴ精品无| 久久a级片| 小说区 亚洲 自拍 另类| 日日噜噜夜夜狠狠视频| 超碰91免费人妻| 综合天天色| 毛片视频网| 国产午夜在线观看视频| 网友自拍视频精品区| 四虎综合网| 麻豆AV网站免费进入| 免费观看男人免费桶女人视频| 国产99在线| 亚洲男人天堂网址| 在线视频亚洲欧美| 亚洲午夜国产精品无卡| 国产在线第二页| 亚洲成人网在线观看| 色播五月婷婷| 色哟哟精品无码网站在线播放视频| 国产精品免费露脸视频| 国产麻豆精品在线观看| 无码国内精品人妻少妇蜜桃视频| 亚洲久悠悠色悠在线播放| 色有码无码视频| 日韩毛片免费视频| 成人在线不卡| 欧美亚洲一区二区三区导航| 亚洲网综合| 国产亚洲精品自在久久不卡| 一级看片免费视频|