Learn More
Transmeta's Crusoe microprocessor is a full, system-level implementation of the x86 architecture, comprising a native VLIW microprocessor with a software layer, the <b>Code Morphing Software</b> (CMS), that combines an interpreter, dynamic binary translator, optimizer, and runtime system. In its general structure, CMS resembles other binary translation(More)
Much of the software in everyday operation is not making optimal use of the hardware on which it actually runs. Among the reasons for this discrepancy are hardware/software mismatches, modularization overheads introduced by software engineering considerations, and the inability of systems to adapt to users' behaviors.A solution to these problems is to delay(More)
The traditional path to software portability among various hardware platforms takes a new turn with the use of slim binaries. Slim Binaries T he power of computers has increased dramatically over the past 20 years. Not only has the performance of processors risen continuously from one generation to the next and from architecture to architecture, but the(More)
Despite the apparent success of the Java Virtual Machine, its lackluster performance makes it ill-suited for many speed-critical applications. Although the latest just-in-time compilers and dedicated Java processors try to remedy this situation, optimized code compiled directly from a C program source is still orders of magnitude faster than software(More)
We present and evaluate a simple, yet efficient optimization technique that improves memory-hierarchy performance for pointer-centric applications by up to 24% and reduces cache misses by up to 35%. This is achieved by selecting an improved ordering for the data members of pointer-based data structures. Our optimization is applicable to all type-safe(More)
Much of the software in everyday operation is not making optimal use of the hardware on which it actually runs, but has been optimized for earlier and often outdated processor versions. This is because users upgrade hardware independently from, and often more frequently than, application software. Moreover, software vendors are generally unable or unwilling(More)
Component-oriented programming promises to finally make the vision of pervasive software components a reality. In the area of dependable real-time systems, the benefits of increased reuse, reliability, and efficiency make component-oriented programming especially attractive. As part of the Lagoona project, we are investigating how component oriented(More)