[發(fā)明專利]面向多核微處理器的內(nèi)存拷貝加速方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201210493512.7 | 申請(qǐng)日: | 2012-11-28 |
| 公開(公告)號(hào): | CN103019655A | 公開(公告)日: | 2013-04-03 |
| 發(fā)明(設(shè)計(jì))人: | 郭御風(fēng);石偉;張明;竇強(qiáng);龔銳;鄧宇;任巨;馬愛永;羅莉;王永文 | 申請(qǐng)(專利權(quán))人: | 中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué) |
| 主分類號(hào): | G06F9/38 | 分類號(hào): | G06F9/38;G06F15/167 |
| 代理公司: | 湖南兆弘專利事務(wù)所 43008 | 代理人: | 趙洪;譚武藝 |
| 地址: | 410073 湖南省長(zhǎng)沙市硯瓦池正*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 面向 多核 微處理器 內(nèi)存 拷貝 加速 方法 裝置 | ||
1.一種面向多核微處理器的內(nèi)存拷貝加速方法,其特征在于實(shí)施步驟如下:
1)在微處理器指令集中增加內(nèi)存拷貝指令,所述內(nèi)存拷貝指令包括普通內(nèi)存拷貝指令、MPI點(diǎn)對(duì)點(diǎn)發(fā)送指令、MPI點(diǎn)對(duì)點(diǎn)接收指令、MPI群組發(fā)送指令和MPI群組接收指令;在微處理器中的指令執(zhí)行流水線外部建立用于執(zhí)行基于MPI通信的內(nèi)存拷貝請(qǐng)求的MPI通信加速模塊;
2)將譯碼得到的內(nèi)存拷貝指令轉(zhuǎn)換成對(duì)應(yīng)的內(nèi)存拷貝請(qǐng)求,如果當(dāng)前內(nèi)存拷貝請(qǐng)求為普通內(nèi)存拷貝請(qǐng)求時(shí),分發(fā)給指令執(zhí)行流水線中的內(nèi)存拷貝單元并跳轉(zhuǎn)執(zhí)行步驟3);否則將內(nèi)存拷貝請(qǐng)求分發(fā)給MPI通信加速模塊并跳轉(zhuǎn)執(zhí)行步驟4);
3)內(nèi)存拷貝單元將內(nèi)存拷貝請(qǐng)求緩存到請(qǐng)求隊(duì)列中,并執(zhí)行請(qǐng)求隊(duì)列中的當(dāng)前內(nèi)存拷貝請(qǐng)求,以頁(yè)為單位取回源數(shù)據(jù)并寫入目的地址;
4)MPI通信加速模塊將內(nèi)存拷貝請(qǐng)求緩存到請(qǐng)求隊(duì)列中,并執(zhí)行請(qǐng)求隊(duì)列中的當(dāng)前內(nèi)存拷貝請(qǐng)求;如果當(dāng)前內(nèi)存拷貝請(qǐng)求為MPI點(diǎn)對(duì)點(diǎn)發(fā)送請(qǐng)求,則獲取與當(dāng)前內(nèi)存拷貝請(qǐng)求組成點(diǎn)對(duì)點(diǎn)通信的關(guān)聯(lián)MPI點(diǎn)對(duì)點(diǎn)接收請(qǐng)求,執(zhí)行當(dāng)前內(nèi)存拷貝請(qǐng)求以頁(yè)為單位取回源數(shù)據(jù)并存儲(chǔ)到共享緩存中,同時(shí)將共享緩存中的已經(jīng)就緒的數(shù)據(jù)頁(yè)以頁(yè)為單位寫入關(guān)聯(lián)MPI點(diǎn)對(duì)點(diǎn)接收請(qǐng)求的目的地址中,最終完成MPI點(diǎn)對(duì)點(diǎn)發(fā)送請(qǐng)求和MPI點(diǎn)對(duì)點(diǎn)接收請(qǐng)求的執(zhí)行;如果當(dāng)前內(nèi)存拷貝請(qǐng)求為MPI群組發(fā)送請(qǐng)求,則獲取與當(dāng)前內(nèi)存拷貝請(qǐng)求組成群組通信的MPI群組接收請(qǐng)求,然后執(zhí)行當(dāng)前內(nèi)存拷貝請(qǐng)求以頁(yè)為單位取回源數(shù)據(jù)并存儲(chǔ)到共享緩存中,同時(shí)將共享緩存中的已經(jīng)就緒的數(shù)據(jù)頁(yè)以頁(yè)為單位分別寫入各個(gè)MPI群組接收請(qǐng)求的目的地址中,最終完成MPI群組發(fā)送請(qǐng)求和MPI群組接收請(qǐng)求的執(zhí)行。
2.根據(jù)權(quán)利要求1所述的面向多核微處理器的內(nèi)存拷貝加速方法,其特征在于,所述步驟3)的詳細(xì)步驟如下:
3.1)內(nèi)存拷貝單元將內(nèi)存拷貝請(qǐng)求緩存到請(qǐng)求隊(duì)列中;
3.2)內(nèi)存拷貝單元執(zhí)行請(qǐng)求隊(duì)列中的當(dāng)前內(nèi)存拷貝請(qǐng)求,將當(dāng)前內(nèi)存拷貝請(qǐng)求中的目的地址、拷貝長(zhǎng)度與內(nèi)存拷貝單元的請(qǐng)求隊(duì)列中其它內(nèi)存拷貝指令的源地址、拷貝長(zhǎng)度進(jìn)行比較,如果所述目的地址和所述源地址相同且拷貝長(zhǎng)度相同則判定為兩者具有數(shù)據(jù)相關(guān)關(guān)系;
3.3)判斷當(dāng)前內(nèi)存拷貝請(qǐng)求是否存在具有數(shù)據(jù)相關(guān)關(guān)系的關(guān)聯(lián)內(nèi)存拷貝請(qǐng)求,如果不存在則執(zhí)行當(dāng)前內(nèi)存拷貝請(qǐng)求以頁(yè)為單位取回源數(shù)據(jù)并寫入目的地址,否則跳轉(zhuǎn)執(zhí)行步驟3.4);
3.4)首先從請(qǐng)求隊(duì)列中獲取與當(dāng)前內(nèi)存拷貝請(qǐng)求具有數(shù)據(jù)相關(guān)關(guān)系的關(guān)聯(lián)內(nèi)存拷貝指令,然后執(zhí)行當(dāng)前內(nèi)存拷貝指令以頁(yè)為單位取回源數(shù)據(jù)并寫入目的地址,同時(shí)將已讀取的數(shù)據(jù)頁(yè)寫入關(guān)聯(lián)內(nèi)存拷貝請(qǐng)求的目的地址中,最終完成當(dāng)前內(nèi)存拷貝請(qǐng)求及其關(guān)聯(lián)內(nèi)存拷貝請(qǐng)求的執(zhí)行。
3.根據(jù)權(quán)利要求1或2所述的面向多核微處理器的內(nèi)存拷貝加速方法,其特征在于:所述內(nèi)存拷貝單元的請(qǐng)求隊(duì)列和MPI通信加速模塊的請(qǐng)求隊(duì)列中的每一項(xiàng)均由源地址、目的地址、拷貝長(zhǎng)度、拷貝類型、源地址’、目的地址’與拷貝長(zhǎng)度’組成,其中源地址、目的地址、拷貝長(zhǎng)度、拷貝類型分別對(duì)應(yīng)內(nèi)存拷貝指令中的源地址、目的地址、拷貝長(zhǎng)度、拷貝類型;所述源地址’表示此次內(nèi)存拷貝過(guò)程中還未完成的源內(nèi)存區(qū)域的起始地址、所述目的地址’表示還未完成的源內(nèi)存區(qū)域的目的內(nèi)存區(qū)域的起始地址、所述拷貝長(zhǎng)度’表示還未完成的源內(nèi)存區(qū)域的待拷貝長(zhǎng)度,所述源地址’、目的地址’與拷貝長(zhǎng)度’的初始值分別為內(nèi)存拷貝指令中的源地址、目的地址與拷貝長(zhǎng)度;所述將源數(shù)據(jù)拷貝到共享緩存中時(shí),一并將當(dāng)前頁(yè)拷貝信息存儲(chǔ)在頁(yè)拷貝狀態(tài)表中,所述頁(yè)拷貝狀態(tài)表的每一項(xiàng)由源頁(yè)起始地址、目的頁(yè)起始地址和拷貝長(zhǎng)度組成。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210493512.7/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。





