The rapid development of ISAs has brought the issue of software compatibility to the forefront in the embedded field. To address this challenge, one of the promising solutions is the adoption of a multiple-ISA processor that supports multiple different ISAs. However, due to constraints in cost and performance, the architecture of a multiple-ISA processor must be carefully optimized to meet the specific requirements of embedded systems. By exploring the RISC-V and ARM Thumb ISAs, this paper proposes RVAM16, which is an optimized multiple-ISA processor microarchitecture for embedded devices based on hardware binary translation technique. The results show that, when running non-native ARM Thumb programs, RVAM16 achieves a significant speedup of over 2.73× with less area and energy consumption compared to using hardware binary translation alone, reaching more than 70% of the performance of native RISC-V programs.
T, Adegbija A, Rogacs C, Patel A Gordon-Ross . Microprocessor optimizations for the internet of things: a survey. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018, 37( 1): 7–20
2
K, Saso Y Hara-Azumi . Simple instruction-set computer for area and energy-sensitive IoT edge devices. In: Proceedings of the 29th International Conference on Application-specific Systems, Architectures and Processors (ASAP). 2018, 1−4
3
K, Saso Y Hara-Azumi . Revisiting simple and energy efficient embedded processor designs toward the edge computing. IEEE Embedded Systems Letters, 2020, 12( 2): 45–49
4
R L, Sites A, Chernoff M B, Kirk M P, Marks S G Robinson . Binary translation. Communications of the ACM, 1993, 36( 2): 69–81
5
Apple Inc. About the Rosetta translation environment. See developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment website, Accessed: 2023
6
F Bellard . QEMU, a fast and portable dynamic translator. In: Proceedings of the USENIX Annual Technical Conference. 2005, 41−46
7
D Y, Hong C C, Hsu P C, Yew J J, Wu W C, Hsu P, Liu C M, Wang Y C Chung . HQEMU: a multi-threaded and retargetable dynamic binary translator on multicores. In: Proceedings of the 10th International Symposium on Code Generation and Optimization. 2012, 104−113
8
B, Ilbeyi D, Lockhart C Batten . Pydgin for RISC-V: a fast and productive instruction-set simulator. In: Proceedings of the 3rd RISC-V Workshop. 2016
9
M, Clark B Hoult . rv8: a high performance RISC-V to x86 binary translator. In: Proceedings of the 1st Workshop on Computer Architecture Research with RISC-V (CARRV). 2017
10
C, Sabri L, Kriaa S L Azzouz . Comparison of IoT constrained devices operating systems: a survey. In: Proceedings of the 14th International Conference on Computer Systems and Applications (AICCSA). 2017, 369−375
11
B Y, Shen J Y, Chen W C, Hsu W Yang . LLBT: an LLVM-based static binary translator. In: Proceedings of 2012 International Conference on Compilers, Architectures and Synthesis for Embedded Systems. 2012, 51−60
12
L, Lupori V, Rosario E Borin . Towards a high-performance RISC-V emulator. In: Proceedings of 2018 Symposium on High Performance Computing Systems (WSCAD). 2018, 213−220
13
A, Venkat D M Tullsen . Harnessing ISA diversity: design of a heterogeneous-ISA chip multiprocessor. In: Proceedings of the 41st International Symposium on Computer Architecture (ISCA). 2014, 121−132
14
A, Venkat H, Basavaraj D M Tullsen . Composite-ISA cores: enabling multi-ISA heterogeneity using a single ISA. In: Proceedings of 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA). 2019, 42−55
15
J, Balkind K, Lim M, Schaffner F, Gao G, Chirkov A, Li A, Lavrov T M, Nguyen Y, Fu F, Zaruba K, Gulati L, Benini D Wentzlaff . BYOC: a ”bring your own core” framework for heterogeneous-ISA research. In: Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems. 2020, 699−714
16
S, Rokicki E, Rohou S Derrien . Hybrid-DBT: hardware/software dynamic binary translation targeting VLIW. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2019, 38( 10): 1872–1885
17
F M, Capella M, Brandalero L, Carro A C S Beck . A multiple-ISA reconfigurable architecture. Design Automation for Embedded Systems, 2015, 19( 4): 329–344
18
J, Fajardo M B, Rutzig L, Carro A C S Beck . Towards a multiple-ISA embedded system. Journal of Systems Architecture, 2013, 59( 2): 103–119
19
K, Chai F, Wolff C Papachristou . XBT: FPGA accelerated binary translation. In: Proceedings of IEEE National Aerospace and Electronics Conference. 2021, 365−372
20
S, Rokicki E, Rohou S Derrien . Hardware-accelerated dynamic binary translation. In: Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE). 2017, 1062−1067
21
A, Waterman K Asanovic . The RISC-V instruction set manual: volume I: unprivileged ISA. 2019
22
ARM. ARM® Cortex®-M0 DesignStartTM RTL Testbench: user guide . 2015
23
W, Wang X, Liu J, Yu J, Li Z, Mao Z, Li C, Ding C Zhang . The design and building of openKylin on RISC-V architecture. In: Proceedings of the 15th International Conference on Advanced Computer Theory and Engineering (ICACTE). 2022, 88−91