两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種便簽式存儲器分配對象優(yōu)先級生成方法

文檔序號:6520773閱讀:679來源:國知局
一種便簽式存儲器分配對象優(yōu)先級生成方法
【專利摘要】本發(fā)明公開了一種便簽式存儲器分配對象優(yōu)先級生成方法,包括:獲取目標程序中分配對象集合的初始優(yōu)先級,分配對象集合包括代碼對象與數(shù)據(jù)對象;建立分配對象集合中各分配對象間關(guān)系信息;根據(jù)關(guān)系信息改變初始優(yōu)先級,生成各分配對象的優(yōu)先級。本發(fā)明建模出分配對象間的關(guān)系將分配對象間的關(guān)系作為重要考量因素引入SPM分配流程來使用其對分配對象的優(yōu)先級進行變換,并使用了對象間的關(guān)系來解決SPM分配對象的競爭處理問題。在不同的場景下可以有不同的映射變換法來利用本發(fā)明建模的分配對象間的關(guān)系。
【專利說明】一種便簽式存儲器分配對象優(yōu)先級生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機【技術(shù)領(lǐng)域】,尤其涉及一種便簽式存儲器分配對象優(yōu)先級生成方法。
【背景技術(shù)】
[0002]隨著處理器的速度越來越快,處理器和片外存儲器之間的瓶頸成了系統(tǒng)整體性能的關(guān)鍵點。在通用計算機系統(tǒng)中,通常使用Cache來解決處理器和內(nèi)存之間的性能差異。在一級Cache不能滿足系統(tǒng)要求情況下,會進一步引入多級Cache,并將Cache分別擴展為指令Cache和數(shù)據(jù)Cache。通常,Cache是由硬件實現(xiàn)的緩存中間件,其根據(jù)預(yù)定好的策略來填充內(nèi)容,CPU并不直接管理其空間分配和內(nèi)容的填充。Cache空間里的內(nèi)容通常是片外存儲器內(nèi)容子集的映射。根據(jù)使用的映射策略不同,其在運行時的的命中率也不同。但由于Cache由硬件管理,其有著時延不確定,功耗較高的缺點。因此,在嵌入式系統(tǒng)通常使用便簽式存儲器(SPM,Scratch Pad Memory)作為其替代方案。與Cache不同的是,SPM具有獨立的地址空間,其內(nèi)容的管理可以在編譯時由編譯器置入或者在運行時由CPU管理置入。其比Cache有著較高的靈活性、較低的功耗和較強的實時性,因此在當前的嵌入式系統(tǒng)中有著越來越多的應(yīng)用。由于SPM內(nèi)容需要由軟件控制,使用不同的內(nèi)容置入方法和分配策略將程序代碼和程序數(shù)據(jù)置入SPM中會對應(yīng)用程序的性能及功效有著不同的影響。研究對SPM進行充分利用有著廣泛的意義。
[0003]但是由于SPM是有限的、高效的、軟件可利用的資源,在使用SPM空間時,需要確定如何擇選出分配對象置入到SPM。在分配的過程中還有一定的可能會產(chǎn)生如下問題:超過一個對象具有相近相似甚至相同的特征,為了從這些對象中擇取部分對象到有限的SPM空間中,產(chǎn)生了對象間互相競爭有限的SPM空間資源問題。當SPM空間使用動態(tài)分配方法時,這類對象容易造成較多的SPM內(nèi)容與主存內(nèi)容交換增大了內(nèi)存中對象的抖動,即從SPM轉(zhuǎn)存至內(nèi)存中然后又轉(zhuǎn)存至到SPM中。

【發(fā)明內(nèi)容】

[0004]本發(fā)明克服了現(xiàn)有技術(shù)中便簽式存儲器不涉及擇選分配對象導(dǎo)致發(fā)生相似對象發(fā)生競爭,從而增加內(nèi)存中對象抖動的缺陷,提出了一種便簽式存儲器分配對象優(yōu)先級生成方法。本發(fā)明對分配對象進行優(yōu)先級變換及排序,按其優(yōu)先級順序?qū)ο笾萌氡愫炇酱鎯ζ髦小?br> [0005]本發(fā)明提出了一種便簽式存儲器分配對象優(yōu)先級生成方法,包括如下步驟:
[0006]a.獲取目標程序中分配對象集合的初始優(yōu)先級,所述分配對象集合包括代碼對象與數(shù)據(jù)對象;
[0007]b.建立所述分配對象集合中各分配對象間關(guān)系信息;
[0008]c.根據(jù)所述關(guān)系信息改變所述初始優(yōu)先級,生成所述各分配對象的優(yōu)先級。
[0009]本發(fā)明提出的便簽式存儲器分配對象優(yōu)先級生成方法中,獲取所述目標程序中各分配對象的初始優(yōu)先級包括如下:
[0010]al.對目標程序代碼進行編譯剖析,獲取基本熱度信息;
[0011]a2.選定所述目標程序的分配對象粒度;
[0012]a3.根據(jù)所述分配對象粒度與所述基本熱度信息,劃分所述目標程序的分配對象集合,及計算所述分配對象集合的熱度信息;
[0013]a4.根據(jù)所述熱度信息計算所述分配對象集合中各分配對象的初始優(yōu)先級。
[0014]本發(fā)明提出的便簽式存儲器分配對象優(yōu)先級生成方法中,建立各分配對象間關(guān)系信息包括如下步驟:
[0015]bl:獲取所述目標程序代碼的代碼訪問數(shù)據(jù)項信息;
[0016]b2:根據(jù)代碼訪問數(shù)據(jù)項信息建立所述分配對象間的關(guān)系信息;所述關(guān)系信息包括:代碼對象及其訪問的數(shù)據(jù)對象間的第一類關(guān)系,邏輯相鄰的代碼對象之間或地址相鄰的數(shù)據(jù)對象之間的第二類關(guān)系,同一代碼對象訪問的不同數(shù)據(jù)對象之間的或同一被訪問數(shù)據(jù)對象的不同代碼對象之間的第三類數(shù)據(jù)。
[0017]本發(fā)明提出的便簽式存儲器分配對象優(yōu)先級生成方法中,所述步驟改變所述初始優(yōu)先級包括如下步驟:
[0018]Cl:設(shè)置所述關(guān)系信息的權(quán)重;
[0019]c2:將所述關(guān)系信息按權(quán)重進行變換;
[0020]c3:根據(jù)變換后的關(guān)系信息對所述初始優(yōu)先級進行改變,生成所述各分配對象的優(yōu)先級。
[0021]本發(fā)明提出的便簽式存儲器分配對象優(yōu)先級生成方法中,進一步包括:
[0022]d.按所述優(yōu)先級對所述分配對象集合進行排序,根據(jù)排序?qū)⒏鞣峙鋵ο蠓峙渲料鄳?yīng)的便簽式存儲器中。
[0023]本發(fā)明的有益效果包括:根據(jù)分配對象間的關(guān)系改變原有的優(yōu)先級,使原本會產(chǎn)生競爭的對象重新具有明顯差異的優(yōu)先級,從而解決了產(chǎn)生競爭的問題。
【專利附圖】

【附圖說明】
[0024]圖1為本發(fā)明便簽式存儲器分配對象優(yōu)先級生成方法的流程圖。
[0025]圖2為鄰居關(guān)系示例圖。
[0026]圖3為親友關(guān)系示例圖。
[0027]圖4為兄弟關(guān)系示例圖。
[0028]圖5為實施例中相鄰的分配對象及其熱度的示意圖。
【具體實施方式】
[0029]結(jié)合以下具體實施例和附圖,對本發(fā)明作進一步的詳細說明。實施本發(fā)明的過程、條件、實驗方法等,除以下專門提及的內(nèi)容之外,均為本領(lǐng)域的普遍知識和公知常識,本發(fā)明沒有特別限制內(nèi)容。
[0030]以下是關(guān)于說明書中所出現(xiàn)的技術(shù)術(shù)語的說明:
[0031]代碼對象一可執(zhí)行的代碼段。記為C。例如:一個基本塊也是一個代碼對象。
[0032]數(shù)據(jù)對象一代碼所訪問的數(shù)據(jù)。記為D。[0033]分配對象——包括代碼對象與數(shù)據(jù)對象。記為O。有0={C I D}。
[0034]代碼區(qū)域一1-N個邏輯有序的代碼基本塊(記為B)組成的區(qū)域(記為A),這些代碼基本塊與該區(qū)域有從屬關(guān)系,即B e A。代碼區(qū)域大小為屬于該代碼區(qū)域的代碼基本塊數(shù)目。
[0035]第一類關(guān)系,即親友關(guān)系——稱當前代碼對象與其所訪問或操作的數(shù)據(jù)對象間的關(guān)系為親友關(guān)系,它們互為親友。代碼對象C訪問數(shù)據(jù)對象D記為R(C->D)=1。如附圖3所示,Bi訪問Dx, Bi與Dx互為親友關(guān)系;Bj訪問Dy, Bj與Dy互為親友關(guān)系。
[0036]第二類關(guān)系,即鄰居關(guān)系——稱順序的代碼對象間的前后關(guān)系為代碼的鄰居關(guān)系。左鄰居代碼對象:當前代碼對象(記為O)的前一個代碼對象。記為Left (O)。右鄰居代碼對象:當前代碼對象的后一個代碼對象。記為Right (O)。數(shù)據(jù)對象與其緊挨的數(shù)據(jù)對象之間的關(guān)系稱為為數(shù)據(jù)對象的鄰居關(guān)系。如附圖2所示,Bi和Bj互為鄰居,Bj和Bk互為鄰居關(guān)系。
[0037]第三類關(guān)系,即兄弟關(guān)系一當不同的代碼對象訪問同一數(shù)據(jù)對象時或同一代碼對象訪問不同數(shù)據(jù)對象時,稱這些代碼對象或數(shù)據(jù)對象互為兄弟,其之間存在兄弟關(guān)系。如附圖4所示,Bi / Bj訪問Dx,Bi與Bj互為兄弟關(guān)系;Bi訪問Dx / Dy,Dx與Dy互為兄弟關(guān)系。
[0038]對象大小-對象所占存儲空間的大小。記為S (O)。
[0039]對象空間代價——等于對象大小。記為V(O),通常有V (O) =S (O)。
[0040]對象優(yōu)先級——用于衡量對象優(yōu)先程度的量化數(shù)字,數(shù)字越大,優(yōu)先級越高。記為P(O)0
[0041]對象熱度——對于代碼對`象,其熱度為屬于該代碼對象的指令執(zhí)行次數(shù)之和。對于數(shù)據(jù)對象,其熱度為屬于該數(shù)據(jù)對`象的數(shù)據(jù)被訪問到的次數(shù)之和。記為F,即有:
[0042]
【權(quán)利要求】
1.一種便簽式存儲器分配對象優(yōu)先級生成方法,其特征在于,包括如下步驟: a.獲取目標程序中分配對象集合的初始優(yōu)先級,所述分配對象集合包括代碼對象與數(shù)據(jù)對象; b.建立所述分配對象集合中各分配對象間關(guān)系信息; c.根據(jù)所述關(guān)系信息改變所述初始優(yōu)先級,生成所述各分配對象的優(yōu)先級。
2.如權(quán)利要求1所述的便簽式存儲器分配對象優(yōu)先級生成方法,其特征在于,獲取所述目標程序中各分配對象的初始優(yōu)先級包括如下: al.對目標程序代碼進行編譯剖析,獲取基本熱度信息; a2.選定所述目標程序的分配對象粒度; a3.根據(jù)所述分配對象粒度與所述基本熱度信息,劃分所述目標程序的分配對象集合,及計算所述分配對象集合的熱度信息; a4.根據(jù)所述熱度信息計算所述分配對象集合中各分配對象的初始優(yōu)先級。
3.如權(quán)利要求1所述的便簽式存儲器分配對象優(yōu)先級生成方法,其特征在于,建立各分配對象間關(guān)系信息包括如下步驟: bl:獲取所述目標程序代碼的代碼訪問數(shù)據(jù)項信息; b2:根據(jù)代碼訪問數(shù)據(jù)項信息建立所述分配對象間的關(guān)系信息;所述關(guān)系信息包括:代碼對象及其訪問的數(shù)據(jù)對象間的第一類關(guān)系,邏輯相鄰的代碼對象之間或地址相鄰的數(shù)據(jù)對象之間的第二類關(guān)系,同一代碼對象訪問的不同數(shù)據(jù)對象之間的或同一被訪問數(shù)據(jù)對象的不同代碼對象之間的第三類數(shù)據(jù)。
4.如權(quán)利要求1所述的便簽式存儲器分配對象優(yōu)先級生成方法,其特征在于,所述步驟改變所述初始優(yōu)先級包括如下步驟: Cl:設(shè)置所述關(guān)系信息的權(quán)重; c2:將所述關(guān)系信息按權(quán)重進行變換; c3:根據(jù)變換后的關(guān)系信息對所述初始優(yōu)先級進行改變,生成所述各分配對象的優(yōu)先級。
5.如權(quán)利要求1所述的便簽式存儲器分配對象優(yōu)先級生成方法,其特征在于,進一步包括: d.按所述優(yōu)先級對所述分配對象集合進行排序,根據(jù)排序?qū)⒏鞣峙鋵ο蠓峙渲料鄳?yīng)的便簽式存儲器中。
【文檔編號】G06F12/08GK103678170SQ201310610846
【公開日】2014年3月26日 申請日期:2013年11月26日 優(yōu)先權(quán)日:2013年11月26日
【發(fā)明者】蔡根, 楊艷琴, 徐文超, 楊雁峰, 劉云鵬, 費凡 申請人:華東師范大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
息烽县| 名山县| 隆化县| 射阳县| 花垣县| 白水县| 通河县| 平遥县| 萝北县| 通州区| 西乌珠穆沁旗| 大埔区| 黄平县| 元朗区| 客服| 承德市| 古丈县| 嘉禾县| 宾阳县| 新津县| 留坝县| 屯留县| 碌曲县| 楚雄市| 岳阳市| 张家港市| 神池县| 塔河县| 沅江市| 汽车| 日喀则市| 阿拉尔市| 武冈市| 泽普县| 红河县| 巩义市| 襄樊市| 澄江县| 西城区| 抚州市| 柳河县|