簡易檢索 / 詳目顯示

研究生: 王怡婷
Wang, Yi-Ting
論文名稱: Java 硬體加速器
A Java Accelerator
指導教授: 侯廷偉
Hou, Ting-Wei
學位類別: 碩士
Master
系所名稱: 工學院 - 工程科學系碩士在職專班
Department of Engineering Science (on the job class)
論文出版年: 2006
畢業學年度: 94
語文別: 中文
論文頁數: 60
中文關鍵詞: Java 虛擬機硬體加速Java
外文關鍵詞: hardware accelerator, Java, Java Virtual Machine
相關次數: 點閱:123下載:2
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文就針對提升 Java 的執行效率的問題,實作一個 Java 硬體的加速器,用以提升 Java 執行效能。實作於開放原始碼的 JamVM 上,在保持 JVM 原有架構的情況下,將 Java Bytecode 分成軟體實作與硬體實作,在需要執行 Java程式時,將硬體實作的Java Bytecode載入到Java硬體加速器,直接進行Java位元碼的直譯,執行結束後,傳回操作堆疊與區域變數的值,藉由硬體來提升整體 Java 虛擬機器的執行速度。
    硬體加速器實作出來的效能在執行效能評估程式時,比未使用硬體加速器時的效能視評估程式的特性而定。就幾乎無重覆執行性的程式而言,由於載入程式片段進入硬體的加速器的額外時間,效能會稍差。但對重覆執行性高的程式而言,可相對提升3.5~7倍的效能。

    In this thesis, we are to speedup the performance of Java programs. We design and implement a Java hardware accelerator to cooperate with the JamVM, an implementation of Java Virtual Machine (JVM). Keeping JVM original structure, instructions are classified into two groups: software interpretation and execution by hardware directly. When executing a Java program, a block of (micro-code) hardware instructions for those to be executed Bytecode instructiona are dynamically loaded into the hardware accelerator by JVM. Then control transfers to the hardware accelerator. After the block completes execution, control transfer backs to JVM.
    The speedup of the hardware accelerator depends on application programs. For the benchmark program that does not have repeatative execution of a single block, the Java accelerator does not accerlerate, instead a little bit slower because of the loading (microcode) overhead. However, for benchmark programs with highly repeated exection rate of a single block, its speed up is between 3.5 to 7.

    第一章 緒論 1.1研究動機與背景………………………………………1 1.2研究目的………………………………………………2 1.3章節概要………………………………………………3 第二章 提升Java虛擬機執行效率的方法 2.1Java虛擬機架構介紹…………………………………4 2.2執行效率提升方法之介紹……………………………5 2.2.1最佳化的JVM……………………………………….6 2.2.2即時編譯器…………………………………………7 2.2.3硬體加速器…………………………………………7 2.3硬體加速器實作方式之評估……………………….10 第三章 Java硬體加速器設計 3.1系統設計流程…………………………………………12 3.2指令集分析與分配……………………………………13 3.3JVM 效能改進…………………………………………14 3.3.1堆疊設計改良………………………………………14 3.3.2指令碼與資料提取方式……………………………15 3.3.3指令相依性分析與改進……………………………17 3.4Java硬體加速器有限狀態機…………………………20 第四章 Java硬體加速器實作 4.1工作平台架構的評估…………………………………22 4.2Java硬體加速器IP製作………………………………24 4.2.1Excalibur系統硬體方塊………………………….24 4.2.2AMBA匯流排系統……………………………………25 4.2.3AHB(Advanced High-performance Bus)進階高效能匯流排…………………………………………………….25 4.2.4Slave Wrapper實作……………………………….27 4.2.5系統整體架構………………………………………29 4.3Java硬體加速器IP時序模擬…………………………31 4.4Java硬體加速器嵌入JamVM時機…………………….36 第五章 測試與效能評估 5.1Java硬體加速器的測試………………………………39 5.1.1Java硬體加速器控制測試…………………………39 5.1.2JamVM簡介………………………………………….42 5.1.3實作環境……………………………………………42 5.1.4測試平台……………………………………………43 5.2系統效能評估…………………………………………43 5.2.1自製效能測試程式…………………………………43 5.2.2SpecJVM98效能測試程式………………………….51 第六章 結論與未來工作 6.1結論……………………………………………………53 6.2未來工作………………………………………………54 參考文獻………………………………………………….55 附錄一:Bytecode硬體實作與作業系統實作區分表….57 附錄二:Slave Wrapper有限狀態機……………………58 自述………………………………………………………60

    [1]Brian Davis, John Waldron, “A Survey of Optimisations for the Java Virtual Machine,” Proceedings of the Principles and practice of programming in Java, Kilkenny City, Ireland, June 2003, p.181-183.
    [2]Jan Hoogerbrugge, Lex Augusteijn, “Pipelined Java Virtual Machine Interpreters,” Proceedings of the 9th International Conference on Compiler Construction, 2000, p.35-49.
    [3]Bell, J.R, “Threaded Code,” Communications of the ACM, Volume 16 , Issue 6, 1973, p.370-372.
    [4]楊方瑜,應用於 x86 平台之 Java 及時編譯器的設計與實作,國立成功大學工程科學系碩士論文,1998.
    [5]黃敏雄,Java Card微處理器的設計與實作,國立成功大學工程科學系碩士論文,2002.
    [6]羅仁杰,提升 Java 直譯器效能之新的位元碼轉換技術,國立成功大學工程科學系碩士論文,2005.
    [7]Lindholm, T. The Java(TM) Virtual Machine Specification. Addison-Wesley Professional, 1999.
    [8]馬瑞良,簡介電通所爪哇處理機的設計,Also available on the website: http://163.25.10.166/conference/NCS1999/Proceedings/1217682.pdf
    [9]馬瑞良,Java 處理機與智慧卡,Also available on the website: http://larc.ee.nthu.edu.tw/dtc/doc/0824.pdf
    [10]GNU Compiler Collection, http://gcc.gnu.org/.
    [11]Vincent Perrier, Wind River, “Getting a Handle on Java Performance”, TechOnLine Communication, Inc ,Also available on the website: http://www.techonline.com/community/tech_topic/20447
    [12]Richard A, Quinnell, ”Embedded Java”, TechOnLine Communication, Inc ,Also available on the website: http://www.techonline.com/community/tech_topic/20283
    [13]Robert Lougher , JamVM. http://JamVM.sourceforge.net/
    [14]Design And Reuse Communication Inc, D&R Headline News, “New Semiconductor IP Start-up Previews Silicon-Based Acceleration Technology for Wireless Internet Applications”, Also available on the website: http://www.us.design-reuse.com/news/news1186.html
    [15]Ajile Inc, “aJile Java Processor Core JEMCore”, 2001.,Also available on the website: http://www.ajile.com/downloads/jemcoreproductbrief.pdf
    [16]Ajile Inc, “aJ-100 TM Real-time Low Power Java TM Processor”, Processor Datasheet, 2001, Also available on the website: http://www.ajile.com/downloads/aJ100Datasheet_1.3.pdf
    [17]Sun Inc, “picoJava™-II Processor Core”, Datasheet, 1999, Also available on the website: http://spacejug.tuxinthebox.net/resources/Embedded_Java/picoJava/picoJava-II.pdf
    [18]Harlan McGhan, Mike O’Connor, “PicoJava: A Direct Execution Engine For Java Bytecode”,IEEE 1998, Also available on the website: http://cobweb.ecn.purdue.edu/~arch/seminar/schedules/spring00-pdf/mcghan98.pdf
    [19]InSilicon Inc, “JVXtreme™ Java™ Accelerator Core”, 2001, Also available on the website: http://www.altera.com/products/ip/ampp/documents/jvxtreme-Java_acc.pdf
    [20]Markus Levy, “ Java to go: Part 2”, Microprocessor Report, March, 2001, Also available on the website: http://klamath.stanford.edu/~sundaes/PMCS/microreport.pdf
    [21]Nazomi Communications, inc, “JSTAR - Java Coprocessor for ARM® Microprocessors“
    [22]ARM Inc, “Jazelle®technology: ARM® acceleration technology for the Java™ Platform”, 2004, Also available on the website: http://www.arm.com/pdfs/JazelleWhitePaper.pdf
    [23]Markus Levy, “ Java to go: Part 3”, Microprocessor Report, March, 2001, Also available on the website: http://www.mdronline.com/mpr/h/2001/0326/151304.html
    [24]ARM Inc, “AMBA™ Specification REV2.0”, Also available on the website: http://www.gaisler.com/doc/amba.pdf
    [25]黃敬群,淺談Java VM 發展http://jserv.sayya.org/kaffe/doc/jvm-impl-big5.txt
    [26]Standard Performance Evaluation Corporation, http://www.spec.org/

    下載圖示 校內:2007-08-30公開
    校外:2009-08-30公開
    QR CODE