Abstract
This chapter describes theDelft-Javaarchitecture and the mechanisms required to dynamically translate JVM instructions intoDelft-Javainstructions. Using a form of hardware register allocation, we transform stack bottlenecks into pipeline dependencies which are later removed using register renaming and interlock collapsing arithmetic units. The hardware requirements to perform this translation are not excessive when support for Java language constructs are incorporated into the processor’s ISA. When combined with superscalar techniques and multiple instruction issue, we remove up to 60% of translated dependencies. When compared with a realizable stack-based implementation, our approach accelerates a Vector Multiply execution by 2.7x when hardware constraints were considered. Because this approach requires minimal additional hardware for Java translation, it is an efficient technique for executing Java bytecode.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer Science+Business Media New York
About this chapter
Cite this chapter
Glossner, J., Vassiliadis, S. (2002). The Delft-Java Engine. In: Narayanan, V., Wolczko, M.I. (eds) Java Microarchitectures. The Springer International Series in Engineering and Computer Science, vol 679. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-0993-6_6
Download citation
DOI: https://doi.org/10.1007/978-1-4615-0993-6_6
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-5341-6
Online ISBN: 978-1-4615-0993-6
eBook Packages: Springer Book Archive