本申請(qǐng)涉及計(jì)算機(jī),尤其涉及一種基于強(qiáng)化學(xué)習(xí)的緩存替換方法、裝置、電子設(shè)備及介質(zhì)。
背景技術(shù):
1、緩存替換是指在緩存已滿(mǎn)的情況下,在接收到釋放(release)請(qǐng)求,需要將釋放請(qǐng)求所要釋放的數(shù)據(jù)加載到緩存中時(shí),需要移除部分?jǐn)?shù)據(jù)塊,以留出緩存空間,用于存放釋放請(qǐng)求要釋放的數(shù)據(jù)。
2、在相關(guān)技術(shù)中,通常根據(jù)程序的經(jīng)驗(yàn)數(shù)據(jù)設(shè)置固定替換規(guī)則,根據(jù)固定替換規(guī)則進(jìn)行緩存替換。
3、但是,基于相關(guān)技術(shù)的方法所獲取的替換規(guī)則,只適用于部分程序,而不能適用于所有程序,并且該方法存在緩存替換準(zhǔn)確度低的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供一種基于強(qiáng)化學(xué)習(xí)的緩存替換方法、裝置、電子設(shè)備及介質(zhì),以解決在先技術(shù)中無(wú)法根據(jù)不同程序,自適應(yīng)的進(jìn)行緩存替換的問(wèn)題。
2、第一方面,本申請(qǐng)實(shí)施例提供了一種緩存替換方法,包括:響應(yīng)于接收到數(shù)據(jù)釋放請(qǐng)求,獲取所述數(shù)據(jù)釋放請(qǐng)求中的目標(biāo)程序寄存器值、目標(biāo)頁(yè)號(hào),所述數(shù)據(jù)釋放請(qǐng)求用于將目標(biāo)數(shù)據(jù)塊存入目標(biāo)緩存;獲取與所述目標(biāo)程序寄存器值對(duì)應(yīng)的替換優(yōu)先級(jí),以及與所述目標(biāo)頁(yè)號(hào)對(duì)應(yīng)的替換優(yōu)先級(jí),并從所有替換優(yōu)先級(jí)中獲取所述目標(biāo)數(shù)據(jù)塊的替換優(yōu)先級(jí);若所述目標(biāo)緩存的存儲(chǔ)空間已滿(mǎn),則獲取替換優(yōu)先級(jí)列表;所述替換優(yōu)先級(jí)列表包括目標(biāo)緩存中至少一個(gè)已存儲(chǔ)數(shù)據(jù)塊的替換優(yōu)先級(jí);根據(jù)所述替換優(yōu)先級(jí)列表中所有替換優(yōu)先級(jí)的比較結(jié)果,從所述已存儲(chǔ)數(shù)據(jù)塊中,確定并刪除替換數(shù)據(jù)塊;將所述目標(biāo)數(shù)據(jù)塊存入與所述替換數(shù)據(jù)塊對(duì)應(yīng)的地址,并將所述目標(biāo)數(shù)據(jù)塊的替換優(yōu)先級(jí)存入所述替換優(yōu)先級(jí)列表。
3、第二方面,本申請(qǐng)實(shí)施例提供了一種緩存替換裝置,所述裝置包括:第一獲取模塊,用于響應(yīng)于接收到數(shù)據(jù)釋放請(qǐng)求,獲取所述數(shù)據(jù)釋放請(qǐng)求中的目標(biāo)程序寄存器值、目標(biāo)頁(yè)號(hào),所述數(shù)據(jù)釋放請(qǐng)求用于將目標(biāo)數(shù)據(jù)塊存入目標(biāo)緩存;第二獲取模塊,用于獲取與所述目標(biāo)程序寄存器值對(duì)應(yīng)的替換優(yōu)先級(jí),以及與所述目標(biāo)頁(yè)號(hào)對(duì)應(yīng)的替換優(yōu)先級(jí),并從所有替換優(yōu)先級(jí)中獲取所述目標(biāo)數(shù)據(jù)塊的替換優(yōu)先級(jí);第三獲取模塊,用于若所述目標(biāo)緩存的存儲(chǔ)空間已滿(mǎn),則獲取替換優(yōu)先級(jí)列表;所述替換優(yōu)先級(jí)列表包括目標(biāo)緩存中至少一個(gè)已存儲(chǔ)數(shù)據(jù)塊的替換優(yōu)先級(jí);第一確定模塊,用于根據(jù)所述替換優(yōu)先級(jí)列表中所有替換優(yōu)先級(jí)的比較結(jié)果,從所述已存儲(chǔ)數(shù)據(jù)塊中,確定并刪除替換數(shù)據(jù)塊;第一存入模塊,用于將所述目標(biāo)數(shù)據(jù)塊存入與所述替換數(shù)據(jù)塊對(duì)應(yīng)的地址,并將所述目標(biāo)數(shù)據(jù)塊的替換優(yōu)先級(jí)存入所述替換優(yōu)先級(jí)列表。
4、第三方面,本申請(qǐng)實(shí)施例還提供了一種電子設(shè)備,包括處理器;用于存儲(chǔ)所述處理器可執(zhí)行指令的存儲(chǔ)器;其中,所述處理器被配置為執(zhí)行所述指令,以實(shí)現(xiàn)所述第一方面的方法。
5、第四方面,本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的指令由電子設(shè)備的處理器執(zhí)行時(shí),使得所述電子設(shè)備能夠執(zhí)行所述第一方面的方法。
6、在本申請(qǐng)實(shí)施例中,通過(guò)數(shù)據(jù)釋放請(qǐng)求的目標(biāo)程序寄存器值(program?counter,pc)和目標(biāo)頁(yè)號(hào)值(page?number,pn),對(duì)替換優(yōu)先級(jí)列表進(jìn)行動(dòng)態(tài)更新,基于動(dòng)態(tài)更新的替換優(yōu)先級(jí)列表,能夠在程序運(yùn)行過(guò)程中,自適應(yīng)的確定出與當(dāng)前程序適配的替換數(shù)據(jù)塊,提高了緩存替換準(zhǔn)確度。通過(guò)pc值和pn值共同進(jìn)行替換數(shù)據(jù)塊的預(yù)測(cè),在程序運(yùn)行過(guò)程中,可以根據(jù)程序自身的訪存特性,在運(yùn)行過(guò)程中自適應(yīng)的選擇最佳的緩存替換策略,達(dá)到了對(duì)不同程序均能準(zhǔn)確獲取替換數(shù)據(jù)塊的目的,本實(shí)施例的緩存替換方法,對(duì)不同程序均有較好的緩存替換效果。
7、上述說(shuō)明僅是本申請(qǐng)技術(shù)方案的概述,為了能夠更清楚了解本申請(qǐng)的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本申請(qǐng)的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本申請(qǐng)的具體實(shí)施方式。
1.一種基于強(qiáng)化學(xué)習(xí)的緩存替換方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,從所有替換優(yōu)先級(jí)中獲取所述目標(biāo)數(shù)據(jù)塊的替換優(yōu)先級(jí),包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取與所述目標(biāo)程序寄存器值對(duì)應(yīng)的替換優(yōu)先級(jí),包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取與所述目標(biāo)頁(yè)號(hào)對(duì)應(yīng)的替換優(yōu)先級(jí),包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在將所述目標(biāo)數(shù)據(jù)塊的數(shù)據(jù)塊信息存入所述目標(biāo)評(píng)估隊(duì)列之前,還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,數(shù)據(jù)塊信息還包括獎(jiǎng)勵(lì)值;在獲取最先存入所述目標(biāo)評(píng)估隊(duì)列的第一數(shù)據(jù)塊的第一數(shù)據(jù)塊信息之后,還包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法還包括:
9.一種基于強(qiáng)化學(xué)習(xí)的緩存替換裝置,其特征在于,所述裝置包括:
10.一種電子設(shè)備,其特征在于,包括:處理器;
11.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,當(dāng)所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的指令由電子設(shè)備的處理器執(zhí)行時(shí),使得所述電子設(shè)備能夠執(zhí)行如權(quán)利要求1至8中任一項(xiàng)所述的方法。