| 研究生: |
李奕坊 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]“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.