Abstract
The DELI (Dynamic Execution Layer Interface) provides fine-grain control over the execution of programs, by allowing its clients to observe and optionally manipulate every single instruction at run time. It accomplishes this by opening up an interface to the layer between the execution of application software and hardware. To avoid the 100x implicit slowdown, DELI uses a technique typical of modern emulators: it caches fragments of the executable and always runs out of that cache. Unlike previous systems, DELI exposes the caching through a common interface, so that emulators themselves can take advantage of other DELI clients. This enables mixing emulation with already existing services and native code. In this paper, we describe the basic aspects of DELI: the underlying caching and linking mechanism, the Hardware Abstraction Mechanism (HAM), the Binary-Level Translation (BLT) infrastructure, and the Application Programming Interface (API). We also cover some uses, such as ISA emulation and software patching. Finally, we present emulation results of a PocketPC system on an embedded VLIW processor, where we achieve almost-native performance, and show how to mix-and-match native and emulated code.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
V. Bala, E. Duesterwald, S. Banerjia. Dynamo: a transparent dynamic optimization system. In SIGPLAN Conf. on Programming Language Design and Implementation, pp1–12, 2000.
T. Baji, N. Kawashimo, I. Kawasaki, and K. Noguchi. SuperH and SuperH-DSP Microprocessors for the Mobile Computing Age. Hitachi Review, Volume 46 No 1. Feb 1997.
W. Chen, S. Lerner, R. Chaiken, and D. Gillies. Mojo: A dynamic optimization system. In Proc. of the 3rd Workshop on Feedback-Directed and Dynamic Optimization, Dec. 2000.
R.F. Cmelik and D. Keppel. Shade: a fast instruction set simulator for execution profiling. Tech. Report UWCSE-93-06-06, Dept. Comp.Science and Eng., Univ. Washington. 1993
D. Deaver, R. Gorton, and N. Rubin. Wiggins/Redstone: An on-line program specializer. In Hot Chips 11, Palo Alto, CA, Aug. 1999.
D. Ditzel. Transmeta’s Crusoe: Cool chips for mobile computing. In Hot Chips 12: Stanford University. Aug. 2000.
K. Ebcioglu and E. Altman. DAISY: Dynamic compilation for 100% architectural compatibility. In Proceedings of the 24th Annual International Symposium on Computer Architecture. Pages 26–37, 1997.
K. Ebcioglu, E.R. Altman, E. Hokenek. A JAVA ILP Machine Based on Fast Dynamic Compilation. IEEE MASCOTS International Workshop on Security and Efficiency Aspects of Java. Eilat, Israel, January 9–10, 1997.
P. Faraboschi, G. Brown., J. Fisher., G. Desoli, F. Homewood. Lx: A Technology Platform for Customizable VLIW Embedded Processing. Proc. 27 th International Symposium on Computer Architecture (ISCA27). Vancouver, June 2000
P. Faraboschi, F. Homewood, ST200: A VLIW Architecture for Media-Oriented Applications, Microprocessor Forum 2000, October 9–13 2000, San Jose, CA
J.A. Fisher. Walk-time techniques: Catalyst for architectural change. Computer, 30(9):40–42, September 1997.
M.R. Guthaus, J.S. Ringenberg, D. Ernst, T.M. Austin, T. Mudge and R.B. Brown. Mi-Bench: A Free, Commercially Representative Embedded Benchmark Suite. IEEE 4th Annual Workshop on Workload Characterization, December 2, 2001, Austin, TX
Klaiber. The Technology Behind Crusoe Processors. © 2000 Transmeta Corporation. Available as: http://www.transmeta.com/pdf/white_papers/paper_aklaiber_19jan00.pdf.
T. Lindholm, Frank Yellin. The Java Virtual Machine Specification, Second Edition.
Microsoft Corp. NET specifications. Available at http://www.microsoft.com/net/
Robinson. Why Dynamic Translation? © 2x001 Transitive Technologies. Available as: http://www.transitives.com/downloads/WhyDynamic Translation1.pdf.
Srivastava H. Edwards, H. Vo. Vulcan: Binary translation in a distributed environment. Technical Report MSR-TR-2001-50, Microsoft Research, 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Desoli, G., Mateev, N., Duesterwald, E., Faraboschi, P., Fisher, J. (2002). A New Facility for Dynamic Control of Program Execution: DELI. In: Sangiovanni-Vincentelli, A., Sifakis, J. (eds) Embedded Software. EMSOFT 2002. Lecture Notes in Computer Science, vol 2491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45828-X_23
Download citation
DOI: https://doi.org/10.1007/3-540-45828-X_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44307-0
Online ISBN: 978-3-540-45828-9
eBook Packages: Springer Book Archive