本發(fā)明涉及顯卡設(shè)備領(lǐng)域,特別涉及一種顯卡設(shè)備的緩存置換方法、裝置、顯卡設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著高性能計(jì)算的發(fā)展,較大規(guī)模的計(jì)算對(duì)處理器自身能力有著較為強(qiáng)大的需求,顯卡設(shè)備逐漸體現(xiàn)出其計(jì)算性能方面的優(yōu)勢(shì),顯卡設(shè)備功耗的優(yōu)化也逐漸變成研究領(lǐng)域的熱點(diǎn)問(wèn)題。例如,如何對(duì)顯卡設(shè)備的緩存置換進(jìn)行優(yōu)化,是顯卡設(shè)備功耗優(yōu)化過(guò)程中所需解決的一個(gè)重要問(wèn)題。
2、相關(guān)技術(shù)中,顯卡設(shè)備的緩存置換通常基于“最不經(jīng)常使用”機(jī)制進(jìn)行。此類機(jī)制通過(guò)統(tǒng)計(jì)數(shù)據(jù)塊被訪問(wèn)的次數(shù)實(shí)現(xiàn)合適的緩存置換。然而該機(jī)制在面對(duì)數(shù)據(jù)塊在過(guò)去被訪問(wèn)的頻率極高,但在近期被訪問(wèn)次數(shù)較少的情況,難以實(shí)現(xiàn)較好的數(shù)據(jù)塊置換效果,進(jìn)而無(wú)法很好的優(yōu)化顯卡設(shè)備的功耗。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種顯卡設(shè)備的緩存置換方法、裝置、顯卡設(shè)備及存儲(chǔ)介質(zhì),可基于各緩存數(shù)據(jù)塊的最近訪問(wèn)時(shí)間篩選待替換數(shù)據(jù)塊,并可在緩存空間中合并各待替換數(shù)據(jù)塊,進(jìn)而對(duì)合并數(shù)據(jù)塊進(jìn)行置換,從而可降低顯卡功耗。
2、為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種顯卡設(shè)備的緩存置換方法,包括:
3、確定待插入數(shù)據(jù)塊的第一數(shù)據(jù)塊大小,并查詢緩存空間中的各緩存數(shù)據(jù)塊對(duì)應(yīng)的第二數(shù)據(jù)塊大小及最近訪問(wèn)時(shí)間;
4、根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小及所述最近訪問(wèn)時(shí)間在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊,并在所述緩存空間中對(duì)所述待替換數(shù)據(jù)塊進(jìn)行合并得到合并數(shù)據(jù)塊;
5、將所述合并數(shù)據(jù)塊移出所述緩存空間,并將所述待插入數(shù)據(jù)塊插入所述緩存空間。
6、可選地,所述查詢緩存空間中的各緩存數(shù)據(jù)塊對(duì)應(yīng)的第二數(shù)據(jù)塊大小及最近訪問(wèn)時(shí)間,包括:
7、查詢緩存空間中未被程序占用的各緩存數(shù)據(jù)塊對(duì)應(yīng)的第二數(shù)據(jù)塊大小及最近訪問(wèn)時(shí)間。
8、可選地,在根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小及所述最近訪問(wèn)時(shí)間在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊之前,還包括:
9、查詢所述緩存空間的剩余空間大??;
10、所述根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小及所述最近訪問(wèn)時(shí)間在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊,包括:
11、根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小、所述最近訪問(wèn)時(shí)間及所述剩余空間大小在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊。
12、可選地,在根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小、所述最近訪問(wèn)時(shí)間及所述剩余空間大小在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊之前,還包括:
13、判斷所述剩余空間大小是否大于所述第一數(shù)據(jù)塊大??;
14、若是,則將所述待插入數(shù)據(jù)塊插入所述緩存空間;
15、若否,則進(jìn)入根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小、所述最近訪問(wèn)時(shí)間及所述剩余空間大小在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊的步驟。
16、可選地,所述根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小、所述最近訪問(wèn)時(shí)間及所述剩余空間大小在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊,包括:
17、根據(jù)所述最近訪問(wèn)時(shí)間對(duì)各所述緩存數(shù)據(jù)塊進(jìn)行排序,得到緩存數(shù)據(jù)塊序列;
18、按照所述最近訪問(wèn)時(shí)間從早到晚的順序,根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小及所述剩余空間大小從所述緩存數(shù)據(jù)塊序列中確定所述待替換數(shù)據(jù)塊。
19、可選地,所述按照所述最近訪問(wèn)時(shí)間從早到晚的順序,根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小及所述剩余空間大小從所述緩存數(shù)據(jù)塊序列中確定所述待替換數(shù)據(jù)塊,包括:
20、將所述緩存數(shù)據(jù)塊序列中所述最近訪問(wèn)時(shí)間最早的緩存數(shù)據(jù)塊作為已選擇數(shù)據(jù)塊,并將所述已選擇數(shù)據(jù)塊標(biāo)記為待替換數(shù)據(jù)塊;
21、根據(jù)當(dāng)前已標(biāo)記的所有待替換數(shù)據(jù)塊的第二數(shù)據(jù)塊大小確定待替換數(shù)據(jù)塊總大小,并判斷所述待替換數(shù)據(jù)塊總大小與所述剩余空間大小的總和是否大于所述第一數(shù)據(jù)塊大??;
22、若大于,則完成對(duì)所述待替換數(shù)據(jù)塊的篩選;
23、若不大于,則判斷所述緩存數(shù)據(jù)塊序列中是否剩余未標(biāo)記為所述待替換數(shù)據(jù)塊的緩存數(shù)據(jù)塊;
24、若存在,則將所述已選擇數(shù)據(jù)塊更新為所述已選擇數(shù)據(jù)塊的下一緩存數(shù)據(jù)塊,并進(jìn)入將所述已選擇數(shù)據(jù)塊標(biāo)記為待替換數(shù)據(jù)塊的步驟;
25、若不存在,則判定所述待替換數(shù)據(jù)塊篩選失敗。
26、可選地,在判定所述待替換數(shù)據(jù)塊篩選失敗之后,還包括:
27、向主機(jī)輸出表示所述顯卡設(shè)備的緩存空間不足的提示信息。
28、可選地,在判定所述待替換數(shù)據(jù)塊篩選失敗之后,還包括:
29、等待預(yù)設(shè)時(shí)長(zhǎng)后,重新進(jìn)入所述按照所述最近訪問(wèn)時(shí)間從早到晚的順序,根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小及所述剩余空間大小從所述緩存數(shù)據(jù)塊序列中確定所述待替換數(shù)據(jù)塊的步驟。
30、本發(fā)明還提供一種顯卡設(shè)備的緩存置換裝置,包括:
31、查詢模塊,用于確定待插入數(shù)據(jù)塊的第一數(shù)據(jù)塊大小,并查詢緩存空間中的各緩存數(shù)據(jù)塊對(duì)應(yīng)的第二數(shù)據(jù)塊大小及最近訪問(wèn)時(shí)間;
32、待替換數(shù)據(jù)塊確定模塊,用于根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小及所述最近訪問(wèn)時(shí)間在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊,并在所述緩存空間中對(duì)所述待替換數(shù)據(jù)塊進(jìn)行合并得到合并數(shù)據(jù)塊;
33、替換模塊,用于將所述合并數(shù)據(jù)塊移出所述緩存空間,并將所述待插入數(shù)據(jù)塊插入所述緩存空間。
34、本發(fā)明還提供一種顯卡設(shè)備,包括:
35、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;
36、處理器,用于執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上所述的顯卡設(shè)備的緩存置換方法。
37、本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令被處理器加載并執(zhí)行時(shí),實(shí)現(xiàn)如上所述的顯卡設(shè)備的緩存置換方法。
38、本發(fā)明提供一種顯卡設(shè)備的緩存置換方法,包括:確定待插入數(shù)據(jù)塊的第一數(shù)據(jù)塊大小,并查詢緩存空間中的各緩存數(shù)據(jù)塊對(duì)應(yīng)的第二數(shù)據(jù)塊大小及最近訪問(wèn)時(shí)間;根據(jù)所述第一數(shù)據(jù)塊大小、所述第二數(shù)據(jù)塊大小及所述最近訪問(wèn)時(shí)間在所述緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊,并在所述緩存空間中對(duì)所述待替換數(shù)據(jù)塊進(jìn)行合并得到合并數(shù)據(jù)塊;將所述合并數(shù)據(jù)塊移出所述緩存空間,并將所述待插入數(shù)據(jù)塊插入所述緩存空間。
39、可見(jiàn),本發(fā)明首先可確定待插入數(shù)據(jù)塊的第一數(shù)據(jù)塊大小,并可查詢緩存空間中的各緩存數(shù)據(jù)塊對(duì)應(yīng)的第二數(shù)據(jù)塊大小及最近訪問(wèn)時(shí)間。隨后,本發(fā)明可根據(jù)第一數(shù)據(jù)塊大小、第二數(shù)據(jù)塊大小及最近訪問(wèn)時(shí)間在緩存數(shù)據(jù)塊中確定待替換數(shù)據(jù)塊,即能夠根據(jù)各緩存數(shù)據(jù)塊的最近訪問(wèn)時(shí)間預(yù)先篩選出總大小可以滿足待插入數(shù)據(jù)塊插入需求的待替換數(shù)據(jù)塊,并可預(yù)先在緩存空間中對(duì)待替換數(shù)據(jù)塊進(jìn)行合并得到合并數(shù)據(jù)塊,進(jìn)而僅需將將合并數(shù)據(jù)塊移出緩存空間,并將待插入數(shù)據(jù)塊插入緩存空間,即可完成數(shù)據(jù)塊置換??梢?jiàn),由于本發(fā)明能夠基于各緩存數(shù)據(jù)塊的最近訪問(wèn)時(shí)間進(jìn)行待替換數(shù)據(jù)塊篩選,而并不根據(jù)緩存數(shù)據(jù)塊被訪問(wèn)的次數(shù)進(jìn)行待替換數(shù)據(jù)塊篩選,因此相較于相關(guān)技術(shù)而言能夠篩選出更適合置換的待替換數(shù)據(jù)塊,避免緩存置換頻繁發(fā)生,從而能夠有效降低顯卡設(shè)備功耗。并且,本發(fā)明可以預(yù)先確定待替換數(shù)據(jù)塊,并可預(yù)先對(duì)所有待替換數(shù)據(jù)塊在緩存空間中合并,并可僅替換合并數(shù)據(jù)塊,因此能夠減少數(shù)據(jù)塊置換次數(shù),并能夠基于數(shù)據(jù)塊合并操作同時(shí)完成對(duì)緩存空間的整合,從而能夠進(jìn)一步降低顯卡功耗。本發(fā)明還提供一種顯卡設(shè)備的緩存置換裝置、顯卡設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),具有上述有益效果。