1.一種緩存優(yōu)化方法,其特征在于,包括:
獲得程序運(yùn)行于預(yù)定緩存參數(shù)的不同取值時對應(yīng)的預(yù)定功耗參數(shù)的不同取值;
基于所述預(yù)定功耗參數(shù)的相應(yīng)取值,計算所述預(yù)定緩存參數(shù)的每種取值對應(yīng)的所述程序的運(yùn)行功耗值;
確定最小的運(yùn)行功耗值對應(yīng)的所述預(yù)定緩存參數(shù)的取值,并作為所述預(yù)定緩存參數(shù)的最優(yōu)取值;
將所述預(yù)定緩存參數(shù)的值調(diào)整為所述最優(yōu)取值,使得所述程序后續(xù)基于所述預(yù)定緩存參數(shù)的所述最優(yōu)取值運(yùn)行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲得程序運(yùn)行于預(yù)定緩存參數(shù)的不同取值時對應(yīng)的預(yù)定功耗參數(shù)的不同取值包括:
在程序運(yùn)行于所述預(yù)定緩存參數(shù)的每種取值時,相應(yīng)記錄所述預(yù)定緩存參數(shù)的取值及所述預(yù)定功耗參數(shù)的取值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述預(yù)定功耗參數(shù)的相應(yīng)取值,計算所述預(yù)定緩存參數(shù)的每種取值對應(yīng)的所述程序的運(yùn)行功耗值包括:
基于所述預(yù)定功耗參數(shù)的相應(yīng)取值,計算所述預(yù)定緩存參數(shù)的每種取值對應(yīng)的所述程序的緩存命中功耗,緩存未命中功耗及漏電電流功耗;
基于所述緩存命中功耗,緩存未命中功耗及漏電電流功耗計算所述預(yù)定緩存參數(shù)的每種取值對應(yīng)的所述程序的運(yùn)行功耗值。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)定緩存參數(shù)為緩存塊大小、緩存行大小及關(guān)聯(lián)中的任意一種。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述預(yù)定緩存參數(shù)具體為緩存塊大小,則所述方法在將所述預(yù)定緩存參數(shù)的值調(diào)整為所述最優(yōu)取值之后,還包括:
依次將所述預(yù)定緩存參數(shù)切換為所述緩存行大小、所述關(guān)聯(lián),并在每次對所述預(yù)定緩存參數(shù)進(jìn)行切換后,執(zhí)行所述方法對切換后的所述預(yù)定緩存參數(shù)的取值進(jìn)行優(yōu)化,使得所述程序后續(xù)基于所述緩存塊大小、緩存行大小及關(guān)聯(lián)的最優(yōu)取值運(yùn)行。
6.一種緩存優(yōu)化系統(tǒng),其特征在于,包括:
獲取模塊,用于獲得程序運(yùn)行于預(yù)定緩存參數(shù)的不同取值時對應(yīng)的預(yù)定功耗參數(shù)的不同取值;
計算模塊,用于基于所述預(yù)定功耗參數(shù)的相應(yīng)取值,計算所述預(yù)定緩存參數(shù)的每種取值對應(yīng)的所述程序的運(yùn)行功耗值;
確定模塊,用于確定最小的運(yùn)行功耗值對應(yīng)的所述預(yù)定緩存參數(shù)的取值,并作為所述預(yù)定緩存參數(shù)的最優(yōu)取值;
第一優(yōu)化模塊,用于將所述預(yù)定緩存參數(shù)的值調(diào)整為所述最優(yōu)取值,使得所述程序后續(xù)基于所述預(yù)定緩存參數(shù)的所述最優(yōu)取值運(yùn)行。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述獲取模塊包括:
記錄單元,用于在程序運(yùn)行于所述預(yù)定緩存參數(shù)的每種取值時,相應(yīng)記錄所述預(yù)定緩存參數(shù)的取值及所述預(yù)定功耗參數(shù)的取值。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述計算模塊包括:
第一計算單元,用于基于所述預(yù)定功耗參數(shù)的相應(yīng)取值,計算所述預(yù)定緩存參數(shù)的每種取值對應(yīng)的所述程序的緩存命中功耗,緩存未命中功耗及漏電電流功耗;
第二計算單元,用于基于所述緩存命中功耗,緩存未命中功耗及漏電電流功耗計算所述預(yù)定緩存參數(shù)的每種取值對應(yīng)的所述程序的運(yùn)行功耗值。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述預(yù)定緩存參數(shù)具體為緩存塊大小,則所述系統(tǒng)還包括:
第二優(yōu)化模塊,用于依次將所述預(yù)定緩存參數(shù)切換為緩存行大小及關(guān)聯(lián),并在每次對所述預(yù)定緩存參數(shù)進(jìn)行切換后,觸發(fā)執(zhí)行所述系統(tǒng)中的各模塊對切換后的所述預(yù)定緩存參數(shù)的取值進(jìn)行優(yōu)化,使得所述程序后續(xù)基于所述緩存塊大小、緩存行大小及關(guān)聯(lián)的最優(yōu)取值運(yùn)行。