A Formalization of an Emulation Based Co-designed Virtual Machine

Co-designed Virtual Machine (Co-VM) technique combining software and hardware enables a different approach to microprocessor design, where the host architecture is designed concurrently with the software that runs on it. The key of a Co-VM is to emulate the source architecture on the target architecture through interpretation and binary translation. There is some commonness of different Co-VMs. In this paper, we propose a formalization of the emulation based co-designed virtual machine. Some theorem, lemma and properties are put forward, like the VM should take the binary translation strategy based on the semantics of a basic code block or a super block rather than the strategy based on instruction. The solutions proposed in this paper can be used as a guide for choosing the interpretation or binary translation strategy when designing a Co-VM.

[1]  Scott A. Mahlke,et al.  The superblock: An effective technique for VLIW and superscalar compilation , 1993, The Journal of Supercomputing.

[2]  Richard Johnson,et al.  The Transmeta Code Morphing#8482; Software: using speculation, recovery, and adaptive retranslation to address real-life challenges , 2003, CGO.

[3]  Jens Tröger,et al.  Specification-driven dynamic binary translation , 2005 .

[4]  Yun Wang,et al.  IA-32 Execution Layer: a two-phase dynamic translator designed to support IA-32 applications on Itanium-based systems , 2003, MICRO.

[5]  Li Shen,et al.  Using Pcache to Speedup Interpretation in Dynamic Binary Translation , 2009, 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications.

[6]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[7]  K. Ebcioglu,et al.  Daisy: Dynamic Compilation For 10o?40 Architectural Compatibility , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[8]  Yun Wang,et al.  IA-32 execution layer: a two-phase dynamic translator designed to support IA-32 applications on Itanium/spl reg/-based systems , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[9]  Gerald J. Popek,et al.  Formal requirements for virtualizable third generation architectures , 1974, SOSP '73.

[10]  Richard Johnson,et al.  The Transmeta Code Morphing/spl trade/ Software: using speculation, recovery, and adaptive retranslation to address real-life challenges , 2003, International Symposium on Code Generation and Optimization, 2003. CGO 2003..

[11]  Erik R. Altman,et al.  Daisy: Dynamic Compilation For 10o?40 Architectural Compatibility , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[12]  A. Turing,et al.  On Computable Numbers, with an Application to the Entscheidungsproblem. A Correction , 1938 .

[13]  Tal Garfinkel,et al.  Virtual machine monitors: current technology and future trends , 2005, Computer.

[14]  Aaron Sloman,et al.  THE EMPEROR'S NEW MIND Concerning Computers, Minds and the Laws of Physics , 1992 .

[15]  Shen Lin,et al.  Computer Studies of Turing Machine Problems , 1965, JACM.

[16]  Raymond J. Hookway,et al.  DIGITAL FX!32: Combining Emulation and Binary Translation , 1997, Digit. Tech. J..

[17]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX ATC, FREENIX Track.

[18]  Cristina Cifuentes,et al.  Machine-adaptable dynamic binary translation , 2000, Dynamo.

[19]  Dhabaleswar K. Panda,et al.  A case for high performance computing with virtual machines , 2006, ICS '06.