| R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. G. Robinson, Binary translation, Comm. Assoc. Comput. Mach. 36 (February 1993), 69#81. |
....linear solvers with response times on the order of several minutes up to over an hour. We concentrate our efforts on providing feedback to a programmer quickly. A number of approaches address dynamic optimizations through binary translation and just in time compilation techniques for native code [27, 1, 8, 29, 12]. The main thrust of these techniques is program transformation based on knowledge about taken execution paths, such as trace scheduling. The transformations include the reallocation of registers and loop transformations (such as code motion and unrolling) to name a few. These efforts are ....
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, Feb. 1993.
....Recovery s IBM 360 decompiler [7] In this paper, we concentrate on the translation from SPARC assembly code to an imperative procedural language like C. Other target languages can benefit from the same techniques; we chose C due to its popularity in the Unix community. The reader is referred to [16, 6] for ways of translating machine code to assembly. Translation of assembly to HLL code requires a series of analyses in order to abstract away from the hardware features of assembly languages, and to recover the high level features available in most common procedural programming languages. The ....
R. Sites, A. Chernoff, M. Kirk, M. Marks, and S. Robinson. Binary translation. Commun. ACM, 36(2):69--81, Feb. 1993.
.... Department of Computer Science North Carolina State University 448 EGRC, Raleigh, NC 27695 7534 email: jpmarath unity.ncsu.edu, mueller cs.ncsu.edu Abstract Binary rewriting has enjoyed increasing popularity for onthe y optimization JITing as well as translation across different ISAs [1], 2] 3] 4] 5] We examine a novel application of binary rewriting, namely, we deploy binary manipulation techniques to pin point performance problems in the memory hierarchy. We extract reference information from applications in hot spots of execution and analyze the cache behavior with ....
....such as those frequently occurring 3 Declare A[n] B[n] n] initialize A with 0. for (i = 0; i n 1; i ) begin scope 1 for(j = 0; j n 1; j ) begin scope 2 A[i] A[i] B[i 1] j 1] end scope 2 end scope 1 Event Stream: enter scope 1 enter scope 2 A[0] B[1][1] A[0] exit scope 2 enter scope 2 A[1] B[2] 1] A[1] exit scope 2 . exit scope 1 RSD: start addr, length, addr stride,event type, start seq id,seq id stride,source table index PRSD: base addr, base addr shift, sequence id base, sequence id shift, PRSD length,RSD o sets in A: ....
[Article contains additional citation context not shown here]
R. L. Sites, A. Cherno, M. B. Kirk, M. P. Marks, and S. G. Robinson, \Binary translation," Communications of the ACM, vol. 36, no. 2, pp. 69-81, Feb. 1993.
....the absence of instruction overlap, simulator code can be instantiated for each instruction independently, thus simplifying simulator generation to the concatenation of the respective behavioral code specified in the LISA description. In contrast to direct binary to binary translation technqiues [15], the translation of target specific into host specific machine code uses C source code as intermediate format. This keeps the simulator portable, and thus independent from the the simulation host. Since the instruction based code translation generates program code that linearly increases in ....
R. Sites. Binary translation. Communications of the ACM, 36(2):69--81, Feb. 1993. 5662
....machines, intermediate languages and language independent execution platforms have fascinated language researchers for a long time. Well known examples include UNCOL [6] UCSD P code [23] ANDF [20] AS 400 [25] hardware emulators such as VMWare, Transmeta Crusoe TM [30] binary translation [26], the JVM [19] and most recently Microsoft s Common Language Infrastructure (CLI) 2] There are several reasons why people are looking at alternative implementation paths for native compilers: Portability By using an intermediate language, you need only n m translators instead of n # m ....
R. Sites, A. Chernoff, M. Kirk, and M. Marks. Binary Translation. CACM, 36(2):69--81, 1993.
.... design tradeoffs [8] operating system authors to debug their code [1] and to evaluate operating system performance [6, 25] parallel system architects to assess the performance of large systems [4, 9, 23] and end users to execute programs written for one system on a different host system [19, 26, 27]. Simulators also vary in their performance and the level of detail they can model. A common metric is the slow down, or the average number of simulator host instructions executed per simulated instruction (see work by Magnusson and others for a more extensive discussion of slow down [15, 12] ....
....techniques can improve the performance of macro simulators. Instead of decoding the operation fields each time an instruction is executed, the instruction is translated once into a form that is faster to execute. This idea has been used in a variety of simulators for a number of applications [8, 10, 17, 19, 26]. It is also used in some processors to translate an instruction set that programmers see into a more RISC like form that is more efficient to execute [7, 11] 3.3 Direct Execution The target program can also be executed directly on the simulator host [5, 13, 23] by encasing the program in an ....
Richard L. Sites, Anton Chernoff, Mathew B. Kerk, Maurice P. Marks, and Scott G. Robinson. Binary translation. Communications of the ACM, pages 69--81, February 1993.
.... [11] that architectures which do not run Intel x86 code may well be doomed for failure, regardless of their speed To solve the compatibility problem efficiently, there have been several proposals beyond plain or caching interpreters [10] One has been the object code translation approach (e.g. [20, 21, 22, 23]) where a software program takes as input an executable module generated for the old machine, and profile directed feedback information from past emulations, if available. It then generates a new executable module that can run on the new architecture (resorting to interpretation in some difficult ....
....self modifying code, generating a random number and using it as a branch target address, and so on) have been addressed, the static object code translation solution still has some problems. If object code translation is used to emulate applications written for one existing machine on another ([22, 23]) then many primitives may need to be generated to emulate one old architecture instruction, or unsafe simplifying assumptions may need to be made (e.g. about ordering of shared variable accesses, or the number of bits in the floating point representation) to get more performance, in which case ....
[Article contains additional citation context not shown here]
R. Sites et al. Binary Translation, CACM,Vol. 36, no.2, pp. 69-81, Feb. 1993.
.... Due to the variety of requirements stated in previous sections, Dixie is based on a combination of two main techniques: Binary translation, a technique to translate the object code of an application (binary file) from its native architecture into an equivalent object code for a new architecture [5]. Instruction set emulation, typically executing one instruction set (the native ISA) in terms of another instruction set (the host ISA) The need for binary emulation is obvious due to the requirement of providing wrong path information. None of the current tools based on instrumenting a binary ....
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. Robinson. Binary translation. Communications of the ACM, pages 69--81, February 1993.
....program binary is a common software solution to simulation. Instruction set emulation and static code annotation are common approaches used to collect execution traces [12] Binary translation is a technique used to construct fast simulators, but it also useful for other types of software problems [9]. Pixie [10] is a program analyzer that reads the entire executable for a program and writes a new version of the program that saves profiling information as it runs. Pixie allows the user to collect only basic block execution counts and text and data traces. There is no provision for ....
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. Robinson. Binary translation. Communications of the ACM, pages 69--81, February 1993.
.... of disassembly and decompilation techniques, but which also provides a run time support environment to run code that could not be successfully translated to the new machine; this environment was first developed by Digital to aid in the translation of VAX and mx software to the new Alpha machine [6]. As with the Alpha binary translation environment, several other uses of decompilation require other tools to help in the process of extraction of high level information. This is mainly due to the fact that software has become very large and complex, and also because decompilation on its own is ....
R.L. Sites, A. Chernoff, M.B. Kirk, M.P. Marks, and S.G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
.... Y gsim[43] 44] sim db atr otr tb C exe usd Y Y 1 Y Y tci dcc Y Mable[23] sim db atr exe u N Y 1 NYddi N Migrant[66] sim exe u Y N Y Y scc emu Y Mimic[46] sim exeuNNNNdcc N MINT[73] atr exe u N Y 1 Y N pdi dcc Y Moxie[16] sim exe u N N Y N scc N MPtrace[26] atr asm u N Y = S N aug N MX Vest[67] sim exe u N Y = Y Y scc gi Y Pixie[48] atr exe u Y N Y N aug N Pixie II[17] atr otr db exe us Y N Y S scc N Proteus[12] atr hll u N Y 1 N S aug N Purify[32] db exe u N N Y N aug Y qp qpt[38] atr otr exe u N N N N aug N RPPT[21] atr hll u N Y 1 NNaug N RSIM[54] sim atr otr exe u Y N N N ....
Richard L. Sites, Anton Chernoff, Matthew B. Kerk, Maurice P. Marks, and Scott G. Robinson, "Binary Translation," CACM, 36(2): 69-81, February 1993.
....implementation of UQDBT conservatively emulates all side effects of condition codes on the target machine. This results in 50 more code in the final translation for every source instruction that affects the condition codes. 5. RELATED WORK The early binary translators like Digital s VEST and mx [1], Apple s MAE [2] and Digital s Freeport Express [3] were all static. In recent years, hybrid translators like Executor by Ardi [5] and Sun s Wabi [6] mix translation with emulation. Embra [7] and Shade [17] use dynamic translation techniques. Le[8] also investigated in out oforder execution ....
R.L. Sites, A. Chernoff, M.B. Kirk, M.P. Marks, and S.G. Robinson. Binary translation. Communications of the ACM, 36(2):69-81, February 1993.
....of native code and optimizations of frequently executed pieces of code, resulting in more efficient techniques than emulation. Binary translation is a relatively new area of research, used in the late 1980s and 1990s to aid in the porting of code to newer machines (e.g. Moxie [28] VEST and mx [35] and FX 32 [21] It developed as an alternative to emulation because interpretation was considered too slow for the purposes of running application software on other machines. As reported by Digital, FX 32 runs applications five to 20 times faster than they run under emulation. The relative ....
R.L. Sites, A. Chernoff, M.B. Kirk, M.P. Marks, and S.G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
....The drawback of this technique is that it is cumbersome to use, because access to source code may not always be possible. A variant of this is off line object code translation, which is more practical when the source code is unavailable or a large set of programs for the older architecture exists [10]. Alternatively, an interpreter could be used to translate between the architectures at run time [11] but this approach usually suffers from poor performance. Another approach is dynamic rescheduling [12] In this technique, a program binary scheduled for the target machine model of a VLIW ....
....alternative is off line recompilation and rescheduling. This technique has an advantage in terms of the performance but is extremely cumbersome to use, owing to its off line nature. Similar to this is off line binary translation, which was used to migrate VAX software to the Alpha platform [10]. Run time software emulation can also be used, as implemented in Insignia Solution s SoftWindows product [13] An approach employing both the emulation and translation techniques has been utilized in the FX 32 product from DEC [14] May investigated using an interpreter to execute IBM System 370 ....
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. G. Robinson, "Binary translation," Comm. ACM, vol. 36, pp. 69--81, Feb. 1993.
....Recovery s IBM 360 decompiler [9] In this paper, we concentrate on the translation from SPARC assembly code to an imperative procedural language like C. Other target languages can benefit from the same techniques; we chose C due to its popularity in the Unix community. The reader is referred to [19, 8] for ways of translating machine code to assembly. Translation of assembly to HLL code requires a series of analyses in order to abstract away from the hardware features of assembly languages, and to recover the high level features available in most common procedural programming languages. The ....
R.L. Sites, A. Chernoff, M.B. Kirk, M.P. Marks, and S.G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
....interest are the techniques used to migrate the software to a new machine architecture. Silberman and Ebcioglu [7] describe in detail an effort to gain performance advantage by translating and running old CISC object code on RISC, Superscalar and VLIW machines. The approach of Binary Translation [8], and a combination of binary translation and emulation [9] has been used by Digital Equipment Corporation to migrate various software platforms to its Alpha architecture. Apple Computer has also used the technique of emulation to migrate the software compiled for Motorola 680x0 to the PowerPC ....
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. G. Robinson, "Binary translation," Comm. ACM, vol. 36, pp. 69--81, Feb. 1993.
....the object code to run on a different platform. A few such translators have been implemented commercially: FX 32 is a Windows NT x86 to Windows NT Alpha translator [15] Freeport Express is a Solaris Sparc to Digital Unix Alpha translator [71] VEST translates OpenVMS VAX to OpenVMS Alpha [70, 64], and mx translates Ultrix Mips to Digital Unix Alpha [70, 64] Binary translation is also useful for the fast emulation of a new or fictitious platform before actual hardware is available, allowing compiler writers, for example, to test their code generator in advance. Binary translation often ....
.... such translators have been implemented commercially: FX 32 is a Windows NT x86 to Windows NT Alpha translator [15] Freeport Express is a Solaris Sparc to Digital Unix Alpha translator [71] VEST translates OpenVMS VAX to OpenVMS Alpha [70, 64] and mx translates Ultrix Mips to Digital Unix Alpha [70, 64]. Binary translation is also useful for the fast emulation of a new or fictitious platform before actual hardware is available, allowing compiler writers, for example, to test their code generator in advance. Binary translation often requires a runtime software emulator for the source platform, ....
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks, and Scott G. Robinson. Binary translation. Communications of the ACM, 36(2):69-- 81, February 1993.
....format that is capable of expressing the structure of an optimized program. ffl Binary Translation Binary Translation is a technique that is used to convert machine code from one architecture to another. For example, one of its main uses was in the introduction of DEC s Alpha processor [31]. There was a desire to convert existing VAX software to the Alpha platform, without using the original source code. Another system [30] talks about emulating complex instruction set machines by using binary translation within a RISC environment. In the context of heterogeneous process migration, ....
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks, and Scott G. Robinson. Binary Translation. Communications of the ACM, February 1993.
....7. The work reported herein is work in progress. 1.1 Related work In an attempt to improve on existing emulation techniques, companies in the late 1980s began using binary translation to achieve native code performance. Perhaps the most well known binary translators are Digital s VEST and mx[1], which translate VAX and MIPS machine instructions to 64 bit Alpha instructions. Both of these translators and others, like Apple s MAE[2] and Digital s Freeport Express[3] have a runtime environment that reproduces the old machine s operating environments. The runtime environment offers a ....
....properties about the stack movement were specified. This information is currently not used by UQBT; only by UQDBT. UQBT relies on costly analysis to abstract higher level information, without depending on very low level details of the underlying hardware. 0000 0010 1101 1000 addl ebx, eax r[1] : r[0] r[1] v[100] v[98] v[99] r[9] r[10] r[9] 1001 0010 0000 0010 0100 0000 0000 1010 add o1, o2, o1 Figure 4. Pentium to SPARC example 3. RESEARCH PROBLEMS Unlike other dynamic binary translators that are written with a fixed set of source and destination machines in ....
[Article contains additional citation context not shown here]
R.L. Sites, A. Chernoff, M.B. Kirk, M.P. Marks, and S.G. Robinson. Binary translation. Communications of the ACM, 36(2):69-81, February 1993.
....technique we use for our simulator is well known in simulation of hardware circuits, e.g. 5] We follow the same general idea, but apply it to the simulation of the instruction set architecture. Our approach resembles binary translation used for migrating executables from one machine to another [6], or collecting run time statistics [7] However, clock bit true translation and debugging are not objectives of binary translation. In [8] a prototype simulation compiler for a commercial DSP processor is reported. This realization used a portable C compiler for the target whose back end was ....
R. Sites, et al., "Binary translation," Comm. of the ACM, vol. 36, pp. 69--81, Feb. 1993.
....technique we use for our simulator is well known in simulation of hardware circuits, e.g. 1] We follow the same general idea, but apply it to the simulation of the instruction set architecture. Our approach resembles binary translation used for migrating executables from one machine to another [2], or collecting run time statistics [3] However, clock bit true translation and debugging are not objectives of binary translation. II. Fast ISA Simulation The following three examples shall provide an insight into the role of fast ISA simulation in DSP code design, joint DSP processor compiler ....
R. Sites, et al., "Binary translation," Comm. of the ACM, vol. 36, pp. 69--81, Feb. 1993.
....is limited to a well defined segment of memory, rather than the whole process image. 35 Binary Translation Binary Translation is a technique that is used to convert machine code from one architecture to another. For example, one of its main uses was in the introduction of DEC s Alpha processor [52]. There was a desire to convert existing VAX software to the Alpha platform, without using the original source code. Another system [53] talks about emulating complex instruction set machines by using binary translation within a RISC environment. In the context of heterogeneous process migration, ....
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks, and Scott G. Robinson. Binary Translation. Communications of the ACM, 36(2):69-- 81, February 1993.
....scheduling of [4] The idea is to use a priori or compile time knowledge in order to reduce run time computation. It is a typical application of the principle make frequent operations fast . Our approach resembles binary translation used for migrating executables from one machine to another [8,10], or collecting run time statistics [3] However, clock bit true translation and debugging are not objectives of binary translation. Let us assume a state space model of the processor. The machine state is changed by applying the transition functions which are selected by the transition control. ....
R. Sites, et al. Binary translation. Comm. of the ACM, 36:69--81, Feb. 1993.
....found a need for pseudocode. The greatest difficulty in creating modified code that compiles has been to get the types and declarations correct. A natural question at this point is why not use reverse engineering techniques to obtain an optimized source program directly from the optimized binary [2, 4, 9, 10]. The reason for not doing so is that the new program must be recognizable and understandable by someone familiar with the original program. Due to the loss of some types of control flow data, as well as the nature of certain optimizations such as software pipelining and loop optimizations, code ....
R. Sites, A. Chernoff, M. Kirk, M. Marks, and S. Robinson, "Binary Translation", Communications of the ACM, Vol. 36, No. 2, February 1993.
....it to a VAX binary using Moxie, and (c) comparing the output of the VAX and MIPS to VAX binaries. Moxie was used only for userlevel programs; kernel execution was done on a separate interpreter. A Moxied MIPS binary runs about half as fast as the same program compiled for the VAX. VEST and MX [SCKMR93] are tools for running VAX and MIPS binaries, respectively, on platforms based on DEC s AXP. The tools are similar in many details and will be referred to below as VEST except where the differences are important. VEST is a binary to binary compiler. It reads a VAX target program and produces a ....
Richard L. Sites, Anton Chernoff, Matthew B. Kerk, Maurice P. Marks, and Scott G. Robinson, "Binary Translation, " Communications of The ACM, vol. 36, no. 2, pp. 69-81, February 1993.
....makes the program unresponsive. This limits the optimizations that emulators can perform using dynamic translation. DIGITAL FX 32 makes a different tradeoff. No translation is done while the application is executing. Rather, the emulator captures an execution profile. Later, a binary translator[1] uses the profile to translate the parts of the application that have been executed into native Alpha code. Since the translator runs in the background, it can use computationally intensive algorithms to improve the quality of the generated code. To our knowledge, DIGITAL FX 32 is the first system ....
....be executed by an application, especially for applications which generate code on the fly. The emulator provides a mechanism to execute x86 application code which has not been translated. Previous binary translators built by Digital have always depended on the presence of an emulator in this role[1]. A fundamental difference between DIGITAL FX 32 and the earlier binary translators is that large amounts of code are interpreted by the DIGITAL FX 32 emulator the first time an application is run. The performance of the emulator is therefore more of an issue for DIGITAL FX 32 than for the earlier ....
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks, and Scott G. Robinson, "Binary Translation", Digital Technical Journal, Vol. 4, No. 4, 1992
No context found.
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. G. Robinson, Binary translation, Comm. Assoc. Comput. Mach. 36 (February 1993), 69#81.
No context found.
R. Sites, A. Chernoff, M. Kirk, M. Marks, and S. Robinson, "Binary Translation", Digital Technical Journal, Vol. 4, No. 4, Digital Equipment Corporation, Maynard, MA, 1992.
No context found.
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. G. Robinson, "Binary Translation", Communications of the ACM, Vol. 36, pp. 69-81, February 1993.
No context found.
R. Sites, A. Chernoff, M. Kirk, M. Marks, and S. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
No context found.
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks, and Scott G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, 1993.
No context found.
Sites, R., Cherno#, A., Kirk, M., Marks, M., and Robinson, S., "Binary Translation", Communications of the ACM, Vol. 36, No. 2, February 1993
No context found.
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks, and Scott G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, 1993.
No context found.
R. Sites et al., "Binary translation," Commun. ACM, vol. 36, pp. 69--81, Feb. 1993.
No context found.
Richard L. Sites, Anton Chernoff, Matthew B. Kerk, Maurice P. Marks, and Scott G. Robinson, Binary Translation, Communications of the ACM, 36(2):69-81, February 1993.
No context found.
R. Sites, A. Chernoff, M. Kirk, M. Marks, and S. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
No context found.
R.L. Sites, A. Chernoff, Kirk, M. Marks, and S. Robinson, "Binary Translation," Comm. ACM 36 (2), Feb. 1993.
No context found.
R.L. Sites, A. Chernoff, M.B. Kirk, M.P. Marks, and S.G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
No context found.
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks, and Scott G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
No context found.
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
No context found.
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks and Scott G. Robinson, `Binary translation', Communications of the ACM, 36, (2), 69--81 (1993).
No context found.
R. Sites, A. Chernoff, Kirk, M. Marks, and S. Robinson, "Binary Translation," Comm. ACM 36 (2), Feb. 1993, pp. 69-81.
No context found.
R. L. Sites, A. Cherno, M. B. Kirk, M. P. Marks, and S. G. Robinson. Binary translation. Communications of the ACM, 36(2):69-81, February 1993.
No context found.
R.L. Sites, A. Chernoff, M.B. Kirk, M.P. Marks, and S.G. Robinson. Binary translation. Communications of the AUM, 36(2):69 81, February 1993.
No context found.
R.L. Sites et al., "Binary Translation," Digital Tech. J., Vol. 4, No. 4, 1992, pp. 137-152.
No context found.
R. Sites et al., "Binary Translation," Digital Technical J., Dec. 1992, pp. 137-152.
No context found.
R. L. Sites, A. Chernoff, M. B. Kirk, M. P. Marks, and S. G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
No context found.
R. Sites, A. Chernoff, M. Kirk, M. Marks, and S. Robinson, "Binary Translation," Digital Technical Journal, vol. 4, no. 4 (Maynard, Mass.: Digital Equipment Corporation, 1992).
No context found.
R.L. Sites, et al., "Binary Translation," Communications of the ACM, Vol. 36, No. 2, February 1993, pp. 69-81.
No context found.
Richard L. Sites, Anton Chernoff, Matthew B. Kirk, Maurice P. Marks, and Scott G. Robinson. Binary translation. Communications of the ACM, 36(2):69--81, February 1993.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC