City University of Hong Kong
DSpace
 

CityU Institutional Repository >
3_CityU Electronic Theses and Dissertations >
ETD - Dept. of Electronic Engineering  >
EE - Doctor of Philosophy  >

Please use this identifier to cite or link to this item: http://hdl.handle.net/2031/4469

Title: An extended descriptor-based processor for object-oriented computing
Other Titles: Yi zhong zhen dui mian xiang wu jian ji suan de ke kuo zhan yun suan dan yuan miao shu fu de chu li qi jie gou
一種針對面向物件計算的可擴展運算單元描述符的處理器結構
Authors: Tan, Yiyu (談宜育)
Department: Dept. of Electronic Engineering
Degree: Doctor of Philosophy
Issue Date: 2006
Publisher: City University of Hong Kong
Subjects: Java (Computer program language)
Object-oriented programming (Computer science)
Notes: 192 leaves : ill. ; 30 cm.
CityU Call Number: QA76.73.J38 T356 2006
Includes bibliographical references (leaves 178-191)
Thesis (Ph.D.)--City University of Hong Kong, 2006
Type: Thesis
Abstract: Object orientation provides programming languages suitable for expressing human thought patterns as well as a man-machine interface appropriate for human communication. The central component of this technology is object, an entity that encapsulates both data and operations into a single computational unit, and interacts with the outside world through well-defined interfaces. This technology provides reusability, maintainability, flexibility and modularity in the software development through introducing the data encapsulation, object inheritance, and polymorphism, thus enhancing the software quality and reducing the development cost, especially when amortized over several iterations. Nowadays, objectoriented programming has become mainstream in the software development. As a comprehensive object-oriented programming language, Java is widely applied from the small embedded devices to enterprise systems nowadays due to its object-oriented features and corresponding advantages of security, robustness and platform independence. A Java virtual machine is needed to execute Java programs. However, in most of the existing solutions to the Java virtual machine, such as interpretation, Just-In-Time compilation and dedicated hardware realization, the overhead of executing object-oriented related instructions is substantial and becomes the bottleneck of system performance because they are executed through software traps or microcode, especially in the small embedded devices, where real-time operations are needed and memory is small. To solve this problem, this research work proposes a novel Java processor called jHISC, which mainly targets J2ME applications in the embedded devices. Because the Java virtual machine is stack architecture, all operands, such as temporary data, intermediate parameters, and method arguments, are frequently pushed onto or popped from the stack during execution, which makes it difficult to implement the object-oriented instructions in hardware directly due to their complexity and large amount of data needed to be accessed during execution. Moreover, the data dependency between the successive instructions forbids instruction level parallelism. From the workload behavior in the benchmark JVM98, the load/store stack operations are around 50% of all operations while the object-oriented related operations are about 15% of all operations. Based on that, in jHISC V4, the Java bytecodes are folded into the jHISC instructions dynamically to reduce the redundant stack operations through introducing a new instruction folding algorithm. Moreover, since a hardware-readable data structure is used to represent object, the object-oriented related instructions are implemented in hardware directly to speed up their execution. In jHISC, 93% of bytecodes and 83% of the object-oriented related bytecodes are implemented in hardware directly. The complete system with 4KB instruction cache and 8KB data cache is described by VHDL and implemented in a Xilinx Virtex FPGA. It occupies 601,131 equivalent gates and the maximum clock frequency of system is about 33MHz. In the benchmark JVM98, jHISC V4 speeds up the overall performance from 1.02 to 13.51 times against the PicoJava II, 3.87 times against the JOP, 16.6% against the jHISC V3, 15.33 times against the JDK1.5.0_05 interpreter and 1.37 times over JDK1.5.0_05 HotSpot JIT compiler. For the object-oriented related bytecodes, jHISC V4 improves from 1.25 to 27.03 times against PicoJava II, 33.8% over jHISC V3, and 5.70 times against JOP. In the benchmark CaffeinMarks, jHISC V4 improves the overall performance about 46% against PicoJava II, 10% against jHISC V3, and 214% against JOP. Key words: Java, Java processor, object-oriented programming, operand descriptor.
Online Catalog Link: http://lib.cityu.edu.hk/record=b2147076
Appears in Collections:EE - Doctor of Philosophy

Files in This Item:

File Description SizeFormat
fulltext.html157 BHTMLView/Open
abstract.html157 BHTMLView/Open

Items in CityU IR are protected by copyright, with all rights reserved, unless otherwise indicated.

 

Valid XHTML 1.0!
DSpace Software © 2013 CityU Library - Send feedback to Library Systems
Privacy Policy · Copyright · Disclaimer