亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DSPC6678多核平臺的實時任務(wù)調(diào)度架構(gòu)設(shè)計分析

        2016-12-13 08:23:53任志明
        艦船電子對抗 2016年5期
        關(guān)鍵詞:設(shè)計

        任志明

        (中國船舶重工集團(tuán)公司第723研究所,揚州 225001)

        ?

        基于DSPC6678多核平臺的實時任務(wù)調(diào)度架構(gòu)設(shè)計分析

        任志明

        (中國船舶重工集團(tuán)公司第723研究所,揚州 225001)

        分析了數(shù)字信號處理器(DSP)C6678的多核模式,設(shè)計了一種基于C6678高速多核DSP硬件平臺的實時任務(wù)調(diào)度軟件架構(gòu),實現(xiàn)了實時任務(wù)調(diào)度。通過實際測試,整體設(shè)計滿足了設(shè)計指標(biāo)。

        實時任務(wù)調(diào)度;多核數(shù)字信號處理器;軟件架構(gòu)

        0 引 言

        在當(dāng)前艦載設(shè)備的控制系統(tǒng)中,任務(wù)調(diào)度模塊需要從外部接收大量導(dǎo)航數(shù)據(jù)、目標(biāo)更新參數(shù),并實時進(jìn)行坐標(biāo)轉(zhuǎn)換計算,輸出控制。單核主機已經(jīng)難以滿足既能快速處理大量網(wǎng)絡(luò)輸入輸出,又能實現(xiàn)穩(wěn)定的脈沖級的實時控制,因此需要選用合適的多核硬件平臺,并研究相應(yīng)的系統(tǒng)控制軟件架構(gòu)。

        1 系統(tǒng)分析

        艦載設(shè)備任務(wù)是以正北坐標(biāo)設(shè)置的,任務(wù)最后的執(zhí)行必須是以設(shè)備坐標(biāo)進(jìn)行控制,整個流程有大量的坐標(biāo)轉(zhuǎn)換計算,需要較高的浮點計算能力。實時任務(wù)調(diào)度運行的模式是以指定的周期運行,通過調(diào)度算法輸出每個周期需要執(zhí)行的動作序列,然后依次執(zhí)行每個控制[1]。在大網(wǎng)絡(luò)數(shù)據(jù)流量的輸入下,需要能夠穩(wěn)定地輸出調(diào)度結(jié)果,實時地執(zhí)行調(diào)度結(jié)果,因此需要從物理上將網(wǎng)絡(luò)輸入和調(diào)度、執(zhí)行隔離,避免影響調(diào)度、執(zhí)行的實時性。

        按照對時間的響應(yīng)要求劃分,整個處理流程可以分為3類:非實時性的,實時性的,強實時性的。如果從硬件上將3個層次的處理完全隔離,就可以保證在系統(tǒng)高數(shù)據(jù)流量輸入的情況下,不影響調(diào)度輸出的穩(wěn)定性和執(zhí)行的強實時性。系統(tǒng)功能分級示意圖如圖1所示。

        圖1 軟件模塊分級示意圖

        所以,系統(tǒng)的硬件平臺需要支持多核、高速度計算性能,同時需要設(shè)計匹配多核的軟件架構(gòu),實現(xiàn)穩(wěn)定的實時控制輸出。TI公司的C6678是一款高速多核DSP芯片,有8個核,而且TI也提供了配套的多核軟件開發(fā)包[2]。

        設(shè)計目標(biāo)是從網(wǎng)絡(luò)接收100次/s的導(dǎo)航數(shù)據(jù),500次/s目標(biāo)更新的情況下,調(diào)度模塊實現(xiàn)小于1ms精度的控制輸出,在執(zhí)行模塊實現(xiàn)精度為2μs的實時控制。

        2 硬件平臺分析

        C6678是TI公司的多核高速數(shù)字信號處理器,支持高速定點和浮點計算,每個核的主頻高達(dá)1GHz,它是為了滿足高速的計算性能和低功耗的要求,以多核實現(xiàn)系統(tǒng)的性能提升,同時保持低功耗。每個核可以運行獨立的操作系統(tǒng),有獨立的L2SRAM,可以通過GPIO響應(yīng)外部硬件中斷,通過EMIF和SRIO與外部設(shè)備進(jìn)行高速通信[3]。核之間通過消息隊列和共享內(nèi)存進(jìn)行同步、數(shù)據(jù)共享。

        C6678計算能力強,多核并行同時處理,為軟件設(shè)計提供了強大的硬件平臺,為軟件的架構(gòu)提供了極大的靈活性,但是軟件設(shè)計難度較大,測試比較麻煩。

        TI為C6678提供了實時操作系統(tǒng)Sys/Bios,具備操作系統(tǒng)的任務(wù)調(diào)度、中斷管理、同步模塊、定時器服務(wù)、內(nèi)存管理、硬件抽象層管理、輸入輸出管理等主要功能,而且提供了集成開發(fā)調(diào)試工具CCS,能夠在開發(fā)過程中查看任務(wù)和各個對象的狀態(tài)[2]。和多核計算相關(guān)的軟件組件主要包括IPC、MCSDK、NDK、PDK和OpenMP。

        IPC提供了處理器多核管理組件、共享區(qū)域管理組件、消息隊列管理組件、內(nèi)存堆管理組件,如果使用多核必須使用IPC提供的組件進(jìn)行配置和調(diào)度[3]。MCSDK提供了芯片支持庫、驅(qū)動、平臺配置工具、核間通信模塊[2]。NDK是TI公司的網(wǎng)絡(luò)通信組件模塊,實現(xiàn)了TCP/IP協(xié)議[2]。PDK是TI公司提供的平臺配置開發(fā)包,實現(xiàn)了CSL庫和硬件驅(qū)動程序、平臺庫。OpenMP是TI對實現(xiàn)并行計算的軟件支持包。

        設(shè)計實時任務(wù)調(diào)度的硬件平臺框圖如圖2所示。

        圖2 硬件平臺框圖

        3 多核模式分析

        C6678多核的使用模式主要有3類:主從模式、數(shù)據(jù)流模式、OpenMP模式[2]。

        3.1 主從模式

        主從模式中有一個核作為主控,其他核只負(fù)責(zé)執(zhí)行分配的任務(wù),集中控制分布執(zhí)行。主核負(fù)責(zé)調(diào)度分配任務(wù),將數(shù)據(jù)分發(fā)給從核,主核使用高級操作系統(tǒng)linux運行復(fù)雜的邏輯控制、任務(wù)監(jiān)控。此種模式適用于有很多小的獨立任務(wù)的應(yīng)用,每個任務(wù)可以獨立在單核上運行,任務(wù)之間不需要進(jìn)行交互、同步、數(shù)據(jù)共享。對于電信協(xié)議的多路解析,每一鏈路對應(yīng)一個獨立的任務(wù),可以同時將多個任務(wù)分布到多個核上,各自獨立運行。主從模式示意圖如圖3所示。

        圖3 主從模式示意圖

        主核負(fù)責(zé)管理空閑資源以均衡運行,不至于有過載或過閑的核。任務(wù)分配通過消息隊列傳輸,從核一直有一個獨立的任務(wù)處于等待接收消息的狀態(tài),在消息沒有到來之前處于掛起狀態(tài)。

        此種模式的難點在于如何實時均衡地分配任務(wù)和監(jiān)控執(zhí)行狀態(tài),因為每個核運行的任務(wù)不同,而且執(zhí)行順序是隨機的,任務(wù)的需求吞吐可能相差很大,所以需要不斷地進(jìn)行任務(wù)的動態(tài)分配與資源調(diào)整。

        3.2 數(shù)據(jù)流模式

        數(shù)據(jù)流模式代表的是一種分段流水式的控制和執(zhí)行,每個核負(fù)責(zé)處理過程的一個步驟,然后將處理結(jié)果傳遞到下一個核進(jìn)行后續(xù)處理,各個核相互協(xié)同,共同完成整個處理過程。一般的會有一個核負(fù)責(zé)從外部接收輸入的指令或者數(shù)據(jù),可以從網(wǎng)絡(luò)或者現(xiàn)場可編程門陣列(FPGA)接收外部輸入,整個處理流程是數(shù)據(jù)流驅(qū)動的。一個核處理的輸出是另外一個核的輸入,適用于大型、復(fù)雜、相互依賴、不適合單核進(jìn)行處理的任務(wù),或者是需要實現(xiàn)高速外部輸入的情況下、能夠?qū)崟r穩(wěn)定輸出控制的應(yīng)用,每個核各自獨立地運行實時操作系統(tǒng)。

        此種模式的難點在于如何將一個復(fù)雜的任務(wù)分解到多個核上,形成一個處理的流水,同時設(shè)計核之間高速的數(shù)據(jù)通信模式,保證數(shù)據(jù)流輸出的穩(wěn)定性,形成數(shù)據(jù)處理流水線。數(shù)據(jù)流模式示意圖如圖4所示。

        圖4 數(shù)據(jù)流模式示意圖

        3.3 OpenMP模式

        OpenMP模式是一套在對稱多處理(SMP)模式下開發(fā)多任務(wù)應(yīng)用的接口,由編譯指令、庫以及環(huán)境變量構(gòu)成。一般是在主程序中通過編譯指令,指定需要運行時用的核和執(zhí)行體,執(zhí)行時展開到各個核上并行運行。

        這種模式和主從模式有點類似,但是使用比主從模式簡單,只需要通過編譯指令就可以實現(xiàn),不需要對任務(wù)進(jìn)行動態(tài)的監(jiān)控調(diào)整。每個核上運行的代碼可以是相同的,也可以是不同的。OpenMP模式示意圖如圖5所示。

        每個核執(zhí)行相同代碼的OpenMP示例:

        omp_set_num_thread(4);

        #pragmaompparallel

        {

        ProcessData();

        }

        每個核執(zhí)行不同代碼的OpenMP示例:

        #pragmaompparallel

        #pragmaompsections

        {

        #pragmaompsection

        Process1();

        #pragmaompsection

        Process2();

        }

        圖5 OpenMP模式示意圖

        此種模式一般用于計算量較大、數(shù)據(jù)能夠分段并行處理的場合,典型的應(yīng)用有圖像數(shù)據(jù)處理、雷達(dá)快速傅里葉變換(FFT)計算等。

        4 軟件架構(gòu)

        軟件架構(gòu)必須匹配于應(yīng)用模型,相應(yīng)地也分為3個部分:非實時部分、實時部分、強實時部分,分別對應(yīng)于接口、調(diào)度和執(zhí)行,3個部分分別運行于3個核上,相互獨立,通過消息隊列和直接共享內(nèi)存?zhèn)鬟f、控制數(shù)據(jù)。軟件架構(gòu)圖如圖6所示。

        多核模式中的數(shù)據(jù)流模式比較符合此種應(yīng)用場景,因此選用了多核模式中的數(shù)據(jù)流模式作為實時任務(wù)調(diào)度的控制模式。

        通過物理隔離,將不同時間響應(yīng)要求的功能模塊分布到不同的核上,避免了大流量的網(wǎng)絡(luò)輸入對調(diào)度和執(zhí)行的影響。

        圖6 軟件架構(gòu)圖

        在核0上接收到導(dǎo)航數(shù)據(jù)后,寫入共享內(nèi)存,核1與核2在需要時,直接訪問共享內(nèi)存。在核1上,實時任務(wù)調(diào)度從核內(nèi)的任務(wù)隊列空間讀取需要調(diào)度的任務(wù),輸出每個調(diào)度周期的執(zhí)行波位序列。在核2上接收到執(zhí)行參數(shù)后,觸發(fā)實時任務(wù)執(zhí)行,從執(zhí)行波位序列中讀取執(zhí)行參數(shù),實時任務(wù)執(zhí)行通知FPGA控制外部,當(dāng)?shù)?個結(jié)束后,F(xiàn)PGA觸發(fā)實時任務(wù)執(zhí)行繼續(xù)讀取第2個,直到執(zhí)行序列全部處理結(jié)束。圖6中核2的框圖內(nèi)部使用粗實線表示與FPGA的硬中斷實時交互控制。

        5 應(yīng)用設(shè)計

        基于以上的分析,設(shè)計了實時任務(wù)調(diào)度系統(tǒng)。應(yīng)用分為3個部分,每個部分為一個獨立的工程,分布在C6678的3個核上(核0、核1和核2)。

        在核0上進(jìn)行接口和數(shù)據(jù)預(yù)處理,處理非實時數(shù)據(jù),連接非實時的對外接口;在核1上運行調(diào)度模塊,以小于1ms的誤差輸出調(diào)度的執(zhí)行序列;在核2上運行強實時執(zhí)行模塊,將一個調(diào)度周期的執(zhí)行序列在FPGA的實時中斷驅(qū)動下,以微秒級別的控制精度輸出。

        6 測試驗證

        給系統(tǒng)輸入導(dǎo)航數(shù)據(jù),模擬目標(biāo)更新數(shù)據(jù),然后啟動一個控制任務(wù),經(jīng)過實時任務(wù)調(diào)度輸出調(diào)度結(jié)果,每個調(diào)度結(jié)果代表一組連續(xù)執(zhí)行的脈沖,測量其運行參數(shù),進(jìn)行驗證測試。

        6.1 測試方法

        通過網(wǎng)絡(luò)以100次/s的速度發(fā)送導(dǎo)航數(shù)據(jù),按照500次/s的速度發(fā)送更新參數(shù),然后啟動運行1個控制任務(wù),工作參數(shù)是1組16個脈沖,每個脈沖的執(zhí)行時間長度為1 000μs。通過計算相鄰的調(diào)度結(jié)果輸出的時間間隔,可以評估調(diào)度輸出的穩(wěn)定性;通過計算1組脈沖連續(xù)輸出的時間間隔,可以評估脈沖的控制精度。在調(diào)度輸出的節(jié)點和任務(wù)執(zhí)行的節(jié)點錄取時間戳信息,然后通過網(wǎng)絡(luò)輸出,在外部進(jìn)行錄取和統(tǒng)計分析,最后進(jìn)行整體控制精度評估。

        調(diào)度結(jié)果的輸出間隔應(yīng)該是10ms的整數(shù)倍,脈沖執(zhí)行輸出的時間間隔應(yīng)該是1 000μs,調(diào)度間隔與10ms整數(shù)倍的偏差小于1ms,脈沖執(zhí)行的偏差小于2μs。

        6.2 測試結(jié)果統(tǒng)計

        在設(shè)計中,在DSP和FPGA之間采用了數(shù)據(jù)流水線設(shè)計,在1組脈沖中,第1個脈沖執(zhí)行間隔實際是參數(shù)的計算時間,并不是執(zhí)行間隔,最后一個脈沖的時間間隔是下一個調(diào)度周期的脈沖的時間間隔,所以在數(shù)據(jù)處理的過程中需要去掉第一個脈沖間隔和最后一個脈沖間隔。

        從錄取的輸出參數(shù)中總共提取了1 936 987組脈沖執(zhí)行參數(shù)、269 200組調(diào)度間隔參數(shù)。脈沖執(zhí)行參數(shù)偏差超過1μs的有22個,最大偏差1.159μs,其余的偏差均小于1μs。從錄取中共提取了269 200組數(shù)據(jù),統(tǒng)計出調(diào)度的最大偏差為89.7μs,小于0.1ms。

        7 結(jié)束語

        本文通過分析艦載控制系統(tǒng)實時任務(wù)調(diào)度的過程,采用高速多核DSP平臺,通過分層設(shè)計將不同時間響應(yīng)要求的邏輯處理進(jìn)行物理隔離,設(shè)計了實時任務(wù)調(diào)度的多核軟件架構(gòu)。從實際的測試數(shù)據(jù)可以看出,在高速網(wǎng)絡(luò)數(shù)據(jù)流輸入的情況下,調(diào)度結(jié)果的輸出是穩(wěn)定的,調(diào)度結(jié)果的執(zhí)行是實時的,實際的偏差在設(shè)計范圍內(nèi),實現(xiàn)了實時任務(wù)調(diào)度和實時任務(wù)執(zhí)行。

        [1] 胡衛(wèi)東,郁文賢,盧建斌,王壯.相控陣?yán)走_(dá)資源管理的理論與方法[M].北京:國防工業(yè)出版社,2010.

        [2] 董言治,婁樹理,劉松濤.TMS320C6000系列DSP系統(tǒng)結(jié)構(gòu)原理與應(yīng)用教程[M].北京:清華大學(xué)出版社,2014.

        [3] 牛金海.TIC66X多核軟件開發(fā)技術(shù)[M].上海:上海交通大學(xué)出版社,2015.

        DesignandAnalysisofReal-timeTaskSchedulingArchitectureBasedonDSPC6678Multi-corePlatform

        RENZhi-ming

        (The723InstituteofCSIC,Yangzhou225001,China)

        Thispaperanalyzesthemulti-coremodeofdigitalsignalprocessor(DSP)C6678,designsareal-timetaskschedulingsoftwarearchitecturebasedonC6678high-speedmulti-coreDSPhardwareplatform,implementsreal-timetaskscheduling.Thetotaldesignissatisfiedforthedesignindexesthroughactualtest.

        real-timetaskscheduling;multi-coredigitalsignalprocessor;softwarearchitecture

        2015-05-03

        TN

        A

        CN32-1413(2016)05-0090-04

        10.16426/j.cnki.jcdzdk.2016.05.023

        猜你喜歡
        設(shè)計
        二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
        河北畫報(2020年8期)2020-10-27 02:54:06
        何為設(shè)計的守護(hù)之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設(shè)計
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設(shè)計
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設(shè)計
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過海——仿生設(shè)計萌到家
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設(shè)計到“設(shè)計健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        国产午夜激无码av毛片| 日本高清乱码中文字幕| 欧美xxxxx精品| 日本美女性亚洲精品黄色| 国产专区亚洲专区久久| 图片小说视频一区二区| 欧洲精品免费一区二区三区| 国产成人精选在线不卡| 久久麻豆精亚洲av品国产蜜臀| 亚洲av免费看一区二区三区| 亚洲视频在线一区二区| 国产成人aaaaa级毛片| 少妇人妻真实偷人精品视频| 亚洲永久无码动态图| 中文字幕Aⅴ人妻一区二区苍井空| 在线亚洲AV不卡一区二区 | 婷婷丁香五月亚洲| 亚洲午夜精品国产一区二区三区| 少妇下面好爽好紧好湿一区二区 | 老熟女高潮一区二区三区| 一本色道久久综合狠狠躁 | 亚洲欧美日韩高清一区二区三区| 国产一区二区三区在线爱咪咪 | 无码人妻精品一区二区| 欧美亚洲国产另类在线观看| 日本一区二区三区一级免费| 国产一区二区三区四色av| 国产裸体xxxx视频在线播放| 中文字幕乱码免费视频| 久久婷婷国产精品香蕉| 国产亚洲精品一区二区在线观看 | 美女裸体无遮挡免费视频的网站| 国产亚洲欧美在线播放网站| 日本一区二区三区精品免费| 成人在线免费电影| 亚洲一区爱区精品无码| 国产三级国产精品国产专区| 亚洲精品中文字幕一区二区| 99精品一区二区三区无码吞精| 91精品国产91| 高清不卡日本v二区在线|