|
ABSTRACT
This paper describes hardware methods, a lightweight and platform-independent scheme for linking real-time Java code to co-processors implemented using a hardware description language (HDL). Intended for use in embedded systems, hardware methods have similar semantics to the native methods used to interface Java code to legacy C/C++ software, but are also time-predictable, facilitating accurate worst-case execution time (WCET) analysis. By reference to several examples, the paper demonstrates the applicability of hardware methods and shows that they can (1) reduce the WCET of embedded real-time Java, and (2) improve the quality of WCET estimates in the presence of infeasible paths.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Agility DS. Handel-C Language Reference Manual. http://agilityds.com/literature/HandelC_Language_Reference_Manual.pdf.
|
| |
2
|
J. Agron, W. Peck, E. Anderson, D. Andrews, E. Komp, R. Sass, F. Baijot, and J. Stevens. Run-Time Services for Hybrid CPU/FPGA Systems on Chip. In Proc. RTSS, pages 3--12, Washington, DC, USA, 2006. IEEE Computer Society.
|
| |
3
|
P. J. Ashenden. The Designer's Guide to VHDL. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001.
|
| |
4
|
N. Audsley and I. Bate. Synthesis of Legacy Real-Time Ada Software to FPGA. In Proc. RTCSA, pages 21--40, 2004.
|
| |
5
|
N. Audsley, I. Bate, and M. Ward. Mapping Concurrent Real-Time Software to FPGA. In Proceedings of the 3rd U.K. ACM SIGDA Workshop on Electronic Design Automation, 2003.
|
| |
6
|
C. Austin and M. Pawlan. JNI Technology. In Advanced Programming for the Java 2 Platform, pages 207--230, 2000. http://java.sun.com/developer/Books/j2ee/advancedprogramming/jni.pdf.
|
| |
7
|
D. M. Beazley. Swig: an easy to use tool for integrating scripting languages with c and C++. In Proc. TCLTK, page 15. USENIX Association, 1996.
|
| |
8
|
A. Borg, R. Gao, and N. Audsley. A co-design strategy for embedded java applications based on a hardware interface with invocation semantics. In Proc. JTRES, pages 58--67, 2006.
|
| |
9
|
A. Filippov. Building an Ogg Theora camera using an FPGA and embedded Linux (accessed 26 April 07). http://www.linuxdevices.com/articles/AT3888835064.html, 2002.
|
| |
10
|
Git. Version control system. http://git-scm.com/.
|
| |
11
|
F. Gruian, P. Andersson, K. Kuchcinski, and M. Schoeberl. Automatic generation of application-specific systems based on a micro-programmed java core. In Proceedings of the 20th ACM Symposium on Applied Computing, Embedded Systems track, Santa Fee, New Mexico, March 2005.
|
| |
12
|
J. Gustaffson, A. Ermedahl, and B. Lisper. Algorithms for infeasible path calculation. In Proc. WCET, pages 1--6, 2006.
|
| |
13
|
D. Hardin, M. Frerking, P. Wiley, and G. Bollella. Getting down and dirty: Device-level programming using the real-time specification for Java. In Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2002), pages 457--464, 2002.
|
| |
14
|
R. Heckmann, M. Langenbach, S. Thesing, and R. Wilhelm. The influence of processor architecture on the design and the results of WCET tools. Proc. IEEE, 91(7):1038--1054, 2003.
|
| |
15
|
T. Henties, J. J. Hunt, D. Locke, K. Nilsen, M. Schoeberl, and J. Vitek. Java for safety-critical applications. In 2nd International Workshop on the Certification of Safety-Critical Software Controlled Systems (SafeCert 2009), Mar. 2009.
|
| |
16
|
B. Huber. Worst-case execution time analysis for real-time Java. Master's thesis, Vienna University of Technology, Austria, 2009.
|
| |
17
|
M. Hubner and J. Becker. Exploiting dynamic and partial reconfiguration for FPGAs: toolflow, architecture and system integration. In Proc. SBCCI, pages 1--4, 2006.
|
| |
18
|
Ingo Proetel. Re: Use of JNI as part of a Java/co-processor interface. Email on JEOPARD mailing list, 30 May 2008.
|
| |
19
|
I. H. Kazi, H. H. Chen, B. Stanley, and D. J. Lilja. Techniques for obtaining high performance in Java programs. ACM Comput. Surv., 32(3):213--240, 2000.
|
| |
20
|
T. Lundqvist and P. Stenström. Timing anomalies in dynamically scheduled microprocessors. In Proc. RTSS, page 12, 1999.
|
| |
21
|
Mathworks. Simulink - Simulation and Model-Based Design. http://www.mathworks.com/products/simulink/.
|
| |
22
|
C. Pitter. Time-Predictable Java Chip-Multiprocessor. PhD thesis, Vienna University of Technology, Austria, 2009.
|
| |
23
|
P. Puschner. Is worst-case execution-time analysis a non-problem? -- towards new software and hardware architectures. In Proc. WCET, 2002.
|
| |
24
|
P. Puschner and A. Burns. Guest editorial: A review of worst-case execution-time analysis. Real-Time Syst., 18(2--3):115--128, 2000.
|
| |
25
|
M. Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1--2:265--286, 2008.
|
| |
26
|
M. Schoeberl. JOP Reference Handbook. Number ISBN 978-1438239699. CreateSpace, 2009. Available at http://www.jopdesign.com/doc/handbook.pdf.
|
| |
27
|
M. Schoeberl. Time-predictable computer architecture. EURASIP Journal on Embedded Systems, vol. 2009, Article ID 758480:17 pages, 2009.
|
| |
28
|
M. Schoeberl and R. Pedersen. WCET analysis for a Java processor. In Proceedings of the 4th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2006), pages 202--211, New York, NY, USA, 2006. ACM Press.
|
| |
29
|
M. Schoeberl, C. Thalinger, S. Korsholm, and A. Ravn. Hardware Objects for Java. In Proc. ISORC, pages 445--452, 2008.
|
| |
30
|
E. T. Silva, D. Andrews, C. E. Pereira, and F. R. Wagner. An Infrastructure for Hardware-Software Co-Design of Embedded Real-Time Java Applications. In Proc. ISORC, pages 273--280, 2008.
|
| |
31
|
S. Vassiliadis, S. Wong, G. Gaydadjiev, K. Bertels, G. Kuzmanov, and E. M. Panainte. The Molen Polymorphic Processor. IEEE Trans. Comput., pages 1363--1375, November 2004.
|
| |
32
|
Verilog.com. Verilog Resources. http://www.verilog.com/.
|
| |
33
|
G. K. Wallace. The JPEG still picture compression standard. Commun. ACM, 34(4):30--44, 1991.
|
| |
34
|
J. Whitham and N. Audsley. The Scratchpad Memory Management Unit for Microblaze: Implementation, Testing, and Case Study. Technical Report YCS-2009-439, University of York, 2009.
|
| |
35
|
Xilinx. Virtex-4 Family Overview. Datasheet DS112, Xilinx Corporation, 2007.
|
|