根據(jù)實際場景和實際需求,將節(jié)點屬性的相近度較高的訪存節(jié)點相鄰排列,使得后續(xù)對訪存指令進行合并的效果越好。
[0210]需要說明的是,在結(jié)構(gòu)屬性中,最高層級不同的訪存節(jié)點的結(jié)構(gòu)屬性是肯定不一樣的,結(jié)構(gòu)屬性的相近度是自上往下開始算的(即上一層級相同了,下一層級才有可能相同);如,訪存節(jié)點A【O】.Π和訪存節(jié)點B【O】.Π,雖然結(jié)構(gòu)層級【O】和節(jié)點層級Π的標識都一樣,但是,最高層級(隊列層級)不一樣,因此,訪存節(jié)點A [Olfl和訪存節(jié)點B【O】,fl在結(jié)構(gòu)屬性沒有相同點;又如,訪存節(jié)點A [Olfl和訪存節(jié)點A【I】.Π,雖然節(jié)點層級fl的標識都一樣,但節(jié)點層級的上一層級(結(jié)構(gòu)層級)不一樣,因此,這兩個訪存節(jié)點只有一個結(jié)構(gòu)屬性相同。
[0211]處理器840對訪存序列中訪問節(jié)點屬性相同,且存儲地址相鄰的訪存節(jié)點的訪存指令進行合并,生成合并后的訪存指令,所述合并后的訪存指令的訪存長度小于或等于所述消息式內(nèi)存的最大訪存長度。如,對“加載”和“存儲”兩種動作屬性的訪存指令進行合并。
[0212]在完成訪存指令的合并之后,輸出裝置820輸出所述合并后的訪存指令。
[0213]在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0214]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
[0215]另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
[0216]所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0217]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。
【主權(quán)項】
1.一種消息訪存的編譯方法,其特征在于,包括: 獲取消息式內(nèi)存的訪存序列; 確定所述訪存序列中各個訪存節(jié)點的節(jié)點屬性; 根據(jù)所述節(jié)點屬性對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整,使得節(jié)點屬性相同的訪存節(jié)點的數(shù)據(jù)存儲位置連續(xù)。2.根據(jù)根據(jù)權(quán)利要求1所述的方法,其特征在于,所述訪存序列包括: 訪存操作的類型,訪存節(jié)點的標識,訪存節(jié)點的節(jié)點屬性。3.根據(jù)根據(jù)權(quán)利要求1所述的方法,其特征在于,所述節(jié)點屬性包括:動作屬性和結(jié)構(gòu)屬性。4.根據(jù)根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述確定所述訪存序列中各個訪存節(jié)點的節(jié)點屬性之后,根據(jù)所述節(jié)點屬性對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整之前,包括: 根據(jù)所述各個訪存節(jié)點的節(jié)點屬性生成節(jié)點樹鏈表; 所述根據(jù)所述節(jié)點屬性對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整,具體包括: 根據(jù)所述節(jié)點樹鏈表中訪存節(jié)點的位置關系,對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整。5.根據(jù)根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述各個訪存節(jié)點的節(jié)點屬性生成節(jié)點樹鏈表,具體包括: 確定所述訪存節(jié)點中最上層級的結(jié)構(gòu)屬性,并以所述最上層級的結(jié)構(gòu)屬性作為所述節(jié)點樹鏈表的根節(jié)點,再依次根據(jù)所述訪存節(jié)點的各個層級的結(jié)構(gòu)屬性確定所述訪存節(jié)點的鏈表路徑,生成節(jié)點樹鏈表。6.根據(jù)根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述各個訪存節(jié)點的節(jié)點屬性生成節(jié)點樹鏈表,具體還包括: 以所述動作屬性作為所述節(jié)點樹鏈表的根節(jié)點,再依次根據(jù)所述訪存節(jié)點的各個層級的結(jié)構(gòu)屬性確定所述訪存節(jié)點的鏈表路徑,生成節(jié)點樹鏈表。7.根據(jù)根據(jù)權(quán)利要求5或6所述的方法,其特征在于, 所述根據(jù)所述各個訪存節(jié)點的節(jié)點屬性生成節(jié)點樹鏈表之前,還包括: 確定所述各個訪存節(jié)點的標識序號; 所述依次根據(jù)所述訪存節(jié)點的各個層級的結(jié)構(gòu)屬性確定所述訪存節(jié)點的鏈表路徑之后,還包括: 根據(jù)所述各個訪存節(jié)點的標識序號,在節(jié)點樹鏈表的葉子節(jié)點中依次排列所述各個訪存節(jié)點。8.根據(jù)根據(jù)權(quán)利要求7所述的方法,其特征在于,所述根據(jù)所述節(jié)點屬性對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整,使得節(jié)點屬性相同的訪存節(jié)點的數(shù)據(jù)存儲位置連續(xù),具體包括: 根據(jù)所述節(jié)點樹鏈表中訪存節(jié)點的位置關系,對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整,使得節(jié)點屬性相同的訪存節(jié)點的數(shù)據(jù)存儲位置連續(xù),且同一層級的結(jié)構(gòu)屬性下,訪存節(jié)點的數(shù)據(jù)存儲位置根據(jù)所述標識序號由小至大或由小至大依次排列。9.根據(jù)根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述節(jié)點屬性對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整,使得節(jié)點屬性相同的訪存節(jié)點的數(shù)據(jù)存儲位置連續(xù)之后,還包括: 對訪存序列中訪問節(jié)點屬性相同,且存儲地址相鄰的訪存節(jié)點的訪存指令進行合并,生成合并后的訪存指令,所述合并后的訪存指令的訪存長度小于或等于所述消息式內(nèi)存的最大訪存長度。10.一種編譯裝置,其特征在于,包括: 獲取單元,用于獲取消息式內(nèi)存的訪存序列; 屬性確定單元,用于確定所述訪存序列中各個訪存節(jié)點的節(jié)點屬性; 調(diào)整單元,用于根據(jù)所述節(jié)點屬性對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整,使得節(jié)點屬性相同的訪存節(jié)點的數(shù)據(jù)存儲位置連續(xù)。11.根據(jù)根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述訪存序列包括: 訪存操作的類型,訪存節(jié)點的標識,訪存節(jié)點的節(jié)點屬性。12.根據(jù)根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述節(jié)點屬性包括:動作屬性和結(jié)構(gòu)屬性。13.根據(jù)根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括: 鏈表生成單元,用于根據(jù)所述各個訪存節(jié)點的節(jié)點屬性生成節(jié)點樹鏈表; 所述調(diào)整單元還用于根據(jù)所述節(jié)點樹鏈表中訪存節(jié)點的位置關系,對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整。14.根據(jù)根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述鏈表生成單元具體用于: 確定所述訪存節(jié)點中最上層級的結(jié)構(gòu)屬性,并以所述最上層級的結(jié)構(gòu)屬性作為所述節(jié)點樹鏈表的根節(jié)點,再依次根據(jù)所述訪存節(jié)點的各個層級的結(jié)構(gòu)屬性確定所述訪存節(jié)點的鏈表路徑,生成節(jié)點樹鏈表。15.根據(jù)根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述鏈表生成單元具體還用于: 以所述動作屬性作為所述節(jié)點樹鏈表的根節(jié)點,再依次根據(jù)所述訪存節(jié)點的各個層級的結(jié)構(gòu)屬性確定所述訪存節(jié)點的鏈表路徑,生成節(jié)點樹鏈表。16.根據(jù)根據(jù)權(quán)利要求14或15所述的裝置,其特征在于, 所述鏈表生成單元具體還用于:確定所述各個訪存節(jié)點的標識序號;根據(jù)所述各個訪存節(jié)點的標識序號,在節(jié)點樹鏈表的葉子節(jié)點中依次排列所述各個訪存節(jié)點。17.根據(jù)根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述調(diào)整單元具體用于: 根據(jù)所述節(jié)點樹鏈表中訪存節(jié)點的位置關系,對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整,使得節(jié)點屬性相同的訪存節(jié)點的數(shù)據(jù)存儲位置連續(xù),且同一層級的結(jié)構(gòu)屬性下,訪存節(jié)點的數(shù)據(jù)存儲位置根據(jù)所述標識序號由小至大或由小至大依次排列。18.根據(jù)根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 合并單元,用于對訪存序列中訪問節(jié)點屬性相同,且存儲地址相鄰的訪存節(jié)點的訪存指令進行合并,生成合并后的訪存指令,所述合并后的訪存指令的訪存長度小于或等于所述消息式內(nèi)存的最大訪存長度。
【專利摘要】本發(fā)明實施例公開了一種消息訪存的編譯方法,包括:獲取消息式內(nèi)存的訪存序列;確定所述訪存序列中各個訪存節(jié)點的節(jié)點屬性;根據(jù)所述節(jié)點屬性對訪存節(jié)點的數(shù)據(jù)存儲位置進行調(diào)整,使得節(jié)點屬性相同的訪存節(jié)點的數(shù)據(jù)存儲位置連續(xù)。
【IPC分類】G06F9/30, G06F12/02
【公開號】CN104932982
【申請?zhí)枴緾N201410108230
【發(fā)明人】盧廷玉, 劉穎, 趙洪建
【申請人】華為技術(shù)有限公司, 中國科學院計算技術(shù)研究所
【公開日】2015年9月23日
【申請日】2014年3月21日