本申請(qǐng)屬于通信,特別涉及一種dsp核間通信方法。
背景技術(shù):
1、在嵌入式高性能計(jì)算領(lǐng)域,多核dsp得到廣泛應(yīng)用。當(dāng)多種任務(wù)或者函數(shù)在片內(nèi)不同核上獨(dú)立、大規(guī)模并行執(zhí)行時(shí),如何高效進(jìn)行片內(nèi)調(diào)度和核間通信,決定了系統(tǒng)的性能。常見(jiàn)的應(yīng)用場(chǎng)景是將芯片分為主核和若干從核,主核將待處理數(shù)據(jù)放在多核共享存儲(chǔ)空間,通知其他從核并行處理其中部分?jǐn)?shù)據(jù),從核處理完畢再通知主核。
2、美國(guó)德州儀器(簡(jiǎn)稱(chēng)ti)公司的多核tms320c6678芯片被廣泛應(yīng)用于國(guó)內(nèi)嵌入式高性能計(jì)算領(lǐng)域,可使用硬件隊(duì)列功能實(shí)現(xiàn)核間數(shù)據(jù)通信和核間中斷功能,應(yīng)用較為成熟。近年來(lái),和此芯片性能相當(dāng)?shù)膰?guó)產(chǎn)多核dsp飛騰6678n芯片也逐漸被應(yīng)用,其具有8個(gè)核,可對(duì)多任務(wù)進(jìn)行并行處理。但是這種芯片不具備硬件隊(duì)列,僅提供ipc中斷用于核間的通知功能。傳統(tǒng)方法是多個(gè)從核操作同一個(gè)ipc觸發(fā)寄存器的不同位,在主核產(chǎn)生中斷后,主核輪詢(xún)所有位,根據(jù)置位數(shù)目來(lái)確認(rèn)應(yīng)該觸發(fā)中斷的次數(shù)。實(shí)際應(yīng)用中發(fā)現(xiàn),在多個(gè)從核處理完畢通知主核時(shí),容易出現(xiàn)中斷丟失的現(xiàn)象,導(dǎo)致應(yīng)用程序無(wú)法按照正常的并行處理流程運(yùn)行,影響處理時(shí)序和結(jié)果。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述問(wèn)題,本申請(qǐng)?zhí)峁┝艘环Ndsp核間通信方法,應(yīng)用于單個(gè)主核與多個(gè)從核的通信,所述dsp核間通信方法包括:
2、步驟1:主核通過(guò)ipc中斷依次對(duì)從核進(jìn)行調(diào)度,從核收到ipc中斷后,從待處理數(shù)據(jù)區(qū)域提取數(shù)據(jù)進(jìn)行處理;
3、步驟2:當(dāng)多個(gè)從核處理完畢,需要通知主核時(shí),所有從核均發(fā)起獲取信號(hào)燈的請(qǐng)求;
4、步驟3:第一個(gè)獲取到信號(hào)燈的從核所述信號(hào)燈進(jìn)行鎖定,防止其他從核獲?。?/p>
5、步驟4:獲取到信號(hào)燈的從核與主核建立通信,通信結(jié)束后,解鎖信號(hào)燈;
6、步驟5:其他未獲取到信號(hào)燈的從核重復(fù)步驟3與步驟4,直至所有從核與主核之間通信完成。
7、優(yōu)選的是,在主核通過(guò)ipc中斷依次對(duì)從核進(jìn)行調(diào)度之前,對(duì)主核與從核中的ipc中斷模塊進(jìn)行初始化。
8、優(yōu)選的是,所述初始化包括:ipc中斷掛載和中斷使能、將中斷服務(wù)程序和中斷事件綁定并掛載至指定的中斷向量上。
9、優(yōu)選的是,在主核通過(guò)ipc中斷依次對(duì)從核進(jìn)行調(diào)度之前,信號(hào)燈初始化,設(shè)置共享資源進(jìn)行多核互斥,申請(qǐng)一個(gè)信號(hào)燈作為核間通信的基礎(chǔ)設(shè)置。
10、優(yōu)選的是,步驟4中獲取到信號(hào)燈的從核與主核的通信步驟包括:獲取到信號(hào)燈的從核確認(rèn)上一次中斷是否退出,確認(rèn)退出后,形成中斷信息并向主核發(fā)送ipc中斷,主核獲取ipc中斷后,進(jìn)入中斷服務(wù)程序,執(zhí)行相應(yīng)的用戶(hù)程序并清除中斷。
11、優(yōu)選的是,形成中斷信息需要組合中斷源指示位,組合中斷源指示位可對(duì)多個(gè)指示位同時(shí)進(jìn)行置位,使ipc中斷攜帶的信息變多。
12、本申請(qǐng)的優(yōu)點(diǎn)包括:
13、1)本發(fā)明引入互斥信號(hào)燈模塊,使得核間中斷在發(fā)送時(shí)即具有穩(wěn)定的時(shí)序,按照獲取同一個(gè)信號(hào)燈的順序依次觸發(fā)中斷。
14、2)本發(fā)明中,中斷觸發(fā)寄存器各中斷源指示位可以同時(shí)置位,使得攜帶信息量變多,最多可以攜帶28位的數(shù)據(jù)量。
15、3)在發(fā)送中斷前,確認(rèn)上一次中斷已經(jīng)處理完畢,使得整個(gè)核間通信的發(fā)送流程均在處理流程之后,具有穩(wěn)定的時(shí)序,無(wú)沖突現(xiàn)象產(chǎn)生,從而使得中斷不會(huì)丟失。
16、本發(fā)明可適用于使用飛騰6678n芯片的雷達(dá)處理系統(tǒng)中,也可擴(kuò)展至航空、航天、船舶、通信、電子戰(zhàn)等使用此芯片的相關(guān)領(lǐng)域。
1.一種dsp核間通信方法,其特征在于,應(yīng)用于單個(gè)主核與多個(gè)從核的通信,所述dsp核間通信方法包括:
2.如權(quán)利要求1所述的dsp核間通信方法,其特征在于,在主核通過(guò)ipc中斷依次對(duì)從核進(jìn)行調(diào)度之前,對(duì)主核與從核中的ipc中斷模塊進(jìn)行初始化。
3.如權(quán)利要求2所述的dsp核間通信方法,其特征在于,所述初始化包括:ipc中斷掛載和中斷使能、將中斷服務(wù)程序和中斷事件綁定并掛載至指定的中斷向量上。
4.如權(quán)利要求1所述的dsp核間通信方法,其特征在于,在主核通過(guò)ipc中斷依次對(duì)從核進(jìn)行調(diào)度之前,信號(hào)燈初始化,設(shè)置共享資源進(jìn)行多核互斥,申請(qǐng)一個(gè)信號(hào)燈作為核間通信的基礎(chǔ)設(shè)置。
5.如權(quán)利要求1所述的dsp核間通信方法,其特征在于,步驟4中獲取到信號(hào)燈的從核與主核的通信步驟包括:獲取到信號(hào)燈的從核確認(rèn)上一次中斷是否退出,確認(rèn)退出后,形成中斷信息并向主核發(fā)送ipc中斷,主核獲取ipc中斷后,進(jìn)入中斷服務(wù)程序,執(zhí)行相應(yīng)的用戶(hù)程序并清除中斷。
6.如權(quán)利要求1所述的dsp核間通信方法,其特征在于,形成中斷信息需要組合中斷源指示位,組合中斷源指示位可對(duì)多個(gè)指示位同時(shí)進(jìn)行置位,使ipc中斷攜帶的信息變多。