Results 1 -
9 of
9
Dynamic binary translation and optimization
- IEEE Transactions on Computers
, 2001
"... AbstractÐWe describe a VLIW architecture designed specifically as a target for dynamic compilation of an existing instruction set architecture. This design approach offers the simplicity and high performance of statically scheduled architectures, achieves compatibility with an established architectu ..."
Abstract
-
Cited by 21 (2 self)
- Add to MetaCart
AbstractÐWe describe a VLIW architecture designed specifically as a target for dynamic compilation of an existing instruction set architecture. This design approach offers the simplicity and high performance of statically scheduled architectures, achieves compatibility with an established architecture, and makes use of dynamic adaptation. Thus, the original architecture is implemented using dynamic compilation, a process we refer to as DAISY (Dynamically Architected Instruction Set from Yorktown). The dynamic compiler exploits runtime profile information to optimize translations so as to extract instruction level parallelism. This work reports different design trade-offs in the DAISY system and their impact on final system performance. The results show high degrees of instruction parallelism with reasonable translation overhead and memory usage. Index TermsÐDynamic compilation, binary translation, dynamic optimization, just-in-time compilation, adaptive code generation, profile-directed feedback, instruction-level parallelism, very long instruction word architectures, virtual machines, instruction set architectures, instruction set layering. æ 1
Precise Exception Semantics in Dynamic Compilation
- In Symposium on Compiler Construction
, 2002
"... Maintaining precise exceptions is an important aspect of maintaining compatibility with a legacy architecture. While asynchronous exceptions can be deferred to an appropriate boundary in the code, synchronous exceptions must be taken when they occur. This introduces uncertainty into liveness analysi ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Maintaining precise exceptions is an important aspect of maintaining compatibility with a legacy architecture. While asynchronous exceptions can be deferred to an appropriate boundary in the code, synchronous exceptions must be taken when they occur. This introduces uncertainty into liveness analysis since processor state that is otherwise dead may be exposed when an exception handler is invoked. Previous systems either had to sacrifice full compatibility to achieve more freedom to perform optimization, use less aggressive optimization or rely on hardware support.
Advances and Future Challenges in Binary Translation and Optimization
- Proc. of the IEEE
, 2001
"... Binary translation and optimization have achieved a high profile in recent years with projects such as the IBM DAISY open-source project, Transmeta Crusoe, HP Dynamo, Java JIT compilers such as LaTTe, and many others. Binary translation has several potential attractions: Architecture can become a la ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Binary translation and optimization have achieved a high profile in recent years with projects such as the IBM DAISY open-source project, Transmeta Crusoe, HP Dynamo, Java JIT compilers such as LaTTe, and many others. Binary translation has several potential attractions: Architecture can become a layer of software, which allows the implementation of complex legacy architecture(s) through simple hardware and the introduction of novel new architecture and microarchitecture concepts without forcing any software changes. Secondly, binary translation enables significant software optimizations of the kind that would push the complexity boundaries if done with hardware alone. While still in its early stages, could binary translation offer a new way to design processors, i.e., is it a disruptive technology, the term popularized by Prof. Clayton Christensen? This paper discusses this interesting question, examines some exciting future possibilities for binary translation, and then gives an
High frequency pipeline architecture using the recirculation buffer
- IBM RESEARCH REPORT(RC23113
, 2001
"... ..."
RC22025 (98128) 18 July 2000 Computer Science
- IEEE Transactions on Computers
, 2001
"... We describe a VLIW architecture designed speci#cally as a target for dynamic compilation of an existing instruction set architecture. This design approach o#ers the simplicity and high performance of statically scheduled architectures, achieves compatibility with an established architecture, and mak ..."
Abstract
- Add to MetaCart
We describe a VLIW architecture designed speci#cally as a target for dynamic compilation of an existing instruction set architecture. This design approach o#ers the simplicity and high performance of statically scheduled architectures, achieves compatibility with an established architecture, and makes use of dynamic adaptation. Thus, the original architecture is implemented using dynamic compilation, a process we refer to as DAISY #Dynamically Architected Instruction Set from Yorktown#. The dynamic compiler exploits runtime pro#le information to optimize translations so as to extract instruction level parallelism. This work reports di#erent design trade-o#s in the DAISY system, and their impact on #nal system performance. The results show high degrees of instruction parallelism with reasonable translation overhead and memory usage.
RC23262 (97775) March 27, 2000
, 2000
"... We describe our experiences with DAISY (Dynamically Architected Instruction Set from Yorktown). DAISY dynamically translates code for a RISC processor into code for an underlying VLIW processor. This translation is done piecewise --- when a fragment of code is first encountered for execution, it is ..."
Abstract
- Add to MetaCart
We describe our experiences with DAISY (Dynamically Architected Instruction Set from Yorktown). DAISY dynamically translates code for a RISC processor into code for an underlying VLIW processor. This translation is done piecewise --- when a fragment of code is first encountered for execution, it is translated into code for the underlying VLIW machine and saved. This translation process begins with firmware executed by the RISC processor at boot time, continues through a full operating system boot, user login, and X-Windows, under which a variety of applications are run. The translated code is executed under simulation thus guaranteeing the correctness of the whole process.
RC23283 (97774) March 27, 2000
- In Proc. of the 13th International Conference on Parallel and Distributed Computing Systems, pages 446–453, Las Vegas, NV
, 2000
"... We describe full system simulation of DAISY (Dynamically Architected Instruction Set from Yorktown). At runtime DAISY dynamically translates code for a PowerPC processor into code for an underlying VLIW processor. Our style of simulation can also be used in the context of full system emulation a ..."
Abstract
- Add to MetaCart
We describe full system simulation of DAISY (Dynamically Architected Instruction Set from Yorktown). At runtime DAISY dynamically translates code for a PowerPC processor into code for an underlying VLIW processor. Our style of simulation can also be used in the context of full system emulation a la SimOS and SimICS. Unlike SimOS and SimICS, DAISY emulation is operating system and device independent.
On Achieving Precise Exceptions Semantics in Dynamic Optimization
, 2000
"... In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., p ..."
Abstract
- Add to MetaCart
In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). Copies may be requested from IBM T. J. Watson Research Center, P. O. Box 218,
Trace Execution Automata in Dynamic Binary Translation
"... Program performance can be dynamically improved by optimizing its frequent execution traces. Once traces are collected, they can be analyzed and optimized based on the dynamic information derived from the program’s previous runs. The ability to record traces is thus central to any dynamic binary tra ..."
Abstract
- Add to MetaCart
Program performance can be dynamically improved by optimizing its frequent execution traces. Once traces are collected, they can be analyzed and optimized based on the dynamic information derived from the program’s previous runs. The ability to record traces is thus central to any dynamic binary translation system. Recording traces, as well as loading them for use in different runs, requires code replication in order to represent the trace. This paper presents a novel technique which records execution traces by using an automaton called TEA (Trace Execution Automata). Contrarytootherapproaches,TEAstorestracesimplicitly,without the need to replicate execution code. TEA can also be used to simulate the trace execution in a separate environment, to store profile information about the generated traces, aswelltoinstrumentoptimizedversionsofthetraces. In our experiments, we showed that TEA decreases memory needs to represent the traces (nearly 80 % savings).

