[發(fā)明專利]一種數(shù)據(jù)信息排序方法、CPU端、FPGA端及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201710607627.7 | 申請日: | 2017-07-24 |
| 公開(公告)號: | CN107391088B | 公開(公告)日: | 2021-03-02 |
| 發(fā)明(設(shè)計(jì))人: | 李雪雷 | 申請(專利權(quán))人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F15/78 |
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 羅滿 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 信息 排序 方法 cpu fpga 系統(tǒng) | ||
1.一種數(shù)據(jù)信息排序方法,其特征在于,包括:
CPU端執(zhí)行從快速排序算法中分離出來的主程序算法;其中,所述CPU端執(zhí)行主程序算法的過程,包括將待排序數(shù)據(jù)集傳遞到FPGA端,并向FPGA端發(fā)送排序啟動控制命令;
所述FPGA端在獲取到所述排序啟動控制命令后,執(zhí)行從所述快速排序算法中分離出來的kernel程序算法,以對所述待排序數(shù)據(jù)集進(jìn)行排序處理,得到相應(yīng)的排序結(jié)果;
其中,所述CPU端將待排序數(shù)據(jù)集傳遞到FPGA端,包括:在所述FPGA端上創(chuàng)建目標(biāo)緩存;將所述待排序數(shù)據(jù)集發(fā)送至所述目標(biāo)緩存;所述對所述待排序數(shù)據(jù)集進(jìn)行排序處理,包括:S11:對待排序數(shù)據(jù)集進(jìn)行排序處理,并將本次排序結(jié)果保存至所述FPGA端的所述目標(biāo)緩存中;S12:將步驟S11中的排序結(jié)果作為新的待排序數(shù)據(jù)集,并進(jìn)入步驟S11,直到步驟S11的執(zhí)行次數(shù)等于預(yù)設(shè)次數(shù)閾值為止;
其中,所述對待排序數(shù)據(jù)集進(jìn)行排序處理,并將本次排序結(jié)果保存至所述FPGA端的所述目標(biāo)緩存中的過程,包括:將待排序數(shù)據(jù)集中的第一個數(shù)據(jù)設(shè)為軸點(diǎn);將待排序數(shù)據(jù)集的目標(biāo)剩余數(shù)據(jù)依次寫入所述目標(biāo)緩存,然后將所述第一個數(shù)據(jù)寫入所述目標(biāo)緩存的最后一個空缺位置,以實(shí)現(xiàn)對待排序數(shù)據(jù)集的排序處理并對排序結(jié)果進(jìn)行存儲;其中,所述目標(biāo)剩余數(shù)據(jù)為當(dāng)前待排序數(shù)據(jù)集中除所述第一個數(shù)據(jù)之外的數(shù)據(jù);
并且,任意相鄰兩次排序處理對應(yīng)的排序結(jié)果分別保存在所述目標(biāo)緩存的第一緩存區(qū)和第二緩存區(qū);其中所述第一緩存區(qū)和第二緩存區(qū)為所述目標(biāo)緩存上兩個大小相同的存儲區(qū)域。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述得到相應(yīng)的排序結(jié)果之后,還包括:
所述FPGA端將所述排序結(jié)果保存至所述目標(biāo)緩存,并向所述CPU端發(fā)送排序完畢指示信號;
所述CPU端接收到所述排序完畢指示信號之后,從所述目標(biāo)緩存中讀取出所述排序結(jié)果。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將待排序數(shù)據(jù)集的目標(biāo)剩余數(shù)據(jù)依次寫入所述目標(biāo)緩存的過程,包括:
S21:從所述目標(biāo)剩余數(shù)據(jù)中取出一個未寫入的數(shù)據(jù),得到當(dāng)前待寫入數(shù)據(jù);
S22:判斷當(dāng)前待寫入數(shù)據(jù)是否大于所述第一個數(shù)據(jù),如果是,則通過第一channel將當(dāng)前待寫入數(shù)據(jù)寫入第一片上緩存,如果否,則通過第二channel將當(dāng)前待寫入數(shù)據(jù)寫入第二片上緩存;
S23:重新進(jìn)入步驟S21,直到所述第一片上緩存和所述第二片上緩存中保存的全部數(shù)據(jù)的數(shù)據(jù)量等于第二預(yù)設(shè)數(shù)據(jù)量閾值為止;
S24:將所述第一片上緩存中保存的數(shù)據(jù)從一側(cè)依次批量寫入所述目標(biāo)緩存,將所述第二片上緩存中保存的數(shù)據(jù)值從另一側(cè)依次批量寫入所述目標(biāo)緩存。
4.一種CPU端,其特征在于,包括:
主程序執(zhí)行模塊,用于執(zhí)行從快速排序算法中分離出來的主程序算法;
所述主程序執(zhí)行模塊,包括:
數(shù)據(jù)傳遞子模塊,用于將待排序數(shù)據(jù)集傳遞到FPGA端;
命令發(fā)送子模塊,用于向所述FPGA端發(fā)送排序啟動控制命令,以控制所述FPGA端執(zhí)行從所述快速排序算法中分離出來的kernel程序算法;
其中,所述FPGA端對所述待排序數(shù)據(jù)集進(jìn)行排序處理,得到排序結(jié)果;
所述數(shù)據(jù)傳遞子模塊,包括:緩存創(chuàng)建單元,用于在所述FPGA端上創(chuàng)建目標(biāo)緩存;數(shù)據(jù)傳輸單元,用于將所述待排序數(shù)據(jù)集發(fā)送至所述目標(biāo)緩存;
所述FPGA端對所述待排序數(shù)據(jù)集進(jìn)行排序處理,包括:S11:對待排序數(shù)據(jù)集進(jìn)行排序處理,并將本次排序結(jié)果保存至所述FPGA端的所述目標(biāo)緩存中;S12:將步驟S11中的排序結(jié)果作為新的待排序數(shù)據(jù)集,并進(jìn)入步驟S11,直到步驟S11的執(zhí)行次數(shù)等于預(yù)設(shè)次數(shù)閾值為止;其中,所述對待排序數(shù)據(jù)集進(jìn)行排序處理,并將本次排序結(jié)果保存至所述FPGA端的所述目標(biāo)緩存中的過程,包括:將待排序數(shù)據(jù)集中的第一個數(shù)據(jù)設(shè)為軸點(diǎn);將待排序數(shù)據(jù)集的目標(biāo)剩余數(shù)據(jù)依次寫入所述目標(biāo)緩存,然后將所述第一個數(shù)據(jù)寫入所述目標(biāo)緩存的最后一個空缺位置,以實(shí)現(xiàn)對待排序數(shù)據(jù)集的排序處理并對排序結(jié)果進(jìn)行存儲;其中,所述目標(biāo)剩余數(shù)據(jù)為當(dāng)前待排序數(shù)據(jù)集中除所述第一個數(shù)據(jù)之外的數(shù)據(jù);并且,任意相鄰兩次排序處理對應(yīng)的排序結(jié)果分別保存在所述目標(biāo)緩存的第一緩存區(qū)和第二緩存區(qū);其中所述第一緩存區(qū)和第二緩存區(qū)為所述目標(biāo)緩存上兩個大小相同的存儲區(qū)域。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蘇州浪潮智能科技有限公司,未經(jīng)蘇州浪潮智能科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710607627.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 信息記錄介質(zhì)、信息記錄方法、信息記錄設(shè)備、信息再現(xiàn)方法和信息再現(xiàn)設(shè)備
- 信息記錄裝置、信息記錄方法、信息記錄介質(zhì)、信息復(fù)制裝置和信息復(fù)制方法
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄設(shè)備、信息重放設(shè)備、信息記錄方法、信息重放方法、以及信息記錄介質(zhì)
- 信息存儲介質(zhì)、信息記錄方法、信息重放方法、信息記錄設(shè)備、以及信息重放設(shè)備
- 信息存儲介質(zhì)、信息記錄方法、信息回放方法、信息記錄設(shè)備和信息回放設(shè)備
- 信息記錄介質(zhì)、信息記錄方法、信息記錄裝置、信息再現(xiàn)方法和信息再現(xiàn)裝置
- 信息終端,信息終端的信息呈現(xiàn)方法和信息呈現(xiàn)程序
- 信息創(chuàng)建、信息發(fā)送方法及信息創(chuàng)建、信息發(fā)送裝置





