版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、GBA(GameboyAdvance)是Nintendo公司于2001年發(fā)布的便攜式娛樂設(shè)備。通過軟件其它平臺(如PC)模擬GBA的運(yùn)行環(huán)境并加載運(yùn)行GBA的應(yīng)用稱為GBA模擬器。由于硬件平臺的不同,一個高效的模擬器可以采用即時編譯器(Just-In-TimeCompiler)技術(shù),即時的把源機(jī)器指令編譯成目標(biāo)機(jī)器指令運(yùn)行。本文的目標(biāo)就是提出一套方案,在x86平臺上實現(xiàn)與優(yōu)化一個基于即時編譯器的GBA模擬器,并進(jìn)一步展望其在PSP平臺上
2、的移植。 由于模擬器和二進(jìn)制轉(zhuǎn)換器的相似性,本文首先對比和分析了現(xiàn)存的各種二進(jìn)制轉(zhuǎn)換器的方案,回顧了模擬器的發(fā)展過程以及技術(shù)特點。隨后根據(jù)GBA平臺的特性和復(fù)雜度,選擇了成熟的基于解釋執(zhí)行的模擬器VBA(VisualBoyAdvance)為研究的出發(fā)點。 本文的核心部分描述了VBA編譯內(nèi)核的實現(xiàn)與優(yōu)化的過程。首先剖析了原有的基于解釋執(zhí)行模擬器的結(jié)構(gòu)和工作原理。然后提出了要如何基于現(xiàn)有的框架結(jié)構(gòu)實現(xiàn)編譯內(nèi)核。 隨后
3、分為如下幾部分細(xì)描述了編譯內(nèi)核的實現(xiàn)機(jī)制與運(yùn)行過程: 基本塊的劃分描述了靜態(tài)和動態(tài)的基本塊劃分算法,并提出效率上更加優(yōu)化的“N級預(yù)先搜索”算法。 基本塊的組織根據(jù)GBA不同區(qū)域內(nèi)存的大小與訪問方式,分析對運(yùn)行效率有較大影響操作,提出根據(jù)訪問區(qū)域和操作優(yōu)化過的基本塊組織算法。 代碼生成描述了ARM/THUMB機(jī)器指令對應(yīng)的中間代碼,以及生成x86機(jī)器指令的過程。 編譯期優(yōu)化提出六種編譯期優(yōu)化的手段:只讀常量
4、內(nèi)嵌,常量傳播,復(fù)制傳播,消除無用標(biāo)志位更新,條件語句合并和指令重排。 基于運(yùn)行時信息的優(yōu)化程序通過虛擬機(jī)運(yùn)行的一個優(yōu)點在于,在受控運(yùn)行狀態(tài)下,可以采集到運(yùn)行信息,這些信息是直接在硬件上運(yùn)行采集不到的。虛擬機(jī)可以通過運(yùn)行時信息做出更多的優(yōu)化。這里我們選用的兩種基于運(yùn)行時信息的優(yōu)化手段:解釋與編譯混合和基本塊合并。 接下來形式化的分析和比較解釋內(nèi)核和編譯內(nèi)核的效率。提出了將我們實現(xiàn)的編譯內(nèi)核的VBA移植到PSP平臺上的方案
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 編譯原理課程設(shè)計報告(一個完整的編譯器)
- 編譯原理課程設(shè)計---一個簡單編譯器的設(shè)計與分析
- 一個出具證明編譯器系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于即時編譯器的Java語言同步優(yōu)化研究.pdf
- 即時編譯器輔助的內(nèi)存管理優(yōu)化.pdf
- 編譯原理課程設(shè)計--一個簡單文法的編譯器的設(shè)計與實現(xiàn)
- 一個光伏陣列模擬器的設(shè)計.pdf
- 一個匯編模擬器的設(shè)計與實現(xiàn).pdf
- 編譯原理課程設(shè)計--一個簡單文法的編譯器前端的設(shè)計與實現(xiàn)
- 即時編譯器輔助的對象回收和空間復(fù)用.pdf
- 一個信息災(zāi)難模擬器的設(shè)計及實現(xiàn).pdf
- 編譯原理課程設(shè)計任務(wù)書--一個簡單的編譯器的設(shè)計與分析
- OCCL編譯器——基于Linux系統(tǒng).pdf
- 用代碼緩存復(fù)用技術(shù)提升Android即時編譯器效率.pdf
- vi編譯器技巧
- mplabc編譯器介紹
- 嵌入式JavaScript引擎即時編譯器的研究與設(shè)計.pdf
- 可證編譯器.pdf
- 一個禁止在模擬器運(yùn)行游戲的解決方法
- 編譯原理課程設(shè)計--編譯器
評論
0/150
提交評論