本發(fā)明專利技術(shù)提供了一種基于事件驅(qū)動(dòng)的數(shù)據(jù)聯(lián)動(dòng)方法,用于X86架構(gòu)下的第一平臺(tái)、FPGA架構(gòu)下的第二平臺(tái)的數(shù)據(jù)交互,所述第二平臺(tái)存儲(chǔ)共享信息,該方法包括:判斷所接收的事件的來源是第一平臺(tái)還是第二平臺(tái);在所接收的事件是來自第二平臺(tái)時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理;在所接收到的事件是來自第一平臺(tái)的至少包括對(duì)第一平臺(tái)的數(shù)據(jù)包進(jìn)行邏輯運(yùn)算處理后得到的共享信息操作指令的信息時(shí),向所述第一平臺(tái)返回共享信息操作指令完成消息,同時(shí)向所述第二平臺(tái)轉(zhuǎn)發(fā)該共享信息操作指令,以在所述第二平臺(tái)完成該共享信息操作。利用該方法,可確保第一平臺(tái)同步獲取數(shù)據(jù)而無需等待第二平臺(tái)的反饋,從而縮短第一平臺(tái)的處理時(shí)間。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及數(shù)據(jù)處理領(lǐng)域,更為具體地,涉及一種異構(gòu)平臺(tái)間基于事件驅(qū)動(dòng)的數(shù)據(jù)聯(lián)動(dòng)方法和裝置。
技術(shù)介紹
FPGA(Field-programmable gate array),即現(xiàn)場(chǎng)可編程門陣列,作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn),由于FPGA具備良好的性能指標(biāo)以及一定的可編程能力并且功耗和成本也相對(duì)較低,被廣泛應(yīng)用在通信、數(shù)據(jù)處理、網(wǎng)絡(luò)、儀器、工業(yè)控制、軍事和航空等眾多領(lǐng)域。但FPGA在控制成本的前提下,通常不能實(shí)現(xiàn)過于復(fù)雜的運(yùn)算邏輯。在進(jìn)行數(shù)據(jù)處理時(shí),X86架構(gòu)平臺(tái)的優(yōu)勢(shì)在于具備很強(qiáng)的可擴(kuò)展性,也就是運(yùn)行在 X86架構(gòu)平臺(tái)上的軟件能支持很復(fù)雜的運(yùn)算邏輯,但X86架構(gòu)平臺(tái)的運(yùn)算能力通常不會(huì)很高,從而限制其向高端市場(chǎng)發(fā)展。鑒于上述兩種異構(gòu)平臺(tái)的各自特點(diǎn),現(xiàn)有技術(shù)中提出了一種兩種異構(gòu)平臺(tái)結(jié)合的架構(gòu)體系FPGA+X86結(jié)合的架構(gòu)體系。圖I示出了在現(xiàn)有的FPGA+X86結(jié)合的架構(gòu)體系中,兩種異構(gòu)平臺(tái)間數(shù)據(jù)交互的體系圖。如圖I所示,在該體系中,X86平臺(tái)的邏輯處理必須在獲得共享信息的基礎(chǔ)上,才能繼續(xù)進(jìn)行,由此兩種異構(gòu)平臺(tái)間的數(shù)據(jù)交互需要同步。這部分共享信息在大多數(shù)轉(zhuǎn)發(fā)下是FPGA使用,跨平臺(tái)查詢信息越少發(fā)生,對(duì)整體性能影響越小。為此,數(shù)據(jù)集通常存放在FPGA上。在這種情況下,X86系統(tǒng)何時(shí)需要該部分?jǐn)?shù)據(jù)FPGA并不知曉,因此大部分?jǐn)?shù)據(jù)的獲取都是由X86系統(tǒng)發(fā)起的。現(xiàn)有的X86系統(tǒng)和FPGA之間的同步數(shù)據(jù)交互過程如下X86系統(tǒng)通過中斷異常發(fā)起操作指令,F(xiàn)PGA對(duì)該操作指令進(jìn)行響應(yīng),并且執(zhí)行該操作指令,最終FPGA將操作的執(zhí)行結(jié)果返回給X86系統(tǒng)。此后,X86系統(tǒng)才能繼續(xù)進(jìn)行后續(xù)復(fù)雜邏輯的處理。然而,由于這個(gè)邏輯路徑非常長(zhǎng),導(dǎo)致非常損耗整個(gè)系統(tǒng)的性能。因此,在FPGA+X86結(jié)合的架構(gòu)體系中,如何高效處理兩個(gè)異構(gòu)平臺(tái)間關(guān)聯(lián)數(shù)據(jù)的同步,以保證兩個(gè)體系中共享數(shù)據(jù)集的一致性,是FPGA+X86結(jié)合的架構(gòu)體系的關(guān)鍵技術(shù),也是當(dāng)前困擾該架構(gòu)體系的技術(shù)瓶頸。
技術(shù)實(shí)現(xiàn)思路
鑒于上述,本專利技術(shù)的目的在于提供一種異構(gòu)平臺(tái)間的基于事件驅(qū)動(dòng)的數(shù)據(jù)聯(lián)動(dòng)方法及裝置,該方法及裝置能夠確保X86架構(gòu)下的第一平臺(tái)(即,X86架構(gòu)平臺(tái))同步獲取數(shù)據(jù)而無需等待FPGA架構(gòu)下的第二平臺(tái)(B卩,F(xiàn)PGA架構(gòu)平臺(tái))的反饋,從而縮短第一平臺(tái)的處理時(shí)間。根據(jù)本專利技術(shù)的一個(gè)方面,提供了一種基于事件驅(qū)動(dòng)的數(shù)據(jù)聯(lián)動(dòng)方法,用于X86架構(gòu)下的第一平臺(tái)、FPGA架構(gòu)下的第二平臺(tái)的數(shù)據(jù)交互,所述第二平臺(tái)存儲(chǔ)共享信息,該方法由所述第一平臺(tái)中的數(shù)據(jù)聯(lián)動(dòng)模塊執(zhí)行,該數(shù)據(jù)聯(lián)動(dòng)模塊包括用于存儲(chǔ)共享信息副本的對(duì)應(yīng)緩存器,所述方法包括判斷所接收的事件的來源是第一平臺(tái)還是第二平臺(tái);在所接收的事件是來自第二平臺(tái)時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理;在所接收到的事件是來自第一平臺(tái)的至少包括對(duì)第一平臺(tái)的數(shù)據(jù)包進(jìn)行邏輯運(yùn)算處理后得到的共享信息操作指令的信息時(shí),向所述第一平臺(tái)返回共享信息操作指令完成消息,同時(shí)向所述第二平臺(tái)轉(zhuǎn)發(fā)該共享信息操作指令,以在所述第二平臺(tái)完成該共享信息操作。在上述方面的一個(gè)或多個(gè)示例中,所述方法還可以包括在第二平臺(tái)完成該共享信息操作后,根據(jù)第二平臺(tái)返回的共享信息操作結(jié)果,對(duì)第一平臺(tái)的對(duì)應(yīng)緩存器中的共享信息副本進(jìn)行同步處理。在上述方面的一個(gè)或多個(gè)示例中,在所接收的事件是來自第二平臺(tái)時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理可以包括在所接收的事件是來自第二平臺(tái)時(shí),在所述共享信息副本的對(duì)應(yīng)緩存器中查找是否存在針對(duì)來自第二平臺(tái)的數(shù)據(jù) 包的共享信息副本;在存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本時(shí),更新該共享信息副本的老化超時(shí)時(shí)間,并將該數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理,或者在不存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本時(shí),將該數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理。在上述方面的一個(gè)或多個(gè)示例中,在不存在共享信息副本時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理可以包括在不存在共享信息副本時(shí),查詢從第二平臺(tái)接收的事件中是否包含指示第二平臺(tái)的共享信息全集中存在針對(duì)該數(shù)據(jù)包的共享信息的標(biāo)記;以及在所接收的事件中存在指示所述第二平臺(tái)的共享信息全集中存在針對(duì)該數(shù)據(jù)包括的共享信息的標(biāo)記時(shí),將該數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理,同時(shí)從第二平臺(tái)獲取該共享信息并存儲(chǔ)到所述共享信息副本的對(duì)應(yīng)緩存器中,或者在所接收的事件中不存在指示所述第二平臺(tái)的共享信息全集中存在針對(duì)該數(shù)據(jù)包括的共享信息的標(biāo)記時(shí),將該數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理。在上述方面的一個(gè)或多個(gè)示例中,所述共享信息操作指令包括共享信息創(chuàng)建、共享信息更新、共享信息刪除和/或該事件關(guān)聯(lián)的共享信息副本查找。在上述方面的一個(gè)或多個(gè)示例中,所述方法還可以包括遍歷所述第一平臺(tái)的對(duì)應(yīng)緩存器中的共享信息副本,對(duì)共享信息副本進(jìn)行老化超時(shí)處理,其中,在共享信息副本的老化超時(shí)時(shí)間已經(jīng)期滿時(shí),從所述對(duì)應(yīng)緩存器中刪除該共享信息副本。在上述方面的一個(gè)或多個(gè)不例中,所述共享信息是會(huì)話表、路由表,權(quán)限表或策略表。根據(jù)本專利技術(shù)的另一方面,提供了一種基于事件驅(qū)動(dòng)的數(shù)據(jù)聯(lián)動(dòng)裝置,用于X86架構(gòu)下的第一平臺(tái)、FPGA架構(gòu)下的第二平臺(tái)的數(shù)據(jù)交互,所述第二平臺(tái)存儲(chǔ)共享信息,該數(shù)據(jù)聯(lián)動(dòng)裝置包括緩存器,用于存儲(chǔ)共享信息副本;判斷單元,用于判斷所接收的事件的來源是第一平臺(tái)還是第二平臺(tái);事件處理單元,用于在所述判斷單元判斷為所接收的事件是來自第二平臺(tái)時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行運(yùn)算邏輯處理,或者在所接收到的信息是來自第一平臺(tái)的至少包括對(duì)所述第一平臺(tái)的數(shù)據(jù)包進(jìn)行運(yùn)算邏輯處理后得到的共享信息操作指令的信息時(shí),向所述第一平臺(tái)返回共享信息操作指令完成消息,同時(shí)向所述第二平臺(tái)轉(zhuǎn)發(fā)該共享信息操作指令,以在所述第二平臺(tái)完成該共享信息操作。在上述方面的一個(gè)或多個(gè)示例中,所述數(shù)據(jù)聯(lián)動(dòng)裝置還可以包括共享信息副本同步單元,用于在第二平臺(tái)完成該共享信息操作后,根據(jù)第二平臺(tái)返回的共享信息操作結(jié)果,對(duì)所述緩存器中的共享信息副本進(jìn)行同步處理。在上述方面的一個(gè)或多個(gè)示例中,所述事件處理單元可以包括共享信息副本查找模塊,用于在所接收的事件是來自所述第二平臺(tái)時(shí),在所述緩存器中查找是否存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本;以及更新模塊,用于在存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本時(shí),更新該共享信息副本的老化超時(shí)時(shí)間。在上述方面的一個(gè)或多個(gè)示例中,所述事件處理單元可以包括標(biāo)記查詢模塊,用于在不存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本時(shí),查詢從第二平臺(tái)接收的事件中是否包含指示第二平臺(tái)的共享信息全集中存在針對(duì)該數(shù)據(jù)包的共享信息的標(biāo)記;共享信息獲取模塊,用于在從第二平臺(tái)接收的事件中存在指示第二平臺(tái)的共享信息全集中存在針對(duì)該數(shù)據(jù)包的共享信息的標(biāo)記時(shí),從第二平臺(tái)獲取該共享信息;以及共享信息存儲(chǔ)模塊,用于 將所獲取的共享信息存儲(chǔ)到所述緩存器中。在這種情況下,所述事件處理單元還被配置為無論標(biāo)記查詢模塊是否查詢到所述標(biāo)記,都將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行運(yùn)算邏輯處理。在上述方面的一個(gè)或多個(gè)示例中,所述數(shù)據(jù)聯(lián)動(dòng)裝置還可以包括老化超時(shí)處理單元,用于遍歷所述緩存器中的共享信息副本,對(duì)共享信息副本進(jìn)行老化超時(shí)處理,其中,在共享信息副本的老化超時(shí)時(shí)本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種基于事件驅(qū)動(dòng)的數(shù)據(jù)聯(lián)動(dòng)方法,用于X86架構(gòu)下的第一平臺(tái)、FPGA架構(gòu)下的第二平臺(tái)的數(shù)據(jù)交互,所述第二平臺(tái)存儲(chǔ)共享信息,該方法由所述第一平臺(tái)中的數(shù)據(jù)聯(lián)動(dòng)模塊執(zhí)行,該數(shù)據(jù)聯(lián)動(dòng)模塊包括用于存儲(chǔ)共享信息副本的對(duì)應(yīng)緩存器,所述方法包括:判斷所接收的事件的來源是第一平臺(tái)還是第二平臺(tái);在所接收的事件是來自第二平臺(tái)時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理;在所接收到的事件是來自第一平臺(tái)的至少包括對(duì)第一平臺(tái)的數(shù)據(jù)包進(jìn)行邏輯運(yùn)算處理后得到的共享信息操作指令的信息時(shí),向所述第一平臺(tái)返回共享信息操作指令完成消息,同時(shí)向所述第二平臺(tái)轉(zhuǎn)發(fā)該共享信息操作指令,以在所述第二平臺(tái)完成該共享信息操作。
【技術(shù)特征摘要】
1.一種基于事件驅(qū)動(dòng)的數(shù)據(jù)聯(lián)動(dòng)方法,用于X86架構(gòu)下的第一平臺(tái)、FPGA架構(gòu)下的第二平臺(tái)的數(shù)據(jù)交互,所述第二平臺(tái)存儲(chǔ)共享信息,該方法由所述第一平臺(tái)中的數(shù)據(jù)聯(lián)動(dòng)模塊執(zhí)行,該數(shù)據(jù)聯(lián)動(dòng)模塊包括用于存儲(chǔ)共享信息副本的對(duì)應(yīng)緩存器,所述方法包括 判斷所接收的事件的來源是第一平臺(tái)還是第二平臺(tái); 在所接收的事件是來自第二平臺(tái)時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理; 在所接收到的事件是來自第一平臺(tái)的至少包括對(duì)第一平臺(tái)的數(shù)據(jù)包進(jìn)行邏輯運(yùn)算處理后得到的共享信息操作指令的信息時(shí),向所述第一平臺(tái)返回共享信息操作指令完成消息,同時(shí)向所述第二平臺(tái)轉(zhuǎn)發(fā)該共享信息操作指令,以在所述第二平臺(tái)完成該共享信息操作。2.如權(quán)利要求I所述的方法,還包括在第二平臺(tái)完成該共享信息操作后,根據(jù)第二平臺(tái)返回的共享信息操作結(jié)果,對(duì)第一平臺(tái)的對(duì)應(yīng)緩存器中的共享信息副本進(jìn)行同步處理。3.如權(quán)利要求I所述的方法,其中,在所接收的事件是來自第二平臺(tái)時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理包括 在所接收的事件是來自第二平臺(tái)時(shí),在所述共享信息副本的對(duì)應(yīng)緩存器中查找是否存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本; 在存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本時(shí),更新該共享信息副本的老化超時(shí)時(shí)間,并將該數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理,或者, 在不存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本時(shí),將該數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理。4.如權(quán)利要求3所述的方法,其中,在不存在共享信息副本時(shí),將來自第二平臺(tái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理包括 在不存在針對(duì)來自第二平臺(tái)的數(shù)據(jù)包的共享信息副本時(shí),查詢從第二平臺(tái)接收的事件中是否包含指示第二平臺(tái)的共享信息全集中存在針對(duì)該數(shù)據(jù)包的共享信息的標(biāo)記;以及 在所接收的事件中存在指示所述第二平臺(tái)的共享信息全集中存在針對(duì)該數(shù)據(jù)包括的共享信息的標(biāo)記時(shí),將該數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理,同時(shí)從第二平臺(tái)獲取該共享信息并存儲(chǔ)到所述共享信息副本的對(duì)應(yīng)緩存器中,或者 在所接收的事件中不存在指示所述第二平臺(tái)的共享信息全集中存在針對(duì)該數(shù)據(jù)包括的共享信息的標(biāo)記時(shí),將該數(shù)據(jù)包轉(zhuǎn)發(fā)到第一平臺(tái)進(jìn)行邏輯運(yùn)算處理。5.如權(quán)利要求I所述的方法,其中,所述共享信息操作指令包括共享信息創(chuàng)建、共享信息更新、共享信息刪除和/或該事件關(guān)聯(lián)的共享信息副本查找。6.如權(quán)利要求I所述的方法,還包括 遍歷所述第一平臺(tái)的對(duì)應(yīng)緩存器中的共享信息副本,對(duì)共享信...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳靜相,魯杰,王書義,
申請(qǐng)(專利權(quán))人:東軟集團(tuán)股份有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。