1.一種通過(guò)全局存儲(chǔ)器裝置上的中央處理單元的指令緩存來(lái)排序存儲(chǔ)器訪問(wèn)的方法,其包括所述步驟:
在所述全局存儲(chǔ)器裝置中提取鏈接映射文件的信號(hào)列表;
從所述信號(hào)列表中獲取涉及執(zhí)行任務(wù)的存儲(chǔ)器訪問(wèn)痕跡;
從所述訪問(wèn)痕跡中識(shí)別在所述全局存儲(chǔ)器裝置中訪問(wèn)的存儲(chǔ)器位置;
確定用于在所述全局存儲(chǔ)器裝置中訪問(wèn)的每對(duì)存儲(chǔ)器位置的相關(guān)值,其中利用所述相應(yīng)存儲(chǔ)器位置對(duì)基于可執(zhí)行指令的接近性來(lái)計(jì)算所述相關(guān)值;
重排所述全局存儲(chǔ)器裝置內(nèi)的訪問(wèn)的存儲(chǔ)器位置作為所述確定相關(guān)值的函數(shù);以及
修改訪問(wèn)所述全局存儲(chǔ)器裝置的可執(zhí)行文件,當(dāng)訪問(wèn)所述全局存儲(chǔ)裝置時(shí),所述可執(zhí)行文件優(yōu)化所述存儲(chǔ)器配置。
2.根據(jù)權(quán)利要求1所述的方法,其中確定所述存儲(chǔ)器位置對(duì)的相關(guān)值包括所述下列步驟:
生成相關(guān)矩陣,其中每個(gè)存儲(chǔ)器位置彼此交叉引用;
確定用于由相應(yīng)可執(zhí)行指令訪問(wèn)的每個(gè)相應(yīng)的存儲(chǔ)器位置對(duì)的相關(guān)值,其中每個(gè)相關(guān)值是基于指令執(zhí)行流中彼此相對(duì)的所述相應(yīng)可執(zhí)行指令的接近性的加權(quán)值。
3.根據(jù)權(quán)利要求2所述的方法,其中所述加權(quán)值通過(guò)所述相應(yīng)可執(zhí)行指令被進(jìn)一步地確定為訪問(wèn)每個(gè)相應(yīng)存儲(chǔ)器位置對(duì)的頻率的函數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其中所述加權(quán)值是規(guī)范化的。
5.根據(jù)權(quán)利要求4所述的方法,其中通過(guò)所述以下規(guī)范化函數(shù)來(lái)規(guī)范化所述加權(quán)值:
如果|ADDR X-ADDR Y|<S,
那么wab=wab+1
其中ADDR X是在所述全局存儲(chǔ)器中訪問(wèn)的第一地址,ADDR Y是在所述全局存儲(chǔ)器中訪問(wèn)的第二地址,S是預(yù)定的字節(jié)大小,以及wab和所述加權(quán)值用于所述相關(guān)矩陣中的所述成對(duì)存儲(chǔ)器位置。
6.根據(jù)權(quán)利要求5所述的方法,其中重排所述相關(guān)矩陣以獲得所需置換,所述重排的相關(guān)矩陣包括每個(gè)都具有零的相關(guān)值的項(xiàng)的對(duì)角行,并且其中具有在所述相關(guān)矩陣的每個(gè)所述相關(guān)值中的最高值的相應(yīng)相關(guān)值被放置成最接近所述零對(duì)角項(xiàng)。
7.根據(jù)權(quán)利要求6所述的方法,其中當(dāng)所述項(xiàng)遠(yuǎn)離所述零對(duì)角項(xiàng)時(shí),所述相關(guān)值減小。
8.根據(jù)權(quán)利要求7所述的方法,其中所述置換的相關(guān)矩陣的所述相關(guān)值被輸入到最小能量函數(shù)中,用于確定最優(yōu)訪問(wèn)存儲(chǔ)器配置。
9.根據(jù)權(quán)利要求8所述的方法,其中所述最小能量函數(shù)由所述以下方程表示:
最小
10.根據(jù)權(quán)利要求9所述的方法,其中所述最小能量函數(shù)的逆置換用于確定所述存儲(chǔ)器配置,所述逆置換由所述以下方程表示:
最小π-1J(π-1)=∑a,b(πa-1-πb-1)2wab。