[發明專利]數據拷貝的處理方法、裝置、電子設備及存儲介質有效
| 申請號: | 201911212805.1 | 申請日: | 2019-12-02 |
| 公開(公告)號: | CN110990298B | 公開(公告)日: | 2022-03-08 |
| 發明(設計)人: | 顧希偉;殷時友;彭飛 | 申請(專利權)人: | 龍芯中科(合肥)技術有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F9/54 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 杜葉蕊;臧建明 |
| 地址: | 230088 安徽省合肥市高新*** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 拷貝 處理 方法 裝置 電子設備 存儲 介質 | ||
本公開提供的一種數據拷貝的處理方法、裝置、電子設備及存儲介質,應用于RISC精簡指令集架構,通過確定數據拷貝請求消息;根據數據拷貝請求消息,確定源數據地址與目標數據地址是否均為16字節對齊;當源數據地址與目標數據地址為16字節對齊時,采用第一訪存指令組,對待拷貝的字節以128比特從源數據地址到目標數據地址的拷貝處理,并獲取待拷貝的字節中的余下字節;采用逐個字節的拷貝方式或者采用第二訪存指令組基于64比特的拷貝處理,對余下字節進行從源數據地址到目標數據地址的拷貝處理。相對于現有技術而言,通過先對地址進行對齊處理,再采用第一訪存指令組直接對待拷貝字節進行拷貝,有效提高了對于拷貝數據的處理效率和運行速度。
技術領域
本公開涉及計算機技術,尤其涉及一種數據拷貝的處理方法、裝置、電子設備及存儲介質。
背景技術
對于利用拷貝函數進行數據拷貝是計算機在處理數據的過程中必不可缺的步驟。
在現有技術中,計算機會利用一些函數指令對數據進行拷貝處理,例如,內存拷貝函數memcpy。具體來說,memcpy函數可用于將待拷貝的n個字節從源數據地址拷貝到目標數據地址。在利用memcpy函數進行數據拷貝時,當目標數據地址在上已存儲有若干字節時,在執行該內存拷貝函數之后,這些已存儲的字節將被覆蓋;此外,當目標數據地址和源數據地址之間存在地址重疊時,在執行該內存拷貝函數之后,存儲于源數據地址中重疊地址的待拷貝字節中的部分字節可能被覆蓋。也就是說,當源數據地址和目標數據地址存在地址不對齊的情況時,上述的memcpy函數將采用逐個字節的拷貝方式,對待拷貝的n個字節進行拷貝,并在地址對齊后使用cpu字長進行拷貝,cpu字長一般為32bit或64bit。
但是,隨著拷貝數據量的增大,利用memcpy函數進行數據拷貝的拷貝效率不能滿足數據量的增長需求,不利于計算機對于大數據的數據和運算。
發明內容
針對上述提出的問題,本公開提供了一種數據拷貝的處理方法、裝置、電子設備及存儲介質。
第一方面,本公開提供了一種數據拷貝的處理方法,應用于RISC精簡指令集架構,所述處理方法包括:
確定數據拷貝請求消息,所述數據拷貝請求消息包括:源數據地址、目標數據地址,以及待拷貝的字節;
根據所述數據拷貝請求消息,確定所述源數據地址與所述目標數據地址是否均為16字節對齊;
當所述源數據地址與所述目標數據地址為16字節對齊時,采用第一訪存指令組,對所述待拷貝的字節以128比特從源數據地址到所述目標數據地址的拷貝處理,并獲取所述待拷貝的字節中的余下字節;
采用逐個字節的拷貝方式或者采用第二訪存指令組基于64比特的拷貝處理,對所述余下字節進行從所述源數據地址到所述目標數據地址的拷貝處理。
在其他可選示例中,該處理方法還包括:
當所述源數據地址與所述目標數據地址存在一個16字節不對齊時,對所述待拷貝的字節進行對齊處理,以使所述源數據地址與所述目標數據地址均16字節對齊;
采用第一訪存指令組,對所述待拷貝的字節進行從源數據地址到所述目標數據地址的拷貝處理,并獲取所述待拷貝的字節中的余下字節。
在其他可選示例中,所述對所述待拷貝的字節進行對齊處理,包括:
當確定源數據地址與所述目標數據地址中的字節不對齊部分超過64位時,采用第二訪存指令組對該不對齊部分進行拷貝處理,直至所述源數據地址與所述目標數據地址均16字節對齊。
在其他可選示例中,所述對所述待拷貝的字節進行對齊處理,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于龍芯中科(合肥)技術有限公司,未經龍芯中科(合肥)技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911212805.1/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





