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

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

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

任志明

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

?

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

任志明

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

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

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

0 引 言

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

1 系統(tǒng)分析

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

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

圖1 軟件模塊分級(jí)示意圖

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

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

2 硬件平臺(tái)分析

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

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

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

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

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

圖2 硬件平臺(tái)框圖

3 多核模式分析

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

3.1 主從模式

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

圖3 主從模式示意圖

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

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

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

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

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

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

3.3 OpenMP模式

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

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

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

omp_set_num_thread(4);

#pragmaompparallel

{

ProcessData();

}

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

#pragmaompparallel

#pragmaompsections

{

#pragmaompsection

Process1();

#pragmaompsection

Process2();

}

圖5 OpenMP模式示意圖

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

4 軟件架構(gòu)

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

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

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

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

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

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

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

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

6 測(cè)試驗(yàn)證

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

6.1 測(cè)試方法

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

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

6.2 測(cè)試結(jié)果統(tǒng)計(jì)

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

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

7 結(jié)束語

本文通過分析艦載控制系統(tǒng)實(shí)時(shí)任務(wù)調(diào)度的過程,采用高速多核DSP平臺(tái),通過分層設(shè)計(jì)將不同時(shí)間響應(yīng)要求的邏輯處理進(jìn)行物理隔離,設(shè)計(jì)了實(shí)時(shí)任務(wù)調(diào)度的多核軟件架構(gòu)。從實(shí)際的測(cè)試數(shù)據(jù)可以看出,在高速網(wǎng)絡(luò)數(shù)據(jù)流輸入的情況下,調(diào)度結(jié)果的輸出是穩(wěn)定的,調(diào)度結(jié)果的執(zhí)行是實(shí)時(shí)的,實(shí)際的偏差在設(shè)計(jì)范圍內(nèi),實(shí)現(xiàn)了實(shí)時(shí)任務(wù)調(diào)度和實(shí)時(shí)任務(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è)計(jì)
二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計(jì)到“設(shè)計(jì)健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 亚洲首页在线观看| 国产尤物视频在线| AV熟女乱| 国产91小视频| 亚洲中文字幕无码mv| av天堂最新版在线| 青青青视频蜜桃一区二区| 亚洲欧美成aⅴ人在线观看| 国产无遮挡裸体免费视频| 新SSS无码手机在线观看| 国产在线第二页| 91精品免费高清在线| 99人妻碰碰碰久久久久禁片| 免费国产小视频在线观看| 亚洲三级片在线看| 亚洲日韩精品伊甸| 免费在线看黄网址| 国产网站一区二区三区| 国产成人av一区二区三区| www.91中文字幕| 国产午夜无码片在线观看网站 | 亚洲天堂首页| 首页亚洲国产丝袜长腿综合| 精品国产三级在线观看| av在线5g无码天天| 国内老司机精品视频在线播出| 综合色亚洲| 国产精品美乳| 日日拍夜夜嗷嗷叫国产| 亚洲另类国产欧美一区二区| 一本久道热中字伊人| 8090午夜无码专区| 91精品情国产情侣高潮对白蜜| 亚洲制服丝袜第一页| 精品人妻无码区在线视频| 日韩a级毛片| 国产一区二区三区在线精品专区 | 国产成人无码综合亚洲日韩不卡| 亚洲国产清纯| 99re热精品视频国产免费| 精品人妻一区无码视频| 亚洲精品成人福利在线电影| 免费不卡视频| 欧美激情首页| 国产一级二级在线观看| 久久国产精品嫖妓| 亚洲国产精品一区二区第一页免| 欧美在线三级| 国产欧美另类| 国产白浆一区二区三区视频在线| 亚洲男人的天堂视频| 欧美性精品| 99久久精品国产精品亚洲| 性做久久久久久久免费看| 亚洲人成人无码www| www欧美在线观看| 天天色综合4| 亚洲国产看片基地久久1024| 人妻熟妇日韩AV在线播放| 亚洲一区二区视频在线观看| 伦伦影院精品一区| aaa国产一级毛片| 欧美成人午夜在线全部免费| 少妇露出福利视频| 国产精品原创不卡在线| 国产精品毛片在线直播完整版| 免费不卡在线观看av| 久久天天躁狠狠躁夜夜躁| 久久视精品| 国产成人精品高清在线| 亚洲无码精彩视频在线观看| 国产精品极品美女自在线网站| 大香网伊人久久综合网2020| AV无码无在线观看免费| 亚洲va在线∨a天堂va欧美va| 欧美精品aⅴ在线视频| 亚洲天堂视频在线观看免费| 国产一区二区三区精品久久呦| 国产久操视频| 久久精品最新免费国产成人| 少妇精品久久久一区二区三区| 国产综合亚洲欧洲区精品无码|