簡易檢索 / 詳目顯示

研究生: 李奕坊
Li, Yi-Fang
論文名稱: 以Java處理器加速之羽量級嵌入式Java繪圖函式庫
Using Java Processor to Accelerate the Feather-weight Graphic Library in Embedded Systems
指導教授: 侯廷偉
Hou, Ting-Wei
學位類別: 碩士
Master
系所名稱: 工學院 - 工程科學系
Department of Engineering Science
論文出版年: 2008
畢業學年度: 96
語文別: 中文
論文頁數: 63
中文關鍵詞: 移植性Java處理器
外文關鍵詞: AWT, J2ME, Portable, Java Processor
相關次數: 點閱:99下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 圖形化使用者介面是各種機器裝置和使用者之間的溝通橋樑。在實驗室前年學長楊程凱的研究中提出一個基於標準Java的圖形函式庫,我們重新將它命名為羽量級Java繪圖函式庫(Feather-weight Java Graphic Library, FJGL)。FJGL採用階層式架構,將與底層繪圖函式相依的部份儘量縮減至最小,往後要讓各嵌入式裝置的Java VM具備繪圖能力,只需要對該最小集合做移植即可。然而,該研究雖然得到了移植性卻犧牲了效能,根據其研究結果可以得知,該架構與繪圖架構慢了30~800倍。
    本研究繼承自之前的研究。針對效能不佳的議題,將FJGL移植到Java硬體執行環境,也就是使用Java 處理器作為解決方案,在實驗中使用JOP (Java Optimized Processor) 做為效能量測平台,實驗結果顯示,在100MHz的工作頻率下,JOP的執行效能平均比原來的FJGL在3GHz工作頻率的PC上快5倍;而在203MHz工作頻率的ARM926EJ與JOP比較,後者僅比前者慢大約7.8倍;另外,本論文架構仍保有前人架構易移植之特性,使得FJGL可以輕易地整合至其它Java 處理器上。

    The Graphic User Interface (GUI) is the bridge between users and programs. A Java-based Graphic Library was proposed in 2006. This paper uses a Java processor to accelerate the performance of the library, which is renamed as “Feather-weight Java Graphic Library” (FJGL). The FJGL focuses on cutting down the dependency between AWT (Abstract Window Toolkit) and the native graphic library as more as possible. According to FJGL, the effort of porting can be minimized by the least part of dependency, if Java VM needs GUI. Unfortunately, the FJGL provides more portability but it delivers poor performance. According to the results of the prior research, it is slower than the original AWT architecture about 30 to 800 times.
    In this research, the FJGL is modified to adapt to the hardware execution environment (Java Processor). The JOP (Java Optimized Processor) is used in this research. The performance measures show that JOP (100MHz) gains 5 times speedup in average than the software FJGL (3GHz processor on PC). In addition, as compared with the AWT which uses native graphic library running on ARM926EJ, FJGL on OP slows down around 7.8 times. The architecture of this thesis still has the portability base on the FJGL. It is easy to integrate the FJGL with other Java processors.

    第一章 緒論 1 1.1 研究動機 1 1.2 研究目的 1 1.3 章節概要 3 第二章 文獻探討 4 2.1 嵌入式系統中的Java執行環境 4 2.2 嵌入式系統中的Java繪圖能力 6 2.2.1 Java AWT 9 2.2.2 Java Swing 11 2.3.3 小結 12 2.3 羽量級Java繪圖函式庫Feather-weight Java Graphic Library 14 2.4 移植之相關研究 15 2.5 Java Accelerator探討 16 2.5.1 即時編譯器 17 2.5.2 Java 協同處理器 19 2.5.3 獨立式Java處理器 19 2.5.4 小結 20 第三章 研究方法 21 3.1 Java處理器分析 22 3.2 系統分析 24 3.3 系統架構 26 3.3.1 VGA Controller 27 3.3.2 SRAM Controller 30 第四章 系統實作 33 4.1 開發環境以及工具 33 4.2 硬體部份 34 4.3 軟體部份 37 4.3.1 FJGL軟體部份 37 4.3.2 framebuffer控制程式 38 第五章 實驗以及討論 39 5.1 效能測試環境 39 5.2 繪圖結果 40 5.3 效能測試與比較 42 5.4 討論 45 第六章 結論與未來工作 47 6.1結論 47 6.2 未來工作 47 參考文獻 49 附錄A 52

    [1]“Damn Small Linux,” http://www.damnsmalllinux.org/.
    [2]“VGA timing information,” http://www.epanorama.net/documents/pc/vga_timing.html.
    [3]J. Baker, et al., “A Real-time Java Virtual Machine for Avionics - An Experience Report,” Proc. Real-Time and Embedded Technology and Applications Symposium, 2006. Proceedings of the 12th IEEE, 2006, pp. 384-396.
    [4]H.M. Bartley Calder, “Advanced Graphics and User interface (AGUI) Optional Package for Java Platform, Micro Edition (JSR 209).” 2006; http://jcp.org/en/jsr/detail?id=209.
    [5]B. Bose, et al., “LavaCORE/sup /spl trade// configurable Java/spl trade/ processor core,” Proc. Aerospace Conference Proceedings, 2002. IEEE, 2002, pp. 4-1953-1954-1959 vol.1954.
    [6]D.L. Brittain, “Portability of interactive graphics software,” Computer Graphics and Applications, IEEE, vol. 10, no. 4, 1990, pp. 70-75.
    [7] Cheng-Kai Yang, Sheng-An Chang, Pang-Chieh Wang, Cheng-Liang Lin, Chin-Yang Lin, Ting-Wei Hou, “A Portable Java-based Graphic Library in JVM for Embedded Systems,” Proc. The 14th Workshop on Compiler Techniques for High-Performance Computing, 15th March, 2007, NCHU Taichung, Taiwan.
    [8]P. Christof and S. Martin, “Towards a Java multiprocessor,” Towards a Java multiprocessor, Series Towards a Java multiprocessor, ed., Editor, ACM, 2007, pp.
    [9]J. Courtney, “JSR-000129 Personal Basis Profile 1.0,” http://jcp.org/aboutJava/communityprocess/mrel/jsr129/.

    [10]B. Feigenbaum, “SWT, Swing or AWT: Which is right for you?,” 2006; http://www.ibm.com/developerworks/grid/library/os-swingswt/.
    [11]J. Gosling, “Java Technology and the Mission to Mars,” 2004; http://www.sun.com/aboutsun/media/features/mars.html.
    [12]D.S. Hardin, “Crafting a Java virtual machine in silicon,” Instrumentation & Measurement Magazine, IEEE, vol. 4, no. 1, 2001, pp. 54-56.
    [13]X. Hua, et al., “Portability in general open controllers,” Proc. TENCON '02. Proceedings. 2002 IEEE Region 10 Conference on Computers, Communications, Control and Power Engineering, 2002, pp. 1574-1577 vol.1573.
    [14]S.A. Ito, et al., “Making Java work for microcontroller applications,” Design & Test of Computers, IEEE, vol. 18, no. 5, 2001, pp. 100-110.
    [15]J. Kreuzinger, et al., “The Komodo project: thread-based event handling supported by a multithreaded Java microcontroller,” Proc. EUROMICRO Conference, 1999. Proceedings. 25th, 1999, pp. 122-128 vol.122.
    [16]C.-Y. Lin, Design and Implementation of the Java Abstract Window Toolkit for the Embedded Java Runtime Environment, Master Thesis in NCKU ,2001
    [17]Q.H. Mahmoud, “J2ME for Home Appliances and Consumer Electronic Devices,” January 2003 http://developers.sun.com/mobility/configurations/articles/cdc/.
    [18]S. Martin, “Evaluation of a Java Processor,” Evaluation of a Java Processor, Series Evaluation of a Java Processor, Editor, 2005, pp.
    [19]H. McGhan and M. O'Connor, “PicoJava: a direct execution engine for Java bytecode,” Computer, vol. 31, no. 10, 1998, pp. 22-30.
    [20]J.D. Mooney, “Strategies for supporting application portability,” Computer, vol. 23, no. 11, 1990, pp. 59-70.
    [21]J.D. Mooney, “Developing Portable Software,” IFIP International Federation for Information Processing, vol. 157, no. Information Technology, 2004, pp. 39.
    [22]M. Schoeberl, “A Java processor architecture for embedded real-time systems ” Journal of Systems Architecture, vol. Journal of Systems Architecture, no. Issues 1-2, 2007, pp. 265-286
    [23]J. Shirazi, Java Performance Turning, O'REILLY, 2001.
    [24]F.Y. Tim Lindholm, The Java Virtual Machine Specification, Second Edition, Addison Wisely.
    [25]H. Yanagisawa, et al., “Development methodology of ASIP based on Java byte code using HW/SW co-design system for processor design,” Proc. Distributed Computing Systems Workshops, 2004. Proceedings. 24th International Conference on, 2004, pp. 831-837.
    [26]林昆弘, 應用於Java執行環境之虛擬平台的設計與實作, 國立成功大學工程科學系碩士論文,1998.

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