最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種動態(tài)二進制翻譯中的指令翻譯方法及裝置

文檔序號:41950091發(fā)布日期:2025-05-16 14:08閱讀:3來源:國知局
一種動態(tài)二進制翻譯中的指令翻譯方法及裝置

本發(fā)明屬于二進制翻譯,尤其涉及一種動態(tài)二進制翻譯中的指令翻譯方法及裝置。


背景技術(shù):

1、隨著體系結(jié)構(gòu)黃金時代的到來,多種新興處理器架構(gòu)不斷涌現(xiàn)。由于基于不同指令集架構(gòu)編譯的軟件無法跨平臺運行,新型處理器平臺的軟件生態(tài)成為制約其推廣的重要瓶頸。為了打破這一困局,加速生態(tài)建設(shè)和市場推廣,利用現(xiàn)有主流架構(gòu)的軟件資源對新架構(gòu)進行遷移已成為一種高效的解決方案。二進制翻譯技術(shù)具有可以在無需源代碼的情況下實現(xiàn)軟件的跨平臺運行的特點,因此成為一種關(guān)鍵的軟件跨架構(gòu)遷移手段。

2、二進制翻譯分為靜態(tài)二進制翻譯和動態(tài)二進制翻譯。前者可以將源平臺上的完整二進制代碼翻譯為目標平臺的可執(zhí)行二進制程序,翻譯后的程序可以多次重復(fù)使用,其運行效率較高,且程序執(zhí)行與翻譯過程彼此獨立,擁有更充裕的時間進行深度優(yōu)化。后者在程序運行過程中解析和翻譯代碼片段,更適合處理間接跳轉(zhuǎn)、間接調(diào)用和自修改代碼等問題。同時,動態(tài)翻譯可以在翻譯過程中發(fā)現(xiàn)一些靜態(tài)翻譯無法捕捉的優(yōu)化機會,是一種更加靈活和可擴展的二進制翻譯方式,因此成為二進制翻譯領(lǐng)域的主流選擇。

3、不同風(fēng)格的指令集之間具有一定的語義鴻溝。例如,對于傳統(tǒng)的復(fù)雜指令集x86平臺,為保存中間運算過程,其在硬件電路中專門設(shè)計了標志位寄存器和相應(yīng)的計算邏輯,主要作用是存儲相關(guān)指令執(zhí)行的附加結(jié)果、為執(zhí)行相關(guān)指令的行為提供依據(jù)、控制cpu的工作方式等。然而,在一些新興的精簡指令集架構(gòu)中,為保持指令集的簡潔性和一致性,并未設(shè)計專用的標志位寄存器。在二進制翻譯中,如果源平臺采用復(fù)雜指令集(cisc),目標平臺采用精簡指令集(risc),則需要對標志位寄存器中的標志位進行翻譯。標志位的翻譯,就是指根據(jù)源平臺指令對標志位的操作語義,在目標平臺上翻譯生成具有相同功能的指令,通過執(zhí)行這些生成的目標指令來實現(xiàn)與源平臺上標志位語義相同的功能。而精簡指令集的表達能力通常弱于復(fù)雜指令集,表達同樣的語義通常需要更多數(shù)量的指令。因此在進行二進制翻譯時,為維持語義等價,翻譯出的目標平臺中的指令數(shù)量通常會多于源平臺的指令數(shù)量,造成代碼膨脹,導(dǎo)致翻譯質(zhì)量下降。

4、中國國家專利“二進制翻譯中標志位的優(yōu)化處理方法”(公開號:cn1296815a)中也提出一種二進制翻譯中的標志位翻譯優(yōu)化策略。該發(fā)明針對二進制翻譯中的解釋執(zhí)行提出了即時計算與延遲計算相結(jié)合的解決方法,用于優(yōu)化解釋執(zhí)行中的標志位處理,減少冗余的目標指令。

5、中國國家專利“一種動態(tài)二進制翻譯中的翻譯方法”(公開號:cn1332308a)中也介紹了一種動態(tài)二進制翻譯策略,其尋找翻譯代碼中頻繁出現(xiàn)并影響翻譯質(zhì)量的翻譯代碼片斷,提出了一種基于指令模式識別的翻譯方式,降低代碼重復(fù)優(yōu)化導(dǎo)致的系統(tǒng)開銷。


技術(shù)實現(xiàn)思路

1、針對二進制翻譯標志位操作時產(chǎn)生指令冗余的問題,本發(fā)明提出一種動態(tài)二進制翻譯中的指令翻譯方法,包括:獲取源指令集架構(gòu)和目標指令集架構(gòu)的差異,識別源指令集中的特定指令序列;基于該目標指令集架構(gòu)設(shè)計該特定指令序列的翻譯規(guī)則;在動態(tài)二進制翻譯過程中,檢測源指令集架構(gòu)二進制文件中的特定指令序列;對于檢測到的特定指令序列,采用對應(yīng)的翻譯規(guī)則進行翻譯。

2、進一步的,該翻譯規(guī)則包括:將該特定指令序列中的多個源指令合并為一個或多個目標指令。

3、該特定指令序列包括該源指令集中涉及標志位的指令序列。對于該源指令集架構(gòu)二進制文件中除該特定指令序列以外的普通指令,采用常規(guī)翻譯方式進行翻譯。

4、本發(fā)明還提出一種動態(tài)二進制翻譯中的指令翻譯裝置,包括:差異比較模塊,用于獲取源指令集架構(gòu)和目標指令集架構(gòu)的差異,識別源指令集中的特定指令序列;規(guī)則生成模塊,用于基于該目標指令集架構(gòu)設(shè)計該特定指令序列的翻譯規(guī)則;動態(tài)翻譯模塊,用于在動態(tài)二進制翻譯過程中,檢測源指令集架構(gòu)二進制文件中的特定指令序列;對于檢測到的特定指令序列,采用對應(yīng)的翻譯規(guī)則進行翻譯。

5、進一步的,該翻譯規(guī)則包括:將該特定指令序列中的多個源指令合并為一個或多個目標指令。

6、該特定指令序列包括改源指令集中涉及標志位的指令序列。該動態(tài)翻譯模塊還包括:對于該源指令集架構(gòu)二進制文件中除該特定指令序列以外的普通指令,采用常規(guī)翻譯方式進行翻譯。

7、本發(fā)明還提出一種電子設(shè)備,包括如前所述的動態(tài)二進制翻譯中的指令翻譯裝置。

8、本發(fā)明一種計算機可讀存儲介質(zhì),存儲有計算機可執(zhí)行指令,其特征在于,當(dāng)該計算機可執(zhí)行指令被執(zhí)行時,實現(xiàn)如前所述的動態(tài)二進制翻譯中的指令翻譯方法。

9、本發(fā)明的動態(tài)二進制翻譯中的指令翻譯方法,基于識別出的特定指令序列,通過制定相應(yīng)的翻譯規(guī)則,以最大化消除翻譯引起的指令冗余,有效提升了二進制翻譯質(zhì)量。



技術(shù)特征:

1.一種動態(tài)二進制翻譯中的指令翻譯方法,其特征在于,包括:

2.如權(quán)利要求1所述的指令翻譯方法,其特征在于,該翻譯規(guī)則包括:將該特定指令序列中的多個源指令合并為一個或多個目標指令。

3.如權(quán)利要求1或2所述的指令翻譯方法,其特征在于,該特定指令序列包括該源指令集中涉及標志位的指令序列。

4.如權(quán)利要求1所述的指令翻譯方法,其特征在于,還包括:對于該源指令集架構(gòu)二進制文件中除該特定指令序列以外的普通指令,采用常規(guī)翻譯方式進行翻譯。

5.一種動態(tài)二進制翻譯中的指令翻譯裝置,其特征在于,包括:

6.如權(quán)利要求5所述的指令翻譯裝置,其特征在于,該翻譯規(guī)則包括:將該特定指令序列中的多個源指令合并為一個或多個目標指令。

7.如權(quán)利要求5或6所述的指令翻譯裝置,其特征在于,該特定指令序列包括該源指令集中涉及標志位的指令序列。

8.如權(quán)利要求5所述的指令翻譯裝置,其特征在于,該動態(tài)翻譯模塊還包括:對于該源指令集架構(gòu)二進制文件中除該特定指令序列以外的普通指令,采用常規(guī)翻譯方式進行翻譯。

9.一種電子設(shè)備,包括如權(quán)利要求5~8任一項所述的動態(tài)二進制翻譯中的指令翻譯裝置。

10.一種計算機可讀存儲介質(zhì),存儲有計算機可執(zhí)行指令,其特征在于,當(dāng)該計算機可執(zhí)行指令被執(zhí)行時,實現(xiàn)如權(quán)利要求1~4任一項所述的動態(tài)二進制翻譯中的指令翻譯方法。


技術(shù)總結(jié)
本發(fā)明提出一種動態(tài)二進制翻譯中的指令翻譯方法及裝置,該指令翻譯方法首先通過分析源指令集架構(gòu)和目標指令集架構(gòu)的差異尋找源指令集架構(gòu)指令中的特定指令序列,依據(jù)目標指令集架構(gòu)的特點設(shè)計特定指令序列的翻譯規(guī)則;在動態(tài)二進制翻譯時,掃描到源指令集架構(gòu)二進制文件中的特定指令序列,即采用本發(fā)明的翻譯規(guī)則進行翻譯,否則仍采用常規(guī)翻譯方式。本發(fā)明根據(jù)自定義的翻譯規(guī)則來翻譯源指令集架構(gòu)的二進制指令,降低翻譯出的目標指令集架構(gòu)的指令數(shù)量,提升翻譯質(zhì)量,從而提升二進制翻譯效率。

技術(shù)研發(fā)人員:劉宇航,王貴東
受保護的技術(shù)使用者:中國科學(xué)院計算技術(shù)研究所
技術(shù)研發(fā)日:
技術(shù)公布日:2025/5/15
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1