• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于LLVM的多目標(biāo)高性能動(dòng)態(tài)二進(jìn)制翻譯框架

    2020-02-04 07:28石磊田娜康爍
    航空科學(xué)技術(shù) 2020年8期

    石磊 田娜 康爍

    摘要:動(dòng)態(tài)二進(jìn)制翻譯技術(shù)是構(gòu)造高性能異構(gòu)虛擬機(jī)的關(guān)鍵技術(shù),而代碼翻譯的質(zhì)量則是動(dòng)態(tài)二進(jìn)制翻譯性能的關(guān)鍵。本文實(shí)現(xiàn)了一種基于LLVM動(dòng)態(tài)二進(jìn)制翻譯框架,利用LLVM優(yōu)化技術(shù)以及多目標(biāo)編譯的特點(diǎn),實(shí)現(xiàn)了可以針對(duì)多個(gè)目標(biāo)體系結(jié)構(gòu)的高性能動(dòng)態(tài)二進(jìn)制翻譯。基于開源Skyeye實(shí)現(xiàn)了這種翻譯框架,并在兩種目標(biāo)體系結(jié)構(gòu)ARM和PowerPC上驗(yàn)證了框架的可移植性和運(yùn)行效率,與QEMU在ARM目標(biāo)平臺(tái)上做了性能對(duì)比,結(jié)果表明該模擬器比Qemu性能平均快10%以上。

    關(guān)鍵詞:動(dòng)態(tài)二進(jìn)制翻譯;異構(gòu)虛擬機(jī);翻譯性能;LLVM;多目標(biāo)編譯

    中圖分類號(hào):TP314文獻(xiàn)標(biāo)識(shí)碼:ADOI:10.19452/j.issn1007-5453.2020.08.012

    基金項(xiàng)目:航空科學(xué)基金(2017ZD12013)

    測(cè)試性驗(yàn)證是指“為確定裝備是否達(dá)到規(guī)定的測(cè)試性要求而進(jìn)行的試驗(yàn)與評(píng)價(jià)工作”。當(dāng)前絕大多數(shù)測(cè)試驗(yàn)證通過(guò)硬件來(lái)實(shí)現(xiàn),受制于硬件條件,在硬件平臺(tái)下基于目標(biāo)碼的異常、傷害性驗(yàn)證無(wú)法實(shí)現(xiàn),軟件測(cè)試的充分性無(wú)法保證。而基于目標(biāo)碼的虛擬測(cè)試驗(yàn)證則是建模仿真技術(shù)在測(cè)試性領(lǐng)域的一個(gè)具體應(yīng)用[1],已成為驗(yàn)證技術(shù)的重要發(fā)展方向之一,核心技術(shù)包括中央處理器(CPU)虛擬化、芯片虛擬化、接口虛擬化等,重點(diǎn)是CPU虛擬化,其實(shí)現(xiàn)目標(biāo)機(jī)與主機(jī)(PC)的即時(shí)翻譯,保證PC能夠正確識(shí)別與運(yùn)行目標(biāo)機(jī)的目標(biāo)碼程序。

    動(dòng)態(tài)二進(jìn)制翻譯技術(shù)是一種即時(shí)翻譯(JIT)技術(shù),是把某種指令體系結(jié)構(gòu)的二進(jìn)制代碼在運(yùn)行過(guò)程中翻譯成另外一種指令集體系結(jié)構(gòu)的技術(shù)[2]。目標(biāo)平臺(tái)與PC體系結(jié)構(gòu)相同,則為同構(gòu)二進(jìn)制翻譯器,一般有兩種用途:(1)實(shí)現(xiàn)熱點(diǎn)執(zhí)行路徑優(yōu)化,達(dá)到加速程序的目的,如Dynamo[3];(2)對(duì)程序執(zhí)行行為進(jìn)行剖析,達(dá)到確定程序性能瓶頸的目的,如 DynamoRIO,PIN,Valgrind等[4]。

    當(dāng)翻譯目標(biāo)指令集體系結(jié)構(gòu)不同于PC指令集體系結(jié)構(gòu),則為異構(gòu)二進(jìn)制翻譯器[5]。如谷歌的Android模擬器,使用Qemu二進(jìn)制翻譯技術(shù),把ARM體系結(jié)構(gòu)翻譯成PC指令集體系結(jié)構(gòu)(X86或者X86_64)[6],其他還包括FX!32[7]、UQDBT[8]和Walkabout[9]等??砂岩粋€(gè)特定硬件平臺(tái)的應(yīng)用移植到另外一個(gè)異構(gòu)的硬件平臺(tái),或者提供一個(gè)硬件平臺(tái)無(wú)關(guān)的虛擬運(yùn)行環(huán)境[10],或者利用多物理域仿真技術(shù)構(gòu)建仿真運(yùn)行環(huán)境[11]。

    彈載軟件大多數(shù)是嵌入式系統(tǒng),若要實(shí)現(xiàn)目標(biāo)碼的解釋與運(yùn)行,需構(gòu)建一個(gè)多目標(biāo)的異構(gòu)二進(jìn)制翻譯器,實(shí)現(xiàn)對(duì)多目標(biāo)架構(gòu)所有指令集的解釋翻譯。實(shí)踐表明,由于實(shí)現(xiàn)過(guò)程的高復(fù)雜性、通用性差,需要大量的時(shí)間、人力和優(yōu)化才有可能完成[12]。

    針對(duì)上述問題,利用LLVM[13]構(gòu)建一個(gè)多目標(biāo)高性能二進(jìn)制翻譯器Dyncom,目標(biāo)是利用LLVM的代碼優(yōu)化和生成完成二進(jìn)制翻譯過(guò)程中不同目標(biāo)架構(gòu)代碼的優(yōu)化以及生成本地指令等較為復(fù)雜又影響執(zhí)行性能的操作,實(shí)現(xiàn)多目標(biāo)、高性能翻譯的目的,生成高效的PC二進(jìn)制代碼。

    為了提高動(dòng)態(tài)翻譯執(zhí)行性能又降低實(shí)現(xiàn)的復(fù)雜性,Dyncom的代碼優(yōu)化基于LLVM中間語(yǔ)言實(shí)現(xiàn),其是一種硬件無(wú)關(guān)語(yǔ)言,通過(guò)優(yōu)化可用于所有不同目標(biāo)指令集體系結(jié)構(gòu)的翻譯,大幅減少對(duì)不同目標(biāo)指令架構(gòu)的優(yōu)化實(shí)現(xiàn)難度。主要有三個(gè)優(yōu)化:帶有一定閾值的混合執(zhí)行、基于蹤跡(trace)的超級(jí)塊構(gòu)造以及基于寄存器映射的冗余讀寫消除。

    1 Dyncom:設(shè)計(jì)和實(shí)現(xiàn)

    Dyncom以LLVM為基礎(chǔ),包含指令翻譯和通用框架,前者把目標(biāo)體系結(jié)構(gòu)的指令集逐條翻譯為L(zhǎng)LVM的中間語(yǔ)言,后者實(shí)現(xiàn)中間語(yǔ)言到PC指令的翻譯,總體體系結(jié)構(gòu)如圖1所示。

    1.1 LLVM模塊

    LLVM是一種類精簡(jiǎn)指令集架構(gòu)的低級(jí)語(yǔ)言,加入一些高級(jí)語(yǔ)言特性,如類型系統(tǒng)、矢量表示和矢量運(yùn)算等。借助類型,可對(duì)LLVM中間代碼進(jìn)行直接優(yōu)化,而這在只有二進(jìn)制信息的代碼上是無(wú)法做到的,類型可分為基本類型(整型、浮點(diǎn)型、Void類型和標(biāo)記類型等)和衍生類型(復(fù)合類型、Function類型和指針類型等)。Dyncom的中間語(yǔ)言為L(zhǎng)LVM的虛擬指令集,目的是降低開源項(xiàng)目風(fēng)險(xiǎn)、降低開發(fā)成本以及易于各種虛擬機(jī)的開發(fā)。

    LLVM中間語(yǔ)言指令有50條左右,包括二元、位、矢量、內(nèi)存和終止操作指令等。例如,終止指令用于改變程序的執(zhí)行流程,內(nèi)存指令完成復(fù)雜內(nèi)存操作,二元指令用于處理支持條件執(zhí)行的架構(gòu)指令集。

    1.2翻譯過(guò)程

    Dyncom指令翻譯使用LLVM的虛擬指令集實(shí)現(xiàn)目標(biāo)每一條指令翻譯,是一個(gè)目標(biāo)平臺(tái)指令到LLVM指令間地址的一對(duì)多變換過(guò)程,包含三個(gè)部分:寄存器獲取與條件執(zhí)行檢查、指令主體與條件標(biāo)志更新以及寄存器寫回。首先獲取寄存器結(jié)構(gòu)體指針,獲取到相應(yīng)通用寄存器/狀態(tài)寄存器值,對(duì)于ARM架構(gòu),通過(guò)檢查對(duì)應(yīng)狀態(tài)寄存器值決定是否執(zhí)行指令,通過(guò)指令主體完成操作映射,通過(guò)條件標(biāo)志更新完成通用寄存器值和PC更新,最后將其寫回到對(duì)應(yīng)結(jié)構(gòu)體中。

    ARM和SPARC(scalable processor ARChitecture)兩條指令翻譯過(guò)程示例見表1。

    指令翻譯以基本塊(basic block,BB)為粒度,使用bb表示將被分析的BB塊。第一行的SPARC指令不支持條件執(zhí)行,對(duì)add指令的翻譯按照一對(duì)多且不需要更新條件標(biāo)志的步驟實(shí)現(xiàn)。第二行的ARM指令包含條件執(zhí)行,在運(yùn)行時(shí)對(duì)相應(yīng)的標(biāo)志進(jìn)行判斷,變換時(shí),首先需要加載狀態(tài)寄存器值,根據(jù)判斷指令是否執(zhí)行,其次生成兩個(gè)bb塊:L2和L3,L2包含and指令的翻譯以及執(zhí)行后Z和N標(biāo)志位的更新,L3則是PC的更新,即無(wú)論and指令是否執(zhí)行,PC都會(huì)更新。

    指令翻譯是一個(gè)中間無(wú)跳轉(zhuǎn)指令的順序指令流,當(dāng)前端翻譯到函數(shù)調(diào)用、跳轉(zhuǎn)、返回指令時(shí),即從上一個(gè)bb塊結(jié)束后的第一條指令到該條指令為止劃分為一個(gè)基本塊,Dyncom則使用指令執(zhí)行蹤跡的方式將多個(gè)基本塊組成一個(gè)包含控制流的超級(jí)塊,其具體實(shí)現(xiàn)如圖2所示。

    整個(gè)翻譯過(guò)程被拆分成兩個(gè)部分,標(biāo)記(tag)和翻譯(translate),對(duì)代碼進(jìn)行兩次掃描,第一遍是預(yù)先分析代碼的性質(zhì),識(shí)別基本塊和超級(jí)塊,保存每一條目標(biāo)代碼指令的信息;第二遍對(duì)真正的掃描代碼進(jìn)行翻譯。經(jīng)過(guò)統(tǒng)計(jì),掃描代碼并打tag所占的時(shí)間是微乎其微的,會(huì)消耗一定量的內(nèi)存,但為真正的翻譯提供了必要的信息,簡(jiǎn)化了系統(tǒng)的復(fù)雜度,降低了開發(fā)難度和風(fēng)險(xiǎn)。翻譯完成后,將每個(gè)基本塊的地址作為哈希值記錄到哈希表中,該哈希表被稱為全局映射表,用于每個(gè)JIT執(zhí)行退出返回到Dyncom時(shí),查找下一個(gè)要執(zhí)行的bb塊所在的JIT入口地址。

    1.3執(zhí)行過(guò)程

    Dyncom采用混合執(zhí)行方式,先使用解釋模式執(zhí)行目標(biāo)指令的基本塊,對(duì)執(zhí)行過(guò)的目標(biāo)指令塊做統(tǒng)計(jì)。當(dāng)發(fā)現(xiàn)某個(gè)基本塊執(zhí)行到一個(gè)閾值,認(rèn)為該基本塊是一個(gè)熱點(diǎn),然后使用Dyncom進(jìn)行指令翻譯,其翻譯過(guò)程如上所述。指令繼續(xù)解釋執(zhí)行直到翻譯完成,并且執(zhí)行到當(dāng)前基本塊結(jié)束,下一個(gè)跳轉(zhuǎn)的基本塊位于JIT中,此時(shí)開始動(dòng)態(tài)執(zhí)行,該方法可有效利用解釋執(zhí)行時(shí)間掩蓋動(dòng)態(tài)翻譯的時(shí)間過(guò)載。

    JIT內(nèi)部執(zhí)行則需要依靠本地映射表的存在,用來(lái)解析基本塊的地址到本地代碼。本地映射表在JIT中為一個(gè)dispatch基本塊,其由一個(gè)大的switch指令構(gòu)成,類似于C語(yǔ)言的switch控制流。每次進(jìn)入JIT后,就會(huì)進(jìn)入該基本塊,dispatch根據(jù)PC的值確定在本地映射表中選擇需要執(zhí)行的基本塊地址并跳轉(zhuǎn)執(zhí)行,基本塊執(zhí)行完畢后再次回到dispatch塊,直到PC值不存在于本地映射表中,直接退出,將控制權(quán)交給Dyncom,通過(guò)全局映射表決定跳到下一個(gè)JIT執(zhí)行還是進(jìn)行翻譯操作。至此,目標(biāo)二進(jìn)制程序不斷被動(dòng)態(tài)翻譯并執(zhí)行。

    1.4目標(biāo)架構(gòu)ARM和PowerPC

    選擇軍工領(lǐng)域常用的ARM和PowerPC架構(gòu),用于驗(yàn)證動(dòng)態(tài)二進(jìn)制翻譯框架對(duì)多目標(biāo)架構(gòu)的支持。通過(guò)Dyncom能夠較為容易地把ARM指令或者PowerPC指令的應(yīng)用程序翻譯為中間語(yǔ)言,而從中間語(yǔ)言翻譯到PC指令(X86或者X86_ 64)則由LLVM的后端完成。同理,如果需要支持更多目標(biāo)體系結(jié)構(gòu),只需要把該目標(biāo)體系結(jié)構(gòu)的指令利用Dyncom翻譯為L(zhǎng)LVM的中間指令即可,本方案可以實(shí)現(xiàn)動(dòng)態(tài)二進(jìn)制翻譯框架對(duì)多目標(biāo)翻譯的支持,具有良好的通用性。

    2運(yùn)行時(shí)優(yōu)化

    2.1 JIT跳轉(zhuǎn)優(yōu)化

    Dyncom動(dòng)態(tài)翻譯執(zhí)行的粒度是逐塊(block-by-block)方式,每執(zhí)行完一個(gè)基本塊,就回到基本塊,通過(guò)本地映射表確定下一個(gè)跳轉(zhuǎn)塊,JIT中基本塊沒有控制流,而是構(gòu)成了一個(gè)基本塊同其他所有基本塊組成的一個(gè)樹狀結(jié)構(gòu)。LLVM對(duì)這種情況的優(yōu)化程度有限,因此,本文對(duì)跳轉(zhuǎn)類型分類,對(duì)能夠在JIT內(nèi)跳轉(zhuǎn)的情況不再調(diào)度,減少本地映射表中存儲(chǔ)地址的數(shù)量。

    Dyncom的分支類型有兩類:直接分支是在JIT編譯時(shí)目的地址已知的分支,間接分支是在JIT編譯時(shí)未知目的地址的分支。當(dāng)翻譯到一個(gè)分支時(shí),會(huì)有以下情況:

    (1)直接分支

    若目標(biāo)分支不在JIT區(qū)域內(nèi),直接返回,由全局映射表決定執(zhí)行步驟。

    (2)直接分支

    若目標(biāo)分支在JIT區(qū)域內(nèi),直接跳轉(zhuǎn)到目標(biāo)基本塊,不再調(diào)度,從本地映射表中刪除目標(biāo)項(xiàng)。

    (3)間接分支

    直接跳轉(zhuǎn)到基本塊處理。

    經(jīng)過(guò)跳轉(zhuǎn)分類處理后JIT內(nèi)部能夠?qū)Ψ种D(zhuǎn)情況形成控制流,獲取更多信息,分析發(fā)現(xiàn),優(yōu)化跳轉(zhuǎn)后JIT代碼體積明顯變小,性能有一定提升。

    2.2全局寄存器映射

    雖然LLVM中間表示(IR)提供了無(wú)窮虛擬寄存器,但其是靜態(tài)單一賦值(SSA)形式,且目標(biāo)架構(gòu)的寄存器運(yùn)行時(shí)狀態(tài)值會(huì)一直變化,很難維護(hù)運(yùn)行時(shí)狀態(tài),因此不能把每個(gè)目標(biāo)架構(gòu)的寄存器都匹配到一個(gè)LLVM寄存器。Dyncom通過(guò)指針將寄存器結(jié)構(gòu)體傳入JIT,每次獲取寄存器值時(shí),首先獲取相應(yīng)寄存器對(duì)應(yīng)的地址,再通過(guò)加載指令獲取到對(duì)應(yīng)的值。分析發(fā)現(xiàn),生成的IR中包含大量的地址計(jì)算,屬于冗余指令。

    使用LLVM的alloca指令實(shí)現(xiàn)JIT基本的寄存器的映射,用于在程序棧上分配空間給局部變量,一般用于處理函數(shù)參數(shù)。在JIT的entry基本塊,首先獲取所有寄存器對(duì)應(yīng)的地址,其次使用alloca指令分配??臻g并將寄存器地址存入后,再次讀取該棧空間的值,后續(xù)使用時(shí),直接通過(guò)load指令讀取該地址的值即可,該優(yōu)化可減少每次獲取寄存器值時(shí)需要的地址計(jì)算,且只在entry基本塊中存儲(chǔ)和加載。

    2.3基本塊粒度冗余指令消除

    經(jīng)過(guò)全局映射優(yōu)化處理后的JIT,雖然地址計(jì)算大大減少,但在基本塊中,對(duì)于寄存器狀態(tài)的處理過(guò)程一般為在基本塊起始位置讀入寄存器到內(nèi)存的臨時(shí)變量中,然后對(duì)其進(jìn)行操作,在基本塊運(yùn)行結(jié)束之前再將對(duì)應(yīng)臨時(shí)變量的值寫回到原有寄存器,而且指令與指令操作數(shù)之間原有的依賴導(dǎo)致通過(guò)LLVM原有的優(yōu)化策略無(wú)法消除由于SSA形式產(chǎn)生冗余指令的情況。

    本文是針對(duì)單一執(zhí)行流的基本塊進(jìn)行冗余指令的優(yōu)化,更大范圍的交由LLVM處理。翻譯過(guò)程中,為每個(gè)基本塊建立一個(gè)LLVM虛擬寄存器到目標(biāo)寄存器的映射表,每次加載寄存器之前,先掃描映射表,若表中沒有,則加載,并存入到表中,若存在,則直接使用。寫回寄存器之前,同樣掃描映射表,若表中沒有,則存入;否則,更新表中存在的值。當(dāng)基本塊翻譯結(jié)束時(shí),將表中所有已標(biāo)記值寫回到對(duì)應(yīng)寄存器,同時(shí)清空映射表。該項(xiàng)優(yōu)化減少了大量包含依賴關(guān)系的load/store指令,性能提升較大。

    3試驗(yàn)以及評(píng)估

    為評(píng)估Dyncom的性能,進(jìn)行對(duì)比試驗(yàn),試驗(yàn)環(huán)境見表2。

    使用基于LLVM 2.8的Skyeye 1.3.4-rc1同QEMU 2.0.0進(jìn)行性能比對(duì)測(cè)試,測(cè)試用例為EEMBC的cjpeg1000,運(yùn)行結(jié)果以時(shí)間秒為單位,為了減少誤差,樣本運(yùn)行100次,并取平均值。運(yùn)行結(jié)果見表3,結(jié)果顯示,優(yōu)化后平均性能比QEMU高10%以上。

    4結(jié)論

    本文首先闡述了動(dòng)態(tài)二進(jìn)制翻譯的基本概念,說(shuō)明Dyncom使用LLVM作為動(dòng)態(tài)二進(jìn)制翻譯框架的原因。其次,分析Dyncom的實(shí)現(xiàn)框架和工作原理,詳述翻譯過(guò)程和執(zhí)行過(guò)程,并在LLVM IR層次實(shí)現(xiàn)跳轉(zhuǎn)優(yōu)化和基本塊粒度的冗余消除優(yōu)化,提升了性能。最后,通過(guò)與QEMU進(jìn)行對(duì)比,證明基于LLVM的Dyncom動(dòng)態(tài)翻譯的高性能,以及多目標(biāo)翻譯框架代碼的可實(shí)現(xiàn)性。

    相比于QEMU,Dyncom只關(guān)注目標(biāo)體系架構(gòu)到LLVM中間指令的翻譯過(guò)程,中間語(yǔ)言到PC體系架構(gòu)的指令翻譯由LLVM自動(dòng)完成。在最新的LLVM 10.0版本中,LLVM支持常用的ARM、PowerPC、X86、RiscV等不同的體系結(jié)構(gòu),幾乎不用做任何移植工作,即可把目標(biāo)體系架構(gòu)翻譯為L(zhǎng)LVM支持的數(shù)十種后端體系結(jié)構(gòu),但QEMU支持新的PC體系結(jié)構(gòu)則需要大量的手動(dòng)翻譯的編碼實(shí)現(xiàn),由此可見,Dyncom的可移植性遠(yuǎn)高于QEMU。

    Dyncom在冗余消除粒度上仍然過(guò)小,JIT中仍然有很多冗余指令,由于其操作數(shù)跨基本塊使用,導(dǎo)致無(wú)法對(duì)其進(jìn)行刪除,另外由于局部映射表對(duì)所有的基本塊都進(jìn)行了存儲(chǔ),也限制了處理能力,本文后續(xù)將從這兩點(diǎn)入手進(jìn)行優(yōu)化。

    參考文獻(xiàn)

    [1]張勇,邱靜,劉冠軍,等.面向測(cè)試性虛擬驗(yàn)證的功能-故障-行為-測(cè)試-環(huán)境一體化模型[J].航空學(xué)報(bào),2012,33(2):273-286. Zhang Yong, Qiu Jing, Liu Guanjun, et al.Integrated functionfault-behavior-test-environment model for virtual testability verfication[J]. Acta Aeronautica et Astroautica Sinica, 2012,33(2):273-286.(in Chinese)

    [2]Tom S,Harry W,Bj?rn F,et al. Efficient code generation in a region-based dynamic binary translator[C]// LCTES 14:Proceedings of the 2014 SIGPLAN/SIGBED Conference on Languages,Compilers and Tools for Embedded Systems. Edinburgh,United Kingdom,2014:3-12.

    [3]Hsu C C,Liu P,Wu J J,et al. Improving dynamic binary optimization through early-exit guided code region formation[C]// Proceedings of the 9th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments. New York,United States,2013:23-32.

    [4]Rodríguez R J,Artal J A,Merseguer J. Performance evaluation of dynamic binary instrumentation framework[J]. IEEE LatinAmerica Transactions,2014,12(8):1572-1580.

    [5]Hsu C C,Liu P,Wang C M,et al. Lnq:Building high performance dynamic binary translators with existing compiler backends[C]// 2011 International Conference on Parallel Processing. Taipei,Taiwan,2011:226-234.

    [6]Hsu C C,Hong D Y,Hsu W C,et al. A dynamic binary translation system in a client/server environment[J]. Journal of SystemsArchitecture,2015,61(7):307-319.

    [7]李劍慧,馬湘寧,朱傳琪.動(dòng)態(tài)二進(jìn)制翻譯與優(yōu)化技術(shù)研究[J].計(jì)算機(jī)研究與發(fā)展, 2007, 44(1): 161-168. Li Jianhui, Ma Xiangning, Zhu Chuanqi. Dynamic binary translation and optimization[J]. Journal of Computer Research and Development, 2007, 44(1): 161-168.(in Chinese)

    [8]Ung D,Cifuentes C. Dynamic binary translation using runtime feedbacks[J]. Science of Computer Programming,2006,60(2):189-204.

    [9]Cristina C,Brian L,David U. Walkabout:A retargetable dynamic binary translation framework[R]. Forth Workshop on Binary Translation. Virginia,United States,2002:1-30.

    [10]董衛(wèi)宇,劉金鑫,戚旭衍,等.基于熱例程的動(dòng)態(tài)二進(jìn)制翻譯優(yōu)化[J].計(jì)算機(jī)科學(xué), 2016 (5):27-41. Dong Weiyu, Liu Jinxin, Qi Xuyan, et al. Hot-routine based optimization of dynamic binary translation[J]. Computer Science, 2016 (5): 27-41.(in Chinese)

    [11]聶同攀.基于模型的機(jī)電系統(tǒng)多物理域仿真技術(shù)應(yīng)用研究[J].航空科學(xué)技術(shù), 2017(7):68-72. Nie Tongpan. The simulation technology application research ofmodel-basedelectromechanicalsystemsmuti-physical domain[J].Aeronautical Science & Technology,2017(7):68-72.(in Chinese)

    [12]陳頊顥,鄭重,沈立,等.二進(jìn)制翻譯中代碼生成的子圖覆蓋算法[J].計(jì)算機(jī)科學(xué)與探索, 2011, 5(7):613-623. Chen Xuhao, Zheng Zhong, Shen Li, et al. Subgraph covering for efficient code generation in binary translation[J]. Journal of Frontiers of Computer Science and Technology, 2011, 5(7): 613-623.(in Chinese)

    [13]Carsten S,F(xiàn)lorian M,Stephan F. LLBMC:a bounded model checkerforLLVMsintermediaterepresentation[C]// International Conference on Tools and Algorithms for the Construction and Analysis of Systems. Tallinn,Estonia,2012:542-544.(責(zé)任編輯陳東曉)

    作者簡(jiǎn)介

    石磊(1978-)男,碩士,高級(jí)工程師。主要研究方向:彈載軟件測(cè)試驗(yàn)證技術(shù)。

    Tel:15538868517

    E-mail:smxsuperboy@126.com

    田娜(1983-)女,學(xué)士,工程師。主要研究方向:嵌入式系統(tǒng)、處理器驗(yàn)證。

    Tel:13501153049

    E-mail:tianna@digiproto.com

    康爍(1978-)男,碩士,工程師。主要研究方向:處理器仿真及驗(yàn)證,軟件安全。

    Tel:13651119140

    E-mail:ksh@skyeye.org

    LLVM-Based Multiple Targets High-Performance Dynamic Binary Translation Framework

    Shi Lei1,*,Tian Na2,Kang Shuo3

    1. China Air to Air Missile Research Institute,Luoyang 471000,China

    2. Beijing Digiproto Technology Co.,Ltd.,Beijing 100085,China

    3. Research Institute of Information Technology,Tsinghua University,Beijing 100084,China

    Abstract: Dynamic binary translation is a key technology of constructing high-performance heterogeneous virtual machine, while the quality of the code translation is the key of dynamic binary translation performance. An LLVMbased dynamic binary translation framework is implemented. Utilizing LLVM optimization technology and the features of multiple target compiling, the high performance dynamic binary translation for multiple target architectures is implemented. The dynamic binary translation framework is implemented based on open source software Skyeye. The portability and performance were verified on two target architectures ARM and PowerPC. Compared with Qemu on ARM target platform, experiment results show that the average performance is faster than QEMU by over 10%.

    Key Words: dynamic binary translation; heterogeneous virtual machine; translation performance; LLVM; multiple targets translation

    色综合色国产| 天天躁夜夜躁狠狠久久av| 全区人妻精品视频| 女同久久另类99精品国产91| 身体一侧抽搐| 村上凉子中文字幕在线| 午夜福利在线在线| 国内揄拍国产精品人妻在线| 久久久久久久久大av| 黄片wwwwww| 一区二区三区高清视频在线| 一级a爱片免费观看的视频| 日韩精品青青久久久久久| 伦理电影大哥的女人| 国内精品一区二区在线观看| 国产成人影院久久av| 搡老岳熟女国产| 国产精品乱码一区二三区的特点| 久久久国产成人精品二区| 卡戴珊不雅视频在线播放| 久久精品国产自在天天线| 精品人妻一区二区三区麻豆 | 国产一区亚洲一区在线观看| 亚洲精品亚洲一区二区| 变态另类成人亚洲欧美熟女| 寂寞人妻少妇视频99o| 国产精品综合久久久久久久免费| 男人舔奶头视频| 国产黄a三级三级三级人| 欧美在线一区亚洲| 热99re8久久精品国产| 91精品国产九色| 国产在视频线在精品| 国产av麻豆久久久久久久| 成人永久免费在线观看视频| 日本黄大片高清| 99国产极品粉嫩在线观看| 热99在线观看视频| 欧美一区二区国产精品久久精品| 禁无遮挡网站| a级毛色黄片| 尤物成人国产欧美一区二区三区| 搡老熟女国产l中国老女人| 亚洲经典国产精华液单| 免费看a级黄色片| 日本色播在线视频| 成人特级av手机在线观看| 变态另类丝袜制服| 性插视频无遮挡在线免费观看| 亚洲人与动物交配视频| 精品人妻一区二区三区麻豆 | 国产男靠女视频免费网站| 婷婷色综合大香蕉| 久久人人爽人人爽人人片va| 最近手机中文字幕大全| 日韩一区二区视频免费看| 亚洲国产精品合色在线| 91久久精品电影网| 搡女人真爽免费视频火全软件 | 久久婷婷人人爽人人干人人爱| 婷婷六月久久综合丁香| 亚洲激情五月婷婷啪啪| 国产探花极品一区二区| 国产精品一区二区免费欧美| 国产成人aa在线观看| 日韩强制内射视频| 欧美bdsm另类| 久久人人精品亚洲av| 亚洲av二区三区四区| 天堂av国产一区二区熟女人妻| 亚洲人与动物交配视频| videossex国产| 国产黄a三级三级三级人| 人人妻人人澡欧美一区二区| 女同久久另类99精品国产91| 婷婷亚洲欧美| 国产探花极品一区二区| 久久鲁丝午夜福利片| 亚洲精华国产精华液的使用体验 | 亚洲一级一片aⅴ在线观看| 校园人妻丝袜中文字幕| 97在线视频观看| 国产真实乱freesex| 内地一区二区视频在线| 少妇的逼水好多| 中文字幕av在线有码专区| 国产伦精品一区二区三区四那| 97超级碰碰碰精品色视频在线观看| 久久久久久久亚洲中文字幕| 成人av一区二区三区在线看| 十八禁网站免费在线| 一级毛片我不卡| 午夜免费激情av| 观看美女的网站| 精品午夜福利视频在线观看一区| 91精品国产九色| 国产乱人偷精品视频| 真实男女啪啪啪动态图| 亚洲图色成人| 亚洲天堂国产精品一区在线| 性欧美人与动物交配| 国产精华一区二区三区| 久久午夜亚洲精品久久| 久久精品国产99精品国产亚洲性色| 亚洲国产精品国产精品| 乱码一卡2卡4卡精品| 一卡2卡三卡四卡精品乱码亚洲| 精品久久久久久久久久久久久| 久久人妻av系列| 国产探花在线观看一区二区| 黄色欧美视频在线观看| 亚洲无线观看免费| 欧美日韩国产亚洲二区| 内射极品少妇av片p| 国产黄色视频一区二区在线观看 | 欧美zozozo另类| or卡值多少钱| 欧美一区二区国产精品久久精品| 成人特级av手机在线观看| 亚洲熟妇熟女久久| 天堂√8在线中文| 九色成人免费人妻av| 欧美成人a在线观看| 国产69精品久久久久777片| a级毛色黄片| 乱码一卡2卡4卡精品| 又黄又爽又免费观看的视频| 最好的美女福利视频网| 久久久精品94久久精品| 日韩 亚洲 欧美在线| 最近最新中文字幕大全电影3| 内射极品少妇av片p| 国产爱豆传媒在线观看| 国产欧美日韩精品亚洲av| 国产成人a∨麻豆精品| 最近2019中文字幕mv第一页| 狂野欧美激情性xxxx在线观看| 搡女人真爽免费视频火全软件 | 精品久久久久久久久久久久久| 免费观看精品视频网站| 国产成人精品久久久久久| 少妇的逼好多水| 给我免费播放毛片高清在线观看| 国产成人一区二区在线| 亚洲真实伦在线观看| 欧美最新免费一区二区三区| 校园春色视频在线观看| 久久精品国产亚洲网站| 在线国产一区二区在线| 欧美人与善性xxx| 午夜a级毛片| av在线天堂中文字幕| 麻豆国产av国片精品| 国产综合懂色| 国产探花极品一区二区| 天堂√8在线中文| 免费搜索国产男女视频| 国内精品宾馆在线| av专区在线播放| 欧美日本亚洲视频在线播放| 久久午夜亚洲精品久久| 国产精品电影一区二区三区| 全区人妻精品视频| 成年版毛片免费区| 99在线人妻在线中文字幕| 国产黄色视频一区二区在线观看 | 亚洲七黄色美女视频| 少妇高潮的动态图| 亚洲在线观看片| 美女内射精品一级片tv| 日日摸夜夜添夜夜爱| 久久国内精品自在自线图片| 日韩高清综合在线| 国产成人a∨麻豆精品| 久久久精品欧美日韩精品| 欧美一区二区国产精品久久精品| 男女之事视频高清在线观看| 校园人妻丝袜中文字幕| 国产高清有码在线观看视频| 偷拍熟女少妇极品色| 久久久久久久久久黄片| 男人舔奶头视频| 网址你懂的国产日韩在线| 黄色欧美视频在线观看| 男人狂女人下面高潮的视频| 中文字幕精品亚洲无线码一区| 舔av片在线| 又粗又爽又猛毛片免费看| 人妻丰满熟妇av一区二区三区| 蜜桃久久精品国产亚洲av| 人妻丰满熟妇av一区二区三区| 亚洲av电影不卡..在线观看| 国产又黄又爽又无遮挡在线| 午夜视频国产福利| 亚洲av二区三区四区| 1000部很黄的大片| 日本免费一区二区三区高清不卡| 亚洲人成网站在线播放欧美日韩| 熟女电影av网| 两个人的视频大全免费| 日韩av不卡免费在线播放| 天天躁夜夜躁狠狠久久av| 搡老岳熟女国产| 国产高清视频在线观看网站| 最近视频中文字幕2019在线8| 国产精品久久久久久久久免| 久久草成人影院| 内地一区二区视频在线| 人妻丰满熟妇av一区二区三区| 伦精品一区二区三区| 在线a可以看的网站| 国产精品一区二区三区四区免费观看 | 国产精品久久久久久精品电影| 日日撸夜夜添| 精品久久久久久久久亚洲| 最新中文字幕久久久久| 久久99热这里只有精品18| 亚洲av熟女| 午夜激情福利司机影院| 看片在线看免费视频| 国产精品一区二区三区四区免费观看 | 一本精品99久久精品77| 国产伦精品一区二区三区四那| 国产大屁股一区二区在线视频| 激情 狠狠 欧美| 麻豆国产97在线/欧美| 国产国拍精品亚洲av在线观看| 久久精品久久久久久噜噜老黄 | 两个人的视频大全免费| 亚洲中文字幕日韩| 亚洲av二区三区四区| 成人亚洲欧美一区二区av| 五月玫瑰六月丁香| 舔av片在线| 久久午夜福利片| 国产黄色视频一区二区在线观看 | 国产精品一二三区在线看| 国产欧美日韩精品一区二区| 又粗又爽又猛毛片免费看| 亚洲av免费在线观看| 亚洲av熟女| 亚洲国产色片| 久久久久久久久久久丰满| 性欧美人与动物交配| 桃色一区二区三区在线观看| av在线老鸭窝| 成人一区二区视频在线观看| 国产精品电影一区二区三区| 在线播放无遮挡| 日韩国内少妇激情av| 天天一区二区日本电影三级| 乱码一卡2卡4卡精品| 亚洲欧美成人精品一区二区| 国产熟女欧美一区二区| 亚洲av成人av| 熟女人妻精品中文字幕| 尾随美女入室| 国产av在哪里看| 露出奶头的视频| 日韩 亚洲 欧美在线| 国产综合懂色| 老熟妇仑乱视频hdxx| 九色成人免费人妻av| 51国产日韩欧美| 精品久久久久久久人妻蜜臀av| 久久久午夜欧美精品| 欧美性感艳星| 又爽又黄无遮挡网站| 国产精品乱码一区二三区的特点| 免费电影在线观看免费观看| 99国产精品一区二区蜜桃av| 高清毛片免费看| 欧美区成人在线视频| 99热只有精品国产| 少妇人妻精品综合一区二区 | 一个人观看的视频www高清免费观看| 欧美高清性xxxxhd video| 日韩国内少妇激情av| 成人av一区二区三区在线看| 深夜a级毛片| 激情 狠狠 欧美| 性插视频无遮挡在线免费观看| 国产中年淑女户外野战色| 别揉我奶头~嗯~啊~动态视频| 高清毛片免费观看视频网站| 18禁裸乳无遮挡免费网站照片| 亚洲天堂国产精品一区在线| 国产精品综合久久久久久久免费| 久久综合国产亚洲精品| 又爽又黄a免费视频| 身体一侧抽搐| 深爱激情五月婷婷| 精品人妻一区二区三区麻豆 | 免费av不卡在线播放| 国产精品人妻久久久影院| 禁无遮挡网站| 午夜日韩欧美国产| 日韩精品有码人妻一区| 国产亚洲精品久久久com| 天堂av国产一区二区熟女人妻| 精品不卡国产一区二区三区| 亚洲熟妇熟女久久| 中出人妻视频一区二区| 欧美三级亚洲精品| 我要搜黄色片| 99热这里只有精品一区| 91久久精品电影网| av在线播放精品| 国产在线精品亚洲第一网站| 欧美+亚洲+日韩+国产| 一级毛片久久久久久久久女| 精品久久久久久久久久久久久| 麻豆久久精品国产亚洲av| 97在线视频观看| 麻豆精品久久久久久蜜桃| .国产精品久久| 长腿黑丝高跟| 亚洲精品456在线播放app| 波野结衣二区三区在线| 国国产精品蜜臀av免费| 在现免费观看毛片| 中文在线观看免费www的网站| 色哟哟哟哟哟哟| 我的女老师完整版在线观看| 性色avwww在线观看| 亚洲天堂国产精品一区在线| 国产成人a区在线观看| 如何舔出高潮| 麻豆乱淫一区二区| 成人精品一区二区免费| 中文亚洲av片在线观看爽| 亚洲电影在线观看av| 国内精品一区二区在线观看| 久久精品人妻少妇| 国产 一区精品| 国产一区亚洲一区在线观看| 欧美色视频一区免费| 国产激情偷乱视频一区二区| 国产一级毛片七仙女欲春2| 国国产精品蜜臀av免费| 精品午夜福利视频在线观看一区| 亚洲国产日韩欧美精品在线观看| 亚洲图色成人| 性色avwww在线观看| 观看美女的网站| 久久综合国产亚洲精品| 欧美成人一区二区免费高清观看| 国产精品一区www在线观看| av免费在线看不卡| 波多野结衣高清作品| or卡值多少钱| 俺也久久电影网| 久久精品国产99精品国产亚洲性色| 观看免费一级毛片| 中文资源天堂在线| 亚洲中文日韩欧美视频| 日韩av不卡免费在线播放| 欧美日韩精品成人综合77777| 精品人妻视频免费看| 菩萨蛮人人尽说江南好唐韦庄 | 内射极品少妇av片p| av天堂在线播放| 精品久久久久久久久av| 男女视频在线观看网站免费| 成人无遮挡网站| 校园春色视频在线观看| 日韩在线高清观看一区二区三区| 亚洲中文日韩欧美视频| 国内少妇人妻偷人精品xxx网站| 一级a爱片免费观看的视频| 久久久久久大精品| 午夜激情福利司机影院| 国产伦一二天堂av在线观看| 日韩人妻高清精品专区| 亚洲内射少妇av| 精品欧美国产一区二区三| 欧美潮喷喷水| 我的老师免费观看完整版| 一进一出好大好爽视频| 亚洲内射少妇av| 好男人在线观看高清免费视频| 老女人水多毛片| 亚洲国产高清在线一区二区三| 日韩精品青青久久久久久| 色哟哟·www| 精品无人区乱码1区二区| 人妻夜夜爽99麻豆av| 免费观看的影片在线观看| 免费av不卡在线播放| 日韩成人av中文字幕在线观看 | 日韩欧美一区二区三区在线观看| 国产精品久久久久久久久免| 男女啪啪激烈高潮av片| 欧美成人一区二区免费高清观看| 国产精品一区二区三区四区免费观看 | 久久九九热精品免费| 午夜精品国产一区二区电影 | 男女下面进入的视频免费午夜| 亚洲av一区综合| 欧美3d第一页| 日韩国内少妇激情av| 蜜臀久久99精品久久宅男| 深夜精品福利| 亚洲高清免费不卡视频| 欧美极品一区二区三区四区| 中文资源天堂在线| 日本五十路高清| 日本色播在线视频| 国产成年人精品一区二区| 亚洲婷婷狠狠爱综合网| 精品人妻熟女av久视频| 久99久视频精品免费| 亚洲成a人片在线一区二区| 精品久久久久久久久久久久久| 欧美激情国产日韩精品一区| 亚洲成人久久性| 国产精品国产三级国产av玫瑰| 性插视频无遮挡在线免费观看| 成熟少妇高潮喷水视频| 少妇熟女aⅴ在线视频| 亚洲中文字幕一区二区三区有码在线看| 午夜福利18| 国产亚洲精品久久久com| 十八禁国产超污无遮挡网站| 亚洲精品成人久久久久久| 亚洲欧美日韩高清专用| 欧美不卡视频在线免费观看| 嫩草影院精品99| 真实男女啪啪啪动态图| 91午夜精品亚洲一区二区三区| 18禁在线播放成人免费| 最后的刺客免费高清国语| 搞女人的毛片| 波多野结衣高清作品| 欧美国产日韩亚洲一区| 久久久午夜欧美精品| 日本一二三区视频观看| 久久久久久久久久成人| 麻豆国产97在线/欧美| 日本三级黄在线观看| 国产老妇女一区| 国产精品女同一区二区软件| 精品久久久久久久久久久久久| 欧美一区二区精品小视频在线| 亚洲aⅴ乱码一区二区在线播放| 久久亚洲国产成人精品v| 18禁黄网站禁片免费观看直播| 亚洲最大成人手机在线| 亚洲成人av在线免费| 欧美激情在线99| 国产伦在线观看视频一区| 丰满人妻一区二区三区视频av| 国产aⅴ精品一区二区三区波| 搡女人真爽免费视频火全软件 | 亚洲成人久久爱视频| 赤兔流量卡办理| 露出奶头的视频| 天堂av国产一区二区熟女人妻| 精品乱码久久久久久99久播| 国产av一区在线观看免费| 国产真实伦视频高清在线观看| 卡戴珊不雅视频在线播放| 国产精品伦人一区二区| 久久久久国产精品人妻aⅴ院| 97碰自拍视频| 69av精品久久久久久| 国产乱人偷精品视频| 免费无遮挡裸体视频| 国产不卡一卡二| 国产三级在线视频| 国产精品精品国产色婷婷| 国产亚洲欧美98| 蜜桃亚洲精品一区二区三区| 国产亚洲精品久久久久久毛片| 啦啦啦观看免费观看视频高清| 最好的美女福利视频网| 久久精品夜色国产| 在线观看av片永久免费下载| 国产一级毛片七仙女欲春2| 看非洲黑人一级黄片| 亚洲五月天丁香| 欧美激情国产日韩精品一区| 噜噜噜噜噜久久久久久91| 国产色爽女视频免费观看| 国产精品久久久久久精品电影| 国产精品久久电影中文字幕| 亚洲成人中文字幕在线播放| 国产日本99.免费观看| 国产精品久久久久久亚洲av鲁大| 国产麻豆成人av免费视频| 亚洲中文字幕一区二区三区有码在线看| 男人的好看免费观看在线视频| av天堂中文字幕网| 免费搜索国产男女视频| 久久精品国产亚洲av涩爱 | 日本 av在线| 中文字幕免费在线视频6| 色噜噜av男人的天堂激情| 在线看三级毛片| 亚洲欧美成人综合另类久久久 | 级片在线观看| 国产精品爽爽va在线观看网站| 亚洲欧美日韩东京热| 国产成人影院久久av| 12—13女人毛片做爰片一| 91精品国产九色| 99久久中文字幕三级久久日本| 国产精品电影一区二区三区| 亚洲av熟女| av.在线天堂| 亚洲成a人片在线一区二区| 精品一区二区免费观看| 久久久欧美国产精品| 免费人成视频x8x8入口观看| 成人毛片a级毛片在线播放| 精品午夜福利视频在线观看一区| 亚洲熟妇中文字幕五十中出| 亚洲国产日韩欧美精品在线观看| 午夜老司机福利剧场| 日韩av不卡免费在线播放| 国产91av在线免费观看| 哪里可以看免费的av片| 国产精品综合久久久久久久免费| 校园春色视频在线观看| 有码 亚洲区| 国产精品一区二区三区四区免费观看 | 午夜视频国产福利| 亚洲精品影视一区二区三区av| 国产精品1区2区在线观看.| 国产精品久久视频播放| av.在线天堂| 亚洲一区高清亚洲精品| 久久久成人免费电影| 真实男女啪啪啪动态图| 亚洲内射少妇av| 欧美绝顶高潮抽搐喷水| 国产欧美日韩一区二区精品| 看非洲黑人一级黄片| 亚洲丝袜综合中文字幕| 毛片一级片免费看久久久久| 91午夜精品亚洲一区二区三区| 日本在线视频免费播放| 嫩草影院精品99| 插逼视频在线观看| 你懂的网址亚洲精品在线观看 | 乱系列少妇在线播放| 亚洲欧美成人综合另类久久久 | 国内精品久久久久精免费| 最近中文字幕高清免费大全6| 精品一区二区三区人妻视频| 91精品国产九色| 日本精品一区二区三区蜜桃| 特级一级黄色大片| 麻豆成人午夜福利视频| 美女大奶头视频| 欧美最黄视频在线播放免费| 岛国在线免费视频观看| 国产精品久久久久久久电影| 精品欧美国产一区二区三| 黄片wwwwww| 天堂av国产一区二区熟女人妻| 精品久久久久久久末码| 人人妻,人人澡人人爽秒播| 尤物成人国产欧美一区二区三区| 99九九线精品视频在线观看视频| 午夜福利在线观看免费完整高清在 | 蜜桃亚洲精品一区二区三区| 九色成人免费人妻av| 网址你懂的国产日韩在线| 最近2019中文字幕mv第一页| 久久久成人免费电影| 色5月婷婷丁香| 春色校园在线视频观看| 五月伊人婷婷丁香| 美女被艹到高潮喷水动态| 亚洲婷婷狠狠爱综合网| 日本与韩国留学比较| 99热这里只有是精品50| 69av精品久久久久久| 此物有八面人人有两片| 午夜久久久久精精品| 18禁在线播放成人免费| 国产免费一级a男人的天堂| 女的被弄到高潮叫床怎么办| 色综合站精品国产| 亚洲成人av在线免费| 久久精品国产99精品国产亚洲性色| 亚洲18禁久久av| 成人高潮视频无遮挡免费网站| 最近2019中文字幕mv第一页| 国产私拍福利视频在线观看| 国产精品99久久久久久久久| 国产人妻一区二区三区在| 国产精品久久久久久精品电影| 欧美+日韩+精品| 好男人在线观看高清免费视频| 欧美bdsm另类| 亚洲欧美日韩高清在线视频| 深夜精品福利| 国产精品不卡视频一区二区| 亚洲自拍偷在线| 欧美xxxx黑人xx丫x性爽| 亚洲成人av在线免费| 简卡轻食公司| 成人三级黄色视频| 亚洲国产精品国产精品| 久久久久久久久久黄片| 精品久久久久久久人妻蜜臀av| av在线播放精品| 不卡一级毛片| 欧美xxxx性猛交bbbb| 国产精品无大码| 亚洲国产精品久久男人天堂| 国产国拍精品亚洲av在线观看| 日日摸夜夜添夜夜添av毛片|