DELI: a new run-time control point
- 26 June 2003
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
The Dynamic Execution Layer Interface (DELI) offers the following unique capability: it provides fine-grain control over the execution of programs, by allowing its clients to observe and optionally manipulate every single instruction - at run time - just before it runs. DELI accomplishes this by opening up art interface to the layer between the execution of software and hardware. To avoid the slowdown, DELI caches a private copy of the executed code and always runs out of its own private cache. In addition to giving powerful control to clients, DELI opens up caching and linking to ordinary emulators and just-in-time compilers, which their get the reuse benefits of the same mechanism. For example, emulators themselves call also use other clients, to mix emulation with already existing services, native code, and other emulators. This paper describes the basic aspects of DELI, including the underlying caching and linking mechanism, the Hardware Abstraction Mechanism (HAM), the Binary-Level Translation (BLT) infrastructure, and the Application Programming Interface (API) exposed to the clients. We also cover some of the services that clients could offer through the DELI, such as ISA emulation, software patching, and sandboxing. Finally, we consider a case study of emulation in detail: the emulation of a PocketPC system on the Lx/ST210 embedded VLIW processor. In this case, DELI enables us to achieve near-native performance, and to mix-and-match native and emulated code.Keywords
This publication has 12 references indexed in Scilit:
- MiBench: A free, commercially representative embedded benchmark suitePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Executing Compressed Programs On An Embedded RISC ArchitecturePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Efficient path profilingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Trace cache: a low latency approach to high bandwidth instruction fetchingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Putting the fill unit to work: dynamic optimizations for trace cache microprocessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- An API for Runtime Code PatchingThe International Journal of High Performance Computing Applications, 2000
- DynamoPublished by Association for Computing Machinery (ACM) ,2000
- Machine-adaptable dynamic binary translationACM SIGPLAN Notices, 2000
- Walk-time techniques: catalyst for architectural changeComputer, 1997
- EmbraPublished by Association for Computing Machinery (ACM) ,1996