Abstract
In these days, every newly added hardware feature must not change the underlying instruction set architecture (ISA), in order to avoid adaptation or recompilation of existing code. Nevertheless, this need for compatibility imposes a great number of restrictions to the designers, because it keeps them tied to a specific ISA and all its legacy hardware issues. Considering that the market is mainly dominated by three different ISAs (and, very likely, more to come): \(\times \)86, used in the general purpose field; ARM, used in embedded systems, and PowerPC which covers a wide gamut of solutions, the need for another level (at the ISA) of adaptability is evident. Binary translation (BT) appears as a solution for that, since it is capable of transforming binary code so it can be executed on another target architecture. However, BT adds another layer between code and actual execution, therefore bringing huge performance penalties. To overcome this drawback, we propose a new mechanism based on a dynamic two-level binary translation system. The first level can translate from multiple architectures into an intermediate-level code, which will be optimized by the second level for execution on a dynamic reconfigurable array. In this way, the designer can take advantage of a BT system and program for multiple fields of application, without worrying about the underlying architecture. We present three case studies, along with a discussion as to how the first BT level is easily expandable to other ISAs.











Similar content being viewed by others
References
Kim NS, Austin T, Blaauw D, Mudge T, Flautner K, Hu JS, Irwin MJ, Kandemir M, Narayanan V (2003) Leakage current: Moore’s law meets static power. Computer 36(12):68–75
Mak J, Mycroft A (2009) Limits of parallelism using dynamic data dependence graphs. WODA, Chicago
Sites RL, Chernoff A, Kirk MB, Marks MP, Robinson SG (1993) Binary translation. Commun ACM 36 2:69–81
Altman ER, Kaeli D, Sheffer Y (2000) Welcome to the opportunities of binary translation. Computer 33(3):40–45
Junior JF, Rutzig MB, Beck ACS, Carro L (2011) Towards an adaptable multiple-ISA reconfigurable processor. In: International workshop on applied reconfigurable computing, 2011, Belfast. Lecture notes in computer science: reconfigurable computing: architectures, tools and applications, vol 6578. Springer, New York, pp 157–168
Rosetta, Apple Inc., http://www.apple.com/rosetta/
Chernoff A, Herdeg M, Hookway R, Reeve C, Rubin N, Tye T, Yadavalli SB, Yates J. (1998) FX!32: a profile-directed binary translator. In: IEEE Micro, pp 56–64
Hookway RJ, Herdeg MA (1997) DIGITAL FX!32: combining emulation and binary translation. Digit Tech J 9(1):3–12
Bala V, Duesterwald E, Banerjia S (2000) Dynamo a transparent dynamic optimization system. In: PLDI’00, ACM Press, New York, pp 1–12
Daisy K, Ebcioglu EA (1996) DAISY: dynamic compilation for 100 % architectural compatibility. IBM T. J. Watson Research Center—Technical Report, Yorktown Heights
Dehnert JC, Grant BK, Banning JP, Johnson R, Kistler T, Klaiber A, Mattson J. (2003) The Transmeta Code Morphing\(^{\rm TM}\) Software: using speculation, recovery, and adaptive retranslation to address real-life challenges. In: Proceedings of the international Symposium on code generation and optimization: feedback-directed and runtime optimization, San Francisco, California, ACM International Conference Proceeding Series, vol. 37. IEEE Computer Society, Washington, DC, p 15–24
Hu W, Wang J, Gao X, Chen Y, Liu Q, Li G (2009) Godson-3: a scalable multicore RISC processor with x86 emulation. IEEE Micro 29(2):17–29
Beck Filho ACS, Carro L (2005) Dynamic reconfiguration with binary translation: breaking the ILP barrier with software compatibility. In: Proceedings of design automation conference, DAC, 42, Anaheim, ACM Press, New York, pp 732–737
Lysecky R, Stitt G, Vahid F (2006) Warp processors. In: ACM transactions on design automation of electronic systems (TODAES), pp 659–681
Beck ACS, Carro L (2010) Dynamic reconfigurable architectures and transparent optimization techniques: automatic acceleration of software execution, 1st edn. Springer, New York
Beck ACS, Lisboa CAL (2012) Adaptable embedded systems. Springer, New York
Beck AC, Rutzig MB, Gaydadjiev G, Carro L (2008) Transparent reconfigurable acceleration for heterogeneous embedded applications. In: Proceedings of DATE. ACM, New York, pp 1208–1213
Compton K, Hauck S (2002) Reconfigurable computing: a survey of systems and software. ACM Comput Surv 34(2):171–210
Beck ACS, Rutzig MB, Gaydadjiev G, Carro L (2008) Run-time adaptable architectures for heterogeneous behavior embedded systems. In: Proceedings of the 4th international workshop on reconfigurable computing, pp 111–124
Beck ACS, Carro L (2007) Transparent acceleration of data dependent instructions for general purpose processors. In: Proceedings of the IFIP VLSI-SoC 2007, IFIP WG 10.5 international conference on very large scale integration of system-on-chip, Atlanta, pp 15–17
Guthaus MR, Ringenberg JS, Ernst D, Austin TM, Mudge T, Brown RB (2001). MiBench : a free, commercially representative embedded benchmark suite. In : Proceedings of the workload characterization. IEEE international workshop. WWC. IEEE Computer Society, Washington, DC, pp 3–14
GEM5 (2012) http://www.gem5.org
Yeager KC (1996) The Mips R10000 superscalar microprocessor. IEEE Micro 16:28–40
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Capella, F.M., Brandalero, M., Carro, L. et al. A multiple-ISA reconfigurable architecture. Des Autom Embed Syst 19, 329–344 (2015). https://doi.org/10.1007/s10617-015-9159-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-015-9159-8