本申請涉及數(shù)據(jù)處理,特別涉及一種存儲地址處理方法和設(shè)備。
背景技術(shù):
1、電子設(shè)備的處理器(如gpu,cpu等)一般都配置有高速緩存(cache),處理器所發(fā)出來的請求中攜帶的物理地址,需要映射到高速緩存的索引上。
2、數(shù)據(jù)在高速緩存中的緩存地址一般可以包括索引(index)、標簽(tag)和偏移量(offset)三個部分。相關(guān)技術(shù)在將處理器請求的物理地址映射到緩存地址的索引上時,一般會基于哈希算法(例如位異或哈希算法xorhash)來處理物理地址,獲得對應(yīng)的緩存地址的索引,這種映射方式容易導(dǎo)致數(shù)據(jù)沖突。
技術(shù)實現(xiàn)思路
1、為此,本申請公開如下技術(shù)方案:
2、本申請第一方面提供一種存儲地址處理方法,包括:
3、獲得第一地址數(shù)據(jù);
4、根據(jù)預(yù)設(shè)的哈希矩陣和所述第一地址數(shù)據(jù)的哈希因子對所述第一地址數(shù)據(jù)的索引部分進行第一處理,得到所述第一地址數(shù)據(jù)的預(yù)處理索引,所述哈希因子根據(jù)所述第一地址數(shù)據(jù)的標簽部分獲得;
5、根據(jù)所述第一地址數(shù)據(jù)的偏移因子對所述預(yù)處理索引進行第二處理,以獲得所述第一地址數(shù)據(jù)的目標索引,所述偏移因子根據(jù)所述第一地址數(shù)據(jù)的標簽部分獲得。
6、可選的,獲得所述哈希因子和所述偏移因子的方法包括:
7、在所述第一地址數(shù)據(jù)的標簽部分選擇任意n個比特的數(shù)據(jù)作為所述哈希因子,n為所述索引部分的比特數(shù);
8、在所述第一地址數(shù)據(jù)的標簽部分選擇任意n個比特的數(shù)據(jù)作為所述偏移因子;
9、其中,所述哈希因子和所述偏移因子不同。
10、可選的,獲得所述哈希因子和所述偏移因子的方法包括:
11、在所述第一地址數(shù)據(jù)的標簽部分選擇第一目標區(qū)間內(nèi)n個比特的數(shù)據(jù)作為所述哈希因子,n為所述索引部分的比特數(shù);
12、在所述第一地址數(shù)據(jù)的標簽部分選擇第二目標區(qū)間內(nèi)n個比特的數(shù)據(jù)作為所述偏移因子;
13、其中,所述哈希因子和所述偏移因子不同。
14、可選的,獲得所述哈希因子和所述偏移因子的方法包括:
15、在所述第一地址數(shù)據(jù)的標簽部分選擇連續(xù)n個比特的數(shù)據(jù)作為所述哈希因子,n為所述索引部分的比特數(shù);
16、在所述第一地址數(shù)據(jù)的標簽部分選擇連續(xù)n個比特的數(shù)據(jù)作為所述偏移因子;
17、其中,所述哈希因子和所述偏移因子不同。
18、可選的,獲得所述哈希因子和所述偏移因子的方法包括:
19、確定所述第一地址數(shù)據(jù)的標簽部分中每一比特對應(yīng)的第一概率值,所述第一概率值表征多個地址數(shù)據(jù)中對應(yīng)的比特為1的地址數(shù)據(jù)的占比;
20、根據(jù)所述第一地址數(shù)據(jù)的標簽部分中各個比特的第一概率值,選擇n個比特的數(shù)據(jù)作為所述哈希因子,并選擇n個比特的數(shù)據(jù)作為所述偏移因子;
21、其中,所述哈希因子和所述偏移因子不同。
22、可選的,所述多個地址數(shù)據(jù)包括目標時間段內(nèi)獲得的多個地址數(shù)據(jù);
23、或者,所述多個地址數(shù)據(jù)包括在目標場景內(nèi)獲得的多個地址數(shù)據(jù)。
24、可選的,所述根據(jù)預(yù)設(shè)的哈希矩陣和所述第一地址數(shù)據(jù)的哈希因子對所述第一地址數(shù)據(jù)的索引部分進行第一處理,得到所述第一地址數(shù)據(jù)的預(yù)處理索引,包括:
25、根據(jù)預(yù)設(shè)的哈希矩陣和所述第一地址數(shù)據(jù)的多個不同的哈希因子對所述第一地址數(shù)據(jù)的索引部分進行多次第一處理,得到所述第一地址數(shù)據(jù)的預(yù)處理索引;
26、其中,每次第一處理的結(jié)果作為后一次第一處理時的索引部分。
27、可選的,還包括:
28、根據(jù)所述第一地址數(shù)據(jù)的標簽部分的比特數(shù)確定所述哈希因子的個數(shù)。
29、可選的,所述根據(jù)所述第一地址數(shù)據(jù)的偏移因子對所述預(yù)處理索引進行第二處理,以獲得所述第一地址數(shù)據(jù)的目標索引,包括:
30、確定偏移參數(shù)和循環(huán)位移操作符;
31、根據(jù)所述第一地址數(shù)據(jù)的偏移因子、所述偏移參數(shù)和所述循環(huán)位移操作符,對所述預(yù)處理索引進行第二處理,以獲得所述第一地址數(shù)據(jù)的目標索引。
32、本申請第二方面提供一種電子設(shè)備,包括處理器和存儲地址處理模塊;
33、所述存儲地址處理模塊用于:
34、獲得第一地址數(shù)據(jù);
35、根據(jù)預(yù)設(shè)的哈希矩陣和所述第一地址數(shù)據(jù)的哈希因子對所述第一地址數(shù)據(jù)的索引部分進行第一處理,得到所述第一地址數(shù)據(jù)的預(yù)處理索引,所述哈希因子根據(jù)所述第一地址數(shù)據(jù)的標簽部分獲得;
36、根據(jù)所述第一地址數(shù)據(jù)的偏移因子對所述預(yù)處理索引進行第二處理,以獲得所述第一地址數(shù)據(jù)的目標索引,所述偏移因子根據(jù)所述第一地址數(shù)據(jù)的標簽部分獲得。
1.一種存儲地址處理方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,獲得所述哈希因子和所述偏移因子的方法包括:
3.根據(jù)權(quán)利要求1所述的方法,獲得所述哈希因子和所述偏移因子的方法包括:
4.根據(jù)權(quán)利要求1所述的方法,獲得所述哈希因子和所述偏移因子的方法包括:
5.根據(jù)權(quán)利要求1所述的方法,獲得所述哈希因子和所述偏移因子的方法包括:
6.根據(jù)權(quán)利要求5所述的方法,所述多個地址數(shù)據(jù)包括目標時間段內(nèi)獲得的多個地址數(shù)據(jù);
7.根據(jù)權(quán)利要求1所述的方法,所述根據(jù)預(yù)設(shè)的哈希矩陣和所述第一地址數(shù)據(jù)的哈希因子對所述第一地址數(shù)據(jù)的索引部分進行第一處理,得到所述第一地址數(shù)據(jù)的預(yù)處理索引,包括:
8.根據(jù)權(quán)利要求7所述的方法,還包括:
9.根據(jù)權(quán)利要求1所述的方法,所述根據(jù)所述第一地址數(shù)據(jù)的偏移因子對所述預(yù)處理索引進行第二處理,以獲得所述第一地址數(shù)據(jù)的目標索引,包括:
10.一種電子設(shè)備,包括處理器和存儲地址處理模塊;