[發(fā)明專利]一種面向指令目標(biāo)操作數(shù)的寄存器對分配方法及存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 201910411700.2 | 申請日: | 2019-05-17 |
| 公開(公告)號: | CN110187883B | 公開(公告)日: | 2022-12-06 |
| 發(fā)明(設(shè)計)人: | 胡勇華;陸浩松;周新蓮;唐鎮(zhèn);黃友智 | 申請(專利權(quán))人: | 湖南科技大學(xué) |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 周長清;胡君 |
| 地址: | 411201*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 指令 目標(biāo) 作數(shù) 寄存器 分配 方法 存儲 介質(zhì) | ||
本發(fā)明公開一種面向指令目標(biāo)操作數(shù)的寄存器對分配方法及存儲介質(zhì),該方法步驟包括:S1.分別將待處理指令中所有目標(biāo)操作數(shù)寄存器對所包含的兩個符號寄存器均進(jìn)行獨立的寄存器分配;S2.依次獲取各條指令進(jìn)行寄存器修正分配,將寄存器對中錯誤使用寄存器使用替換寄存器進(jìn)行替換,替換寄存器根據(jù)各寄存器、寄存器對在指令操作數(shù)字段出口處的空閑狀態(tài)進(jìn)行選取,并使得每個替換寄存器使用后不再作為相同指令中其他目標(biāo)操作數(shù)的替換寄存器候選者,以及被替換出來的寄存器不作為其他被替換寄存器的替換寄存器候選者。本發(fā)明面向指令目標(biāo)操作數(shù)實現(xiàn)寄存器對分配,具有實現(xiàn)方法簡單、分配成功率及資源利用率高、靈活性強等優(yōu)點。
技術(shù)領(lǐng)域
本發(fā)明涉及編譯優(yōu)化技術(shù)領(lǐng)域,尤其涉及一種面向指令目標(biāo)操作數(shù)的寄存器對分配方法及存儲介質(zhì)。
背景技術(shù)
隨著微電子技術(shù)和嵌入式處理器技術(shù)的發(fā)展,許多微處理器特別是高性能嵌入式處理器體系結(jié)構(gòu)對數(shù)據(jù)的處理能力日益增強,一個重要的特點是體系結(jié)構(gòu)中往往有許多指令的操作數(shù)被設(shè)計成是由即寄存器對構(gòu)成。這種硬件特性的典型應(yīng)用如在指令中用寄存器對作為一個操作數(shù)來實現(xiàn)更大字長的數(shù)據(jù)處理能力或超過某個地址范圍的訪存能力。常見的寄存器對的使用規(guī)則一般要求對中的兩個寄存器是奇偶連號的。對于系統(tǒng)的編譯軟件來講,在代碼中充分利用寄存器是其的核心任務(wù)之一。為了發(fā)揮先進(jìn)體系結(jié)構(gòu)的性能,在編譯技術(shù)中,對寄存器資源的利用由寄存器分配這一過程來實現(xiàn),從而寄存器分配是現(xiàn)代優(yōu)化編譯器需要優(yōu)化的核心過程之一。
寄存器分配主要有線性掃描法和基于圖著色思想的全局寄存器分配方法兩類,其中后者基于對變量生命期的詳細(xì)刻畫,是寄存器分配效果較好的一類方法。在傳統(tǒng)的寄存器分配方法中,對寄存器對的分配均是把需要成對寄存器的地方對應(yīng)的兩個寄存器分配候選者作為一個整體,在寄存器指派時為其指派一個符合要求的物理寄存器對。該類方法盡管能夠保證為操作數(shù)指派符合要求的寄存器對,但在代碼的寄存器壓力較大時,會因成功獲得符號連號寄存器對的要求的可能性小而導(dǎo)致產(chǎn)生許多額外的溢出和訪存操作指令,使得代碼的執(zhí)行效率降低,而實際上對于數(shù)據(jù)密集型或地址量很多的程序,會有相當(dāng)一部分?jǐn)?shù)據(jù)高(或低)字內(nèi)容相同,這些相同數(shù)據(jù)實際并不需要不同的寄存器來存儲,而傳統(tǒng)的寄存器分配方法的寄存器對分配策略無法處理該類問題,從而不能充分利用寄存器資源來提升代碼的性能。此外,如果需要針對具體的體系結(jié)構(gòu)以開發(fā)某種低級中間語言的方式來實現(xiàn)獲得高效代碼,傳統(tǒng)的綁定寄存器分配候選者為一對來指派物理寄存器對的方式也不具有適用性。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題就在于:針對現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種實現(xiàn)方法簡單、分配成功率及資源利用率高、靈活性強的面向指令目標(biāo)操作數(shù)的寄存器對分配方法及存儲介質(zhì)。
為解決上述技術(shù)問題,本發(fā)明提出的技術(shù)方案為:
一種面向指令目標(biāo)操作數(shù)的寄存器對分配方法,步驟包括:
S1.初始分配:分別將待處理指令中包括成對寄存器的所有目標(biāo)操作數(shù)所包含的兩個符號寄存器均作為單寄存器分配候選者進(jìn)行獨立的寄存器分配;
S2.修正分配:依次獲取各條指令進(jìn)行寄存器修正分配,如果指令中存在至少一個以上的目標(biāo)操作數(shù)涉及寄存器對,對指令中各目標(biāo)操作數(shù)依次進(jìn)行寄存器對合法性檢查,并根據(jù)檢查結(jié)果將寄存器對中不符合使用規(guī)則的錯誤使用寄存器使用替換寄存器進(jìn)行替換,所述替換寄存器根據(jù)各寄存器、寄存器對在指令操作數(shù)字段出口處的空閑狀態(tài)進(jìn)行選取,并使得每個所述替換寄存器使用后不再作為相同指令中其他目標(biāo)操作數(shù)的替換寄存器候選者,以及被替換出來的寄存器不作為其他被替換寄存器的替換寄存器候選者。
作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟S1中,具體將目標(biāo)操作數(shù)中成對的寄存器分配候選者中的每一個都當(dāng)作對應(yīng)著單個物理寄存器的獨立單寄存器分配候選者,并與其他單寄存器分配候選者一起采用相同的寄存器分配方式分配各自的物理寄存器。
作為本發(fā)明的進(jìn)一步改進(jìn),所述步驟S2的步驟包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于湖南科技大學(xué),未經(jīng)湖南科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910411700.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 目標(biāo)檢測裝置、學(xué)習(xí)裝置、目標(biāo)檢測系統(tǒng)及目標(biāo)檢測方法
- 目標(biāo)監(jiān)測方法、目標(biāo)監(jiān)測裝置以及目標(biāo)監(jiān)測程序
- 目標(biāo)監(jiān)控系統(tǒng)及目標(biāo)監(jiān)控方法
- 目標(biāo)跟蹤方法和目標(biāo)跟蹤設(shè)備
- 目標(biāo)跟蹤方法和目標(biāo)跟蹤裝置
- 目標(biāo)檢測方法和目標(biāo)檢測裝置
- 目標(biāo)跟蹤方法、目標(biāo)跟蹤裝置、目標(biāo)跟蹤設(shè)備
- 目標(biāo)處理方法、目標(biāo)處理裝置、目標(biāo)處理設(shè)備及介質(zhì)
- 目標(biāo)處理方法、目標(biāo)處理裝置、目標(biāo)處理設(shè)備及介質(zhì)
- 目標(biāo)跟蹤系統(tǒng)及目標(biāo)跟蹤方法





