JvmHw

From JopWiki

Jump to: navigation, search

Thie page is designated for the course The Java Virtual Machine in Hardware. Select one of the projects and start editing this page.

JOP Reference Handbook

Handbook Errata

Contents

[edit] Project List

Select on project from the list or add your own idea.

[edit] SSRAM memory interface

Implement a memory controller for the synchronous SRAM on the Altera DE2-70 board that uses the available pipelineing. Compare the performance to the current memory controller.

[edit] Ethernet connection

Find an open-source Ethernet controller and attach it to JOP on the DE2 board. If no open-source controller fits, try to use the one provided from Altera for the board.

[edit] Safety-critical Java level 0

A prototype implementation of safety-critical Java API on JOP.

[edit] JOP and a RISC in an FPGA

Implementation of a dual processor system that includes JOP and the open-source RISC core LEON3.

[edit] JVM execution timing extraction

The execution timing of bytecodes in JOP is well known. However, for other embedded Java systems this information is usually missing. The goal is to automatically extract timing information for single bytecodes, similar to the micro benchmarks in JavaBenchEmbedded.

[edit] PhoneME JDK on JOP

Sun provides as part of PhoneME a GPL version of the CLDC (JDK 1.1). This JDK version would be a good fit for JOP. Porting needs probably some changes in System.java. The official CLDC API documentation is available here: http://java.sun.com/javame/reference/apis/jsr139/

[edit] Collection Classes

Porting of the collection classes (with generics) from classpath to JOP.

[edit] Generic Connection Framework (GCF)

The GCF is part of J2ME/CLDC, and is a substitution for java.lang.io to provides I/O functions for embedded devices. GCF is defined in javax.microedition.io

[edit] Bytecode Instruction Frequency

In the current literature no detailed information on the dynamic instruction frequency of Java bytecode is available.

  • Collect detailed instruction frequency information on the SPEC jvm98
  • Compare it with other (embedded) benchmarks
  • Is the literature correct?
  • Which instructions use the most execution time on JOP? (Indication for points to enhance)
  • Memory access frequency, method sizes, stack sizes

[edit] EDF Scheduler

[edit] Java.lang.Thread

[edit] Your ideas

Feel free to add your idea to this list

[edit] Chosen Projects 2010

[edit] Ethernet using the Davicom DM9000A

Assigned to: Christian G. Sørensen & Martin S. Ibsen

[edit] CLDC 1.1 on JOP

Assigned to: Tórur B. Strøm

The status of the project can be seen here.

[edit] EDF Scheduler on JOP

Assigned to: Fabrizio Becci

[edit] Chosen Projects 2009

[edit] Scheduler in Hardware

Peter Honeder (0126650), Florian Pflug (0026535) Peter honeder 09:05, 24 March 2009 (CDT)

[edit] Simple file system for the NAND Flash

A port of YAFFS for JOP is available. However, that file system is quite large (around 128 KB). The project is about a very simple file system (just a few files, use block granularity of the Flash) on top of the already available bad block remapping algorithm.

Assigned to: Jens Kager, Fritz Praus

Project page

[edit] Massive parallel JOP

Run a many core JOP CMP system on a DRC Reconfigurable Processor Units (RPU).

Assigned to: Michael Birner, Andreas Kasper, Reinhard Raschbauer, Homer Simpson

[edit] JOP UI

A user interface for JOP JOPUI, consisting of a VGA, keyboard, mouse and graphical interface.

Assigned to: Matthias Wenzl (VGA and Keyboard), Armin Novak (Mouse), Stefan Resch and Stefan Rottensteiner (GUI)

[edit] NFS Server with ejip

Adding a NFS - server implementation to JOP. Prepared to work with SD-Card Filesystems. Project Page.

Assigned to: Georg Merzdovnik, Gerald Wodni

[edit] JVM Test Suit

At the moment there are no free test suits available to test a JVM implementation. The simple framework available with JOP (test.jvm) shall be expanded to cover a wide range of JVM bytecode tests.

jvmtest is a simple, extensible test suite and framework for the JavaVM. The framework has the capabiltiy to run a test case in more threads to test scheduling and locking, but the number of testcases are still limited and need further work.

Assigned to: Guenther Wimpassinger

[edit] NFS with ejip

Implementation of the network file system (NFS) client on top of the ejip UDP/IP stack. Special care to write a small, time predictable implementation.

Project page

Assigned to: Daniel Reichhard

[edit] Chosen Projects 2008

[edit] Java Locks with PCE

Current implementation of synchronized in JOP is just turn off the scheduling interrupt. That is effective PCE without setting the ceiling level (default is maximum).

Project page: Java Locks with PCE

Assigned to: Gerald Scharitzer

Report: jvm-synchronized.pdf

[edit] Real-time TCP/IP

Enhance the existing real-time TCP/IP stack (ejip) and implement a higher level protocol on top of it.

Project page: ejip

Assigned to: [Stefan Tauner, Stefan Rottensteiner, Jakob Wilhelm, Gerald Pfister]

[edit] Scoped Memory

Scoped memory is a simplified version for dynamic memory management for real-time systems to avoid garbage collection. Implementation of scoped memory, as defined by Safety Critical Java. See: http://www.jopdesign.com/doc/scjava_isorc2007.pdf

Assigned to: Günter Khyo

Report: scopes.pdf

[edit] Wireless Robot Control

Attach the XBee module to the JOP powered LEGO robot and implement a simple protocol.

Project page: Wireless Robot Control

Assigned to: Yilin Huang

Report: docu_wl.pdf

[edit] Table/Lookupswitch in Microcode

Bytecode instructions tableswitch and lookupswitch are implemented in Java on JOP to save microcode memory. However, implementing bytecodes in Java complicates WCET analysis.

  • Microcode implementation
  • WCET analysis of the two instructions
  • (Add the WCET computation to the WCA tool)

Assigned to: Thomas Hassler Lukas Marx

Report: Paper_Switch.pdf

[edit] WCET analysis using the UPPAAL modelchecker

UPPAAL is a model checker for real-time systems, based on networks of timed automata, extended with bounded data types. It has been shown that model checking can improve WCET analysis. For JOP, it could be possible to compute tighter WCET bounds using a more accurate model of the method cache.

The goal's project is to write a translator from compiled java programs to UPPAAL models, and use it to evaluate the feasibility of the approach.

Project page: WCET using UPPAAL

Assigned to: Benedikt Huber, David Markvica, Ingo Seidel

Report: Translation.pdf

[edit] Chosen Projects 2007

[edit] Eclipse Plugin for JOP

An Eclipse plugin (http://vsis.sourceforge.net/) to hide the Makefile has been developed by Rasmus and is now not maintained anymore. Extend the plugin:

  • Configuration of the processor within the plugin
  • Download with a Java program (JavaDown)
  • Interface to Ant instead of make

Assigned to: johan

[edit] FPU vs. Softfloat

  • Add the FPU to JOP and invoke it from microcode
  • Compare the performance and resource usage with the SoftFloat implementation

Results see FPUvsSoftfloat

Assigned to: stephan

[edit] CACAO and gcj on a MIPS or LEON

See MIPS LEON

Technical report: Embedded JIT Compilation with CACAO on YARI

and an ISORC paper

[edit] Links

  • [1] some VHDL tips available
Retrieved from "http://jopwiki.com/JvmHw"
Personal tools