Condition Codes Evaluation on Dynamic Binary Translation for Embedded Platforms

A widely recognized issue when implementing dynamic binary translation is the condition codes (CCs) or flag bits emulation. The authors in the literature have approached this problem with software optimization techniques based on dataflow analysis, instruction set architecture (ISA) extensions and additional dedicated hardware, i.e., field-programmable gate array. We introduce a novel technique to handle CCs using commercial off-the-shelf architectural debug hardware as a triggering mechanism while assessing and comparing it with two existent CCs evaluation methods on the resource-constrained embedded systems arena. Our method is functionality-wise comparable with reconfigurable hardware modules or ISA extensions in open architectures and is source architecture independent, with possible applications in other use scenarios, such as application debugging and instrumentation.

[1]  Hong Wang,et al.  Harmonia: a transparent, efficient, and harmonious dynamic binary translator targeting the Intel® architecture , 2011, CF '11.

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

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

[4]  Wenzhi Chen,et al.  FPGA based hardware-software co-designed dynamic binary translation system , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[5]  Simon J. Hollis,et al.  BEEBS: Open Benchmarks for Energy Measurements on Embedded Platforms , 2013, ArXiv.

[6]  Guan Haibing,et al.  A Two-Phase Optimization Approach for Condition Codes in a Machine Adaptable Dynamic Binary Translator , 2009, 2009 WRI World Congress on Computer Science and Information Engineering.

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

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

[9]  Xuhao Chen,et al.  GSM: An Efficient Code Generation Algorithm for Dynamic Binary Translator , 2011, 2011 Fourth International Symposium on Parallel Architectures, Algorithms and Programming.