跳到主要內容

臺灣博碩士論文加值系統

(216.73.216.62) 您好!臺灣時間:2025/11/15 19:13
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:曾清旭
研究生(外文):Ching-Shiu Tseng
論文名稱:Java虛擬機器的省電設計
論文名稱(外文):Low Power Design for Java Virtual Machine
指導教授:陳俊良陳俊良引用關係
指導教授(外文):Chuen-liang Chen
學位類別:碩士
校院名稱:國立臺灣大學
系所名稱:資訊工程學研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2004
畢業學年度:93
語文別:英文
論文頁數:88
中文關鍵詞:Java虛擬機器省電快閃記憶體嵌入式系統
外文關鍵詞:JavaNAND FlashKVMJ2MEFlash MemoryLower PowerVirtual MachineuClinuxARMulator
相關次數:
  • 被引用被引用:0
  • 點閱點閱:270
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:1
記憶體系統一直是嵌入式行動裝置中,悠關系統效能、能耗及系統成本的重要單位。隨著記憶體裝置技術的發展,兼具非揮發性、資料保存性高、低能耗優點的 Flash Memory 已經成為嵌入式行動裝置記憶體系統中不可或缺的重要元件。

NAND Flash 具有高密度、低成本的特性,隨著新技術的發展,將逐漸取代 NOR Flash 在嵌入式記憶體系統中所扮演 Code Storage 的角色。新的 NAND + RAM 架構下,系統程式及資料將儲存在 NAND Flash 中,而 RAM 則為工作時期資料暫存區。

Java 具有可攜性高的優點, 在嵌入式小型系統實作 Java 平台的需求是日趨重要的課題。Java 虛擬機器的效能,一直為使用者所垢病,更何況是資源有限之嵌入式系統,如何提升 Java 在嵌入式系統的效能一直是個重要的課題。本論文即基於 NAND + RAM 的嵌入式系統記憶體架構下,針對 NAND Flash 分頁循序讀取速度較慢的特性,提出我們 KVM 直譯器的三種改善法則。目標在於降低由 RAM 到 NAND 的分頁失誤率,使得 J2ME 程式在運作中,由 NAND Flash 所帶來的時間延遲及系統能耗降低。
Memory system is a main concern to embedded system engineers since it dominates the cost, power and performance of mobile embedded systems. In particular, emerging memory technology, the flash memory is becoming an indispensable component in mobile embedded systems due to its versatile features: non-volatility, solid-state reliability, low power consumption.

NAND flash has the nature of high density and low cost. With the shadowing technique support, NAND flash will replace NOR flash for the embedded memory system code storage in nearly future. The more advanced solution is NAND+RAM. Neither NOR flash memory nor mask ROM is used in this architecture; it uses NAND flash memory for code storage. Copying the whole software executable binary code into RAM offers the best performance possible at run time.

With the advantage of portability, it is more important to implement Java system for embedded devices. The performance is a major drawback of Java system, especially for resource-limited embedded devices. Therefore, if becomes an interesting topic to improve the Java performance for embedded devices. In our thesis, we present three KVM interpreter optimization schemes based on the NAND+RAM memory architecture and the drawback of NAND page sequential access latency. By reducing of page fault ratio from NAND to RAM, the J2ME execution performance and the NAND flash energy consumption will both be decreased.
摘要 i
Abstract iii
致謝 v
Table of Contents vii
List of Figure xi
List of Table xiii

Chapter 1 Introduction 1
1.1 Motivation 2
1.2 Related Work 3
1.3 Thesis Organization 4

Chapter 2 Connected Limited Device Configuration 5
2.1 CLDC Specification 5
2.1.1 Requirements and Goals 5
2.1.2 Main Difference between CLDC and J2SE 8
2.1.3 CLDC Specification Versions 1.1 vs. 1.0 9
2.2 KVM 10
2.2.1 Introduction to KVM 10
2.2.2 Porting KVM 11
2.2.3 KVM Interpreter 13

Chapter 3 ARM7TDMI Processor and NAND Type Flash Memory 15
3.1 ARM7TDMI 15
3.1.1 Introduce to ARM7TDMI 16
3.1.2 ARM7TDMI Memory Access 17
3.2 NAND Type Flash ROM 18
3.2.1 Flash Memory Architecture 18
3.2.2 NOR vs. NAND 20
3.2.3 NAND Flash Memory 22
3.2.4 Memory Architecture 23

Chapter 4 System Design 25
4.1 KVM Modeling 25
4.2 Measurement Methodology 27
4.3 KVM Interpreter Analysis 30
4.3.1 KVM Interpreter Functional Block Analysis 30
4.3.2 Java Instructions Analysis 31
4.4 Optimization 34
4.4.1 Bytecode Hot/Cold Zone Division 34
4.4.2 Instruction Service Routine Code Placement 36
4.4.3 KVM Interpreter Code Placement 37

Chapter 5 Implementation 41
5.1 CLDC Environment Setup 41
5.2 Simulator Environment Setup 42
5.3 Building Process 43
5.3.1 Cygwin 43
5.3.2 Cross Tool-Chain 44
5.3.3 Emulator and Related Tools 45
5.3.4 uClinux 46
5.3.5 KVM 48
5.3.6 Modification 49

Chapter 6 Performance and Comparison 51
6.1 Benchmark 51
6.2 Environment Parameters 52
6.2.1 Comparison of Algorithms 53
6.2.2 Comparison of Size 54
6.3 KVM2 55
6.3.1 Result 56
6.3.2 Analysis 57
6.4 KVM3 57
6.4.1 Result 59
6.4.2 Analysis 60

Chapter 7 Conclusion and Future Work 63
7.1 Conclusion 63
7.2 Future Work 64

References 65
Appendix A Files in KVM/VmCommon 69
Appendix B Algorithm Configuration 71
Appendix C Hardware Configuration 75
Appendix D KVM2 Results 77
Appendix E KVM3 Results 83
[1] "Java 2 Platform, Micro Edition." http://java.sun.com/j2me
[2] "The Source for Java Technology, Sun Microsystems, Inc." http://java.sun.com
[3] T. Lindholm and F. Yellin, "The Java Virtual Machine Specification." Addison-Wesley, 2nd ed., 2000.
[4] J. Gosling, B. Joy, and G. Steele, "The Java Language Specification." Addison-Wesley, 2nd ed., 2000.
[5] K. Arnold, J. Gosling, and D. Holmes, "The Java Language Specification." Addison-Wesley, 3rd ed., 2000.
[6] "Java 2 Platform, Micro Edition, Connected Limited Device Configuration, Sun Microsystems, Inc." http://java.sun.com/j2me/cldc
[7] "Java 2 Platform, Micro Edition, Connected Device Configuration, Sun Microsystems, Inc." http://java.sun.com/j2me/cdc
[8] B. Dipert and M. Levy, "Designing with Flash Memory." Annabooks, 1994
[9] "What is Flash?" http://www.samsung.com/Products/Semiconductor/Flash/
[10] M-Systems. "Two Technologies Compared: NOR vs. NAND. White Paper," 91-SR-012-04-8L, Rev 1.1, 2003.
[11] Memory Product & Technology Division. "Samsung NAND Flash Memory." http://www.samsung.com
[12] "CLDC Products, Sun Microsystems, Inc." http://java.sun.com/products/cldc
[13] C. Park, J. Seo, S. Bae, H. Kim, S. Kim, and B. Kim. "A Low-Cost Memory Architecture with NAND XIP for Mobile Embedded Systems." In ISSS+CODES 2003: First IEEE/ACM/IFIP International onference on Hardware/Software Codesign and System Synthesis, October 2003.
[14] C. Park, J. Kang, S. Park, and J. Kim. "Energy-Aware Demand Paging on NAND Flash-based Embedded Storages." In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED 2004), August 2004.
[15] Hiroyuki Tomiyama and Hiroto Yasuura. "Code Placement Techniques for Cache Miss Rate Reduction." IEEE Transactions on Design Automation of Electronic Systems, October 1997.
[16] P. Francesco, P. Marchal, D. Atienza, L. Benini, F. Catthoor, and J. M. Mendias. "An Integrated Hardware/Software Approach for Run-Time Scratchpad Management." In The 41st Design Automation Conference (DAC 2004), pages 238–243, June 2004.
[17] Sun Microsystems, Inc., "Connected Limited Device Configuration Specification 1.1"
[18] "Java 2 Platform, Standard Edition." http://java.sun.com/j2se
[19] Sun Microsystems, Inc., "Connected Limited Device Configuration Specification 1.0a"
[20] "ARM7TDMI." http://www.arm.com/products/CPUs/ARM7TDMI.html
[21] "ARM7TDMI-S." http://www.arm.com/products/CPUs/ARM7TDMIS.html
[22] "ARM9 Family." http://www.arm.com/products/CPUs/families/ARM9Family.html
[23] "ARM9E. Family." http://www.arm.com/products/CPUs/families/ARM9EFamily.html
[24] "ARM10E Family." http://www.arm.com/products/CPUs/families/ARM10EFamily.html
[25] "uClinux, Embedded Linux/Microcontroller Project." http://www.uclinux.org/index.html
[26] "CaffeineMark 3.0." http://www.benchmarkhq.ru/cm30
[27] "genromfs" http://linuxcommand.org/man_pages/genromfs8.html
[28] "uClinux in the GDB/ARMulator." http://www.uclinux.org/pub/uClinux/utilities/armulator
[29] "cygwin, GNU + Cygnus + Windows." http://www.cygwin.com
[30] "GNU Binutils." http://www.gnu.org/software/binutils
[31] "GCC, the GNU Compiler Collection." http://www.gnu.org/software/gcc
[32] "GDB, The GNU Project Debugger" http://www.gnu.org/software/gdb
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top