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

多核DSP并行處理的核間通信與編程技巧

2017-05-12 09:41:14鄭武興王春平付強(qiáng)

鄭武興,王春平,付強(qiáng)

(軍械工程學(xué)院 電子與光學(xué)工程系,石家莊 050003)

多核DSP并行處理的核間通信與編程技巧

鄭武興,王春平,付強(qiáng)

(軍械工程學(xué)院 電子與光學(xué)工程系,石家莊 050003)

本文以圖像為基礎(chǔ),在TMDSEVM6678L實(shí)現(xiàn)并行處理設(shè)計(jì),并分析其性能。文中主要介紹了核間通信的幾種常用方法,以及多核編程的基本技巧。通過網(wǎng)頁實(shí)現(xiàn)用戶交互,并對(duì)網(wǎng)頁數(shù)據(jù)傳遞進(jìn)行分析,提供數(shù)據(jù)解析思路。分析比較數(shù)據(jù)的讀取速度,采用合適的數(shù)據(jù)采集方法提高仿真效率。最后,統(tǒng)計(jì)不同數(shù)據(jù)量的處理時(shí)間,實(shí)驗(yàn)結(jié)果表明,采用消息機(jī)制進(jìn)行核間通信實(shí)現(xiàn)并行處理具有實(shí)用性以及適用性。

TMS320C6678;并行處理;核間通信;消息機(jī)制

引 言

DSP是對(duì)數(shù)字信號(hào)進(jìn)行高速實(shí)時(shí)處理的專用處理器,因此,在數(shù)字化發(fā)展中,DSP憑借其高性能和軟件可編程等特點(diǎn),使之在電子工業(yè)領(lǐng)域的應(yīng)用迅速增長(zhǎng)。隨著應(yīng)用領(lǐng)域的擴(kuò)大以及終端產(chǎn)品性能的日益豐富,人們對(duì)其性能、功耗和成本也提出了越來越高的要求,這使得DSP廠商開始在單一硅片上集成更多的處理器內(nèi)核以適應(yīng)用戶需求,于是多核DSP應(yīng)運(yùn)而生。DSP在電子工業(yè)領(lǐng)域起著舉足輕重的作用,成為航空電子與國(guó)防、通信系統(tǒng)、機(jī)器視覺、嵌入式和云分析、高性能計(jì)算、多媒體基礎(chǔ)設(shè)施、醫(yī)療成像、測(cè)試和測(cè)量、監(jiān)控和安全、軟件定義無線電(SDR)、消費(fèi)類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件[1]。

在多核處理器的使用過程中,最重要的就是要學(xué)會(huì)如何分配各核的工作,掌握各核之間的通信機(jī)制,以及各核之間的數(shù)據(jù)交流。本文以TI公司的TMDSEVM6678L八核處理器為平臺(tái),介紹典型核間通信機(jī)制以及多核編程方法。通過對(duì)單幀圖像處理進(jìn)行多核程序設(shè)計(jì),為后續(xù)視頻跟蹤算法的多核程序設(shè)計(jì)提供思路。

1 核間通信機(jī)制

TI公司提供了允許在多處理器環(huán)境和通信處理器之間的通信外設(shè)包、IPC組件包,它是SYS/BIOS處理核間通信的組件。此通信包括消息傳遞、數(shù)據(jù)流和鏈表,這些工作透明地在兩個(gè)單處理器和多處理器之間配置。

1.1 最小使用

這種方案使用通知驅(qū)動(dòng)程序來執(zhí)行核間的通知(Notification),通過Notify模塊來實(shí)現(xiàn)。這種方式最適合處理核間的簡(jiǎn)單同步,而無法處理復(fù)雜的消息傳遞,當(dāng)前核可以發(fā)送一個(gè)通知給另一遠(yuǎn)程核讓其執(zhí)行任務(wù),而后遠(yuǎn)程核會(huì)反饋任務(wù)完成信號(hào)。這種通知攜帶的數(shù)據(jù)非常小,不超過32位,所以稱為最小使用。其配置方式如圖1所示[2]。

圖1 最小使用配置圖

多核處理器模塊的靜態(tài)配置在SYS/BIOS操作系統(tǒng)的配置文件(*.cfg)中進(jìn)行。在這種情況下,用戶通過API函數(shù)調(diào)用Notify模塊,比如用戶可以通過Notify_registerEvent()給特定事件動(dòng)態(tài)注冊(cè)回調(diào)函數(shù),該函數(shù)將事件注冊(cè)到指定核,同時(shí)注冊(cè)到指定中斷號(hào)。通過Notify_sendEvent()函數(shù)給某個(gè)特定核傳遞一個(gè)事件,當(dāng)該函數(shù)被調(diào)用時(shí),所注冊(cè)的回調(diào)函數(shù)開始執(zhí)行。由于一個(gè)通知所攜帶的信息是極少的,所以只能給處理器發(fā)送一個(gè)事件號(hào),而這個(gè)事件號(hào)所代表的回調(diào)函數(shù)決定之后的動(dòng)作。另外一些數(shù)據(jù)以函數(shù)參數(shù)方式也可以被送出。需要注意的是,同一個(gè)中斷號(hào)可以注冊(cè)多個(gè)事件,同一個(gè)事件可以有多個(gè)回調(diào)函數(shù)或者多個(gè)宿主,事件被觸發(fā)后所有宿主都會(huì)被喚醒;事件是有優(yōu)先級(jí)的,事件號(hào)越小優(yōu)先級(jí)越高,事件0的優(yōu)先級(jí)最高,當(dāng)多個(gè)事件被觸發(fā),優(yōu)先級(jí)最高的會(huì)最先響應(yīng)。

1.2 強(qiáng)大但易用的消息機(jī)制

MessageQ模塊,即消息隊(duì)列(Message Queue),有些情況下利用MessageQ模塊來傳遞消息。其配置方式如圖2所示。

圖2 強(qiáng)大但易用的消息機(jī)制配置圖

MessageQ同Notify模塊一樣,也是用于多核之間的通信,不過不同的是Notify模塊更加側(cè)重于通知,其只能傳遞一個(gè)參數(shù),而MessageQ卻可以傳遞可變長(zhǎng)度(一般超過32位)的消息結(jié)構(gòu)體,對(duì)于多個(gè)參數(shù),數(shù)據(jù)打包更加適用,更側(cè)重于傳遞消息。另外不同線程間的消息是獨(dú)立的,例如對(duì)于每個(gè)MessageQ來說,存在一個(gè)讀者卻可能有多個(gè)寫者。在這種通信方案下,只需要配置MultiProc和SharedRegion模塊就可以了,而Ipc_start()函數(shù)將自動(dòng)實(shí)現(xiàn)上面其他模塊的配置。Ipc_start()的調(diào)用必須在任何模塊的調(diào)用之前,即主函數(shù)最前面。它需要在SYS/BIOS 操作系統(tǒng)的配置文件(*.cfg )進(jìn)行靜態(tài)配置,還要在主程序中對(duì)MessageQ 模塊進(jìn)行動(dòng)態(tài)配置。

MessageQ模塊的主要特點(diǎn):

① 變長(zhǎng)消息傳遞,一般超過32位;

② 消息可以被任何類型的線程發(fā)送和接收;

③ 其消息的傳遞都是通過操作消息隊(duì)列來實(shí)現(xiàn)的;

④ 接收消息允許超時(shí)(等待),當(dāng)?shù)却龝r(shí)間timeout為0時(shí),確定消息已經(jīng)接收;

⑤ 每個(gè)消息隊(duì)列可以有多個(gè)寫者,但只能有一個(gè)讀者,而每個(gè)任務(wù)可以對(duì)多個(gè)消息隊(duì)列進(jìn)行讀寫;

⑥ 一個(gè)宿主在準(zhǔn)備接收消息時(shí),必須先創(chuàng)建消息隊(duì)列,而在發(fā)送消息前,需要打開預(yù)定的接收消息隊(duì)列;

消息被發(fā)送到消息隊(duì)列中,而讀者從消息隊(duì)列中讀取消息。每個(gè)寫者是發(fā)送消息到消息隊(duì)列的一個(gè)線程,每個(gè)讀者是從消息隊(duì)列接收消息的一個(gè)線程。DSP核發(fā)送消息前,使用函數(shù)MessageQ_alloc()在共享區(qū)域分配消息堆空間,然后使用函數(shù)MessageQ_put()將消息發(fā)送到接收核的消息隊(duì)列。當(dāng)DSP核接收消息時(shí),使用函數(shù)MessageQ_get()獲取本地消息隊(duì)列中的消息,然后調(diào)用函數(shù)MessageQ_free()或MessageQ_delete(),刪除該消息。通信完成后,調(diào)用MessageQ_close()關(guān)閉消息隊(duì)列。在程序執(zhí)行過程中,對(duì)MessageQ模塊中函數(shù)的調(diào)用流程如圖3所示[3]。

圖3 MessageQ模塊調(diào)用流程

1.3 核間的連接方法

通過配置*.cfg文件中的Ipc.ProcSync屬性,可以設(shè)置同步的核數(shù),它總共有三種模式。如果配置Ipc.ProcSync為Ipc.ProcSync_ALL,那么執(zhí)行Ipc_start()將會(huì)自動(dòng)連接和同步所有核,不需要再調(diào)用Ipc_attach()。如果配置Ipc.ProcSync為Ipc.ProcSync_PAIR,那么就必須調(diào)用Ipc_attach()手動(dòng)連接所需要同步的遠(yuǎn)程核。在Ipc_start()之后直接輸入Ipc_attach(coreID),coreID表示需要連接的核ID號(hào),如Ipc_attach(0)表示連接核0。手動(dòng)連接核時(shí),核的連接一定要按照核ID號(hào)從小到大的順序進(jìn)行,比如當(dāng)前核必須先連接核0,才能連接核1。另外,兩核之間的相互連接必須先滿足ID號(hào)小的先連接ID號(hào)大的,比如只有當(dāng)核0連接核1后,核1才能連接到核0。由于核的連接并不是一次就能成功,所以一般需要加一個(gè)循環(huán)等待的過程,一般使用方法如下:

while(Ipc_attach(coreID)<0)

{ Task_sleep(1); }

最后一種模式是配置為Ipc.ProcSync_NONE,當(dāng)用戶選擇這種模式時(shí),在被其他模塊設(shè)置為所需的對(duì)象之前,執(zhí)行Ipc_start()將不會(huì)同步任何處理器。用戶要謹(jǐn)慎使用這種模式,它一般用于應(yīng)用程序執(zhí)行自己的同步或者避免與IPC同步的一個(gè)潛在的死鎖情況。這種情況下,Ipc_start()的工作與Ipc.ProcSync_PAIR模式的情況完全一樣。解除核之間連接可以通過Ipc_detach()實(shí)現(xiàn),Ipc_detach()的使用方法與Ipc_attach()類似,這個(gè)步驟不是必須的。

2 多核編程

以往主要通過提高硬件性能來提高處理速度,很少通過軟件來提高處理速度。隨著多核處理器的出現(xiàn),對(duì)程序員的編程能力要求更高,需要程序員對(duì)應(yīng)用程序合理分配,以充分發(fā)揮多核處理器的優(yōu)勢(shì)。

2.1 并行設(shè)計(jì)

并行設(shè)計(jì)首先要對(duì)任務(wù)的并行性進(jìn)行分析,然后根據(jù)其特點(diǎn)選擇合適的處理模型。通常主要有以下兩種模型。

(1) 主從模型

圖4 主從處理模型

主從模型屬于任務(wù)分發(fā)式,主核負(fù)責(zé)整個(gè)任務(wù)調(diào)度、數(shù)據(jù)分配與整合,其模型如圖4所示。這種情況一般代碼共享性比較高,主要通過拆分?jǐn)?shù)據(jù)來分配任務(wù),有些情況需要考慮數(shù)據(jù)拆分后再分析是否對(duì)結(jié)果造成影響,在最后的數(shù)據(jù)整合可能不是簡(jiǎn)單拼接,還需要進(jìn)一步處理。

(2) 數(shù)據(jù)流模型

數(shù)據(jù)流模型由數(shù)據(jù)觸發(fā)調(diào)度,初始數(shù)據(jù)一般由傳感器或者FPGA輸入接口提供。它的代碼共享性比較低,每個(gè)核使用各自的算法處理數(shù)據(jù),通過數(shù)據(jù)的處理流程形成流水線。這種模型向各個(gè)核均衡分配任務(wù),需要根據(jù)各個(gè)算法的處理時(shí)間來考慮各核所需要承擔(dān)的處理任務(wù),如果分配不當(dāng)就容易形成“木桶效應(yīng)”。當(dāng)前核的處理速度容易受前后核的影響,所以數(shù)據(jù)在核與核之間傳遞所形成的延遲時(shí)間是一個(gè)很大的挑戰(zhàn)。數(shù)據(jù)流處理模型如圖5所示。

圖5 數(shù)據(jù)流處理模型

2.2 緩存一致性

在TMS320C6678中,只有同一個(gè)核內(nèi)的L1D和L2SRAM的緩存內(nèi)容的一致性可以由硬件保證,這個(gè)過程不需要軟件參與[4]。L2中的內(nèi)容被更新時(shí),硬件保證相應(yīng)L1D中緩存的內(nèi)容也能及時(shí)更新。由于對(duì)功耗和延遲開銷的考慮,C66xx并不支持自動(dòng)的緩存一致,程序員需要手動(dòng)控制,通過軟件編程保持高速緩存一致性。在進(jìn)行每次寫入運(yùn)算時(shí)都需要立刻采取措施保證數(shù)據(jù)的一致性,否則不同核可能會(huì)看到不同的數(shù)據(jù),這樣會(huì)造成數(shù)據(jù)處理混亂,最終得到的數(shù)據(jù)結(jié)果不準(zhǔn)確。為此,TI提供了一套API函數(shù)以支持cache的一致性操作,包括緩存行無效(cache lineinvalidation)、緩存行寫回(cache line writeback)到存儲(chǔ)memory,以及回寫無效等操作。

2.3 代碼鏡像

應(yīng)用程序支持單獨(dú)鏡像和多鏡像。單獨(dú)鏡像的應(yīng)用程序在所有核之間共享一部分代碼和數(shù)據(jù)存儲(chǔ),這種情況允許所有核加載并運(yùn)行完全相同的應(yīng)用程序。如果運(yùn)行完全共享的代碼,只需要建立一個(gè)工程,同時(shí)只需要一個(gè)SYS/BIOS配置文件[5]。在多鏡像方案中,每個(gè)核運(yùn)行相互獨(dú)立且不相同的應(yīng)用程序,需要建立多個(gè)工程。這就要求給放在一個(gè)共享內(nèi)存區(qū)的所有代碼或數(shù)據(jù)分配唯一的地址區(qū)域,防止其他內(nèi)核訪問相同的內(nèi)存區(qū)域。對(duì)于這種應(yīng)用,每個(gè)應(yīng)用程序的SYS/BIOS配置文件會(huì)調(diào)整內(nèi)存部分的位置,以確保多核不會(huì)訪問到內(nèi)存重疊范圍。

3 并行處理程序設(shè)計(jì)

本設(shè)計(jì)的硬件平臺(tái)為TI公司的TMDSEVM6678L開發(fā)板,程序開發(fā)環(huán)境為CCS5.2.1,采用瑞泰ICETEK-XDS200U通用開發(fā)系統(tǒng)進(jìn)行在線調(diào)試。

3.1 方案選擇

通知機(jī)制方案的實(shí)現(xiàn)代碼相對(duì)簡(jiǎn)單,除發(fā)送事件ID號(hào)外,還可選擇傳輸最大32位的整型數(shù)據(jù)負(fù)載,它的負(fù)載能力是十分有限的,其數(shù)據(jù)通信性能受到很大限制。在圖像處理過程中,各核之間所需要交流傳遞的數(shù)據(jù)量比較大,通知機(jī)制很難滿足此要求,實(shí)現(xiàn)難度大。而消息機(jī)制能通過消息結(jié)構(gòu)體封裝數(shù)據(jù)信息,負(fù)載能力比較強(qiáng),并且它具有較好的靈活性和適應(yīng)性,所以在此選用MessageQ方式進(jìn)行圖像多核并行處理設(shè)計(jì)。

3.2 基于MessageQ的程序設(shè)計(jì)

3.2.1 消息隊(duì)列相關(guān)操作

消息隊(duì)列模塊主要的操作有:配置消息模塊、創(chuàng)建消息隊(duì)列對(duì)象、打開消息隊(duì)列、分配消息堆空間、發(fā)送消息、接收消息、刪除消息對(duì)象等。消息機(jī)制進(jìn)行核間通信,詳細(xì)步驟以及注意事項(xiàng)如下:

(1) 配置消息模塊

用戶需要在*.cfg文件中配置消息模塊,通過以下配置使能消息模塊:

var MessageQ=xdc.useModule('ti.sdo.ipc.MessageQ');

它的屬性設(shè)置具體如下,以下是它的默認(rèn)值,如果不進(jìn)行設(shè)置就采用以下值:

MessageQ.maxNameLen=32; //消息序列名稱最大長(zhǎng)度

MessageQ.maxRuntimeEntries=10;// 可以被動(dòng)態(tài)創(chuàng)建的最大消息序列數(shù)

MessageQ.numHeaps=0;

MessageQ.tableSection=null;

(2) 創(chuàng)建消息隊(duì)列對(duì)象

接收核通過函數(shù)MessageQ_create(String name,MessageQ_Params *params)動(dòng)態(tài)創(chuàng)建消息隊(duì)列,它不支持靜態(tài)創(chuàng)建。一個(gè)消息隊(duì)列對(duì)象只存在于當(dāng)前核,不被其他核所共享。

(3) 打開消息隊(duì)列

發(fā)送核通過函數(shù)MessageQ_open(String name, MessageQ_QueueId *queueId)打開已被創(chuàng)建的消息隊(duì)列,如果成功將獲得queueId,并返回狀態(tài)值。

(4) 分配消息堆空間

消息被分配以后,它可以被發(fā)送到任何消息隊(duì)列。它需要通過函數(shù)MessageQ_alloc(UInt16 heapId,UInt32 size)來分配消息,一般為打包后的消息結(jié)構(gòu)體的大小。

(5) 發(fā)送消息

發(fā)送核首先打開被創(chuàng)建的消息隊(duì)列,然后將消息通過函數(shù)MessageQ_put(MessageQ_QueueId ueueId,MessageQ_Msg msg)發(fā)送到隊(duì)列中。

(6) 接收消息

接收核通過函數(shù)MessageQ_get(MessageQ_Handle handle,MessageQ_Msg *msg,UInt timeout)接收消息,timeout常設(shè)置為MessageQ_FOREVER,表示一直等待消息。

3.2.2 多核并行處理設(shè)計(jì)

本文以圖像邊緣檢測(cè)處理進(jìn)行介紹,任務(wù)相對(duì)比較簡(jiǎn)單,所以在此采用主從模型進(jìn)行設(shè)計(jì)。在任務(wù)相對(duì)獨(dú)立,涉及到的環(huán)節(jié)比較多,可以采用數(shù)據(jù)流模型進(jìn)行設(shè)計(jì)。其軟件框圖如圖6所示[6]。

圖6 軟件框架

在多核圖像處理中,主核Core0負(fù)責(zé)任務(wù)調(diào)度、網(wǎng)頁服務(wù)、數(shù)據(jù)采集、數(shù)據(jù)分發(fā)和整合,并參與圖像處理任務(wù)。從核運(yùn)行一個(gè)無限循環(huán)的任務(wù),當(dāng)接收到圖像處理的消息時(shí),進(jìn)行圖像處理,待完成后返回圖像處理完成的消息。其圖像處理流程如圖7所示。

圖7 圖像處理流程

數(shù)據(jù)的采集利用fopen()、fread()函數(shù)[7],在CCS集成開發(fā)環(huán)境下,直接讀取上位機(jī)中指定路徑下的文件,但是這必須是在Debug模式下,通過仿真器進(jìn)行連接才能實(shí)現(xiàn)。具體操作如下:

FILE * fpr = 0;

char image_name[250] = "…/images/MMMM.bmp";

fpr=fopen(image_name, "rb");

fseek(fpr, 0, SEEK_END);

input_image.length =ftell(fpr);

fseek(fpr, 0, SEEK_SET);

input_image.data=malloc(input_image.length);

fread(input_image.data,input_image.length,1, fpr);

fclose(fpr);

本文所處理的圖像為BMP格式文件,它主要由位圖文件頭、位圖信息頭、調(diào)色板和圖像數(shù)據(jù)構(gòu)成,在處理圖像的時(shí)候需要單獨(dú)把圖像數(shù)據(jù)提取出來。

3.2.3 網(wǎng)頁設(shè)計(jì)及數(shù)據(jù)處理

用戶通過網(wǎng)頁選擇參與處理的核數(shù),并通過動(dòng)態(tài)創(chuàng)建網(wǎng)頁輸出處理結(jié)果,實(shí)現(xiàn)用戶交互,這樣調(diào)試更加方便。其網(wǎng)頁界面如圖8所示,當(dāng)點(diǎn)擊Process按鈕時(shí),系統(tǒng)執(zhí)行對(duì)應(yīng)的回調(diào)函數(shù)[8]。

圖8 核數(shù)選擇界面

網(wǎng)頁源碼需要轉(zhuǎn)換為十六進(jìn)制數(shù)組形式,通過efs_createfile("index.html",INDEXHTML_SIZE, INDEXHTML)再創(chuàng)建網(wǎng)頁[9],嵌入仿真平臺(tái)。其中index.html為網(wǎng)頁名,INDEXHTML_SIZE為網(wǎng)頁大小,INDEXHTML為包含在頭文件中的網(wǎng)頁數(shù)據(jù)變量。轉(zhuǎn)換工具在“…packages i dk oolsinsrc”路徑下,在DOS環(huán)境下通過binsrc 這種格式運(yùn)行。也可以下載“Bin2Src”軟件實(shí)現(xiàn)轉(zhuǎn)換,下載地址為http://download.csdn.net/download/kaileng999/353861。

網(wǎng)頁通過POST方式提交表單數(shù)據(jù),因此需要對(duì)提交的數(shù)據(jù)按照一定的規(guī)則進(jìn)行解析。圖9、圖10是通過兩種不同形式顯示表單接收到的數(shù)據(jù)結(jié)果,圖9為字符類型顯示,圖10為8位無符號(hào)整型顯示。

圖9 字符類型顯示

結(jié)合圖9和圖10,可以發(fā)現(xiàn)表單數(shù)據(jù)比較有規(guī)律,它有行開始標(biāo)識(shí)、單元格開始及結(jié)束標(biāo)識(shí)、表單結(jié)束標(biāo)識(shí)以及一些關(guān)鍵字段標(biāo)識(shí),如“name”。因此,通過這些固定的格式,很容易解析得到對(duì)應(yīng)參數(shù)值。

圖10 8位無符號(hào)整型顯示

3.3 性能分析

在仿真模式下,計(jì)算兩個(gè)斷點(diǎn)之間的運(yùn)行時(shí)間,發(fā)現(xiàn)fread()函數(shù)讀取上位機(jī)中的一張圖片需要耗費(fèi)很長(zhǎng)時(shí)間,一般高達(dá)幾分鐘。這可能是仿真設(shè)備的原因,仿真時(shí)電腦通過串行接口與評(píng)估板數(shù)據(jù)交流,另一方面還受評(píng)估板處理速度、內(nèi)存空間的限制,導(dǎo)致輸入讀入實(shí)驗(yàn)板外部存儲(chǔ)器速度慢。因此,出于算法調(diào)試速度和需要,按照網(wǎng)頁的轉(zhuǎn)換方式把圖片轉(zhuǎn)化為十六進(jìn)制數(shù)組,包含到程序中的頭文件,編譯時(shí)直接寫入內(nèi)存。這種方法大大提高了仿真效率,但需要考慮內(nèi)存不足問題。最后對(duì)不同大小的圖片進(jìn)行處理,其處理速度對(duì)比,具體見表1。

表1 不同大小圖片處理時(shí)間(單位:ms)

通過表1可以發(fā)現(xiàn)處理時(shí)間與參加處理核數(shù)并不成正比,隨著核數(shù)目的增加,處理時(shí)間變短。但是,隨著圖像變小,即處理數(shù)據(jù)量減少,它的處理速度并不總是提高,甚至耗時(shí)會(huì)越多。從中可以看出,隨著處理數(shù)據(jù)量的減少,數(shù)據(jù)處理的時(shí)間越來越接近消息傳遞所消耗的時(shí)間,效率反而更低。因此,當(dāng)任務(wù)量比較少的時(shí)候,過多的資源利用會(huì)導(dǎo)致浪費(fèi),所做的無用功增多。顯然,在進(jìn)行圖像局部處理時(shí),所選取的圖片太小,數(shù)據(jù)分發(fā)式并行處理反而影響處理效率。

結(jié) 語

[1] 牛金海.TMS320C66x KeyStone 架構(gòu)多核DSP入門與實(shí)例精解[M].上海:上海交通大學(xué)出版社,2014.

[2] Texas Instruments.SYS/BIOS Inter-Processor Communication (IPC) 1.25 User’s Guide,2012.

[3] 肖亮,張學(xué)健.基于多核DSP的超聲成像處理算法的并行實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2013,39(6):27-30.

[4] Texas Instruments.TMS320C66x DSP Cache User Guide,2010.

[5] Texas Instruments.Multicore Programming Guide,2012.

[6] Texas Instruments.MCSDK Image Processing Demonstration Guide,2015.

[7] 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.

[8] Texas Instruments.TI Network Developer’s Kit (NDK) v2.21 User’s Guide,2012.

[9] Texas Instruments.TI Network Developer’s Kit (NDK) v2.21 API Reference Guide,2012.

鄭武興(碩士研究生),主要研究方向?yàn)樾畔⑻幚砝碚撆c方法;王春平(教授),主要研究方向?yàn)閳D像處理、火力控制理論與應(yīng)用;付強(qiáng)(講師),主要研究方向?yàn)橛?jì)算機(jī)視覺、網(wǎng)絡(luò)化火控與指控技術(shù)。

Inter Core Communication and Programming Skills of Multicore DSP Parallel Processing

Zheng Wuxing,Wang Chunping,Fu Qiang

(Department of Electrics and Optics Engineering,Ordnance Engineering College,Shijiazhuang 050003,China)

In the paper,the parallel processing design based on the image is implemented in TMDSEVM6678L,and its performance is analyzed.The usual methods of the Inter-Processor Communication (IPC), as well as the basic techniques of multicore programming are introduced.It implements user interaction via the web,and provides data parse ideas through the analysis of web page data transmission.Through analysis and comparison of the data acquisition speed,the suitable data acquisition method is adopted to improve the simulation efficiency.Finally,it indicates that the message mechanism for IPC is used to implement parallel processing practicability and applicability from the processing time of different data quantity and the experimental results.

TMS320C6678;parallel processing;IPC;message mechanism

TP302.7

A

士然

2017-01-06)

主站蜘蛛池模板: 免费在线看黄网址| 日韩在线永久免费播放| 亚洲中文字幕日产无码2021| 国产一级毛片网站| 最新痴汉在线无码AV| 国产成年无码AⅤ片在线 | 97久久精品人人| 91视频国产高清| 青青操视频在线| 国产污视频在线观看| 免费一级全黄少妇性色生活片| 久久国产精品波多野结衣| 国产一区二区三区在线无码| 中文字幕av一区二区三区欲色| 久久久久免费看成人影片| 亚洲日韩久久综合中文字幕| 亚洲欧美在线综合图区| 亚洲91精品视频| 久久国产黑丝袜视频| 91美女视频在线观看| 亚洲资源站av无码网址| 一本综合久久| 2021国产在线视频| 青青操国产视频| 国产成人夜色91| 免费观看男人免费桶女人视频| 欧美成人看片一区二区三区| 欧美第二区| 久久久久无码精品国产免费| 国产在线一区视频| 成色7777精品在线| 任我操在线视频| 在线播放精品一区二区啪视频| 国产一级在线观看www色| 久久无码免费束人妻| 99在线视频网站| 夜夜操天天摸| 91精品啪在线观看国产91| 久久99热66这里只有精品一| 成人午夜在线播放| 99热在线只有精品| 五月丁香伊人啪啪手机免费观看| 国模极品一区二区三区| 国产呦视频免费视频在线观看| 日本人妻一区二区三区不卡影院 | 色悠久久久久久久综合网伊人| 狠狠色狠狠综合久久| 伊人久综合| 欧美国产另类| 国产第八页| 亚洲一区免费看| 亚洲精品你懂的| 91精品情国产情侣高潮对白蜜| 91口爆吞精国产对白第三集| 真实国产乱子伦视频| 亚洲欧美色中文字幕| 欧美一区精品| 亚洲黄色视频在线观看一区| 亚洲无码高清免费视频亚洲 | 国产网站一区二区三区| 国产成人久久综合777777麻豆 | 欧美怡红院视频一区二区三区| 亚洲欧洲自拍拍偷午夜色| 国产高清在线观看91精品| 又大又硬又爽免费视频| 精品久久国产综合精麻豆| 国产无码制服丝袜| 成人年鲁鲁在线观看视频| 国产成人福利在线| 亚洲欧美日韩中文字幕在线| 国产亚洲欧美在线专区| 就去吻亚洲精品国产欧美| 欧美一级高清视频在线播放| 婷婷亚洲最大| 国产成人精品优优av| 欧美国产在线看| 毛片网站观看| 亚洲色图欧美| 国产在线自乱拍播放| 成人无码区免费视频网站蜜臀| 欧美日韩导航| 精品乱码久久久久久久|