14 citations found. Retrieving documents...
J. Michael O'Connor, M. Tremblay, "picoJava-I: The Java Virtual Machine in Hardware ", IEEE Micro, March/April 1997, pp. 45-53. 332, 332

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Object-Oriented Architectural Support for a Java.. - Vijaykrishnan.. (1998)   (8 citations)  (Correct)

.... Bytecode Compiler Interpreter Java Processor Target Processor Kaffe [35] CACAO [9] Symantec Cafe [30] IBM JIT SunSoft Borland Microsoft Java Object Code (Bytecode) Sun JDK Jolt [32] J2C [31] Harissa [33] TurboJ [26] Toba [28] NET [8] SuperCede [27] PSC1000 [4] ILP [5] picoJava [3] JEM1 microJava701 Guava [29] Fig. 1. Executing Java byte codes Smalltalk systems such as SOAR and Mushroom provide architectural support for e#cient object addressing and dynamic dispatches [16] 10] Further, various Forth machines that are stack based like the JVM include various features ....

....and dynamic dispatches [16] 10] Further, various Forth machines that are stack based like the JVM include various features to enhance performance of stack operations [30] The proposed Java architecture is a stack machine executing bytecodes directly on silicon. Sun s microJava, picoJava I [3] and the Patriot Scientific PSC1000 [4] are other stack based Java processors. In microJava and picoJava, the JVM instruction set forms the native language of the processor. On the other hand, the PSC1000 s stack based instruction set is di#erent but similar to the JVM instruction set. Further, ....

[Article contains additional citation context not shown here]

J. Michael O'Connor, M. Tremblay, "picoJava-I: The Java Virtual Machine in Hardware ", IEEE Micro, March/April 1997, pp. 45-53. 332, 332


Branch Behavior of Java Runtime Systems and its.. - Li, John.. (2000)   (Correct)

....amortized over the savings due to the execution of the generated code. Such a technique is commonly referred to as a Just In Time (JIT) compilation [Cram97, Kral98 and Taba98] Further, bytecodes can also be executed on a hardware implementation of the JVM [Vija98b] such as Sun s PicoJava MAJC [Conn97, Radh00b and MPR0899], and JEDI s JSTAR [MPR0300] The execution of Java applications is largely dependent on the Java Virtual Machine (JVM) as well as the underlying operating system. A JVM environment can be significantly different from that required to support traditional C or FORTRAN based codes. Many Java ....

M. O'Connor and M. Tremblay, PicoJava-I: The Java Virtual Machine in Hardware, IEEE Micro, pages 45-53, Mar. 1997


Microarchitectural Techniques to Enable Efficient Java Execution - Radhakrishnan (2000)   (Correct)

....of the JVM will directly execute the bytecodes, removing the overhead associated with emulating it in software. The hardware implementation of the JVM can also provide run time support for various functions like garbage collection and thread synchronization for higher performance. The picoJava [53] processor, PSC1000 from Patriot Scientific [5] and JEM [82] are examples of Java processors used in the embedded market. 2.2 Workload Characterization This section briefly describes research performed in Java workload characterization. We also describe work done towards understanding the ....

....above cater only for programs in their specific languages. Our primary goal is to improve Java in the general purpose processor domain. 2.4.1 Java processors Java processors can be classified based on the amount of support that is provided for the direct execution of Java bytecodes. PicoJava [53] and JEM1 [82] implement bytecodes as the native code, whereas the ShBoom processor has an instruction set similar to that of the JVM [5] The picoJava architecture is a microprocessor core to directly execute the Java bytecode instructions and provide hardware support for other essential ....

[Article contains additional citation context not shown here]

M. O'Connor and M. Tremblay. picoJava-I: The Java virtual machine in hardware . IEEE Micro, pages 45--53, March-April 1997.


Workshop on Hardware Support for Objects And.. - Wolczko, Narayanan (1999)   (Correct)

....of SC 94, pages 79 88, 1994. 12] K. Keeton, D. Patterson, and J. Hellerstein. A case for Intelligent Disks (IDISKs) In SIGMOD Record, 27(3) August 1998. 13] C. Kozyrakis and D. Patterson. A new direction for computer architecture research. IEEE Computer, 31(11) 24 32, November 1998. [14] C. Kozyrakis at al. Scalable processors in the billion transistor era: IRAM. IEEE Computer, 30(9) 75 78, September 1997. 15] S. Nettles and J. O Toole. Real time replication garbage collection. In Proceedings of PLDI 93, volume 28(6) of ACM SIGPLAN Notices, Albuquerque, NM, June 1993. 16] M. ....

....improving memory performance by tolerating latency in the memory hierarchy. Compilers statically analyze programs and insert prefetch instructions to load data into the cache prior to use. Previous research shows the benefits of software prefetching techniques in array based scientific programs [4, 14, 2, 13]. Prefetching in array based codes is simpler than in pointer based codes. Given an array, the size of each element and a regular access pattern, the compiler can compute the address of any element in the array and schedule prefetches to elements in a loop that will be accessed in future ....

[Article contains additional citation context not shown here]

J. M. O'Connor and M. Tremblay, "picoJava-I: The Java Virtual Machine in Hardware," IEEE Micro, March/April 1997, pp. 45-53


Improving Java Performance Using Hardware Translation - Radhakrishnan, Bhargava, John (2001)   (2 citations)  (Correct)

....the machine instructions. and a compiler translates each instruction. The DELtran [18] and Scheme 79 chip [19] are examples of such architectures. Past research also includes a large body of work towards providing architectural support for ecientJava execution. Java processors such as picoJava [20] from Sun Microsystems, JEM1 [21] from Rockwell Inc, and Patriot Scienti c corporations PSC1000 [22] used in the embedded market are examples of architectures providing support for direct execution of Java bytecodes. Hardware support for Java stack processing, object manipulation and method ....

J. Michael O'Connor and M. Tremblay, \Picojava-I: The Java Virtual Machine in Hardware," ##########,vol. 17, pp. 45-53, Mar/Apr 1997.


Java Runtime Systems: Characterization and.. - Radhakrishnan.. (2001)   (5 citations)  (Correct)

....for Java applications byproviding special support for stack processing, multi threading, garbage collection, object addressing and symbolic resolution. Java processors can be cost effective to design and deploy in a wide range of embedded applications such as telephony and web tops. The picoJava [10] processor from Sun Microsystems is an example of a Java processor. It is our belief that no one technique will be universally preferred accepted over all platforms in the immediate future. Many previous studies [11, 12, 13, 10, 14] have focussed on enhancing each of the bytecode execution ....

....wide range of embedded applications such as telephony and web tops. The picoJava [10] processor from Sun Microsystems is an example of a Java processor. It is our belief that no one technique will be universally preferred accepted over all platforms in the immediate future. Many previous studies [11, 12, 13, 10, 14] have focussed on enhancing each of the bytecode execution techniques. On the other hand, a three pronged attack at optimizing the runtime system of all techniques would be even more valuable. Many of the proposals for improvements with one technique may be applicable to the others as well. For ....

M. O'Connor and M. Tremblay, " picoJava-I: The Java virtual machine in hardware ," IEEE Micro, pp. 45--53, March-April 1997.


Portable Worst-Case Execution Time Analysis Using Java Byte.. - Bernat, Burns, Wellings (2000)   (8 citations)  (Correct)

....instructions. This is more accurate as the specific optimisations performed, depending on the context in which an instruction appears, are considered. With this approach, tight low level analysis which include cache and pipeline effects can be also included. For hardware implementations of the VM [10] a similar approach is devised. The focus of this paper is on high level analysis of JBC and transparent annotation mechanisms, the issue of defining timing models of the virtual machine is still under research. For the purpose of this paper we assume a simple virtual machine timing model. 4 ....

O'Connor, J. Michael, and M. Tremblay. PicoJava-I: The Java virtual machine in hardware. IEEE Micro, 17(2):45-- 53, 1997.


Performance Evaluations and Chip-Space.. - Kreuzinger..   (3 citations)  (Correct)

....by an adapted JVM. Java processors execute Java bytecode instructions directly in hardware raising the performance of Java applications and decreasing the hardware requirements compared to a Java interpreter or Just In Time compiler. Such Java processor proposals are Sun s picoJava I and II ([1], 2] the JEM 1 [3] the Delft Java processor [4] the PSC1000 [5] and the Java Silicon Machine JSM [6] Hardware support to decouple bytecode translation and execution is proposed in [7] A multithreaded processor is characterized by the ability to simultaneously execute instructions of ....

J. O'Connor and M. Tremblay. PicoJava-I: The Java Virtual Machine in Hardware. IEEE Micro, pages 45--53, March/April 1997.


Performance Evaluations of a Multithreaded Java.. - Kreuzinger.. (2000)   (Correct)

....is hardly possible in embedded real time systems because of its high hardware requirements and unpredictable real time behavior. Both problems are solved with the design of a multithreaded Java microcontroller enhanced by an adapted JVM. A Java microprocessor, like the picoJava I and II from Sun ([4], 5] executes Java bytecode instructions directly in hardware raising the performance of Java applications and decreasing the hardware requirements compared to a Java interpreter or Just In Time (JIT) compiler. In enhancement to the picoJava approach the real time issue is supported by applying ....

J. O'Connor and M. Tremblay. PicoJava-I: The Java Virtual Machine in Hardware. IEEE Micro, pages 45--53, March/April 1997.


Towards an Automatic Path from Java Bytecodes to Hardware.. - Cardoso, al. (1998)   (Correct)

.... programs take advantage of: optimisation techniques integrated in JIT (Just In Time) compilers [4] optimisation of bytecodes with advanced compiler techniques [5] 6] loop parallelization [7] when real multithreaded is supported, and development of direct execution support (Java microprocessors) [8]. Nevertheless all of these efforts can be substantially improved with the integration of HW SW codesign and HighLevel Synthesis (HLS) 9] techniques. Typical HW SW codesign approaches start from a SW specification and migrate SW blocks to HW in order to satisfy timing constrains [10] or to ....

J. Michael O'Connor and Marc Tremblay, "picoJava-I: The Java Virtual Machine in Hardware", IEEE Micro, Vol. 17, No. 2, March-April 1997, pp. 45-53.


Allowing for ILP in an Embedded Java Processor - Radhakrishnan, Talla, John (2000)   (5 citations)  (Correct)

....(API) achieves its platform independence by compiling Java source code into machine independent bytecodes which are executed on the JVM. These bytecodes are typically executed by an interpreter [1] or a Just In Time (JIT) compiler [2] or executed directly by specialized Java processors [3, 4, 5]. Java is used in a broad range of applications from high end servers to low end hand held gadgets and house hold appliances. The server class Java applications are typically executed using JIT compilers to achieve high performance. When interpreted, bytecodes have been seen to be 30x slower than ....

....low power consumption and low cost. Java processors are ideal for Internet information appliances such as digital set top boxes, Internet TV s, smart phones, personal digital assistants (PDAs) and other consumer electronics applications. Java processors such as Sun Microsystems picoJava cores [4, 5] and JEM [3] are low cost hardware engines optimized to directly execute Java bytecodes. A glance through the SPEC JVM resources [6] shows that the picoJava II offers performance in between that of general purpose embedded processors and general purpose processors, such as the ARM and the ....

M. O'Connor and M. Tremblay, " picoJava-I: The Java virtual machine in hardware ," IEEE Micro, pp. 45--53, March-April 1997.


Using Complete System Simulation to Characterize.. - Li, John.. (2000)   (9 citations)  (Correct)

....information to optimize both systems software and architectural support for enhancing the performance of a JVM. In addition, a closer look at the execution profile of the JVM can also give revealing insights that can help to restructure its implementation. To our knowledge, existing studies [1, 2, 3, 4, 5, 6, 7, 8] have been confined to examining JVM profiles from the architectural perspective, and there has been no attempt at understanding the influence of the operating system activities. It is becoming increasingly clear [9, 10, 11, 12] that accurate performance analysis requires an examination of ....

M. O'Connor and M. Tremblay, PicoJava-I: The Java Virtual Machine in Hardware, IEEE Micro, pages 45-53, Mar. 1997.


A Multithreaded Java Microcontroller for.. - Brinkschulte.. (1999)   (Correct)

....a strictly limited resource in embedded systems. The above mentioned problems of low performance and higher memory requirements can be overcome by the use of a Java processor. Java processors can speedup execution of Java programs with less memory due to the direct execution of the Java bytecode [11]. The main feature of Java bytecode is its stack based execution model. The picoJava II [12] from Sun therefore has an integrated stack register set with 64 registers on the chip instead of a general purpose register set. 3. Thread based Real time Event Handling The conventional method of event ....

J. O'Connor and M. Tremblay. Picojava-I: The Java Virtual Machine in Hardware. IEEE Micro, pages 45--53, March/April 1997.


JavaVM Implementation: Compilers Versus Hardware - Krall, Ertl, Gschwind   (1 citation)  (Correct)

....for such systems are the Caffeine system [Hsieh et al. 1996] which directly generates object code and the Toba system [Proebsting et al. 1997] which uses C as intermediate representation. hardware implementation Sun has announced a hardware implementation of the JavaVM, called picoJava I [O Connor and Tremblay, 1997]. Both JIT and native compilation techniques can be improved by appropriate hardware primitives designed to support efficient JavaVM execution. An example for this approach is the DAISY (Dynamically Architected Instruction Set from Yorktown) a VLIW architecture developed at IBM for fast ....

....additional features in a RISC or VLIW instruction set to support efficient JavaVM execution using just in time compilation or interpretation. 3. 1 An existing JavaVM processor: the picoJava I Currently, the only existing hardware implementation of the JavaVM is Sun s picoJava I architecture [O Connor and Tremblay, 1997]. The picoJava I architecture uses a mixture of hardwired implementation, state machines, microcode and software to implement the functionality of the JavaVM. This approach is necessary because the JavaVM is optimized as intermediate language for interpretation, using a number of high level ....

[Article contains additional citation context not shown here]

O'Connor, J. Michael and Tremblay, Marc (1997). picoJava-I: The Java virtual machine in hardware. IEEE Micro, 17(2):45--53.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC