欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向多核處理器的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法

文檔序號(hào):10534780閱讀:441來(lái)源:國(guó)知局
一種面向多核處理器的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法
【專利摘要】本發(fā)明公開(kāi)了一種面向多核處理器的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其為每個(gè)核分配了一塊稱為“郵箱”可供其他核心訪問(wèn)讀取數(shù)據(jù)的內(nèi)存空間,每個(gè)核可在屬于自己以及其他核的“郵箱”空間中進(jìn)行讀操作與寫操作,通過(guò)資源互斥鎖避免“郵箱”空間的競(jìng)爭(zhēng)讀寫訪問(wèn)。當(dāng)報(bào)文已被寫入目標(biāo)“郵箱”空間后,遠(yuǎn)程調(diào)用發(fā)起核會(huì)通過(guò)發(fā)起核間中斷的方式通知目標(biāo)核有新的報(bào)文到達(dá),目標(biāo)核轉(zhuǎn)入核間中斷處理函數(shù)去解析報(bào)文中的函數(shù)調(diào)用索引值,并根據(jù)函數(shù)參數(shù)以及相關(guān)信息調(diào)用具體本地函數(shù),完成函數(shù)的遠(yuǎn)程調(diào)用過(guò)程。由此,本發(fā)明能夠滿足實(shí)時(shí)操作系統(tǒng)對(duì)遠(yuǎn)程核數(shù)調(diào)用實(shí)時(shí)性,高效率的要求,降低了以往遠(yuǎn)程核數(shù)調(diào)用所帶來(lái)的復(fù)雜性問(wèn)題。
【專利說(shuō)明】
一種面向多核處理器的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于多核操作系統(tǒng)任務(wù)調(diào)用技術(shù)領(lǐng)域,具體涉及一種面向多核處理器的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法。
【背景技術(shù)】
[0002]在計(jì)算機(jī)運(yùn)行中,需要調(diào)用很多子程序和子任務(wù),這些任務(wù)和主程序并不一定是按順序在程序存儲(chǔ)區(qū)中依次存放,而是通過(guò)中斷或者調(diào)用程序如ACALL、LCALL等命令來(lái)實(shí)現(xiàn)的。傳統(tǒng)的任務(wù)調(diào)用是通過(guò)純軟件的方法,當(dāng)使用任務(wù)調(diào)用的時(shí)候需要保護(hù)現(xiàn)場(chǎng),將現(xiàn)有程序指針等信息壓到堆棧中,當(dāng)任務(wù)結(jié)束后再將壓棧的信息彈出,這種方法對(duì)于相對(duì)簡(jiǎn)單的系統(tǒng)沒(méi)有問(wèn)題,但是對(duì)于數(shù)據(jù)運(yùn)算量非常龐大的特定系統(tǒng),把實(shí)現(xiàn)各種功能的程序都集成在單個(gè)處理器中作為子程序調(diào)用,需要很大的存儲(chǔ)空間,并且全部由單個(gè)處理器來(lái)調(diào)用和完成將嚴(yán)重地影響到系統(tǒng)的工作速度。
[0003]而隨著多核處理器的發(fā)展,多核系統(tǒng)的應(yīng)用也變得越來(lái)越廣泛,多核處理器較傳統(tǒng)的單核處理器有著高性能、低功耗、易于編程的諸多優(yōu)勢(shì),因此,多核技術(shù)已成為嵌入式系統(tǒng)領(lǐng)域研究和應(yīng)用的熱點(diǎn)。在實(shí)時(shí)嵌入式操作系統(tǒng)中,對(duì)于多核間通信以及遠(yuǎn)程函數(shù)調(diào)用的效率與實(shí)效性要求是尤為重要的一個(gè)設(shè)計(jì)關(guān)鍵點(diǎn)。
[0004]公知的,一個(gè)運(yùn)行平臺(tái)上可以處理若干任務(wù),其處理任務(wù)的過(guò)程是通過(guò)執(zhí)行任務(wù)函數(shù)來(lái)完成的,其任務(wù)函數(shù)的調(diào)用則是通過(guò)該運(yùn)行平臺(tái)的控制系統(tǒng)來(lái)實(shí)現(xiàn)。然而,如果想要實(shí)現(xiàn)不同的運(yùn)行平臺(tái)之間的函數(shù)調(diào)用,達(dá)到多功能通訊的目的,由于各個(gè)函數(shù)調(diào)用的情況不同,如函數(shù)名不同、函數(shù)調(diào)用時(shí)是否需要參數(shù)、函數(shù)調(diào)用后是否返回結(jié)果等等。因此,發(fā)送平臺(tái)必須將這些信息全部發(fā)送到接收平臺(tái),才能在接收平臺(tái)上正確的實(shí)現(xiàn)函數(shù)調(diào)用,這樣就造成運(yùn)行平臺(tái)之間通訊的數(shù)據(jù)傳輸量大。并且,目前不同運(yùn)行平臺(tái)之間通訊的方法中,一般都是對(duì)于不同的任務(wù)或函數(shù),采用不同的通訊接口,因此隨著不同任務(wù)增多,通訊接口也必將隨著增加,增加了系統(tǒng)的負(fù)荷。
[0005]因此,對(duì)于多核處理器,采用任務(wù)迀移的方式,實(shí)現(xiàn)某一個(gè)核心上的任務(wù)在其它核心上的運(yùn)行,既要付出大量的數(shù)據(jù)處理所消耗的處理器性能成本,又要耗費(fèi)這一過(guò)程中所帶來(lái)的大量時(shí)間成本。

【發(fā)明內(nèi)容】

[0006]針對(duì)現(xiàn)有技術(shù)所存在的上述技術(shù)問(wèn)題,本發(fā)明提供了一種面向多核處理器的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,能夠滿足實(shí)時(shí)操作系統(tǒng)對(duì)遠(yuǎn)程核數(shù)調(diào)用實(shí)時(shí)性,高效率的要求,降低了以往遠(yuǎn)程核數(shù)調(diào)用所帶來(lái)的復(fù)雜性問(wèn)題。
[0007]—種面向多核處理器的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,包括如下步驟:
[0008](I)發(fā)起核通過(guò)查詢?nèi)蝿?wù)函數(shù)映射表,獲知其所要調(diào)用的任務(wù)函數(shù)具體位于哪個(gè)核的任務(wù)列表中,該核即為目的核;
[0009](2)發(fā)起核在本地生成請(qǐng)求報(bào)文,并將該報(bào)文寫入目的核的共享內(nèi)存單元區(qū)域,進(jìn)而通過(guò)觸發(fā)核間中斷的形式告知目的核已完成請(qǐng)求報(bào)文的寫操作;
[0010](3)目的核對(duì)核間中斷信息進(jìn)行解析,并讀取本地共享內(nèi)存單元區(qū)域中的請(qǐng)求報(bào)文,同樣以觸發(fā)核間中斷的形式告知發(fā)起核已完成請(qǐng)求報(bào)文的讀操作;
[0011](4)目的核根據(jù)請(qǐng)求報(bào)文將所要調(diào)用的任務(wù)函數(shù)狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài),進(jìn)而執(zhí)行該任務(wù)函數(shù)以生成結(jié)果數(shù)據(jù);
[0012](5)目的核在本地生成數(shù)據(jù)報(bào)文,并將該報(bào)文寫入發(fā)起核的共享內(nèi)存單元區(qū)域,進(jìn)而通過(guò)觸發(fā)核間中斷的形式告知發(fā)起核已完成數(shù)據(jù)報(bào)文的寫操作;
[0013](6)發(fā)起核對(duì)核間中斷信息進(jìn)行解析,并讀取本地共享內(nèi)存單元區(qū)域中的數(shù)據(jù)報(bào)文,同樣以觸發(fā)核間中斷的形式告知目的核已完成數(shù)據(jù)報(bào)文的讀操作。
[0014]所述的任務(wù)函數(shù)映射表包含每個(gè)任務(wù)函數(shù)及其所在核之間的映射關(guān)系。
[0015]所述的步驟(2)中,發(fā)起核將請(qǐng)求報(bào)文寫入目的核的共享內(nèi)存單元區(qū)域之前,需獲取目的核對(duì)應(yīng)共享內(nèi)存單元區(qū)域的讀寫自旋鎖。
[0016]所述的請(qǐng)求報(bào)文包括報(bào)文頭和報(bào)文體,報(bào)文頭指示報(bào)文的傳輸類型即任務(wù)函數(shù)調(diào)用,報(bào)文體包含所要調(diào)用任務(wù)函數(shù)的相關(guān)參數(shù)、操作守則以及在任務(wù)列表中的索引。
[0017]所述的步驟(2)中,發(fā)起核通過(guò)對(duì)目的核的核間中斷寄存器寫入相關(guān)控制信息,并觸發(fā)對(duì)目的核的核間中斷以告知目的核已完成請(qǐng)求報(bào)文的寫操作;所述的相關(guān)控制信息包括核間中斷類型、請(qǐng)求報(bào)文的長(zhǎng)度及其寫入共享內(nèi)存單元區(qū)域的具體位置以及發(fā)起核的序號(hào)。
[0018]所述的步驟(3)中,發(fā)起核收到目的核對(duì)其的核間中斷后,對(duì)核間中斷信息進(jìn)行解析,從而釋放所述的讀寫自旋鎖。
[0019]所述的步驟(5)中,目的核將數(shù)據(jù)報(bào)文寫入發(fā)起核的共享內(nèi)存單元區(qū)域之前,需獲取發(fā)起核對(duì)應(yīng)共享內(nèi)存單元區(qū)域的讀寫自旋鎖。
[0020]所述的數(shù)據(jù)報(bào)文包括報(bào)文頭和報(bào)文體,報(bào)文頭指示報(bào)文的傳輸類型即結(jié)果數(shù)據(jù)傳輸,報(bào)文體則包含具體結(jié)果數(shù)據(jù)。
[0021]所述的步驟(5)中,目的核通過(guò)對(duì)發(fā)起核的核間中斷寄存器寫入相關(guān)控制信息,并觸發(fā)對(duì)發(fā)起核的核間中斷以告知發(fā)起核已完成數(shù)據(jù)報(bào)文的寫操作;所述的相關(guān)控制信息包括核間中斷類型、數(shù)據(jù)報(bào)文的長(zhǎng)度及其寫入共享內(nèi)存單元區(qū)域的具體位置以及目的核的序號(hào)。
[0022]所述的步驟(6)中,目的核收到發(fā)起核對(duì)其的核間中斷后,對(duì)核間中斷信息進(jìn)行解析,從而釋放所述的讀寫自旋鎖。
[0023]本發(fā)明根據(jù)同構(gòu)多核的特點(diǎn)采用對(duì)稱通信的方法設(shè)計(jì)了一種面向多核處理器的核間遠(yuǎn)程任務(wù)函數(shù)調(diào)用方案,該調(diào)用方案為每個(gè)核分配了一塊稱為“郵箱”可供其他核心訪問(wèn)讀取數(shù)據(jù)的內(nèi)存空間,每個(gè)核可在屬于自己以及其他核的“郵箱”空間中進(jìn)行讀操作與寫操作,通過(guò)資源互斥鎖避免“郵箱”空間的競(jìng)爭(zhēng)讀寫訪問(wèn)。每個(gè)“郵箱”空間可以寫入若干個(gè)報(bào)文塊,每個(gè)報(bào)文塊包含了報(bào)文頭與報(bào)文體,報(bào)文頭包含了需要調(diào)用的函數(shù)在全局函數(shù)索引表的索引值,報(bào)文體包含了函數(shù)調(diào)用的相關(guān)參數(shù)以及需要傳輸?shù)臄?shù)據(jù)信息,當(dāng)報(bào)文已被寫入目標(biāo)“郵箱”空間后,遠(yuǎn)程調(diào)用發(fā)起核會(huì)通過(guò)發(fā)起核間中斷的方式通知目的核有新的報(bào)文到達(dá),目的核轉(zhuǎn)入核間中斷處理函數(shù)去解析報(bào)文中的函數(shù)調(diào)用索引值,并根據(jù)函數(shù)參數(shù)以及相關(guān)信息調(diào)用具體本地函數(shù),完成函數(shù)的遠(yuǎn)程調(diào)用過(guò)程。
[0024]由此可見(jiàn),本發(fā)明能夠滿足實(shí)時(shí)操作系統(tǒng)對(duì)遠(yuǎn)程核數(shù)調(diào)用實(shí)時(shí)性,高效率的要求,降低了以往遠(yuǎn)程核數(shù)調(diào)用所帶來(lái)的復(fù)雜性問(wèn)題。
【附圖說(shuō)明】
[0025]圖1為本發(fā)明遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法的系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026]為了更為具體地描述本發(fā)明,下面結(jié)合附圖及【具體實(shí)施方式】對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
[0027]本發(fā)明根據(jù)同構(gòu)多核的特點(diǎn)采用對(duì)稱通信的方法設(shè)計(jì)了一種應(yīng)用于同構(gòu)多核處理器的核間遠(yuǎn)程任務(wù)函數(shù)調(diào)用方案,以滿足實(shí)時(shí)操作系統(tǒng)對(duì)遠(yuǎn)程核數(shù)調(diào)用實(shí)時(shí)性,高效率的要求,降低了以往遠(yuǎn)程核數(shù)調(diào)用所帶來(lái)的復(fù)雜性問(wèn)題。
[0028]如圖1所示,本發(fā)明遠(yuǎn)程任務(wù)函數(shù)調(diào)用方案具體實(shí)現(xiàn)需包括:任務(wù)函數(shù)映射單元、核間通信單元、任務(wù)調(diào)度單元和任務(wù)函數(shù)映射單元;其中:
[0029]任務(wù)函數(shù)映射單元能夠通過(guò)查詢?nèi)蝿?wù)函數(shù)映射表,獲知目標(biāo)任務(wù)函數(shù)具體位于哪一個(gè)核心的本地任務(wù)列表中。
[0030]核間通信單元用于完成核與核之間的數(shù)據(jù)通信傳輸功能,保證發(fā)送核通信信息能夠到達(dá)目的核;核間通信單元的數(shù)據(jù)傳輸報(bào)文格式包括報(bào)文頭與報(bào)文體,報(bào)文頭指示數(shù)據(jù)傳輸類型,報(bào)文體包含了傳輸?shù)木唧w數(shù)據(jù)信息內(nèi)容。
[0031 ]任務(wù)調(diào)度單元用于管理任務(wù)狀態(tài),能夠激活任務(wù),使任務(wù)能夠被處理核心執(zhí)行,其能夠解析數(shù)據(jù)傳輸報(bào)文的報(bào)文頭與報(bào)文體,獲知需要執(zhí)行的對(duì)應(yīng)指令操作;能夠管理任務(wù)狀態(tài),將掛起狀態(tài)的任務(wù)激活,令其進(jìn)入就緒態(tài);使就緒態(tài)的任務(wù)搶占處理核心,令其進(jìn)入運(yùn)行態(tài);使運(yùn)行態(tài)任務(wù)結(jié)束運(yùn)行,令其進(jìn)入掛起態(tài);使運(yùn)行任務(wù)被其它任務(wù)搶占,令其進(jìn)入就緒態(tài)。
[0032]任務(wù)函數(shù)映射單元包括任務(wù)函數(shù)映射表,所有的任務(wù)在系統(tǒng)開(kāi)始運(yùn)行時(shí)已被靜態(tài)分配到每個(gè)核心的任務(wù)列表中,具體任務(wù)位于具體某個(gè)核心的映射關(guān)系可通過(guò)查詢公共的任務(wù)函數(shù)映射表獲知,任務(wù)在開(kāi)始運(yùn)行前處于運(yùn)行態(tài)、就緒態(tài)或者掛起態(tài),運(yùn)行態(tài)的任務(wù)正在被處理核心執(zhí)行,就緒態(tài)的任務(wù)已被激活隨時(shí)可以搶占處理核心執(zhí)行,掛起態(tài)的任務(wù)未被激活不可以被處理核心執(zhí)行。
[0033]其中,核間通信單元包括:
[0034]共享內(nèi)存模塊,每個(gè)核心可以訪問(wèn)該共享內(nèi)存單元區(qū)域,對(duì)共享內(nèi)存區(qū)域數(shù)據(jù)進(jìn)行自由讀寫。
[0035]自旋鎖管理模塊,通過(guò)對(duì)自旋鎖寫入特定值的方式完成不同核心對(duì)共享內(nèi)存單元的互斥訪問(wèn),保證同一時(shí)刻只有一個(gè)核心對(duì)內(nèi)存區(qū)域進(jìn)行數(shù)據(jù)讀寫操作,避免產(chǎn)生讀寫數(shù)據(jù)不一致現(xiàn)象。
[0036]核間中斷管理模塊,通過(guò)對(duì)核間中斷寄存器寫入控制信息數(shù)據(jù),產(chǎn)生目的核的核間中斷,令目的核進(jìn)入核間中斷處理服務(wù)函數(shù)去執(zhí)行相關(guān)指令操作。
[0037]本實(shí)例核間遠(yuǎn)程任務(wù)函數(shù)調(diào)用系統(tǒng)的具體工作過(guò)程如下:
[0038](I)對(duì)于系統(tǒng)內(nèi)的每個(gè)核心,核心都有自己獨(dú)有的任務(wù)函數(shù)列表,核心各自執(zhí)行任務(wù)函數(shù)列表內(nèi)的任務(wù)函數(shù);所有具體任務(wù)函數(shù)與核的映射關(guān)系,被存儲(chǔ)在公共的任務(wù)函數(shù)映射表中,每個(gè)核心都可以通過(guò)任務(wù)函數(shù)映射單元查詢?nèi)蝿?wù)函數(shù)映射表,獲知要遠(yuǎn)程調(diào)用的任務(wù)函數(shù)具體位于哪一個(gè)核心的任務(wù)列表內(nèi)。任務(wù)函數(shù)映射表包括了任務(wù)函數(shù)索引與核心序號(hào)的對(duì)應(yīng)關(guān)系。
[0039](2)當(dāng)一個(gè)核心需要調(diào)用并不位于本地任務(wù)函數(shù)列表的某個(gè)任務(wù)函數(shù)即發(fā)起遠(yuǎn)程函數(shù)調(diào)用時(shí),發(fā)起核心首先通過(guò)任務(wù)函數(shù)映射單元查詢公共的任務(wù)函數(shù)映射表,獲知具體遠(yuǎn)程任務(wù)函數(shù)所位于的目的核心序號(hào),并在發(fā)起核心本地構(gòu)造生成數(shù)據(jù)傳輸報(bào)文。數(shù)據(jù)傳輸報(bào)文結(jié)構(gòu)包括報(bào)文頭與報(bào)文體兩部分,其中的報(bào)文頭指示此次數(shù)據(jù)傳輸報(bào)文的屬性類型,數(shù)據(jù)傳輸報(bào)文的屬性類型包括但不僅限于遠(yuǎn)程函數(shù)調(diào)用和結(jié)果數(shù)據(jù)傳輸。報(bào)文體內(nèi)容包括但不僅限于具體遠(yuǎn)程任務(wù)函數(shù)的索引、函數(shù)調(diào)用參數(shù)、回調(diào)方式以及具體結(jié)果數(shù)據(jù)。當(dāng)需要發(fā)起遠(yuǎn)程任務(wù)函數(shù)調(diào)用時(shí),構(gòu)造生成的數(shù)據(jù)傳輸報(bào)文的報(bào)文頭應(yīng)該指示此次數(shù)據(jù)傳輸報(bào)文的屬性類型應(yīng)該是遠(yuǎn)程函數(shù)調(diào)用,報(bào)文體的內(nèi)容包含了具體調(diào)用的遠(yuǎn)程任務(wù)函數(shù)的映射索引值、函數(shù)調(diào)用參數(shù)以及回調(diào)方式。
[0040](3)之后遠(yuǎn)程任務(wù)函數(shù)調(diào)用的發(fā)起核心通過(guò)核間通信單元的自旋鎖管理模塊,獲取目的核心的共享內(nèi)存單元區(qū)域的讀寫自旋鎖,保證對(duì)于目的核心共享內(nèi)存區(qū)域的寫操作不會(huì)出現(xiàn)競(jìng)爭(zhēng)寫操作。當(dāng)發(fā)起核沒(méi)有獲取讀寫自旋鎖成功時(shí),發(fā)起核會(huì)不斷循環(huán)嘗試去獲取讀寫自旋鎖,直到成功獲取目的核心的共享內(nèi)存單元區(qū)域的讀寫自旋鎖,即可以對(duì)目的核心的共享內(nèi)存單元區(qū)域進(jìn)行讀寫操作。每個(gè)核心的共享內(nèi)存單元區(qū)域都有自己對(duì)應(yīng)的讀寫自旋鎖。
[0041](4)發(fā)起核心將在本地構(gòu)造生成的數(shù)據(jù)傳輸報(bào)文寫入目的核心的共享內(nèi)存單元區(qū)域。
[0042](5)發(fā)起核心通過(guò)對(duì)目的核心的核間中斷寄存器寫入相關(guān)控制信息數(shù)據(jù)的方式,觸發(fā)目的核心的核間中斷,控制信息數(shù)據(jù)的結(jié)構(gòu)包括了發(fā)起核心寫入目的核心共享內(nèi)存單元區(qū)域的數(shù)據(jù)傳輸報(bào)文的核間中斷類型、報(bào)文長(zhǎng)度信息、發(fā)起核心序號(hào)、共享內(nèi)存單元區(qū)域內(nèi)具體位置等信息。使目的核心獲知發(fā)起核已完成數(shù)據(jù)傳輸報(bào)文的寫操作并能夠通過(guò)解析控制信息數(shù)據(jù)獲知報(bào)文的長(zhǎng)度、位置、來(lái)源等控制信息。
[0043](6)目的核心因?yàn)橛|發(fā)核間中斷,進(jìn)入自身的核間中斷處理函數(shù)解析核心的中斷寄存器中的相關(guān)控制信息,從而讀取目的核心的共享內(nèi)存單元區(qū)域的數(shù)據(jù)傳輸報(bào)文至本地內(nèi)存空間。
[0044](7)目的核心通過(guò)對(duì)發(fā)起核心的核間中斷寄存器寫入相關(guān)控制信息數(shù)據(jù)的方式,觸發(fā)發(fā)起核心的核間中斷,控制信息數(shù)據(jù)的結(jié)構(gòu)包括了核間中斷類型為釋放讀寫自旋鎖中斷,目的核心序號(hào)。使發(fā)起核心獲知目的核已完成數(shù)據(jù)傳輸報(bào)文的讀操作并可以釋放發(fā)起核心獲取的目的核心的讀寫自旋鎖。
[0045](8)發(fā)起核心因?yàn)橛|發(fā)核間中斷,進(jìn)入自身的核間中斷處理函數(shù)解析核心的中斷寄存器中的相關(guān)控制信息,釋放發(fā)起核心獲取的目的核心的讀寫自旋鎖。
[0046](9)目的核心將數(shù)據(jù)傳輸報(bào)文交由任務(wù)調(diào)度單元解析,并將需要激活的遠(yuǎn)程函數(shù)任務(wù)狀態(tài)轉(zhuǎn)變?yōu)榫途w態(tài),當(dāng)不需要回調(diào)結(jié)果數(shù)據(jù)時(shí),就完成了一次遠(yuǎn)程函數(shù)調(diào)用過(guò)程。當(dāng)需要回調(diào)結(jié)果數(shù)據(jù)時(shí),則執(zhí)行下述步驟(10)?(16)操作。
[0047](10)目的核心本地構(gòu)造生成數(shù)據(jù)傳輸報(bào)文。其中報(bào)文頭指示此次數(shù)據(jù)傳輸報(bào)文的屬性類型是結(jié)果數(shù)據(jù)傳輸。報(bào)文體內(nèi)容包含具體結(jié)果數(shù)據(jù)。
[0048](11)之后目的核心通過(guò)核間通信單元的自旋鎖管理模塊,獲取發(fā)起核心的共享內(nèi)存單元區(qū)域的讀寫自旋鎖,保證對(duì)于發(fā)起核心共享內(nèi)存區(qū)域的寫操作不會(huì)出現(xiàn)競(jìng)爭(zhēng)寫操作。當(dāng)目的核沒(méi)有獲取讀寫自旋鎖成功時(shí),目的核會(huì)不斷循環(huán)嘗試去獲取讀寫自旋鎖,直到成功獲取發(fā)起核心的共享內(nèi)存單元區(qū)域的讀寫自旋鎖,即可以對(duì)發(fā)起核心的共享內(nèi)存單元區(qū)域進(jìn)行讀寫操作。
[0049](12)目的核心將在本地構(gòu)造生成的數(shù)據(jù)傳輸報(bào)文寫入發(fā)起核心的共享內(nèi)存單元區(qū)域。
[0050](13)目的核心通過(guò)對(duì)目的核心的核間中斷寄存器寫入相關(guān)控制信息數(shù)據(jù)的方式,觸發(fā)發(fā)起核心的核間中斷,控制信息數(shù)據(jù)的結(jié)構(gòu)包括了發(fā)目的核心寫入發(fā)起核心共享內(nèi)存單元區(qū)域的數(shù)據(jù)傳輸報(bào)文的核間中斷類型為結(jié)果數(shù)據(jù)傳輸、報(bào)文長(zhǎng)度信息、目的核心序號(hào)、共享內(nèi)存單元區(qū)域內(nèi)具體位置等信息。使發(fā)起核心獲知目的核已完成數(shù)據(jù)傳輸報(bào)文的寫操作并能夠通過(guò)解析控制信息數(shù)據(jù)獲知報(bào)文的長(zhǎng)度、位置、來(lái)源等控制信息。
[0051](14)發(fā)起核心因?yàn)橛|發(fā)核間中斷,進(jìn)入自身的核間中斷處理函數(shù)解析核心的中斷寄存器中的相關(guān)控制信息,從而讀取發(fā)起核心的共享內(nèi)存單元區(qū)域的數(shù)據(jù)傳輸報(bào)文至本地內(nèi)存空間。
[0052](15)發(fā)起核心通過(guò)對(duì)目的核心的核間中斷寄存器寫入相關(guān)控制信息數(shù)據(jù)的方式,觸發(fā)目的核心的核間中斷,控制信息數(shù)據(jù)的結(jié)構(gòu)包括了核間中斷類型為釋放讀寫自旋鎖中斷,發(fā)起核心序號(hào)。使目的核心獲知目的核已完成數(shù)據(jù)傳輸報(bào)文的讀操作并可以釋放目的核心獲取的發(fā)起核心的讀寫自旋鎖。
[0053](16)目的核心因?yàn)橛|發(fā)核間中斷,進(jìn)入自身的核間中斷處理函數(shù)解析核心的中斷寄存器中的相關(guān)控制信息,釋放目的核心獲取的發(fā)起核心的讀寫自旋鎖,就完成了一次傳輸結(jié)果數(shù)據(jù)的遠(yuǎn)程函數(shù)調(diào)用過(guò)程。
[0054]上述的對(duì)實(shí)施例的描述是為便于本技術(shù)領(lǐng)域的普通技術(shù)人員能理解和應(yīng)用本發(fā)明。熟悉本領(lǐng)域技術(shù)的人員顯然可以容易地對(duì)上述實(shí)施例做出各種修改,并把在此說(shuō)明的一般原理應(yīng)用到其他實(shí)施例中而不必經(jīng)過(guò)創(chuàng)造性的勞動(dòng)。因此,本發(fā)明不限于上述實(shí)施例,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的揭示,對(duì)于本發(fā)明做出的改進(jìn)和修改都應(yīng)該在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種面向多核處理器的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,包括如下步驟: (1)發(fā)起核通過(guò)查詢?nèi)蝿?wù)函數(shù)映射表,獲知其所要調(diào)用的任務(wù)函數(shù)具體位于哪個(gè)核的任務(wù)列表中,該核即為目的核; (2)發(fā)起核在本地生成請(qǐng)求報(bào)文,并將該報(bào)文寫入目的核的共享內(nèi)存單元區(qū)域,進(jìn)而通過(guò)觸發(fā)核間中斷的形式告知目的核已完成請(qǐng)求報(bào)文的寫操作; (3)目的核對(duì)核間中斷信息進(jìn)行解析,并讀取本地共享內(nèi)存單元區(qū)域中的請(qǐng)求報(bào)文,同樣以觸發(fā)核間中斷的形式告知發(fā)起核已完成請(qǐng)求報(bào)文的讀操作; (4)目的核根據(jù)請(qǐng)求報(bào)文將所要調(diào)用的任務(wù)函數(shù)狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài),進(jìn)而執(zhí)行該任務(wù)函數(shù)以生成結(jié)果數(shù)據(jù); (5)目的核在本地生成數(shù)據(jù)報(bào)文,并將該報(bào)文寫入發(fā)起核的共享內(nèi)存單元區(qū)域,進(jìn)而通過(guò)觸發(fā)核間中斷的形式告知發(fā)起核已完成數(shù)據(jù)報(bào)文的寫操作; (6)發(fā)起核對(duì)核間中斷信息進(jìn)行解析,并讀取本地共享內(nèi)存單元區(qū)域中的數(shù)據(jù)報(bào)文,同樣以觸發(fā)核間中斷的形式告知目的核已完成數(shù)據(jù)報(bào)文的讀操作。2.根據(jù)權(quán)利要求1所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的任務(wù)函數(shù)映射表包含每個(gè)任務(wù)函數(shù)及其所在核之間的映射關(guān)系。3.根據(jù)權(quán)利要求1所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的步驟(2)中,發(fā)起核將請(qǐng)求報(bào)文寫入目的核的共享內(nèi)存單元區(qū)域之前,需獲取目的核對(duì)應(yīng)共享內(nèi)存單元區(qū)域的讀寫自旋鎖。4.根據(jù)權(quán)利要求1所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的請(qǐng)求報(bào)文包括報(bào)文頭和報(bào)文體,報(bào)文頭指示報(bào)文的傳輸類型即任務(wù)函數(shù)調(diào)用,報(bào)文體包含所要調(diào)用任務(wù)函數(shù)的相關(guān)參數(shù)、操作守則以及在任務(wù)列表中的索引。5.根據(jù)權(quán)利要求1所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的步驟(2)中,發(fā)起核通過(guò)對(duì)目的核的核間中斷寄存器寫入相關(guān)控制信息,并觸發(fā)對(duì)目的核的核間中斷以告知目的核已完成請(qǐng)求報(bào)文的寫操作;所述的相關(guān)控制信息包括核間中斷類型、請(qǐng)求報(bào)文的長(zhǎng)度及其寫入共享內(nèi)存單元區(qū)域的具體位置以及發(fā)起核的序號(hào)。6.根據(jù)權(quán)利要求3所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的步驟(3)中,發(fā)起核收到目的核對(duì)其的核間中斷后,對(duì)核間中斷信息進(jìn)行解析,從而釋放所述的讀寫自旋鎖。7.根據(jù)權(quán)利要求1所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的步驟(5)中,目的核將數(shù)據(jù)報(bào)文寫入發(fā)起核的共享內(nèi)存單元區(qū)域之前,需獲取發(fā)起核對(duì)應(yīng)共享內(nèi)存單元區(qū)域的讀寫自旋鎖。8.根據(jù)權(quán)利要求1所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的數(shù)據(jù)報(bào)文包括報(bào)文頭和報(bào)文體,報(bào)文頭指示報(bào)文的傳輸類型即結(jié)果數(shù)據(jù)傳輸,報(bào)文體則包含具體結(jié)果數(shù)據(jù)。9.根據(jù)權(quán)利要求1所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的步驟(5)中,目的核通過(guò)對(duì)發(fā)起核的核間中斷寄存器寫入相關(guān)控制信息,并觸發(fā)對(duì)發(fā)起核的核間中斷以告知發(fā)起核已完成數(shù)據(jù)報(bào)文的寫操作;所述的相關(guān)控制信息包括核間中斷類型、數(shù)據(jù)報(bào)文的長(zhǎng)度及其寫入共享內(nèi)存單元區(qū)域的具體位置以及目的核的序號(hào)。10.根據(jù)權(quán)利要求7所述的遠(yuǎn)程任務(wù)函數(shù)調(diào)用方法,其特征在于:所述的步驟(6)中,目的核收到發(fā)起核對(duì)其的核間中斷后,對(duì)核間中斷信息進(jìn)行解析,從而釋放所述的讀寫自旋鎖。
【文檔編號(hào)】G06F15/167GK105893320SQ201610187435
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月29日
【發(fā)明人】李紅, 楊國(guó)青, 姜俊, 劉繼周, 吳朝暉
【申請(qǐng)人】浙江大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
桓台县| 云龙县| 安图县| 峡江县| 呼和浩特市| 邻水| 藁城市| 桑植县| 蓝田县| 松溪县| 桃园市| 通州市| 淮阳县| 安阳市| 股票| 曲水县| 西丰县| 太保市| 望城县| 东兴市| 华阴市| 平陆县| 寿阳县| 沧源| 旬邑县| 昭平县| 吉林省| 西昌市| 通化县| 鄱阳县| 青海省| 库尔勒市| 五大连池市| 屯门区| 昭苏县| 西青区| 克拉玛依市| 祁东县| 济源市| 孟州市| 辽宁省|