本發明涉及計算機,更具體地,涉及一種數據處理方法、裝置和電子設備。
背景技術:
1、cache是一種高速緩存存儲器,位于中間處理器(central?processing?unit,cpu)和主存儲器之間,具有容量小速度快的特點。由于cpu設計的速度遠高于內存,當cpu直接從內存中訪問數據時要等待一定的時間,而cache通常保存著cpu剛用過的或頻繁使用的數據(例如可以包括程序代碼或其它類型的數據),如果cpu需要再次使用該部分數據時,cpu可以從cache中直接訪問,這樣能夠避免直接從內存中重新讀取數據所帶來的cpu等待時間,從而提高cpu的運行效率。
2、然而,cache的容量是有限的,在使用的過程中,cache中所存儲的數據會被頻繁地替換,這就使得cpu所需數據很可能會被替換出cache。若cpu在所需數據被替換出cache時訪問cache,就無法訪問到所需數據,從而出現緩存未命中情況。在出現這種緩存未命中情況時,cpu還需要從主存中重新加載所需數據,這會導致額外延遲的產生,影響程序性能。因此,如何降低緩存未命中率是優化程序性能的關鍵之一。
技術實現思路
1、有鑒于此,本發明實施例提供了一種數據處理方法、裝置和電子設備,以降低在程序運行過程中的緩存未命中率,從而提高整體程序性能。
2、第一方面,本發明實施例公開了一種數據處理方法,所述方法包括:
3、確定至少一條目標訪存指令,所述目標訪存指令為在目標程序運行過程中存在緩存未命中情況的訪存指令;
4、對于各所述目標訪存指令,根據所述目標訪存指令的歷史緩存未命中情況確定對應的目標數據段,所述目標數據段為覆蓋未命中數據的數據段,所述未命中數據為在所述目標訪存指令被觸發時,處理器未能在緩存中訪問到的數據;
5、將各所述目標數據段的地址信息發送給預設緩存的緩存鎖定接口,以供所述緩存鎖定接口在各所述目標訪存指令被觸發之前,根據所述地址信息將對應的目標數據段存儲并鎖定在所述預設緩存中。
6、第二方面,本發明實施例公開了一種數據處理裝置,所述裝置包括:
7、目標訪存指令確定單元,用于確定至少一條目標訪存指令,所述目標訪存指令為在目標程序運行過程中存在緩存未命中情況的訪存指令;
8、目標數據段確定單元,用于對于各所述目標訪存指令,根據所述目標訪存指令的歷史緩存未命中情況確定對應的目標數據段,所述目標數據段為覆蓋未命中數據的數據段,所述未命中數據為在所述目標訪存指令被觸發時,處理器未能在緩存中訪問到的數據;
9、地址信息發送單元,用于將各所述目標數據段的地址信息發送給預設緩存的緩存鎖定接口,以供所述緩存鎖定接口在各所述目標訪存指令被觸發之前,根據所述地址信息將對應的目標數據段存儲并鎖定在所述預設緩存中。
10、第三方面,本發明實施例公開了一種計算機可讀存儲介質,其上存儲計算機程序指令,所述計算機程序指令在被處理器執行時實現如第一方面中所述的方法。
11、第四方面,本發明實施例公開了一種電子設備,所述設備包括:
12、存儲器,用于存儲一條或多條計算機程序指令;
13、處理器,所述一條或多條計算機程序指令被所述處理器執行以實現如第一方面中所述的方法。
14、第五方面,本發明實施例公開了一種計算機程序產品,當所述計算機程序產品在計算機上運行時,使得所述計算機執行如第一方面中所述的方法。
15、本發明實施例會確定在目標程序運行過程中存在緩存未命中情況的至少一條目標訪存指令,并根據各目標訪存指令的歷史緩存未命中情況確定各目標訪存指令所對應的目標數據段,再將各目標數據段的地址信息發送給預設緩存的緩存鎖定接口,以供緩存鎖定接口在各目標訪存指令被觸發之前,根據地址信息將對應的目標數據段存儲并鎖定到預設緩存中,其中,目標數據段為覆蓋未命中數據的數據段,未命中數據為在目標訪存指令被觸發時,處理器未能在緩存中訪問到的數據,由此,本發明實施例可以降低在程序運行過程中的緩存未命中率,從而提高整體程序性能。
1.一種數據處理方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述根據所述目標訪存指令的歷史緩存未命中情況確定對應的目標數據段包括:
3.根據權利要求2所述的方法,其特征在于,所述根據所述未命中數據地址數組和所述訪存長度確定與所述目標訪存指令對應的目標數據段包括:
4.根據權利要求3所述的方法,其特征在于,所述將長度小于或等于第二預設長度閾值且未命中數據覆蓋率大于或等于預設覆蓋率閾值的數據段確定為與所述目標訪存指令對應的目標數據段包括:
5.根據權利要求4所述的方法,其特征在于,利用所述滑動窗口在所述未命中數據地址數組中確定最密子數組包括:
6.根據權利要求5所述的方法,其特征在于,所述確定所述未命中數據地址數組在所述地址區間內的最大數據地址和最小數據地址包括:
7.根據權利要求4所述的方法,其特征在于,所述初始化滑動窗口包括:
8.根據權利要求4所述的方法,其特征在于,所述確定所述最密子數組的未命中數據覆蓋率包括:
9.根據權利要求3所述的方法,其特征在于,所述方法還包括:
10.根據權利要求1所述的方法,其特征在于,所述確定至少一條目標訪存指令包括:
11.一種數據處理裝置,其特征在于,所述裝置包括:
12.一種計算機可讀存儲介質,其上存儲計算機程序指令,其特征在于,所述計算機程序指令在被處理器執行時實現如權利要求1-10中任一項所述的方法。
13.一種電子設備,其特征在于,所述設備包括:
14.一種計算機程序產品,其特征在于,當所述計算機程序產品在計算機上運行時,使得所述計算機執行如權利要求1-10中任一項所述的方法。